[Gmsh] (no subject)

Ruth V. Sabariego r.sabariego at ulg.ac.be
Fri Oct 19 07:29:58 CEST 2012


Hi Nico,

Just add 

Coherence;

at the end of the file, and the points, lines and intermediate surface will match.

Regards,
Ruth

--
Dr. Ir. Ruth V. Sabariego
University of Liege, Electrical Engineering & Computer Science, 
Applied & Computational Electromagnetics (ACE),
phone: +32-4-3663737 - fax: +32-4-3662910 - http://ace.montefiore.ulg.ac.be/



On 18 Oct 2012, at 12:18, Nico Schlömer wrote:

> Hi all,
> 
> I'd like to stick two bricks together such that they share one face.
> I've gotten as far as
> 
> ========================= *snip* =========================
> Function Brick
>  // Creates a rectangular brick.
> 
>  // Define points.
>  cp1 = newp;
>  Point(cp1) = {xmax,ymax,zmax,lcar};
>  cp2 = newp;
>  Point(cp2) = {xmax,ymax,zmin,lcar};
>  cp3 = newp;
>  Point(cp3) = {xmax,ymin,zmax,lcar};
>  cp4 = newp;
>  Point(cp4) = {xmax,ymin,zmin,lcar};
>  cp5 = newp;
>  Point(cp5) = {xmin,ymax,zmax,lcar};
>  cp6 = newp;
>  Point(cp6) = {xmin,ymax,zmin,lcar};
>  cp7 = newp;
>  Point(cp7) = {xmin,ymin,zmax,lcar};
>  cp8 = newp;
>  Point(cp8) = {xmin,ymin,zmin,lcar};
> 
>  // Lines.
>  cl1 = newreg;
>  Line(cl1) = {cp1,cp2};
>  cl2 = newreg;
>  Line(cl2) = {cp1,cp3};
>  cl3 = newreg;
>  Line(cl3) = {cp1,cp5};
>  cl4 = newreg;
>  Line(cl4) = {cp2,cp4};
>  cl5 = newreg;
>  Line(cl5) = {cp2,cp6};
>  cl6 = newreg;
>  Line(cl6) = {cp3,cp4};
>  cl7 = newreg;
>  Line(cl7) = {cp3,cp7};
>  cl8 = newreg;
>  Line(cl8) = {cp4,cp8};
>  cl9 = newreg;
>  Line(cl9) = {cp5,cp6};
>  cl10 = newreg;
>  Line(cl10) = {cp5,cp7};
>  cl11 = newreg;
>  Line(cl11) = {cp6,cp8};
>  cl12 = newreg;
>  Line(cl12) = {cp7,cp8};
> 
>  // Surfaces.
>  cll1 = newreg; Line Loop(cll1) = {cl1,cl4,-cl6,-cl2};    Plane
> Surface(newreg) = {cll1};
>  cll2 = newreg; Line Loop(cll2) = {cl1,cl5,-cl9,-cl3};    Plane
> Surface(newreg) = {cll2};
>  cll3 = newreg; Line Loop(cll3) = {cl2,cl7,-cl10,-cl3};   Plane
> Surface(newreg) = {cll3};
>  cll4 = newreg; Line Loop(cll4) = {cl4,cl8,-cl11,-cl5};   Plane
> Surface(newreg) = {cll4};
>  cll5 = newreg; Line Loop(cll5) = {cl6,cl8,-cl12,-cl7};   Plane
> Surface(newreg) = {cll5};
>  cll6 = newreg; Line Loop(cll6) = {cl9,cl11,-cl12,-cl10}; Plane
> Surface(newreg) = {cll6};
> 
>  // We then store the surface loops identification numbers in a list
>  // for later reference (we will need these to define the final
>  // volume).
>  theloops[t] = newreg;
>  // Define outer surface.
>  Surface Loop(theloops[t]) = {cll1+1,cll2+1,cll3+1,cll4+1,cll5+1,cll6+1};
> 
> Return
> 
> // Left brick.
> t = 1;
> lcar = 0.5;
> xmin = -1;
> xmax = 0;
> ymin = -1;
> ymax = 1;
> zmin = -1;
> zmax = 1;
> Call Brick;
> brick1 = newreg;
> Volume(brick1) = theloops[t];
> Physical Volume("brick1") = brick1;
> 
> // Right brick.
> t = 2;
> lcar = 0.1;
> xmin = 0;
> xmax = 1;
> ymin = -1;
> ymax = 1;
> zmin = -1;
> zmax = 1;
> Call Brick;
> brick2 = newreg;
> Volume(brick2) = theloops[t];
> Physical Volume("brick2") = brick2;
> 
> Compound Volume(newreg) = {brick1, brick2};
> ========================= *snap* =========================
> 
> which generates the correct geometry.
> When meshing this thing, however, the mesh is not conforming at the
> shared face. How can I make it conform?
> 
> --Nico
> 
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20121019/20061ab3/attachment.html>