smod_equil_isothermal_atmosphere Submodule

This submodule defines an equilibrium in Cartesian geometry with a stratified equilibrium profile, representing a solar magnetic atmosphere. The equilibrium is isothermal with a constant magnetic field. The scale height is given by The geometry is fixed to Cartesian, boundaries can be overridden using the parfile.

This equilibrium is taken from Nye, A., & Thomas, J. (1976). Solar magneto-atmospheric waves. I. An exact solution for a horizontal magnetic field. The Astrophysical Journal, 204. 573-581.

Note

Default values are given by

  • k2 = 0
  • k3 = 2
  • cte_rho0 = 1 : used as a density prefactor.
  • cte_B02 = 0.25 : used to set the By-component
  • cte_B03 = 0.25 : used to set the Bz-component
  • cte_T0 = 1 : used to set the temperature (isothermal).
  • g = 5 : used to set the gravity constant.

and can all be changed in the parfile.

Warning

This equilibrium has no regression test yet!



Variables

Type Visibility Attributes Name Initial
real(kind=dp), private :: scale_height

Functions

function rho0(x)

Arguments

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

Return Value real(kind=dp)

function drho0(x)

Arguments

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

Return Value real(kind=dp)

function T0()

Arguments

None

Return Value real(kind=dp)

function B02()

Arguments

None

Return Value real(kind=dp)

function B03()

Arguments

None

Return Value real(kind=dp)

function g0(x, settings, background)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x
type(settings_t), intent(in) :: settings
type(background_t), intent(in) :: background

Return Value real(kind=dp)


Module Procedures

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

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