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;
114 m_value = 12345.6789;
116 m_isFunction =
false;
145 m_isFunction =
false;
154 m_value = 12345.6789;
167 for (
int comp = 0; comp <
SpaceDim; comp++)
169 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
179 value = m_func->derivative(point, comp, derivDir);
185 a_grad[comp][derivDir] = value;
192 const Real a_grad[CH_SPACEDIM][CH_SPACEDIM],
198 for (
int divDir = 0; divDir <
SpaceDim; divDir++)
200 divergence += a_grad[divDir][divDir];
203 Real lambda = (*m_lambda)[a_dit](a_vof, 0);
204 Real eta = (*m_eta)[a_dit](a_vof, 0);
206 for (
int comp = 0; comp <
SpaceDim; comp++)
208 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
210 a_flux[comp][derivDir] = eta*(a_grad[comp][derivDir] + a_grad[derivDir][comp]);
211 if (comp == derivDir)
213 a_flux[comp][derivDir] += lambda*divergence;
221 const Real a_flux[CH_SPACEDIM][CH_SPACEDIM],
233 for (
int comp = 0; comp <
SpaceDim; comp++)
235 a_deltaLph[comp] = 0;
236 for (
int derivDir = 0; derivDir <
SpaceDim; derivDir++)
238 a_deltaLph[comp] -= a_flux[comp][derivDir]*beta*areaFrac*normal[derivDir]/a_dx[0];
320 const IntVect* a_ghostCellsPhi=0,
321 const IntVect* a_ghostCellsRhs=0 ) = 0;
324 #include "NamespaceFooter.H" 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:261
Real m_beta
Definition: BaseEBBC.H:296
bool m_isFunction
Definition: BaseEBBC.H:243
A reference-counting handle class.
Definition: RefCountedPtr.H:66
bool m_dataBased
Definition: BaseEBBC.H:98
#define CH_SPACEDIM
Definition: SPACE.H:52
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:220
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
Real bndryArea(const VolIndex &a_vof) const
virtual LayoutData< BaseIVFAB< VoFStencil > > * getFluxStencil(int ivar)=0
bool m_coefSet
Definition: BaseEBBC.H:251
BaseEBBCFactory()
Definition: BaseEBBC.H:306
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:191
RefCountedPtr< BaseBCFuncEval > m_func
Definition: BaseEBBC.H:247
bool dataBased() const
Definition: BaseEBBC.H:91
void setCoef(EBLevelGrid &a_eblg, Real &a_beta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_bcoe)
Definition: BaseEBBC.H:281
const int SpaceDim
Definition: SPACE.H:39
EBLevelGrid m_eblg
Definition: BaseEBBC.H:250
virtual void setValue(Real a_value)
Definition: BaseEBBC.H:140
Real m_beta
Definition: BaseEBBC.H:252
Definition: EBCellFAB.H:29
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:310
ViscousBaseEBBC()
Definition: BaseEBBC.H:111
Definition: BaseEBBC.H:105
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
void setCoef(EBLevelGrid &a_eblg, Real &a_beta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_eta, RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_lambda)
Definition: BaseEBBC.H:125
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:112
Definition: BaseEBBC.H:303
Iterator for all vofs within an IntVectSet and an Ebgraph.
Definition: VoFIterator.H:27
EBLevelGrid m_eblg
Definition: BaseEBBC.H:294
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_bcoe
Definition: BaseEBBC.H:297
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:161
ConductivityBaseEBBC()
Definition: BaseEBBC.H:267
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
virtual void setFunction(RefCountedPtr< BaseBCFuncEval > a_func)
Definition: BaseEBBC.H:152
Real m_value
Definition: BaseEBBC.H:246
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_lambda
Definition: BaseEBBC.H:254
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_eta
Definition: BaseEBBC.H:253
Volume of Fluid Index.
Definition: VolIndex.H:31
virtual ~ConductivityBaseEBBC()
Definition: BaseEBBC.H:273
Definition: EBISLayout.H:39
BaseEBBC()
Definition: BaseEBBC.H:34
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_data
Definition: BaseEBBC.H:97
bool m_coefSet
Definition: BaseEBBC.H:295
virtual ~ViscousBaseEBBC()
Definition: BaseEBBC.H:118
virtual ~BaseEBBC()
Definition: BaseEBBC.H:39