12 #ifndef CD_MultifluidAlias_H
13 #define CD_MultifluidAlias_H
16 #include <MFFluxFAB.H>
17 #include <MFCellFAB.H>
21 #include <CD_NamespaceHeader.H>
38 aliasMF(LevelData<EBCellFAB>& a_alias,
const int a_phase,
const LevelData<MFCellFAB>& a_input);
47 aliasMF(LevelData<EBFluxFAB>& a_alias,
const int a_phase,
const LevelData<MFFluxFAB>& a_input);
56 aliasMF(LevelData<BaseIVFAB<Real>>& a_alias,
const int a_phase,
const LevelData<MFBaseIVFAB>& a_input);
62 class MfCellAliasFactory :
public DataFactory<EBCellFAB>
68 MfCellAliasFactory() =
delete;
73 MfCellAliasFactory(LevelData<MFCellFAB>* a_mf,
const int a_phase);
79 create(
const Box& box,
int ncomps,
const DataIndex& a_datInd)
const override;
85 callDelete()
const override;
91 LevelData<MFCellFAB>* m_mf;
102 class MfFluxAliasFactory :
public DataFactory<EBFluxFAB>
108 MfFluxAliasFactory() =
delete;
113 MfFluxAliasFactory(LevelData<MFFluxFAB>* a_mf,
const int a_phase);
119 create(
const Box& box,
int ncomps,
const DataIndex& a_datInd)
const override;
125 callDelete()
const override;
131 LevelData<MFFluxFAB>* m_mf;
142 class MfIVAliasFactory :
public DataFactory<BaseIVFAB<Real>>
148 MfIVAliasFactory() =
delete;
153 MfIVAliasFactory(LevelData<MFBaseIVFAB>* a_mf,
const int a_phase);
158 virtual BaseIVFAB<Real>*
159 create(
const Box& box,
int ncomps,
const DataIndex& a_datInd)
const override;
165 callDelete()
const override;
171 LevelData<MFBaseIVFAB>* m_mf;
180 #include <CD_NamespaceFooter.H>
Declaration of a multiphase BaseIVFAB<Real>
Class with static public interface for aliasing multifluid data into single-phase data.
Definition: CD_MultifluidAlias.H:29
static void aliasMF(LevelData< EBCellFAB > &a_alias, const int a_phase, const LevelData< MFCellFAB > &a_input)
Alias MFCellFABs.
Definition: CD_MultifluidAlias.cpp:18