Chombo + EB  3.2
Public Member Functions | Protected Attributes | 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)
 
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 int &a_comp)
 
virtual void setData (LevelData< EBCellFAB > *a_data)
 
bool dataBased () const
 
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)
 

Protected Attributes

LevelData< EBCellFAB > * m_data
 
bool m_dataBased
 

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

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

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(), and getFaceGradPhi().

◆ 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 DirichletPoissonDomainBC, NeumannPoissonDomainBC, ViscousBaseDomainBC, 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 
)
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 int &  a_comp 
)
virtual

◆ setData()

virtual void BaseDomainBC::setData ( LevelData< EBCellFAB > *  a_data)
inlinevirtual

Reimplemented in DirichletPoissonDomainBC.

References m_data, and m_dataBased.

◆ dataBased()

bool BaseDomainBC::dataBased ( ) const
inline

References m_dataBased.

◆ 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 
)
inlinevirtual

This is used by the projections to get velocity at domain faces.

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

References MayDay::Error().

Member Data Documentation

◆ m_data

LevelData<EBCellFAB>* BaseDomainBC::m_data
protected

Referenced by setData().

◆ m_dataBased

bool BaseDomainBC::m_dataBased
protected

Referenced by dataBased(), and setData().


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