smod_equil_MRI Submodule

This submodule defines magneto-rotational instabilities in an accretion disk. Due to the special nature of this equilibrium x_start is hardcoded to one and can not be overridden in the parfile, the same goes for the geometry which is hardcoded to 'cylindrical'. The outer edge can be chosen freely. This equilibrium is chosen in such a way that the angular rotation is of order unity, implying Keplerian rotation. The thin-disk approximation is valid with small magnetic fields, but still large enough to yield magneto-rotational instabilities. Gravity is assumed to go like .

This equilibrium is taken from section V in Goedbloed, J. P. "The Spectral Web of stationary plasma equilibria. II. Internal modes." Physics of Plasmas 25.3 (2018): 032110. and also appears in section 13.5, fig. 13.7 in Goedbloed, H., Keppens, R., & Poedts, S. (2019). Magnetohydrodynamics of Laboratory and Astrophysical Plasmas. Cambridge University Press. DOI.



Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=dp), private :: Bth1
real(kind=dp), private :: Bz1
real(kind=dp), private :: p1
real(kind=dp), private :: delta
real(kind=dp), private :: epsilon
real(kind=dp), private :: mu1
real(kind=dp), private :: vth1

Functions

function rho0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function drho0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function T0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dT0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function p0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dp0(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function v02(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dv02(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function B02(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dB02(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function B03(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function dB03(r)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

Return Value real(kind=dp)

function g0(x)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)


Module Procedures

module procedure MRI_accretion_eq module module subroutine MRI_accretion_eq(settings, grid, background, physics)

Arguments

TypeIntentOptionalAttributesName
type(settings_t), intent(inout) :: settings
type(grid_t), intent(inout) :: grid
type(background_t), intent(inout) :: background
type(physics_t), intent(inout) :: physics