Appearance
Physical models
PRISM solves Maxwell's equations in first-order form for the electric displacement
In conservation form
and
Models
[physics] physical_model selects one of four models (input; an unknown value is fatal):
| Model | physical_model | Current and charge | Units |
|---|---|---|---|
| Electromagnetic | EM (and aliases) | SI | |
| Non-dimensional electromagnetic | AdimEM | as EM | |
| Particle-in-cell | PIC | SI | |
| Non-dimensional PIC | AdimPIC | as PIC |
The particles, their deposition and their push are on the particle-in-cell page.
State vector
The state width nv follows from the model and the divergence correction, with one source for both the width and the variable names (physics%var_phi, physics%var_psi, var_Jx; #61):
| Slot | Variable | Present |
|---|---|---|
| 1–3 | always | |
| 4–6 | always | |
| 7 | hyperbolic with D or B | |
| 7, 8 | hyperbolic with DB | |
| next 3 | always | |
| last | PIC models |
So nv = 9 (EM), 10 (one GLM scalar, or PIC), 11 (DB, or PIC with one scalar) and 12 (PIC with DB), the maximum NV_MAX = 12; a larger nv is fatal at initialization.
Physical constants
adam_prism_parameters:
| Constant | Value |
|---|---|
1.256637e-6 H/m | |
8.854187e-12 F/m | |
| electron charge | -1.6e-19 C |
| electron mass | 9.11e-31 kg |
| ion mass (H⁺) | 1.67262192595e-27 kg |
| neutral mass | ion mass + electron mass |
1.380649e-23 J/K |
Non-dimensional form
Under AdimEM and AdimPIC the input stays in SI and PRISM scales it by the reference length [physics] L0, B0, both required and positive):
The equations become
Divergence correction
The discrete operators keep [numerics] divergence_correction = hyperbolic adds the generalized-Lagrange-multiplier (GLM) scalars selected by constrained_transport (D: B: DB: both):
with [physics] chi, required, positive) and [physics] alpha, default 0; in 1/s under EM and PIC, in units of
hyperbolicwithoutD,BorDBis refused at initialization: there would be no scalar to carry.poisson(a projection) is refused: no backend implements it.noignoresconstrained_transportwith a warning.
The full matrix of constrained_transport × divergence_correction is in the input hazards.