Skip to content

Update: refactor JumpConditionsSolver and shockturbulence subpackage to stabilize RH-slope calculations and enable upstream parametric sweeps#1108

Merged
AlbertoCuadra merged 19 commits intomasterfrom
develop
Jan 14, 2026
Merged

Update: refactor JumpConditionsSolver and shockturbulence subpackage to stabilize RH-slope calculations and enable upstream parametric sweeps#1108
AlbertoCuadra merged 19 commits intomasterfrom
develop

Conversation

@AlbertoCuadra
Copy link
Member

@AlbertoCuadra AlbertoCuadra commented Jan 14, 2026

Update JumpConditionsSolver

This PR fixes inconsistent inconsistent values of Gammas1 and Gammas3 in JumpConditionsSolver when using scalar Mach inputs (e.g., M1 = 5). The previous implementation relied on interpolation along the Hugoniot curve, which is not well-defined for a single point and can change when extra points are added.

Gammas1 and Gammas3 now enforce the constant post-shock density constraint using the chain-rule, leveraging derivatives with respect to Mach computed during Gammas2:

$$ \left(\frac{\partial p_2}{\partial \phi}\right)_{\rho_2} = \frac{\partial p_2}{\partial \phi} - \frac{\partial p_2}{\partial M_1} \frac{\left(\partial \rho_2/\partial \phi\right)}{\left(\partial \rho_2/\partial M_1\right)} , \qquad \phi \in {T_1, p_1} $$

Results are now stable and consistent for both scalar and array Mach inputs.

Update ShockTurbulenceSolver

Reorganize and generalize the shockturbulence subpackage to improve maintainability and enable parametric sweeps on upstream parameters beyond the pre-shock Mach number.

  • solve() now returns mixArray1 and mixArray2, with LIA outputs stored in mixArray2(i).lia as a structure.
  • Refactoring and cleanup of solver/model interfaces for easier extension and reuse.

Bugs

  • Invoke clean() / cleanMoles() when updating ChemicalSystem.propertiesMatrix to avoid stale values

Minor changes

  • Add: eta, chi, etaVorticity, and lia as properties of Mixture class
  • Include print results in Mixtureclass for SHOCKTURBULENCE_* problems
  • Add: include missing labels in interpreterLabel utility function

@AlbertoCuadra AlbertoCuadra added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Jan 14, 2026
@github-project-automation github-project-automation bot moved this to In progress in v2.0.0 Jan 14, 2026
@AlbertoCuadra AlbertoCuadra moved this to 2026 Q1 - Jan-Mar in Roadmap Jan 14, 2026
@AlbertoCuadra AlbertoCuadra changed the title Update: refactor JumpConditionsSolver and shockturbulence subpackage to stabilize Gammas and enable upstream parametric sweeps Update: refactor JumpConditionsSolver and shockturbulence subpackage to stabilize RH-slope calculations and enable upstream parametric sweeps Jan 14, 2026
@AlbertoCuadra AlbertoCuadra merged commit 3724b8b into master Jan 14, 2026
1 check passed
@github-project-automation github-project-automation bot moved this from In progress to Done in v2.0.0 Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

Status: 2026 Q1 - Jan-Mar
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant