The file below is a valid input file to NGSolve. The first two lines
load the prepared geometry file and the mesh file. It is a square. The
boundary splits into the 4 sides to
. We specify
Robin boundary conditions (with conductivity
) on
to
, and Neumann boundary condition (with
) on
.
This is defined in terms of coefficients. The list of numbers correspond to
the sub-domains, if the integral is taken over the domain, or, to parts
of the boundary, if the integral is taken over the boundary, respectively.
The next lines define the mathematical objects finite-element space,
grid-function, bilinear-form, linear-form, and a preconditioner.
The last line (numproc) calls the solver for boundary value problems (bvp). Here,
a preconditioned conjugate gradients iteration is called.
geometry = ngsolve/pde_tutorial/square.in2d mesh = ngsolve/pde_tutorial/square.vol define coefficient coef_lam 1, define coefficient coef_alpha 1e5, 1e5, 1e5, 0, define coefficient coef_f 1, define coefficient coef_g 0, 0, 0, 1, define fespace v -order=1 define gridfunction u -fespace=v -nested define bilinearform a -fespace=v laplace coef_lam robin coef_penalty define linearform f -fespace=v source coef_source neumann coef_g define preconditioner c -type=multigrid -bilinearform=a -smoothingsteps=1 numproc bvp np1 -bilinearform=a -linearform=f -gridfunction=u -preconditioner=c -maxsteps=50