GFem language documentation -- 3.7.5 Boundary conditions at corners

Previous: 3.7.4 2-Systems
Up: 3.7 Solving an equation
Next: 3.7.6 Weak formulation

### 3.7.5 Boundary conditions at corners

Corners where boundary conditions change from Neumann to Dirichlet are ambiguous because Dirichlet conditions are assigned to vertices while Neumann conditions should be assigned to boundary edges; yet Gfem does not give access to edge numbers. Understanding how these are implemented helps overcome the difficulty.

All boundary conditions are converted to mixed Fourier/Robin conditions:

    id(u) a + dnu(u) b = c;

For Dirichlet conditions a is set to `1.0e12` and `c` is multiplied by the same; for Neumann `a=0` . Thus Neumann condition is present even when there is Dirichlet but the later overrules the former because of the large penalty number. Functions `a,b,c` are piecewise linear continuous, or discontinuous if `precise` is set.

In case of Dirichlet-Neumann corner (with Dirichlet on one side and Neumann on the other) it is usually better to put a Dirichlet logic at the corner. But if fine precision is needed then the option `precise` can guarantee that the integral on the edge near the corner on the Neumann side is properly taken into account because then the corner has a Dirichlet value and a Neumann value by the fact that functions are discontinuous.