|
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_tables |
| Shared LTE lookup-table infrastructure (build/IO; not on the hot path). | |
Functions/Subroutines | |
| subroutine, public | mod_eos_lte_tables::ensure_axis_nodes (tc) |
| Ensure tcvar1_nodes / tcvar2_nodes are allocated and populated so that build_*_table routines and other code can reference axis positions uniformly (no is_uniform branching). For uniform tables we generate evenly-spaced node arrays from var{1,2}_min/max. | |
| subroutine, public | mod_eos_lte_tables::shift_axis_to_code (tc) |
| Shift a table's (log_nH, log_eint/nH) axes – and adaptive node arrays if present – from CGS storage to code units. Used by the entropy method so eos_finalise can apply the shift AFTER unit_* are populated. | |
| subroutine, public | mod_eos_lte_tables::shift_axis_to_code_t (tc) |
| subroutine, public | mod_eos_lte_tables::eos_build_guards (tc) |
| Build guard (bucket) arrays so that adaptive index lookup is O(1). No-op for uniform tables. Safe to call repeatedly. Idea here is to map nonuniform table nodes to a uniform search grid. | |
| subroutine, public | mod_eos_lte_tables::eos_validate_table (tc, name) |
| Defensive consistency check for one table after init. Aborts with a diagnostic message if any silent-failure invariant is violated. | |
| subroutine, public | mod_eos_lte_tables::precompute_fi_bypass_constants (chi_h_only) |
| Precompute constants for bypassing table lookups when gas is fully ionised. Physics: above T ~ 50 kK, H is >99.99% ionised and He is >90% ionised. The EoS reduces to ideal gas with constant mu, Gamma_1 = 5/3, ne/nH = 1+2*A_He. We check eint/rho > threshold (1 division + 1 comparison) to skip all table lookups. With chi_H_only (the analytic route, erg) helium stays neutral and only hydrogen ionises. | |
| subroutine, public | mod_eos_lte_tables::load_tables_lte (fieldname) |
| Read one named table file into its eos% container. The filename encodes the composition (H or HHe) and whether ionisation energy is included. | |
| subroutine, public | mod_eos_lte_tables::try_load_tables_lte (fieldname) |
| Attempt to load pre-computed table from binary file. If the file does not exist, silently skip and the table will be built at runtime. | |