Salome HOME
Comment out the example.
[modules/smesh.git] / src / SMESH_SWIG / hole1pyGibi.py
1 # CEA/LGLS 2004, Francis KLOSS (OCC)
2 # ==================================
3
4 # Import
5 # ------
6
7 from geompy import *
8 from meshpy import *
9
10 import math
11
12 # Piece
13 # -----
14
15 # A centered holed cube
16
17 # Geometry
18 # --------
19
20 ox = 0
21 oy = 0
22 oz = 0
23
24 longueur = 100
25 largeur  =  80
26 hauteur  =  50
27
28 rayon = 10
29
30 # Points
31 # ------
32
33 basePoint111 = MakeVertex(ox         ,  oy, oz)
34 basePoint211 = MakeVertex(ox+longueur,  oy, oz)
35 basePoint112 = MakeVertex(ox         ,  oy, oz+largeur)
36 basePoint212 = MakeVertex(ox+longueur,  oy, oz+largeur)
37
38 cx = ox+longueur/2
39 cy = oy
40 cz = oz+largeur/2
41
42 ll = longueur/largeur
43 ll = ll*ll
44 dx = rayon/math.sqrt(1+ll)
45 dz = rayon/math.sqrt(1+1/ll)
46
47 circlePoint1 = MakeVertex(cx-dx, cy, cz-dz)
48 circlePoint2 = MakeVertex(cx+dx, cy, cz-dz)
49 circlePoint3 = MakeVertex(cx+dx, cy, cz+dz)
50 circlePoint4 = MakeVertex(cx-dx, cy, cz+dz)
51
52 # Edges
53 # -----
54
55 squareEdge1 = MakeEdge(basePoint111, basePoint211)
56 squareEdge2 = MakeEdge(basePoint211, basePoint212)
57 squareEdge3 = MakeEdge(basePoint212, basePoint112)
58 squareEdge4 = MakeEdge(basePoint112, basePoint111)
59
60 diagEdge1   = MakeEdge(basePoint111, circlePoint1)
61 diagEdge2   = MakeEdge(basePoint211, circlePoint2)
62 diagEdge3   = MakeEdge(basePoint212, circlePoint3)
63 diagEdge4   = MakeEdge(basePoint112, circlePoint4)
64
65 arcEdge1    = MakeArc(circlePoint1, MakeVertex(cx      , cy, cz-rayon), circlePoint2)
66 arcEdge2    = MakeArc(circlePoint2, MakeVertex(cx+rayon, cy, cz      ), circlePoint3)
67 arcEdge3    = MakeArc(circlePoint3, MakeVertex(cx      , cy, cz+rayon), circlePoint4)
68 arcEdge4    = MakeArc(circlePoint4, MakeVertex(cx-rayon, cy, cz      ), circlePoint1)
69
70 # Faces
71 # -----
72
73 baseFace1 = MakeQuad(squareEdge1, diagEdge2, arcEdge1, diagEdge1)
74 baseFace2 = MakeQuad(squareEdge2, diagEdge3, arcEdge2, diagEdge2)
75 baseFace3 = MakeQuad(squareEdge3, diagEdge4, arcEdge3, diagEdge3)
76 baseFace4 = MakeQuad(squareEdge4, diagEdge1, arcEdge4, diagEdge4)
77
78 # Solids
79 # ------
80
81 baseVector = MakeVectorDXDYDZ(0, 1, 0)
82
83 baseSolid1 = MakePrismVecH(baseFace1, baseVector, hauteur)
84 baseSolid2 = MakePrismVecH(baseFace2, baseVector, hauteur)
85 baseSolid3 = MakePrismVecH(baseFace3, baseVector, hauteur)
86 baseSolid4 = MakePrismVecH(baseFace4, baseVector, hauteur)
87
88 # Compound
89 # --------
90
91 c_l = []
92 c_l.append(baseSolid1)
93 c_l.append(baseSolid2)
94 c_l.append(baseSolid3)
95 c_l.append(baseSolid4)
96
97 c_cpd = MakeCompound(c_l)
98 piece = MakeGlueFaces(c_cpd, 1.e-5)
99
100 # Add in study
101 # ------------
102
103 piece_id = addToStudy(piece, "Hole1pyGibi")
104
105 # Meshing
106 # =======
107
108 # Create hexahedrical mesh on piece
109 # ---------------------------------
110
111 m_hexa=MeshHexa(piece, 4, "Hole1pyGibiHexa")
112
113 # Compute
114 # -------
115
116 m_hexa.Compute()