4.3. Time-integration for the first order system#
Applying a method of lines approach described in Section 2.2 to the acoustic, elastic and electromagnetic time-domain wave problems (with possibly added damping or some variant of not entirely reflecting boundary) in first order form leads to a semi-discrete problem of the form (denoting the time derivative by a dot)
for some symmetric positive definite mass and damping matrices \(\mathbf M_u, \mathbf D_u\in\mathbb R^{N_u\times N_u}\), \(\mathbf M_v,\mathbf D_v\in\mathbb R^{N_v\times N_v}\), the discrete differential operator \(\mathbf B\in\mathbb R^{N_u\times N_v}\) and the unknown vector functions \(\mathbf u\in C^1([0,T];\mathbb R^{N_u}),\mathbf v\in C^1([0,T];\mathbb R^{N_v})\).
The system (4.12) can also be rewritten more compactly by
for positive (semi-)definite matrices \(\mathcal D,\mathcal M \in\mathbb R^{N\times N}\) with \(N:=N_u+N_v\) and a skew-symmetric matrix \(\mathcal B\in\mathbb R^{N\times N}\), where we set \(\mathbf w = (\mathbf u^\top,\mathbf v^\top)^\top\), \(\mathcal F= (\mathbf f^\top,0)^\top\)and
Similar to the Time-integration for the second order systems we have energy conservation in the form
Let \(\mathbf u,\mathbf v\) solve (4.12). Then
where the energy \(E(\mathbf u,\mathbf v)\) is defined by
In particular, if there is no damping (\(\mathbf D_v,\mathbf D_u=0\)) and external sources \(\mathbf f = 0\) the energy \(E\) is constant.
Proof. We multiply (4.12) from the left by \((\mathrm u,\mathrm v)^\top\) to obtain
which yields the claim since
for symmetric \(\mathbf A\) and arbitrary \(\mathbf g\).
The Crank Nicholson time stepping#
The Crank Nicholson time stepping can motivated for systems of the form (4.13) as follows: As in the previous section for a given timestep \(\tau>0\) we denote the discrete approximation at \(t=j\tau\) for \(j\in\mathbb N\) by \(\mathbf w_j\). Then
Now approximating the integral on the right hand side by the trapezoidal rule (and replacing the exact values of \(\mathbf w\) by the approximations) we obtain the relation
and thus
with \(\mathcal S=\mathcal M+\frac{\tau}{2}(\mathcal D-\mathcal B)\).
The Crank-Nicholson time stepping is implicit since the inverse of a matrix, different from the mass matrix has to be applied in each time step.
Let \(\mathbf w_j^\top=(\mathbf u_j^\top,\mathbf v_j^\top)\) for \(j\in\mathbf N\) be the discrete Crank-Nicholson approximation of (4.12) (or (4.12)) with \(\mathbf D, \mathbf f=0\).
Then
for all \(j\in\mathbb N\).
Proof. It follows from basic linear algebra that the eigenpairs of
consist of pairs of imaginary eigenvalues \(\lambda_l, \lambda_{-l}=-\lambda_l\in i\mathbb R\), \(l=1,2,\ldots,N\) with conlugate complex eigenfunctions \(\phi_l,\phi_{-l}=\bar\phi_l\). We fix \(\mathbf w^\top=(\mathbf u^\top,\mathbf v^\top)=\mathbf w_j^\top\) and \(\tilde{\mathbf w}^\top=(\tilde{\mathbf u}^\top,\tilde{\mathbf v}^\top)=\mathbf w_{j+1}^\top\). Decomposing \(\mathbf w,\tilde{\mathbf w}\) into the according orthonormal (with respect to \(\mathcal M\)) eigensystem i.e.,
with \(c_l = \bar c_{-l}\in\mathbb C\) (and for convenience we set \(c_0,\phi_0=0\)) and inserting the expansions into the Crank-Nicholson stepping leads to
Multiplying this by \(\phi_k^H\) from the left yields due to the orthonormality of the eigenbase
i.e.,
Since \(\lambda_k\) is purely imaginary we have \(|\tilde c_k|=|c_k|\) since for any complex number \(z\) we have \(|z/\bar z| = 1\).
Thus
The Leap Frog time stepping#
While the Crank-Nicholson scheme can be easily derived for general first-order in time equations the Leap Frog scheme exploits the underlying skew symmetric structure.
The basic idea is to approximate \(\mathbf v\) at half steps namely to set
To be able to evaluate also the velocity at full time-steps one may rewrite the method as
This version is also known as kick-drift-kick formulation.
Let \(\mathbf u_j,\mathbf v_j\) be the Leap Frog approximations applied to (4.12) with \(\mathbf D_u,\mathbf D_v,\mathbf f = 0\) and \(\hat{\mathbf u}_j,\dot{\mathbf u}_j\) be the approximations by the Verlet time stepping applied to the equation
Then \(\mathbf u_j=\hat{\mathbf u}_j\) for all \(j\in\mathbb N\).
Proof. Multiplying the first and last line of (4.15) by \(\mathbf M_u^{-1}\mathbf B\) yields
On the other hand applying the equivalent Verlet algorithm (4.7) to the second order problem (4.16) yields
Thus with \(\tilde {\mathbf u}:=\mathbf M^{-1}_u\mathbf B\mathbf v_{j+1/2}\) and \(\dot{\mathbf u}_j:=\mathbf M_u^{-1}\mathbf B \mathbf v_{j}\) the algorithms are identical (note that also the inital data coincide).
By the above theorem we immediately obtain that the Leapfrog time stepping inherits all of the properties of the Verlet time stepping, in particular the preservation of the modified energy and the CFL condition.