Subsections


22.2 Magnetic Resistivity

The magnetic resistivity unit source/physics/materialProperties/MagneticResistivity provides routines that compute magnetic resistivity $ \eta$ for a mixture of ionized gases used by the MHD solvers. The default top level routines return zero values for resistivity (a stub functionality). Specific routines for constant and variable resistivity are provided in the low level subdirectories within /MagneticResistivityMain. By default, all routines return results in non-dimensional units (hence without $ 4\pi$ or $ \mu_0$ coefficients). In other words, it is magnetic diffusivity in cm$ ^2$ s$ ^{-1}$ that is actually returned. However they provide an option to return results either in CGS or SI unit.

This unit now supports fully anisotropic magnetic resistivity. The resistivity components $\eta_\parallel$, $\eta_\perp$, and $\eta_\wedge$ may be used depending on the value of the runtime parameter resistivityForm. Valid values for this parameter are: “parallel”, “perpendicular”, or “fullaniso”. This not only controls which resistivity coefficients are computed, but also how/if they are used when solving the induction equation. The default value for resistivityForm is “perpendicular”. See Sec:MagDiffusion for more details on how resistivity is implemented with implicit magnetic diffusion, and Sec:non_ideal_MHD for how the $\eta_\wedge$ term is implemented.


22.2.1 Constant resistivity

This implementation returns constant magnetic resistivity. The unit declares a runtime parameter, resistivity, that is the constant resistivity. The default value is zero. The magnetic resistivity routine reads in resistivity ($ \eta$) and returns it to the calling routine with proper scalings depending on unit system. For example, $ \frac{c^2}{4\pi}\eta$ is returned in CGS unit, $ \frac{1}{\mu_0}\eta$ in SI, and simply $ \eta$ in non-dimensional unit.

Different constants may also be set for anisotropic coefficients using runtime parameters: res_constantParallel, res_constantPerpendicular, and res_constantCross. Note that all of these values will be overwritten by resistivity if resistivity is non-zero.

FLASH3 Transition: In previous implementations, there used to be two runtime parameters: magnetic resistivity and magnetic viscosity. They respectively refer $ \eta$ and $ \frac{c^2}{4\pi}\eta$ in CGS (or $ \frac{1}{\mu_0}\eta$ in SI, where $ \mu_0=4\pi\times10^{-7}$ henry/meter). What it was done in the old way was to initialize magnetic viscosity (e.g., $ \frac{c^2}{4\pi}\eta$) using the magnetic resistivity, $ \eta$. As of FLASH3.1, such distinctions between the magnetic resistivity and magnetic viscosity has been removed and we only use magnetic resistivity with proper scalings depending on unit system.


22.2.2 Spitzer HighZ resistivity

This implementation returns the Spitzer resistivity for the induction equation and is a useful option for HEDP simulations. The implementation follows the prescription of Braginskii (1965), defining a perpendicular and parallel magnetic resistivity, with respect to the field line, as

$\displaystyle \eta_\perp = \frac{m_{ele}}{e^2 n_{ele} \tau_{ele}} ,$ (22.2)

$\displaystyle \eta_\parallel = \eta_\perp/1.96 .$ (22.3)

Here we denote with $ m_{ele}, e, n_{ele}, \tau_{ele}$ the mass, charge, number density and the collision time of electrons, respectively. In its current form, the /MagneticResistivityMain/SpitzerHighZ/MagneticResistivity_fullState routine is used and will return parallel or both parallel and perpendicular components depending on the value of the runtime parameter resistivityForm. Note that this implementation will always return zero for the $\eta_\wedge$ component. To activate the Spitzer HighZ resistivity implementation, simply add the appropriate path in the Config file of your simulation directory.


22.2.3 DaviesWen resistivity

This implementation returns magnetic resistivty coefficients based on the work by Davies, et al. (Phys. Plasmas, 2021). All three resistivity components $\eta_\parallel$, $\eta_\perp$, and $\eta_\wedge$ are computed with dependencies on temperature, ionization, atomic number, and Hall parameter making this the most complete implementation for anisotropic resistivity suitable for HEDP applications.

To activate the DaviesWen resistivity implementation, simply add the appropriate path in the Config file of your simulation directory.


22.2.4 Vacuum resistivity

Both the Spitzer HighZ and DaviesWen implementations described above have the capability for the user to define an additional constant resistivity for vacuum regions. The runtime parameter for this constant vacuum resistivity is res_vacRes, which has a default value of zero. The value of res_vacRes will overwrite all previously calculated resistivity values when the mass density in a cell is less than or equal to the runtime parameter res_vacDens. The default value for res_vacDens is zero. The use of res_vacRes can be further controlled by the runtime parameters res_vacSpec and res_vacFrac. The default value of res_vacSpec is “vacu” and defines the name of the species (specified during setup) that is to be considered vacuum. A vacuum species mass fraction greater than res_vacFrac will be considered vacuum, and the default value of res_vacFrac is 0.5. If a species with the name specified by res_vacSpec does not exist, then only the density condition with res_vacDens is considered.

These runtime parameters res_vacDens, res_vacSpec, and res_vacFrac are also used to determine whether Ohmic heating should be calculated in a given cell. In other words, when these parameters are set such that a given cell is considered to be vacuum, then the cell's resistivity will be res_vacRes and Ohmic heating will not be calculated. Note that this functionality to ignore Ohmic heating in vacuum regions is only implemented in the implicit magnetic diffusion solver.