# BVP Problems

## Mathematical Specification of an BVP Problem

To define an BVP Problem, you simply need to give the function $f$ and the initial condition $u₀$ which define an ODE:

along with an implicit function `bc!`

which defines the residual equation, where

is the manifold on which the solution must live. A common form for this is the two-point `BVProblem`

where the manifold defines the solution at two points:

## Problem Type

### Constructors

```
TwoPointBVProblem{isinplace}(f,bc!,u0,tspan)
BVProblem{isinplace}(f,bc!,u0,tspan)
```

For any BVP problem type, `bc!`

is the inplace function:

`bc!(residual, u, p, t)`

where `residual`

computed from the current `u`

. `u`

is an array of solution values where `u[i]`

is at time `t[i]`

, while `p`

are the parameters. For a `TwoPointBVProblem`

, `t = tspan`

. For the more general `BVProblem`

, `u`

can be all of the internal time points, and for shooting type methods `u=sol`

the ODE solution. Note that all features of the `ODESolution`

are present in this form. In both cases, the size of the residual matches the size of the initial condition.

### Fields

`f`

: The function for the ODE.`bc`

: The boundary condition function.`u0`

: The initial condition. Either the initial condition for the ODE as an initial value problem, or a`Vector`

of values for $u(t_i)$ for collocation methods`tspan`

: The timespan for the problem.