Curvature and Rotation Corrections for Turbulence Models
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.
Here, $r^*$ and $\tilde{r}$ are dimensionless parameters constructed from the strain rate tensor $S_{ij}$ and the rotation rate tensor $\Omega_{ij}$.
The standard values for the constants are $c_{r1}=1.0$, $c_{r2}=12.0$, $c_{r3}=1.0$. Finally, $f_{rotation}$ is clipped.
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.
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
| Variable | SI Unit | Notes / Conversion Memo |
|---|---|---|
| Velocity $u$ | m/s | When converting from volumetric flow rate for inlet conditions, pay attention to cross-sectional area units |
| Pressure $p$ | Pa | Distinguish 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·s | Be 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 Number | Dimensionless | $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.
| Parameter | Recommended Setting | Remarks |
|---|---|---|
| Momentum Discretization | Bounded Central or LUST | Suppresses swirl decay |
| Turbulence Quantity Discretization | Second-Order Upwind | Balance of stability and accuracy |
| Time Discretization | Second-Order Backward Difference | For 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.
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.
Related Topics
なった
詳しく
報告