Temporal discretization

In applied physics and engineering, temporal discretization is a mathematical technique for solving transient problems, such as flow problems.

Transient problems are often solved using computer-aided engineering (CAE) simulations, which require discretizing the governing equations in both space and time. Temporal discretization involves the integration of every term in various equations over a time step ($$\Delta t$$).

The spatial domain can be discretized to produce a semi-discrete form: $$\frac{\partial \varphi}{\partial t}(x,t) = F(\varphi).~$$

The first-order temporal discretization using backward differences is $$\frac{\varphi^{n+1} - \varphi^n}{\Delta t} = F(\varphi),$$

And the second-order discretization is $$\frac{3\varphi^{n+1} - 4\varphi^{n}+\varphi^{n-1}}{2\Delta t} = F(\varphi),$$ where
 * $$\varphi $$ is a scalar
 * $$n + 1 $$ is the value at the next time, $$t + \Delta t$$
 * $$n $$ is the value at the current time, $$t$$
 * $$n - 1 $$ is the value at the previous time, $$t - \Delta t$$

The function $$F(\varphi)$$ is evaluated using implicit- and explicit-time integration.

Description
Temporal discretization is done by integrating the general discretized equation over time. First, values at a given control volume $$P$$ at time interval $$t$$ are assumed, and then value at time interval $$t + \Delta t$$ is found. This method states that the time integral of a given variable is a weighted average between current and future values. The integral form of the equation can be written as: $$\frac{\varphi^{n+1} - \varphi^n}{\Delta t} = f\cdot F( \varphi^{n+1}) + (1-f) \cdot F( \varphi^n ),$$ where $$f$$ is a weight between 0 and 1.


 * $$f = 0.0$$ yields the fully explicit scheme.
 * $$f = 1.0$$ yields the fully implicit scheme.
 * $$f = 0.5$$ yields the Crank-Nicolson scheme.

This integration holds for any control volume and any discretized variable. The following equation is obtained when applied to the governing equation, including full discretized diffusion, convection, and source terms. $$ \int_t^{t+\Delta t} F(\varphi) \, dt = [ f\cdot F_\varphi^{t+\Delta t} + (1-f)\cdot F_\varphi^t ] \, \Delta t $$

Methods for evaluating function F(φ)
After discretizing the time derivative, function $$F(\varphi)$$ remains to be evaluated. The function is now evaluated using implicit and explicit-time integration.

Implicit-time integration
This methods evaluates the function $$F(\varphi)$$ at a future time.

Formulation
The evaluation using implicit-time integration is given as: $$\frac{\varphi^{n+1} - \varphi^n}{\Delta t} = F( \varphi^{n+1} ),$$

This is called implicit integration as $$\varphi^{n+1}$$ in a given cell is related to $$\varphi^{n}$$ in neighboring cells through $$F(\varphi^{n+1})$$: $$\varphi^{n+1} = \varphi^n + \Delta t F( \varphi^{n+1} ),$$

In case of implicit method, the setup is unconditionally stable and can handle large time step ($$\Delta t$$). But, stability doesn't mean accuracy. Therefore, large $$\Delta t$$ affects accuracy and defines time resolution. But, behavior may involve physical timescale that needs to be resolved.

Explicit-time integration
This methods evaluates the function $$F(\varphi)$$ at a current time.

Formulation
The evaluation using explicit-time integration is given as: $$\frac{\varphi^{n+1} - \varphi^n}{\Delta t} = F(\varphi^n),$$

And is referred as explicit integration since $$\varphi^{n+1}$$ can be expressed explicitly in the existing solution values, $$\varphi^{n}$$: $$\varphi^{n+1} = \varphi^n + \Delta t \, F( \varphi^n ),$$

Here, the time step ($$\Delta t$$) is restricted by the stability limit of the solver (i.e., time step is limited by the Courant–Friedrichs–Lewy condition). To be accurate with respect to time the same time step should be used in all the domain, and to be stable the time step must be the minimum of all the local time steps in the domain. This method is also referred to as "global time stepping".

Examples
Many schemes use explicit-time integration. Some of these are as follows:


 * Lax–Wendroff method
 * Runge–Kutta method