At the beginning of a transient simulation all solution variables are set to their initial values. Unfortunately, there are no previous solutions available, hence, the initial time-step has to be chosen by simply assuming a certain initial time-step , assembling the vector functions f and checking the norm of these control vector functions. Then is adapted according to a specified accuracy . This simple relation is given by (4.1-31) and fulfills the practical requirements, where denotes the infinity norm of f.
The second task is more complicated. Generally speaking, with the Newton method we are able to obtain the nonlinear equation solution for a given time , but this time step has to be adapted during the transient simulation to minimize the time discretization error, which is . Normally, the gradients of the dopant concentrations are decreasing with increasing simulation time. In this case the time step size can be increased without loosing accuracy. On the other hand, too large time steps can result in non-convergence of the nonlinear system due to the time discretization. Therefore, an efficient control is needed to determine the simulation time steps. In principle one can use either a priori or a posteriori time step estimation schemes. The first one can be realized by extrapolation techniques, where the new time step is estimated from the old time step history. In the case of multilayer structures with diffusion barriers, these diffusion barriers will likely cause non-convergence of several time steps. In this case the time step size has to be decreased until the nonlinear solution system converges. The time discretization error is often estimated by higher order discretization terms [Wim93].
A posteriori schemes are based on time discretization error estimates performed at the end of a solution of the nonlinear system. The scheme we describe here is the so-called two-level step doubling strategy [Jop93]. This scheme needs three full solutions of the nonlinear system to obtain the next time step (see Fig. 4.1-10).
Figure 4.1-10: Two-level
step doubling transient integration scheme. Three full solutions of the
nonlinear system (1,2,3) at specified times are necessary to obtain the time
discretization errors and .
First, the full time step is applied and the nonlinear system is solved for the time . In the case of non-convergence of the Newton system we reject the time step and try it again with half the time step. Then two half-steps are performed starting also from . After the solutions and are obtained, the time discretization error is evaluated at the simulation time as given by (4.1-32), where q gives the order of the time discretization method (q=1 for backward Euler time discretization). The discretization error at can be interpolated from as shown in (4.1-33).
When the time discretization errors are known, we decide whether to stretch or reject the current time step by the algorithm given below.
Thereby the time discretization error is compared to the transient error limit . If the coarse time integration fulfills the criteria, we stretch the current time step, otherwise we check the criterion for and, if successful, leave the step size unchanged. If all of the above criteria fail, we reject the actual time step and start again with half of the time step. In this case only two solutions have to be performed, because the time step was already calculated by the previous run.
if ( E )
t = t stretch
else
if ( E )
t = t
else
reject
t = t reject
endif
endif
From the computational point of view the step-doubling scheme requires three full solutions of the nonlinear system, which might be a high price for correct transient adaptation especially for long term diffusion simulation problems.