SPECFEM / specfem2d

SPECFEM2D simulates forward and adjoint seismic wave propagation in two-dimensional acoustic, (an)elastic, poroelastic or coupled acoustic-(an)elastic-poroelastic media, with Convolution PML absorbing conditions.
https://specfem.org
GNU General Public License v3.0
203 stars 147 forks source link

Partitioning Problems with External Meshing in Cubit? #1174

Closed ARBolton96 closed 1 year ago

ARBolton96 commented 1 year ago

Hello,

I'm running a very simplified test model meshed in Cubit with SpecFEM2D and I'm running into some issues with the partitioning. Using the cubit2specfem2d.py journal file given in the SpecFEM2D utils directory (very helpful by the way!), I was able to create the necessary mesh files and set up a SpecFEM simulation.

However, when I run this model over multiple processors, this occurs: mymesh

All the energy in the simulation stays within the source layer! There is no transmission into the deeper model, which I have verified with the station configuration in the above image, as well as the output postscript files.

If I run this same exact mesh over a single processor (thus avoiding mpirun commands), I get this:

mymesh_oneproc

Transmission into the subsurface!

I then went to the provided EXAMPLES directory and looked at the salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_normal_fluid_solid (full salt dome model with overlying water layer), and edited the Par_file to run over multiple processors. The results were:

saltmesh

Once again perfect transmissions, and this time over multiple processors! Very perplexing to me.

I am assuming the problem I'm encountering is with the partitioning of the simple mesh I've built. Have others encountered this issue, or have any general guidance? I can provide any of the SpecFEM input files or my Cubit mesh and cubit2specfem.py files, if necessary. Thanks!

AbolfazlKhanMo commented 1 year ago

Hey, This looks a little bit odd! Can you please provide your mesh's cubit journal file (or .py file)? If not, make sure you're merging all volumes (merge vol all) and imprinting them (imprint vol all) before starting the meshing process. Hope this helps!

ARBolton96 commented 1 year ago

Hot dog!!! That is exactly what I was missing! Thank you so much @AbolfazlKhanMo, that was so very helpful. I completely missed those commands in the salt dome example.