Chombo + EB  3.2
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
DirichletPoissonEBBC Class Reference

#include <DirichletPoissonEBBC.H>

Inheritance diagram for DirichletPoissonEBBC:
Inheritance graph
[legend]

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 Member Functions inherited from BaseEBBC
 BaseEBBC ()
 
virtual ~BaseEBBC ()
 
virtual void setData (RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_data)
 
bool dataBased () const
 
virtual void setType (RefCountedPtr< LevelData< BaseIVFAB< int > > > &a_type)
 

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
 

Additional Inherited Members

- Protected Attributes inherited from BaseEBBC
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_data
 
bool m_dataBased
 

Constructor & Destructor Documentation

◆ DirichletPoissonEBBC() [1/2]

DirichletPoissonEBBC::DirichletPoissonEBBC ( )

◆ DirichletPoissonEBBC() [2/2]

DirichletPoissonEBBC::DirichletPoissonEBBC ( const ProblemDomain &  a_domain,
const EBISLayout &  a_layout,
const RealVect &  a_dx,
const IntVect *  a_ghostCellsPhi = 0,
const IntVect *  a_ghostCellsRhs = 0 
)

◆ ~DirichletPoissonEBBC()

virtual DirichletPoissonEBBC::~DirichletPoissonEBBC ( )
virtual

Member Function Documentation

◆ construct()

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 
)

◆ define() [1/2]

virtual void DirichletPoissonEBBC::define ( const LayoutData< IntVectSet > &  a_cfivs,
const Real &  a_factor 
)
virtual

Implements BaseEBBC.

◆ setOrder()

virtual void DirichletPoissonEBBC::setOrder ( int  a_order)
virtual

◆ getFluxStencil()

virtual LayoutData<BaseIVFAB<VoFStencil> >* DirichletPoissonEBBC::getFluxStencil ( int  ivar)
inlinevirtual

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.

◆ getFluxWeight()

LayoutData<BaseIVFAB<Real> >& DirichletPoissonEBBC::getFluxWeight ( )
inline

◆ setValue()

virtual void DirichletPoissonEBBC::setValue ( Real  a_value)
virtual

Referenced by getFluxWeight().

◆ setFunction()

virtual void DirichletPoissonEBBC::setFunction ( RefCountedPtr< BaseBCValue >  a_func)
virtual

Referenced by getFluxWeight().

◆ applyEBFlux()

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.

Referenced by getFluxWeight().

◆ getEBFlux()

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.

Referenced by getFluxWeight().

◆ getSecondOrderStencil() [1/2]

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 
)

Referenced by getFluxWeight().

◆ applyEBFluxPoint()

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

Referenced by getFluxWeight().

◆ getFirstOrderStencil()

virtual void DirichletPoissonEBBC::getFirstOrderStencil ( VoFStencil &  a_stencil,
Real &  a_weight,
const VolIndex &  a_vof,
const EBISBox &  a_ebisBox,
const RealVect &  a_dx 
)
virtual

◆ getSecondOrderStencil() [2/2]

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

◆ define() [2/2]

virtual void DirichletPoissonEBBC::define ( const LayoutData< IntVectSet > &  a_cfivs)
virtual

Member Data Documentation

◆ s_velComp

int DirichletPoissonEBBC::s_velComp
static

◆ s_leastSquaresRad

int DirichletPoissonEBBC::s_leastSquaresRad
static

◆ s_areaFracWeighted

bool DirichletPoissonEBBC::s_areaFracWeighted
static

◆ s_useQuadrantBasedStencil

bool DirichletPoissonEBBC::s_useQuadrantBasedStencil
static

◆ m_isDefined

bool DirichletPoissonEBBC::m_isDefined

◆ m_onlyHomogeneous

bool DirichletPoissonEBBC::m_onlyHomogeneous

◆ m_isFunction

bool DirichletPoissonEBBC::m_isFunction

◆ m_order

int DirichletPoissonEBBC::m_order

◆ m_value

Real DirichletPoissonEBBC::m_value

◆ m_func

RefCountedPtr<BaseBCValue> DirichletPoissonEBBC::m_func

◆ m_domain

ProblemDomain DirichletPoissonEBBC::m_domain

◆ m_layout

EBISLayout DirichletPoissonEBBC::m_layout

◆ m_dx

RealVect DirichletPoissonEBBC::m_dx

◆ m_ghostCellsPhi

IntVect DirichletPoissonEBBC::m_ghostCellsPhi

◆ m_ghostCellsRHS

IntVect DirichletPoissonEBBC::m_ghostCellsRHS

◆ m_fluxWeight

LayoutData<BaseIVFAB<Real> > DirichletPoissonEBBC::m_fluxWeight

Referenced by getFluxWeight().

◆ m_fluxStencil

LayoutData<BaseIVFAB<VoFStencil> > DirichletPoissonEBBC::m_fluxStencil

Referenced by getFluxStencil().


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