Class HydroBoundary

Class Documentation

class HydroBoundary

Public Functions

void Init(Input&, Grid&, Hydro*)
void SetBoundaries(real)

Set the ghost zones in all directions.

void EnforceBoundaryDir(real, int)

write in the ghost zone in specific direction

void ReconstructVcField(IdefixArray4D<real>&)

reconstruct cell-centered magnetic field

void ReconstructNormalField(int dir)

reconstruct normal field using divB=0

void EnforceFluxBoundaries(int dir)

Apply boundary condition conditions to the fluxes.

void EnrollUserDefBoundary(UserDefBoundaryFunc)
void EnrollInternalBoundary(InternalBoundaryFunc)
void EnrollFluxBoundary(UserDefBoundaryFunc)
void EnforcePeriodic(int, BoundarySide)

Enforce periodic BC in direction and side.

void EnforceReflective(int, BoundarySide)

Enforce reflective BC in direction and side.

void EnforceOutflow(int, BoundarySide)

Enforce outflow BC in direction and side.

void EnforceShearingBox(real, int, BoundarySide)

Enforce Shearing box BCs.

template<typename Function>
inline void BoundaryFor(const std::string&, const int&, const BoundarySide&, Function)
template<typename Function>
inline void BoundaryForAll(const std::string&, const int&, const BoundarySide&, Function)
template<typename Function>
inline void BoundaryForX1s(const std::string&, const int&, const BoundarySide&, Function)
template<typename Function>
inline void BoundaryForX2s(const std::string&, const int&, const BoundarySide&, Function)
template<typename Function>
inline void BoundaryForX3s(const std::string&, const int&, const BoundarySide&, Function)

Public Members

UserDefBoundaryFunc userDefBoundaryFunc = {NULL}
bool haveUserDefBoundary = {false}
bool haveInternalBoundary = {false}
InternalBoundaryFunc internalBoundaryFunc = {NULL}
bool haveFluxBoundary = {false}
UserDefBoundaryFunc fluxBoundaryFunc = {NULL}
IdefixArray4D<real> sBArray

Array use by shearingbox boundary conditions.