Calculating elastic deformation from dislocation sources
Mind the unit: recommend the International System of Units.
Though strain is a dimensionless quantity, specifying dislocation unit same with fault parameters would help avoid further transformation.
Point source model codes have not been tested yet, use them at your own risk.
Using setup.py
file, building shared library in current directory otherwise in ./build
python setup.py build --build-lib ./
or, equivalently using gcc or clang compiler, -undefined dynamic_lookup
is essential for undefined symbols:
gcc/clang src/dislocation.c src/okada_dc3d.c src/okada_disloc3d.c -fPIC -O2 -I<NumPy_core_include_path> -I<Python_include_path>/python3.XX -shared -undefined dynamic_lookup -o dislocation.so
Then you can copy the shared library .so
file to your site-packages folder of your current python environment, or to your working directory. Then you could import the module successfully.
- Reduce singularities of triangular elements with Nikkhoo and Walter GJI algorithms ...
- Install with Pypi
-
Okada, Y., 1992, Internal deformation due to shear and tensile faults in a half-space, Bull. Seism. Soc. Am., 82, 1018-1040.
-
Brendan J. Meade, 2007, Algorithms for the calculation of exact displacements, strains, and stresses for triangular dislocation elements in a uniform elastic half space, Computer & Geosciences, 33, 1064-1075.
-
Nikkhoo, M., Walter, T. R., 2015, Triangular dislocation: an analytical, artefact-free solution. Geophysical Journal International, 201, 2, 1119-1141.
Codes:
okada_wrapper
okada4py
dc3d from stanford
Zelong Guo, Potsdam
zelong.guo@outlook.com