From 9930f80077b226179926c25e172921d31dea3d8b Mon Sep 17 00:00:00 2001 From: laetitia-m Date: Sat, 7 Sep 2024 00:37:50 +0200 Subject: [PATCH] Fix error on MG_OVERLAP assignment + reset flag at the beginning of the overlap as the flag is used before if the test case has a metric + add ci test overlap with metric to ensure it works --- cmake/testing/pmmg_tests.cmake | 19 +++++++++++++++++++ src/overlap_pmmg.c | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/cmake/testing/pmmg_tests.cmake b/cmake/testing/pmmg_tests.cmake index 3a0ab95a..62deae2a 100644 --- a/cmake/testing/pmmg_tests.cmake +++ b/cmake/testing/pmmg_tests.cmake @@ -515,6 +515,16 @@ IF( BUILD_TESTING ) set_property(TEST overlap-check-P0 PROPERTY PASS_REGULAR_EXPRESSION "${overlapCheckP0}") + add_test( NAME overlap-check-P0-met + COMMAND ${MPIEXEC} ${MPI_ARGS} ${MPIEXEC_NUMPROC_FLAG} 5 $ + ${CI_DIR}/LevelSet/5p_cubegeom/3D-cube.mesh -v 10 -nomove -noinsert -noswap -nobalance -niter 1 + -ls 0.0 + -sol ${CI_DIR}/LevelSet/5p_cubegeom/3D-cube-ls.sol + -met ${CI_DIR}/LevelSet/5p_cubegeom/3D-cube-metric.sol + -out ${CI_DIR_RESULTS}/overlap-check-P0-met.o.mesh) + set_property(TEST overlap-check-P0-met + PROPERTY PASS_REGULAR_EXPRESSION "${overlapCheckP0}") + # Tests if overlap is deleted correctly set(overlapCheckDelete "OVERLAP - part 0 has 282 pts and 882 tetras after overlap deletion") add_test( NAME overlap-check-delete @@ -526,6 +536,15 @@ IF( BUILD_TESTING ) set_property(TEST overlap-check-delete PROPERTY PASS_REGULAR_EXPRESSION "${overlapCheckDelete}") + add_test( NAME overlap-check-delete-met + COMMAND ${MPIEXEC} ${MPI_ARGS} ${MPIEXEC_NUMPROC_FLAG} 5 $ + ${CI_DIR}/LevelSet/5p_cubegeom/3D-cube.mesh -v 10 -nomove -noinsert -noswap -nobalance -niter 1 + -ls 0.0 + -sol ${CI_DIR}/LevelSet/5p_cubegeom/3D-cube-ls.sol + -out ${CI_DIR_RESULTS}/overlap-check-delete-met.o.mesh) + set_property(TEST overlap-check-delete-met + PROPERTY PASS_REGULAR_EXPRESSION "${overlapCheckDelete}") + ############################################################################### ##### ##### Test isovalue mode - ls discretization diff --git a/src/overlap_pmmg.c b/src/overlap_pmmg.c index 84203c72..a0e3ec8a 100644 --- a/src/overlap_pmmg.c +++ b/src/overlap_pmmg.c @@ -141,6 +141,10 @@ int PMMG_create_overlap(PMMG_pParMesh parmesh, MPI_Comm comm) { nt_initial = mesh->ne; ndataPBDY_added = 0; + /* Reset flags */ + for (k=1; k<=mesh->np; k++) + mesh->point[k].flag = 0; + /* Global allocation memory */ PMMG_CALLOC(parmesh,int_comm->intvalues,int_comm->nitem,int,"intvalues",return 0); PMMG_CALLOC(parmesh,parmesh->overlap,next_comm,PMMG_Overlap,"overlap",ier = 0);