flow360.NavierStokesSolver#
- class NavierStokesSolver[source]#
Bases:
GenericSolverSettings
NavierStokesSolver
class for setting up the compressible Navier-Stokes solver. For more information on setting up the numerical parameters for the Navier-Stokes solver, refer to Navier-Stokes solver knowledge base.Example
>>> fl.NavierStokesSolver( ... absolute_tolerance=1e-10, ... numerical_dissipation_factor=0.01, ... linear_solver=LinearSolver(max_iterations=50), ... low_mach_preconditioner=True, ... )
- absolute_tolerance: PositiveFloat = 1e-10#
Tolerance for the NS residual, below which the solver goes to the next physical step.
- Constraints:
gt = 0
- CFL_multiplier: PositiveFloat = 1.0#
Factor to the CFL definitions defined in the Time Stepping section.
- Constraints:
gt = 0
- kappa_MUSCL: pd.confloat(ge=-1, le=1) = -1#
Kappa for the MUSCL scheme, range from [-1, 1], with 1 being unstable. The default value of -1 leads to a 2nd order upwind scheme and is the most stable. A value of 0.33 leads to a blended upwind/central scheme and is recommended for low subsonic flows leading to reduced dissipation.
- Constraints:
ge = -1
le = 1
- numerical_dissipation_factor: pd.confloat(ge=0.01, le=1) = 1#
A factor in the range [0.01, 1.0] which exponentially reduces the dissipation of the numerical flux. The recommended starting value for most low-dissipation runs is 0.2.
- Constraints:
ge = 0.01
le = 1
- type_name: Literal['Compressible'] = 'Compressible'#
- low_mach_preconditioner_threshold: NonNegativeFloat | None = None#
For flow regions with Mach numbers smaller than threshold, the input Mach number to the preconditioner is assumed to be the threshold value if it is smaller than the threshold. The default value for the threshold is the freestream Mach number.
- update_jacobian_frequency: PositiveInt = 4#
Frequency at which the jacobian is updated.
- Constraints:
gt = 0
- max_force_jac_update_physical_steps: NonNegativeInt = 0#
When physical step is less than this value, the jacobian matrix is updated every pseudo step.
- Constraints:
ge = 0
- relative_tolerance: NonNegativeFloat = 0#
Tolerance to the relative residual, below which the solver goes to the next physical step. Relative residual is defined as the ratio of the current pseudoStepβs residual to the maximum residual present in the first 10 pseudoSteps within the current physicalStep. NOTE: relativeTolerance is ignored in steady simulations and only absoluteTolerance is used as the convergence criterion.
- Constraints:
ge = 0
- order_of_accuracy: Literal[1, 2] = 2#
Order of accuracy in space.
- equation_evaluation_frequency: PositiveInt = 1#
Frequency at which to solve the equation.
- Constraints:
gt = 0
- linear_solver: LinearSolver = LinearSolver(max_iterations=30, absolute_tolerance=None, relative_tolerance=None)#