I did some poor man's debugging (a.k.a. printf ..., didn't have the time 
to set up gdb yet) and the program stops at the 
temp_tetgen_interface.triangulate_pointset() line. Some other important 
points that I forgot in the first mail:

  - When running in parallel, the code will generate the meshes for 
several intersections and then will stop for one or two processors 
(hence why I used the word "stall")

  - At first, temp_tetgen_interface was a member of the class 
Mesh_Intersection, properly initialized with m_libMesh_PolyhedronMesh at 
the class constructors. In this case (which runs fine with gcc in an 
older cluster), the program ends with a segfault on all processors when 
trying to build the first intersection mesh ...

The build settings were nothing out of the ordinary, I think ...

./configure --with-vtk=yes --with-hdf5=[path to hdf5] --with-cxx=mpiicpc 
--enable-unique-ptr --with-mpi=[path to Intel MPI] --with-cc=mpiicc 
--with-boost=[path to boost, compiled with icpc]--prefix=[well ... the 
install prefix] --disable-strict-lgpl

I'll try to do some more proper debugging tomorrow and Monday, and also 
try to reproduce my old library stack as much as possible in the new 
cluster, but I must admit that I don't have a lot of clues here ...

Thanks in advance,

Thiago Milanetto Schlittler

On 24/09/16 23:45, Mike Marchywka wrote:
>
>
>
>
> ----------------------------------------
>> To: libmesh-users@lists.sourceforge.net
>> From: thiago...@gmail.com
>> Date: Sat, 24 Sep 2016 17:19:56 +0200
>> Subject: [Libmesh-users] TetGen mesh interface's "triangulate_pointset()" 
>> stop running
>>
>> Hello!
>>
>> I'm having a weird problem with the method "triangulate_pointset()",
>> from the TetGenMeshInterface class. Essentially, it seems like it is
>> stalling after several calls. In my code, I have to calculate several
>> polyhedron intersections and mesh them. To do so, I built a
>> Mesh_Intersection class, which has the following method:
>>
>> void Mesh_Intersection::triangulate_intersection(const
>> std::set<libMesh::Point> & input_points)
>> {
>> /*
>> * input_points : set containing the intersection
>> * polyhedron's vertices.
>> * m_libMesh_PolyhedronMesh : a libMesh::Mesh, member of the
>> Mesh_Intersection
>> * cleared when calling this method.
>> */
>>
>> m_libMesh_PolyhedronMesh.clear();
>>
>> // Insert points into the mesh
>> for(std::set<libMesh::Point>::const_iterator it_set =
>> input_points.begin();
>> it_set != input_points.end();
>> ++it_set)
>> {
>> m_libMesh_PolyhedronMesh.add_point(*it_set);
>> }
>>
>> libMesh::TetGenMeshInterface
>> temp_tetgen_interface(m_libMesh_PolyhedronMesh);
>> temp_tetgen_interface.triangulate_pointset();
>> }
>>
>> The code stalls at the last line. I already tested the input_points,
>> and they are valid. I'm using libMesh 1.0.0, compiled with Intel icpc v.
>> 16.0.3 and Intel MPI v. 5.1.2, on Linux. The m_libMesh_PolyhedronMesh is
>> associated to a single processor. I don't think that it is a
>> communicator problem because it happens even with only one processor. I
>> think that the problem is associated to the compiler, since it works
>> well on a machine where I used gcc 4.9. Did anyone else have a similar
>> problem?
>
> I'm not at all familiar with this but a bit curious.
> If no one has an immediate answer it may be worth stepping through
> it in the debugger and perhaps posting some of the code that
> surrounds the "stall." Personally I've found the code to be pretty
> easy to understand and quite educational so far except for the one issue
> mentioned before :) If you believe it is compiler specific, it may
> also be sensitive to build settings etc and that may help.
>
> fwiw.
>
>> Thanks in advance,
>> Thiago Milanetto Schlittler
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Libmesh-users mailing list
>> Libmesh-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>                                       


------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to