|
| 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.
|