25 #include "NamespaceHeader.H" 44 const Real& a_factor) = 0;
54 const bool& a_useHomogeneous,
56 const pair<int,Real>* a_cacheHint=0 )
82 const bool& a_useHomogeneous,
83 const Real& a_time) = 0;
118 m_value = 12345.6789;
120 m_isFunction =
false;
142 m_etaOpen = a_etaOpen;
143 m_lambdaOpen = a_lambdaOpen;
154 m_isFunction =
false;
163 m_value = 12345.6789;
176 for (
int comp = 0; comp <
SpaceDim; comp++)
178 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
188 value = m_func->derivative(point, comp, derivDir);
194 a_grad[comp][derivDir] = value;
201 const Real a_grad[CH_SPACEDIM][CH_SPACEDIM],
207 for (
int divDir = 0; divDir <
SpaceDim; divDir++)
209 divergence += a_grad[divDir][divDir];
212 Real lambda = (*m_lambda)[a_dit](a_vof, 0);
213 Real eta = (*m_eta)[a_dit](a_vof, 0);
215 for (
int comp = 0; comp <
SpaceDim; comp++)
217 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
219 a_flux[comp][derivDir] = eta*(a_grad[comp][derivDir] + a_grad[derivDir][comp]);
220 if (comp == derivDir)
222 a_flux[comp][derivDir] += lambda*divergence;
230 const Real a_flux[CH_SPACEDIM][CH_SPACEDIM],
242 for (
int comp = 0; comp <
SpaceDim; comp++)
244 a_deltaLph[comp] = 0;
245 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
247 a_deltaLph[comp] -= a_flux[comp][derivDir]*beta*areaFrac*normal[derivDir]/a_dx[0];
332 const IntVect* a_ghostCellsPhi=0,
333 const IntVect* a_ghostCellsRhs=0 ) = 0;
336 #include "NamespaceFooter.H" virtual void setType(RefCountedPtr< LevelData< BaseIVFAB< int > > > &a_type)
Definition: BaseEBBC.H:96
static RealVect getVofLocation(const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo)
gets the location in real space of a cell center
Definition: BaseEBBC.H:273
Real m_beta
Definition: BaseEBBC.H:308
bool m_isFunction
Definition: BaseEBBC.H:252
A reference-counting handle class.
Definition: RefCountedPtr.H:173
bool m_dataBased
Definition: BaseEBBC.H:103
#define CH_SPACEDIM
Definition: SPACE.H:51
void getChangeInSolution(Real a_deltaLph[CH_SPACEDIM], const Real a_flux[CH_SPACEDIM][CH_SPACEDIM], const RealVect &a_dx, const VolIndex &a_vof, const DataIndex &a_dit, const EBISBox &a_ebisBox)
Definition: BaseEBBC.H:229
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Real bndryArea(const VolIndex &a_vof) const
virtual LayoutData< BaseIVFAB< VoFStencil > > * getFluxStencil(int ivar)=0
bool m_coefSet
Definition: BaseEBBC.H:260
BaseEBBCFactory()
Definition: BaseEBBC.H:318
void setCoef(EBLevelGrid &a_eblg, Real &a_beta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_eta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_lambda, RefCountedPtr< LevelData< EBFluxFAB > > &a_etaOpen, RefCountedPtr< LevelData< EBFluxFAB > > &a_lambdaOpen)
Definition: BaseEBBC.H:129
Definition: EBLevelGrid.H:30
void getFluxFromGrad(Real a_flux[CH_SPACEDIM][CH_SPACEDIM], const Real a_grad[CH_SPACEDIM][CH_SPACEDIM], const VolIndex &a_vof, const DataIndex &a_dit)
Definition: BaseEBBC.H:200
RefCountedPtr< LevelData< EBFluxFAB > > m_etaOpen
Definition: BaseEBBC.H:265
RefCountedPtr< BaseBCFuncEval > m_func
Definition: BaseEBBC.H:256
bool dataBased() const
Definition: BaseEBBC.H:91
void setCoef(EBLevelGrid &a_eblg, Real &a_beta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_bcoe)
Definition: BaseEBBC.H:293
const int SpaceDim
Definition: SPACE.H:38
EBLevelGrid m_eblg
Definition: BaseEBBC.H:259
virtual void setValue(Real a_value)
Definition: BaseEBBC.H:149
Real m_beta
Definition: BaseEBBC.H:261
Definition: EBCellFAB.H:29
RefCountedPtr< LevelData< EBFluxFAB > > m_lambdaOpen
Definition: BaseEBBC.H:266
double Real
Definition: REAL.H:33
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)
deprecated interface.
Definition: BaseEBBC.H:47
RealVect bndryCentroid(const VolIndex &a_vof) const
virtual ~BaseEBBCFactory()
Definition: BaseEBBC.H:322
ViscousBaseEBBC()
Definition: BaseEBBC.H:115
Definition: BaseEBBC.H:109
virtual void define(const LayoutData< IntVectSet > &a_cfivs, const Real &a_factor)=0
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)=0
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
RealVect normal(const VolIndex &a_vof) const
virtual void setData(RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_data)
Definition: BaseEBBC.H:85
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Definition: BaseEBBC.H:31
Definition: DataIndex.H:114
Definition: BaseEBBC.H:315
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
EBLevelGrid m_eblg
Definition: BaseEBBC.H:306
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_bcoe
Definition: BaseEBBC.H:309
void getBoundaryGrad(Real a_grad[CH_SPACEDIM][CH_SPACEDIM], const VolIndex &a_vof, const RealVect &a_dx, const RealVect &a_probLo, const EBISBox &a_ebisBox)
Definition: BaseEBBC.H:170
ConductivityBaseEBBC()
Definition: BaseEBBC.H:279
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
virtual void setFunction(RefCountedPtr< BaseBCFuncEval > a_func)
Definition: BaseEBBC.H:161
Real m_value
Definition: BaseEBBC.H:255
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_lambda
Definition: BaseEBBC.H:263
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_eta
Definition: BaseEBBC.H:262
Volume of Fluid Index.
Definition: VolIndex.H:31
virtual ~ConductivityBaseEBBC()
Definition: BaseEBBC.H:285
Definition: EBISLayout.H:39
BaseEBBC()
Definition: BaseEBBC.H:34
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_data
Definition: BaseEBBC.H:102
bool m_coefSet
Definition: BaseEBBC.H:307
virtual ~ViscousBaseEBBC()
Definition: BaseEBBC.H:122
virtual ~BaseEBBC()
Definition: BaseEBBC.H:39