recipes

Frank Schilder Harry Dankowicz

The book Recipes for Continuation introduces a large collection of tutorial toolboxes and examples explaining the philosophy of the computational continuation core (COCO) that is implemented in the project Continuation Core and Toolboxes. It provides a comprehensive introduction into toolbox development within the development platform COCO.

The book contains thousands of lines of explicit code examples. A fully documented version of this code is also available through the most recent release, as well as in the SourceForge repository. This includes source code for all toolboxes and atlas algorithms, demo scripts that reproduce example input and output, and figure-generating functions that recreate essential aspects of the corresponding figures in the book.

Please follow this link for instructions on how to install COCO and the tutorial toolboxes and examples on your personal computer.

Follow this link for a series of video tutorials illustrating the installation and use of COCO and COCO toolboxes.

Documentation

The primary source for the code associated with Recipes for Continuation is the book itself. In the release, the top-level recipes folder contains a contents file (named Contents.m) that can be explored using the Matlab documentation browser, by typing doc followed by the name of the containing folder on the command line (assuming that the folder has been added to the search path through the execution of the COCO-specific startup.m file).

This contents file contains links to
- a list of toolbox development lines and demos ordered by chapter, which organizes the code by its appearance in the book.
- a list of figure demos ordered by figure number, which organizes the code by its use in generating individual figures in the book.
- a list of demos ordered by problem name, which organizes the code by specific problems considered inthe book.

Toolboxes

The principles of continuation and the COCO paradigm of problem construction are illustrated through a number of template toolboxes and atlas algorithms described in detail in Recipes for Continuation. These include:

  • alg, compalg: solutions to systems nonlinear equations, composite continuation problems
  • coll, varcoll: orthogonal collocation for orbit segments of ODEs, variational collocation problem
  • bvp, msbvp: single-segment- and mulit-segment boundary value problems
  • po, hspo: periodic orbits of ODEs and hybrid systems
  • dft: Fourier collocation method for periodic orbits
  • atlas1d, atlas2d: computation of 1- and 2-dimensional solution manifolds

Several of these toolboxes and atlas algorithms are developed through multiple versions that illustrate successively higher levels of sophistication. In the repository, each version is contained in a separate folder and accompanied by a separate folder containing scripts and functions demonstrating its use and application to typical problems from the study of nonlinear dynamical systems.

Applications

The toolbox and atlas algorithm demos in Recipes for Continuation are applied to problems from several branches of applied mathematics and computational science. These include:

  • bangbang: Periodic orbits of the Duffing single-degree-of-freedom nonlinear oscillator under bang-bang excitation.
  • bratu: Steady-state temperature distribution of an exothermic reaction in a 1-dimensional medium with boundaries connected to heat baths.
  • brusselator: Equilibria of a 1-dimensional Brusselator model.
  • catenary: Extremal curves of the catenary problem from the calculus of variation.
  • cusp: Equilibria of the cusp normal form.
  • doedel: Heteroclinic connections between known equilibria.
  • duffing: Periodic orbits of the harmonically excited, Duffing single-degree-of-freedom mechanical oscillator.
  • henon: Periodic orbits of the two-dimensional nonlinear Henon map.
  • huxley: Heteroclinic connections between unknown equilibria.
  • impact: Periodic orbits of a harmonically excited, single-degree-of-freedom, linear mechanical oscillator with impacts.
  • langford: Quasiperiodic invariant tori and phase-locked, resonant periodic orbits.
  • lienard: Periodic orbits of a planar Lienard dynamical system.
  • linode: Transient and periodic orbits of a harmonically excited, single-degree-of-freedom, linear mechanical oscillator.
  • lorenz: Heteroclinic connections between a known equilibrium and an unknown periodic orbit in the Lorenz system.
  • marsden: Periodic orbits emanating from a Hopf bifurcation and homoclinic bifurcations.
  • pneta: Periodic orbits of a slow-fast oscillator.
  • popul: Equilibria in a model of population dynamics.
  • pwlin: Periodic orbits of a piecewise smooth dynamical system.
  • stickslip: Periodic orbits of a hybrid dynamical system modeling a harmonically excited, two-degree-of-freedom, nonlinear mechanical oscillator with impacts and friction.
  • tanh: Interpolation of an equipartitioned sample of the function tanh(p*t)/tahn(p) on a given interval.
  • tor: Periodic orbits of a three-dimensional nonlinear dynamical system.
  • vanderpol: Members of the canard family of periodic orbits of the forced Van-der-Pol equation.

File a bug report

Please follow this link to file a bug report for the code or supporting documentation associated with the book.


Related

Wiki: Home
Wiki: bug_reports
Wiki: functionality