sources_diskcooling_mod Module Reference

source terms module for cooling of geometrically thin accretion disks More...

Data Types

type  sources_diskcooling
 

Functions/Subroutines

subroutine initsources (this, Mesh, Physics, Fluxes, config, IO)
 Constructor of disk cooling module. More...
 
subroutine infosources (this, Mesh)
 
subroutine updatecooling (this, Mesh, Physics, time, pvar)
 Updates the cooling function at each time step. More...
 
elemental real function rosselandmeanopacity_new (logrho, logT)
 
elemental real function lambda_gray (Sigma, h, Tc, rho0, T0, Qf)
 Gray cooling. More...
 
elemental real function lambda_gammie (Eint, t_cool_inv)
 Gammie cooling. More...
 
subroutine finalize (this)
 

Variables

character(len=32), parameter source_name = "thin accretion disk cooling"
 
integer, parameter, public gray = 1
 
integer, parameter, public gammie = 2
 
integer, parameter, public gammie_sb = 3
 
character(len=28), dimension(3), parameter cooling_name = (/ "Gray disk cooling ", "Gammie disk cooling ", "Gammie shearing box cooling" /)
 
real, parameter sqrt_three = 1.73205080757
 
real, parameter sqrt_twopi = 2.50662827463
 
real, dimension(8), parameter logkappa0 = (/ -10.8197782844, 35.2319235755, -4.60517018599, 177.992199341, -25.3284360229, -87.4982335338, 37.246826596, -3.3581378922 /)
 
real, dimension(8), parameter texp = (/ 2.0, -7.0, 0.5, -24.0, 3.0, 10.0, -2.5, 0.0 /)
 
real, dimension(8), parameter rexp = (/ 0.0, 0.0, 0.0, 1.0, 2./3., 1./3., 1.0, 0.0 /)
 
real, parameter t0 = 3000
 

Detailed Description

source terms module for cooling of geometrically thin accretion disks

Author
Anna Feiler
Tobias Illenseer
Jannes Klee

Supported methods:

  • Gray cooling according to Hubeny [23] using opacities from Bell & Lin [1] . The Rosseland mean opacities are then computed using the interpolation formula of Gail 2003 (private communication).
  • Simple cooling model according to Gammie [18] with a constant coupling between dynamical and cooling time scale.
Warning
use SI units for gray cooling

Function/Subroutine Documentation

◆ finalize()

subroutine sources_diskcooling_mod::finalize ( type(sources_diskcooling), intent(inout)  this)
private

Definition at line 421 of file sources_diskcooling.f90.

◆ infosources()

subroutine sources_diskcooling_mod::infosources ( class(sources_diskcooling), intent(in)  this,
class(mesh_base), intent(in)  Mesh 
)

Definition at line 246 of file sources_diskcooling.f90.

◆ initsources()

subroutine sources_diskcooling_mod::initsources ( class(sources_diskcooling), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
class(fluxes_base), intent(in)  Fluxes,
type(dict_typ), pointer  config,
type(dict_typ), pointer  IO 
)

Constructor of disk cooling module.

Definition at line 141 of file sources_diskcooling.f90.

◆ lambda_gammie()

elemental real function sources_diskcooling_mod::lambda_gammie ( real, intent(in)  Eint,
real, intent(in)  t_cool_inv 
)
private

Gammie cooling.

The cooling function is given by

\[ \Lambda= -E_{int}/t_{cool} \]

with the cooling time scale \( t_{cool} = b \Omega^{-1} \)

Definition at line 412 of file sources_diskcooling.f90.

Here is the caller graph for this function:

◆ lambda_gray()

elemental real function sources_diskcooling_mod::lambda_gray ( real, intent(in)  Sigma,
real, intent(in)  h,
real, intent(in)  Tc,
real, intent(in)  rho0,
real, intent(in)  T0,
real, intent(in)  Qf 
)
private

Gray cooling.

The cooling function is given by

\[ \Lambda= 2\sigma T_{eff}^4 \]

where \( \sigma \) is the Stefan-Boltzmann constant (see e. g. Pringle [42] ). If the disk is optically thick for its own radiation, one can use the radiation diffusion approximation and relate the effective temperature to the midplane temperature according to

\[ T_{eff}^4 = \frac{8}{3} \frac{T_c^4}{\tau_{eff}} \]

where \( \tau_{eff} \) is an effective optical depth (see e. g. Hubeny [23] ).

Definition at line 380 of file sources_diskcooling.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rosselandmeanopacity_new()

elemental real function sources_diskcooling_mod::rosselandmeanopacity_new ( real, intent(in)  logrho,
real, intent(in)  logT 
)

Definition at line 343 of file sources_diskcooling.f90.

Here is the caller graph for this function:

◆ updatecooling()

subroutine sources_diskcooling_mod::updatecooling ( class(sources_diskcooling), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_euler), intent(in)  Physics,
real, intent(in)  time,
class(statevector_euler), intent(in)  pvar 
)
private

Updates the cooling function at each time step.

Definition at line 282 of file sources_diskcooling.f90.

Here is the call graph for this function:

Variable Documentation

◆ cooling_name

character(len=28), dimension(3), parameter sources_diskcooling_mod::cooling_name = (/ "Gray disk cooling ", "Gammie disk cooling ", "Gammie shearing box cooling" /)
private

Definition at line 78 of file sources_diskcooling.f90.

◆ gammie

integer, parameter, public sources_diskcooling_mod::gammie = 2

Definition at line 76 of file sources_diskcooling.f90.

◆ gammie_sb

integer, parameter, public sources_diskcooling_mod::gammie_sb = 3

Definition at line 77 of file sources_diskcooling.f90.

◆ gray

integer, parameter, public sources_diskcooling_mod::gray = 1

Definition at line 75 of file sources_diskcooling.f90.

◆ logkappa0

real, dimension(8), parameter sources_diskcooling_mod::logkappa0 = (/ -10.8197782844, 35.2319235755, -4.60517018599, 177.992199341, -25.3284360229, -87.4982335338, 37.246826596, -3.3581378922 /)
private

Definition at line 99 of file sources_diskcooling.f90.

◆ rexp

real, dimension(8), parameter sources_diskcooling_mod::rexp = (/ 0.0, 0.0, 0.0, 1.0, 2./3., 1./3., 1.0, 0.0 /)
private

Definition at line 109 of file sources_diskcooling.f90.

◆ source_name

character(len=32), parameter sources_diskcooling_mod::source_name = "thin accretion disk cooling"
private

Definition at line 74 of file sources_diskcooling.f90.

◆ sqrt_three

real, parameter sources_diskcooling_mod::sqrt_three = 1.73205080757
private

Definition at line 83 of file sources_diskcooling.f90.

◆ sqrt_twopi

real, parameter sources_diskcooling_mod::sqrt_twopi = 2.50662827463
private

Definition at line 84 of file sources_diskcooling.f90.

◆ t0

real, parameter sources_diskcooling_mod::t0 = 3000
private

Definition at line 110 of file sources_diskcooling.f90.

◆ texp

real, dimension(8), parameter sources_diskcooling_mod::texp = (/ 2.0, -7.0, 0.5, -24.0, 3.0, 10.0, -2.5, 0.0 /)
private

Definition at line 108 of file sources_diskcooling.f90.