MPI-AMRVAC
3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
module radiative cooling – add optically thin radiative cooling for HD and MHD More...
Data Types | |
interface | get_subr1 |
type | rc_fluid |
Functions/Subroutines | |
subroutine | radiative_cooling_init_params (phys_gamma, He_abund) |
Radiative cooling initialization. More... | |
subroutine | radiative_cooling_init (fl, read_params) |
subroutine | create_y_ppl (fl) |
subroutine | cooling_get_dt (w, ixIL, ixOL, dtnew, dxD, x, fl) |
subroutine | getvar_cooling (ixIL, ixOL, w, x, coolrate, fl) |
subroutine | getvar_cooling_exact (qdt, ixIL, ixOL, wCT, w, x, coolrate, fl) |
subroutine | radiative_cooling_add_source (qdt, ixIL, ixOL, wCT, wCTprim, w, x, qsourcesplit, active, fl) |
subroutine | floortemperature (qdt, ixIL, ixOL, wCT, w, x, fl) |
subroutine | get_cool_equi (qdt, ixIL, ixOL, wCT, w, x, fl, res) |
subroutine | cool_explicit1 (qdt, ixIL, ixOL, wCT, w, x, fl) |
subroutine | cool_explicit2 (qdt, ixIL, ixOL, wCT, w, x, fl) |
subroutine | cool_semiimplicit (qdt, ixIL, ixOL, wCT, w, x, fl) |
subroutine | cool_implicit (qdt, ixIL, ixOL, wCT, w, x, fl) |
subroutine | cool_exact (qdt, ixIL, ixOL, wCT, wCTprim, w, x, fl) |
subroutine | calc_l_extended (tpoint, lpoint, fl) |
subroutine | findl (tpoint, Lpoint, fl) |
subroutine | findy (tpoint, Ypoint, fl) |
subroutine | findt (tpoint, Ypoint, fl) |
subroutine | finddldt (tpoint, dLpoint, fl) |
Variables | |
double precision, dimension(1:6) | t_hildner |
double precision, dimension(1:5) | t_fm |
double precision, dimension(1:10) | t_rosner |
double precision, dimension(1:8) | t_klimchuk |
double precision, dimension(1:8) | t_spex_dm_rough |
double precision, dimension(1:15) | t_spex_dm_fine |
double precision, dimension(1:5) | x_hildner |
double precision, dimension(1:4) | x_fm |
double precision, dimension(1:9) | x_rosner |
double precision, dimension(1:7) | x_klimchuk |
double precision, dimension(1:7) | x_spex_dm_rough |
double precision, dimension(1:14) | x_spex_dm_fine |
double precision, dimension(1:5) | a_hildner |
double precision, dimension(1:4) | a_fm |
double precision, dimension(1:9) | a_rosner |
double precision, dimension(1:7) | a_klimchuk |
double precision, dimension(1:7) | a_spex_dm_rough |
double precision, dimension(1:14) | a_spex_dm_fine |
integer | n_hildner |
integer | n_fm |
integer | n_rosner |
integer | n_klimchuk |
integer | n_spex_dm_rough |
integer | n_spex_dm_fine |
double precision, dimension(1:71) | t_dm |
double precision, dimension(1:51) | t_mb |
double precision, dimension(1:71) | t_mlcosmol |
double precision, dimension(1:71) | t_mlwc |
double precision, dimension(1:71) | t_mlsolar1 |
double precision, dimension(1:110) | t_spex |
double precision, dimension(1:45) | t_jccorona |
double precision, dimension(1:151) | t_cl_ism |
double precision, dimension(1:151) | t_cl_solar |
double precision, dimension(1:76) | t_dm_2 |
double precision, dimension(1:101) | t_dere |
double precision, dimension(1:55) | t_colgan |
double precision, dimension(1:71) | l_dm |
double precision, dimension(1:51) | l_mb |
double precision, dimension(1:71) | l_mlcosmol |
double precision, dimension(1:71) | l_mlwc |
double precision, dimension(1:71) | l_mlsolar1 |
double precision, dimension(1:110) | l_spex |
double precision, dimension(1:45) | l_jccorona |
double precision, dimension(1:151) | l_cl_ism |
double precision, dimension(1:151) | l_cl_solar |
double precision, dimension(1:76) | l_dm_2 |
double precision, dimension(1:101) | l_dere_corona |
double precision, dimension(1:101) | l_dere_photo |
double precision, dimension(1:55) | l_colgan |
double precision, dimension(1:110) | nenh_spex |
integer | n_dm |
integer | n_mb |
integer | n_mlcosmol |
integer | n_mlwc |
integer | n_mlsolar1 |
integer | n_spex |
integer | n_jccorona |
integer | n_cl_ism |
integer | n_cl_solar |
integer | n_dm_2 |
integer | n_dere |
integer | n_colgan |
module radiative cooling – add optically thin radiative cooling for HD and MHD
Assumptions: full ionize plasma dominated by H and He, ionization equilibrium Formula: Q=-n_H*n_e*f(T), positive f(T) function is pre-computed and tabulated or a piecewise power law Developed by Allard Jan van Marle, Rony Keppens, and Chun Xia Cooling tables extend to 1O^9 K, (17.11.2009) AJvM Included table by Smith (18.11.2009) AJvM Included luminosity output option (18.11.2009) AJvM Included two cooling curves from Cloudy code supplied by Wang Ye (12.11.2011) AJvM Included a solar coronal cooling curve (JCcorona) supplied by J. Colgan (2008) ApJ Modulized and simplified by Chun Xia (2017) Included piecewise power law functionality by Joris Hermans (01.2020)
subroutine mod_radiative_cooling::calc_l_extended | ( | double precision, intent(in) | tpoint, |
double precision, intent(out) | lpoint, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 1909 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::cool_exact | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(in) | wCTprim, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::cool_explicit1 | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::cool_explicit2 | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::cool_implicit | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::cool_semiimplicit | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::cooling_get_dt | ( | double precision, dimension(ixi^s,1:nw), intent(in) | w, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, intent(inout) | dtnew, | ||
double precision, intent(in) | dx, | ||
integer, intent(in) | D, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::create_y_ppl | ( | type(rc_fluid) | fl | ) |
Definition at line 1208 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::finddldt | ( | double precision, intent(in) | tpoint, |
double precision, intent(out) | dLpoint, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 2071 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::findl | ( | double precision, intent(in) | tpoint, |
double precision, intent(out) | Lpoint, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 1924 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::findt | ( | double precision, intent(out) | tpoint, |
double precision, intent(in) | Ypoint, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 2024 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::findy | ( | double precision, intent(in) | tpoint, |
double precision, intent(out) | Ypoint, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 1970 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::floortemperature | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl | ||
) |
Definition at line 1419 of file mod_radiative_cooling.t.
subroutine mod_radiative_cooling::get_cool_equi | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
type(rc_fluid), intent(in) | fl, | ||
double precision, dimension(ixi^s), intent(out) | res | ||
) |
subroutine mod_radiative_cooling::getvar_cooling | ( | integer, intent(in) | ixI, |
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
double precision, dimension(ixi^s), intent(out) | coolrate, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::getvar_cooling_exact | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s, 1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s, 1:nw) | w, | ||
double precision, dimension(ixi^s, 1:ndim), intent(in) | x, | ||
double precision, dimension(ixi^s), intent(out) | coolrate, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::radiative_cooling_add_source | ( | double precision, intent(in) | qdt, |
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | ixO, | ||
L, | |||
double precision, dimension(ixi^s,1:nw), intent(in) | wCT, | ||
double precision, dimension(ixi^s,1:nw), intent(in) | wCTprim, | ||
double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
logical, intent(in) | qsourcesplit, | ||
logical, intent(inout) | active, | ||
type(rc_fluid), intent(in) | fl | ||
) |
subroutine mod_radiative_cooling::radiative_cooling_init | ( | type(rc_fluid), intent(inout) | fl, |
read_params | |||
) |
subroutine mod_radiative_cooling::radiative_cooling_init_params | ( | double precision, intent(in) | phys_gamma, |
double precision, intent(in) | He_abund | ||
) |
Radiative cooling initialization.
Definition at line 769 of file mod_radiative_cooling.t.
double precision, dimension(1:4) mod_radiative_cooling::a_fm |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:5) mod_radiative_cooling::a_hildner |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:7) mod_radiative_cooling::a_klimchuk |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:9) mod_radiative_cooling::a_rosner |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:14) mod_radiative_cooling::a_spex_dm_fine |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:7) mod_radiative_cooling::a_spex_dm_rough |
Definition at line 114 of file mod_radiative_cooling.t.
double precision, dimension(1:151) mod_radiative_cooling::l_cl_ism |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:151) mod_radiative_cooling::l_cl_solar |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:55) mod_radiative_cooling::l_colgan |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:101) mod_radiative_cooling::l_dere_corona |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:101) mod_radiative_cooling::l_dere_photo |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::l_dm |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:76) mod_radiative_cooling::l_dm_2 |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:45) mod_radiative_cooling::l_jccorona |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:51) mod_radiative_cooling::l_mb |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::l_mlcosmol |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::l_mlsolar1 |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::l_mlwc |
Definition at line 181 of file mod_radiative_cooling.t.
double precision, dimension(1:110) mod_radiative_cooling::l_spex |
Definition at line 181 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_cl_ism |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_cl_solar |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_colgan |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_dere |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_dm |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_dm_2 |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_fm |
Definition at line 117 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_hildner |
Definition at line 117 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_jccorona |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_klimchuk |
Definition at line 117 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_mb |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_mlcosmol |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_mlsolar1 |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_mlwc |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_rosner |
Definition at line 117 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_spex |
Definition at line 189 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_spex_dm_fine |
Definition at line 117 of file mod_radiative_cooling.t.
integer mod_radiative_cooling::n_spex_dm_rough |
Definition at line 117 of file mod_radiative_cooling.t.
double precision, dimension(1:110) mod_radiative_cooling::nenh_spex |
Definition at line 187 of file mod_radiative_cooling.t.
double precision, dimension(1:151) mod_radiative_cooling::t_cl_ism |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:151) mod_radiative_cooling::t_cl_solar |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:55) mod_radiative_cooling::t_colgan |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:101) mod_radiative_cooling::t_dere |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::t_dm |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:76) mod_radiative_cooling::t_dm_2 |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:5) mod_radiative_cooling::t_fm |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:6) mod_radiative_cooling::t_hildner |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:45) mod_radiative_cooling::t_jccorona |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:8) mod_radiative_cooling::t_klimchuk |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:51) mod_radiative_cooling::t_mb |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::t_mlcosmol |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::t_mlsolar1 |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:71) mod_radiative_cooling::t_mlwc |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:10) mod_radiative_cooling::t_rosner |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:110) mod_radiative_cooling::t_spex |
Definition at line 176 of file mod_radiative_cooling.t.
double precision, dimension(1:15) mod_radiative_cooling::t_spex_dm_fine |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:8) mod_radiative_cooling::t_spex_dm_rough |
Definition at line 108 of file mod_radiative_cooling.t.
double precision, dimension(1:4) mod_radiative_cooling::x_fm |
Definition at line 111 of file mod_radiative_cooling.t.
double precision, dimension(1:5) mod_radiative_cooling::x_hildner |
Definition at line 111 of file mod_radiative_cooling.t.
double precision, dimension(1:7) mod_radiative_cooling::x_klimchuk |
Definition at line 111 of file mod_radiative_cooling.t.
double precision, dimension(1:9) mod_radiative_cooling::x_rosner |
Definition at line 111 of file mod_radiative_cooling.t.
double precision, dimension(1:14) mod_radiative_cooling::x_spex_dm_fine |
Definition at line 111 of file mod_radiative_cooling.t.
double precision, dimension(1:7) mod_radiative_cooling::x_spex_dm_rough |
Definition at line 111 of file mod_radiative_cooling.t.