File boundary_op.hxx

class BoundaryOpBase

Subclassed by BoundaryOp, BoundaryOpPar

Public Functions

BoundaryOpBase()
virtual ~BoundaryOpBase()
virtual void apply(Field2D &f) = 0

Apply a boundary condition on field f.

virtual void apply(Field2D &f, BoutReal t)
virtual void apply(Field3D &f) = 0
virtual void apply(Field3D &f, BoutReal t)
virtual void apply(Vector2D &f)
virtual void apply(Vector3D &f)
class BoundaryOp : public BoundaryOpBase
#include <boundary_op.hxx>

An operation on a boundary.

Subclassed by BoundaryConstGradient, BoundaryConstLaplace, BoundaryDirichlet, BoundaryDirichlet_2ndOrder, BoundaryDirichlet_4thOrder, BoundaryDirichlet_O3, BoundaryDirichlet_O4, BoundaryDivCurl, BoundaryFree, BoundaryFree_O2, BoundaryFree_O3, BoundaryModifier, BoundaryNeumann, BoundaryNeumann2, BoundaryNeumann_2ndOrder, BoundaryNeumann_4thOrder, BoundaryNeumann_NonOrthogonal, BoundaryNeumann_O4, BoundaryNeumannPar, BoundaryRobin, BoundaryZeroLaplace, BoundaryZeroLaplace2

Public Functions

BoundaryOp()
BoundaryOp(BoundaryRegion *region)
~BoundaryOp()
virtual BoundaryOp *clone(BoundaryRegion *region, const std::list<std::string> &args)
virtual BoundaryOp *clone(BoundaryRegion *region, const std::list<std::string> &args, const std::map<std::string, std::string> &keywords)

Clone using positional args and keywords If not implemented, check if keywords are passed, then call two-argument version

virtual void apply_ddt(Field2D &f)

Apply a boundary condition on ddt(f)

virtual void apply_ddt(Field3D &f)
virtual void apply_ddt(Vector2D &f)
virtual void apply_ddt(Vector3D &f)

Public Members

BoundaryRegion *bndry
bool apply_to_ddt
class BoundaryModifier : public BoundaryOp

Subclassed by BoundaryFromFieldAligned, BoundaryRelax, BoundaryToFieldAligned, BoundaryWidth

Public Functions

BoundaryModifier()
BoundaryModifier(BoundaryOp *operation)
virtual BoundaryOp *cloneMod(BoundaryOp *op, const std::list<std::string> &args) = 0

Protected Attributes

BoundaryOp *op = {nullptr}