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 or not).
GNU General Public License v3.0
403 stars 225 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.