Chombo + EB  3.0
Public Member Functions | List of all members
BaseDomainBC Class Referenceabstract

#include <BaseDomainBC.H>

Inheritance diagram for BaseDomainBC:
Inheritance graph
[legend]

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 void getFluxStencil (VoFStencil &a_stencil, const VolIndex &a_vof, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox)
 
virtual void getFluxStencil (VoFStencil &a_stencil, const FaceIndex &a_face, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox)
 
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 bool isDirichletDom (const VolIndex &a_ivof, const VolIndex &a_jvof, const EBCellFAB &a_phi) const
 
virtual void getInhomFaceFlux (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)
 
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 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 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, const int &a_comp)
 
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
 

Constructor & Destructor Documentation

◆ BaseDomainBC()

BaseDomainBC::BaseDomainBC ( )
inline

◆ ~BaseDomainBC()

virtual BaseDomainBC::~BaseDomainBC ( )
inlinevirtual

References getFaceFlux().

Member Function Documentation

◆ getFaceFlux() [1/2]

virtual void BaseDomainBC::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 
)
pure virtual

◆ getFluxStencil() [1/2]

virtual void BaseDomainBC::getFluxStencil ( VoFStencil a_stencil,
const VolIndex a_vof,
const int &  a_comp,
const RealVect a_dx,
const int &  a_idir,
const Side::LoHiSide a_side,
const EBISBox a_ebisBox 
)
inlinevirtual

Reimplemented in DirichletPoissonDomainBC.

References VoFStencil::clear().

◆ getFluxStencil() [2/2]

virtual void BaseDomainBC::getFluxStencil ( VoFStencil a_stencil,
const FaceIndex a_face,
const int &  a_comp,
const RealVect a_dx,
const int &  a_idir,
const Side::LoHiSide a_side,
const EBISBox a_ebisBox 
)
inlinevirtual

Reimplemented in DirichletPoissonDomainBC.

References VoFStencil::clear(), and getFaceFlux().

◆ getFaceFlux() [2/2]

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 DirichletPoissonDomainBC, NeumannPoissonDomainBC, DirichletViscousTensorDomainBC, DirichletConductivityDomainBC, NeumannConductivityDomainBC, and NeumannViscousTensorDomainBC.

◆ isDirichletDom()

virtual bool BaseDomainBC::isDirichletDom ( const VolIndex a_ivof,
const VolIndex a_jvof,
const EBCellFAB a_phi 
) const
inlinevirtual

A query of whether a_jvof is Dirichlet Domain boundary to a_ivof. a_jvof is the ghost vof; a_ivof is the valid computational vof. For now this is mainly used in form_matrix, which needs to know the type of BC at the boundary. Default implementation is MayDay::Error();

Reimplemented in DirichletPoissonDomainBC, and NeumannPoissonDomainBC.

References MayDay::Error().

◆ getInhomFaceFlux()

virtual void BaseDomainBC::getInhomFaceFlux ( 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 
)
inlinevirtual

This is used by the elliptic solvers to get the flux of stuff through domain faces.

Reimplemented in DirichletPoissonDomainBC, and NeumannPoissonDomainBC.

References enforceFaceVel(), MayDay::Error(), getFaceGradPhi(), and getFaceVel().

◆ getFaceGradPhi()

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.

Implemented in ViscousBaseDomainBC, DirichletPoissonDomainBC, NeumannPoissonDomainBC, DirichletConductivityDomainBC, and NeumannConductivityDomainBC.

Referenced by getInhomFaceFlux().

◆ enforceFaceVel() [1/2]

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

Referenced by getInhomFaceFlux().

◆ enforceFaceVel() [2/2]

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,
const int &  a_comp 
)
virtual

◆ getFaceVel()

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, NeumannPoissonDomainBC, DirichletConductivityDomainBC, NeumannConductivityDomainBC, and DirichletPoissonDomainBC.

Referenced by getInhomFaceFlux().


The documentation for this class was generated from the following file: