TRACE User Guide  TRACE Version 9.6.1
Time integration settings

StartViscousTimestep

Activate settings for viscous timestep calculations. Include spectral radii of the viscous flux Jacobians in the computation of timesteps.

Usage
StartViscousTimestep <viscCFL>
Parameters
viscCFLviscous CFL number
Domain
all, component, stage, group, blockGroup, block
Example
all immediate StartViscousTimestep 1
Since
8.2

UseLegacyCompatibilityMode

Enable the use of the legacy compatibility mode. This mode will yields a solver behaviour of spliss which is equivalent to the legacy linear solver. Spliss per default uses a coloring algorithm which favors thread parallelism, but is weaker in terms of algorithmic performance. Note that this mode does NOT re-enable the legacy solver if TRACE was compiled with USE_SPLISS. Also note, that this mode only affects unstructured blocks. Structured blocks are already equivalent to the legacy linear solver anyway.

Usage
UseLegacyCompatibilityMode <ON|OFF>
Parameters
ONenable use of the legacy compatibility mode
OFFdisable use of the legacy compatibility mode
Example
all immediate UseLegacyCompatibilityMode ON
Since
9.6

UseNodeLevelIMEX

Differentiate between implicit and explicit nodes at the cell level (rather than just at the block level).

Usage
all immediate UseNodeLevelIMEX
Domain
all
Since
9.4

CflPenaltyHindersConvergence

If convergence control is active, hinder convergence if a CFL penalty is active.

Usage
CflPenaltyHindersConvergence <ON|OFF> (Default: ON)
Domain
all
Example
all immediate CflPenaltyHindersConvergence OFF
Since
9.6

StartWriteIrkError

Start to compute temporal error estimated by IRK and writes error into 3D CGNS file.

Usage
StartWriteIrkError
Domain
all
Example
all timestep 2 StartWriteIrkError
Precondition
Use implicit Runge-Kutta as time integration scheme
Warning
Do not use this command at immediate level
Since
8.1

StopWriteIrkError

Stop the computation of the temporal error estimated by IRK and writing the error into 3D CGNS file.

Usage
StopWriteIrkError
Domain
all
Example
all timestep 3 StopWriteIrkError
Precondition
Use implicit Runge-Kutta as time integration scheme
Warning
Do not use this command at immediate level
Since
8.1

ImExTimeIntegrationImplicit

Force the use of the implicit part of the IMEX time-integration method in the specified block. Can only be used in combination with IMEX Runge-Kutta methods.

Usage
ImexTimeIntegrationImplicit
Domain
all, component, stage, group, blockGroup, block
Example
block 4 immediate ImexTimeIntegrationImplicit
Since
9.4

UseILU0DiagonalCorrection

Enable the use of ILU(0) diagonal entries if the ILU solver is used for the implicit system in flow and transport equations. For the SGS and SSOR solver this command has no effect.

Usage
UseILU0DiagonalCorrection <ON|OFF>
Parameters
ONenable use of ILU(0) diagonal entries
OFFdisable use of ILU(0) diagonal entries (default)
Domain
all, blockGroup
Example
all immediate UseILU0DiagonalCorrection ON
Since
9.5

SetPseudoTimeIterations

Sets the number of pseudo time iterations used in the dual-time stepping algorithm every physical time step.

Usage
SetPseudoTimeIterations <number>
SetPseudoTimeIterations <stage> <number>
Parameters
numberNumber of pseudo-time iterations.
stageStage of IRK scheme. (if IRK is active)
Domain
all, blockGroup
Example
all immediate SetPseudoTimeIterations 20
all immediate SetPseudoTimeIterations 1 20
Since
7.5

SetTimeIntegrationMethod

Activate a particular time-integration method.

Usage
SetTimeIntegrationMethod <method>
Parameters
method(one of CrankNicolson, EulerBackward, ImplicitRungeKutta, ExplicitRungeKutta, ImplicitExplicitRungeKutta).
Domain
all, blockGroup
Since
9.2

SetRungeKuttaMethod

Activate a (non-default) Runge-Kutta method.

Usage
SetRungeKuttaMethod <method>
Parameters
method(one of FourthOrderExplicitFiveStage, SecondOrderExplicitTwoStage, ThirdOrderExplicitFourStage).
Domain
all, blockGroup
Since
9.2

SetIntegrationMethod

Set integration method.

Usage
SetIntegrationMethod <method>
Parameters
methodIntegration method (one of PredictorCorrector, GaussSeidel).
Domain
all, blockGroup
Example
all immediate SetIntegrationMethod PredictorCorrector
Since
9.1

SetTimeAccuracy

Change time integration accuracy.

Usage
SetTimeAccuracy <order>
Parameters
orderaccuracy (one of 1stOrder, 2ndOrder for BDF; one of 1stOrder, 2ndOrder, 3rdOrder, 4thOrder, 5thOrder for IRK).
Domain
all, blockGroup
Example
all immediate SetTimeAccuracy 2ndOrder
Since
7.5

SetNumberOfTimeSteps

Set the maximum absolute time step at which TRACE terminates. TRACE may terminate earlier if convergence/divergence criteria are met.

Warning
In case of a restart the value given is not added to the initial time step.
Usage
SetNumberOfTimeSteps <time step>
Parameters
number_of_time_stepsabsolute time steps of the simulation (integer)
Domain
all, blockGroup
Example
all immediate SetNumberOfTimeSteps 10000
Since
8.0

SetNumberOfIterations

Set the maximum - relative to the initial time step - number of iterations till TRACE terminates (initial time step + iterations = number of total time steps). TRACE may terminate earlier if convergence/divergence criteria are met.

Usage
SetNumberOfIterations <number_of_iterations>
Parameters
number_of_iterationsiterations till termination of the simulation (integer)
Domain
all, blockGroup
Example
all immediate SetNumberOfIterations 5000
Since
9.4.2

SetGlobaldT

Set global time step size.

Usage
SetGlobaldT <dt>
Parameters
dttime step size in seconds
Domain
all, blockGroup
Warning
Do not use this command together with Fourier output
Example
all immediate SetGlobaldT 0.001
Since
7.5

SetNumberOfTimeStepsPerPeriod

Set the number of time-steps over which the solution is to be averaged in order to compute time-averaged values.

Usage
SetNumberOfTimeStepsPerPeriod <nTimeStepsPerPeriod>
Parameters
nTimeStepsPerPeriodnumber of time-steps required to integrate over a single period
Domain
all, blockGroup
Example
all immediate SetNumberOfTimeStepsPerPeriod 32
Since
9.2

RampCflNum

Set parameters for CFL ramp.

Usage
RampCflNum <startCFLvalue> <targetCFLvalue> <duration>
Parameters
startCFLvalueCFL number at start of ramp.
targetCFLvalueCFL number at end of ramp.
durationNumber of time steps from current to reach target.
Domain
all, component, stage, group, blockGroup, block
Example
all immediate RampCflNum 1 20 200
will Ramp the CFL number from beginning of simulation within 200 steps from 1 to 20.
all timestep 100 RampCflNum 1 20 200
will Ramp the CFL number from time step 100 within 200 steps from 1 to 20.
Since
9.2

SetCflNum

Sets the CFL number of the selected blocks or activates automatic CFL number control via the AUTO keyword.

The automatic CFL number control evaluates the slope of one of the Monitor functions:

  • L1_global global L1 residual of the flow equations
  • L2_global global L2 residual of the flow equations
  • Lmax_global global maximum residual of the flow equations
  • L1_family block-family L1 residual of the flow equations
  • L2_family block-family L2 residual of the flow equations
  • Lmax_family block-family maximum residual of the flow equations
  • L1_block block-local L1 residual of the flow equations
  • L2_block block-local L2 residual of the flow equations
  • Lmax_block block-local maximum residual of the flow equations

In case of a negative slope the non-penalized CFL number is increased by the specified GrowthRate, otherwise it is decreased by the specified DecayRate. Furthermore, it is limited to the specified LowerBound and UpperBound.

Usage
SetCflNum <CFL|AUTO> [Monitor] [DecayRate] [GrowthRate] [LowerBound] [UpperBound]
Parameters
CFL|AUTOCFL number or keyword AUTO for automatic CFL number control with additional parameters
Monitorone of the above monitor functions used for CFL number control
DecayRateCFL decay rate in case of a positive or constant slope of the chosen monitor function (0 < DecayRate < 1)
GrowthRateCFL growth rate in case of a negative slope of the chosen monitor function (0 < GrowthRate < DecayRate / (1 - DecayRate))
LowerBoundlower bound for the non-penalized CFL number (0 < LowerBound)
UpperBoundupper bound for the non-penalized CFL number (LowerBound <= UpperBound)
Domain
all, component, stage, group, blockGroup, block
Example
all timestep 10 SetCflNum 20
Example
all immediate SetCflNum AUTO L1_global 0.5 0.9 1 1e6
Since
7.3
9.1.133 (AUTO option)

SetCflPenalty

Configures CFL penalization of blocks that encounter a critical flow state. In that case the block is reset and its CFL number is penalized by the PenaltyFactor. The CFL penalty recovers in the following iteration steps by the PenaltyRecoveryRate up to the non-penalized CFL number. If the penalized CFL number drops below the MinimumAllowedCflNumber the simulation aborts. In robust mode only a warning is issued. If the penalized CFL number reaches a value of zero the simulation aborts unconditionally.

Usage
SetCflPenalty <PenaltyFactor> <PenaltyRecoveryRate> <MinimumAllowedCflNumber>
Parameters
PenaltyFactorpenalization per failed solution update (0 < PenaltyFactor < 1, default: 0.9)
PenaltyRecoveryRaterecovery rate of penalization per successful solution update (0 < PenaltyRecoverRate, default: 0.1)
MinimumAllowedCflNumberminimum penalized CFL number that is tolerated before the simulation aborts (inactive if MinimumAllowedCflNumber <= 0, default: 1e-6)
OFFdeactivates the CFL penalty for steady and unsteady time-domain
Domain
all, component, stage, group, blockGroup, block
Example
all immediate SetCflPenalty 0.9 0.1 0
Example
all immediate SetCflPenalty OFF
Since
9.1.133

TolerateNoSolutionUpdate

In unsteady time-domain, TRACE throws a serious if the solution update fails in all sub-iterations. With command TolerateNoSolutionUpdate, a warning is issued instead of a serious. It is tolerated that the flow solution is not updated during a time step, i.e. active CFL penalty in all sub-iterations. Command can only be used for blockgroups in unsteady mode, otherwise the simulation aborts.

Domain
all, component, stage, group, blockGroup, block
Example
all immediate TolerateNoSolutionUpdate
Since
9.4.330

SetPseudoTimeSteppingMode

Sets the pseudo-time stepping mode of the pseudo-time solvers.

Usage
SetPseudoTimeSteppingMode <local|localAllHarmonics|block|blockAllHarmonics|family|familyAllHarmonics|global>
Parameters
localcell based local pseudo time stepping (pseudo-time step computed separately for each harmonic) (default)
localAllHarmonicscell based local pseudo time stepping (pseudo-time step computed identically for all harmonics, in time-domain solver modes equivalent to local)
blockblock based pseudo time stepping (pseudo-time step computed separately for each harmonic)
blockAllHarmonicsblock based pseudo time stepping (pseudo-time step computed identically for all harmonics, in time-domain solver modes equivalent to block)
familyfamily based pseudo time stepping (pseudo-time step computed separately for each harmonic)
familyAllHarmonicsfamily based pseudo time stepping (pseudo-time step computed identically for all harmonics, in time-domain solver modes equivalent to family)
globalglobal pseudo time stepping means same time step in the entire domain (pseudo-time step computed identically for all harmonics)
Domain
all, component, stage, group, blockGroup, block
Example
all immediate SetPseudoTimeSteppingMode block
Since
9.1.378