12#ifndef CD_EBAMRSurfaceDeposition_H
13#define CD_EBAMRSurfaceDeposition_H
16#include <RefCountedPtr.H>
18#include <EBLevelGrid.H>
23#include <CD_NamespaceHeader.H>
89 template <
class P,
class Ret, Ret (P::*MemberFunc)() const>
251#include <CD_NamespaceFooter.H>
Class for holding data across EBAMR hierarchies.
Implementation of CD_EBAMRSurfaceDeposition.H.
Declaration of a class for holding particles on an AMR hierarchy.
class for handling surface deposition of particles with EB and AMR.
Definition CD_EBAMRSurfaceDeposition.H:29
virtual void defineBuffers() noexcept
Define buffer data.
Definition CD_EBAMRSurfaceDeposition.cpp:120
virtual void defineDataMotion() noexcept
Define copiers.
Definition CD_EBAMRSurfaceDeposition.cpp:226
Vector< Copier > m_validToValidCopiers
Valid to valid copiers.
Definition CD_EBAMRSurfaceDeposition.H:187
RealVect m_probLo
Lower-left corner of computational domain.
Definition CD_EBAMRSurfaceDeposition.H:112
EBAMRIVData m_coarsenedFineData
Coarsening of the fine-grid data.
Definition CD_EBAMRSurfaceDeposition.H:182
EBAMRSurfaceDeposition() noexcept
Default constructor. Leaves the object in undefined state and requires the user to call the define fu...
Definition CD_EBAMRSurfaceDeposition.cpp:23
int m_radius
Deposition radius.
Definition CD_EBAMRSurfaceDeposition.H:122
Vector< RefCountedPtr< EBLevelGrid > > m_ebGridsRefinedCoar
Refined grids.
Definition CD_EBAMRSurfaceDeposition.H:139
Vector< Copier > m_copierRefinedCoarToFineNoGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition CD_EBAMRSurfaceDeposition.H:198
void deposit(EBAMRIVData &a_meshData, const ParticleContainer< P > &a_particles) const noexcept
Deposition function which deposites the particles on the surface.
Definition CD_EBAMRSurfaceDepositionImplem.H:31
virtual void defineCoarseToFineStencils() noexcept
Define stencils for interpolating coarse-grid data to the fine grid.
Definition CD_EBAMRSurfaceDeposition.cpp:384
int m_finestLevel
Finest grid level.
Definition CD_EBAMRSurfaceDeposition.H:117
Vector< Real > m_dx
Grid resolutions.
Definition CD_EBAMRSurfaceDeposition.H:149
Vector< int > m_refRat
Refinement ratios between levels.
Definition CD_EBAMRSurfaceDeposition.H:144
bool m_verbose
Turn on/off chattiness.
Definition CD_EBAMRSurfaceDeposition.H:107
virtual void defineFineToCoarseStencils() noexcept
Define stencils for coarsening data in fine-grid ghost cells to the coarse grid.
Definition CD_EBAMRSurfaceDeposition.cpp:468
virtual ~EBAMRSurfaceDeposition() noexcept
Destructor.
Definition CD_EBAMRSurfaceDeposition.cpp:52
virtual void addFineGhostDataToValidCoarData() const noexcept
Add the ghosted fine-level data to the coarse data.
Definition CD_EBAMRSurfaceDeposition.cpp:605
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > m_depositionStencils
Deposition weights for each irregular cell. This contains 1.0/sum(alpha * dx^(D-1)) and the cells.
Definition CD_EBAMRSurfaceDeposition.H:154
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > m_fineToCoarseStencils
Stencils for conservatively coarsening fine-grid data (in ghost cells) to the coarse grid.
Definition CD_EBAMRSurfaceDeposition.H:166
bool m_debug
Debug or not.
Definition CD_EBAMRSurfaceDeposition.H:97
Vector< RefCountedPtr< EBLevelGrid > > m_ebGridsCoarsenedFine
Coarsened grids.
Definition CD_EBAMRSurfaceDeposition.H:133
virtual void define(const Vector< RefCountedPtr< EBLevelGrid > > &a_ebGrids, const Vector< RefCountedPtr< EBLevelGrid > > &a_ebGridsCoarsenedFine, const Vector< RefCountedPtr< EBLevelGrid > > &a_ebGridsRefinedCoar, const Vector< int > &a_refRat, const Vector< Real > &a_dx, const RealVect &a_probLo, const int a_finestLevel, const int a_radius) noexcept
Define function. Puts objects in usable state.
Definition CD_EBAMRSurfaceDeposition.cpp:58
Vector< Copier > m_copierLevel
Level copier for adding data from valid+ghost -> valid.
Definition CD_EBAMRSurfaceDeposition.H:193
virtual void addInvalidCoarseDataToFineData() const noexcept
Add the invalid coarse data (i.e., underneath the fine grid) to the fine level.
Definition CD_EBAMRSurfaceDeposition.cpp:551
virtual void defineDepositionStencils() noexcept
Define deposition weights.
Definition CD_EBAMRSurfaceDeposition.cpp:275
Vector< RefCountedPtr< EBLevelGrid > > m_ebGrids
Grids on each level.
Definition CD_EBAMRSurfaceDeposition.H:127
EBAMRIVData m_data
Data on each level.
Definition CD_EBAMRSurfaceDeposition.H:172
EBAMRIVData m_refinedCoarData
Data defined on a refinement of the coarse grid.
Definition CD_EBAMRSurfaceDeposition.H:177
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > m_coarseToFineStencils
Stencils for interpolating coarse-grid data to the fine grid.
Definition CD_EBAMRSurfaceDeposition.H:160
bool m_isDefined
Is defined or not.
Definition CD_EBAMRSurfaceDeposition.H:102
Vector< Copier > m_copierCoarsenedFineToCoar
Copier for copying data from the coarsened fine level to the coarse level.
Definition CD_EBAMRSurfaceDeposition.H:203
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37