throw if IdentifyBoundaries mapped point is outside of mesh

This commit is contained in:
Christopher Lackner 2020-09-03 11:06:34 +02:00
parent 585a2e086c
commit e3f95528e0

View File

@ -6261,6 +6261,8 @@ namespace netgen
auto mapped_pt = mapping(pt);
auto other_nr = GetElementOfPoint(mapped_pt, lami, true);
int index = -1;
if(other_nr != 0)
{
auto other_el = VolumeElement(other_nr);
for(auto i : Range(other_el.PNums().Size()))
if((mapped_pt - (*this)[other_el.PNums()[i]]).Length() < pointTolerance)
@ -6278,6 +6280,13 @@ namespace netgen
identified_points.insert(pi);
ident->Add(pi, other_pi, nr);
}
else
{
cout << "point coordinates = " << pt << endl;
cout << "mapped coordinates = " << mapped_pt << endl;
throw Exception("Mapped point with nr " + ToString(pi) + " is outside of mesh, are you sure your mesh is periodic?");
}
}
}
return nr;
}