File parallel_boundary_region.hxx#

class BoundaryRegionPar : public BoundaryRegionBase#
#include <parallel_boundary_region.hxx>

Boundary region for parallel direction. This contains a vector of points that are inside the boundary.

Public Functions

inline BoundaryRegionPar(const std::string &name, int dir, Mesh *passmesh)#
inline BoundaryRegionPar(const std::string &name, BndryLoc loc, int dir, Mesh *passmesh)#
void add_point(int jx, int jy, int jz, BoutReal x, BoutReal y, BoutReal z, BoutReal length, BoutReal angle)#

Add a point to the boundary.

virtual void first() override#

Move the region iterator to the start.

virtual void next() override#

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

virtual bool isDone() override#

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

Public Members

int x#

Index of the point in the boundary.

int y#
int z#
BoutReal s_x#
BoutReal s_y#
BoutReal s_z#
BoutReal length#
BoutReal angle#
const int dir#

Private Types

using IndicesVec = std::vector<Indices>#
using IndicesIter = IndicesVec::iterator#

Private Members

IndicesVec bndry_points#

Vector of points in the boundary.

IndicesIter bndry_position#

Current position in the boundary points.

struct IndexPoint#

Public Members

int jx#
int jy#
int jz#
struct Indices#

Public Members

IndexPoint index#
RealPoint intersection#
BoutReal length#
BoutReal angle#
struct RealPoint#

Public Members

BoutReal s_x#
BoutReal s_y#
BoutReal s_z#