Kinetic model
VlasovMaxwellOneSpecies
Vlasov-Maxwell equations for one kinetic species.
Overview
VlasovMaxwellOneSpecies is the fully electromagnetic one-species PIC
model in Struphy. It evolves particles and fields self-consistently and supports an optional control-variate formulation for the field coupling.
Use cases
This model is appropriate for:
- self-consistent electromagnetic kinetic simulations
- one-species PIC benchmarks
- wave-particle interaction studies with evolving magnetic fields
- verification of the full Vlasov-Maxwell splitting
Governing equations
PDEs solved by model:
Vlasov equation:
Ampère's law:
Faraday's law:
where and for electrons.
At initial time the weak Poisson equation is solved once to weakly satisfy Gauss' law,
Moreover, it is assumed that
where is the static equilibrium magnetic field.
Normalization
The model uses the light speed as reference velocity:
The species parameters are and .
Discretization
Time integration is performed by the following propagators (in sequence):
struphy.propagators.maxwell_weak_ampere.MaxwellWeakAmperestruphy.propagators.push_eta.PushEtastruphy.propagators.push_vxb.PushVxBstruphy.propagators.vlasov_ampere_coupling.VlasovAmpereCoupling
Diagnostics
The following scalars are tracked during simulation:
- Electric field energy:
en_E - Magnetic field energy:
en_B - Particle kinetic energy:
en_f - Total energy:
en_tot - Optional Gauss-law diagnostic:
gauss_error
Example
Create and initialize a Vlasov-Maxwell model:
from struphy.models import VlasovMaxwellOneSpecies
model = VlasovMaxwellOneSpecies()
model.em_fields.e_field
model.em_fields.b_field model.kinetic_ions.var