Overview for this chapter

 
  • In this chapter we present methods for solving initial and boundary value problems of ordinary differential equations.
  • The first application "a bunch of integrators" is a collection of 4 often used integrators with a common set of application demonstrations, showing the limitations and power of different integrators. These are
    1. The Euler method, the first known integrator at all
    2. The famous Dormand-Prince pair, an explicit integrator of Runge-Kutta type with order 5(4): the main integrator has order 5 (i.e. on a compact interval the total error is bounded by a constant times stepsize^5) whereas the method of lower order is used for error estimation (essentially the difference between the two values)
    3. A Rosenbrock-Wanner method, a so called semiimplicit method, using the Jacobian of the ode's right hand side, of order 4. Using Richardson extrapolation by step size halving a local error estimation is obtained and the order can be increased to 5. This method is useful for equations where the stiffness is located in a linear part of the equations.
    4. A fully implicit Runge-Kutta scheme using the nodes of the RadauII integration (two interior nodes and the right end of the interval), also of order 5. This is a powerful method for very strongly nonlinear and stiff problems. (A stiff problem is one where the solution manifold has solutions whose derivatives are much larger than the derivatives of the solution sought)
  • The second application comprises the Adams-Moulton multistep integrators with variable order and variable stepsize, well suited for smooth nonstiff equations with the backward differentiation formulas, also known as ''Gears method'', which are often used for stiff equations, also in the version of variable order and stepsize. These are implicit multistep methods.
  • The third initial value solver , GBS (Gragg-Bulirsch-Stoer), uses the explicit midpoint rule with Richardson extrapolation and smoothing. Here we present a modification by Kiehl and Zenger for the smoothing task.
  • The most efficient (w.r.t function evaluations) nonstiff solver is undoubtedly the code ''ODE'' of Shampine and Gordon, based on the predictor-corrector scheme of Adam-Bashforth-Moulton in the mode PECE (predictor -- evaluate f -- corrector -- evaluate f). We present it here with the same set of test cases. Don't wonder if it fails on the stiff cases!
  • For the solution of differential-algebraic equations of the general form G(t,y,y')=0 we use the famous code DDASKR (in a restricted form) which is able to solve index-1 and some index-2 systems
  • In enginering practice the problem of ''parameter identification'' for an ode is quite common: you know the dynamics of a process in the form y'=f(t,y,p) and have measurement data for y or at least some components of it at a set of time instances ti and want to know the underlying p. We combine here our SQP optimizer DONLP2 with DASSL to do this job.
  • For solution of a boundary problem we present a difference method of second order for the bar bending problem. This is interesting since the linear system obtained from the discretization serves often as a test case for linear solvers or unconstrained minimizers, since it has a reciprocal condition number of O(h^4).
  • The case of a scalar two point boundary problem is useful for studying several effects: the verification of convergence order, the effect of different discretizations of the boundary derivatives, the effect of boundary singularities, the effect of stiffness and finally Richardson extrapolation. We present this here with six predefined cases but allow the user to define his problem in a quite general form.
  • For the solution of quite general two point boundary value problems we present here ''multiple shooting'', which reduces the problem to a system of nonlinear equations involving functions which themselves are solutions of initial value problems.
  • The same general problem (y'=F(x,y(x)), a <= x <= b, R(y(a),y(b))=0) can be solved by the method of local collocation, which we present here using the implicit midpoint rule.
 
Back to the top!

12.03.2013