diff --git a/libsrc/meshing/boundarylayer.cpp b/libsrc/meshing/boundarylayer.cpp index ce837a08..41c68f7e 100644 --- a/libsrc/meshing/boundarylayer.cpp +++ b/libsrc/meshing/boundarylayer.cpp @@ -654,7 +654,7 @@ namespace netgen else point_fixed = true; } - if(point_moved && point_fixed) + if(point_moved && !moved_surfaces.Test(facei)) { int new_si = mesh.GetNFD()+1; const auto& fd = mesh.GetFaceDescriptor(facei); diff --git a/libsrc/meshing/meshfunc.cpp b/libsrc/meshing/meshfunc.cpp index a59f1205..a9a05f20 100644 --- a/libsrc/meshing/meshfunc.cpp +++ b/libsrc/meshing/meshfunc.cpp @@ -395,6 +395,7 @@ namespace netgen PrintMessage (3, mesh.GetNP(), " points, ", mesh.GetNE(), " elements"); + mesh.FindOpenElements(domain); } Box<3> domain_bbox( Box<3>::EMPTY_BOX ); @@ -408,8 +409,6 @@ namespace netgen } domain_bbox.Increase (0.01 * domain_bbox.Diam()); - mesh.FindOpenElements(domain); - int cntsteps = 0; int meshed; if (mesh.GetNOpenElements()) @@ -532,6 +531,7 @@ namespace netgen return; } + mesh.VolumeElements().DeleteAll(); for(auto & m_ : md) { auto first_new_pi = m_.pmap.Range().Next();