File boundary_op.hxx#

class BoundaryOpBase#

Subclassed by BoundaryOp, BoundaryOpPar

Public Functions

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

Apply a boundary condition on field f.

inline virtual void apply(Field2D &f, BoutReal t)#
virtual void apply(Field3D &f) = 0#
inline virtual void apply(Field3D &f, BoutReal t)#
inline virtual void apply(Vector2D &f)#
inline 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, BoundaryNeumannPar, BoundaryNeumann_2ndOrder, BoundaryNeumann_4thOrder, BoundaryNeumann_NonOrthogonal, BoundaryNeumann_O4, BoundaryRobin, BoundaryZeroLaplace, BoundaryZeroLaplace2

Public Functions

inline BoundaryOp()#
inline BoundaryOp(BoundaryRegion *region)#
~BoundaryOp() override = default#
inline virtual BoundaryOp *clone(BoundaryRegion *region, const std::list<std::string> &args)#
inline 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

inline virtual void apply_ddt(Field2D &f)#

Apply a boundary condition on ddt(f)

inline virtual void apply_ddt(Field3D &f)#
inline virtual void apply_ddt(Vector2D &f)#
inline 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() = default#
inline BoundaryModifier(BoundaryOp *operation)#
virtual BoundaryOp *cloneMod(BoundaryOp *op, const std::list<std::string> &args) = 0#

Protected Attributes

BoundaryOp *op = {nullptr}#