SpecSWD utilizes spectral element method and quadratic eigenvalue solver to compute surface wave dispersion, eigen function and sensitivity kernels for general layered models.
It can handle dispersion values for several type of complex media, such as VTI, TTI(Tilted Transversely Isotropic), acoustic-VTI coupling, and at any frequency, and any mode. And it can support both 1-D layered model (1-D model with discontinuities) and gradient model (continous variation in both fluid and elastic domain).
-
Compilers: C++/Fortran compilers which support c++14 (tested on
GCC >=7.5
),cmake >= 3.12
-
packages:
- Eigen >= 3.4.0
- MKL/LAPACK, optional.
- doxygen for api document generation, optional.
- Install:
mkdir -p build; cd build;
cmake .. -DCXX=g++ -DFC=gfortran -DEIGEN_INC=/path/to/eigen/ -DUSE_LAPACK=FALSE
make -j4; make install
If you want to use LAPACKE/MKL
, you can set -DUSE_LAPACK=TRUE
. This program also provides python libraries (.so
) and you can install them by adding -DBUILD_PYLIB=TRUE -DPYTHON_EXECUTABLE=`which python`
- install API docs
cd doxygen
doxygen config.cfg