Examples and numerical tests for SMART scientific computing paper.
To run the code in this repository, it is necessary to install SMART (Spatial Modeling Algorithms for Reaction and Transport). See more info about running the code and reproducing the results in the scripts folder.
To run the scripts, we advice usage of docker, and the following base image
ghcr.io/scientificcomputing/fenics-gmsh:2024-05-30
, which after installation of docker, can be started with
docker run -ti -v $(pwd):/root/shared -w /root/shared -p 8888:8888 --name smart-comp-sci ghcr.io/scientificcomputing/fenics-gmsh:2024-05-30
This should preferably be started from the root of this git repo, as -v
shared the current directory on your computer with the docker container.
This will launch a terminal with FEniCS installed. To install the compatible version of SMART, call
python3 -m pip install fenics-smart[lab]==2.2.2 -U
Alternatively, you can use the provided docker image from smart directly, i.e
docker run -ti -v $(pwd):/root/shared -w /root/shared -p 8888:8888 --name smart-comp-sci ghcr.io/rangamanilabucsd/smart-lab:v2.2.2
To run notebooks in your browser, call
jupyter lab --ip 0.0.0.0 --no-browser --allow-root
All meshes can be downloaded from the "SMART Demo Meshes" Zenodo dataset.
To run any of the Jupyter notebook versions of the examples, these meshes should be present in the main folder of the local repository within a folder entitled meshes
.
Alternatively, the paths can be provided when running in Python scripts as described in the README in the scripts
folder.
The output from all analyses are freely available from the "SMART Analysis data" Zenodo dataset.
These results can be downloaded to locally regenerate any of the main plots.
Provided the results folders are placed in a folder analysis_data
within the main directory, the relevant sections of each Jupyter notebook for each example should run to generate the plots.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.