|
MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
module radiative cooling – add optically thin radiative cooling More...
Data Types | |
| interface | get_subr1 |
| type | rc_fluid |
Functions/Subroutines | |
| subroutine | radiative_cooling_init_params (phys_gamma, he_abund) |
| Radiative cooling initialization. | |
| subroutine | radiative_cooling_init (fl, read_params) |
| subroutine | create_y_ppl (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_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) |
module radiative cooling – add optically thin radiative cooling
only uses the (Townsend) exact integration method, can be used in HD, ffhd, MHD, twofl
Assumptions: full ionized 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 Uses the various cooling tables stored in mod_radloss_tables.t
| 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 829 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::create_y_ppl | ( | type(rc_fluid) | fl | ) |
Definition at line 534 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 844 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 900 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 869 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 677 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_params | ( | double precision, intent(in) | phys_gamma, |
| double precision, intent(in) | he_abund | ||
| ) |
Radiative cooling initialization.
Definition at line 98 of file mod_radiative_cooling.t.