8.2.1. timeStepping#

8.2.1.1. timeStepSize#

timeStepSize prescribes the size of each physical time step. For steady case, there is only one physical time step with timeStepSize = \(\infty\).

For unsteady cases, there are two typical ways for determining the timeStepSize:

8.2.1.1.1. Vortex Shedding Frequency#

The vortex shedding frequency can be estimated by:

(8.2.1)#\[f = \frac{St \cdot U_\infty}{D }\]

where \(U_\infty\) is the freestream speed, \(D\) is the characteristic length, for example the mean aerodynamic chord, and \(St\) is the Strouhal Number. An approximation of \(St = 0.2\) is typically appropriate for most CFD applications.

Typically, the physical time step size \(\Delta t\) is set as:

(8.2.2)#\[\Delta t = \frac{1}{100} \cdot \frac{1}{f}\]

Note that the nondimensional timeStepSize in Flow360.json should be:

(8.2.3)#\[\text{timeStepSize} = \Delta t \cdot \frac{C_\infty}{L_\text{gridUnit}}\]

Here is an example showing how to convert the physical time step size to nondimensional timeStepSize.

8.2.1.1.2. Angle of Rotation per Step#

If there is a transient BET Line or a sliding interface modeled, then the timeStepSize can be calculated from the desired angle of rotation in each physical step.

Table 8.2.1 Recommended angle of rotation per step for different scenarios.#

Scenario

Angle per timeStepSize

Transient BETDisks (i.e., BET Line)

6 deg/step

Rotor in sliding interface, phase-I:
Initializing the flow-field with 1st-order solver

6 deg/step

Rotor in sliding interface, phase-II:
Initializing the flow-field with 2nd-order solver

6 deg/step

Rotor in sliding interface, phase-III:
Collecting the data with 2nd-order solver

3 deg/step

Strong blade-vortex interaction (hover/descent)

1-2 deg/step

Generating high-quality time-resolved animation

0.5-1 deg/step

For more information about 1st versus 2nd order solution, see orderOfAccuracy. Once the angle per step is determined, then the timeStepSize can be calculated:

(8.2.4)#\[\text{timeStepSize} = \frac{\theta}{\Delta t} \cdot \frac{\pi}{180} \cdot \frac{1}{\text{omegaRadians}}\]

where \(\theta\) is the angle of rotation in degrees. Note that the omegaRadians here is the nondimensional rotation speed, which can be easily converted from RPM.

8.2.1.2. maxPseudoSteps#

  • For steady cases, maxPseudoSteps is typically 5K~10K. If the nonlinear residuals and/or the forces and moments are still changing, the user can always fork the completed case and let it run more pseudo steps.

  • For unsteady time-accurate cases, maxPseudoSteps is typically slightly larger than rampSteps so the final CFL can be achieved. As shown in the examples below, when rampSteps = 10 then maxPseudoSteps should be set to 12. If rampSteps = 33 then maxPseudoSteps should be set to 35.

Example timeStepping for the 1st-order unsteady cases
"maxPseudoSteps" : 12,
"CFL" : {
    "initial" : 1,
    "final" : 1000,
    "rampSteps" : 10
}
Example timeStepping for the 2nd-order unsteady cases
"maxPseudoSteps" : 35,
"CFL" : {
    "initial" : 1,
    "final" : 1e+7,
    "rampSteps" : 33
}

For more information about 1st versus 2nd order solution, see orderOfAccuracy. The CFL number will be discussed in the following subsection.

8.2.1.3. CFL#

The CFL number determines the pseudo step size in each physical step. The table below shows how to ramp up the CFL number for steady and unsteady cases.

Table 8.2.2 Recommended CFL ramp up for steady and unsteady cases.#

Example

Type

initial

final

rampSteps

Simple wing or fuselage, mostly attached linear flow

Steady

5

200

100

Full aircraft with nonlinear flow, some separation, simple actuator/BET disks

Steady

1

100~150

1K~2K

Full aircraft near onset of stall, large-scale separation, challenging actuator/BET disks

Steady

0.1~1

10~50

3K~5K

Forked/child case

Steady

parent final CFL

parent final CFL

1

Rotor in sliding interface, 1st-order solver

Unsteady

1

1000

~10

Rotor in sliding interface, 2nd-order solver

Unsteady

1

1e+5~1e+7

30~50

  1. For steady cases, initial CFL < 1, final CFL < 100, rampSteps > 3K are considered as conservative. Such conservative values are only recommended for challenging cases.

  2. For unsteady cases, it is typically recommended to let the nonlinear residuals drop 2~3 orders of magnitude in each physical step. That is why higher final CFL and more aggressive CFL ramping values are suggested.

  3. For unsteady cases running 2nd-order solver, final CFL < 1e+5, rampSteps > 50 are considered as conservative. Decreasing rampSteps and maxPseudoSteps within each physical step will decrease the overall cost and runtime. For more information about 1st versus 2nd order solutions, see orderOfAccuracy.