Curvature and Rotation Corrections for Turbulence Models

Category: 流体解析(CFD) | Integrated 2026-04-06
CAE visualization for curvature correction theory - technical simulation diagram
乱流モデルの曲率・回転補正

Theory and Physics

Overview

🧑‍🎓

Teacher! My swirling flow simulation doesn't match the experiment. Can it be fixed with that curvature/rotation correction thing?


🎓

Good point. Standard eddy viscosity models (k-epsilon, k-omega SST, SA) assume isotropic eddy viscosity, so they cannot correctly capture the increase or decrease in turbulence due to streamline curvature or system rotation. Curvature/Rotation Correction (CC) is an additional term to correct that shortcoming.


🧑‍🎓

Specifically, what kind of flows does it cause problems in?


🎓

These are typical examples.

  • Swirling flows in cyclone separators or swirl burners
  • Secondary flows between turbine blade rows
  • Curved flow in U-shaped pipes
  • Flows inside casings of rotating machinery (fans, compressors)

On the concave side, turbulence increases due to centrifugal instability, while on the convex side, it stabilizes and turbulence is suppressed. Standard models cannot predict this asymmetry.


Governing Equations

🧑‍🎓

How does the correction change the model's equations?


🎓

In the Spalart-Shur rotation/curvature correction (used in SA-RC, SST-RC), a multiplier $f_{rotation}$ is introduced for the production term.


$$ f_{rotation} = (1 + c_{r1}) \frac{2 r^*}{1 + r^*} \left[1 - c_{r3} \tan^{-1}(c_{r2} \tilde{r})\right] - c_{r1} $$

Here, $r^*$ and $\tilde{r}$ are dimensionless parameters constructed from the strain rate tensor $S_{ij}$ and the rotation rate tensor $\Omega_{ij}$.


$$ r^* = \frac{S}{\Omega}, \quad \tilde{r} = 2\Omega_{ik}S_{jk}\frac{D S_{ij}}{D t}\frac{1}{\Omega D^2} $$

The standard values for the constants are $c_{r1}=1.0$, $c_{r2}=12.0$, $c_{r3}=1.0$. Finally, $f_{rotation}$ is clipped.


$$ f_{rot} = \max\left(\min(f_{rotation},\; 1.25),\; 0\right) $$

🧑‍🎓

Is it just multiplying the production term?


🎓

Yes. In the case of SST-RC, the production term $P_k$ in the k-equation is replaced with $\tilde{P}_k = P_k \cdot f_{rot}$. On a convex wall, $f_{rot}<1$ suppresses turbulence production, and on a concave wall, $f_{rot}>1$ increases it. The Spalart-Allmaras model similarly modifies the production term in the SA equation.


🧑‍🎓

So this will improve the prediction of swirling flows.


🎓

It improves it, but it's not a panacea. Since the correction is calculated only from local quantities, it has limitations in cases where rotational effects accumulate non-locally (e.g., long vortex tubes). Approaches like RSM (Reynolds Stress Model), which transport each stress component individually, are more physically accurate but computationally expensive.


Coffee Break Yomoyama Talk

Curvature-Corrected Turbulence Models—The Reason "Curved Flow is Less Turbulent than Straight Flow"

In flows where streamlines curve (curved pipes, swirling flows), wall curvature strongly modulates the turbulence structure. On the convex side (stabilized by centrifugal force), turbulence is suppressed, while on the concave side (destabilized), it is promoted. The generation of Taylor-Görtler vortices (longitudinal vortices) on the concave side is also a manifestation of this instability. Standard k-ε and k-ω SST do not explicitly account for this curvature effect in their scalar transport equations, leading to low prediction accuracy for swirling flows, curved pipes, and cyclones. Speziale (1987) and Rothe/Spalart (1997) proposed curvature corrections, and modifications incorporating the curvature Richardson number into turbulence models have become mainstream.

Physical Meaning of Each Term
  • Temporal Term $\partial(\rho\phi)/\partial t$: Think of the moment you turn on a faucet. At first, the water comes out spluttering and unstable, but after a while, it becomes a steady flow, right? This "period of change" is described by the temporal term. The pulsation of blood flow from a heartbeat, or the flow fluctuation each time an engine valve opens and closes—all are unsteady phenomena. So what is steady-state analysis? It looks only at "after sufficient time has passed and the flow has settled down"—meaning this term is set to zero. Since computational cost drops significantly, trying a steady-state solution first is a basic CFD strategy.
  • Convection Term $\nabla \cdot (\rho \mathbf{u} \phi)$: What happens if you drop a leaf into a river? It gets carried downstream by the flow, right? This is "convection"—the effect where fluid motion transports things. Warm air from a heater reaching the far corner of a room is also because the "carrier," air, transports heat via convection. Here's the interesting part—this term contains "velocity × velocity," making it nonlinear. That is, as the flow becomes faster, this term rapidly strengthens, making control difficult. This is the root cause of turbulence. A common misconception: "Convection and conduction are similar things" → Not at all! Convection is carried by flow, conduction is transmitted by molecules. There's an order of magnitude difference in efficiency.
  • Diffusion Term $\nabla \cdot (\Gamma \nabla \phi)$: Have you ever put milk in coffee and left it? Even without stirring, after a while, it naturally mixes. That's molecular diffusion. Now a question—honey and water, which flows more easily? Obviously water, right? Honey has high viscosity ($\mu$), so it flows poorly. When viscosity is high, the diffusion term becomes strong, and the fluid moves in a "thick" manner. In low Reynolds number flows (slow, viscous), diffusion dominates. Conversely, in high Re number flows, convection overwhelms, and diffusion plays a supporting role.
  • Pressure Term $-\nabla p$: When you push the plunger of a syringe, liquid shoots out forcefully from the needle tip, right? Why? Because the plunger side is high pressure, the needle tip is low pressure—this pressure difference becomes the force pushing the fluid. Dam discharge works on the same principle. On a weather map, where isobars are tightly packed? That's right, strong winds blow. "Where there is a pressure difference, flow is generated"—this is the physical meaning of the pressure term in the Navier-Stokes equations. A point of confusion here: "Pressure" in CFD is often gauge pressure, not absolute pressure. If results go wrong immediately after switching to compressible analysis, mixing up absolute/gauge pressure might be the cause.
  • Source Term $S_\phi$: Heated air rises—why? Because it becomes lighter (lower density) than its surroundings, so it's pushed up by buoyancy. This buoyancy is added to the equation as a source term. Other examples: chemical reaction heat from a gas stove flame, Lorentz force acting on molten metal in a factory's electromagnetic pump... These are all actions that "inject energy or force into the fluid from the outside," expressed by source terms. What happens if you forget a source term? In natural convection analysis, forgetting to include buoyancy means the fluid doesn't move at all—a physically impossible result like turning on a heater in a winter room but the warm air doesn't rise.
Assumptions and Applicability Limits
  • Continuum Assumption: Valid for Knudsen number Kn < 0.01 (mean free path ≪ characteristic length)
  • Newtonian Fluid Assumption: Shear stress and strain rate have a linear relationship (non-Newtonian fluids require viscosity models)
  • Incompressibility Assumption (for Ma < 0.3): Density is treated as constant. For Mach number ≥ 0.3, compressibility effects must be considered
  • Boussinesq Approximation (Natural Convection): Density variation is considered only in the buoyancy term; constant density is used in other terms
  • Non-applicable Cases: Rarefied gases (Kn > 0.1), supersonic/hypersonic flows (shock capturing required), free surface flows (VOF/Level Set, etc. required)
Dimensional Analysis and Unit Systems
VariableSI UnitNotes / Conversion Memo
Velocity $u$m/sWhen converting from volumetric flow rate for inlet conditions, pay attention to cross-sectional area units
Pressure $p$PaDistinguish between gauge and absolute pressure. Use absolute pressure for compressible analysis
Density $\rho$kg/m³Air: approx. 1.225 kg/m³ @20°C, Water: approx. 998 kg/m³ @20°C
Viscosity Coefficient $\mu$Pa·sBe careful not to confuse with kinematic viscosity coefficient $\nu = \mu/\rho$ [m²/s]
Reynolds Number $Re$Dimensionless$Re = \rho u L / \mu$. Criterion for laminar/turbulent transition
CFL NumberDimensionless$CFL = u \Delta t / \Delta x$. Directly related to time step stability

Numerical Methods and Implementation

Details of Numerical Implementation

🧑‍🎓

When implementing curvature correction in a solver, are there any numerical points to be careful about?


🎓

There are several points. First, the calculation of $f_{rot}$ includes the material derivative of the strain rate $DS_{ij}/Dt$, so evaluation of the unsteady term and advection term is necessary. Even in steady calculations, it can be approximated from pseudo-time step information, but it affects accuracy.


Calculation Procedure for $f_{rotation}$

🧑‍🎓

Please tell me the specific steps.


🎓

Calculate the following in each cell.


1. Calculate strain rate $S_{ij}$ and rotation rate $\Omega_{ij}$ from the velocity gradient tensor $\partial u_i / \partial x_j$

2. Compute $S = \sqrt{2S_{ij}S_{ij}}$, $\Omega = \sqrt{2\Omega_{ij}\Omega_{ij}}$

3. Approximate the material derivative of strain rate $DS_{ij}/Dt$ using difference from the previous time step

4. Calculate dimensionless parameters $r^*$ and $\tilde{r}$

5. Compute $f_{rotation}$ and clip it to $[0, 1.25]$


🧑‍🎓

Why is clipping necessary?


🎓

If $f_{rot}$ becomes negative, the production term becomes negative (non-physical turbulence dissipation), and exceeding 1.25 causes excessive turbulence generation leading to numerical instability. Clipping is a safety mechanism.


Compatibility with Discretization Schemes

🧑‍🎓

What advection scheme should I use?


🎓

The curvature correction itself modifies the production term of the turbulence model, so it is independent of the discretization schemes for the momentum or turbulence equations. However, in swirling flows, numerical dissipation can cause decay of the swirl, so second-order or higher schemes (Bounded Central Difference, LUST, etc.) should be used. First-order upwind difference excessively damps the swirl.


ParameterRecommended SettingRemarks
Momentum DiscretizationBounded Central or LUSTSuppresses swirl decay
Turbulence Quantity DiscretizationSecond-Order UpwindBalance of stability and accuracy
Time DiscretizationSecond-Order Backward DifferenceFor unsteady calculations
$f_{rot}$ Clipping$[0, 1.25]$Numerical Stability

Implementation Example in OpenFOAM

🧑‍🎓

How do you set it up in OpenFOAM?


🎓

Enable the curvatureCorrection flag in constant/turbulenceProperties.


```

RAS

{

RASModel kOmegaSST;

turbulence on;

curvatureCorrection yes;

printCoeffs on;

}

```


OpenFOAM's kOmegaSST model has the Spalart-Shur correction built-in. No additional source files are needed.


🧑‍🎓

If it's enabled with just one setting, that's convenient.


🎓

However, verification that the results are reasonable is essential. Check if the swirl number matches experimental data and how the wall friction coefficient distribution changes.


Coffee Break Yomoyama Talk

Numerical Implementation of Curvature Correction—Spalart-Shur Correction Factor and β Factor

The Spalart-Shur (1997) curvature correction incorporates the effects of curvature and rotation by multiplying the turbulence production term by a "correction factor r* and r (coefficient)." The correction factor is calculated from the ratio of the streamline curvature tensor and the vorticity tensor, decreasing the production rate on convex (stable) sides and increasing it on concave (unstable) sides. This correction has been implemented in many commercial CFD packages as an application to the k-ω SST model (SSTcc). However, a challenge is that the adjustment coefficients (Cr1, Cr2) for the correction factor are not universal constants based on physics and are case-dependent. Data-driven tuning of curvature correction coefficients using machine learning (ML) has become a research direction in the 2020s.

Upwind Scheme

1st Order Upwind: Large numerical diffusion but stable. 2nd Order Upwind: Improved accuracy but risk of oscillations. Essential for high Reynolds number flows.

Central Differencing

Second-order accurate, but numerical oscillations occur for Pe > 2. Suitable for low Reynolds number, diffusion-dominated flows.

TVD Schemes (MUSCL, QUICK, etc.)

Maintain high accuracy while suppressing numerical oscillations via limiter functions. Effective for capturing shocks or steep gradients.

Finite Volume Method vs Finite Element Method

FVM: Naturally satisfies conservation laws. Mainstream in CFD. FEM: Advantageous for complex shapes and multiphysics. Mesh-free methods like SPH are also developing.

CFL Condition (Courant Number)

Explicit methods: CFL ≤ 1 is the stability condition. Implicit methods: Stable even for CFL > 1, but affects accuracy and iteration count. LES: CFL ≈ 1 recommended. Physical meaning: Information should not travel more than one cell per time step.

Residual Monitoring

Convergence is judged when residuals for the continuity equation, momentum, and energy each drop by 3-4 orders of magnitude. The mass conservation residual is particularly important.

Relaxation Factor

Pressure: 0.2~0.3, Velocity: 0.5~0.7 are typical initial values. If diverging, lower the relaxation factor. After convergence, increase to accelerate.

Internal Iterations for Unsteady Calculations

Iterate within each time step until a steady solution converges. Internal iteration count: 5~20 times is a guideline. If residuals fluctuate between time steps, review the time step size.

Analogy for the SIMPLE Method

The SIMPLE method is an "alternating adjustment" technique. First, velocity is tentatively determined (predictor step), then pressure is corrected so that mass conservation is satisfied with that velocity (corrector step), and velocity is revised with the corrected pressure—this back-and-forth is repeated to approach the correct solution. It resembles two people leveling a shelf: one adjusts the height, the other balances it, and they repeat this alternately.

Analogy for the Upwind Scheme

The upwind scheme is a method that "stands in the river flow and prioritizes upstream information." A person in the river cannot tell where the water comes from by looking downstream—it reflects the physics that upstream information determines downstream. Although first-order accurate, it is highly stable because it correctly captures flow direction.

Practical Guide

Practical Guide

🧑‍🎓

Please tell me the workflow for using curvature correction in an actual project.


🎓
関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ