Skip to main content
Ctrl+K
Flow360 Computational Fluid Dynamics Solver - Home
  • 1. Introduction
    • Capabilities
    • Feature Compatibility Matrix
  • 2. Quick Start
    • Introduction to the Flow360 WebUI
    • Automated Meshing with the WebUI
    • Launching a case with the WebUI
    • Postprocessing a case with the WebUI
    • Flow360 API Quickstart
  • 3. User Guide
    • 3.1. How Does It Work?
    • 3.2. Workflows & Interfaces
    • 3.3. Asset Drafts
    • 3.4. Meshing
    • 3.5. Output Configuration
    • 3.6. Run Control
    • 3.7. Units & Expressions
      • Units
      • User Defined Expressions
      • Legacy User Defined Expressions
    • 3.8. Non-Dimensionalization
      • Introduction
      • Non-Dimensional Inputs
      • Non-Dimensional Outputs
      • Force and Moment Coefficients
    • 3.9. Troubleshooting
      • Error when calculating patch interpolation coefficients
      • Fixing Divergence Issues
    • 3.10. User Defined Dynamics
    • 3.11. Report
  • 4. GUI
    • 4.1. Introduction
      • Dashboard
      • Starting Project
      • Workbench Layout
        • Top Bar
        • Viewer Region
        • Status Bar
      • General Workflow in Flow360 GUI
      • Project Tree
      • Keyboard Shortcuts
      • Project Settings
    • 4.2. Simulation Setup
      • Operating condition
      • Mesh
        • Farfield
        • Mesh parameters
        • Rotation regions
        • Custom zones
        • Volume mesh slices
        • Refinements
          • Surface Edge Refinement
          • Surface Refinement
          • Boundary Layer Refinement
          • Passive Spacing
          • Uniform Refinement
          • Axisymmetric Refinement
          • Geometry Refinement
      • Flow solver
        • Boundary Conditions
          • Wall Boundary Condition
          • Freestream Boundary Condition
          • Inflow Boundary Condition
          • Outflow Boundary Condition
          • Periodic Boundary Condition
          • Symmetry Boundary Condition
          • Slip Wall Boundary Condition
          • Turbulence Quantities
        • Time Stepping
        • Physics
          • Fluid model
          • Solid model
          • Rotation model
          • BET disk model
          • Actuator disk model
          • Porous medium model
        • User-defined dynamics
      • Output
        • Reference Dimensions
        • Outputs List
          • Volume Output
          • Time-averaging Volume Output
          • Surface Output
          • Time-averaging Surface Output
          • Slice Output
          • Time-averaging Slice Output
          • Probe Outputs
          • Time-averaging Probe Outputs
          • Surface Probe Outputs
          • Surface Slice Output [Python only]
          • Isosurface Output
          • Time-averaging Isosurface Output
          • Aeroacoustic Output
          • Streamline Output
          • Time-averaging Streamline Output
          • Force Output
          • Force Distribution Output
          • Time-averaging Force Distribution Output
          • Output Fields and Nondimensional Values
          • Output Formats
    • 4.3. Analysis
      • Dashboard
      • Convergence Monitoring in Flow360
      • Monitor
      • Visualization
      • Aeroacoustic Interface
    • 4.4. Entities browser
      • Geometry
        • Edges
        • Faces
      • Surface Mesh
      • Volume Mesh
        • Zones
        • Boundaries
      • Volumes
        • Box
        • Cylinder
        • Axisymmetric volume
        • Custom volume
      • Points
      • Slices
      • Sample Surfaces
      • Derived Entities
      • Viewpoints
      • Coordinate Systems
      • Environment
      • Entity Tags
    • 4.5. Tools
  • 5. Python API
    • 5.1. Getting Started
    • 5.2. Grab-and-Go Snippets
      • Calculate Dimensional Forces
      • Change Account and Submit
      • Download Results
      • Folder Operations
      • Fork a Case
      • Generate Multiple Meshes
      • Transform geometric entities with coordinate systems
      • Get Averaged Forces from a Boundary
      • Interpolate
      • List Projects
      • Move Case to Folder
      • Plot Probe Monitor Time History
      • Print Occupied Storage
      • Reuse Cloud Project
      • Total Flex Credits
      • List Cases
      • List Mesh Resources
    • 5.3. Examples Library
      • RANS CFD on 2D CRM Airfoil
      • Aeroacoustics
      • Alpha Sweep
      • Time-Accurate BET eVTOL Simulation Example
      • Conjugate Heat Transfer
      • DARPA SUBOFF Actuator Disk
      • Dynamic Derivatives Using Sliding Interfaces
      • F1 Car Demo
      • Flat Plate with Structural Aerodynamic Load
      • UDD Alpha Controller (Constant CL)
      • Hinge Torques Monitoring
      • Isolated Wing with Propeller BET Model
      • MRF rotor
      • Periodic BCs
      • SRF with Cube
      • Time‑Accurate XV‑15 rotor
      • Unsteady 2D cylinder
      • Unsteady DDES HLPW4
      • Transition Model 2D Airfoil
      • Wall Roughness
      • Windsor Body
    • 5.4. Migration Guide
      • BET Migration Tools
      • Example Monitor Conversion
    • 5.5. API Reference
      • Setup
        • flow360.SimulationParams
      • Cloud Assets
        • flow360.Project
        • flow360.Case
        • flow360.Geometry
        • flow360.SurfaceMesh
        • flow360.VolumeMesh
        • flow360.component.surface_mesh_v2.SurfaceMeshV2
        • flow360.component.volume_mesh.VolumeMeshV2
      • Entities
        • flow360.Box
        • flow360.Cylinder
        • flow360.AxisymmetricBody
        • flow360.CustomVolume
        • flow360.SeedpointVolume
        • flow360.RotationVolume
      • Draft
        • flow360.component.simulation.draft_context.DraftContext
        • flow360.create_draft
        • flow360.component.simulation.draft_context.DraftContext.body_groups
        • flow360.component.simulation.draft_context.DraftContext.surfaces
        • flow360.component.simulation.draft_context.DraftContext.mirrored_body_groups
        • flow360.component.simulation.draft_context.DraftContext.mirrored_surfaces
        • flow360.component.simulation.draft_context.DraftContext.edges
        • flow360.component.simulation.draft_context.DraftContext.volumes
        • flow360.component.simulation.draft_context.DraftContext.boxes
        • flow360.component.simulation.draft_context.DraftContext.cylinders
        • flow360.component.simulation.draft_context.DraftContext.imported_geometries
        • flow360.component.simulation.draft_context.DraftContext.imported_surfaces
        • flow360.component.simulation.draft_context.DraftContext.coordinate_systems
        • flow360.component.simulation.draft_context.DraftContext.mirror
        • flow360.component.simulation.draft_context.coordinate_system_manager.CoordinateSystemManager
        • flow360.component.simulation.draft_context.mirror.MirrorManager
      • Meshing
        • flow360.MeshingParams
        • flow360.ModularMeshingWorkflow
        • flow360.MeshingDefaults
        • flow360.SurfaceEdgeRefinement
        • flow360.AngleBasedRefinement
        • flow360.HeightBasedRefinement
        • flow360.AspectRatioBasedRefinement
        • flow360.ProjectAnisoSpacing
        • flow360.SurfaceRefinement
        • flow360.BoundaryLayer
        • flow360.PassiveSpacing
        • flow360.UniformRefinement
        • flow360.AxisymmetricRefinement
        • flow360.GeometryRefinement
        • flow360.snappy.SurfaceMeshingParams
        • flow360.snappy.CastellatedMeshControls
        • flow360.snappy.QualityMetrics
        • flow360.snappy.SmoothControls
        • flow360.snappy.SnapControls
        • flow360.snappy.SurfaceMeshingDefaults
        • flow360.OctreeSpacing
        • flow360.snappy.BodyRefinement
        • flow360.snappy.RegionRefinement
        • flow360.snappy.SurfaceEdgeRefinement
        • flow360.VolumeMeshingParams
        • flow360.VolumeMeshingDefaults
        • flow360.AutomatedFarfield
        • flow360.UserDefinedFarfield
        • flow360.WindTunnelFarfield
        • flow360.CustomZones
        • flow360.MeshSliceOutput
        • Farfield Specifications
          • flow360.StaticFloor
          • flow360.FullyMovingFloor
          • flow360.CentralBelt
          • flow360.WheelBelts
      • Reference Geometry
        • flow360.ReferenceGeometry
      • Material
        • flow360.Air
        • flow360.Sutherland
        • flow360.SolidMaterial
        • flow360.Water
      • Operating Condition
        • flow360.AerospaceCondition
        • flow360.LiquidOperatingCondition
        • flow360.GenericReferenceCondition
        • flow360.ThermalState
      • Volume Models
        • flow360.Fluid
        • flow360.Solid
        • flow360.ActuatorDisk
        • flow360.BETDisk
        • flow360.Rotation
        • flow360.PorousMedium
      • Surface Models
        • flow360.Wall
        • flow360.SlipWall
        • flow360.Freestream
        • flow360.Inflow
        • flow360.Outflow
        • flow360.Periodic
        • flow360.SymmetryPlane
        • flow360.PorousJump
      • Time Stepping
        • flow360.Steady
        • flow360.Unsteady
        • CFL
          • flow360.AdaptiveCFL
          • flow360.RampCFL
      • Solver Configurations
        • flow360.NavierStokesSolver
        • flow360.SpalartAllmaras
        • flow360.KOmegaSST
        • flow360.NoneSolver
        • flow360.TransitionModelSolver
        • flow360.HeatEquationSolver
        • Solver Specs
          • flow360.LinearSolver
          • flow360.DetachedEddySimulation
          • flow360.SpalartAllmarasModelConstants
          • flow360.KOmegaSSTModelConstants
          • flow360.TurbulenceModelControls
      • Run Control
        • flow360.RunControl
        • flow360.StoppingCriterion
      • User Defined Expressions
        • flow360.UserVariable
      • User Defined Dynamics
        • flow360.UserDefinedDynamic
      • Outputs
        • flow360.VolumeOutput
        • flow360.TimeAverageVolumeOutput
        • flow360.SliceOutput
        • flow360.TimeAverageSliceOutput
        • flow360.SurfaceOutput
        • flow360.TimeAverageSurfaceOutput
        • flow360.IsosurfaceOutput
        • flow360.SurfaceIntegralOutput
        • flow360.SurfaceSliceOutput
        • flow360.ProbeOutput
        • flow360.TimeAverageProbeOutput
        • flow360.SurfaceProbeOutput
        • flow360.TimeAverageSurfaceProbeOutput
        • flow360.ForceOutput
        • flow360.ForceDistributionOutput
        • flow360.TimeAverageForceDistributionOutput
        • flow360.StreamlineOutput
        • flow360.TimeAverageStreamlineOutput
        • flow360.AeroAcousticOutput
        • flow360.MovingStatistic
        • Output Fields
        • Output Entities
          • flow360.Isosurface
          • flow360.Slice
          • flow360.Point
          • flow360.PointArray
          • flow360.PointArray2D
          • flow360.Observer
      • Results
        • flow360.component.case.CaseResultsModel
        • flow360.component.case.CaseResultsModel.surfaces
        • flow360.component.case.CaseResultsModel.volumes
        • flow360.component.case.CaseResultsModel.slices
        • flow360.component.case.CaseResultsModel.isosurfaces
        • flow360.component.case.CaseResultsModel.monitors
        • flow360.component.case.CaseResultsModel.nonlinear_residuals
        • flow360.component.case.CaseResultsModel.linear_residuals
        • flow360.component.case.CaseResultsModel.cfl
        • flow360.component.case.CaseResultsModel.minmax_state
        • flow360.component.case.CaseResultsModel.max_residual_location
        • flow360.component.case.CaseResultsModel.surface_forces
        • flow360.component.case.CaseResultsModel.total_forces
        • flow360.component.case.CaseResultsModel.bet_forces
        • flow360.component.case.CaseResultsModel.bet_forces_radial_distribution
        • flow360.component.case.CaseResultsModel.actuator_disks
        • flow360.component.case.CaseResultsModel.legacy_force_distribution
        • flow360.component.case.CaseResultsModel.x_slicing_force_distribution
        • flow360.component.case.CaseResultsModel.y_slicing_force_distribution
        • flow360.component.case.CaseResultsModel.user_defined_dynamics
        • flow360.component.case.CaseResultsModel.aeroacoustics
        • flow360.component.case.CaseResultsModel.surface_heat_transfer
        • flow360.component.results.case_results.MonitorsResultModel
        • flow360.component.results.case_results.NonlinearResidualsResultCSVModel
        • flow360.component.results.case_results.LinearResidualsResultCSVModel
        • flow360.component.results.case_results.CFLResultCSVModel
        • flow360.component.results.case_results.MinMaxStateResultCSVModel
        • flow360.component.results.case_results.MaxResidualLocationResultCSVModel
        • flow360.component.results.case_results.TotalForcesResultCSVModel
        • flow360.component.results.case_results.SurfaceForcesResultCSVModel
        • flow360.component.results.case_results.SurfaceHeatTransferResultCSVModel
        • flow360.component.results.case_results.AeroacousticsResultCSVModel
        • flow360.component.results.case_results.LegacyForceDistributionResultCSVModel
        • flow360.component.results.case_results.XSlicingForceDistributionResultCSVModel
        • flow360.component.results.case_results.YSlicingForceDistributionResultCSVModel
        • flow360.component.results.case_results.UserDefinedDynamicsResultModel
        • flow360.component.results.case_results.ActuatorDiskResultCSVModel
        • flow360.component.results.case_results.ActuatorDiskCoefficientsCSVModel
        • flow360.component.results.case_results.BETForcesResultCSVModel
        • flow360.component.results.case_results.BETDiskCoefficientsCSVModel
        • flow360.component.results.case_results.BETForcesRadialDistributionResultCSVModel
        • flow360.component.results.case_results.PorousMediumResultCSVModel
        • flow360.component.results.case_results.PorousMediumCoefficientsCSVModel
      • Report
        • flow360.report.Chart2D
        • flow360.report.Chart3D
        • flow360.report.NonlinearResiduals
        • flow360.report.ReportTemplate
        • flow360.report.Summary
        • flow360.report.Table
        • Figure Specifications
          • flow360.report.Grouper
          • flow360.report.PatternCaption
          • flow360.report.Settings
          • flow360.report.FixedRangeLimit
          • flow360.report.ManualLimit
          • flow360.report.SubsetLimit
        • Data Utilities
          • flow360.report.DataItem
          • flow360.report.Delta
          • flow360.report.Variable
          • flow360.report.Average
          • flow360.report.Expression
          • flow360.report.GetAttribute
        • Chart3D Cameras
          • flow360.report.Camera
          • flow360.report.BottomCamera
          • flow360.report.FrontCamera
          • flow360.report.FrontLeftBottomCamera
          • flow360.report.FrontLeftTopCamera
          • flow360.report.LeftCamera
          • flow360.report.RearCamera
          • flow360.report.RearLeftTopCamera
          • flow360.report.RearRightBottomCamera
          • flow360.report.TopCamera
  • 6. Knowledge Base
    • 6.1. Preprocessing
      • Meshing Recommendations
      • CGNS Mesh Format and Multizone Interface Connectivity
      • STEP Format CAD Import for Automated Meshing
      • BET Disk
      • ESP Tutorials
        • ESP Tutorial for the ONERA M6 Wing
        • ESP Tutorial for a 2D Multi-element Airfoil
    • 6.2. Simulation
      • Time Stepping
      • NavierStokesSolver
      • TurbulenceModelSolver
      • TransitionModelSolver
      • HeatEquationSolver
      • Propeller Models and Rotational Volume Zones
      • Aeroacoustics
      • Solid
      • PorousMedium
    • 6.3. Validation Studies
      • NACA 0012 Low Speed Airfoil
      • 2D NACA 4412 Airfoil Trailing Edge Separation
      • 2D Backward Facing Step
      • Transition Modeling
      • Wall Model
      • High Lift Common Research Model (HL-CRM)
      • Drag Prediction of Common Research Model
      • ONERA M6 Wing
      • XV-15 Rotor Blade Analysis using the Blade Element Disk Method
      • DTU 10MW Wind Turbine
      • Scale-Resolving Simulations Past a Circular Cylinder
      • Aeroacoustics and Noise Simulation
      • Underwater Flow Around the DARPA Model 4740 Submarine
    • 6.4. Papers
  • 7. Release Notes
  • Repository
  • Open issue
  • .md

Navier-Stokes solver

Contents

  • Available Parameters
  • Detailed Descriptions
    • Absolute tolerance
    • Relative tolerance
    • Kappa MUSCL
    • Order of accuracy
    • Equation evaluation frequency
    • Linear solver - max iterations*
    • CFL multiplier
    • Numerical dissipation factor
    • Limit velocity
    • Limit pressure density
    • Low Mach preconditioner
    • Low Mach preconditioner threshold
    • Update Jacobian frequency
    • Max force jacobian update physical steps

Navier-Stokes solver#

The Navier-Stokes solver controls the compressible flow equations in Flow360. It determines how the simulation solves for fluid velocity, pressure, and density throughout the domain. Proper configuration of these parameters is essential for achieving accurate and converged solutions.


Available Parameters#

Parameter

Description

Absolute tolerance

Convergence criteria for NS residual

Relative tolerance

Relative residual reduction for unsteady cases

Kappa MUSCL

Parameter controlling the upwind/downwind/central scheme influence

Order of accuracy

Spatial discretization order (1st or 2nd)

Equation evaluation frequency

Frequency of solving equations

Linear solver - max iterations

Maximum iterations for linear solver

CFL multiplier

Factor applied to CFL specified in Time Stepping

Numerical dissipation factor

Controls dissipation

Limit velocity

Whether to apply limiters to velocity

Limit pressure density

Whether to apply limiters to pressure/density

Low Mach preconditioner

Acceleration technique for low Mach flows

Low Mach preconditioner threshold

Minimum Mach number for preconditioner scaling

Update Jacobian frequency

How often to update the Jacobian matrix

Max force jacobian update physical steps

Controls Jacobian matrix update criteria


Detailed Descriptions#

Absolute tolerance#

The primary convergence metric for how far to reduce the Navier-Stokes residuals.

  • Default: 1.0e-10

  • Example: 1.0e-8

Notes:

  • For steady cases, at least 5 orders of magnitude reduction is recommended

  • Controls when the solver determines the solution has converged

  • Smaller values result in more accurate solutions but may require more iterations

Relative tolerance#

Relative residual reduction target for the Navier-Stokes equations per physical step.

  • Default: 0.0

  • Example: 1e-2

Notes:

  • Applicable only with unsteady simulations

  • For unsteady cases, typically set to 1e-2

  • Once residuals drop by prescribed order of magnitude (0.01 means 2 orders of magnitude), solver proceeds to next physical step

Kappa MUSCL#

Controls the blending between upwind and central schemes in the spatial discretization.

  • Default: -1 (second-order upwind scheme)

  • Example: 0.33 (blended scheme for low dissipation)

Notes:

  • Range: [-1, 1] (values above 0.33 not recommended)

  • -1: Pure second-order upwind (most stable)

  • 0.33: Blended upwind/central scheme (less dissipative, good for low subsonic flows)

  • 1.0: Unstable full downwind scheme (avoid)

Order of accuracy#

Determines whether the solver uses 1st or 2nd order spatial discretization.

  • Default: 2 (second order)

  • Example: 1 (first order for initialization)

Notes:

  • 1st order: More stable but more dissipative, less accurate

  • 2nd order: More accurate but less stable

  • For initial flow field development in unsteady cases with rotating components, running 1st order for 1-2 revolutions can help establish the flow before switching to 2nd order

  • Should match the turbulence model’s order of accuracy

Equation evaluation frequency#

Controls how often (in pseudo steps) the Navier–Stokes equations are solved.

  • Default: 1

  • Example: 2–4

Notes:

  • 1 provides the most robust convergence

  • Higher values can reduce time cost but may slow down convergence

Linear solver - max iterations*#

Configures the maximum number of iterations solved at each pseudo-step for Navier-Stokes equations.

  • Default: 30

  • Example: 50

Note:

  • Increasing the parameter can improve robustness at added cost per pseudo-step

CFL multiplier#

Scaling factor applied to the CFL number defined in Time Stepping.

  • Default: 1.0

  • Example: 0.5 (for better stability)

Notes:

  • Reducing this value can help stability for challenging cases

  • Effective CFL = Time Stepping CFL × CFL Multiplier

Numerical dissipation factor#

Factor that controls the reduction in numerical flux dissipation for the low-dissipation Roe scheme.

  • Default: 1.0 (standard scheme)

  • Example: 0.2 (low dissipation)

Notes:

  • Range: [0.01, 1.0]

  • Recommended value: 0.2 for low-dissipation

Limit velocity#

Applies limiters to velocity to enhance stability in transonic/supersonic flows.

  • Default: False

  • Example: True (for transonic flows)

Notes:

  • Enable for transonic or supersonic cases

  • Can help prevent divergence in regions with strong shocks

Limit pressure density#

Applies limiters to pressure and density to enhance stability in transonic/supersonic flows.

  • Default: False

  • Example: True (for transonic flows)

Notes:

  • Enable for transonic or supersonic cases

  • Can help prevent negative pressures or densities near shocks

Low Mach preconditioner#

Improves solver convergence for low Mach number flows by addressing the stiffness in the equation system.

  • Default: False

  • Example: True (for flows with \(M <\) 0.3)

Notes:

  • Recommended for simulations with Mach number below 0.3

  • Particularly beneficial for nearly incompressible flows

  • Can significantly accelerate convergence for low-speed aerodynamics

Low Mach preconditioner threshold#

Minimum Mach number used in the preconditioner scaling.

  • Default: Freestream Mach number (if not specified)

  • Example: 0.1

Notes:

  • For flow regions with Mach numbers smaller than this threshold, the threshold value is used

  • Only relevant when low Mach preconditioner is enabled

Update Jacobian frequency#

Controls how often the Jacobian matrix is updated during the solution process.

  • Default: 4 (every 4 pseudo-steps)

  • Example: 1 (every pseudo-step for challenging cases)

Notes:

  • Smaller values improve robustness but increase computational cost

  • Reducing to 1 may help convergence for difficult cases

  • May slow the solver by up to approximately 30% when set to 1

Max force jacobian update physical steps#

If the current physical step is lower than this value, jacobian matrix will be updated at every pseudo step.

  • Default: 0 (disabled)

  • Example: 10

Notes:

  • Useful for cases where more stability is needed at the beginning


💡 Tips

  • For steady-state simulations:

    • Focus on absolute tolerance for convergence criteria

    • Consider using low Mach preconditioner for low-speed flows

    • Use 2nd order accuracy for final results

  • For unsteady simulations:

    • Use relative tolerance (typically 1e-2 or 1e-3)

    • For cases with rotating components, consider starting with 1st order for initialization

    • Use AdaptiveCFL instead of ramp CFL strategy to automatically balance stability and convergence speed

  • For low-dissipation schemes:

    • Start from a converged steady or unsteady solution

    • Aim for at least a two-order-of-magnitude reduction in nonlinear residuals

    • Consider halving the time step size

    • Use Kappa MUSCL = 1/3 for optimal accuracy

    • Set update Jacobian frequency = 1 for better stability

  • For transonic or supersonic flows:

    • Enable limiters for velocity and pressure/density

    • Use a more dissipative scheme (Kappa MUSCL = -1)


❓ Frequently Asked Questions

  • When should I use 1st order vs. 2nd order accuracy?

    Use 1st order for initial flow field development or for very challenging cases with strong discontinuities. Use 2nd order for final production runs to achieve accurate results. For unsteady simulations with rotating components, consider starting with 1st order for 1-2 revolutions before switching to 2nd order.

  • How do I know if my simulation has converged properly?

    For steady simulations, look for at least 5 orders of magnitude reduction in residuals and stable force coefficients. For unsteady simulations, ensure residuals drop by 2-3 orders of magnitude within each physical time step.

  • What can I do if my simulation is diverging?

    Try the following: (1) Use AdaptiveCFL instead of manual CFL settings to automatically adjust for stability, (2) Reduce the convergence limiting factor for complex cases with strong gradients or discontinuities, (3) Reduce the CFL number if using ramp CFL settings, (4) Switch to 1st order accuracy temporarily, (5) Enable limiters for transonic/supersonic flows, (6) Update the Jacobian more frequently (set update_jacobian_frequency = 1), (7) Check the mesh quality, particularly in high-gradient regions.

  • When should I use the low-dissipation scheme?

    Use it for unsteady simulations where capturing fine flow structures is important, especially for aeroacoustics, turbulent flows, and vortex-dominated flows. It works best for low Mach number flows and should be started from a well-developed solution.

  • How does the Kappa MUSCL parameter affect my solution?

    Kappa_MUSCL = -1 (default) gives a stable upwind scheme with higher numerical dissipation. Kappa MUSCL = 0.33 gives a less dissipative scheme that preserves flow features better but may be less stable. For low-speed flows without strong shocks, Kappa MUSCL = 0.33 often provides better results.

  • What’s the difference between absolute and relative tolerance?

    absolute_tolerance is used for both steady and unsteady simulations and represents the absolute value of the residual. relative_tolerance is only used for unsteady simulations and represents how much the residual must be reduced within each physical time step relative to the initial residual of that step.


🐍 Python Example Usage

Below is a Python code example showing how to configure the Navier-Stokes solver:

import flow360 as fl

# Basic configuration for the Navier-Stokes solver
ns_solver = fl.NavierStokesSolver(
    absolute_tolerance=1e-10,
    order_of_accuracy=2
)

# Configuration for a low-speed simulation
ns_solver_low_mach = fl.NavierStokesSolver(
    absolute_tolerance=1e-10,
    low_mach_preconditioner=True,
    low_mach_preconditioner_threshold=0.1,
    kappa_MUSCL=0.33
)

# Configuration for an unsteady simulation with low dissipation
ns_solver_unsteady = fl.NavierStokesSolver(
    absolute_tolerance=1e-10,
    relative_tolerance=1e-3,
    numerical_dissipation_factor=0.2,
    update_jacobian_frequency=1,
    linear_solver=fl.LinearSolver(max_iterations=50)
)

# Configuration for a transonic/supersonic flow
ns_solver_transonic = fl.NavierStokesSolver(
    absolute_tolerance=1e-10,
    limit_velocity=True,
    limit_pressure_density=True,
    CFL_multiplier=0.5
)

previous

Fluid model

next

Turbulence model

Contents
  • Available Parameters
  • Detailed Descriptions
    • Absolute tolerance
    • Relative tolerance
    • Kappa MUSCL
    • Order of accuracy
    • Equation evaluation frequency
    • Linear solver - max iterations*
    • CFL multiplier
    • Numerical dissipation factor
    • Limit velocity
    • Limit pressure density
    • Low Mach preconditioner
    • Low Mach preconditioner threshold
    • Update Jacobian frequency
    • Max force jacobian update physical steps

By Flexcompute Inc

© Copyright Flexcompute 2020-2026.