# Tutorials

There are three levels of tutorials:

- fully
**automatic bifurcation diagram**(**aBD**) computation (only for equilibria): one uses the function`bifurcationdiagram`

and let it compute the diagram fully automatically. Another possibility is to use**deflated continuation**. - semi-automatic bifurcation diagram computation: one uses
**automatic branch switching**(**aBS**) to compute branches at specified bifurcation points - manual bifurcation diagram computation: one does not use automatic branch switching. This has only educational purposes or for complex problems where aBS fails.

## ODE examples

We present examples in the case of ODEs. Although `BifurcationKit.jl`

is not geared towards them, we provide some specific methods which allow to study the bifurcations of ODE in a relatively efficient way.

### Study of equilibria

- Neural mass equation (Hopf aBS)
- CO oxidation (codim 2)
- Extended Lorenz-84 model (codim 2 + BT/ZH aBS)
- pp2 example from AUTO07p (aBD + Hopf aBS)

### Periodic orbits

Here are some examples more oriented towards the computation of periodic orbits. Here is one for aBS from **period-doubling** bifurcations of periodic orbits

In the next tutorial, we show how to refine a periodic orbit guess obtained from numerical simulation. We also show how to perform **continuation of PD/NS** points using Shooting or Collocation.

In the next tutorial, we showcase the detection of **Chenciner** bifurcations. This is a relatively advanced tutorial, so we don't give much explanations. The reader should get first familiar with the above simpler examples.

In the next tutorial, we showcase aBS from Bautin/HH to curve of Fold/NS of periodic orbits.

### Homoclinic orbits

Based on the package HclinicBifurcationKit.jl and its docs.

## DAE examples

## DDE examples

See the tutorials of DDEBifurcationKit.jl.

## Examples based on ModelingToolkit

## PDEs: bifurcations of equilibria

- Temperature model (Simplest example)
- Temperature model with
`ApproxFun`

, no`AbstractArray`

(intermediate) - 2d Swift-Hohenberg equation: snaking, Finite Differences
- 2d generalized Bratu–Gelfand problem
- 2d Swift-Hohenberg equation (non-local) on the GPU, periodic BC (Advanced)
- 3d Swift-Hohenberg equation, Finite differences

## PDEs: automatic bifurcation diagram

- 1d Swift-Hohenberg equation (Automatic)
- Deflated Continuation in the Carrier Problem
- 1d Kuramoto–Sivashinsky Equation
- Automatic diagram of 2d Bratu–Gelfand problem (Intermediate)

## PDEs: bifurcations of periodic orbits

- 1d Brusselator (automatic)
- 1d Brusselator (advanced user)
- Brusselator 1d with periodic BC using
`FourierFlows.jl`

(experienced user) - Period doubling in the Barrio-Varea-Aragon-Maini model
- 2d Ginzburg-Landau equation (finite differences, codim 2, Hopf aBS)
- 2d Ginzburg-Landau equation (shooting)
- 1d Langmuir–Blodgett transfer model (advanced)