198 Commits
Author SHA1 Message Date
Ray SpethandClaude Opus 4.8 a6a5f5ede6 [Examples] Pin finite-difference Jacobian for high-pressure regrid cases
The high-pressure H2/O2 counterflow diffusion cases in'
flame_solver_timestep_controls.py sit at the edge of solvability, where
the analytic and finite-difference Jacobians (which agree to ~1e-7) steer
the solver onto different trajectories. With the analytic Jacobian now the
default, these cases no longer converged within the example's original
regrid/timestep budgets.

Pin finite differences for the counterflow diffusion helper and document
that FD is empirically more robust for these high pressure diffusion flames,
restoring the original example behavior.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 09:54:37 -05:00
Ray SpethandClaude Opus 4.8 cef9a5b694 [1D] Add Sim1D.solver_stats; deprecate per-metric stat properties
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 09:54:37 -05:00
Ray Speth eb7cc58e66 [Examples] Rewrite and condense examples for new flame solver options 2026-06-10 10:48:55 -04:00
Christopher Neal fcb64ea7c9 update to sample script to illustrate different heuristics for high pressure case 2026-06-10 10:48:55 -04:00
Christopher Neal c33575c397 fixed incorrect tags in examples 2026-06-10 10:48:55 -04:00
Christopher Neal d4e8885479 sample cases exercising the time step regridding and growth features 2026-06-10 10:48:55 -04:00
Ray Speth 92400f1696 [Examples] Recommend ExtensibleReactor over SciPy 2026-06-10 10:31:50 -04:00
Ray Speth 5f22a12111 [Examples] 'prune' option isn't new 2026-06-10 10:31:50 -04:00
Ray Speth ab00a8d5f9 [Examples] Avoid temperature range warning in isentropic_units.py 2026-06-10 10:31:50 -04:00
Ray SpethandClaude Opus 4.7 6b1c04241c [Examples] Add multi-reactor preconditioner example
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 08:01:16 -05:00
Ray Speth 22be5bb468 [Examples] Use n-heptane as fuel for examples using n-heptane mechanism
Use correctly-named mechanism from example_data repository
2026-05-19 07:38:20 -05:00
Ray Speth c9078ec2d1 [Examples] Fix paper referenced in continuous reactor example 2026-05-19 07:38:20 -05:00
Ray Speth d11c04f4d9 [Thermo] Handle temperature bounds when setting HP/UV/SP/SV
Depending on whether "enforceTemperatureBounds" is set, either warn
or raise an exception if the bounds are exceeded.
2026-05-18 22:37:29 -04:00
Ray Speth 47973ed00a [Examples] Speed up shock tube reactor example 2026-03-09 18:07:53 -05:00
Ray Speth 6d78921c2e [Samples] Avoid rebuilding ReactorNet in CSTR example
Fixes regression in the results where a fix applied in #1944
was accidentally undone.
2026-01-31 08:41:16 -06:00
Ray Speth 0abf617b6f [Kinetics] Use ReactorNet for advanceCoverages and solvePseudoSteadyStateProblem 2026-01-31 08:41:16 -06:00
Ray Speth 302b3d0a37 [Reactor] Implement steady-state solve for surfaces 2026-01-31 08:41:16 -06:00
Ray Speth 19b2364277 [Reactor] Refactor ReactorNet initialization
- Allow construction from bulk reactors or surfaces
- Automatically traverse the network to find connected reactors/surfaces
2026-01-31 08:41:16 -06:00
Matthew Quiram f91964fa01 addressed redundant finite checks in PlasmaPhase, turned on energy eq in sample 2026-01-28 21:49:15 -05:00
Ray Speth 2907cdefee [Reactor] Set m_nv in constructor 2026-01-28 06:36:00 -06:00
Ray Speth 2d938145ab [Reactor] Deprecate Reactor::syncState 2026-01-28 06:36:00 -06:00
Ray Speth 24cd615278 [Reactor] Update FlowReactor to use independent surface evaluation 2026-01-28 06:36:00 -06:00
Ray Speth 7fa142feef [Reactor] Evaluate surfaces independently from bulk reactors 2026-01-28 06:36:00 -06:00
Ray Speth 905e1b61aa [Reactor] Implement transitions in clone/initialization behavior 2025-11-21 21:38:21 -05:00
Ray Speth 18b5ee5538 [Python] Deprecate import_phases 2025-11-14 16:11:33 -05:00
Ray Speth ae79f7dc61 [Python] Deprecate add_module_directory 2025-11-14 16:11:33 -05:00
Ray Speth d3d0f9dad0 [Python/Samples] Show plots when running from command line 2025-10-31 11:13:03 -05:00
Ray Speth bcdce973c0 [Python/Samples] Remove unused imports 2025-10-31 11:13:03 -05:00
Ray Speth a4587aefc3 [Python/Samples] Fix outdated "requires" annotations 2025-10-31 11:13:03 -05:00
Ray Speth 2fc7d2704a Fix miscellaneous typos 2025-10-31 11:13:03 -05:00
Ray Speth f46e7fcc8e [Examples] Show timing info for 1D solver stats 2025-10-27 22:04:01 -04:00
Ray Speth 4dab32c199 [Samples] Fix plotting units in surface chemistry PFR example
Also switch plots to use mole fraction to enable comparison with
reference solution.
2025-10-25 09:36:53 -05:00
Ray Speth 335486c9d3 [Python] Handle removal of numpy.trapz
Numpy 2.4.0 will remove trapz. To maintain compatibility with Numpy 1.x for now,
we need to dynamically select the correct function.
2025-10-21 18:11:56 -04:00
Ray Speth 1c6e2038cf [Samples] Use better initial guess for surface coverages
Fixes #1999
2025-10-21 13:33:23 -04:00
Ingmar Schoegl a8ddb8d427 [Python] Avoid keyword for positional 'phase' parameter 2025-10-17 18:01:53 -04:00
Ingmar Schoegl 6be47c3028 [Python] Rename ReactorBase.contents to phase 2025-10-17 18:01:53 -04:00
Ingmar Schoegl c6937cf049 [oneD] Rename spread_rate to spreadRate
This removes inconsistencies in naming convention, where the snake_case
'spread_rate' is an outlier. Note that the other component specific to
axisymmetric flows is also renamed in the same PR.
2025-10-09 18:46:40 -05:00
Ingmar Schoegl 59d2bb6a15 [samples] Simplify profile setting 2025-10-09 18:46:40 -05:00
Ingmar Schoegl 96aa3a19ea [onedim] Address remaining papercuts 2025-10-09 18:46:40 -05:00
Ingmar Schoegl 7228494f55 [oneD] Rename 'lambda' to 'Lambda' 2025-10-09 18:46:40 -05:00
Ray Speth 26500df4b4 [Python] Deprecate kinetics property of Reactor and ReactorSurface 2025-10-09 06:54:33 -05:00
Ray Speth 865b801193 [Python] Rename ReactorBase.thermo to contents 2025-10-09 06:54:33 -05:00
Ray Speth 1c913b98eb [Reactor] Make cloning of Solution objects optional 2025-10-08 10:18:27 -04:00
Ray Speth 1475e36531 [Reactor] Automatically clone Solution objects 2025-10-08 10:18:27 -04:00
Ray Speth 0c561b64ea Fix miscellaneous documentation typos 2025-09-08 07:38:44 -05:00
Ray Speth 4fbbb1611e [1D] Fix and simplify options for solving electric field/ion diffusion
Fix "electric_field_enabled" property to have it actually control
whether the electric field is solved for.

Deprecated the "stage" option to the "solve" method which previously
was the only way to control this.

Fixes #1957
2025-09-02 14:44:29 -04:00
Ingmar Schoegl be094a4e70 [samples] Update file name from submodule
Submodule uses kebab-case rather than snake_case for consistency.
2025-08-24 21:20:42 -04:00
Ingmar Schoegl 45185f4179 [samples] Use Gaussian1 functor where applicable 2025-08-24 21:20:42 -04:00
Ingmar Schoegl 31508a8ade [samples] Do not use CamelCase in sample names 2025-08-24 21:20:42 -04:00
Ingmar Schoegl 9aa6e2be8c [samples] Do not use kebab-case in sample name 2025-08-24 21:20:42 -04:00