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.