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