|
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_pi |
| PI (partial-ionisation, eos_type='PI') arm of the eos% family. | |
Functions/Subroutines | |
| subroutine, public | mod_eos_pi::eos_init_pi () |
| Lifecycle (PI arms of the eos_init / eos_finalise dispatchers). The eos% block getters (update_eos_PI, get_Te_PI, get_csound2_PI, get_Rfactor_*_PI) are PRIVATE: they are bound to eos% pointers inside eos_finalise_PI, so no external module needs to name them. | |
| subroutine, public | mod_eos_pi::eos_finalise_pi () |
| PI arm of eos_finalise (after unit_* are set): ride FI's ideal-gas getter set and RR=1 normalisation (the variable mean-mass enters only via eosget_Rfactor, wired by the seam link arm), then initialise the ionisation backend. In energy mode eint carries the ionisation energy, so swap in the backend eint->T inversion. | |
| subroutine, public | mod_eos_pi::get_gamma1_pi (w, x, ixil, ixol, gamma1) |
| Effective Gamma1 = cs2 * rho / p for the same primitive state. | |
| subroutine, public | mod_eos_pi::state_from_eint_pi (rho, eint, t, p, rfactor, iz_h, iz_he) |
| Conserved gas internal energy -> temperature, thermal pressure, R. Inverse of p_eint_from_rho_T_PI. eint is the GAS internal energy (mechanical energy already removed by the caller). | |
| subroutine, public | mod_eos_pi::p_eint_from_rho_t_pi (rho, t, p, eint, rfactor, iz_h, iz_he) |
| Temperature -> thermal pressure and GAS internal energy (incl. ion energy) | |
| subroutine, public | mod_eos_pi::eint_from_rho_p_pi (rho, p, eint) |
| Primitive pressure -> GAS internal energy (prim -> conserved direction): invert (rho,p)->T then map T->eint, so the forward/inverse pair stay consistent. | |
| subroutine, public | mod_eos_pi::csound2_prim_pi (rho, p, csound2) |
| Adiabatic sound speed squared from primitive (rho, p). | |
| double precision function, dimension(log_nh, log_t), public | mod_eos_pi::eint_from_t_pi (log_nh, log_t) |
| Internal energy per H from temperature: eint/nH(T). | |
| double precision function, dimension(log_nh, log_p_nh), public | mod_eos_pi::p2eint_pi (log_nh, log_p_nh) |
| eint/p factor from pressure per H: maps p -> eint = p * (this). | |
| double precision function, dimension(log_nh, log_eint_nh), public | mod_eos_pi::t_from_eint_pi (log_nh, log_eint_nh) |
| Temperature from internal energy per H. | |
| double precision function, dimension(log_nh, log_eint_nh), public | mod_eos_pi::y_from_eint_pi (log_nh, log_eint_nh) |
| Electron-to-hydrogen ratio ne/nH from internal energy per H. ne/nH = iz_H + A_He*iz_He*(1+iz_He) (matches the R-factor numerator's electron count; second He ionisation assumed equal to the first). | |