File: hex.py

package info (click to toggle)
gmsh 4.15.1%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,880 kB
  • sloc: cpp: 440,657; ansic: 114,930; f90: 15,611; python: 13,907; yacc: 7,438; java: 3,491; lisp: 3,206; lex: 633; perl: 571; makefile: 500; xml: 414; sh: 407; javascript: 113; modula3: 32
file content (15 lines) | stat: -rw-r--r-- 553 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import gmsh
gmsh.initialize()
gmsh.option.setNumber("Mesh.MshFileVersion", 2.2)  # save in old MSH format
N = 4
Rec2d = True  # tris or quads
Rec3d = True  # tets, prisms or hexas
p = gmsh.model.geo.addPoint(0, 0, 0)
l = gmsh.model.geo.extrude([(0, p)], 1, 0, 0, [N], [1])
s = gmsh.model.geo.extrude([l[1]], 0, 1, 0, [N], [1], recombine=Rec2d)
v = gmsh.model.geo.extrude([s[1]], 0, 0, 1, [N], [1], recombine=Rec3d)
gmsh.model.geo.synchronize()
gmsh.model.addPhysicalGroup(3, [v[1][1]])
gmsh.model.mesh.generate(3)
gmsh.write("mesh.msh")
gmsh.finalize()