Fluid model
ViscoResistiveDeltafMHD
Delta-f visco-resistive MHD equations discretized with a variational method.
Overview
ViscoResistiveDeltafMHD is the dissipative perturbative MHD model using
pressure as thermodynamic variable. It is intended for departures from a background equilibrium that are not strictly linear but still naturally formulated as perturbations.
Use cases
This model is appropriate for:
- perturbative nonlinear MHD around a prescribed equilibrium
- dissipative MHD verification with background fields
- comparing linear and
delta fvariational formulations
Governing equations
PDEs solved by model:
Continuity:
Momentum:
Pressure:
Induction:
Here and are artificial viscosity and resistivity coefficients.
Normalization
The velocity scale is Alfvénic:
Discretization
Time integration is performed by the following propagators (in sequence):
struphy.propagators.variational_density_evolve.VariationalDensityEvolvestruphy.propagators.variational_momentum_advection.VariationalMomentumAdvectionstruphy.propagators.variational_pb_evolve.VariationalPBEvolvestruphy.propagators.variational_viscosity.VariationalViscosity(ifwith_viscosityis True)struphy.propagators.variational_resistivity.VariationalResistivity(ifwith_resistivityis True)
Diagnostics
The following scalars are tracked during simulation:
- Kinetic energy:
en_U - Thermal energies:
en_thermo,en_thermo_l1 - Magnetic energies:
en_mag_1,en_mag_2,en_mag_l1 - Total energies:
en_tot,en_tot_l1
Example
Create and initialize the visco-resistive
delta f MHD model:
from struphy.models import ViscoResistiveDeltafMHD
model = ViscoResistiveDeltafMHD()
model.mhd.pressure model.em_fields.b_field