Numerical simulation of solifluction processes
soli3d is a numerical simulation package based on the finite difference method (FDM) and the LUE library. It models solifluction as a multiphase process involving muddy soil movement and ice sheet expansion or dissipation. The model solves the mass conservation, momentum conservation, and heat transfer equations to simulate the coupled dynamics of soil and ice.
- Finite difference method (FDM) solver
- Multiphase modeling: muddy soil and ice sheets
- Mass, momentum, and heat conservation equations
- Built using LUE
Before running the project, you will need to install the following dependencies:
- Python (version >= 3.10)
- LUE (version 0.3.9)
- NumPy (version >= 2.2.3)
The recommended way to set up the environment is with Conda.
A ready-to-use environment file is provided in environment/configuration/conda_environment.yml.
Clone the repository from GitHub:
git clone https://github.com/computationalgeography/soli3d.gitcd soli3dconda env create -f environment/configuration/conda_environment.ymlconda activate soli3dActivate the environment:
conda activate soli3dOn some systems, you may need to provide a path to libtcmalloc to run LUE:
export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4"Set the path to the package directory:
export PYTHONPATH=/full/path/to/soli3d/source/package:$PYTHONPATHRun the simulation with a parameter file and specify the number of threads:
python path/to/soli3d/source/script/run_simulation.py --hpx:threads=<nr_threads> <path/to/param.txt>PYTHONPATH=path/to/soli3d/source/package python -m unittest source.test.model_test -vsphinx-build path/to/soli3d/doc $HOME/tmp/documentationPoint your browser at $HOME/tmp/documentation/index.html.
This project is licensed under the MIT License.