[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>