[Gmsh] internal node structure
Trevor Irons
trevorirons at gmail.com
Tue Jul 29 22:34:22 CEST 2014
Greetings. Thanks to everyone for such a quality software project. I have a
question I have been struggling with for some time, and am not quite sure
it is even possible. I want to find a way to specify the internal structure
somewhat explicitly for a mesh.
As an example, I would like to embed a cylinder into a cube. The code below
does this, but the cylinder and larger bounding box are not topologically
connected. I instead would like a single mesh structure, but internally
nodes to be densely located on the cylinder. I realize I could sort of do
this with attractors, but I want to be able to quite explicitly set the
internal node location.
If there is an example showing this, I would greatly appreciate it. All I
really need is some kind of combine function for the currently generated
meshes.
I saw in the examples t11.geo sort of did this with fields. Is this my best
bet? I would prefer a more explicit definition than that.
Thanks for any ideas.
///////////////////////////////////////////////
// My attempt .geo file
lc = 1e-1; // Target element size
R = .25; // Magnet Radius
D0 = 10; // Top of magnet
D1 = 11; // Bottom of magnet
// Total Solution Space
X0 = -2.;
X1 = 2.;
Y0 = -2.;
Y1 = 2.;
Z0 = 9.;
Z1 = 12.;
////////////////////////////////////
// North Pole
Point(0) = { 0, 0, D0, lc};
Point(1) = { R, 0, D0, lc};
Point(2) = { 0, R, D0, lc};
Point(3) = {-R, 0, D0, lc};
// Connect up the points
Circle(4) = {1, 0, 3};
Line(5) = {3,1};
Line Loop(6) = {4,5};
Plane Surface(7) = {6};
////////////////////////////////////
// South Pole
Point(8) = { 0, -0.0001, D0, lc};
Point(9) = { R, -0.0001, D0, lc};
Point(10) = { 0, -R, D0, lc};
Point(11) = {-R, -0.0001, D0, lc};
// Connect up the points
Circle(12) = {11, 8, 9};
Line(13) = {9, 11};
Line Loop(14) = {12, 13};
Plane Surface(15) = {14};
//////////////////////////////////////
// Extrude
Extrude {0, 0, D1-D0} { Surface{7}; }
Extrude {0, 0, D1-D0} { Surface{15}; }
/////////////////////////////////////
// Large Bounding box
Point(116) = {X0, Y0, Z0};
Point(117) = {X1, Y0, Z0};
Point(118) = {X1, Y1, Z0};
Point(119) = {X0, Y1, Z0};
Line(120) = {116,117};
Line(121) = {117,118};
Line(122) = {118,119};
Line(123) = {119,116};
Line Loop(124) = {120, 121, 122, 123};
Plane Surface(125) = {124};
Extrude {0, 0, Z1-Z0} { Surface{125}; }
//////////////////////////////////////
// Rings of sensitivity calculation
//Circle(222) = {2.*1, 0, 2.*2};
//////////////////////////////////////
// Volumes
Physical Volume("plus") = {2};
Physical Volume("minus") = {1};
Physical Volume("background") = {3};
Coherence;
Coherence;
-- Trevor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20140729/89dba5d6/attachment.html>