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