Shi Jin wrote:
> 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. 
> 

Hi Shi,

the easiest way is to define TWO surfaces, each one having the dividing line in 
common

Cheers,

Dave

-- 
David Colignon, Ph.D.
Collaborateur Logistique F.R.S.-FNRS (Equipements de Calcul Intensif)
ACE - Applied & Computational Electromagnetics
Institut Montefiore B28
Université de Liège
4000 Liège - BELGIQUE
Tél: +32 (0)4 366 37 32
Fax: +32 (0)4 366 29 10
WWW:    http://www.montefiore.ulg.ac.be/personnel.php?op=detail&id=898
Agenda: http://www.google.com/calendar/embed?src=david.colignon%40gmail.com



> 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
> 
> 
> 
>       
> 
> 
> ------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> gmsh mailing list
> [email protected]
> http://www.geuz.org/mailman/listinfo/gmsh

_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh

Reply via email to