smod_equil_magnetothermal_instabilities Submodule

This submodule defines an equilibrium containing magnetothermal instabilities in a cylindrical geometry. The geometry can be overridden in the parfile.

This equilibrium is taken from Van der Linden, R. A. M., Goossens, M., & Hood, A. W. (1992). The relevance of the ballooning approximation for magnetic, thermal, and coalesced magnetothermal instabilities. Solar physics, 140(2), 317-342.

Note

Default values are given by

  • k2 = 0
  • k3 = 1
  • cte_T0 = 1 : used to set the temperature.
  • cooling_curve = 'rosner'
  • parallel thermal conduction, no perpendicular conduction

and normalisations given by

  • unit_temperature = 2.6e6 K
  • unit_magneticfield = 10 Gauss
  • unit_length = 1e8 cm

and can all be changed in the parfile.

Note

The default setup handles CASE I in the original paper. For CASE II, you can set k2 = 10. To reproduce the thermal continuum plot, set unit_length = 2.44e9 cm in CASE I.



Functions

function p0(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function rho0(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function drho0(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function T0()

Arguments

None

Return Value real(kind=dp)

function B02(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dB02(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)


Module Procedures

module procedure /home/runner/work/legolas/legolas/docs/ford/module/smod_equil_magnetothermal_instabilities.html magnetothermal_instability_eq module subroutine magnetothermal_instability_eq(settings, grid, background, physics)

Sets the equilibrium

Arguments

Type IntentOptional Attributes Name
type(settings_t), intent(inout) :: settings
type(grid_t), intent(inout) :: grid
type(background_t), intent(inout) :: background
type(physics_t), intent(inout) :: physics