smod_equil_resonant_absorption Submodule

This submodule defines an inhomogeneous medium in Cartesian geometry with a constant resistivity value. Two (constant) density profiles are defined which are connected by a sine profile, representing the interface inbetween. This density profile allows for resonant absorption, the geometry can be overridden in the parfile.

This equilibrium is taken from Van Doorsselaere, T., & Poedts, S. (2007). Modifications to the resistive MHD spectrum due to changes in the equilibrium. Plasma Physics and Controlled Fusion, 49(3), 261.

Note

Default values are given by

  • k2 = 1
  • k3 = 0.05
  • p1 = 0.9 : used to set the left density value.
  • p2 = 0.1 : used to set the right density value.
  • r0 = 0.2 : used to set the width of the interface.
  • cte_B02 = 0 : used to set the By value.
  • cte_B03 = 1 : used to set the Bz value.
  • cte_T0 = 0 : used to set the temperature. Zero by default.
  • fixed eta value of

and can all be changed in the parfile.



Variables

Type Visibility Attributes Name Initial
real(kind=dp), private :: s
real(kind=dp), private :: rho_left
real(kind=dp), private :: rho_right
real(kind=dp), private :: zeta
real(kind=dp), private :: x_start
real(kind=dp), private :: x_end

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)


Module Procedures

module procedure /home/runner/work/legolas/legolas/docs/ford/module/smod_equil_resonant_absorption.html resonant_absorption_eq module subroutine resonant_absorption_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