#include <DirichletViscousTensorEBBC.H>
Public Member Functions | |
DirichletViscousTensorEBBC () | |
DirichletViscousTensorEBBC (const ProblemDomain &a_domain, const EBISLayout &a_layout, const RealVect &a_dx, const IntVect *a_ghostCellsPhi, const IntVect *a_ghostCellsRhs) | |
virtual | ~DirichletViscousTensorEBBC () |
virtual void | define (const LayoutData< IntVectSet > &a_cfivs, const Real &a_factor) |
virtual LayoutData< BaseIVFAB < VoFStencil > > * | getFluxStencil (int ivar) |
virtual void | applyEBFlux (EBCellFAB &a_lphi, const EBCellFAB &a_phi, VoFIterator &a_vofit, const LayoutData< IntVectSet > &a_cfivs, const DataIndex &a_dit, const RealVect &a_probLo, const RealVect &a_dx, const Real &a_factor, const bool &a_useHomogeneous, const Real &a_time) |
virtual void | getEBFlux (Real &a_flux, const VolIndex &a_vof, const LevelData< EBCellFAB > &a_phi, const LayoutData< IntVectSet > &a_cfivs, const DataIndex &a_dit, const RealVect &a_probLo, const RealVect &a_dx, const bool &a_useHomogeneous, const Real &a_time, const pair< int, Real > *a_cacheHint=0) |
Protected Member Functions | |
void | getNormalStencil (VoFStencil &a_stencil, Real &a_weight, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
void | getFluxStencil (VoFStencil *a_stencil, Real *a_weight, const DataIndex &a_dit, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
bool | getSecondOrderStencil (VoFStencil &a_stencil, Real &a_weight, Vector< VoFStencil > &a_pointStencil, Vector< Real > &a_distanceAlongLine, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
void | getFirstOrderStencil (VoFStencil &a_stencil, Real &a_weight, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
void | getNormalGradFast (Real a_normalGrad[CH_SPACEDIM], const DataIndex &a_dit, const VolIndex &a_vof, const RealVect &a_probLo, const EBISBox &a_ebisBox) |
void | getNormalGradSlow (Real a_normalGrad[CH_SPACEDIM], const DataIndex &a_dit, const VolIndex &a_vof, const RealVect &a_probLo, const EBISBox &a_ebisBox, const EBCellFAB &a_phi) |
Private Attributes | |
bool | m_isDefined |
bool | m_nullReturned |
ProblemDomain | m_domain |
EBISLayout | m_ebisl |
RealVect | m_dx |
LayoutData< BaseIVFAB < VoFStencil > > | m_fluxStencil [CH_SPACEDIM] |
LayoutData< BaseIVFAB< Real > > | m_fluxWeight [CH_SPACEDIM] |
const IntVect | m_ghostCellsPhi |
const IntVect | m_ghostCellsRHS |
DirichletViscousTensorEBBC::DirichletViscousTensorEBBC | ( | ) |
DirichletViscousTensorEBBC::DirichletViscousTensorEBBC | ( | const ProblemDomain & | a_domain, | |
const EBISLayout & | a_layout, | |||
const RealVect & | a_dx, | |||
const IntVect * | a_ghostCellsPhi, | |||
const IntVect * | a_ghostCellsRhs | |||
) |
If the optional a_ghostCells{Phi,Rhs} args are NULL, we won't use the VoF cache.
virtual DirichletViscousTensorEBBC::~DirichletViscousTensorEBBC | ( | ) | [virtual] |
virtual void DirichletViscousTensorEBBC::define | ( | const LayoutData< IntVectSet > & | a_cfivs, | |
const Real & | a_factor | |||
) | [virtual] |
Implements BaseEBBC.
virtual LayoutData<BaseIVFAB<VoFStencil> >* DirichletViscousTensorEBBC::getFluxStencil | ( | int | ivar | ) | [inline, virtual] |
Return a pointer to the homogenous flux stencil for the boundary condition. contribution. In the case where there in no contribution in the homogeneous case (ie. homogeneous Neumann) return NULL.
Implements BaseEBBC.
References m_fluxStencil, m_nullReturned, and SpaceDim.
virtual void DirichletViscousTensorEBBC::applyEBFlux | ( | EBCellFAB & | a_lphi, | |
const EBCellFAB & | a_phi, | |||
VoFIterator & | a_vofit, | |||
const LayoutData< IntVectSet > & | a_cfivs, | |||
const DataIndex & | a_dit, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const Real & | a_factor, | |||
const bool & | a_useHomogeneous, | |||
const Real & | a_time | |||
) | [virtual] |
add change in lphi due to eb flux
Implements BaseEBBC.
virtual void DirichletViscousTensorEBBC::getEBFlux | ( | Real & | a_flux, | |
const VolIndex & | a_vof, | |||
const LevelData< EBCellFAB > & | a_phi, | |||
const LayoutData< IntVectSet > & | a_cfivs, | |||
const DataIndex & | a_dit, | |||
const RealVect & | a_probLo, | |||
const RealVect & | a_dx, | |||
const bool & | a_useHomogeneous, | |||
const Real & | a_time, | |||
const pair< int, Real > * | a_cacheHint = 0 | |||
) | [inline, virtual] |
void DirichletViscousTensorEBBC::getNormalStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) | [protected] |
void DirichletViscousTensorEBBC::getFluxStencil | ( | VoFStencil * | a_stencil, | |
Real * | a_weight, | |||
const DataIndex & | a_dit, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) | [protected] |
bool DirichletViscousTensorEBBC::getSecondOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
Vector< VoFStencil > & | a_pointStencil, | |||
Vector< Real > & | a_distanceAlongLine, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) | [protected] |
void DirichletViscousTensorEBBC::getFirstOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) | [protected] |
void DirichletViscousTensorEBBC::getNormalGradFast | ( | Real | a_normalGrad[CH_SPACEDIM], | |
const DataIndex & | a_dit, | |||
const VolIndex & | a_vof, | |||
const RealVect & | a_probLo, | |||
const EBISBox & | a_ebisBox | |||
) | [protected] |
void DirichletViscousTensorEBBC::getNormalGradSlow | ( | Real | a_normalGrad[CH_SPACEDIM], | |
const DataIndex & | a_dit, | |||
const VolIndex & | a_vof, | |||
const RealVect & | a_probLo, | |||
const EBISBox & | a_ebisBox, | |||
const EBCellFAB & | a_phi | |||
) | [protected] |
bool DirichletViscousTensorEBBC::m_isDefined [private] |
bool DirichletViscousTensorEBBC::m_nullReturned [private] |
Referenced by getFluxStencil().
RealVect DirichletViscousTensorEBBC::m_dx [private] |
LayoutData<BaseIVFAB<VoFStencil> > DirichletViscousTensorEBBC::m_fluxStencil[CH_SPACEDIM] [private] |
Referenced by getFluxStencil().
LayoutData<BaseIVFAB<Real> > DirichletViscousTensorEBBC::m_fluxWeight[CH_SPACEDIM] [private] |
const IntVect DirichletViscousTensorEBBC::m_ghostCellsPhi [private] |
const IntVect DirichletViscousTensorEBBC::m_ghostCellsRHS [private] |