u.Other() semantics

More
5 years 2 months ago #1837 by ddrake
u.Other() semantics was created by ddrake
Hi, I've been trying to understand what NGSolve does when integrating over boundary elements or facets if the integrand specifies u.Other() with no dummy argument. Is it simply ignored by the integrator? Many of the iTutorials seem to use Other() in this way.

For example, when using a symmetric interior penalty method for diffusion, I see three different boundary behaviors depending on my jump condition (with skeleton=True)
u - u.Other() # seems to give an unconstrained boundary condition
u - u.Other(bnd=u) # usually gives an unconstrained condition, but in some cases, we get instability at the boundary
u - u.Other(bnd=0) # tries to enforce a zero Dirichlet condition.

Also, I would very much like to know how to enforce a zero Neumann condition using this method in NGSolve.

Thanks!
Dow
More
5 years 2 months ago #1856 by joachim
Replied by joachim on topic u.Other() semantics
Hi Dow,

a very simple answer: To get a homogeneous Neumann bc you just add nothing (i.e. none of the 3 DG terms) at the Neumann boundary.

The meaning of the u.Other() depends a bit whether you apply an operator, or assemble a matrix. For assembling a matrix it doesn't make sense to specify an inhomogeneous boundary value.

best, Joachim
The following user(s) said Thank You: ddrake
Time to create page: 0.102 seconds