File parallel_boundary_op.hxx#

class BoundaryOpPar : public BoundaryOpBase#

Subclassed by BoundaryOpPar_dirichlet, BoundaryOpPar_dirichlet_interp, BoundaryOpPar_dirichlet_O3, BoundaryOpPar_neumann

Public Functions

BoundaryOpPar() = default#
inline BoundaryOpPar(BoundaryRegionPar *region, std::shared_ptr<FieldGenerator> value)#
inline BoundaryOpPar(BoundaryRegionPar *region, Field3D *value)#
inline BoundaryOpPar(BoundaryRegionPar *region, BoutReal value)#
~BoundaryOpPar() override = default#
inline virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args)#
inline virtual BoundaryOpPar *clone(BoundaryRegionPar *region, Field3D *f)#
inline virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args, const std::map<std::string, std::string> &keywords)#
inline virtual void apply(Field2D &f) override#

Apply a boundary condition on field f.

inline virtual void apply(Field2D &f, BoutReal t) override#

Public Members

BoundaryRegionPar *bndry = {nullptr}#

Protected Types

enum ValueType#

Where to take boundary values from - the generator, field or BoutReal.

Values:

enumerator GEN#
enumerator FIELD#
enumerator REAL#

Protected Functions

BoutReal getValue(int x, int y, int z, BoutReal t)#
BoutReal getValue(const BoundaryRegionPar &bndry, BoutReal t)#

Protected Attributes

std::shared_ptr<FieldGenerator> gen_values#

Possible ways to get boundary values.

Field3D *field_values#
BoutReal real_value = {0.}#
const ValueType value_type = {ValueType::REAL}#
class BoundaryOpPar_dirichlet : public BoundaryOpPar#

Public Functions

inline BoundaryOpPar_dirichlet()#
inline BoundaryOpPar_dirichlet(BoundaryRegionPar *region)#
inline BoundaryOpPar_dirichlet(BoundaryRegionPar *region, std::shared_ptr<FieldGenerator> value)#
inline BoundaryOpPar_dirichlet(BoundaryRegionPar *region, Field3D *value)#
inline BoundaryOpPar_dirichlet(BoundaryRegionPar *region, BoutReal value)#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args) override#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, Field3D *f) override#
inline virtual void apply(Field3D &f) override#
virtual void apply(Field3D &f, BoutReal t) override#
class BoundaryOpPar_dirichlet_O3 : public BoundaryOpPar#

Public Functions

inline BoundaryOpPar_dirichlet_O3()#
inline BoundaryOpPar_dirichlet_O3(BoundaryRegionPar *region)#
inline BoundaryOpPar_dirichlet_O3(BoundaryRegionPar *region, std::shared_ptr<FieldGenerator> value)#
inline BoundaryOpPar_dirichlet_O3(BoundaryRegionPar *region, Field3D *value)#
inline BoundaryOpPar_dirichlet_O3(BoundaryRegionPar *region, BoutReal value)#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args) override#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, Field3D *f) override#
inline virtual void apply(Field3D &f) override#
virtual void apply(Field3D &f, BoutReal t) override#
class BoundaryOpPar_dirichlet_interp : public BoundaryOpPar#

Public Functions

inline BoundaryOpPar_dirichlet_interp()#
inline BoundaryOpPar_dirichlet_interp(BoundaryRegionPar *region)#
inline BoundaryOpPar_dirichlet_interp(BoundaryRegionPar *region, std::shared_ptr<FieldGenerator> value)#
inline BoundaryOpPar_dirichlet_interp(BoundaryRegionPar *region, Field3D *value)#
inline BoundaryOpPar_dirichlet_interp(BoundaryRegionPar *region, BoutReal value)#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args) override#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, Field3D *f) override#
inline virtual void apply(Field3D &f) override#
virtual void apply(Field3D &f, BoutReal t) override#
class BoundaryOpPar_neumann : public BoundaryOpPar#

Public Functions

inline BoundaryOpPar_neumann()#
inline BoundaryOpPar_neumann(BoundaryRegionPar *region)#
inline BoundaryOpPar_neumann(BoundaryRegionPar *region, std::shared_ptr<FieldGenerator> value)#
inline BoundaryOpPar_neumann(BoundaryRegionPar *region, Field3D *value)#
inline BoundaryOpPar_neumann(BoundaryRegionPar *region, BoutReal value)#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, const std::list<std::string> &args) override#
virtual BoundaryOpPar *clone(BoundaryRegionPar *region, Field3D *f) override#
inline virtual void apply(Field3D &f) override#
virtual void apply(Field3D &f, BoutReal t) override#