Skip to content
Snippets Groups Projects
Commit 06fc3cf8 authored by Martin Bauer's avatar Martin Bauer
Browse files

New simple Neumann boundary (copy values of next inner cell)

parent a73217ca
No related merge requests found
from lbmpy.boundaries.boundaryconditions import NoSlip, NoSlipFullWay, UBB, FixedDensity
from lbmpy.boundaries.boundaryconditions import NoSlip, NoSlipFullWay, UBB, FixedDensity, NeumannByCopy
from lbmpy.boundaries.boundaryhandling import BoundaryHandling
\ No newline at end of file
......@@ -161,3 +161,15 @@ class FixedDensity(Boundary):
for eq in symmetricEq.subexpressions]
return subExprs + [sp.Eq(pdfField[neighbor](inverseDir), 2 * eq_component - pdfField(directionSymbol))]
class NeumannByCopy(Boundary):
def __call__(self, pdfField, directionSymbol, lbMethod, **kwargs):
neighbor = offsetFromDir(directionSymbol, lbMethod.dim)
return [sp.Eq(pdfField[neighbor](directionSymbol), pdfField(directionSymbol))]
def __hash__(self):
# All boundaries of these class behave equal -> should also be equal
return hash("NeumannByCopy")
def __eq__(self, other):
return type(other) == NeumannByCopy
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment