26. SIMULATION_CONTROL Namelist (Experimental)

26.1. Overview

There may be points in time during a simulation when something changes abruptly; a boundary condition or source turns on/off, or a physics model is enabled/disabled, for example. In such circumstances it is best to hit these times precisely with a time step and then continue from that point with a reduced step size appropriate to resolving the time transients that result from the impulsive forcing of the model—in essence, to split the simulation seamlessly into a sequence of phases where each phase is a new simulation whose initial state is the final state of the preceding phase. This experimental namelist provides a means for achieving this. The start time of each additional phase subsequent to the initial phase is specified using the Phase_Start_Times array, and the initial step size using either the Phase_Init_Dt or Phase_Init_Dt_Factor variables. Truchas will hit those times precisely with a time step, smoothly adjusting the step size in advance to avoid abrupt step size changes, and then effectively restart the timestepping. Currently this only effects the second-order diffusion solver which maintains a (smooth) history of states at recent time steps. When restarting that history is deleted and time stepping begins fresh using only the current state.

26.2. SIMULATION_CONTROL Namelist Features

Required/Optional : Optional
Single/Multiple Instances: Single

26.3. Components

Equation

Description : When approaching an event time, such as an output time, the time step sizes are gradually adjusted to hit the time precisely. This variable specifies the number of steps over which this occurs.
Type : integer
Default : 5
Valid Values: \(\geq 2\)
Note : A value of 1 would mean no step size adjustment until a step would go beyond the event time. This can result in needing to take an arbitrarily small time step and one smaller than the minimum allowed, and thus this is not allowed. The greater the lookahead, the more gradually the time step will be reduced.

Phase_Init_Dt

Description : The initial time step size to use for each of the simulation phases. This is the analog of Dt_Init, which is used for the initial (and default) phase of the simulation. Either Phase_Init_Dt or Phase_Init_Dt_Factor must be specified, but not both.
Type : real
Default : none

Phase_Init_Dt_Factor

Description : The initial time step size used for each of the simulation phases is this factor times the last step size of the preceding phase. Either Phase_Init_Dt or Phase_Init_Dt_Factor must be specified, but not both.
Type : real
Default : none

Phase_Start_Times

Description : The list of starting times of each of the phases.
Type : real array
Default : none
Note : The initial simulation phase, which is otherwise the only phase, need not be included in this list, though it may be. The provided list of times is sorted, and the first time greater than the initial time is taken as the start of the first phase following the default initial phase; earlier times are ignored.