[Gmsh] fixed copyMesh(GEdge *from, GEdge *to, int direction)

walter steffe walter.steffe at alice.it
Thu Oct 15 19:10:39 CEST 2015


Hello 

 I have started to enhance my EmCAD EM modeler in order to deal with
periodic structures (which are present in many important applications).

To enforce mesh periodicity my new code make calls to the gmsh functions
GEdge::setMeshMaster( ..) and GFace::setMeshMaster(..).

I am doing a few experiments with a simple brick which is imported from 
a step file and then partitioned with a grid of parallel planes.
The partitioning is done by EmCAD which calls the Salome library for
this job.

After having computed a map which associates each edge with the
corresponding master edge and the related transform I was using 
GEdge::setMeshMaster(GEdge* ge,const std::vector<double>& tfo)
to enforce edge mesh copying.

I have seen that GEdge::setMeshMaster checks that two edges are properly
matched under the transformation. These checks were all passed in the
test case.

Nevertheless I have observed that the function copyMesh(GEdge *from,
GEdge *to, int direction) was copying the master mesh into a wrong
position. This problem has been fixed (at least for my test case) by the
annexed patch which is defined with reference to the Gmsh version
2.10.1.


Walter 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: meshGEdge.cpp.patch
Type: text/x-patch
Size: 849 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20151015/273d4781/attachment.patch>