From a6a23009c7a1a91ae9e26feb945e7d7e5e3bf7bf Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Tue, 11 Oct 2016 15:06:04 +0000 Subject: [PATCH] --- demos/hex.geo | 57 +++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/demos/hex.geo b/demos/hex.geo index e34cb32223..48f527fee2 100644 --- a/demos/hex.geo +++ b/demos/hex.geo @@ -1,16 +1,16 @@ -lc = 0.3; +DefineConstant[ N = {4, Name "Number of elements per edge"} ]; -// example of a purely hexahedral mesh using only transfinite -// mesh constraints +// example of a purely hexahedral mesh using transfinite constraints and/or +// extrusion -Point(1) = {-2,0,0,lc}; -Point(2) = {-1,0,0,lc}; -Point(3) = {-1,1,0,lc}; -Point(4) = {-2,1,0,lc}; -Point(5) = {-2,0,1,lc}; -Point(6) = {-1,0,1,lc}; -Point(7) = {-1,1,1,lc}; -Point(8) = {-2,1,1,lc}; +Point(1) = {-2,0,0}; +Point(2) = {-1,0,0}; +Point(3) = {-1,1,0}; +Point(4) = {-2,1,0}; +Point(5) = {-2,0,1}; +Point(6) = {-1,0,1}; +Point(7) = {-1,1,1}; +Point(8) = {-2,1,1}; Line(1) = {4,3}; Line(2) = {3,2}; Line(3) = {2,1}; @@ -37,7 +37,9 @@ Line Loop(24) = {6,-12,3,10}; Plane Surface(25) = {24}; Surface Loop(1) = {17,-25,-23,-21,19,15}; Volume(1) = {1}; -Transfinite Line{1:4,6:13} = 5; +/* +By hand: +Transfinite Line{1:4,6:13} = N+1; Transfinite Surface {15} = {1,2,3,4}; Transfinite Surface {17} = {5,6,7,8}; Transfinite Surface {19} = {1,5,8,4}; @@ -45,44 +47,51 @@ Transfinite Surface {21} = {4,8,7,3}; Transfinite Surface {23} = {2,6,7,3}; Transfinite Surface {25} = {1,5,6,2}; Transfinite Volume{1} = {1,2,3,4,5,6,7,8}; -Recombine Surface{15:25:2}; + +Or automatically: +*/ +Transfinite Line "*" = N+1; +Transfinite Surface "*"; +Transfinite Volume "*"; +Recombine Surface "*"; // the same by extruding a transfinite surface mesh -Point(51) = {0,0,0,lc}; -Point(52) = {1,0,0,lc}; -Point(53) = {1,1,0,lc}; -Point(54) = {0,1,0,lc}; +Point(51) = {0,0,0}; +Point(52) = {1,0,0}; +Point(53) = {1,1,0}; +Point(54) = {0,1,0}; Line(51) = {54,53}; Line(52) = {53,52}; Line(53) = {52,51}; Line(54) = {51,54}; Line Loop(55) = {52,53,54,51}; Plane Surface(56) = {55}; -Transfinite Line{51:54} = 5; +Transfinite Line{51:54} = N+1; Transfinite Surface{56} = {51,52,53,54}; Recombine Surface{56}; Extrude {0,0,1} { - Surface{56}; Layers{4}; Recombine; + Surface{56}; Layers{N}; Recombine; } // and the same by using only extrusions -Point(100) = {2,0,0,lc}; +Point(100) = {2,0,0}; l[] = Extrude {1,0,0}{ - Point{100}; Layers{4}; + Point{100}; Layers{N}; }; s[] = Extrude {0,1,0}{ - Line{l[1]}; Layers{4}; Recombine; + Line{l[1]}; Layers{N}; Recombine; }; Extrude {0,0,1}{ - Surface{s[1]}; Layers{4}; Recombine; + Surface{s[1]}; Layers{N}; Recombine; } // add some labels - +If(!PostProcessing.NbViews) View "Mesh Info" { T3(-1.5,1.5,0.5,66574){ "Pure Transfinite" }; T3(0.5,1.5,0.5,66574){ "Extruded Transfinite" }; T3(2.5,1.5,0.5,66574){ "Pure Extruded" }; }; +EndIf -- GitLab