diff --git a/qdyn/constants.f90 b/qdyn/constants.f90 index a0efc88..78db4e5 100644 --- a/qdyn/constants.f90 +++ b/qdyn/constants.f90 @@ -11,9 +11,15 @@ module constants logical, parameter :: BIN_OUTPUT = .false. ! set usage of FFT in 3D -! 0 : no FFT -! 1 : FFT along-strike -! 2 : FFT along-strike and along-dip, only works for vertical faults +! The options differ in the symmetries assumed. +! With certain symmetries, certain parts of the computation of stresses (K*v) are expressed as a convolution, +! which are evaluated using the Fast Fourier Transform (FFT). This is more computationally efficient +! (fewer operations and less memory usage) than doing a matrix-vector multiplication. +! 0 : no FFT, half-space, the fault is straight along the strike direction (strike is constant), dip can change with depth +! (this could be extended to both strike and dip changing arbitrarily, but this is not implemented yet) +! 1 : same as 1 but with FFT along-strike +! 2 : FFT along-strike and along-dip, full-space, the fault is strike-slip, planar and vertical (strike and dip are constant), +! only works for vertical faults integer, parameter :: FFT_TYPE = 1 ! Adding real precision and type for MPI runs. diff --git a/qdyn/fault_stress.f90 b/qdyn/fault_stress.f90 index d697104..f1c4d9d 100644 --- a/qdyn/fault_stress.f90 +++ b/qdyn/fault_stress.f90 @@ -379,6 +379,11 @@ subroutine init_kernel_3D_fft(k,lambda,mu,m,sigma_coupling) end subroutine init_kernel_3D_fft ! ----------------------------------------------- +! Kernel for rectangular dislocations (uniform slip) inside an unbounded elastic medium +! Based on derivation and original implementation by +! Gallovič, F. (2008). Heterogeneous Coulomb stress perturbation during earthquake cycles in a 3D rate-and-state fault model, Geophys. Res. Lett., 35, L21306, doi:10.1029/2008GL035614. +! Supplemntary material: https://geo.mff.cuni.cz/~gallovic/abst/articl10kernel.pdf +! We further assume the fault is strike-slip, planar and vertical: dip and strike are constant. subroutine init_kernel_3D_fft2d(k,lambda,mu,m)