]> SALOME platform Git repositories - tools/solverlab.git/blob - CDMATH/tests/ressources/2DHexagonWithTriangles/HexagonMesh.py
Salome HOME
Updated hexagon meshes
[tools/solverlab.git] / CDMATH / tests / ressources / 2DHexagonWithTriangles / HexagonMesh.py
1 from __future__ import division\r
2 \r
3 from salome.geom import geomBuilder\r
4 from salome.smesh import smeshBuilder\r
5 \r
6 import sys\r
7 import os\r
8 \r
9 from math import pi, cos, sin\r
10 import SMESH\r
11 \r
12 geompy = geomBuilder.New()\r
13 smesh = smeshBuilder.New()\r
14 \r
15 \r
16 def create_group_from(name, mother_shape, list_elem, type="EDGE"):\r
17     new = geompy.CreateGroup(mother_shape, geompy.ShapeType[type])\r
18     geompy.UnionList(new, list_elem)\r
19     new.SetName(name)\r
20     geompy.addToStudyInFather(mother_shape, new, name)\r
21     return new\r
22 \r
23 \r
24 r = 1.\r
25 NumberOfSegments = 10\r
26 \r
27 points = [geompy.MakeVertex(r * cos(i * pi / 3), r * sin(i * pi / 3), 0) for i in range(7)]\r
28 edges = [geompy.MakeEdge(points[i], points[i + 1]) for i in range(6)]\r
29 wire = geompy.MakeWire(edges)\r
30 hexa = geompy.MakeFace(wire, True)\r
31 geompy.addToStudy(hexa, "Hexagon")\r
32 g = create_group_from("HexagonBoundary", hexa, [geompy.GetInPlace(hexa, wire, 1)])\r
33 \r
34 mesh = smesh.Mesh(hexa, "HexagonWith"+str(NumberOfSegments)+"Triangles")\r
35 msurf = mesh.Triangle(algo=smeshBuilder.NETGEN_1D2D)\r
36 NETGEN_2D_Simple_Parameters_1 = msurf.Parameters(smeshBuilder.SIMPLE)\r
37 NETGEN_2D_Simple_Parameters_1.SetNumberOfSegments( NumberOfSegments )\r
38 \r
39 HexagonBoundary_1 = mesh.GroupOnGeom(g, 'BoundaryFaces', SMESH.EDGE)\r
40 HexagonBoundary_2 = mesh.GroupOnGeom(g, 'BoundaryNodes', SMESH.NODE)\r
41 \r
42 mesh.Compute()\r
43 mesh.ExportMED("meshHexagonWithTriangles"+str(NumberOfSegments)+".med")\r