#include <DirichletPoissonEBBC.H>
Public Member Functions | |
DirichletPoissonEBBC () | |
DirichletPoissonEBBC (const ProblemDomain &a_domain, const EBISLayout &a_layout, const RealVect &a_dx, const IntVect *a_ghostCellsPhi=0, const IntVect *a_ghostCellsRhs=0) | |
void | construct (const ProblemDomain &a_domain, const EBISLayout &a_layout, const RealVect &a_dx, const IntVect *a_ghostCellsPhi=0, const IntVect *a_ghostCellsRhs=0) |
virtual | ~DirichletPoissonEBBC () |
virtual void | define (const LayoutData< IntVectSet > &a_cfivs, const Real &a_factor) |
virtual void | setOrder (int a_order) |
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 | applyEBFluxPoint (const VolIndex &a_vof, 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 | 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) |
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 |
static int | s_leastSquaresRad |
static bool | s_areaFracWeighted |
static bool | s_useQuadrantBasedStencil |
DirichletPoissonEBBC::DirichletPoissonEBBC | ( | ) |
DirichletPoissonEBBC::DirichletPoissonEBBC | ( | const ProblemDomain & | a_domain, | |
const EBISLayout & | a_layout, | |||
const RealVect & | a_dx, | |||
const IntVect * | a_ghostCellsPhi = 0 , |
|||
const IntVect * | a_ghostCellsRhs = 0 | |||
) |
virtual DirichletPoissonEBBC::~DirichletPoissonEBBC | ( | ) | [virtual] |
void DirichletPoissonEBBC::construct | ( | const ProblemDomain & | a_domain, | |
const EBISLayout & | a_layout, | |||
const RealVect & | a_dx, | |||
const IntVect * | a_ghostCellsPhi = 0 , |
|||
const IntVect * | a_ghostCellsRhs = 0 | |||
) |
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 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
Reimplemented from 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::applyEBFluxPoint | ( | const VolIndex & | a_vof, | |
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] |
virtual void DirichletPoissonEBBC::getFirstOrderStencil | ( | VoFStencil & | a_stencil, | |
Real & | a_weight, | |||
const VolIndex & | a_vof, | |||
const EBISBox & | a_ebisBox, | |||
const RealVect & | a_dx | |||
) | [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 | |||
) | [virtual] |
virtual void DirichletPoissonEBBC::define | ( | const LayoutData< IntVectSet > & | a_cfivs | ) | [virtual] |
int DirichletPoissonEBBC::s_velComp [static] |
int DirichletPoissonEBBC::s_leastSquaresRad [static] |
bool DirichletPoissonEBBC::s_areaFracWeighted [static] |
bool DirichletPoissonEBBC::s_useQuadrantBasedStencil [static] |
Referenced by getFluxWeight().
Referenced by getFluxStencil().