# MUS Multiple Shooting Codes for Two Point Boundary Value Problems

MUS is a FORTRAN77 library which implements the multiple shooting method for two point boundary value problems, for linear or nonlinear cases, by Robert Mattheij and G Staarink.

The two point boundary value problem is posed on an interval [a,b]. Over this interval, the solution y(x) satisfies some first-order differential equation. At the endpoints, some conditions may be imposed on some of the values of y.

Cases in which the differential equation is of higher order are reduced to a vector of first order equations in the standard way.

The routine MUSL() is suitable for problems in which the underlying differential equation is linear, having a form such as

```        y' = A(x) y(x) + q(x)
```
with linear boundary constraints:
```        Ba y(a) + Bb y(b) = beta
```

The routine MUSN() handles the more general case where the differential equation is nonlinear:

```        y' = f(x,y)
```
and the boundary constraints may be nonlinear as well:
```        g ( y(a), y(b) ) = 0
```

### Languages:

MUS is available in a FORTRAN77 version.

### Related Data and Programs:

BVPSOL, a FORTRAN77 library which solves highly nonlinear two point boundary value problems using a local linear solver (condensing algorithm) or a global sparse linear solver for the solution of the arising linear subproblems, by Peter Deuflhard, Georg Bader, Weimann.

COLNEW, a FORTRAN77 library which solves a mixed-order system of ordinary differential equations (ODE's) subject to separated, multipoint boundary conditions, using collocation at Gaussian points, by Uri Ascher and Georg Bader.

FD1D_BVP, a FORTRAN77 program which applies the finite difference method to a two point boundary value problem in one spatial dimension.

FEM1D_BVP_LINEAR, a FORTRAN77 program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.

### Author:

Robert Mattheij, G Staarink

### Reference:

1. Uri Ascher, Robert Mattheij, Robert Russell,
Numerical Solution of Boundary Value Problems for Ordinary Differential Equations,
Prentice Hall, 1988,
ISBN: 0-13-627266-5,
LC: QA379.A83.
2. Michael Hanke, Rene Lamour, Renate Winkler,
The program system RWA for the solution of two-point boundary-value problems: foundations, algorithms, comparisons,
Seminarberichte 67,
Sektion Mathematik, Humboldt University.

### Source Code:

• mus.f, the source code.
• mus.sh, BASH commands to compile the source code.

### Examples and Tests:

MUS_LINEAR solves a linear boundary problem, by calling MUSL.

MUS_NONLINEAR solves a nonlinear boundary problem, by calling MUSN.

### List of Routines:

• MUSL
• MUSN
• DCSHPO
• DCSAOJ
• DJINGX
• DCHINC
• DNEWPO
• DBCMAV
• DFQUS
• DFUNRC
• DGTUR
• DINPRO
• DKPCH
• DMATVC
• DPSR
• DQEVAL
• DQUDEC
• DSBVP
• DSOLUP
• DUPUP
• DAMTES
• DTAMVC
• DCDI
• DCNRHS
• DCPHIS
• DCROUT
• DINTCH
• DLUDEC
• DSOLDE
• DDUR
• DSORTD
• DRKFGS
• DRKFSM implements a Fehlberg 4th/5th order Runge-Kutta method.
• DRKF1S
• DRKFMS
• DRKFGG
• ERRHAN handles errors.
• TIMESTAMP prints out the current YMDHMS date as a timestamp.

You can go up one level to the FORTRAN77 source codes.

Last revised on 09 January 2013.