- 20230327
EQquasi
works on Ubuntu.
EQquasi
is a parallel finite-element software to simulate quasi-static/quasi-dynamic earthquake cycle deformation induced by fault slips governed by rate- and state- friction. It is part of the fully dynamic earthquake cycle simulator EQsimu
(Liu et al., 2020, GJI) to simulate deformation during the inter-seismic, nucleation, post-seismic, and dynamic rupture phases of earthquake cycles. It relies on parallel solvers MUMPS or AZTEC to handle the computing loads. It is written in FORTRAN90 with pre-staging and post-processing scripts in Python3.
MUMPS is distributed under the CeCILL-C license and for proper ackowledgement, please read the LICENCE for MUMPS. The newest version of MUMPS can be downloaded through this link.
AZTEC now comes with Trilinos in the name of AZTECOO, but the current EQquasi still uses the standalone AZTEC2.1. (To-do-list: need to update its license.)
EQquasi
relies on the following packages for pre-staging and computing.
- FORTRAN compilers and MPI
- python3
- netCDF
- pip
- numpy=1.26.4 (or older, due to a change of dtype size in later versions.)
For post-processing, additional Python packages are needed:
- xarray
- imageio
- pdf2image
ubuntu.env.setup.sh
is a bash shell script to install necessary packages for Ubuntu system.
Simply,
sudo bash ubuntu.env.setup.sh
To install and test EQquasi
on Ubuntu,
git clone https://github.com/dunyuliu/EQquasi.git
cd EQquasi
bash make.scripts.executable.sh
python3 testAll.py
To install EQquasi
without testing, try
./install.eqquasi.sh -m ubuntu
instead of python3 testAll.py
. In this case, MUMPS should have been installed via Ubuntu's apt-get.
To install EQquasi
on TACC's HPC Lonestar6, try
./install.eqquasi.sh -m ls6
In this case, MUMPS has been installed by TACC admin.
To install EQquasi
with local installation of MUMPS on Ubuntu, try
./install.eqquasi.sh -m local
To activate bash environment variables $EQQUASIROOT and add executable scripts to $PATH,
source install.eqquasi.sh
or manually add the paths to .bashrc:
export EQQUASIROOT=$(pwd)
export PATH=$(pwd)/bin:$PATH
export PATH=$(pwd)/scripts:$PATH
where $(pwd) is the root path for your EQquasi
installation.
Only three steps are required to setup and run a new case
create_newcase directoryForYourCase compset
cd directoryForYourCase
# modify user_defined_params.py
./case.setup
bash run.sh
Here, compset
stands for predefined cases with each defiend via a single parameter file user_defined_params.py
under /case_input.
Currently supported compset includes:
- bp5.qdc.2000
A good starting example would be compset==bp5.qdc.2000 (benchmark problem 5, quasi-dynamic, 2000 m on-fault resolution).
The case can be created by the following command:
create.newcase caseDir bp5.qd.2000
With the default user_defined_params.py, it should take about 27 minutes to finish the 1st earthquake cycle. For 1st + 2nd earthquake cycles, 1 hour 33 minutes will be expected on Lonestar6.
v1.2.1 with MUMPS is benchmarked in SEAS BP5 and results are published in Jiang et al. (2022, JGR).
EQquasi
is still under development and comes without any guaranteed functionality.
If you are interested in using EQquasi
, please contact Dunyu Liu (dliu@ig.utexas.edu).