Runtime Error: Postcondition Violation (min power distance to q and r)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Runtime Error: Postcondition Violation (min power distance to q and r)

Walker  Andreas
Hello,

I am working on a project where I require a periodic mesh for a structure which I use later on in a (mechanical) FEM - context. I generate this mesh with a code very similar to the one presented at https://doc.cgal.org/latest/Periodic_3_mesh_3/Periodic_3_mesh_3_2mesh_implicit_shape_8cpp-example.html - which usually works like a charm. The function I use is a 3D-Interpolation from Grid - Data from a decomposition simulation (this simulation is not my own work).

Now this works when the grid data is taken from earlier stages of said simulation, when the 3D-field shows rather fine-grained structures and the values are regularly distributed within the allowed range (which is between 0 and 1). The structure I'm concerned with is typically "lamellar" i.e. consists of many connected lamellae which are rather fine and thin at this point. Now I move to later stages where these lamellae become rather thick (and fewer). Also, the function values get very close to 0 and 1 and have a steep gradient inbetween. Further on, there are also some numerical artifacts around these gradients, making the isosurfaces a bit rough around the grid-points (not sure if that's of any relevance here).

Now when I try to use the exact same code for such a case I get the following error at runtime:

what():  CGAL ERROR: postcondition violation!
Expr: min_power_distance_to_r < 0.5 && min_power_distance_to_q < 0.5
File: /opt/libraries/cgal-4.14.1/include/CGAL/Periodic_3_mesh_triangulation_3.h
Line: 521
Aborted (core dumped)

It took me a while to find a set of mesh criteria under which the code runs successfully and produces output, which however only work for rather coarse meshes. (To be specific, the cell size needs to be rather large (about twice the lamella thickness) and the cell radius to edge ratio higher than 3.5.

My question is: what causes this error? What can be done to avoid it? Are there any features of the input data that cause it?

Thank you in advance and please excuse the lengthy question with the probably unnecessary details

Best Regards,

Andreas Walker
Master Thesis Student
m&m Lab
MAVT, ETHZ

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss