Equation-Free Toolbox

Version 1.2 (44.8 MB) by Tony Roberts
Functions to use your microscale simulators to efficiently perform macroscale system level tasks and simulation.
Updated 19 May 2024
This 'equation-free toolbox' empowers the computer-assisted analysis of complex, multiscale systems. Its aim is to enable you to use microscopic simulators to perform system level tasks and analysis, because microscale simulations are often the best available description of a system. The methodology bypasses the derivation of macroscopic evolution equations by computing only short bursts of of the microscale simulator, and often only computing on small patches of the spatial domain. This suite of functions empowers users to start implementing such methods in their own applications.
For a quick start, adapt one of the included examples. Many of the main functions include, at their beginning, example code of their use---code which is executed when the function is invoked without any arguments.
To projectively integrate over time a multiscale, slow-fast, system of odes you could use PIRK2(), or PIRK4() for higher-order accuracy, or PIG() for ultimate flexibility: adapt the Michaelis--Menten example at the beginning of PIRK2.m
  • You may use forward bursts of simulation in order to simulate the slow dynamics backward in time, as in egPIMM.m
  • To only resolve the slow dynamics in the projective integration, use lifting and restriction functions by adapting the singular perturbation ode example at the beginning of PIG.m
In space-time systems consider an evolving system over a large spatial domains when all you have is a microscale code. To efficiently simulate over the large domain, one can simulate in just small patches of the domain, appropriately coupled.
  • In 1D adapt the code at the beginning of configPatches1.m for Burgers' pde, or the staggered patches of 1D water wave equations in waterWaveExample.m
  • in 2D adapt the code at the beginning of configPatches2.m for nonlinear diffusion, or the regular patches of the 2D wave equation of wave2D.m
  • Similarly in 3D space
Computational homogenisation the above are not only for systems that have smooth spatial structures on the microscale, they also apply with rigorous theoretical backing, to accurately predict the macroscale homogenised dynamics of systems with any level of microscale structure. For example, adapt HomogenisationExample.m

Cite As

Tony Roberts (2024). Equation-Free Toolbox (https://github.com/uoa1184615/EquationFreeGit), GitHub. Retrieved .

Roberts, A. J., John Maclean, and J. E. Bunder (2019). Equation-Free function toolbox for Matlab/Octave. https://github. com/uoa1184615/EquationFreeGit

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Numerical Integration and Differential Equations in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Implemented Dirichlet, Neumann, or Robin BCs. Improved inter-patch interpolation.


Added support for 3D patches of 3D simulation, and revised data structures.


Extended 2D patch code to new self-adjoint preserving coupling of patches.


minor wording change


Minor edits of wording.


Provided image.


To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.