File parallel_boundary_op.hxx

class BoundaryOpPar : public BoundaryOpBase

Subclassed by BoundaryOpPar_dirichlet, BoundaryOpPar_dirichlet_interp, BoundaryOpPar_dirichlet_O3, BoundaryOpPar_neumann

Public Functions

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

Apply a boundary condition on field f.

void apply(Field2D &f, BoutReal t)

Public Members

BoundaryRegionPar *bndry = {nullptr}

Protected Types

enum ValueType

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

Values:

GEN
FIELD
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

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

Public Functions

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

Public Functions

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

Public Functions

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