_units#
Physical constants and normalization factors for PSI MAS model output.
The MAS (Magnetohydrodynamic Algorithm outside a Sphere) code solves the resistive MHD equations in dimensionless form. Every quantity stored in an HDF output file is a dimensionless ratio
where \(q_0\) is the characteristic scale for that quantity. This module
collects all reference scales so that code-unit values can be converted to physical
(CGS or SI) units via astropy.units.
Normalization Scheme#
MAS adopts a normalization anchored to two observable solar parameters and one reference number density:
Symbol |
Quantity |
Value |
|---|---|---|
Characteristic length |
\(6.96 \times 10^{10}\) cm |
|
Solar surface gravity |
\(2.74 \times 10^4\) cm s⁻² |
|
Reference number density |
\(10^8\) cm⁻³ |
From these three anchors, the characteristic time is fixed by requiring the dimensionless surface gravity \(G_0^\text{norm} = 0.823\):
All other normalization factors follow from dimensional analysis:
Symbol |
Quantity |
Formula |
|---|---|---|
Velocity |
\(V_0 = L_0 / T_0 \approx 481\) km s⁻¹ |
|
Mass density |
\(\rho_0 = m_p n_0\) |
|
Temperature |
\(T_0^\text{temp} = m_p V_0^2 / k_B \approx 28\) MK |
|
Pressure |
\(P_0 = \rho_0 V_0^2\) |
|
Magnetic field |
\(B_0 = V_0 \sqrt{\mu_0 \rho_0} \approx 2.2\) G |
|
Current density (SI) |
\(J_0 = B_0 / (\mu_0 L_0)\) A m⁻² |
|
Volumetric heating rate |
\(Q_0 = P_0 / T_0\) erg cm⁻³ s⁻¹ |
Electromagnetic Units#
MAS is formulated in Gaussian CGS, where Ampère’s law reads
\(\mathbf{J} = (c/4\pi)\,\nabla \times \mathbf{B}\). Because current density
in Gaussian CGS (statampere cm⁻²) is unfamiliar to most users, this module provides
both SI (FN_J, FN_E) and Gaussian CGS (FN_J_CGS,
FN_E_CGS) normalizations for these quantities.
Magnetic field is expressed in Gauss throughout, since that system is unambiguous and Gauss is the conventional unit for coronal magnetic field strengths.
Custom Astropy Units#
Each PSI quantity has a dedicated UnitBase registered at
module import time. These units carry the conversion factor from code units to
physical units so that astropy can chain conversions automatically — for example,
a quantity returned by psi_io.mhd_io in MAS_b units can be converted
with a single .to(u.Gauss) call.
Units are registered both under a family name (e.g. MAS_b) and under every
individual quantity name in that family (e.g. MAS_br, MAS_bt, MAS_bp),
so that the unit embedded in an Quantity always reflects
the specific field component.
Unit object |
Physical equivalent |
Module constant |
Registered string names |
|---|---|---|---|
\(\approx 2.2\) G |
|
||
\(\approx 481\) km s⁻¹ |
|
||
\(J_0\) A m⁻² |
|
||
\(\approx 28\) MK |
|
||
\(10^8\) cm⁻³ |
|
||
\(P_0\) erg cm⁻³ |
|
||
\(Q_0\) erg cm⁻³ s⁻¹ |
|
||
1 (dimensionless) |
— |
|
|
\(6.96 \times 10^{10}\) cm |
|
||
1 rad |
— |
|
See Also#
astropy.units:The underlying unit system used for normalization and conversion.
psi_io._models:Maps each MAS quantity name to its
FN_*normalization.psi_io.mhd_io:Lazy readers that apply these normalizations on property access.
Functions
|
Express a quantity in the preferred MAS CGS units basis. |
|
Decompose a quantity into the preferred MAS CGS base unit. |
|
Compute fractional abundance multipliers for a hydrogen–helium plasma. |
Attributes
Boltzmann constant in CGS. |
|
Speed of light in CGS: \(c = 2.998 \times 10^{10}\) cm s⁻¹. |
|
Tuple of CGS units preferred when composing or decomposing MAS quantities. |
|
Spitzer parallel thermal conductivity prefactor in CGS. |
|
Astropy unit for surface energy flux: erg cm⁻² s⁻¹. |
|
Proton mass in CGS. |
|
Reference number density of the coronal base in CGS. |
|
Magnetic field normalization for MAS, in Gauss. |
|
Electric field normalization for MAS, in SI (V m⁻¹). |
|
Electric field normalization for MAS, in Gaussian CGS (statV cm⁻¹). |
|
Surface energy flux normalization for MAS. |
|
Volumetric heating rate normalization for MAS. |
|
Current density normalization for MAS, in SI (A m⁻²). |
|
Current density normalization for MAS, in Gaussian CGS (statA cm⁻²). |
|
Lorentz force density (and pressure gradient) normalization for MAS. |
|
Thermal conductivity normalization for MAS. |
|
Alias for |
|
Number density normalization: \(n_0 = 10^8\) cm⁻³. |
|
Pressure normalization for MAS. |
|
Radiative loss function normalization for MAS. |
|
Mass density normalization for MAS. |
|
Temperature normalization for MAS. |
|
Alias for |
|
Velocity normalization for MAS. |
|
Characteristic length scale for MAS: the solar radius. |
|
Characteristic mass scale for MAS. |
|
Characteristic time scale for MAS. |
|
Dimensionless surface gravity in MAS code unit. |
|
Solar surface gravitational acceleration in CGS. |
|
Kinetic energy normalization for MAS. |
|
Custom astropy unit for MAS magnetic field quantities. |
|
Custom astropy unit for MAS volumetric heating rate. |
|
Custom astropy unit for MAS current density quantities. |
|
Custom astropy unit for MAS number density and mass density. |
|
Custom astropy unit for MAS pressure and wave-energy quantities. |
|
Custom astropy unit for MAS temperature quantities. |
|
Custom astropy unit for MAS velocity quantities. |
|
Permeability of free space (SI). |
|
Default angular velocity of the MAS corotating frame, in physical unit. |
|
High-precision value of π. |
|
Custom astropy unit for POT3D magnetic field quantities. |
|
Custom astropy unit for PSI angular coordinate grids. |
|
Custom astropy unit for PSI radial coordinate grids. |
|
Solar radius in centimeters. |
|
Conversion factor from statampere to ampere. |
|
Conversion factor from statvolt to volt. |
|
Astropy unit for volumetric energy deposition rate: erg cm⁻³ s⁻¹. |
|
Total (integrated) energy normalization for MAS. |