MSC Sinda > Solvers, Time Step and Result Accuracy > Time Step Methods
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Time Step Methods
The following MSC Sinda variables are important, but not user-settable parts of the MSC Sinda solution (both have units of [time]).
DTIMEU = the current computational time step
CSGMIN = the smallest thermal time constant for any diffusion node in the model
As the solution progresses, DTIMEU is determined by the standard or adaptive method. The solver then looks ahead to the next output point (governed by the OUTPUT control constant). If necessary, DTIMEU is truncated so output occurs at the expected time. If OUTPUT is consistently smaller than the calculated DTIMEU values, OUTPUT effectively becomes the time step. This is true for all transient solvers.
Standard Time Stepping
Normally, the user specifies CSGFAC, and DTIMEU = CSGFAC*CSGMIN. Often, CSGFAC 1 is used. If CSGFAC is not specified, then MSC Sinda defaults to CSGFAC = 1. Using CSGFAC instead of directly specifying the time step is preferred because the CSGMIN value and associated node (NCSGMN) may change dynamically during the solution. Though not common, direct time step specification is sometimes preferred. This is done with DTIMEI. If DTIMEI is specified, then DTIMEU = DTIMEI and CSGFAC is not applied.
When choosing a time step, CSGFAC = 1.0 is almost always a safe setting, though it is best to be aware of some cases where this is not true. DTIMEU = CSGFAC * CSGMIN, where CSGMIN is determined from capacitance and conductance values. If capacitance or conductance values change dynamically, time step compensation automatically occurs. However, other factors (such as heat sources) may also vary as a function of time. Accurate solution requires the time step to be small enough to resolve these variations too, not just capacitance and conductance changes.
It is usually worth the trouble to run one initial case with SNDUFR or FWDBKL using CSGFAC = 1. In most cases, this will be an accurate result. The output headers in the SOT file list CSGMIN values which are useful if further time step work is needed. The headers also show values for DTIMEU, but usually DTIMEU has been truncated to ensure output at the proper time, and is not a typical value.
Running a series of cases with increasingly large CSGFAC values (1, 2, 4, 8 …) is a good way to determine an upper time step limit. An equivalent study can be performed with increasingly large DTIMEI values also.
If running MSC Sinda in single precision, avoid solutions that take more than about 100,000 time steps. This can be determined by comparing the time step to TIMEND. This limitation does not apply to the double precision version of MSC Sinda.
SNFRDL does not obey these time step rules. For this seldom used solver, CSGMIN is a stability limit, meaning the solution eventually diverges if DTIMEU > CSGMIN. So, for this transient solver, DTIMEU = CSGMIN/CSGFAC and DTIMEU < 0.95*CSGMIN is enforced.
Adaptive Time Stepping
These solvers use a variation of the standard method to get initialized. This process occurs during the first 25 to 30 time steps. Once this start-up is completed, these solvers no longer use CSGFAC or DTIMEI, instead dynamically adjusting the time step based on numerical error estimates.
The 4 governing control constants are ERRMAX, ERRMIN, ATSLIM, and ATSLM1. If the error > ERRMAX, the solver backs up and tries a shorter DTIMEU, repeating this until the error estimate is satisfied. If the error < ERRMIN, then a larger DTIMEU will be attempted next time. In general, this means the solver uses smaller time steps when temperatures change rapidly, and larger time steps when temperature change more slowly. Thus, the numerical range of ERRMIN < ERRMAX actually controls the accuracy of the solution. See the Library Reference Guide for default ERRMIN and ERRMAX values for the various ATS solvers.
ATSLIM and ATSLM1 set the upper and lower bounds on the size of the time step, so that DTIMEU ATSLM1*CSGMIN and DTIMEU ATSLIM*CSGMIN are both true statements. By default, ATSLIM = 100 and ATSLM1 = 0.1.