Add: include new CT-LIA module for solving shock-turbulence interaction problems using linear theory #991#1094
Merged
AlbertoCuadra merged 13 commits intomasterfrom Dec 16, 2025
Merged
Add: include new CT-LIA module for solving shock-turbulence interaction problems using linear theory #991#1094AlbertoCuadra merged 13 commits intomasterfrom
AlbertoCuadra merged 13 commits intomasterfrom
Conversation
Add: new module CT-LIA #991
…tional normalized Kolmogorov lengths scales
…lude estimation of Kolmogorov length jump across the shock
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a Linear Interaction Analysis (LIA) framework for shock–turbulence interaction (STI) problems in compressible flows, hearafter CT-LIA. This new module enables the computation of turbulence amplification statistics across a normal shock interacting with weak upstream turbulence, under the assumptions of linearity, inviscid flow, and thermochemical equilibrium across a thin relaxation layer.
The solver is fully integrated into the Combustion Toolbox framework and supports thermally perfect and calorically imperfect gas models, as well as multi-component mixtures.
The solver follows the theoretical formulation described in:
Solver architecture
ShockTurbulenceSolver
A new high-level class,
ShockTurbulenceSolver, orchestrates the complete LIA workflow:EquilibriumSolver,ShockSolver, andJumpConditionsSolverThe solver dispatches to a specific turbulence model via the
problemTypeargument:
vorticalvortical_entropicacousticcompressibleThis design cleanly separates thermodynamics, shock physics, and turbulence
modeling, while maintaining a consistent user-facing API.
ShockTurbulenceModel Hierarchy
A new abstract base class,
ShockTurbulenceModel, defines a unified interface forall LIA turbulence models. Four concrete implementations are provided:
ShockTurbulenceModelVorticalShockTurbulenceModelVorticalEntropicShockTurbulenceModelAcousticShockTurbulenceModelCompressibleEach model:
Characterization of upstream turbulence field
Vortical-Entropic Correlation (
chi)The parameter$\chi$ prescribes the correlation between entropic density fluctuations and vortical velocity perturbations in the upstream turbulence. This quantity represents dilatational content implicit in the vortical–entropic mode and does not correspond to propagating acoustic energy.
Following Eq. (3.9) of the reference formulation,$\chi$ is defined as
where$\delta \rho_1^e$ denotes entropic density fluctuations, $\delta u_1^r$ denotes rotational (vortical) velocity fluctuations, and $c_1$ and $\rho_1$ are the upstream speed of sound and density.
Acoustic-to-Solenoidal TKE Ratio (
\eta)The parameter$\eta$ controls the relative contribution of propagating acoustic (dilatational) fluctuations to the upstream turbulent kinetic energy. It is defined as
where
TKE_1,aandTKE_1,rdenote the acoustic and vortical–entropic contributions to the upstream turbulent kinetic energy, respectively.Examples
This pull request includes some examples illustrating all supported configurations:
Vortical Shock–Turbulence Interaction
eta = 0, nochi)Vortical–Entropic Shock–Turbulence Interaction
chiAcoustic Shock–Turbulence Interaction
Fully Compressible Shock–Turbulence Interaction
chiandetaMinor changes
This pull request also introduces a small set of utility plotting classes in the
utils.displaysubpackage to improve figure management and layout consistency.Canvas (abstract base class)
Provides a common interface for figure creation, tiled layouts, axis management, and formatting via
PlotConfig. This class centralizes shared plotting logic and reduces code duplication.PlotFigure
Extends
Canvasto provide a unified interface for plotting thermodynamic and transport properties against an arbitrary independent variable, with consistent styling and optional validation overlays.PlotComposition
Extends
Canvasto generate species composition plots (e.g. molar fractionsXi) with automatic species filtering, log scaling, and validation support.Employ the
CaloricGasModelclass to express the caloric model.