Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
13fddab
Derive the speed of sound from the state, not a supplied enthalpy
sbryngelson Aug 25, 2026
fadb603
Give the stiffened-gas mixture accumulation a single home
sbryngelson Aug 25, 2026
9693fb1
Route the plain Riemann energy sites through a shared operator
sbryngelson Aug 25, 2026
26b9459
Give the mixture coefficient rule a single home across every solver
sbryngelson Aug 26, 2026
df40fd7
Route the MHD energy sites through s_compute_energy
sbryngelson Aug 26, 2026
07b3484
Fix: the HLLC bubbles energy dropped the heat of formation
sbryngelson Aug 26, 2026
1839ff8
Route the viscous and acoustic-source mixture coefficients through th…
sbryngelson Aug 26, 2026
20dba1b
Remove the dead enthalpy left in the LF and hypoelastic HLLD solvers
sbryngelson Aug 26, 2026
1b507c8
Build the averaged Riemann state only when it is used
sbryngelson Aug 26, 2026
2c11764
Route the IGR mixture coefficients through the shared rule
sbryngelson Aug 26, 2026
772f07b
Drop the enthalpy that no caller of s_compute_enthalpy read
sbryngelson Aug 26, 2026
05b79f9
Compare zero fields for staying zero, not for reproducing roundoff
sbryngelson Aug 26, 2026
5696862
Judge a zero field by the absolute tolerance, not a scaled floor
sbryngelson Aug 27, 2026
1129985
Route the last two mixture-coefficient copies through the shared rule
sbryngelson Aug 27, 2026
9956aff
Give the bulk modulus and the pressure inversion one definition each
sbryngelson Aug 27, 2026
f9dbcc3
Fix the immersed-boundary and hypoelastic-probe energies
sbryngelson Aug 27, 2026
1cf9102
Give the CBC coefficient derivatives the bubbles mixture rule
sbryngelson Aug 27, 2026
64a09d1
Close the per-phase internal energy and isentrope-parameter families
sbryngelson Aug 27, 2026
8265e9a
Delete the unreachable half of the pressure relaxation
sbryngelson Aug 27, 2026
7b4c6f3
Replace the HLL flux and capillary stress macros with procedures
sbryngelson Aug 27, 2026
7d07e55
Replace the viscous inverse-Reynolds macro with a procedure
sbryngelson Aug 27, 2026
528ab89
Replace the two elastic macros with procedures
sbryngelson Aug 27, 2026
889eced
Replace the low-Mach correction macro with procedures
sbryngelson Aug 27, 2026
58e63b5
Keep the transverse kinetic energy in the Roe average
sbryngelson Aug 28, 2026
d86f8cc
Record the test-tooling traps that cost time this session
sbryngelson Aug 28, 2026
b17e59d
Replace the last three Riemann macros with procedures
sbryngelson Aug 28, 2026
28d3d25
Route the IGR CFL state through the shared EOS operators
sbryngelson Aug 28, 2026
ae44264
Document the equation-of-state implementation surface
sbryngelson Aug 28, 2026
2b57d0a
Fix the CCE build and route the last EOS expressions through the oper…
sbryngelson Aug 28, 2026
cb6413c
Fix three uninitialized reads and a silently discarded parameter
sbryngelson Aug 28, 2026
3fb74d3
Add a per-fluid equation-of-state selector with a backend that reads it
sbryngelson Aug 28, 2026
09267c3
Keep eos_types off the device and pair its allocation
sbryngelson Aug 28, 2026
593b097
Declare the equation of state on every fluid that has one
sbryngelson Aug 28, 2026
f45535f
Build the riemann and pressure-relaxation refactor on CCE and NVHPC
sbryngelson Aug 29, 2026
6ea2952
Sum the hypoelastic strain energy over every stress component
sbryngelson Aug 29, 2026
72f7052
Accumulate the pressure-relaxation mixture in place for CCE OpenACC
sbryngelson Aug 29, 2026
255ed71
Route the conservative-to-primitive elastic energy through f_elastic_…
sbryngelson Aug 29, 2026
92ad697
Form the relaxation mixture in the loop body, restoring the shared op…
sbryngelson Aug 29, 2026
cdfab21
Record where CCE OpenACC draws the line on device-global array bounds
sbryngelson Aug 29, 2026
46c3413
Give HLLC the reacting Roe sound speed it already computes
sbryngelson Aug 29, 2026
643897e
Condense the equation-of-state docstrings
sbryngelson Aug 29, 2026
013dabb
Stop the zero-field check reading a constant field as roundoff
sbryngelson Aug 29, 2026
5f280e7
Evaluate the reacting-mixture thermochemistry in the loop body
sbryngelson Aug 29, 2026
56d158f
Note the thermochem half of the device-routine call rule
sbryngelson Aug 29, 2026
43b5a94
Scale the zero-field band by the golden's own magnitude
sbryngelson Aug 29, 2026
e5d6584
Keep the void fraction out of the bubbly mixture rule
sbryngelson Aug 30, 2026
1646472
Check zero-field values individually against their band
sbryngelson Aug 30, 2026
1dd607d
Limit the Euler-Euler bubble model to a single carrier liquid
sbryngelson Aug 30, 2026
0cf1171
Collapse the bubbly mixture rule now that a second liquid is refused
sbryngelson Aug 30, 2026
6697458
Drop the empty else and the repeated use entry in m_cbc
sbryngelson Aug 30, 2026
ade1503
Route the post_process derived EOS quantities through the operators
sbryngelson Aug 30, 2026
3e7b852
Collapse the Lagrangian bubble sound speed onto the bulk modulus
sbryngelson Aug 30, 2026
c26003f
Give the acoustic source the mixture sound speed
sbryngelson Aug 30, 2026
0187e0f
Write the HLL and HLLC EOS expressions as the relations they are
sbryngelson Aug 30, 2026
feb990b
Record that the amdflang array-bound workaround is still load-bearing
sbryngelson Aug 30, 2026
3bbf911
Revert the acoustic source sound speed pending CCE validation
sbryngelson Aug 30, 2026
de08c10
Name the subgrid void fraction and warn outside the dilute limit
sbryngelson Aug 30, 2026
45ad159
Give the acoustic source the shared bulk modulus and the void correction
sbryngelson Aug 30, 2026
d5a54a2
Check golden values the comparator was silently skipping
sbryngelson Aug 31, 2026
40991c5
Trim the acoustic sound speed comment to the relation it states
sbryngelson Aug 31, 2026
a2ecfa4
Make the bubbly energy agree with the pressure it inverts
sbryngelson Aug 31, 2026
bf902bb
bug: m_variables_conversion: keep G_K out of a self-assignment on device
sbryngelson Aug 31, 2026
a2a87c5
Phoenix: move p-gpu to nvhpc 25.5 bundled MPI, fixing the 6-eq int_en…
sbryngelson Sep 1, 2026
007bb46
test: extend axisymmetric hypoelastic HLLD tolerance override to alt_…
sbryngelson Sep 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
50 changes: 50 additions & 0 deletions .claude/rules/common-pitfalls.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,35 @@ covered in `docs/documentation/contributing.md`.
- `@:ACC_SETUP_VFs(...)`/`@:ACC_SETUP_SFs(...)` GPU pointer setup compiles only under
Cray. Around MPI: `GPU_UPDATE(host=...)` before send, `GPU_UPDATE(device=...)` after
receive.
- An array whose bound is a device global (`dimension(num_fluids)`, `dimension(num_species)`) may be
passed to a device routine **from a parallel-loop body, but not from inside another
`GPU_ROUTINE(parallelism='[seq]')`**. CCE OpenACC rejects the second form with
`ftn-7066 ... Global in accelerator routine without declare -- num_fluids`, and reports it at
whatever line it gave up on: remove one trigger and the message *walks forward* to the next call,
so the reported line is not the cause. Only the plain lanes fail - under `--case-optimization`
those bounds are `parameter`s, so a green Case Opt lane beside a failing plain one is the
signature. Every accepted call site in the tree already obeys this (`m_cbc`, `m_ibm`,
`m_bubbles_EL`, `s_compute_cell_state`): form such a call in the loop body and pass scalars
deeper. Neither `cray_inline` nor a `num_fluids_max` bound nor dropping optional dummies helps -
all three were measured.
- nvfortran 23.11/24.1 segfault (`fort2 TERMINATED by signal 11`) on a caller that passes a
`parameter` array from `m_thermochem` (e.g. `molecular_weights`) into a declare-target routine.
Read such arrays directly in the kernel, or pass a plain local computed from them.
- The `USING_AMD` fypp guards (86 sites, `#:set` in `src/common/include/shared_parallel_macros.fpp`) are
load-bearing, not a stale workaround - do not "modernize" them away. They swap a device-global array
bound for a literal: `dimension(3)` for `num_dims`/`num_fluids` when case optimization is off (64
sites), and `dimension(20)` for `sys_size` in `m_compute_cbc` (21 sites, with a matching
`@:PROHIBIT` in `m_start_up` capping `sys_size <= 20` under AMD+CBC). Setting `USING_AMD = False`
and rebuilding amdflang `--gpu mp` without case optimization compiles CLEAN - 728 s, zero
diagnostics - and then NaNs at step 50 in CBC, riemann `wave_speeds=2`, IBM, surface tension,
QBMM/viscous and MHD HLLD, while both Lagrange bubble cases *complete* with out-of-tolerance
answers. Measured 2026-08-29 on MI210. A compile-only check returns green, so any future attempt to
drop these must run the tests, not just build.
- The same "call it from the loop body" rule covers `m_thermochem`: calling `get_species_*` from
inside a `GPU_ROUTINE` rather than from the kernel gave CCE OpenMP a runtime
`Memory access fault by GPU node-N ... Reason: Unknown` on the first step (exit 134), while every
other backend ran. Evaluate them at the call site and pass the arrays in. Note this one only shows
at runtime, and only on a case that reaches the path - the build is clean.

## Parameters

Expand Down Expand Up @@ -105,6 +134,27 @@ covered in `docs/documentation/contributing.md`.
- Tests are generated programmatically in `toolchain/mfc/test/cases.py` (parameter
modifications on `BASE_CFG` via the `CaseGeneratorStack` push/pop pattern); test UUID =
CRC32 of the trace string; `./mfc.sh test -l` lists all.
- `--only` matches whole trace *elements*, not substrings, and `_filter_only`
(`toolchain/mfc/test/test.py`) **ANDs labels while ORing UUIDs**. So `--only bubbles` matches
nothing (the element is `Bubbles`), and `--only low_Mach=1 low_Mach=2` asks for cases carrying
both and also matches nothing. It then exits **143**, which reads like an external kill rather
than an empty filter. Pass UUIDs whenever you want the union of several groups.
- Sibling `define_case_d` calls off the same stack level are never *combined*. Two switches that
only matter together (`avg_state=1` needs `wave_speeds=2` to be read at all) therefore get zero
effective coverage unless something pushes one and defines the other beneath it. Check
reachability before trusting that a flag is tested.
- `--no-build` silently runs whatever binary is on disk for a configuration it did not build.
Chemistry has its own config (`gpu-mp-chem-*`) that a plain `./mfc.sh build` never produces, so
a `--no-build` run reports failures from stale binaries and hides real compile breaks. Run
chemistry-touching sets without it.
- Pick the newest binary by the *binary's* mtime (`ls -t build/install/*/bin/simulation`), not the
install directory's - a stale config's directory can be newer than a fresh build's.
- The pre-commit hook lives in the main repo's `.git/hooks/` and git exports `GIT_DIR` there
during a commit, so from a worktree the toolchain lint enumerates the *other* checkout and
fails. Reproduce with `GIT_DIR=<main>/.git ./mfc.sh precheck`. Run precheck by hand and commit
with `--no-verify`.
- `/tmp` is node-local: scratch does not survive a compute-node change, and its absence is
silence, not an error. Keep patches and resource baselines on a shared filesystem.
- Golden files are tolerance-compared. Regenerate only the affected tests
(`./mfc.sh test --generate --only <tests>`) — an unexplained golden-file diff is a bug
report, not noise to be regenerated away.
25 changes: 25 additions & 0 deletions docs/documentation/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,31 @@ $:GPU_DECLARE(create='[my_array]')

If an array is allocated inside an `if` block, its deallocation must follow the same condition.

### How to Add an Equation of State

Every stiffened-gas expression lives in `src/common/m_variables_conversion.fpp`. Adding a second EOS
means supplying these, not grepping for `gammas`:

| Operator | Gives |
|---|---|
| `s_compute_mixture_coefficients` / `_dt` | mixture \f$\Gamma, \Pi_\infty, q_v\f$ from the phase fractions, and their time derivative |
| `f_pressure` / `s_compute_energy` | \f$p(e)\f$ and \f$E(p)\f$ |
| `f_bulk_modulus` | \f$K(p)\f$ - every sound speed in MFC is \f$K/\rho\f$, differing only in how phases are mixed |
| `s_compute_speed_of_sound` / `_avg` | that mixing: Wood's law, 6-equation, bubble-diluted |
| `f_phase_internal_energy` | per-phase internal energy (6-equation model) |
| `f_isentrope_exponent` / `f_isentrope_pressure` / `f_pressure_on_isentrope` | the isentrope \f$p + B = \textrm{const}\,\rho^n\f$ |
| `f_sg_thermal` | the thermal law \f$p + B = (n-1)c_v\rho T\f$ |

The first six are *mechanical* - they need only \f$p, \rho, e, c\f$. The last two are *caloric* and
additionally need \f$c_v\f$ and \f$q'_v\f$. An EOS that supplies only the mechanical set cannot support
phase change (`m_phase_change` also needs entropy and enthalpy) or reactive burn, so those features
must be prohibited for it in `case_validator.py`.

The coefficients arrive in two parameterizations of the same EOS: `gammas`/`pi_infs` are the stored
forms the user supplies (see @ref sec-stored-forms), and `isentrope_n`/`isentrope_B` are the same EOS
as \f$p + B = \textrm{const}\,\rho^n\f$, derived once at start-up. Convert with the `f_isentrope_*`
operators rather than open-coding either relation.

### How to Add a Test Case

**Step 1: Create a case file**
Expand Down
2 changes: 1 addition & 1 deletion docs/documentation/equations.md
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ Reaction mechanisms are code-generated via Pyrometheus (\cite Cisneros26), which

## 10. Surface Tension (`surface_tension = .true.`) (\cite Schmidmayer17; \cite Wilfong26 Sec. 4.1.8)

**Source:** `src/simulation/m_surface_tension.fpp`, `src/simulation/include/inline_capillary.fpp`
**Source:** `src/simulation/m_surface_tension.fpp`

**Color function advection:**

Expand Down
11 changes: 5 additions & 6 deletions docs/documentation/gpuParallelization.md
Original file line number Diff line number Diff line change
Expand Up @@ -614,15 +614,14 @@ Does not do anything for OpenMP currently
pure, sequential per-thread helpers is:

```fortran
subroutine s_accumulate_mixture_properties(nf, alpha_rho_K, alpha_K, rho_K, gamma_K, pi_inf_K, qv_K)
subroutine s_compute_mixture_coefficients(alpha_rho_K, alpha_K, rho_K, gamma_K, pi_inf_K, qv_K)

$:GPU_ROUTINE(function_name='s_accumulate_mixture_properties', parallelism='[seq]', cray_inline=True)
$:GPU_ROUTINE(function_name='s_compute_mixture_coefficients', parallelism='[seq]', cray_inline=True)

integer, intent(in) :: nf
real(wp), dimension(nf), intent(in) :: alpha_rho_K, alpha_K
real(wp), intent(out) :: rho_K, gamma_K, pi_inf_K, qv_K
real(wp), dimension(num_fluids), intent(in) :: alpha_rho_K, alpha_K
real(wp), intent(out) :: rho_K, gamma_K, pi_inf_K, qv_K
...
end subroutine s_accumulate_mixture_properties
end subroutine s_compute_mixture_coefficients
```

**When to use it.** Extract a block into a `GPU_ROUTINE` helper when:
Expand Down
1 change: 1 addition & 0 deletions examples/0D_bubblecollapse_adap/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@
"nb": nb,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gam_l - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gam_l * (pi_inf_l / p0) / (gam_l - 1.0),
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_acoustic_dipole/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"acoustic(1)%delay": 1e-7,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 5.57e08 / (4.4e00 - 1.0e00),
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_acoustic_gauss_sigmadist/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"acoustic(1)%delay": 1e-7,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 5.57e08 / (4.4e00 - 1.0e00),
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_acoustic_gauss_sigmatime/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"acoustic(1)%delay": 1e-7,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 5.57e08 / (4.4e00 - 1.0e00),
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_acoustic_sine_frequency/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"acoustic(1)%delay": 0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 5.57e08 / (4.4e00 - 1.0e00),
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_acoustic_sine_wavelength/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"acoustic(1)%delay": 0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 5.57e08 / (4.4e00 - 1.0e00),
}
)
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_advection_convergence/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,10 @@
"patch_icpp(1)%alpha(1)": "0.5 + 0.2 * sin(2.0 * pi * x / lx)",
"patch_icpp(1)%alpha(2)": "0.5 - 0.2 * sin(2.0 * pi * x / lx)",
"fluid_pp(1)%gamma": 1.0 / (gamma - 1.0),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
"fluid_pp(2)%gamma": 1.0 / (gamma - 1.0),
"fluid_pp(2)%eos": "ideal_gas",
"fluid_pp(2)%pi_inf": 0.0,
**scheme_params,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_brio_wu/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_brio_wu_hlld/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_brio_wu_rmhd/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_bubblescreen/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
"patch_icpp(2)%v0": 0.0e00,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gam_l - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gam_l * (pi_inf_l / p0) / (gam_l - 1.0),
# Bubbles
"bubbles_euler": "T",
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_cont_damage/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,11 @@
"patch_icpp(2)%tau_e(1)": 0.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 6.0e08 / (4.4e00 - 1.0e00),
"fluid_pp(1)%G": 0e0,
"fluid_pp(2)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(2)%eos": "stiffened_gas",
"fluid_pp(2)%pi_inf": 4.4e00 * 6.0e08 / (4.4e00 - 1.0e00),
"fluid_pp(2)%G": 1.0e09,
}
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_convergence/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,10 @@
"patch_icpp(1)%alpha(2)": "0.5 + 0.5*sin(2*pi*x)",
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (1.4 - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
"fluid_pp(2)%gamma": 1.0e00 / (1.4 - 1.0e00),
"fluid_pp(2)%eos": "ideal_gas",
"fluid_pp(2)%pi_inf": 0.0,
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_dai_woodward/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / ((5.0 / 3.0) - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
},
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_dai_woodward_hlld/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / ((5.0 / 3.0) - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
},
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_euler_convergence/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"patch_icpp(1)%alpha_rho(1)": "1.0 + 0.2 * sin(2.0 * pi * x / lx)",
"patch_icpp(1)%alpha(1)": 1.0,
"fluid_pp(1)%gamma": 1.0 / (gamma - 1.0),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
**scheme_params,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_exp_bubscreen/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@
"patch_icpp(2)%v0": 0.0e00,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gam_l - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gam_l * (pi_inf_l / p0) / (gam_l - 1.0),
# Bubbles
"bubbles_euler": "T",
Expand Down
3 changes: 3 additions & 0 deletions examples/1D_exp_tube_phasechange/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,16 +180,19 @@
"patch_icpp(2)%alpha(3)": aa1,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (gamwl - 1),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gamwl * piwl / (gamwl - 1),
"fluid_pp(1)%cv": cvwl,
"fluid_pp(1)%qv": qvwl,
"fluid_pp(1)%qvp": qvpwl,
"fluid_pp(2)%gamma": 1.0e00 / (gamwv - 1),
"fluid_pp(2)%eos": "stiffened_gas",
"fluid_pp(2)%pi_inf": gamwv * piwv / (gamwv - 1),
"fluid_pp(2)%cv": cvwv,
"fluid_pp(2)%qv": qvwv,
"fluid_pp(2)%qvp": qvpwv,
"fluid_pp(3)%gamma": 1.0e00 / (gama - 1),
"fluid_pp(3)%eos": "stiffened_gas",
"fluid_pp(3)%pi_inf": gama * pia / (gama - 1),
"fluid_pp(3)%cv": cva,
"fluid_pp(3)%qv": qva,
Expand Down
1 change: 1 addition & 0 deletions examples/1D_flamelet/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
"patch_icpp(1)%alpha(1)": 1,
"patch_icpp(1)%alpha_rho(1)": "1",
"fluid_pp(1)%gamma": 1.0e00 / (1.5e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 0,
"cantera_file": ctfile,
}
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_hypo_2materials/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,11 @@
"patch_icpp(2)%tau_e(1)": 0.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 6.0e08 / (4.4e00 - 1.0e00),
"fluid_pp(1)%G": 1.0e09,
"fluid_pp(2)%gamma": 1.0e00 / (1.4e00 - 1.0e00),
"fluid_pp(2)%eos": "ideal_gas",
"fluid_pp(2)%pi_inf": 0.0,
"fluid_pp(2)%G": 0.0,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_impact/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
"patch_icpp(2)%tau_e(1)": 0.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 6.0e08 / (4.4e00 - 1.0e00),
"fluid_pp(1)%G": 0.5e09,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_inert_shocktube/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@
"patch_icpp(2)%alpha_rho(1)": sol_R.density,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (1.55e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 0,
# Chemistry
"cantera_file": ctfile,
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_kapilashocktube/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,10 @@
"patch_icpp(2)%alpha(2)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (4.4e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 4.4e00 * 6.0e08 / (4.4e00 - 1.0e00),
"fluid_pp(2)%gamma": 1.0e00 / (1.4e00 - 1.0e00),
"fluid_pp(2)%eos": "ideal_gas",
"fluid_pp(2)%pi_inf": 0.0e00,
}
)
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_laxshocktube/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@
"patch_icpp(2)%alpha_rho(1)": 0.5e00,
"patch_icpp(2)%alpha(1)": 1.0,
# Fluids Physical Parameters
# air: an ideal gas, so it carries no stiffness and pi_inf is not read
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%gamma": 1.0e00 / (1.4 - 1.0e00),
"fluid_pp(1)%pi_inf": 0.0,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_mhd_smooth_alfven_wave/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
"patch_icpp(1)%alpha(1)": 1.0,
# Fluids Physical Parameters
"fluid_pp(1)%gamma": 1.0e00 / (5.0 / 3.0 - 1.0e00),
"fluid_pp(1)%eos": "ideal_gas",
"fluid_pp(1)%pi_inf": 0.0,
}
)
Expand Down
1 change: 1 addition & 0 deletions examples/1D_multispecies_diffusion/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
"patch_icpp(1)%alpha(1)": 1,
"patch_icpp(1)%alpha_rho(1)": 1,
"fluid_pp(1)%gamma": 1.0e00 / (1.9326e00 - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 0,
"cantera_file": ctfile,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_poly_bubscreen/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@
# Fluids Physical Parameters
# Surrounding liquid
"fluid_pp(1)%gamma": 1.0e00 / (gam_l - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gam_l * (pi_inf_l / p0) / (gam_l - 1.0),
# Bubbles
"bubbles_euler": "T",
Expand Down
1 change: 1 addition & 0 deletions examples/1D_propellant_flame/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
"patch_icpp(2)%alpha_rho(1)": burned.density,
# Fluid EOS (ideal-gas closure is bypassed by chemistry, but gamma/Re must be set)
"fluid_pp(1)%gamma": 1.0 / (1.4 - 1.0),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": 0.0,
"fluid_pp(1)%Re(1)": 1.0 / fresh.viscosity,
}
Expand Down
1 change: 1 addition & 0 deletions examples/1D_qbmm/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@
# Fluids Physical Parameters
# Surrounding liquid
"fluid_pp(1)%gamma": 1.0e00 / (gam_l - 1.0e00),
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": gam_l * (pi_inf_l / p0) / (gam_l - 1.0),
# Bubbles
"bubbles_euler": "T",
Expand Down
2 changes: 2 additions & 0 deletions examples/1D_reactive_burn/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,11 @@
"patch_icpp(2)%alpha(2)": a2,
# Fluid EOS: reactant (1) and product (2) share gamma/pi_inf, differ only in qv.
"fluid_pp(1)%gamma": gamma_p,
"fluid_pp(1)%eos": "stiffened_gas",
"fluid_pp(1)%pi_inf": pi_inf_p,
"fluid_pp(1)%qv": Q,
"fluid_pp(2)%gamma": gamma_p,
"fluid_pp(2)%eos": "stiffened_gas",
"fluid_pp(2)%pi_inf": pi_inf_p,
"fluid_pp(2)%qv": 0.0,
}
Expand Down
Loading
Loading