SPECFEM / specfem3d

SPECFEM3D_Cartesian simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured & unstructured).
https://specfem.org
GNU General Public License v3.0
415 stars 231 forks source link

Model explosive source in homogeneous medium #1507

Open chenglongduan opened 2 years ago

chenglongduan commented 2 years ago

I recently found a problem when I do elastic forward modeling in SPECFEM 3D (Cartesian). I use a constant earth model (Vp=2339m/s, Vs=987m/s). In the CMT solution file, I set the source to be "explosive", i.e., Mrr=Mtt=Mpp=1, others being 0. The CPML boundaries are applied at all the 6 cubic sides. I put receivers just below the surface CPML layers to eliminate the boundary effects.

Theoretically, isotropic/explosive source won't generate S-waves in homogeneous elastic modeling. But SPECFEM generates weak S-waves in this scenario at ~1.7s (see the attached displacement seismogram picture). FXX

I also check the wavefield snapshot which also indicates that S-wave is generated from the source location (see the attached snapshot picture). snapshot

Does anybody know why it happens? Thanks.

carltape commented 2 years ago

Chenglong, could you see what happens with the default homogeneous_halfspace simulation (and Stacey boundary conditions)? It would be good to see if you see the same issue in that example.

jpampuero commented 2 years ago

This issue often arises if the ratio (grid spacing)/(source wavelength) is too small, which prevents accurate resolution of the wavefield and can lead to spurious S waves. This ratio depends on the user's choices of element size and source frequency. The condition for good resolution (accuracy) is roughly to have at least 4 to 5 nodes per wavelength: [element size]/(NGLL-1) < [minimum wavelength]/(4 to 5) where the left hand side is the average spacing between Gauss-Lobatto-Legendre points, NGLL is the number of GLL points = [polynomial order + 1], and [minimum wavelength] = [slowest wave speed]/[highest significant frequency of the source]. For more details, see this comment on an older issue: https://github.com/geodynamics/specfem3d/issues/1476#issuecomment-1019568988

chenglongduan commented 2 years ago

Chenglong, could you see what happens with the default homogeneous_halfspace simulation (and Stacey boundary conditions)? It would be good to see if you see the same issue in that example.

Hi Dr. Tape, I run the default homogeneous_halfspace example with Stacey boundary condition. I did not change anything except the explosive moment tensor and absorbing top surface. The modeled seismogram is shown below: homo_halfspace

chenglongduan commented 2 years ago

This issue often arises if the ratio (grid spacing)/(source wavelength) is too small, which prevents accurate resolution of the wavefield and can lead to spurious S waves. This ratio depends on the user's choices of element size and source frequency. The condition for good resolution (accuracy) is roughly to have at least 4 to 5 nodes per wavelength: [element size]/(NGLL-1) < [minimum wavelength]/(4 to 5) where the left hand side is the average spacing between Gauss-Lobatto-Legendre points, NGLL is the number of GLL points = [polynomial order + 1], and [minimum wavelength] = [slowest wave speed]/[highest significant frequency of the source]. For more details, see this comment on an older issue: #1476 (comment)

Hi Jean, thanks for your detailed explanation. In my case, [element size] = 49.85 m, NGLL = 5, [slowest wave speed] = 987m/s, [highest significant frequency of the source] = 5 Hz, therefore [minimum wavelength] = 987/5 = 197.4 m.

[element size]/(NGLL-1) = 12.46, [minimum wavelength]/5 = 39.48, left-hand side < right-hand side. I think this meets the resolution criterion that you mentioned.