Skip to content

sandstede-lab/Pattern_Continuation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pattern_Continuation

Code for the manuscript Data-driven continuation of patterns and their bifurcations

Authors: Wenjun Zhao, Samuel Maffa, Bjorn Sandstede

Description

This software computes pattern statistics in spatially extended systems and uses them for bifurcation tracing. Depending on the task, typically it requires (1) an initial value problem solver which generates desired patterns, e.g. snapshots of Brusselator in spatial dimension 2 at a certain terminal time; (2) a pattern statistic to be used when performing the bifurcation tracing task, usually computed via $\alpha$-shapes of level sets.

For simulating spiral waves, this repository provides the EZ-Spiral code written by Dwight Barkley and Matlab code written by Stephanie Dodson and Bjorn Sandstede that were used in Sandstede and Scheel. Spiral waves: linear and nonlinear theory.

Computation of the Wasserstein distance

This work uses the following implementation:

Wasserstein distance between 1D histograms: Niklas Kolbe (2024) https://github.com/nklb/wasserstein-distance

Transportation cost given a cost matrix: Antoine Rolet (2014) https://github.com/gpeyre/2017-ot-beginners/blob/master/matlab/mexEMD/mexEMD.cpp (based on an implementation by Nicolas Bonneeel).

Requirement

MATLAB

Source

git clone https://github.com/sandstede-lab/Pattern_Continuation.git

Example usage in MATLAB

To perform bifurcation tracing

The following file contains examples for (1) snaking in 1D Swift-Hohenberg model, and (2) stripes/spots in various 2D reaction-diffusion systems (Brusselator, Swift-Hohenberg, Gray-Scott, Schnakenberg).

Example usage: tracing out stripe/spot interface for Brusselator:

cd BifurcationTracing
Main_ReactionDiffusion2D

Spiral wave (Barkley):

cd BifurcationTracing
Main_Barkley_bisection

Note that the spiral wave simulations may require compilation locally. Users may need to create their own Mex files by typing `make' in command line within the corresponding folder, such as DataGenerator/Spiral_Wave/Barkley.

To use freezing method:

cd FreezingMethod
freezing_method

To reproduce specific figures in paper

Scripts to reproduce each figure in paper are hosted under ReproduceFigures and labeled according to the index in paper. For example, to generate Figure 6 (simulations displayed together with our results):

Cd ReproduceFigures
Figure6

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published