Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
9974b68
Derive the speed of sound from the state, not a supplied enthalpy
sbryngelson Aug 25, 2026
e08c7a3
Give the stiffened-gas mixture accumulation a single home
sbryngelson Aug 25, 2026
974b8a8
Route the plain Riemann energy sites through a shared operator
sbryngelson Aug 25, 2026
99cb7e0
Give the mixture coefficient rule a single home across every solver
sbryngelson Aug 26, 2026
c82691b
Route the MHD energy sites through s_compute_energy
sbryngelson Aug 26, 2026
5b8510c
Fix: the HLLC bubbles energy dropped the heat of formation
sbryngelson Aug 26, 2026
4b5c232
Route the viscous and acoustic-source mixture coefficients through th…
sbryngelson Aug 26, 2026
6576229
Remove the dead enthalpy left in the LF and hypoelastic HLLD solvers
sbryngelson Aug 26, 2026
201a93c
Build the averaged Riemann state only when it is used
sbryngelson Aug 26, 2026
7ab6a45
Route the IGR mixture coefficients through the shared rule
sbryngelson Aug 26, 2026
3c3158a
Drop the enthalpy that no caller of s_compute_enthalpy read
sbryngelson Aug 26, 2026
70b8ecc
Compare zero fields for staying zero, not for reproducing roundoff
sbryngelson Aug 26, 2026
7d77257
Merge branch 'master' into fix/speed-of-sound-from-state
sbryngelson Aug 27, 2026
c952ac4
Judge a zero field by the absolute tolerance, not a scaled floor
sbryngelson Aug 27, 2026
33c1645
Route the last two mixture-coefficient copies through the shared rule
sbryngelson Aug 27, 2026
e5523d1
Give the bulk modulus and the pressure inversion one definition each
sbryngelson Aug 27, 2026
3b0df6c
Fix the immersed-boundary and hypoelastic-probe energies
sbryngelson Aug 27, 2026
8079254
Merge branch 'master' into fix/speed-of-sound-from-state
sbryngelson Aug 27, 2026
f574b20
Give the CBC coefficient derivatives the bubbles mixture rule
sbryngelson Aug 27, 2026
ce5ffd0
Close the per-phase internal energy and isentrope-parameter families
sbryngelson Aug 27, 2026
8f871c9
Delete the unreachable half of the pressure relaxation
sbryngelson Aug 27, 2026
aee63b1
Replace the HLL flux and capillary stress macros with procedures
sbryngelson Aug 27, 2026
2ac08b9
Replace the viscous inverse-Reynolds macro with a procedure
sbryngelson Aug 27, 2026
cd40b57
Replace the two elastic macros with procedures
sbryngelson Aug 27, 2026
34a92c5
Replace the low-Mach correction macro with procedures
sbryngelson Aug 27, 2026
f5ac062
Keep the transverse kinetic energy in the Roe average
sbryngelson Aug 28, 2026
a1420a8
Record the test-tooling traps that cost time this session
sbryngelson Aug 28, 2026
de1f936
Replace the last three Riemann macros with procedures
sbryngelson Aug 28, 2026
dafc228
Merge branch 'master' into fix/speed-of-sound-from-state
sbryngelson Aug 28, 2026
6e34c7e
Route the IGR CFL state through the shared EOS operators
sbryngelson Aug 28, 2026
fa1efd0
Merge branch 'master' into fix/speed-of-sound-from-state
sbryngelson Aug 28, 2026
b12e605
Document the equation-of-state implementation surface
sbryngelson Aug 28, 2026
c9567b7
Fix the CCE build and route the last EOS expressions through the oper…
sbryngelson Aug 28, 2026
a94f914
Fix three uninitialized reads and a silently discarded parameter
sbryngelson Aug 28, 2026
f009397
Add a per-fluid equation-of-state selector with a backend that reads it
sbryngelson Aug 28, 2026
3885130
Keep eos_types off the device and pair its allocation
sbryngelson Aug 28, 2026
1b353d7
Declare the equation of state on every fluid that has one
sbryngelson Aug 28, 2026
94019ec
Build the riemann and pressure-relaxation refactor on CCE and NVHPC
sbryngelson Aug 29, 2026
e67b262
Sum the hypoelastic strain energy over every stress component
sbryngelson Aug 29, 2026
6ebf1b9
Accumulate the pressure-relaxation mixture in place for CCE OpenACC
sbryngelson Aug 29, 2026
6d84e74
Route the conservative-to-primitive elastic energy through f_elastic_…
sbryngelson Aug 29, 2026
47aa115
Form the relaxation mixture in the loop body, restoring the shared op…
sbryngelson Aug 29, 2026
b32053d
Record where CCE OpenACC draws the line on device-global array bounds
sbryngelson Aug 29, 2026
bdbcff0
Give HLLC the reacting Roe sound speed it already computes
sbryngelson Aug 29, 2026
965bd59
Condense the equation-of-state docstrings
sbryngelson Aug 29, 2026
e8d0e82
Stop the zero-field check reading a constant field as roundoff
sbryngelson Aug 29, 2026
bbb7ff4
Evaluate the reacting-mixture thermochemistry in the loop body
sbryngelson Aug 29, 2026
1ed908b
Note the thermochem half of the device-routine call rule
sbryngelson Aug 29, 2026
78f25f7
Scale the zero-field band by the golden's own magnitude
sbryngelson Aug 29, 2026
a856aff
Keep the void fraction out of the bubbly mixture rule
sbryngelson Aug 30, 2026
50d0195
Check zero-field values individually against their band
sbryngelson Aug 30, 2026
ad39a71
Limit the Euler-Euler bubble model to a single carrier liquid
sbryngelson Aug 30, 2026
94ada66
Collapse the bubbly mixture rule now that a second liquid is refused
sbryngelson Aug 30, 2026
eeaa812
Drop the empty else and the repeated use entry in m_cbc
sbryngelson Aug 30, 2026
3253add
Route the post_process derived EOS quantities through the operators
sbryngelson Aug 30, 2026
3ba5c48
Collapse the Lagrangian bubble sound speed onto the bulk modulus
sbryngelson Aug 30, 2026
95abaef
Give the acoustic source the mixture sound speed
sbryngelson Aug 30, 2026
41c12ab
Write the HLL and HLLC EOS expressions as the relations they are
sbryngelson Aug 30, 2026
8c973b5
Record that the amdflang array-bound workaround is still load-bearing
sbryngelson Aug 30, 2026
e07ee64
Revert the acoustic source sound speed pending CCE validation
sbryngelson Aug 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
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