|
chombo-discharge
|
Single-patch ParticleSoA deposit/interpolate onto an embedded-boundary mesh. More...
#include <cstddef>#include <type_traits>#include <utility>#include <CH_Timer.H>#include <ProblemDomain.H>#include <EBISBox.H>#include <EBCellFAB.H>#include <RealVect.H>#include <Box.H>#include <IntVect.H>#include <CD_DepositionType.H>#include <CD_ParticleOps.H>#include <CD_BoxLoops.H>#include <CD_ParticleSoA.H>#include <CD_NamespaceHeader.H>#include <CD_NamespaceFooter.H>

Go to the source code of this file.
Classes | |
| class | EBParticleMesh |
| Deposits/interpolates ParticleSoA leaves on a single patch, with embedded-boundary (cut-cell) awareness. More... | |
Single-patch ParticleSoA deposit/interpolate onto an embedded-boundary mesh.
Deposits and interpolates ParticleSoA<P, Traits> leaves on a single grid patch. The per-particle EB/cut-cell kernels (the depositParticleXXX / interpolateParticleXXX helpers) are storage-agnostic (position + Real* field + numComp) and take a destination-component offset. The public loops:
Every public deposit/interpolate comes in two forms: a CORE form taking an explicit starting mesh component a_comp (the selected columns map to consecutive components [a_comp, a_comp + nColumns)), and a CONVENIENCE overload that omits a_comp and uses the first components (a_comp == 0).
weight is a container-OWNED mandatory column, not a payload member, so it cannot be named by the deposit<&Payload::field> selector. depositWeight() is its entry point. Mechanically it is the same as deposit() – both are thin wrappers that hand depositCore a strength gatherer – it just gathers from weightColumn() instead of payload columns.