34 CH_TIME(
"EBAMRSurfaceDeposition::deposit");
36 pout() <<
"EBAMRSurfaceDeposition::deposit<P, const Real& P::*func const>" <<
endl;
39 using NoRef =
typename std::remove_reference<Ret>::type;
40 using Base =
typename std::remove_cv<NoRef>::type;
42 static_assert(std::is_same<Base, Real>::value,
"Ret should be Real or const Real&");
47 for (
int lvl = 0;
lvl <= m_finestLevel;
lvl++) {
53#pragma omp parallel for schedule(runtime)
73 MayDay::Error(
"CD_EBAMRSurfaceDeposition::deposit -- particle is not inside the box");
96 this->addInvalidCoarseDataToFineData();
97 this->addFineGhostDataToValidCoarData();
100 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:32
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:31
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38