chombo-discharge
Loading...
Searching...
No Matches
CD_EBReflux.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2023 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_EBReflux_H
13#define CD_EBReflux_H
14
15// Std includes
16#include <map>
17
18// Chombo includes
19#include <Copier.H>
20#include <EBLevelGrid.H>
21
22// Our includes
23#include <CD_NamespaceHeader.H>
24
37{
38public:
42 EBReflux() noexcept;
43
47 EBReflux(const EBReflux& a_other) = delete;
48
59 const int a_refRat) noexcept;
60
64 virtual ~EBReflux() noexcept;
65
73 virtual void
78
90 virtual void
97
103
108
113
118
123
128
133
138
143
149
153 virtual void
155
159 virtual void
161
165 virtual void
167
176 virtual void
179 const int a_coarVar,
181
194 virtual void
198 const int a_phiVar,
203};
204
205#include <CD_NamespaceFooter.H>
206
207#endif
Class which can do refluxing across a coarse-fine interface.
Definition CD_EBReflux.H:37
EBLevelGrid m_eblgFine
Fine grids.
Definition CD_EBReflux.H:112
LayoutData< std::map< std::pair< int, Side::LoHiSide >, VoFIterator > > m_irregularCoarseFineRegions
Cut-cells in each patch that lie on the coarse-fine interface.
Definition CD_EBReflux.H:148
virtual void define(const EBLevelGrid &a_eblg, const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoFi, const int a_refRat) noexcept
Define method. Puts object in usable state.
Definition CD_EBReflux.cpp:46
virtual void defineStencils() noexcept
Define the stencils required for coarsening the fine-grid fluxes onto the coarse grid.
Definition CD_EBReflux.cpp:189
int m_refRat
Refinement factor between fine and coarse level.
Definition CD_EBReflux.H:107
virtual void defineBuffers() noexcept
Define buffers.
Definition CD_EBReflux.cpp:260
LayoutData< std::map< std::pair< int, Side::LoHiSide >, BaseIFFAB< FaceStencil > > > m_fluxCoarseningStencils
Stencils for conservatively coarsening fine-grid fluxes onto the coarse grid.
Definition CD_EBReflux.H:132
virtual void reflux(LevelData< EBCellFAB > &a_Lphi, const LevelData< EBFluxFAB > &a_flux, const LevelData< EBFluxFAB > &a_fineFlux, const Interval a_variables, const Real a_scaleCoarFlux, const Real a_scaleFineFlux) const noexcept
Reflux into the coarse data.
Definition CD_EBReflux.cpp:269
EBReflux() noexcept
Disallowed constructor.
Definition CD_EBReflux.cpp:23
EBLevelGrid m_eblg
Grid on this level.
Definition CD_EBReflux.H:117
Copier m_copier
Copier for copying from the coarsened fine grids to the coarse grids.
Definition CD_EBReflux.H:127
EBReflux(const EBReflux &a_other)=delete
Disallowed copy constructor.
virtual ~EBReflux() noexcept
Destructor (does nothing)
Definition CD_EBReflux.cpp:40
LayoutData< std::map< std::pair< int, Side::LoHiSide >, DenseIntVectSet > > m_regularCoarseFineRegions
Regular coarse-fine regions for coarse-grid patches.
Definition CD_EBReflux.H:137
virtual void refluxIntoCoarse(LevelData< EBCellFAB > &a_Lphi, const LevelData< EBFluxFAB > &a_oldFluxes, const LevelData< EBFluxFAB > &a_newFluxes, const int a_phiVar, const int a_oldFluxVar, const int a_newFluxVar, const Real a_scaleCoarFlux, const Real a_scaleFineFlux) const noexcept
Reflux data into a_Lphi.
Definition CD_EBReflux.cpp:426
bool m_isDefined
Is defined or not.
Definition CD_EBReflux.H:102
LayoutData< std::map< std::pair< int, Side::LoHiSide >, FaceIterator > > m_fluxCoarseningRegions
Stencils for conservatively coarsening fine-grid fluxes onto the coarse grid.
Definition CD_EBReflux.H:142
EBLevelGrid m_eblgCoFi
Coarsened fine grids.
Definition CD_EBReflux.H:122
virtual void defineRegionsCF() noexcept
Define coarse-fine interface regions so that we can compute things later.
Definition CD_EBReflux.cpp:66
virtual void coarsenFluxesCF(LevelData< EBFluxFAB > &a_coarFluxes, const LevelData< EBFluxFAB > &a_fineFluxes, const int a_coarVar, const int a_fineVar) const noexcept
Coarsen the input fine fluxes onto the coarse fluxes.
Definition CD_EBReflux.cpp:310
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37