chombo-discharge
Loading...
Searching...
No Matches
CD_MultifluidAlias.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_MULTIFLUIDALIAS_H
14#define CD_MULTIFLUIDALIAS_H
15
16// Chombo includes
17#include <MFFluxFAB.H>
18#include <MFCellFAB.H>
19
20// Our includes
21#include <CD_MFBaseIVFAB.H>
22#include <CD_NamespaceHeader.H>
23
30{
31public:
38 static void
40
47 static void
49
56 static void
58
59private:
63 class MfCellAliasFactory : public DataFactory<EBCellFAB>
64 {
65 public:
69 MfCellAliasFactory() = delete;
70
76 MfCellAliasFactory(LevelData<MFCellFAB>* a_mf, const int a_phase);
77
85 virtual EBCellFAB*
86 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
87
92 virtual bool
93 callDelete() const override;
94
95 private:
100
104 int m_phase;
105 };
106
110 class MfFluxAliasFactory : public DataFactory<EBFluxFAB>
111 {
112 public:
116 MfFluxAliasFactory() = delete;
117
123 MfFluxAliasFactory(LevelData<MFFluxFAB>* a_mf, const int a_phase);
124
132 virtual EBFluxFAB*
133 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
134
139 virtual bool
140 callDelete() const override;
141
142 private:
147
151 int m_phase;
152 };
153
157 class MfIVAliasFactory : public DataFactory<BaseIVFAB<Real>>
158 {
159 public:
163 MfIVAliasFactory() = delete;
164
170 MfIVAliasFactory(LevelData<MFBaseIVFAB>* a_mf, const int a_phase);
171
179 virtual BaseIVFAB<Real>*
180 create(const Box& box, int ncomps, const DataIndex& a_datInd) const override;
181
186 virtual bool
187 callDelete() const override;
188
189 private:
194
198 int m_phase;
199 };
200};
201
202#include <CD_NamespaceFooter.H>
203
204#endif
Declaration of a multiphase BaseIVFAB<Real>
Class with static public interface for aliasing multifluid data into single-phase data.
Definition CD_MultifluidAlias.H:30
static void aliasMF(LevelData< EBCellFAB > &a_alias, const int a_phase, const LevelData< MFCellFAB > &a_input)
Alias MFCellFABs.
Definition CD_MultifluidAlias.cpp:19
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38