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
409 stars 227 forks source link

Handling meshes in Specfem3d #1521

Open 00krishna opened 2 years ago

00krishna commented 2 years ago

Hello. I am totally new to SpecFEM3d, so sorry for the noobie question. I was watching some of the tutorials on Spectfem3d and Specfem2d, but I was not clear about how to provide or obtain the mesh for the simulations.

From the tutorial videos I saw, it seems like the user just specifies the location extents in the configuration file, and then the SpecFEM software pulls the geographic data and generates the mesh for the user. Is that correct, or does the user need to build an *.msh file in a tool like Gmsh, and then import that into SpecFEM?

In the manual there are lots of descriptions of internal and external meshers, and CUBIT, etc., but I was not clear on this single point that I asked above.

Also, does the SpecFEM mesher provide all of the data on soil strata such as variations in the velocity of waves through different rock strata, or is that something that the user needs to provide?

Once again, sorry for the noobie questions. I appreciate you assistance in answering these questions.

danielpeter commented 2 years ago

you have multiple options. all SPECFEM packages come with an internal mesher (xmeshfem*) and multiple examples in the EXAMPLES/meshfem3D_examples/ folder to get familiar with it. the input and specifications are slightly different between different SPECFEM packages, but explained in the manual.

regarding docs, meshing is also explained here: https://specfem3d.readthedocs.io/en/latest/03_mesh_generation/

some more CUBIT/Trelis tutorials are here (to give you an idea): https://geodynamics.org/groups/seismology/wiki/SPECFEM3DCARTESIAN

there is no automatic geographic meshing in the SPECFEM3D_Cartesian package. the user will have to provide topography data for the internal mesher in form of interface files. this is similar as when you create the mesh with Cubit/Trelis or Gmsh. GMT and GDAL tools can help further with getting your topography. when writing your own python script to get topo data, I found this package quite useful: https://github.com/bopen/elevation

same applies to the subsurface velocities, you will have to specify and provide it. for more complicated models than layered ones, you would likely specify a tomography file and use that in a way as shown in EXAMPLES/tomographic_model/.