A bifurcation analysis toolbox built for FreeFEM.
Report Bug
·
Request Feature
Table of Contents
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.
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.
- Clone the repo
git clone https://github.com/cmdoug/ff-bifbox.git
- Add
ff-bifboxto FreeFEM's filepath
See the examples folder.
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},
}- 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).
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.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE for more information.
Chris Douglas - christopher.douglas@duke.edu
Project Link: https://github.com/cmdoug/ff-bifbox