Salome HOME
Fix wrong comments indentation
[modules/smesh.git] / src / SMESH_SWIG / grid3partition.py
1 # CEA/LGLS 2004, Francis KLOSS (OCC)
2 # ==================================
3
4 # Import
5 # ------
6
7 from geompy import *
8 from meshpy import *
9
10 # Piece
11 # -----
12
13 # grid compound of 3 x 3 elements
14 # an element is compound of 3 cylinders concentriques
15 # an element is centered in a square of the grid
16 # the smaller cylinder is a hole
17
18 # prisme the grid
19
20 # Geometry
21 # --------
22
23 g_x = 0
24 g_y = 0
25 g_z = 0
26
27 g_arete   = 50
28 g_hauteur = 30
29
30 g_rayon1 = 20
31 g_rayon2 = 30
32 g_rayon3 = 40
33
34 g_grid = 3
35
36 g_trim = 1000
37
38 # Element
39 # -------
40
41 e_boite = MakeBox(g_x-g_arete, g_y-g_hauteur, g_z-g_arete,  g_x+g_arete, g_y+g_hauteur, g_z+g_arete)
42
43 e_pi4     = 3.141592653/4
44 e_hauteur = 2*g_hauteur
45 e_centre  = MakeVertex(g_x, g_y-g_hauteur, g_z)
46 e_dir     = MakeVectorDXDYDZ(0, 1, 0)
47
48 e_cyl0 = MakeCylinder(e_centre, e_dir, g_rayon3, e_hauteur)
49 e_cyl1 = MakeRotation(e_cyl0, e_dir, e_pi4)
50
51 e_blo1 = MakeCut(e_boite, e_cyl1)
52
53 e_cyl0 = MakeCylinder(e_centre, e_dir, g_rayon2, e_hauteur)
54 e_cyl2 = MakeRotation(e_cyl0, e_dir, e_pi4)
55
56 e_blo2 = MakeCut(e_cyl1, e_cyl2)
57
58 e_cyl0 = MakeCylinder(e_centre, e_dir, g_rayon1, e_hauteur)
59 e_cyl3 = MakeRotation(e_cyl0, e_dir, e_pi4)
60
61 e_blo3 = MakeCut(e_cyl2, e_cyl3)
62
63 # Partition
64 # ---------
65
66 p_tools = []
67 p_tools.append(MakePlane(e_centre, MakeVectorDXDYDZ( 1, 0, 1), g_trim))
68 p_tools.append(MakePlane(e_centre, MakeVectorDXDYDZ(-1, 0, 1), g_trim))
69
70 p_element = MakePartition([e_blo1, e_blo2, e_blo3], p_tools, [], [], ShapeType["SOLID"])
71
72 # Grid
73 # ----
74
75 piece = MakeMultiTranslation2D(p_element, MakeVectorDXDYDZ(1, 0, 0), 2*g_arete, g_grid,
76                                           MakeVectorDXDYDZ(0, 0, 1), 2*g_arete, g_grid)
77
78 # Add in study
79 # ------------
80
81 piece_id = addToStudy(piece, "Grid3partition")
82
83 # Meshing
84 # =======
85
86 # Create hexahedrical mesh on piece
87 # ---------------------------------
88
89 m_hexa=MeshHexa(piece, 4, "Grid3partitionHexa")
90
91 # Compute
92 # -------
93
94 m_hexa.Compute()