mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 21:10:33 +05:00
throw if IdentifyBoundaries mapped point is outside of mesh
This commit is contained in:
parent
585a2e086c
commit
e3f95528e0
@ -6261,22 +6261,31 @@ namespace netgen
|
|||||||
auto mapped_pt = mapping(pt);
|
auto mapped_pt = mapping(pt);
|
||||||
auto other_nr = GetElementOfPoint(mapped_pt, lami, true);
|
auto other_nr = GetElementOfPoint(mapped_pt, lami, true);
|
||||||
int index = -1;
|
int index = -1;
|
||||||
auto other_el = VolumeElement(other_nr);
|
if(other_nr != 0)
|
||||||
for(auto i : Range(other_el.PNums().Size()))
|
{
|
||||||
if((mapped_pt - (*this)[other_el.PNums()[i]]).Length() < pointTolerance)
|
auto other_el = VolumeElement(other_nr);
|
||||||
{
|
for(auto i : Range(other_el.PNums().Size()))
|
||||||
index = i;
|
if((mapped_pt - (*this)[other_el.PNums()[i]]).Length() < pointTolerance)
|
||||||
break;
|
{
|
||||||
}
|
index = i;
|
||||||
if(index == -1)
|
break;
|
||||||
|
}
|
||||||
|
if(index == -1)
|
||||||
|
{
|
||||||
|
cout << "point coordinates = " << pt << endl;
|
||||||
|
cout << "mapped coordinates = " << mapped_pt << endl;
|
||||||
|
throw Exception("Did not find mapped point with nr " + ToString(pi) + ", are you sure your mesh is periodic?");
|
||||||
|
}
|
||||||
|
auto other_pi = other_el.PNums()[index];
|
||||||
|
identified_points.insert(pi);
|
||||||
|
ident->Add(pi, other_pi, nr);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
cout << "point coordinates = " << pt << endl;
|
cout << "point coordinates = " << pt << endl;
|
||||||
cout << "mapped coordinates = " << mapped_pt << endl;
|
cout << "mapped coordinates = " << mapped_pt << endl;
|
||||||
throw Exception("Did not find mapped point with nr " + ToString(pi) + ", are you sure your mesh is periodic?");
|
throw Exception("Mapped point with nr " + ToString(pi) + " is outside of mesh, are you sure your mesh is periodic?");
|
||||||
}
|
}
|
||||||
auto other_pi = other_el.PNums()[index];
|
|
||||||
identified_points.insert(pi);
|
|
||||||
ident->Add(pi, other_pi, nr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nr;
|
return nr;
|
||||||
|
Loading…
Reference in New Issue
Block a user