[Gmsh] C++ API for using GMSH::Mesher
Robert Funnell
robert.funnell at mcgill.ca
Tue Jan 13 14:11:34 CET 2009
Josef -
I'm quite fuzzy about this, but are you doing the equivalent of the
Surface Loop(1) = {1};
Volume(1) = {1};
seen in demos/sphere-discrete.geo?
- Robert
On Tue, 13 Jan 2009, Josef Weinbub wrote:
> Hi all!
>
> What I am working on:
> ---------------------
> I am working on an C++ API which should allow my application to use the
> 3D mesher capabilities of GMSH. The goal is to feed the GMSH::Mesher
> with geometry information (boundary points and interior points) and
> topology (the boundary facets/triangles as in this case). As a result
> the mesher should provide me with a 3D tet mesh where the interior
> points and the given boundary(points/facets) should be respected. After
> a successful mesh is created the GMSH::Mesh domain should be written
> back to my domain via some kind of writeback() function, which copies
> the geometry(the points) and the topology(of the meshed tetrahedras)
> back.
>
> The following parts describe my approach. It would be great if someone
> can look it through and give me some hints.
>
> The problem:
> ------------
> The problem is that the mesher doesn't mesh anything. The *.msh output
> after calling mesh(3) only contains the previously entered points and
> the triangles(which should act as the boundary of the volume).
>
> The approach:
> -------------
> So far I've used the readMSH() function within GModelIO_Mesh.cpp as a
> basis for the API implementation. I tried to copy the mechanisms within
> the readMSH() function.
>
> the key steps are:
> -) setting up geometry: creating MVertex objects and store them on the
> GModel object via "_storeVerticesInEntities()"
> -) setting up topology: creating MElement objects of type 2 (triangles
> as these triangles should bound my 3D volume).
> (note that reg=physical=part=0)
> the elements are stored on the GModel object
> via "_storeElementsInEntities()"
> -) associateEntityWithMeshVertices: calling the function
> _associateEntityWithMeshVertices()
>
> -) mesh(3): call the mesh algorithm ...
>
>
> Thank you very much for your time,
> yours Josef