Thank you very much David.
I tried to what you suggested and it is working.
Please see the attached image.
The .geo file looks like :
Point(1) = {-2, 0, 4, element_dim} ;
Point(2) = {2, 0, 0, element_dim} ;
Point(3) = {2, 0, 9, element_dim};
Point(4) = {-2, 0, 9, element_dim};

Point(5) = {-2, 0, 5, element_dim};
Point(6) = {2, 0, 5, element_dim};

Line(11) = {1,2};
Line(12) = {2,6};
Line(13) = {6,5};
Line(14) = {5,1};

Line(15)={6,3};
Line(16)={3,4};
Line(17)={4,5};



Line Loop (21)={11,12,13,14};
Line Loop (22)={-13,15,16,17};


Plane Surface(31) = {21};
Plane Surface(32) = {22};

However, this process requires a lot of manual input and can be very tedious 
for large domains divided into many pieces. I am wondering if there is any 
tricks in Gmsh that can help me reduce the work, such as breaking a large line 
loop into two overlapping smaller ones.

Thanks again.
--
Shi Jin, PhD


----- Original Message ----
> From: David Colignon <[EMAIL PROTECTED]>
> To: Shi Jin <[EMAIL PROTECTED]>
> Cc: [email protected]
> Sent: Thursday, June 5, 2008 1:09:48 AM
> Subject: Re: [Gmsh] Enforced vertexes on plane for parallel domain 
> decomposition
> 
> 
> 
> 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



      

<<attachment: twosurfaces.png>>

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

Reply via email to