Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model.mesh.deform_mesh() error with mpirun. Possibly two nodes are in an identical location. #686

Open
phamngockien opened this issue Jan 30, 2024 · 0 comments

Comments

@phamngockien
Copy link

Hi all,

I am trying to test mesh.deform function. It did work well with serial run.
However, it returned an error with mpirun when the number of elements in x > number of elements in y.
The traceback is:
uw.libUnderworld.StgDomain.Mesh_DeformationUpdate( self._cself )
RuntimeError: Error encountered. Full restart recommended as exception safety not guaranteed. Error message:
An error occurred when checking mesh metrics. Possibly two nodes are in an identical location.

It may be due to the StgDomain distribute local rank related to the direction having larger number of element.
Let's assume using 2 processors (mpirun -np 2 ...), underworld gives
Global element size: 40x30
Local offset of rank 0: 0x0
Local range of rank 0: 20x30
Thus, if I change the value of Model.mesh.data[index][1] in the deform_mesh() function, the two processors may not know how the y coordinate has been changed in another process, and then return the error.

I also attach the test file below:
mesh_deform_mpi_test.txt

Do we have a way to overcome this issue?

Thank you in advance.

Best regards,

Pham Ngoc Kien
Ph.D. Student
School of Earth and Environmental Sciences
Seoul National University

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant