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

using PML condition with internal mesher (xmeshfem3D) #1687

Closed shmamadking closed 6 months ago

shmamadking commented 6 months ago

Description

Hi,

I'm encountering issues while trying to implement the Perfectly Matched Layer (PML) absorbing boundary condition on a regular mesh generated by the internal mesher (xmeshfem3D) in my code.

I'm facing several errors with the message "STOP there is error in mesh of CPML-layer xyz".

After reviewing the user manual, it appeared that the C-PML boundary condition might only be applicable when using external meshers. Could someone clarify if this is indeed the case?

If possible, I'd greatly appreciate any guidance on using PML absorbing boundary conditions with the internal mesher (xmeshfem3D).

Thanks in advance for your assistance!

Affected SPECFEM3D version

devel

Your software and hardware environment

linux

Reproduction steps

1. set PML condition to .true.
2. run xmeshfem3D
3. run xgeneratedata
4. run xspecfem3d

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

OS

No response

danielpeter commented 6 months ago

:) probably we should amend the user manual, but the CPML works also with the internal mesher.

you could look at the example provided in the package EXAMPLES/applications/meshfem3D_examples/regular_element_mesh.

in your case above, something with a corner PML element is off. double-check your PML thicknesses specified in Mesh_Par_file. also, set the flag CREATE_VTK_FILES to .true. in Mesh_Par_file to create VTK files, like proc000000_is_CPML.vtk provided in the DATABASES_MPI/ folder. then use Paraview to look at the PML elements of your mesh to see if the thicknesses lead to the PML layers you want.

shmamadking commented 6 months ago

Thank you for your continued efforts in improving this valuable Specfem3D package. I was revisiting the Mesh_Par_File and noticed the THICKNESSOF[XYZ]_PML parameters. While I didn't see them initially. Additionally, I found the user manual instructions on using PML conditions to be a bit unclear.

To further enhance this brilliant package, I would recommend adding a more detailed discussion on using PML conditions in the user manual.

While your advice addressed my issue, I am grateful for your assistance.

Sincerely,