This is a reproducibility repository for the paper A minimal hyperbolic system for unstable shock waves on the Fickett model published in Communications in Nonlinear Science and Numerical Simulation and authored by Dmitry Kabanov (me) and Aslan Kasimov.
This package was developed under Ubuntu 16.04 and should work under other
flavors of Unix without any modification (macOS, Centos, Fedora, and so on).
Using this package under Windows operating system may or may not work as it
depends on make
utility.
Important. Make sure that you have Git LFS installed and initialized with
git lfs install
.
To be able to run the scripts in this repository, you need to clone it:
git clone --depth=1 git@github.com:dmitry-kabanov/fickettmodel-reproducibility.git
and change current directory to the repository directory:
cd fickettmodel-reproducibility
Besides, you need Python along with several scientific libraries, such as NumPy, SciPy, and Matplotlib.
The conda
environment with the current dependencies versions
can be created using command
conda env create --name fickettmodel-reproducibility -f environment.yml
and then activated using command
conda activate fickettmodel-reproducibility
The active development of this reproducibility package happend in 2018. It was developed on Ubuntu 16.04.
The conda
environment with the exact dependencies versions
can be created using command
conda create -n fickettmodel-reproducibility \
"python==3.6.3" \
"numpy==1.13.3" \
"scipy==0.19.1" \
"matplotlib==2.1.0" \
pyqt
and then activated using command
conda activate fickettmodel-reproducibility
To generate assets (figures and LaTeX tables), use
make BUILD_DIR=<path to directory for generated assets>
where <path to directory for generated assets>
does not have to exist
before running the command.
For example:
make BUILD_DIR=_build
will create the _build
directory inside the repository (if required) and
generate the assets (tables and figures) inside the directory.
Generation of the assets for the bifurcation-diagram
experiment requires
downloading ~500 MB of datasets from Zenodo.org.
These datasets contain raw time series of detonation velocity for various
values of activation energy.
bifurcation diagram. Creates figures of the bifurcation diagram and examples of time series with corresponding phase portraits of detonation velocity.
linear-solutions. Creates figures of perturbations of the linearized system and time series of detonation velocity.
linear-vs-nonlinear Creates a figures that shows the differences between the behaviour of the linearized and nonlinear systems.
neutral-stability-quantitative-results. Creates a table with the data about critical activation energy against heat release.
neutral-stability. Creates a figures of the neutral stability curve.
normal-modes. Creates figures related to the normal-mode analysis.
riemann-problem-examples. Creates figures with the examples of the Riemann problem solutions.
spectrum-vs-theta. Plots linear stability spectrum as activation energy changes.
verification-linear-solver. Creates a table with the results of the convergence study for the linear solver.
verification-nonlinear-limit-cycle. Creates a table with the results of the convergence study for the nonlinear solver with the limit-cycle solution.
verification-nonlinear-steady-state. Creates a table with the results of the convergence-study for the nonlinear solver with the steady-state solution.
znd-solutions. Creates a figures of the ZND (steady-state) solutions.