Tracer Particles
Section author: Axel Huebl
Tracer particles are like probe particles, but interact self-consistenly with the simulation. They are usually used to visualize representative particle trajectories of a larger distribution.
In PIConGPU each species can be a tracer particle species, which allows tracking fields along the particle trajectory.
Workflow
speciesDefinition.param
:
Add the particle attribute particleId
to your species to give each particle a unique id.
The id is optional and only required if the particle should be tracked over time.
Adding probeE
creates a tracer species stores the interpolated electric field seen by the tracer particle.
using ParticleFlagsTracerElectrons = MakeSeq_t< particlePusher< particles::pusher::Boris >, shape< UsedParticleShape >, interpolation< UsedField2Particle >, currentSolver::Esirkepov<UsedParticleCurrentSolver> >; using TracerElectron = Particles< PMACC_CSTRING( "e_tracer" ), ParticleFlagsTracerElectrons, MakeSeq_t< position< position_pic >, momentum, weighting, particleId, probeE > >;
and add it to VectorAllSpecies
:
using VectorAllSpecies = MakeSeq_t<
TracerElectron,
// ...
>;
create tracer particles by either
speciesInitialization.param
: initializing a low percentage of your initial density inside this species orspeciesInitialization.param
: assigning the target (electron) species of an ion’s ionization routine to the tracer species orspeciesInitialization.param
: moving some particles of an already initialized species to the tracer species (upcoming)
fileOutput.param
: make sure the the tracer particles are part ofFileOutputParticles
// either all via VectorAllSpecies or just select
using FileOutputParticles = MakeSeq_t< TracerElectron >;
The electron tracer species is equivalent to normal electrons, the initial density distribution can be configured in speciesInitialization.param.
Known Limitations
currently, only the electric field \(\vec E\) and the magnetic field \(\vec B\) can be recorded
we currently do not support time averaging