|
MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
Go to the source code of this file.
Modules | |
| module | mod_eos_lte_saha |
| Analytic H-only Saha EoS (eos_method == 'analytic'). | |
Functions/Subroutines | |
| subroutine, public | mod_eos_lte_saha::load_analytic_lte () |
| Analytic-method load: no binary tables (on-the-fly Saha solve); just announce the method. | |
| subroutine, public | mod_eos_lte_saha::finalise_analytic_lte () |
| Analytic-method finalise (H-only Saha): no table unit conversion needed; build the Gamma1 table only for 'exact' mode, then the shared FI-bypass constants. | |
| double precision function, public | mod_eos_lte_saha::saha_eint_from_nh_t (nh_code, t_code) |
| Internal energy per nH from analytical Saha, in CODE UNITS. eint_nH = 1.5*(1+y)*kB*T [+ y*chi_H] in CGS, converted to code units. | |
| subroutine, public | mod_eos_lte_saha::saha_state_from_nh_p (nh_code, p_code, t_out, y_out, eint_nh_out) |
| Given (nH, p) in CODE UNITS, find T and y by solving p = nH*(1+y(T))*T_code. Uses bisection on T. In code units, kB is absorbed: p = nH*(1+y)*T. Given (nH, p) in CODE UNITS, find T, y, and eint/nH. Bisects on p = nH*(1+y(T))*T_code, then computes eint from final T,y. Returns eint_nH in code units (avoids redundant Saha re-evaluation). | |
| subroutine, public | mod_eos_lte_saha::saha_t_from_nh_eint (nh_code, eint_nh_code, t_out, y_out) |
| Temperature inversion: given (nH, eint/nH) in CODE UNITS, find T in CODE UNITS, by bisection (guaranteed convergence). | |
| double precision function, public | mod_eos_lte_saha::saha_gamma1_from_nh_t (nh_code, t_code) |
| Look up Gamma1 from the analytical 2D table (nH, T axes in code units). For use when eosmethod == 'analytic' and gamma1_method == 'exact'. | |