SPECFEM/specfem3d

using PML condition with internal mesher (xmeshfem3D)

shmamadking opened this issue · 2 comments

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

:) 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.

Thank you for your continued efforts in improving this valuable Specfem3D package.
I was revisiting the Mesh_Par_File and noticed the THICKNESS_OF_[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,