#include <DirichletPoissonEBBC.H>
Public Member Functions | |
DirichletPoissonEBBC () | |
DirichletPoissonEBBC (CTOR_ARGS_WITH_DECLS) | |
void | construct (CTOR_ARGS_WITH_DECLS) |
virtual | ~DirichletPoissonEBBC () |
virtual void | define (const LayoutData< IntVectSet > &a_cfivs, const Real &a_factor) |
virtual void | setOrder (int a_order) |
virtual int | whichBC () |
virtual LayoutData< BaseIVFAB < VoFStencil > > * | getFluxStencil (int ivar) |
LayoutData< BaseIVFAB< Real > > & | getFluxWeight () |
virtual void | setValue (Real a_value) |
virtual void | setFunction (RefCountedPtr< BaseBCValue > a_func) |
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) |
bool | getSecondOrderStencil (VoFStencil &a_stencil, Real &a_weight, Vector< VoFStencil > &a_pointStencils, Vector< Real > &a_distanceAlongLine, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
virtual void | define (const LayoutData< IntVectSet > &a_cfivs) |
Public Attributes | |
bool | m_isDefined |
bool | m_onlyHomogeneous |
bool | m_isFunction |
int | m_order |
Real | m_value |
RefCountedPtr< BaseBCValue > | m_func |
ProblemDomain | m_domain |
EBISLayout | m_layout |
RealVect | m_dx |
IntVect | m_ghostCellsPhi |
IntVect | m_ghostCellsRHS |
LayoutData< BaseIVFAB< Real > > | m_fluxWeight |
LayoutData< BaseIVFAB < VoFStencil > > | m_fluxStencil |
Static Public Attributes | |
static int | s_velComp |
Private Member Functions | |
virtual void | getFirstOrderStencil (VoFStencil &a_stencil, Real &a_weight, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx) |
virtual void | getSecondOrderStencil (VoFStencil &a_stencil, Real &a_weight, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const IntVectSet &a_cfivs) |
DirichletPoissonEBBC::DirichletPoissonEBBC | ( | ) |
DirichletPoissonEBBC::DirichletPoissonEBBC | ( | CTOR_ARGS_WITH_DECLS | ) |
If the optional a_ghostCells{Phi,Rhs} args are NULL, we won't use the VoF cache.
virtual DirichletPoissonEBBC::~DirichletPoissonEBBC | ( | ) | [virtual] |
void DirichletPoissonEBBC::construct | ( | CTOR_ARGS_WITH_DECLS | ) |
Referenced by DirichletConductivityEBBC::DirichletConductivityEBBC().
virtual void DirichletPoissonEBBC::define | ( | const LayoutData< IntVectSet > & | a_cfivs, | |
const Real & | a_factor | |||
) | [virtual] |
Implements BaseEBBC.
virtual void DirichletPoissonEBBC::setOrder | ( | int | a_order | ) | [virtual] |
Referenced by DirichletConductivityEBBC::setOrder().
virtual int DirichletPoissonEBBC::whichBC | ( | ) | [inline, virtual] |
0 Neumann 1 Dirichlet Anything else is invalid
Reimplemented from BaseEBBC.
virtual LayoutData<BaseIVFAB<VoFStencil> >* DirichletPoissonEBBC::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.
LayoutData<BaseIVFAB<Real> >& DirichletPoissonEBBC::getFluxWeight | ( | ) | [inline] |
References m_fluxWeight.
virtual void DirichletPoissonEBBC::setValue | ( | Real | a_value | ) | [virtual] |
virtual void DirichletPoissonEBBC::setFunction | ( | RefCountedPtr< BaseBCValue > | a_func | ) | [virtual] |
virtual void DirichletPoissonEBBC::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 DirichletPoissonEBBC::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 | |||
) | [virtual] |
deprecated interface
Implements BaseEBBC.
bool DirichletPoissonEBBC::getSecondOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
Vector< VoFStencil > & | a_pointStencils, | |||
Vector< Real > & | a_distanceAlongLine, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) |
virtual void DirichletPoissonEBBC::getFirstOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx | |||
) | [private, virtual] |
virtual void DirichletPoissonEBBC::getSecondOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx, | |||
const IntVectSet & | a_cfivs | |||
) | [private, virtual] |
virtual void DirichletPoissonEBBC::define | ( | const LayoutData< IntVectSet > & | a_cfivs | ) | [virtual] |
int DirichletPoissonEBBC::s_velComp [static] |
Referenced by getFluxWeight().
Referenced by getFluxStencil().