#include <BaseDomainBC.H>
Public Member Functions | |
BaseDomainBC () | |
virtual | ~BaseDomainBC () |
virtual void | getFaceFlux (BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous)=0 |
virtual int | whichBC (int a_idir, Side::LoHiSide a_side) |
virtual void | getFaceFlux (BaseFab< Real > &a_faceFlux, const Real &a_betaFace, const BaseFab< Real > &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) |
virtual void | getFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous)=0 |
virtual void | getFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const Real &a_betaFace, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) |
virtual void | getFaceGradPhi (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid, const bool &a_useHomogeneous)=0 |
virtual void | getFaceGradPhi (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const Real &a_betaFace, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid, const bool &a_useHomogeneous) |
virtual void | enforceFaceVel (LevelData< EBFluxFAB > &a_velocity, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const RealVect &a_dx, const Real &a_time, const RealVect &a_origin, const bool &a_doDivFreeOutflow) |
virtual void | getFaceVel (Real &a_faceFlux, const FaceIndex &a_vof, const EBFluxFAB &a_vel, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const int &a_icomp, const Real &a_time, const Side::LoHiSide &a_side, const bool &a_doDivFreeOutflow)=0 |
BaseDomainBC::BaseDomainBC | ( | ) | [inline] |
virtual BaseDomainBC::~BaseDomainBC | ( | ) | [inline, virtual] |
virtual int BaseDomainBC::whichBC | ( | int | a_idir, | |
Side::LoHiSide | a_side | |||
) | [inline, virtual] |
only used for line solves. 0 Neumann 1 Dirichlet 2 periodic Anything else is invalid
Reimplemented in DirichletConductivityDomainBC, DirichletPoissonDomainBC, NeumannConductivityDomainBC, and NeumannPoissonDomainBC.
virtual void BaseDomainBC::getFaceFlux | ( | BaseFab< Real > & | a_faceFlux, | |
const Real & | a_betaFace, | |||
const BaseFab< Real > & | a_phi, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const Side::LoHiSide & | a_side, | |||
const DataIndex & | a_dit, | |||
const Real & | a_time, | |||
const bool & | a_useHomogeneous | |||
) | [inline, virtual] |
References getFaceFlux().
virtual void BaseDomainBC::getFaceFlux | ( | Real & | a_faceFlux, | |
const VolIndex & | a_vof, | |||
const int & | a_comp, | |||
const EBCellFAB & | a_phi, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const Side::LoHiSide & | a_side, | |||
const DataIndex & | a_dit, | |||
const Real & | a_time, | |||
const bool & | a_useHomogeneous | |||
) | [pure virtual] |
This is used by the elliptic solvers to get the flux of stuff through domain faces.
Implemented in DirichletConductivityDomainBC, DirichletPoissonDomainBC, DirichletViscousTensorDomainBC, InflowOutflowPoissonDomainBC, InflowOutflowHelmholtzDomainBC, NeumannConductivityDomainBC, NeumannPoissonDomainBC, and NeumannViscousTensorDomainBC.
virtual void BaseDomainBC::getFaceFlux | ( | Real & | a_faceFlux, | |
const VolIndex & | a_vof, | |||
const int & | a_comp, | |||
const Real & | a_betaFace, | |||
const EBCellFAB & | a_phi, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const Side::LoHiSide & | a_side, | |||
const DataIndex & | a_dit, | |||
const Real & | a_time, | |||
const bool & | a_useHomogeneous | |||
) | [inline, virtual] |
References getFaceFlux().
virtual void BaseDomainBC::getFaceGradPhi | ( | Real & | a_faceFlux, | |
const FaceIndex & | a_face, | |||
const int & | a_comp, | |||
const EBCellFAB & | a_phi, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const Side::LoHiSide & | a_side, | |||
const DataIndex & | a_dit, | |||
const Real & | a_time, | |||
const bool & | a_useAreaFrac, | |||
const RealVect & | a_centroid, | |||
const bool & | a_useHomogeneous | |||
) | [pure virtual] |
This is used by the projections to get a) grad(phi) at domain faces. b) or rhoinv*grad(phi) at domain faces.
Implemented in ViscousBaseDomainBC, DirichletConductivityDomainBC, DirichletPoissonDomainBC, InflowOutflowPoissonDomainBC, InflowOutflowHelmholtzDomainBC, NeumannConductivityDomainBC, and NeumannPoissonDomainBC.
Referenced by getFaceGradPhi().
virtual void BaseDomainBC::getFaceGradPhi | ( | Real & | a_faceFlux, | |
const FaceIndex & | a_face, | |||
const int & | a_comp, | |||
const Real & | a_betaFace, | |||
const EBCellFAB & | a_phi, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const Side::LoHiSide & | a_side, | |||
const DataIndex & | a_dit, | |||
const Real & | a_time, | |||
const bool & | a_useAreaFrac, | |||
const RealVect & | a_centroid, | |||
const bool & | a_useHomogeneous | |||
) | [inline, virtual] |
References getFaceGradPhi().
virtual void BaseDomainBC::enforceFaceVel | ( | LevelData< EBFluxFAB > & | a_velocity, | |
const DisjointBoxLayout & | a_grids, | |||
const EBISLayout & | a_ebisl, | |||
const ProblemDomain & | a_domain, | |||
const RealVect & | a_dx, | |||
const Real & | a_time, | |||
const RealVect & | a_origin, | |||
const bool & | a_doDivFreeOutflow | |||
) | [virtual] |
virtual void BaseDomainBC::getFaceVel | ( | Real & | a_faceFlux, | |
const FaceIndex & | a_vof, | |||
const EBFluxFAB & | a_vel, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const int & | a_idir, | |||
const int & | a_icomp, | |||
const Real & | a_time, | |||
const Side::LoHiSide & | a_side, | |||
const bool & | a_doDivFreeOutflow | |||
) | [pure virtual] |
This is used by the projections to get velocity at domain faces.
Implemented in ViscousBaseDomainBC, DirichletConductivityDomainBC, DirichletPoissonDomainBC, InflowOutflowPoissonDomainBC, InflowOutflowHelmholtzDomainBC, NeumannConductivityDomainBC, and NeumannPoissonDomainBC.