|
13 | 13 |
|
14 | 14 | ## Field Variable Indexing |
15 | 15 | - Conserved variables: `q_cons_vf(1:sys_size)`. Primitive: `q_prim_vf(1:sys_size)`. |
16 | | -- Index ranges depend on `model_eqns` and enabled features (set in `m_global_parameters.fpp`): |
17 | | - - `cont_idx` — continuity (partial densities, one per fluid) |
18 | | - - `mom_idx` — momentum components |
19 | | - - `E_idx` — total energy (scalar) |
20 | | - - `adv_idx` — volume fractions (advection equations) |
21 | | - - `bub_idx`, `stress_idx`, `xi_idx`, `species_idx`, `B_idx`, `c_idx` — optional |
22 | | -- Shorthand scalars: `momxb`/`momxe`, `contxb`/`contxe`, `advxb`/`advxe`, etc. |
| 16 | +- All equation indices live in the unified `eqn_idx` struct (`eqn_idx_info` type in `m_derived_types.fpp`). |
| 17 | + Index ranges depend on `model_eqns` and enabled features (set in `m_global_parameters.fpp`): |
| 18 | + - `eqn_idx%cont` — continuity range (partial densities, one per fluid) |
| 19 | + - `eqn_idx%mom` — momentum range |
| 20 | + - `eqn_idx%E` — total energy (scalar) |
| 21 | + - `eqn_idx%adv` — volume fractions (advection equations) |
| 22 | + - `eqn_idx%bub`, `eqn_idx%stress`, `eqn_idx%xi`, `eqn_idx%species`, `eqn_idx%B` — optional |
| 23 | + - `eqn_idx%gamma`, `eqn_idx%pi_inf`, `eqn_idx%alf`, `eqn_idx%int_en` — additional scalars/ranges |
| 24 | +- Use `eqn_idx%cont%beg`/`eqn_idx%cont%end`, `eqn_idx%mom%beg`/`eqn_idx%mom%end`, etc. (old `contxb`/`contxe`, `momxb`/`momxe` shorthands are gone) |
23 | 25 | - `sys_size` = total number of conserved variables (computed at startup) |
24 | 26 | - Changing `model_eqns` or enabling features changes ALL index positions |
25 | 27 |
|
|
0 commit comments