next up previous
Next: 4.3.1 Time Step Size Up: 4. Two-Dimensional Transient Simulation Previous: 4.2 Transient Simulation


4.3 Time Step Size Estimation

Most transient simulations consist of a considerable number of time steps. Therefore the choice of the time step size is critical for the efficiency of transient simulations. Similar to the spatial discretization grid the use of a constant time step size causes either poor accuracy or a large number of steps.

A constant time step size is used when the advantages of variable step size are small as for example for simple periodic input signals, e.g., sinusoids, and when one wants to avoid the computational overhead of a sophisticated time step control. The most important case where constant time step sizes are used is when the simulation results are the input of some post processing in which a constant time step size leads either to higher accuracy or to more efficient algorithms, e.g., discrete Fourier transformation.

In the general case a variable time step size is used. For simple problems the optimum time step size can be determined analytically. When simulating general semiconductor devices this is not possible and therefore numeric methods have to be used to estimate the step size.

Figure 4.5: Estimation of the discretization error with the two level step doubling method.
\includegraphics[width=12cm]{eps/twolevel.eps}

One method to determine the optimum time step size is to estimate the discretization error and then choose the step size in such a way that a given threshold is not exceeded. However, in most cases the estimation of the discretization error is computationally quite expensive and might exceed the advantage gained in comparison to a simpler method which chooses time step sizes that are smaller than the optimum step size. For example in the two-level step doubling method [35] for a chosen step size one transient step is calculated with this step size and compared to the result of two transient steps with half the step size to estimate the time discretization error E$\scriptstyle \Delta$t (see Fig. 4.5).

E$\scriptstyle \Delta$t = $ {\frac{2^{q}}{2^{q} - 1}}$ . || C$\scriptstyle \Delta$t/2 - C$\scriptstyle \Delta$t|| (4.2)

Here E$\scriptstyle \Delta$t is the discretization error for a time step of size $ \Delta$t. The order of the time discretization which is one for the backward Euler method is given by q. C$\scriptstyle \Delta$t is the value of the discretized quantity C after a time step of size $ \Delta$t. C$\scriptstyle \Delta$t/2 is the value of the same quantity after two time steps of size $ \Delta$t/2 starting at the same instance.

The only method to guarantee that the step sizes are not chosen too big is to check the discretization error. For many applications this is not practicable and therefore other quantities are used to estimate the step size and to decide whether the last step was too big. Many of these methods are computationally very efficient but they have to be used with caution because there is no direct control of the discretization error. Therefore some experience is required in choosing appropriate parameters.

A very simple method to determine whether the time step size can be increased or has to be reduced is to use the number of iterations of the nonlinear equation system which are necessary to compute a time step. Another frequently used method is to check the update norm of the last calculated time step n.




next up previous
Next: 4.3.1 Time Step Size Up: 4. Two-Dimensional Transient Simulation Previous: 4.2 Transient Simulation
Martin Rottinger
1999-05-31