33 CH_TIME(
"EBAMRSurfaceDeposition::deposit");
35 pout() <<
"EBAMRSurfaceDeposition::deposit<P, const Real& P::*func const>" <<
endl;
38 using NoRef =
typename std::remove_reference<Ret>::type;
39 using Base =
typename std::remove_cv<NoRef>::type;
41 static_assert(std::is_same<Base, Real>::value,
"Ret should be Real or const Real&");
46 for (
int lvl = 0;
lvl <= m_finestLevel;
lvl++) {
52#pragma omp parallel for schedule(runtime)
72 MayDay::Error(
"CD_EBAMRSurfaceDeposition::deposit -- particle is not inside the box");
95 this->addInvalidCoarseDataToFineData();
96 this->addFineGhostDataToValidCoarData();
99 for (
int lvl = 0;
lvl <= m_finestLevel;
lvl++) {
Declaration of a static class containing some common useful particle routines that would otherwise be...
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
static IntVect getParticleCellIndex(const RealVect &a_particlePosition, const RealVect &a_probLo, const Real &a_dx) noexcept
Get the cell index corresponding to the particle position.
Definition CD_ParticleOpsImplem.H:30
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37