[Gmsh] Enforced vertexes on plane for parallel domain decomposition

Shi Jin jinzishuai at yahoo.com
Thu Jun 5 00:20:20 CEST 2008


Hi there,

I have been developing a parallel code to simulate particles flowing in fluids. We are using the mesh generated by gmsh for unstructured grids (Tetrahedra in 3D) and are quite impressed with it. Thank you.

Our code runs in MPI and the mesh is first read in by the master process and distributed into  pieces using graph partitioners such as  ParMetis  or Chaco.  However,  although  the partition may be  optimal to reduce parallel communication, it is not very good for tracking particles moving across domain interfaces. Therefore, we want to enforce a simple division between processes, specifically using a straight line in 2D or a plane surface in 3D. This way, it is trivial to figure out which processes the particle belongs to.
For an example in 2D, please see the attached image, where a domain is divided into two parts by a straight line.

Then I have a problem generating the correct mesh for this purpose. The correct mesh should be one that has no element belonging to more than one process at the same time. Let's talk about the 2D example shown in the attachment.  I would like to enforce the vertexes to be on the dividing line in the middle of the domain while the default behavior does not guarantee that. So I am wondering if there is any advanced technique I can use to instruct gmsh to generate the correct mesh. 

My naive guess would be to first enforce vertexes on the dividing line and make sure they are the only ones used near the interface. Another possibility is to first generate the incorrect mesh and then subdivide the bridging elements into smaller ones that are on one side or the other. But I have no idea how to do any of those.

I would really appreciate your help. Thank you very much.

Regards,
Shi

 --
Shi Jin, PhD



      
-------------- next part --------------
A non-text attachment was scrubbed...
Name: demo.png
Type: image/png
Size: 52738 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20080604/d2034ea2/attachment.png>