diff --git a/demos/api/t10.py b/demos/api/t10.py new file mode 100644 index 0000000000000000000000000000000000000000..7764f06d389824864feece32fda8440912de97ef --- /dev/null +++ b/demos/api/t10.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python + +# This file reimplements gmsh/tutorial/t10.geo in Python. + +from gmsh import * +import math + +gmshInitialize() +gmshOptionSetNumber("General.Terminal", 1) + +gmshModelCreate("t10") + +lc = .15 +gmshModelGeoAddPoint(1, 0.0,0.0,0, lc) +gmshModelGeoAddPoint(2, 1,0.0,0, lc) +gmshModelGeoAddPoint(3, 1,1,0, lc) +gmshModelGeoAddPoint(4, 0,1,0, lc) +gmshModelGeoAddPoint(5, 0.2,.5,0, lc) + +gmshModelGeoAddLine(1, 1,2); +gmshModelGeoAddLine(2, 2,3); +gmshModelGeoAddLine(3, 3,4); +gmshModelGeoAddLine(4, 4,1); + +gmshModelGeoAddLineLoop(5, [1,2,3,4]) +gmshModelGeoAddPlaneSurface(6, [5]) + +gmshModelFieldCreate(1, "Attractor") +gmshModelFieldSetNumbers(1, "NodesList", [5]) +gmshModelFieldSetNumber(1, "NNodesByEdge", 100) +gmshModelFieldSetNumbers(1, "EdgesList", [2]) + +gmshModelFieldCreate(2, "Threshold"); +gmshModelFieldSetNumber(2, "IField", 1); +gmshModelFieldSetNumber(2, "LcMin", lc / 30) +gmshModelFieldSetNumber(2, "LcMax", lc) +gmshModelFieldSetNumber(2, "DistMin", 0.15) +gmshModelFieldSetNumber(2, "DistMax", 0.5) + +gmshModelFieldCreate(3, "MathEval") +gmshModelFieldSetString(3, "F", "Cos(4*3.14*x) * Sin(4*3.14*y) / 10 + 0.101") + +gmshModelFieldCreate(4, "Attractor") +gmshModelFieldSetNumbers(4, "NodesList", [1]) + +gmshModelFieldCreate(5, "MathEval"); + +gmshModelFieldSetString(5, "F", "F4^3 + " + str(lc / 100)) + +gmshModelFieldCreate(6, "Box") +gmshModelFieldSetNumber(6, "VIn", lc / 15) +gmshModelFieldSetNumber(6, "VOut", lc) +gmshModelFieldSetNumber(6, "XMin", 0.3) +gmshModelFieldSetNumber(6, "XMax", 0.6) +gmshModelFieldSetNumber(6, "YMin", 0.3) +gmshModelFieldSetNumber(6, "YMax", 0.6) + +gmshModelFieldCreate(7, "Min") +gmshModelFieldSetNumbers(7, "FieldsList", [2, 3, 5, 6]) + +gmshModelFieldSetAsBackground(7) + +gmshModelGeoSynchronize() +gmshModelMesh(2) +gmshExport("t10.msh")