Better ways to deal with the nonlinearity: The simplest algorithm to deal with the nonlinearity of the
equations is to use the velocity, pressure and temperature of the previous time step to evaluate the
coefficients that appear in the flow equations (1)–(2); and the velocity and pressure of the current time
step as well as the previous time step’s temperature to evaluate the coefficients in the temperature
equation (3). A slight improvement of this scheme – and the one that is the default in ASPECT –
is to use velocities, pressures, and temperatures that are extrapolated from previous time steps to the
current time. This is an appropriate strategy if the model is not too nonlinear; however, it introduces
inaccuracies and limits the size of the time step if coefficients strongly depend on the solution variables.
To avoid this, one can iterate out the equations using either a fixed point or Newton scheme. Both
approaches ensure that at the end of a time step, the values of coefficients and solution variables are
consistent. On the other hand, one may have to solve the linear systems that describe a time step more
than once, increasing the computational effort.
ASPECT currently already implements methods that iterate out the nonlinearity based on various
fixed point strategies. These are based on some earlier experiments by Jennifer Worthen [Wor12]. What
is missing, though, is a proper Newton method.