You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a mesh is validated (before intersection / overlap for example), the concavity test is against 180.
That would translate to that even a slightly concave mesh (an internal angle slightly larger than 180 degrees) is "invalid"
We also use validation for meshes resulting from intersections, and they get rejected for a slight concavity, let's say, around 180.00000000001 degrees
ReferenceTolerance is for distances, which is set to around 1.e-12 on unit sphere. Basically, if we express in radians, an angle less than 1.-e12 radians should not invalidate a mesh; or pi+ReferenceTolerance should not be considered concave.
test at line 1730 in GridElements.cpp is for a dDot against 0.0; it should be someting equivalent to a reference tolerance of 1.e-12 radians;
The text was updated successfully, but these errors were encountered:
@paullric This is becoming an important change that we need to have fixed as the high-res models seem to produce really small elements (with areas in machine precision range) and angles that are not strictly positive in the above check (again machine precision and negative sometimes). Disabling this check generates the right consistent and conservative maps for MPAS offline analysis that use NE3000 to MPAS-O mesh projections for the initial condition data. Let me know how else you would like to address the above issue, in case you feel that ReferenceTolerance is too coarse for this check.
When a mesh is validated (before intersection / overlap for example), the concavity test is against 180.
That would translate to that even a slightly concave mesh (an internal angle slightly larger than 180 degrees) is "invalid"
We also use validation for meshes resulting from intersections, and they get rejected for a slight concavity, let's say, around 180.00000000001 degrees
ReferenceTolerance is for distances, which is set to around 1.e-12 on unit sphere. Basically, if we express in radians, an angle less than 1.-e12 radians should not invalidate a mesh; or pi+ReferenceTolerance should not be considered concave.
test at line 1730 in GridElements.cpp is for a dDot against 0.0; it should be someting equivalent to a reference tolerance of 1.e-12 radians;
The text was updated successfully, but these errors were encountered: