File boundary_region.hxx

Enums

enum BndryLoc

Location of boundary.

Values:

xin
xout
ydown
yup
all
par_fwd
par_bkwd

Variables

constexpr BndryLoc BNDRY_XIN = BndryLoc::xin
constexpr BndryLoc BNDRY_XOUT = BndryLoc::xout
constexpr BndryLoc BNDRY_YDOWN = BndryLoc::ydown
constexpr BndryLoc BNDRY_YUP = BndryLoc::yup
constexpr BndryLoc BNDRY_ALL = BndryLoc::all
constexpr BndryLoc BNDRY_PAR_FWD = BndryLoc::par_fwd
constexpr BndryLoc BNDRY_PAR_BKWD = BndryLoc::par_bkwd
class BoundaryRegionBase

Subclassed by BoundaryRegion, BoundaryRegionPar

Public Functions

BoundaryRegionBase()
BoundaryRegionBase(std::string name, Mesh *passmesh = nullptr)
BoundaryRegionBase(std::string name, BndryLoc loc, Mesh *passmesh = nullptr)
virtual ~BoundaryRegionBase()
virtual void first() = 0

Move the region iterator to the start.

virtual void next() = 0

Get the next element in the loop over every element from inside out (in X or Y first)

virtual bool isDone() = 0

Returns true if outside domain. Can use this with nested nextX, nextY.

Public Members

Mesh *localmesh

Mesh does this boundary region belongs to.

std::string label

Label for this boundary region.

BndryLoc location

Which side of the domain is it on?

bool isParallel = false

Is this a parallel boundary?

class BoundaryRegion : public BoundaryRegionBase
#include <boundary_region.hxx>

Describes a region of the boundary, and a means of iterating over it.

Subclassed by BoundaryRegionXIn, BoundaryRegionXOut, BoundaryRegionYDown, BoundaryRegionYUp

Public Functions

BoundaryRegion()
BoundaryRegion(std::string name, BndryLoc loc, Mesh *passmesh = nullptr)
BoundaryRegion(std::string name, int xd, int yd, Mesh *passmesh = nullptr)
~BoundaryRegion()
virtual void next1d() = 0

Loop over the innermost elements.

virtual void nextX() = 0

Just loop over X.

virtual void nextY() = 0

Just loop over Y.

Public Members

int x
int y

Indices of the point in the boundary.

int bx
int by

Direction of the boundary [x+dx][y+dy] is going outwards.

int width

Width of the boundary.

class BoundaryRegionXIn : public BoundaryRegion

Public Functions

BoundaryRegionXIn(std::string name, int ymin, int ymax, Mesh *passmesh = nullptr)
void first()

Move the region iterator to the start.

void next()

Get the next element in the loop over every element from inside out (in X or Y first)

void next1d()

Loop over the innermost elements.

void nextX()

Just loop over X.

void nextY()

Just loop over Y.

bool isDone()

Returns true if outside domain. Can use this with nested nextX, nextY.

Private Members

int ys
int ye
class BoundaryRegionXOut : public BoundaryRegion

Public Functions

BoundaryRegionXOut(std::string name, int ymin, int ymax, Mesh *passmesh = nullptr)
void first()

Move the region iterator to the start.

void next()

Get the next element in the loop over every element from inside out (in X or Y first)

void next1d()

Loop over the innermost elements.

void nextX()

Just loop over X.

void nextY()

Just loop over Y.

bool isDone()

Returns true if outside domain. Can use this with nested nextX, nextY.

Private Members

int ys
int ye
class BoundaryRegionYDown : public BoundaryRegion

Public Functions

BoundaryRegionYDown(std::string name, int xmin, int xmax, Mesh *passmesh = nullptr)
void first()

Move the region iterator to the start.

void next()

Get the next element in the loop over every element from inside out (in X or Y first)

void next1d()

Loop over the innermost elements.

void nextX()

Just loop over X.

void nextY()

Just loop over Y.

bool isDone()

Returns true if outside domain. Can use this with nested nextX, nextY.

Private Members

int xs
int xe
class BoundaryRegionYUp : public BoundaryRegion

Public Functions

BoundaryRegionYUp(std::string name, int xmin, int xmax, Mesh *passmesh = nullptr)
void first()

Move the region iterator to the start.

void next()

Get the next element in the loop over every element from inside out (in X or Y first)

void next1d()

Loop over the innermost elements.

void nextX()

Just loop over X.

void nextY()

Just loop over Y.

bool isDone()

Returns true if outside domain. Can use this with nested nextX, nextY.

Private Members

int xs
int xe
namespace bout

SNB model

namespace globals

Variables

Mesh *mesh

Global mesh.

The mesh object.