File: parametric_surface.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 (28 lines) | stat: -rw-r--r-- 794 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import gmsh
import sys

gmsh.initialize(sys.argv)

# this example shows how alternative non-plane geometries can be used in the
# built-in kernel; here using a parametric surface

g=gmsh.model.geo.addGeometry("ParametricSurface", strings=["u", "v", "v^2"])

p1=gmsh.model.geo.addPointOnGeometry(g, 0,0,0,tag=1)
p2=gmsh.model.geo.addPointOnGeometry(g, 1,0,0,tag=2)
p3=gmsh.model.geo.addPointOnGeometry(g, 1,1,0,tag=3)
p4=gmsh.model.geo.addPointOnGeometry(g, 0,1,0,tag=4)

l1=gmsh.model.geo.addLine(p1, p2)
l2=gmsh.model.geo.addLine(p2, p3)
l3=gmsh.model.geo.addLine(p3, p4)
l4=gmsh.model.geo.addLine(p4, p1)

cl = gmsh.model.geo.addCurveLoop([l1, l2, l3, l4])
gmsh.model.geo.addPlaneSurface([cl])
gmsh.model.geo.synchronize()

if '-nopopup' not in sys.argv:
    gmsh.fltk.run()

gmsh.finalize()