SpecSWD
SpecSWD is a software to compute surface wave dispersions and do sensitivity analysis for 1-D fully anisotropic, wealy anelastic media. It utilizes spectral element method and quadratic eigenvalue solver to handle multiphysics (elastic-acoustic coupling), strong anisotropy and discontinuities inside the study region.
SpecSWD also provides high-level sensitivity analysis framework (adjoint methods) for any user-defined quantities.
Installation
Compilers: C++/Fortran compilers which support c++17 (tested on
GCC >=7.5),cmake >= 3.12packages:
Python environments
conda create -n specswd python=3.10
conda activate specswd
conda install numpy scipy matplotlib pybind11 numba
Install
mkdir -p build
cd build
cmake .. -DCXX=g++ -DFC=gfortran -DEIGEN_INC=/path/to/eigen/ -DBUILD_LIBS=ON -DPython3_EXECUTABLE=`which python`
make -j4
make install
Install low-level C++ API docs
doxygen misc/doxygen/doxygen.cfg
Python libraries
pip install -e .