Skip to content

cmdoug/ff-bifbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

334 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

A bifurcation analysis toolbox built for FreeFEM.
Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

ff-bifbox is a package of scalable and cross-compatible FreeFEM scripts designed for numerical continuation, bifurcation analysis, resolvent analysis, and time-integration of large-scale time-dependent nonlinear PDEs on adaptively refined meshes. The project is built on top of FreeFEM, a free, open-source finite-element software, and PETSc, a scalable scientific computing library. Further details about ff-bifbox are available here: arXiv:2509.18429.

(back to top)

Getting Started

Prerequisites

Make sure you have access to a recent FreeFEM build, compiled with PETSc and PETSc-complex (with SLEPc). Suitable versions include the latest major release (v4.16) (found on the master branch) or any more recent bleeding edge version from the develop branch. Guides for compiling FreeFEM with PETSc can be found on the FreeFEM GitHub page or in this tutorial by Pierre Jolivet. An example installation workflow can also be found in the continuous integration script ci.yml in the ff-bifbox/.github/workflows folder. More details about the PETSc and SLEPc options used in the solvers may be found in their respective manuals.

Installation

  1. Clone the repo
    git clone https://github.com/cmdoug/ff-bifbox.git
  2. Add ff-bifbox to FreeFEM's filepath

(back to top)

Usage

See the examples folder.

(back to top)

Citation

If you use ff-bifbox for research, please cite the following:

@article{douglas_ff-bifbox_2026,
author = {Douglas, Christopher M. and Jolivet, Pierre},
title = {ff-bifbox: A scalable, open-source toolbox for bifurcation analysis of nonlinear PDEs},
year = {2026},
doi = {10.48550/arXiv.2509.18429},
url = {https://arxiv.org/abs/2509.18429},
}

(back to top)

Roadmap

  • Add linear resolvent analysis framework
  • Add time-domain nonlinear simulation framework
  • Add support for 3-D problems with multiple symmetries
  • Add harmonic balance framework for computation/continuation of periodic orbits
  • Add time-domain linear simulation framework
  • Add Floquet analysis for periodic orbits
  • Add deflation framework for steady states and periodic orbits
  • Add fold/Neimark-Sacker bifurcation computation/continuation for periodic orbits
  • Add resolvent analysis for periodic orbits
  • Improve documentation and tutorials/examples
  • Release first stable version

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Any contributions you make are greatly appreciated.

If you have bug fix or improvement to share, please fork the repo and create a pull request. You can also simply open an issue.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

(back to top)

Contact

Chris Douglas - christopher.douglas@duke.edu

Project Link: https://github.com/cmdoug/ff-bifbox

(back to top)

Acknowledgments

(back to top)

About

Numerical bifurcation analysis toolbox in FreeFEM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors