diff --git a/gmsh/cube_tetra3d4.geo b/gmsh/cube_tetra3d4.geo new file mode 100644 index 0000000..d7880e5 --- /dev/null +++ b/gmsh/cube_tetra3d4.geo @@ -0,0 +1,76 @@ +//+ +Point(1) = {0, 0, 0, 0.1}; +//+ +Point(2) = {1, 0, 0, 0.1}; +//+ +Point(3) = {0, 1, 0, 0.1}; +//+ +Point(4) = {1, 1, 0, 0.1}; +//+ +Line(1) = {1, 2}; +//+ +Line(2) = {2, 4}; +//+ +Line(3) = {4, 3}; +//+ +Line(4) = {3, 1}; +//+ +Curve Loop(1) = {4, 1, 2, 3}; +//+ +Plane Surface(1) = {1}; +//+ +Extrude {0, 0, 1} { + Surface{1}; +} +//+ +Delete { + Surface{26}; +} +//+ +Delete { + Surface{26}; +} +//+ +Delete { + Volume{1}; +} +//+ +Delete { + Surface{26}; +} +//+ +Point(15) = {0.5, 0.5, 1.0, 0.1}; +//+ +Line(21) = {15, 10}; +//+ +Line(22) = {15, 14}; +//+ +Line(23) = {15, 5}; +//+ +Line(24) = {15, 6}; +//+ +Curve Loop(2) = {7, -21, 24}; +//+ +Surface(26) = {2}; +//+ +Curve Loop(3) = {21, 8, -22}; +//+ +Surface(27) = {3}; +//+ +Curve Loop(4) = {22, 9, -23}; +//+ +Surface(28) = {4}; +//+ +Curve Loop(5) = {23, 6, -24}; +//+ +Surface(29) = {5}; +//+ +Surface Loop(1) = {26, 17, 1, 13, 29, 28, 27, 21, 25}; +//+ +Volume(1) = {1}; +//+ +Physical Surface("top", 30) = {27}; +//+ +Physical Surface("bottom", 31) = {1}; +//+ +Physical Volume("body", 32) = {1}; diff --git a/gmsh/square_quad2d4.geo b/gmsh/square_quad2d4.geo new file mode 100644 index 0000000..c68fafb --- /dev/null +++ b/gmsh/square_quad2d4.geo @@ -0,0 +1,112 @@ +//+ +Point(1) = {0, 0, 0, 0.02}; +//+ +Point(2) = {1, 0, 0, 0.02}; +//+ +Point(3) = {1, 1, 0, 0.01}; +//+ +Point(4) = {0.5, 1, 0, 0.01}; +//+ +Point(5) = {0, 1, 0, 0.02}; +//+ +Line(1) = {1, 2}; +//+ +Line(2) = {2, 3}; +//+ +Line(3) = {3, 4}; +//+ +Line(4) = {4, 5}; +//+ +Line(5) = {5, 1}; +//+ +Point(6) = {0.25, 0.25, 0, 0.05}; +//+ +Point(7) = {0.75, 0.25, 0, 0.02}; +//+ +Point(8) = {0.75, 0.75, 0, 0.02}; +//+ +Point(9) = {0.25, 0.75, 0, 0.02}; +//+ +Point(10) = {0.5, 0.5, 0, 0.01}; +//+ +Point(11) = {0.6, 0.5, 0, 0.01}; +//+ +Point(12) = {0.6, 0.6, 0, 0.01}; +//+ +Point(13) = {0.5, 0.6, 0, 0.01}; +//+ +Line(6) = {6, 7}; +//+ +Line(7) = {7, 8}; +//+ +Line(8) = {8, 9}; +//+ +Line(9) = {9, 6}; +//+ +Line(10) = {10, 11}; +//+ +Line(11) = {11, 12}; +//+ +Line(12) = {12, 13}; +//+ +Line(13) = {13, 10}; +//+ +Point(14) = {0.5, 0.9, 0.0, 0.1}; +//+ +Point(15) = {1.0, 0.95, 0.0, 0.01}; +//+ +Point(16) = {0.5, 0.95, 0.0, 0.01}; +//+ +Delete { + Curve{2}; +} +//+ +Delete { + Point{14}; +} +//+ +Line(14) = {2, 15}; +//+ +Line(15) = {15, 3}; +//+ +Line(16) = {15, 16}; +//+ +Line(17) = {16, 4}; +//+ +Curve Loop(1) = {16, 17, -3, -15}; +//+ +Plane Surface(1) = {1}; +//+ +Curve Loop(2) = {12, 13, 10, 11}; +//+ +Plane Surface(2) = {2}; +//+ +Curve Loop(3) = {8, 9, 6, 7}; +//+ +Plane Surface(3) = {2, 3}; +//+ +Curve Loop(4) = {4, 5, 1, 14, 16, 17}; +//+ +Plane Surface(4) = {3, 4}; +//+ +Physical Surface("area1", 18) = {2}; +//+ +Physical Surface("area2", 19) = {3}; +//+ +Physical Surface("area3", 20) = {4}; +//+ +Physical Surface("area4", 21) = {1}; +//+ +Physical Curve("left", 22) = {5}; +//+ +Physical Curve("right", 23) = {14, 15}; +//+ +Physical Curve("bottom", 24) = {1}; +//+ +Physical Curve("top_left", 25) = {4}; +//+ +Physical Curve("top_right", 26) = {3}; + +Mesh.RecombinationAlgorithm = 2; // 或 3,尝试不同算法 + +Mesh.SubdivisionAlgorithm = 1; // 细分后全四边形 diff --git a/gmsh/square_tri2d3.geo b/gmsh/square_tri2d3.geo new file mode 100644 index 0000000..a87f12a --- /dev/null +++ b/gmsh/square_tri2d3.geo @@ -0,0 +1,108 @@ +//+ +Point(1) = {0, 0, 0, 0.02}; +//+ +Point(2) = {1, 0, 0, 0.02}; +//+ +Point(3) = {1, 1, 0, 0.01}; +//+ +Point(4) = {0.5, 1, 0, 0.01}; +//+ +Point(5) = {0, 1, 0, 0.02}; +//+ +Line(1) = {1, 2}; +//+ +Line(2) = {2, 3}; +//+ +Line(3) = {3, 4}; +//+ +Line(4) = {4, 5}; +//+ +Line(5) = {5, 1}; +//+ +Point(6) = {0.25, 0.25, 0, 0.05}; +//+ +Point(7) = {0.75, 0.25, 0, 0.02}; +//+ +Point(8) = {0.75, 0.75, 0, 0.02}; +//+ +Point(9) = {0.25, 0.75, 0, 0.02}; +//+ +Point(10) = {0.5, 0.5, 0, 0.01}; +//+ +Point(11) = {0.6, 0.5, 0, 0.01}; +//+ +Point(12) = {0.6, 0.6, 0, 0.01}; +//+ +Point(13) = {0.5, 0.6, 0, 0.01}; +//+ +Line(6) = {6, 7}; +//+ +Line(7) = {7, 8}; +//+ +Line(8) = {8, 9}; +//+ +Line(9) = {9, 6}; +//+ +Line(10) = {10, 11}; +//+ +Line(11) = {11, 12}; +//+ +Line(12) = {12, 13}; +//+ +Line(13) = {13, 10}; +//+ +Point(14) = {0.5, 0.9, 0.0, 0.1}; +//+ +Point(15) = {1.0, 0.95, 0.0, 0.01}; +//+ +Point(16) = {0.5, 0.95, 0.0, 0.01}; +//+ +Delete { + Curve{2}; +} +//+ +Delete { + Point{14}; +} +//+ +Line(14) = {2, 15}; +//+ +Line(15) = {15, 3}; +//+ +Line(16) = {15, 16}; +//+ +Line(17) = {16, 4}; +//+ +Curve Loop(1) = {16, 17, -3, -15}; +//+ +Plane Surface(1) = {1}; +//+ +Curve Loop(2) = {12, 13, 10, 11}; +//+ +Plane Surface(2) = {2}; +//+ +Curve Loop(3) = {8, 9, 6, 7}; +//+ +Plane Surface(3) = {2, 3}; +//+ +Curve Loop(4) = {4, 5, 1, 14, 16, 17}; +//+ +Plane Surface(4) = {3, 4}; +//+ +Physical Surface("area1", 18) = {2}; +//+ +Physical Surface("area2", 19) = {3}; +//+ +Physical Surface("area3", 20) = {4}; +//+ +Physical Surface("area4", 21) = {1}; +//+ +Physical Curve("left", 22) = {5}; +//+ +Physical Curve("right", 23) = {14, 15}; +//+ +Physical Curve("bottom", 24) = {1}; +//+ +Physical Curve("top_left", 25) = {4}; +//+ +Physical Curve("top_right", 26) = {3}; diff --git a/mesh/2d_quad.1.edge b/triangle/square_tri2d3.1.edge similarity index 100% rename from mesh/2d_quad.1.edge rename to triangle/square_tri2d3.1.edge diff --git a/mesh/2d_quad.1.ele b/triangle/square_tri2d3.1.ele similarity index 100% rename from mesh/2d_quad.1.ele rename to triangle/square_tri2d3.1.ele diff --git a/mesh/2d_quad.1.neigh b/triangle/square_tri2d3.1.neigh similarity index 100% rename from mesh/2d_quad.1.neigh rename to triangle/square_tri2d3.1.neigh diff --git a/mesh/2d_quad.1.node b/triangle/square_tri2d3.1.node similarity index 100% rename from mesh/2d_quad.1.node rename to triangle/square_tri2d3.1.node diff --git a/mesh/2d_quad.1.poly b/triangle/square_tri2d3.1.poly similarity index 100% rename from mesh/2d_quad.1.poly rename to triangle/square_tri2d3.1.poly diff --git a/mesh/2d_quad.poly b/triangle/square_tri2d3.poly similarity index 100% rename from mesh/2d_quad.poly rename to triangle/square_tri2d3.poly diff --git a/mesh/2d_tri.1.ele b/triangle/triangle_tri2d3.1.ele similarity index 100% rename from mesh/2d_tri.1.ele rename to triangle/triangle_tri2d3.1.ele diff --git a/mesh/2d_tri.1.node b/triangle/triangle_tri2d3.1.node similarity index 100% rename from mesh/2d_tri.1.node rename to triangle/triangle_tri2d3.1.node diff --git a/mesh/2d_tri.1.poly b/triangle/triangle_tri2d3.1.poly similarity index 100% rename from mesh/2d_tri.1.poly rename to triangle/triangle_tri2d3.1.poly diff --git a/mesh/2d_tri.poly b/triangle/triangle_tri2d3.poly similarity index 100% rename from mesh/2d_tri.poly rename to triangle/triangle_tri2d3.poly