Time-Dependent Problems
Most real-world problems depend on time and in this chapter we shall construct numerical methods for solving time dependent differential equations. We do this by first discretizing in space using finite elements, and then in time using finite differences.
- PDF / 474,408 Bytes
- 30 Pages / 439.36 x 666.15 pts Page_size
- 13 Downloads / 218 Views
Time-Dependent Problems
Abstract Most real-world problems depend on time and in this chapter we shall construct numerical methods for solving time dependent differential equations. We do this by first discretizing in space using finite elements, and then in time using finite differences. Various time stepping methods are presented. As model problems we use two classical equations from mathematical physics, namely, the Heat equation, and the Wave equation. Illustrative numerical examples for both equations are presented. To assert the accuracy of the computed solutions we derive both stability estimates, and a priori error estimates. We also formulate space-time finite elements and use them to derive duality based posteriori error estimates.
5.1 Finite Difference Methods for Systems of ODE We begin this chapter by reviewing a couple of simple finite difference methods for systems of ordinary differential equations (ODE). Our basic problem is to find the n 1 time-dependent solution vector D .t/ to the ODE system P C A.t/ D b.t/; M .t/
t 2 J D .0; T
.0/ D 0
(5.1a) (5.1b)
where M and A are given constant n n matrices, b.t/ is a given time-dependent n 1 vector, and 0 is a given n 1 vector with initial data. Further, P means differentiation of with respect to time t on the time interval J , with final time T . Assuming that M is invertible we can rewrite (5.1) as P C A.t/ N N .t/ D b.t/
M.G. Larson and F. Bengzon, The Finite Element Method: Theory, Implementation, and Applications, Texts in Computational Science and Engineering 10, DOI 10.1007/978-3-642-33287-6__5, © Springer-Verlag Berlin Heidelberg 2013
(5.2)
113
114
5 Time-Dependent Problems
N where AN D M 1 A and b.t/ D M 1 b.t/. The analytical solution to this equation can be expressed using matrix exponentials using the so-called Duhamel’s formula .t/ D .0/e
N At
Z
t
C
N
N ds e A.t s/ b.s/
(5.3)
0
However, since we can not invert M if its dimension n is large, and since the matrix exponential is complicated to use from the practical point of view, let us look at ways to numerically approximate the solution . We let 0 D t0 < t1 < t2 < < tm D T be a partition of the time interval J into m subintervals Jl D .tl1 ; tl and time steps kl D tl tl1 , l D 1; 2; : : : ; m. For each time tl we wish to find an approximation l to .tl /. We replace the time derivative P with the backward difference quotient P l / l l1 .t kl
(5.4)
which yields the so-called Euler backward method M
l l1 C Al D bl kl
(5.5)
or, equivalently, .M C kl A/l D M l1 C kl bl
(5.6)
where we have introduced the notation bl D b.tl /. The initial condition 0 is used to start the time stepping. Indeed, starting with 0 D .t0 /, we can successively compute the unknowns 1 ; 2 ; : : : ; m by repeatedly solving the linear system (5.6). This yields the following algorithm for evolving our ODE system in time: Algorithm 13 The backward Euler method 1: Create a partition 0 D t0 < t1 < < tm D T of the time interval J w
Data Loading...