On 27/02/10 10:33, David Colignon wrote:


Dave,


Thanks, that's just the function I need! (I always feel stupid when I
have to be pointed to the userguide, but sadly it happens more often
than not)

I attempted the Boundary command you mentioned, with the "Volume
Method" I previously proposed.
I attempted it on Christophe's sphere example, but unfortunatly I get
50 errors similar to this:
Error : ERROR: Edge 1 - 9 multiple times in surface mesh
Error : ERROR: Edge 4 - 6 multiple times in surface...

I tried the Coherence; command, but it did not influence the issue
(long shot). My .geo file is attached if you are curious.

Do you know if there is a way to do boolean addition of volumes in
gmsh?(not critical, but it would be another possible avenue)
I know that boolean subtraction is: Volume(4) = {1, 2, 3}; where 1 is
the positive volume, 2 and 3 are negative volumes and 4 is the final
volume.

The easiest is to just use the values returned by the extrusion: cf. attached example.

Hope this helps,

Christophe





Thanks again, Eric Nutsch




On Thu, Feb 25, 2010 at 11:46 PM, David Colignon
<[email protected]> wrote:
Hi Eric,

there is the "Boundary{}" command :

http://www.geuz.org/gmsh/doc/texinfo/gmsh.html#Transformations

Boundary { transform-list }
(Not a transformation per-se.) Returns the boundary of the elementary
entities in transform-list.

with

transform-list:
Point | Line | Surface | Volume { expression-list };

Regards,

Dave

--
David Colignon, Ph.D.
Collaborateur Logistique du F.R.S.-FNRS
CÉCI - Consortium des Équipements de Calcul Intensif
ACE - Applied & Computational Electromagnetics
Sart-Tilman 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://hpc.montefiore.ulg.ac.be/
Agenda:
http://www.google.com/calendar/embed?src=david.colignon%40gmail.com


On 26/02/10 08:39, Eric Nutsch wrote:

Christophe,


It appears that the surface loop method to the boundary layer will
work in most all cases, but I may have found a more efficient way.

The BL extrude command returns a volume number as well. If it were
possible to take the farfield and preform a boolean operation with the
BL volumes, it would make the process very simple even for complex
BLs.

I attempted this for in your sphere example:
Volume(1001) = {1002, 1,2,3,4,5,6,7,8};
,but gmsh replied with "Unknown surface loop 1"

Is there any way to convert a volume (created via extrude for example)
to be converted into a surface loop?
Perhaps I am missing an important leap in the coding structure, but if
it was possible it would be an extremely handy function.

What are your thoughts?


Thanks,
Eric Nutsch




On Wed, Feb 24, 2010 at 4:03 AM, Christophe Geuzaine
<[email protected]> wrote:

On 24/02/10 11:26, julien hoessler wrote:

Hi Eric,
If it is a flat surface or if you know where the interface would be
located you can just move your domain line/surface to the interface
and
extrude it towards the outside, but otherwise I can't seem to find
a way
to link the interface with the rest of the mesh

Hi Guys - boundary layers are still a bit experimental, but the basics
are
there to connect them with other geometrical entities. Attached are two
examples:

* sphere_boundary_layer.geo shows how to connect volumes to boundary
layer
faces ;

* t1_boundary_layer_connection.geo shows how you can also connect
things
to
the lines or vertices created during the boundary layer generation.

Retrieving the id numbers of the extruded entities can be done in a
script
the usual way (list[] = Extrude...), but as usual this only gives
access
to
the ids of the "top" surface, the new volume and the "lateral"
surfaces.

To retrieve the ids of the new lines and the new points, you have at
the
moment to resort to the GUI (in "Tools->Options->General->General"
select
"Enable mouse hover over meshes" to see the numbers displayed at the
bottom
of the graphical window).

Hope this helps,

Christophe

regards
Julien
On 24 Feb 2010, at 02:03, Eric Nutsch wrote:

Hi,


Has anyone successfully gotten an extruded boundary layer to
interface
with a mesh?


Thanks,
Eric Nutsch

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

Julien Hoessler
PhD Student
Department of Aeronautics
Imperial College London

Phone: +44 (0) 20759 45042
Email: [email protected]


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




--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine


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





--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine
lc = 1;

Point(1) = {0.0,0.0,0.0,lc};
Point(2) = {1,0.0,0.0,lc};
Point(3) = {0,1,0.0,lc};
Circle(1) = {2,1,3};
Point(4) = {-1,0,0.0,lc};
Point(5) = {0,-1,0.0,lc};
Circle(2) = {3,1,4};
Circle(3) = {4,1,5};
Circle(4) = {5,1,2};
Point(6) = {0,0,-1,lc};
Point(7) = {0,0,1,lc};
Circle(5) = {3,1,6};
Circle(6) = {6,1,5};
Circle(7) = {5,1,7};
Circle(8) = {7,1,3};
Circle(9) = {2,1,7};
Circle(10) = {7,1,4};
Circle(11) = {4,1,6};
Circle(12) = {6,1,2};

Line Loop(13) = {2,8,-10};
Ruled Surface(14) = {13};
Line Loop(15) = {10,3,7};
Ruled Surface(16) = {15};
Line Loop(17) = {-8,-9,1};
Ruled Surface(18) = {17};
Line Loop(19) = {-11,-2,5};
Ruled Surface(20) = {19};
Line Loop(21) = {-5,-12,-1};
Ruled Surface(22) = {21};
Line Loop(23) = {-3,11,6};
Ruled Surface(24) = {23};
Line Loop(25) = {-7,4,9};
Ruled Surface(26) = {25};
Line Loop(27) = {-4,12,-6};
Ruled Surface(28) = {27};

old = Geometry.ExtrudeReturnLateralEntities;
Geometry.ExtrudeReturnLateralEntities = 0;
tmp[] = Extrude {
  Surface{14:28:2}; Layers{5, 0.2}; Recombine; // 14:28:2 means itterate from 
14 to 28 by steps of 2
};
Geometry.ExtrudeReturnLateralEntities = old;

Point(100) = {-1.5,-1.5,-1.5, lc};
Point(101) = {-1.5,1.5,-1.5, lc};
Point(102) = {1.5,-1.5,-1.5, lc};
Point(103) = {1.5,1.5,-1.5, lc};
Point(104) = {-1.5,-1.5,1.5, lc};
Point(105) = {-1.5,1.5,1.5, lc};
Point(106) = {1.5,-1.5,1.5, lc};
Point(107) = {1.5,1.5,1.5, lc};
Line(165) = {100, 102};
Line(166) = {102, 103};
Line(167) = {103, 101};
Line(168) = {101, 100};
Line(169) = {100, 104};
Line(170) = {104, 106};
Line(171) = {106, 102};
Line(172) = {101, 105};
Line(173) = {105, 107};
Line(174) = {107, 103};
Line(175) = {105, 104};
Line(176) = {106, 107};
Line Loop(177) = {167, 168, 165, 166};
Plane Surface(178) = {177};
Line Loop(179) = {166, -174, -176, 171};
Plane Surface(180) = {179};
Line Loop(181) = {171, -165, 169, 170};
Plane Surface(182) = {181};
Line Loop(183) = {176, -173, 175, 170};
Plane Surface(184) = {183};
Line Loop(185) = {172, 175, -169, -168};
Plane Surface(186) = {185};
Line Loop(187) = {172, 173, 174, 167};
Plane Surface(188) = {187};

Surface Loop(1000) = {14:28:2}; // the sphere (only need for internal mesh)
Surface Loop(1001) = {tmp[{0:14:2}]};  // The outside of the BL
Surface Loop(1002) = {188, 186, 184, 180, 178, 182}; // the box (entire 
farfield surface loop)

//Volume(1000) = {1000}; /// inside the sphere
Volume(1001) = {1002, 1001}; /// FarField

Mesh.Algorithm3D = 4;
_______________________________________________
gmsh mailing list
[email protected]
http://www.geuz.org/mailman/listinfo/gmsh

Reply via email to