MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Loading...
Searching...
No Matches
mod_thermal_conduction.t File Reference

Go to the source code of this file.

Data Types

interface  mod_thermal_conduction::get_var_subr
interface  mod_thermal_conduction::get_tciso2_subr
 temperature from the energy variable and, if present, ciso2 = p/rho More...
interface  mod_thermal_conduction::get_2var_subr
interface  mod_thermal_conduction::eos_scalar2_func
 Scalar EoS inverse, e.g. eint_nH_from_T(log_nH, log_T). More...
type  mod_thermal_conduction::tc_fluid
type  mod_thermal_conduction::tc_anchor_t
 Per-block anchor of the frozen-ionisation conduction step: T, R and the internal energy at the step start, and the inverse frozen-composition heat capacity per volume. More...

Modules

module  mod_thermal_conduction
 Thermal conduction for HD and MHD or RHD and RMHD or twofl (plasma-neutral) module Adaptation of mod_thermal_conduction for the mod_supertimestepping.

Functions/Subroutines

subroutine mod_thermal_conduction::tc_init_params (phys_gamma)
subroutine, public mod_thermal_conduction::tc_get_mhd_params (fl, read_mhd_params)
 Init TC coefficients: MHD case.
subroutine, public mod_thermal_conduction::tc_get_hd_params (fl, read_hd_params)
 Init TC coefficients: HD case.
double precision function, public mod_thermal_conduction::get_tc_dt_mhd (w, ixil, ixol, dxd, x, fl)
 Get the explicit timestep for the TC (mhd implementation) Note: for multi-D MHD (1D MHD will use HD fall-back).
subroutine, public mod_thermal_conduction::sts_set_source_tc_mhd (ixil, ixol, w, x, wres, fix_conserve_at_step, my_dt, igrid, nflux, fl)
 anisotropic thermal conduction with slope limited symmetric scheme Sharma 2007 Journal of Computational Physics 227, 123
subroutine mod_thermal_conduction::set_source_tc_mhd (ixil, ixol, w, x, fl, qvec, rho, te, ciso2, alpha)
subroutine mod_thermal_conduction::set_source_tc_mhd_geo (ixil, ixol, w, x, fl, qvec, rho, te, ciso2, alpha)
double precision function, dimension(ixi^s) mod_thermal_conduction::slope_limiter (f, ixil, ixol, idims, pm, tc_slope_limiter)
double precision function, public mod_thermal_conduction::get_tc_dt_hd (w, ixil, ixol, dxd, x, fl)
 Get the explicit timestep for the TC (hd implementation) Note: also used in 1D MHD (or for neutrals in twofl).
subroutine mod_thermal_conduction::tc_get_te_ciso2 (ixil, w, x, fl, igrid, te, ciso2)
 Te over the block (+ghosts) and ciso2 = p/rho for the saturation limit: the frozen- ionisation map within a conduction step with frozen_ion, else the full EoS with the optional negative-eint repair (ciso2 = Te where R = 1 or without saturation).
subroutine mod_thermal_conduction::tc_frozen_anchor (ixil, w, x, fl, igrid)
 Anchor of the frozen-ionisation conduction step for block igrid, on the step-start state (internal energy in w(:,e_)): T and R = ciso2/T from the full EoS, the energy, and the inverse frozen-composition heat capacity. Within the step T = T0 + (e - e0)/(R0 rho/(gamma-1)), exact where the gas is fully ionised or neutral.
subroutine mod_thermal_conduction::tc_equi_state (ixil, w, x, fl, te, rho, ciso2)
 Background Te and rho for the equilibrium flux. ciso2 keeps R = ciso2/Te of the full state.
subroutine mod_thermal_conduction::tc_flux_hd (ixil, ixol, w, x, fl, qvec, rho, te, ciso2)
 Face fluxes for the HD STS source, uniform or general geometry.
subroutine mod_thermal_conduction::tc_flux_mhd (ixil, ixol, w, x, fl, qvec, rho, te, ciso2, alpha)
 Face fluxes for the MHD STS source, uniform or general geometry.
subroutine, public mod_thermal_conduction::sts_set_source_tc_hd (ixil, ixol, w, x, wres, fix_conserve_at_step, my_dt, igrid, nflux, fl)
subroutine mod_thermal_conduction::set_source_tc_hd (ixil, ixol, w, x, fl, qvec, rho, te, ciso2)
subroutine mod_thermal_conduction::set_source_tc_hd_geo (ixil, ixol, w, x, fl, qvec, rho, te, ciso2)
subroutine, public mod_thermal_conduction::tc_patch_negative_eint (w, x, ixil, ixol, te, ie, fl, patched)
 Patch cells where e_int <= 0 by neighbor-averaging the temperature AND repairing the conserved internal energy w(:, ie) in place. Called after get_temperature_from_eint in the TC source routines when tc_patch_eint is .true. During STS RKL2 Chebyshev substeps the polynomial can overshoot e_int to negative values at low-density coronal cells. A negative T would produce NaN via sqrt(T) in the Spitzer conductivity. This routine replaces those cells' T with the average of valid (e_int > 0) neighbors and writes the matching e_int back to w(ix, ie) via the EoS inverse helper eint_nH_from_T, so the next STS substep does not re-read negative w and amplify it.

Variables

double precision mod_thermal_conduction::tc_gamma_1
 The adiabatic index.
type(tc_anchor_t), dimension(:), allocatable mod_thermal_conduction::tc_anchor