Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validate for concavity #124

Open
iulian787 opened this issue Jul 8, 2024 · 1 comment
Open

Validate for concavity #124

iulian787 opened this issue Jul 8, 2024 · 1 comment

Comments

@iulian787
Copy link
Contributor

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;

@vijaysm
Copy link
Collaborator

vijaysm commented Nov 3, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants