chombo-discharge
Loading...
Searching...
No Matches
CD_MultifluidAlias.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2021 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_MultifluidAlias_H
13#define CD_MultifluidAlias_H
14
15// Chombo includes
16#include <MFFluxFAB.H>
17#include <MFCellFAB.H>
18
19// Our includes
20#include <CD_MFBaseIVFAB.H>
21#include <CD_NamespaceHeader.H>
22
29{
30public:
37 static void
39
46 static void
48
55 static void
57
58private:
62 class MfCellAliasFactory : public DataFactory<EBCellFAB>
63 {
64 public:
68 MfCellAliasFactory() = delete;
69
73 MfCellAliasFactory(LevelData<MFCellFAB>* a_mf, const int a_phase);
74
78 virtual EBCellFAB*
79 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
80
84 virtual bool
85 callDelete() const override;
86
87 private:
92
96 int m_phase;
97 };
98
102 class MfFluxAliasFactory : public DataFactory<EBFluxFAB>
103 {
104 public:
108 MfFluxAliasFactory() = delete;
109
113 MfFluxAliasFactory(LevelData<MFFluxFAB>* a_mf, const int a_phase);
114
118 virtual EBFluxFAB*
119 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
120
124 virtual bool
125 callDelete() const override;
126
127 private:
132
136 int m_phase;
137 };
138
142 class MfIVAliasFactory : public DataFactory<BaseIVFAB<Real>>
143 {
144 public:
148 MfIVAliasFactory() = delete;
149
153 MfIVAliasFactory(LevelData<MFBaseIVFAB>* a_mf, const int a_phase);
154
158 virtual BaseIVFAB<Real>*
159 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
160
164 virtual bool
165 callDelete() const override;
166
167 private:
172
176 int m_phase;
177 };
178};
179
180#include <CD_NamespaceFooter.H>
181
182#endif
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
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37