mod_radiative_cooling_mhd Module


Uses

  • module~~mod_radiative_cooling_mhd~~UsesGraph module~mod_radiative_cooling_mhd mod_radiative_cooling_mhd mod_physics_vars mod_physics_vars module~mod_radiative_cooling_mhd->mod_physics_vars module~mod_comm_lib mod_comm_lib module~mod_radiative_cooling_mhd->module~mod_comm_lib module~mod_global_parameters mod_global_parameters module~mod_radiative_cooling_mhd->module~mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Variables

Type Visibility Attributes Name Initial
double precision, public :: l_Colgan(1:55)
double precision, public :: l_DM_2(1:76)
double precision, public :: l_JCcorona(1:45)
double precision, public :: l_TRML_narrow(1:100)
double precision, public :: l_TRML_wide(1:100)
integer, public :: n_Colgan
integer, public :: n_DM_2
integer, public :: n_JCcorona
integer, public :: n_TRML_narrow
integer, public :: n_TRML_wide
type(rc_fluid), public :: rc_fl
double precision, public :: t_Colgan(1:55)
double precision, public :: t_DM_2(1:76)
double precision, public :: t_JCcorona(1:45)
double precision, public :: t_TRML_narrow(1:100)
double precision, public :: t_TRML_wide(1:100)
double precision, private :: He_abundance_rc

to be pushed to the device Helium abundance over Hydrogen

double precision, private :: invgam

inverse of the adiabatic index minus 1

double precision, private :: rc_gamma

The adiabatic index

double precision, private :: rc_gamma_1

The adiabatic index minus 1


Derived Types

type, public ::  rc_fluid

Components

Type Visibility Attributes Name Initial
double precision, public, allocatable :: Lcool(:)
integer, public :: Tcoff_

Index of cut off temperature for TRAC

logical, public :: Tfix

Fixed temperature not lower than tlow

double precision, public, allocatable :: Yc(:)
double precision, public :: cfrac

Coefficent of cooling time step

character(len=std_len), public :: coolcurve

Name of cooling curve

character(len=std_len), public :: coolmethod

Name of cooling method

double precision, public :: lgstep
double precision, public :: lgtcoolmax
double precision, public :: lgtcoolmin
double precision, public :: lref
integer, public :: n_PPL
integer, public :: ncool

Resolution of temperature in interpolated tables

logical, public :: rad_cut

cutoff radiative cooling below rad_cut_hgt

double precision, public :: rad_cut_dey
double precision, public :: rad_cut_hgt
double precision, public, allocatable :: tcool(:)
double precision, public :: tcoolmax
double precision, public :: tcoolmin
double precision, public :: tlow

Lower limit of temperature

double precision, public :: tref

Functions

public pure function get_Rfactor() result(Rfactor)

Arguments

None

Return Value real(kind=dp)

public pure function get_pthermal(w, x) result(pth)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: w(nw_phys)
real(kind=dp), intent(in) :: x(1:ndim)

Return Value real(kind=dp)

public pure function get_rho(w, x) result(rho)

get physical quantities from simulation result in specific physics module

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: w(nw_phys)
real(kind=dp), intent(in) :: x(1:ndim)

Return Value real(kind=dp)


Subroutines

public subroutine calc_l_extended(tpoint, lpoint, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: tpoint
double precision, intent(out) :: lpoint
type(rc_fluid), intent(in) :: fl

public subroutine cool_exact(qdt, wCT, wCTprim, wnew, x, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: qdt
double precision, intent(in) :: wCT(nw_phys)
double precision, intent(in) :: wCTprim(nw_phys)
double precision, intent(inout) :: wnew(nw_phys)
double precision, intent(in) :: x(1:ndim)
type(rc_fluid), intent(in) :: fl

public subroutine findL(tpoint, Lpoint, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: tpoint
double precision, intent(out) :: Lpoint
type(rc_fluid), intent(in) :: fl

public subroutine findT(tpoint, Ypoint, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(out) :: tpoint
double precision, intent(in) :: Ypoint
type(rc_fluid), intent(in) :: fl

public subroutine findY(tpoint, Ypoint, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: tpoint
double precision, intent(out) :: Ypoint
type(rc_fluid), intent(in) :: fl

public subroutine floortemperature(qdt, wCT, wnew, x, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: qdt
double precision, intent(in) :: wCT(nw_phys)
double precision, intent(inout) :: wnew(nw_phys)
double precision, intent(in) :: x(1:ndim)
type(rc_fluid), intent(in) :: fl

public subroutine getvar_cooling_exact(qdt, wCT, w, x, coolrate, fl)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: qdt
double precision, intent(in) :: wCT(nw_phys)
double precision, intent(in) :: w(nw_phys)
double precision, intent(in) :: x(1:ndim)
double precision, intent(inout) :: coolrate
type(rc_fluid), intent(in) :: fl

public subroutine radiative_cooling_add_source(qdt, wCT, wCTprim, wnew, x)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: qdt
double precision, intent(in) :: wCT(nw_phys)
double precision, intent(in) :: wCTprim(nw_phys)
double precision, intent(inout) :: wnew(nw_phys)
double precision, intent(in) :: x(1:ndim)

public subroutine radiative_cooling_init(fl)

the params require to be read in phys template file phys_init

Arguments

Type IntentOptional Attributes Name
type(rc_fluid), intent(inout) :: fl

public subroutine radiative_cooling_init_params(phys_gamma, He_abund)

Radiative cooling initialization

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: phys_gamma
double precision, intent(in) :: He_abund