21#include <EBLevelGrid.H>
24#include <CD_NamespaceHeader.H>
206#include <CD_NamespaceFooter.H>
Class which can do refluxing across a coarse-fine interface.
Definition CD_EBReflux.H:38
EBLevelGrid m_eblgFine
Fine grids.
Definition CD_EBReflux.H:113
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:149
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:45
virtual void defineStencils() noexcept
Define the stencils required for coarsening the fine-grid fluxes onto the coarse grid.
Definition CD_EBReflux.cpp:191
int m_refRat
Refinement factor between fine and coarse level.
Definition CD_EBReflux.H:108
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:133
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:24
EBLevelGrid m_eblg
Grid on this level.
Definition CD_EBReflux.H:118
Copier m_copier
Copier for copying from the coarsened fine grids to the coarse grids.
Definition CD_EBReflux.H:128
EBReflux(const EBReflux &a_other)=delete
Disallowed copy constructor.
virtual ~EBReflux() noexcept
Destructor (does nothing)
Definition CD_EBReflux.cpp:39
LayoutData< std::map< std::pair< int, Side::LoHiSide >, DenseIntVectSet > > m_regularCoarseFineRegions
Regular coarse-fine regions for coarse-grid patches.
Definition CD_EBReflux.H:138
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:421
bool m_isDefined
Is defined or not.
Definition CD_EBReflux.H:103
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:143
EBLevelGrid m_eblgCoFi
Coarsened fine grids.
Definition CD_EBReflux.H:123
virtual void defineRegionsCF() noexcept
Define coarse-fine interface regions so that we can compute things later.
Definition CD_EBReflux.cpp:65
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:38