12 #ifndef CD_MFHelmholtzEBBC_H
13 #define CD_MFHelmholtzEBBC_H
16 #include <CD_EBHelmholtzEBBC.H>
19 #include <CD_NamespaceHeader.H>
42 MFHelmholtzEBBC(
const int a_phase,
const RefCountedPtr<MFHelmholtzJumpBC>& a_jumpBC);
63 const EBCellFAB& a_phi,
64 const BaseIVFAB<Real>& a_Bcoef,
65 const DataIndex& a_dit,
67 const bool& a_homogeneousPhysBC)
const override;
116 const EBCellFAB& a_phi,
117 const BaseIVFAB<Real>& a_Bcoef,
118 const DataIndex& a_dit,
120 const
bool& a_homogeneousPhysBC) const = 0;
135 const EBCellFAB& a_phi,
136 const BaseIVFAB<Real>& a_Bcoef,
137 const DataIndex& a_dit,
139 const
bool& a_homogeneousPhysBC) const;
154 const VolIndex& a_vof,
155 const
VofUtils::Neighborhood a_neighborhood,
156 const DataIndex& a_dit,
158 const
int a_weight) const;
161 #include <CD_NamespaceFooter.H>
Declaration of class for computing "jump interface" boundary conditions for multifluid Helmholtz code...
Various functions for getting Vofs near cut-cells.
Base class for passing EB boundary conditions into EBHelmholtzOp.
Definition: CD_EBHelmholtzEBBC.H:29
Class for making boundary conditions on the EB in a multifluid context.
Definition: CD_MFHelmholtzEBBC.H:27
int m_phase
Phase.
Definition: CD_MFHelmholtzEBBC.H:78
void defineMultiPhase()
Define stuff for multi-phase.
Definition: CD_MFHelmholtzEBBC.cpp:46
RefCountedPtr< MFHelmholtzJumpBC > m_jumpBC
Jump bc object.
Definition: CD_MFHelmholtzEBBC.H:73
virtual ~MFHelmholtzEBBC()
Default constructor.
Definition: CD_MFHelmholtzEBBC.cpp:31
MFHelmholtzEBBC(const MFHelmholtzEBBC &a_other)=delete
Disallowed copy constructor. Factory must call the other version.
virtual bool getLeastSquaresBoundaryGradStencil(std::pair< Real, VoFStencil > &a_stencil, const VolIndex &a_vof, const VofUtils::Neighborhood a_neighborhood, const DataIndex &a_dit, const int a_order, const int a_weight) const
Get stencil with specified order.
Definition: CD_MFHelmholtzEBBC.cpp:156
virtual void defineSinglePhase()=0
Define stuff for multi-phase.
virtual void applyEBFluxSinglePhase(VoFIterator &a_singlePhaseVofs, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const =0
Apply flux single phase.
void define() override final
User define function.
Definition: CD_MFHelmholtzEBBC.cpp:37
virtual void applyEBFlux(VoFIterator &a_vofit, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const override
Apply the EB flux. This is the version that is called by EBHelmholtzOp.
Definition: CD_MFHelmholtzEBBC.cpp:110
MFHelmholtzEBBC()=delete
Disallowed weak constructor. Factory must call the other version.
LayoutData< BaseIVFAB< Real > > m_boundaryWeights
Weights for matching cells.
Definition: CD_MFHelmholtzEBBC.H:83
void applyEBFluxMultiPhase(VoFIterator &a_multiPhaseVofs, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const
Apply flux in multiphase cells.
Definition: CD_MFHelmholtzEBBC.cpp:130
Static class which contains some routines for fetching VoFs using various algorithms....
Definition: CD_VofUtils.H:33