13#ifndef CD_MFINTERFACEFABIMPLEM_H
14#define CD_MFINTERFACEFABIMPLEM_H
18#include <CD_NamespaceHeader.H>
27 this->define(a_mflg, a_dit);
33 for (
int i = 0; i < m_phase.size(); i++) {
43 const DisjointBoxLayout& dbl = a_mflg.
getGrids();
44 const ProblemDomain& domain = a_mflg.
getDomain();
49 m_phase.resize(numPhases, NULL);
51 for (
int i = 0; i < numPhases; i++) {
53 const EBISLayout& ebisl = eblg.getEBISL();
54 m_phase[i] =
new BaseIVFAB<T>(m_ivs, ebisl[a_dit].getEBGraph(), 1);
69 CH_assert(a_phase >= 0 && a_phase < m_phase.size());
70 CH_assert(m_phase[a_phase] !=
nullptr);
71 return *m_phase[a_phase];
78 CH_assert(a_phase >= 0 && a_phase < m_phase.size());
79 CH_assert(m_phase[a_phase] !=
nullptr);
80 return *m_phase[a_phase];
87 CH_assert(a_phase >= 0 && a_phase < m_phase.size());
88 return m_phase[a_phase];
95 return m_phase.size();
102 for (
int i = 0; i < m_phase.size(); i++) {
103 m_phase[i]->setVal(a_value);
107#include <CD_NamespaceFooter.H>
Declaration of a class that allocates irregular data holders over the interface between two phases.
MFInterfaceFAB()
Constructor. Must subsequently call define.
Definition CD_MFInterfaceFABImplem.H:21
virtual int numPhases() const
Get number of phases.
Definition CD_MFInterfaceFABImplem.H:93
virtual BaseIVFAB< T > & getIVFAB(const int a_phase)
Get BaseIVFAB for specified phase.
Definition CD_MFInterfaceFABImplem.H:67
virtual void define(const MFLevelGrid &a_mflg, const DataIndex &a_dit)
Define function.
Definition CD_MFInterfaceFABImplem.H:40
virtual ~MFInterfaceFAB()
Destructor.
Definition CD_MFInterfaceFABImplem.H:31
virtual const IntVectSet & getIVS() const
Get defining region.
Definition CD_MFInterfaceFABImplem.H:60
virtual void setVal(const T &a_value)
Set value on both fabs.
Definition CD_MFInterfaceFABImplem.H:100
virtual BaseIVFAB< T > * getPhasePtr(int a_phase)
Get BaseIVFAB pointer for specified phase.
Definition CD_MFInterfaceFABImplem.H:85
Wrapper class for holding multifluid EBLevelGrids.
Definition CD_MFLevelGrid.H:30
virtual ProblemDomain getDomain() const
Get the problem domain.
Definition CD_MFLevelGrid.cpp:72
virtual DisjointBoxLayout getGrids() const
Get the grids.
Definition CD_MFLevelGrid.cpp:78
virtual IntVectSet interfaceRegion(const Box &a_box, const DataIndex &a_dit, const int a_phase1=0, const int a_phase2=1) const
Get interface region between two phases.
Definition CD_MFLevelGrid.cpp:102
virtual const RefCountedPtr< MultiFluidIndexSpace > & getMfIndexSpace() const
Get the index space.
Definition CD_MFLevelGrid.cpp:66
virtual EBLevelGrid & getEBLevelGrid(int a_phase)
Get grids on specified phase.
Definition CD_MFLevelGrid.cpp:84
Two-fluid index space.
Definition CD_MultiFluidIndexSpace.H:50
int numPhases() const
Get number of phases.
Definition CD_MultiFluidIndexSpace.cpp:89