# Transition Model

# 📝 Transition Model Configuration

The transition model determines how and when the flow transitions from laminar to turbulent within the simulation. It enables accurate prediction of laminar-turbulent transition effects, which are critical for correctly modeling aerodynamic performance, especially for flows at moderate Reynolds numbers where transition location significantly impacts drag prediction.


# 📋 Available Parameters

Parameter Description Unit
Type Transition model selection
Absolute Tolerance Convergence criteria for transition equations
CFL Multiplier Stability factor applied to CFL
Equation Evaluation Frequency Update frequency for transition equations steps
Turbulence Intensity Percent Freestream turbulence intensity %
N_crit Critical amplification factor
Update Jacobian Frequency Frequency of Jacobian matrix updates steps
Reconstruction Gradient Limiter Limiter strength for stability
Trip Regions Regions forcing boundary layer transition

# 🔍 Detailed Descriptions

# Type

The type of transition modeling approach used in the simulation.

  • Options:
    • AmplificationFactorTransport: Gamma-ReTheta model with amplification factor transport
    • None: No transition modeling (fully turbulent)
  • Default: None
  • Notes:
    • Must be used with a compatible turbulence model (SA or SST)
    • AmplificationFactorTransport is based on the Gamma-ReTheta model with enhancements
    • Applicable to a wide range of external and internal flows

# Absolute Tolerance

The convergence threshold for transition equation residuals.

  • Default: 1.0e-7
  • Example: 1.0e-6
  • Notes:
    • Controls convergence criteria for transition equations
    • Can typically be less strict than Navier-Stokes tolerance
    • May need to be relaxed for challenging transition cases

# CFL Multiplier

Scaling factor applied to the CFL number for transition equations.

  • Default: 2.0
  • Example: 1.0 (for improved stability)
  • Notes:
    • Effective transition CFL = Time Stepping CFL × CFL Multiplier
    • Can often be higher than Navier-Stokes CFL for efficiency
    • Reduce for stability in complex transition scenarios

# Equation Evaluation Frequency

How often the transition equations are solved relative to the Navier-Stokes equations.

  • Default: 4 (every 4 Navier-Stokes steps)
  • Example: 1 (every Navier-Stokes step)
  • Notes:
    • Higher values reduce computational cost
    • For critical transition prediction, set to 1
    • May impact accuracy of transition location prediction

# Turbulence Intensity Percent

The freestream turbulence intensity as a percentage.

  • Default: Not specified (requires either this or N_crit)
  • Example: 0.05 (0.05%)
  • Range: 0.03 to 2.5
  • Notes:
    • Critical parameter affecting transition onset
    • Must not be specified simultaneously with N_crit
    • Internally converted to N_crit via correlation
    • Lower values delay transition (typical wind tunnel: 0.05-0.1%)

# N_crit

The critical amplification factor for transition onset.

  • Default: 8.15 (if neither N_crit nor turbulence intensity specified)
  • Example: 9.0 (for low disturbance environments)
  • Range: 1.0 to 11.0
  • Notes:
    • Must not be specified simultaneously with turbulence intensity
    • Higher values delay transition (typical range: 7-9)
    • Flight conditions typically 8-10
    • Wind tunnel typically 5-8 depending on quality
    • Relation to turbulence intensity: N_crit = -8.43 - 2.4ln(0.025tanh(Tu%/2.5))

# Update Jacobian Frequency

Controls how often the Jacobian matrix for the transition equations is updated.

  • Default: 4 (every 4 pseudo-steps)
  • Example: 1 (every iteration)
  • Notes:
    • Lower values improve robustness but increase cost
    • For challenging cases with complex transition, set to 1
    • For well-behaved flows, 4 is typically sufficient

# Reconstruction Gradient Limiter

Controls the aggressiveness of gradient limiting for transition variables.

  • Default: 1.0
  • Example: 0.5 (more limiting for stability)
  • Notes:
    • Range: [0.0, 2.0]
    • 0.0: Maximum limiting (first-order accuracy)
    • 2.0: No limiting (can be unstable)
    • Lower values improve stability but may affect transition prediction accuracy

# Trip Regions

Box regions where transition is forced to occur.

  • Default: None (natural transition)
  • Example: Box entities defining trip zones
  • Notes:
    • Useful for matching experimental trip strip locations
    • Can be used to force transition at specific locations
    • Multiple trip regions can be defined

💡 Tips

  • For accurate transition prediction:

    • Use a sufficiently refined mesh in the boundary layer (y+ < 1)
    • Ensure streamwise resolution is adequate near expected transition locations
    • Set appropriate turbulence intensity based on environment (flight vs. wind tunnel)
  • For flight conditions:

    • Use N_crit = 8-10 or very low turbulence intensity (0.03-0.05%)
    • Consider sensitivity studies for uncertain cases
  • For wind tunnel validation:

    • Match the facility turbulence intensity if known
    • For typical low-turbulence tunnels, use 0.05-0.1% or N_crit = 7-8
    • For conventional tunnels, use 0.1-0.5% or N_crit = 5-7
  • For stability in challenging cases:

    • Reduce CFL multiplier to 1.0
    • Set equation evaluation frequency to 1
    • Update Jacobian every iteration (frequency = 1)
    • Use gradient limiter values around 0.5-0.7
  • When comparing to experiments:

    • Consider using trip regions to match experimental trip strip locations
    • Be aware that surface quality/roughness affects transition but isn't directly modeled

❓ Frequently Asked Questions

  • When should I use a transition model vs. fully turbulent simulation?

    Use a transition model when the transition location significantly impacts the results, typically in: 1) Low to moderate Reynolds number flows (Re < 10^7), 2) Flows with extensive laminar regions, 3) Cases where drag prediction accuracy is critical, or 4) When comparing with experiments that show distinct transition effects. For very high Reynolds numbers where transition occurs near the leading edge, fully turbulent models are often sufficient.

  • How do I choose between turbulence intensity and N_crit parameters?

    If you know the freestream turbulence intensity from experimental data, use that directly. If you're modeling flight conditions or have experience with N_crit values, you can specify that instead. They are related by a correlation and cannot be specified simultaneously. For typical applications, turbulence intensity is more intuitive.

  • Why does my transition location not match experiment/expected results?

    Transition prediction is highly sensitive to several factors: 1) Freestream turbulence intensity/N_crit setting, 2) Pressure gradient resolution, 3) Mesh resolution, 4) Surface roughness (not directly modeled), and 5) Freestream turbulence spectrum (not captured by intensity alone). Try adjusting turbulence intensity within a reasonable range or using trip regions to match known transition locations.

  • Can I use the transition model with any turbulence model?

    The AmplificationFactorTransport transition model in Flow360 works with both Spalart-Allmaras and k-Omega SST turbulence models. It cannot be used if the turbulence model is set to "None."

  • How does mesh resolution affect transition prediction?

    Transition prediction requires: 1) Wall-normal resolution with y+ < 1, 2) Adequate streamwise resolution to capture the pressure gradient accurately, and 3) Smooth mesh growth rate in boundary layer regions. Insufficient resolution typically leads to premature transition prediction or failure to predict transition at all.

  • What is the difference between using trip regions and adjusting turbulence intensity?

    Trip regions force transition at specific locations, mimicking experimental trip strips or roughness elements. Turbulence intensity affects when natural transition occurs throughout the entire domain based on local flow conditions. Use trip regions when you want to force transition at known locations, and use turbulence intensity to model the natural transition process.


🐍 Python Example Usage

Below are Python code examples showing how to configure transition models:

# Basic transition model with turbulence intensity
transition_model = fl.TransitionModelSolver(
    type_name="AmplificationFactorTransport",
    turbulence_intensity_percent=0.05,
    absolute_tolerance=1e-7,
    CFL_multiplier=2.0,
    equation_evaluation_frequency=4
)

# Transition model with N_crit instead of turbulence intensity
transition_model = fl.TransitionModelSolver(
    N_crit=9.0,  # Higher values delay transition
    absolute_tolerance=1e-7
)

# Transition model with custom linear solver settings
transition_model = fl.TransitionModelSolver(
    turbulence_intensity_percent=0.1,
    linear_solver=fl.LinearSolver(
        max_iterations=30,
        absolute_tolerance=1e-8
    )
)

# Advanced transition model with trip regions
from flow360 import u

# Define trip box entities
trip_box1 = fl.Box(
    name="LeadingEdgeTrip",
    center=(0.05 * u.m, 0, 0),
    size=(0.01 * u.m, 0.5 * u.m, 0.01 * u.m)
)

trip_box2 = fl.Box(
    name="UpperSurfaceTrip",
    center=(0.2 * u.m, 0.1 * u.m, 0),
    size=(0.01 * u.m, 0.05 * u.m, 0.05 * u.m)
)

# Configure transition model with trip regions
transition_model = fl.TransitionModelSolver(
    N_crit=8.15,
    reconstruction_gradient_limiter=0.7,
    update_jacobian_frequency=1,
    equation_evaluation_frequency=1,
    CFL_multiplier=1.0,  # Reduced for stability
    trip_regions=[trip_box1, trip_box2]
)

# Example usage in a simulation setup
simulation_params = fl.SimulationParams(
    # Other simulation parameters...
    models=[fl.Fluid(
        transition_model=transition_model,
        turbulence_model=fl.SpalartAllmaras()  # Must be used with a compatible turbulence model
    )]
)

# Submit to a project
project.submit(mesh_name="my_airfoil_mesh", simulation_params=simulation_params)