[python] ffff

Viewer

  1. #!/usr/bin/env python
  2.  
  3. ###
  4. ### This file is generated automatically by SALOME v9.9.0 with dump python functionality
  5. ###
  6.  
  7. import sys
  8. import salome
  9. import math
  10.  
  11. salome.salome_init()
  12. import salome_notebook
  13. notebook = salome_notebook.NoteBook()
  14. sys.path.insert(0, r'/home/mika/OpenFOAM/mika-9/run/nozzle_1/geometry/')
  15.  
  16. # входные параметры
  17. P_input = 200000
  18. T_input = 1000
  19. P_output = 8000
  20. = 2
  21. alpha_ = 14
  22. betta_ = 22
  23. = 287
  24. = 1.4
  25.  
  26. # рассчет входного сечения
  27. betta_vh = 0.999
  28. # давление
  29. p_vh = betta_vh*P_input
  30. # температура
  31. T_vh = T_input*betta_vh**((k-1)/k)
  32. # удельный объем
  33. mu_vh = R*T_vh/p_vh
  34. # плотность
  35. ro_vh = 1/mu_vh
  36. # скорость потока
  37. c_vh = math.sqrt(2*k/(k-1)*R*(T_input-T_vh))
  38. # местная скорость звука
  39. a_vh = math.sqrt(k*R*T_vh)
  40. # площадь входного поперечного сечения
  41. F_vh = G/ro_vh/c_vh
  42. # диаметр входного сечения сопла
  43. d_vh = round(math.sqrt(4/3.14*F_vh)*1e3)
  44.  
  45. betta_kr = (2/(k+1))**(k/(k-1))
  46. p_kr = betta_kr*P_input
  47. T_kr = T_input*betta_kr**((k-1)/k)
  48. mu_kr = R*T_kr/p_kr
  49. ro_kr = 1/mu_kr
  50. c_kr = math.sqrt(2*k/(k-1)*R*(T_input-T_kr))
  51. a_kr = math.sqrt(k*R*T_kr)
  52. F_kr = G/ro_kr/c_kr
  53. d_kr = round(math.sqrt(4/3.14*F_kr)*1e3)
  54.  
  55. # расчет выходного сечения
  56. betta_out = P_output/P_input
  57. # давление
  58. p_out = betta_out*P_input
  59. # Temnepatypa
  60. T_out = T_input*betta_out**((k-1)/k)
  61. # удельный объем
  62. mu_out = R*T_out/p_out
  63. # плотность
  64. ro_out = 1/mu_out
  65. # скорость потока
  66. c_out = math.sqrt(2*k/(k-1)*R*(T_input-T_out))
  67. # местная скорость звука
  68. a_out = math.sqrt(k*R*T_out)
  69. # площадь выходного поперечного сечения
  70. F_out = G/ro_out/c_out
  71. # диаметр выходного сечения сопла
  72. d_out = round(math.sqrt(4/3.14*F_out)*1e3)
  73.  
  74. # расчетная длина сопла до критического сечения и после
  75. l_left = (d_vh-d_kr)/(2*math.tan(alpha_/2*math.pi/180))
  76. l_right = (d_out-d_kr)/(2*math.tan(betta_/2*math.pi/180))
  77.  
  78. d_inlet_ = d_vh
  79. d_kr_ = d_kr
  80. d_outlet_ = d_out
  81.  
  82. r_ = d_kr_
  83. OS_ = r_+d_kr_/2
  84. l1_ = (l_left+l_right)*1.6
  85. l2_ = d_outlet_/5
  86. h_ = d_outlet_*4
  87.  
  88. arc_left = math.pi * alpha_ * r_ / 180
  89. arc_right = math.pi * betta_ * r_ / 180
  90.  
  91. # atmosphere height above nozzle
  92. k_height = 177*6/885
  93. # atmosphere width
  94. k_width = (1189.09+152.41+2146.4)/2146.4
  95. # left top atmosphere
  96. k_left_top = (2146.4+30.482)/30.482
  97. # nozzle width
  98. k_nozzle = (1189.09+152.41)/1189.09
  99. # arc left
  100. k_arc_left = (14*3.14*100)/180/628
  101. # arc right
  102. k_arc_right = (28*3.14*100)/180/628
  103.  
  104. NbSg1 = 15
  105. NbSg2 = 1
  106. NbSg3 = round(l_left*k_nozzle/13.4)
  107.  
  108. NbSg4 = round(arc_left * k_arc_left*2)
  109. NbSg5 = round(arc_right * k_arc_right)
  110.  
  111. NbSg6 = round(l_right*k_nozzle/5.7)
  112. NbSg7 = round(l1_*k_width/7)
  113. NbSg8 = round(l2_*k_left_top/360)
  114. NbSg9 = round(h_*k_height/15)
  115.  
  116.  
  117. ###
  118. ### SHAPER component
  119. ###
  120.  
  121. from salome.shaper import model
  122.  
  123. model.begin()
  124. partSet = model.moduleDocument()
  125.  
  126. ### Create Part
  127. Part_1 = model.addPart(partSet)
  128. Part_1_doc = Part_1.document()
  129. model.addParameter(Part_1_doc, "d_inlet", "d_inlet_")
  130. model.addParameter(Part_1_doc, "d_kr", "d_kr_")
  131. model.addParameter(Part_1_doc, "d_outlet", "d_outlet_")
  132. model.addParameter(Part_1_doc, "alpha", "alpha_")
  133. model.addParameter(Part_1_doc, "betta", "betta_")
  134. model.addParameter(Part_1_doc, "r", "r_")
  135. model.addParameter(Part_1_doc, "OS", "OS_")
  136. model.addParameter(Part_1_doc, "l1", "l1_")
  137. model.addParameter(Part_1_doc, "l2", "l2_")
  138. model.addParameter(Part_1_doc, "h", "h_")
  139. model.addParameter(Part_1_doc, "l_left", "l_left")
  140. model.addParameter(Part_1_doc, "l_right", "l_right")
  141.  
  142. ### Create Sketch
  143. Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
  144.  
  145. ### Create SketchLine
  146. SketchLine_1 = Sketch_1.addLine(0, 0, -12.18693434051474, 0)
  147.  
  148. ### Create SketchProjection
  149. SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "PartSet/Origin"), False)
  150. SketchPoint_1 = SketchProjection_1.createdFeature()
  151. Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchPoint_1.result())
  152. Sketch_1.setHorizontal(SketchLine_1.result())
  153.  
  154. ### Create SketchLine
  155. SketchLine_2 = Sketch_1.addLine(-12.18693434051474, 0, -1195.19084049934, 0)
  156. Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
  157. Sketch_1.setHorizontal(SketchLine_2.result())
  158.  
  159. ### Create SketchLine
  160. SketchLine_3 = Sketch_1.addLine(0, 49.99999999999998, 0, 0)
  161.  
  162. ### Create SketchProjection
  163. SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OY"), False)
  164. SketchLine_4 = SketchProjection_2.createdFeature()
  165. Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchLine_4.result())
  166. Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchLine_3.endPoint())
  167.  
  168. ### Create SketchLine
  169. SketchLine_5 = Sketch_1.addLine(24.19218955996678, 0, 0, 0)
  170.  
  171. ### Create SketchProjection
  172. SketchProjection_3 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OX"), False)
  173. SketchLine_6 = SketchProjection_3.createdFeature()
  174. Sketch_1.setCoincident(SketchLine_5.startPoint(), SketchLine_6.result())
  175. Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchLine_5.endPoint())
  176.  
  177. ### Create SketchLine
  178. SketchLine_7 = Sketch_1.addLine(164.6881315646525, 0, 24.19218955996678, 0)
  179. Sketch_1.setCoincident(SketchLine_5.startPoint(), SketchLine_7.endPoint())
  180. Sketch_1.setHorizontal(SketchLine_7.result())
  181.  
  182. ### Create SketchLine
  183. SketchLine_8 = Sketch_1.addLine(-1195.19084049934, 196, -1195.19084049934, 0)
  184. Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_8.endPoint())
  185. Sketch_1.setVertical(SketchLine_8.result())
  186.  
  187. ### Create SketchLine
  188. SketchLine_9 = Sketch_1.addLine(-1195.19084049934, 196, -12.18693434051474, 50.74538483586778)
  189. Sketch_1.setCoincident(SketchLine_8.startPoint(), SketchLine_9.startPoint())
  190.  
  191. ### Create SketchLine
  192. SketchLine_10 = Sketch_1.addLine(-12.18693434051474, 50.74538483586778, -12.18693434051474, 0)
  193. Sketch_1.setCoincident(SketchLine_9.endPoint(), SketchLine_10.startPoint())
  194. Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_10.endPoint())
  195. Sketch_1.setVertical(SketchLine_10.result())
  196.  
  197. ### Create SketchLine
  198. SketchLine_11 = Sketch_1.addLine(24.19218955996678, 52.97042737240035, 24.19218955996678, 0)
  199. Sketch_1.setCoincident(SketchLine_5.startPoint(), SketchLine_11.endPoint())
  200. Sketch_1.setVertical(SketchLine_11.result())
  201.  
  202. ### Create SketchLine
  203. SketchLine_12 = Sketch_1.addLine(164.6881315646525, 88, 164.6881315646525, 0)
  204. Sketch_1.setCoincident(SketchLine_7.startPoint(), SketchLine_12.endPoint())
  205. Sketch_1.setVertical(SketchLine_12.result())
  206.  
  207. ### Create SketchLine
  208. SketchLine_13 = Sketch_1.addLine(164.6881315646525, 88, 24.19218955996678, 52.97042737240035)
  209. Sketch_1.setCoincident(SketchLine_12.startPoint(), SketchLine_13.startPoint())
  210. Sketch_1.setCoincident(SketchLine_11.startPoint(), SketchLine_13.endPoint())
  211.  
  212. ### Create SketchConstraintAngle
  213. Sketch_1.setAngle(SketchLine_9.result(), SketchLine_2.result(), "alpha/2", type = "Direct")
  214.  
  215. ### Create SketchLine
  216. SketchLine_14 = Sketch_1.addLine(0, 49.99999999999998, 0, 150)
  217. SketchLine_14.setAuxiliary(True)
  218. Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchLine_14.startPoint())
  219. Sketch_1.setCoincident(SketchLine_14.endPoint(), SketchLine_4.result())
  220. Sketch_1.setVerticalDistance(SketchLine_14.endPoint(), SketchLine_1.startPoint(), "OS")
  221. Sketch_1.setVerticalDistance(SketchLine_14.endPoint(), SketchLine_3.startPoint(), "r")
  222.  
  223. ### Create SketchConstraintAngle
  224. Sketch_1.setAngle(SketchLine_13.result(), SketchLine_7.result(), "betta/2", type = "Direct")
  225. Sketch_1.setVerticalDistance(SketchLine_13.startPoint(), SketchLine_7.startPoint(), "d_outlet/2")
  226. Sketch_1.setVerticalDistance(SketchLine_8.startPoint(), SketchLine_8.endPoint(), "d_inlet/2")
  227.  
  228. ### Create SketchArc
  229. SketchArc_1 = Sketch_1.addArc(-1.102898468723179e-33, 150, 0, 49.99999999999998, 24.19218955996678, 52.97042737240035, False)
  230. Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchArc_1.startPoint())
  231. Sketch_1.setCoincident(SketchLine_11.startPoint(), SketchArc_1.endPoint())
  232.  
  233. ### Create SketchArc
  234. SketchArc_2 = Sketch_1.addArc(-1.102898468723179e-33, 150, 0, 49.99999999999998, -12.18693434051474, 50.74538483586778, True)
  235. Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchArc_2.startPoint())
  236. Sketch_1.setCoincident(SketchLine_9.endPoint(), SketchArc_2.endPoint())
  237. Sketch_1.setTangent(SketchArc_2.results()[1], SketchLine_9.result())
  238. Sketch_1.setTangent(SketchArc_1.results()[1], SketchLine_13.result())
  239. Sketch_1.setCoincident(SketchArc_2.center(), SketchArc_1.center())
  240. Sketch_1.setRadius(SketchArc_1.results()[1], "r")
  241. Sketch_1.setCoincident(SketchArc_1.center(), SketchLine_14.result())
  242.  
  243. ### Create SketchLine
  244. SketchLine_15 = Sketch_1.addLine(164.6881315646525, 88, 164.6881315627929, 792)
  245. Sketch_1.setCoincident(SketchLine_12.startPoint(), SketchLine_15.startPoint())
  246. Sketch_1.setVertical(SketchLine_15.result())
  247.  
  248. ### Create SketchLine
  249. SketchLine_16 = Sketch_1.addLine(164.6881315627929, 792, 129.4881315646525, 792)
  250. Sketch_1.setCoincident(SketchLine_15.endPoint(), SketchLine_16.startPoint())
  251.  
  252. ### Create SketchLine
  253. SketchLine_17 = Sketch_1.addLine(129.4881315646525, 792, 129.4881315646525, 88)
  254. Sketch_1.setCoincident(SketchLine_16.endPoint(), SketchLine_17.startPoint())
  255. Sketch_1.setVertical(SketchLine_17.result())
  256.  
  257. ### Create SketchLine
  258. SketchLine_18 = Sketch_1.addLine(129.4881315646525, 88, 164.6881315646525, 88)
  259. Sketch_1.setCoincident(SketchLine_17.endPoint(), SketchLine_18.startPoint())
  260. Sketch_1.setCoincident(SketchLine_12.startPoint(), SketchLine_18.endPoint())
  261. Sketch_1.setHorizontal(SketchLine_18.result())
  262.  
  263. ### Create SketchLine
  264. SketchLine_19 = Sketch_1.addLine(164.6881315646525, 0, 2311.058131564647, 0)
  265. Sketch_1.setCoincident(SketchLine_7.startPoint(), SketchLine_19.startPoint())
  266. Sketch_1.setHorizontal(SketchLine_19.result())
  267.  
  268. ### Create SketchLine
  269. SketchLine_20 = Sketch_1.addLine(2311.058131564647, 0, 2311.058131564647, 792)
  270. Sketch_1.setCoincident(SketchLine_19.endPoint(), SketchLine_20.startPoint())
  271. Sketch_1.setVertical(SketchLine_20.result())
  272.  
  273. ### Create SketchLine
  274. SketchLine_21 = Sketch_1.addLine(2311.058131564647, 792, 164.6881315627929, 792)
  275. Sketch_1.setCoincident(SketchLine_20.endPoint(), SketchLine_21.startPoint())
  276. Sketch_1.setCoincident(SketchLine_15.endPoint(), SketchLine_21.endPoint())
  277. Sketch_1.setHorizontal(SketchLine_21.result())
  278. Sketch_1.setHorizontal(SketchLine_16.result())
  279.  
  280. ### Create SketchLine
  281. SketchLine_22 = Sketch_1.addLine(164.6881315646525, 88, 2311.058131564647, 88)
  282. Sketch_1.setCoincident(SketchLine_12.startPoint(), SketchLine_22.startPoint())
  283. Sketch_1.setCoincident(SketchLine_22.endPoint(), SketchLine_20.result())
  284. Sketch_1.setHorizontal(SketchLine_22.result())
  285. Sketch_1.setVerticalDistance(SketchLine_17.startPoint(), SketchLine_18.startPoint(), "h")
  286. Sketch_1.setHorizontalDistance(SketchLine_15.endPoint(), SketchLine_21.startPoint(), "l1")
  287. Sketch_1.setHorizontalDistance(SketchLine_15.endPoint(), SketchLine_17.startPoint(), "l2")
  288. model.do()
  289. Sketch_1.changeFacesOrder([[SketchLine_3.result(), SketchLine_5.result(), SketchLine_11.result(), SketchArc_1.results()[1]],
  290.                            [SketchLine_3.result(), SketchArc_2.results()[1], SketchLine_10.result(), SketchLine_1.result()],
  291.                            [SketchLine_12.result(), SketchLine_19.result(), SketchLine_20.result(), SketchLine_22.result()],
  292.                            [SketchLine_10.result(), SketchLine_9.result(), SketchLine_8.result(), SketchLine_2.result()],
  293.                            [SketchLine_12.result(), SketchLine_13.result(), SketchLine_11.result(), SketchLine_7.result()],
  294.                            [SketchLine_15.result(), SketchLine_16.result(), SketchLine_17.result(), SketchLine_18.result()],
  295.                            [SketchLine_22.result(), SketchLine_20.result(), SketchLine_21.result(), SketchLine_15.result()]
  296.                           ])
  297. model.do()
  298.  
  299. ### Create Face
  300. Face_1_objects = [model.selection("EDGE", "Sketch_1/SketchLine_9"),
  301.                   model.selection("EDGE", "Sketch_1/SketchLine_8"),
  302.                   model.selection("EDGE", "Sketch_1/SketchLine_2"),
  303.                   model.selection("EDGE", "Sketch_1/SketchLine_10")]
  304. Face_1 = model.addFace(Part_1_doc, Face_1_objects)
  305.  
  306. ### Create Face
  307. Face_2_objects = [model.selection("EDGE", "Sketch_1/SketchArc_2_2"),
  308.                   model.selection("EDGE", "Sketch_1/SketchLine_3"),
  309.                   model.selection("EDGE", "Sketch_1/SketchLine_1"),
  310.                   model.selection("EDGE", "Sketch_1/SketchLine_10")]
  311. Face_2 = model.addFace(Part_1_doc, Face_2_objects)
  312.  
  313. ### Create Face
  314. Face_3 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_3f-SketchLine_5r-SketchLine_11r-SketchArc_1_2r")])
  315.  
  316. ### Create Face
  317. Face_4 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_12r-SketchLine_13f-SketchLine_11f-SketchLine_7r")])
  318.  
  319. ### Create Face
  320. Face_5 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_22f-SketchLine_20f-SketchLine_21f-SketchLine_15r")])
  321.  
  322. ### Create Face
  323. Face_6 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_15f-SketchLine_16f-SketchLine_17f-SketchLine_18f")])
  324.  
  325. ### Create Face
  326. Face_7 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchLine_12f-SketchLine_19f-SketchLine_20f-SketchLine_22r")])
  327.  
  328. ### Create Shell
  329. Shell_1_objects = [model.selection("FACE", "Face_1_1"),
  330.                    model.selection("FACE", "Sketch_1/Face-SketchLine_3r-SketchArc_2_2r-SketchLine_10f-SketchLine_1r"),
  331.                    model.selection("FACE", "Face_3_1"),
  332.                    model.selection("FACE", "Face_4_1"),
  333.                    model.selection("FACE", "Sketch_1/Face-SketchLine_12f-SketchLine_19f-SketchLine_20f-SketchLine_22r"),
  334.                    model.selection("FACE", "Face_5_1"),
  335.                    model.selection("FACE", "Face_6_1")]
  336. Shell_1 = model.addShell(Part_1_doc, Shell_1_objects)
  337.  
  338. ### Create Revolution
  339. Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("SHELL", "Shell_1_1")], model.selection("EDGE", "PartSet/OX"), 2.5, 2.5, "Faces")
  340.  
  341. ### Create Group
  342. Group_1_objects = [model.selection("EDGE", "[Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_10][Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_9]"),
  343.                    model.selection("EDGE", "[Revolution_1_1_2/Generated_Face&Sketch_1/SketchLine_3][Revolution_1_1_2/Generated_Face&Sketch_1/SketchArc_2_2]"),
  344.                    model.selection("EDGE", "[Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_8][Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_9]"),
  345.                    model.selection("EDGE", "[Revolution_1_1_3/Generated_Face&Sketch_1/SketchLine_11][Revolution_1_1_3/Generated_Face&Sketch_1/SketchArc_1_2]"),
  346.                    model.selection("EDGE", "[Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_12][Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_13]"),
  347.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_17][Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_18]"),
  348.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_16][Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_17]"),
  349.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_15][Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_16]"),
  350.                    model.selection("EDGE", "[Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_20][Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_21]"),
  351.                    model.selection("EDGE", "[Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_20][Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_22]")]
  352. Group_1 = model.addGroup(Part_1_doc, "Edges", Group_1_objects)
  353.  
  354. ### Create Group
  355. Group_2_objects = [model.selection("FACE", "Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_8"),
  356.                    model.selection("FACE", "Revolution_1_1_2/Generated_Face&Sketch_1/SketchLine_10"),
  357.                    model.selection("FACE", "Revolution_1_1_3/Generated_Face&Sketch_1/SketchLine_3"),
  358.                    model.selection("FACE", "Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_11"),
  359.                    model.selection("FACE", "Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_12"),
  360.                    model.selection("FACE", "Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_20")]
  361. Group_2 = model.addGroup(Part_1_doc, "Faces", Group_2_objects)
  362.  
  363. ### Create Group
  364. Group_3_objects = [model.selection("EDGE", "[Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_9][Revolution_1_1_1/From_Face]"),
  365.                    model.selection("EDGE", "[Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_9][Revolution_1_1_1/To_Face]"),
  366.                    model.selection("EDGE", "[Revolution_1_1_1/From_Face][Revolution_1_1_1/To_Face]")]
  367. Group_3 = model.addGroup(Part_1_doc, "Edges", Group_3_objects)
  368.  
  369. ### Create Group
  370. Group_4_objects = [model.selection("EDGE", "[Revolution_1_1_2/Generated_Face&Sketch_1/SketchArc_2_2][Revolution_1_1_2/From_Face]"),
  371.                    model.selection("EDGE", "[Revolution_1_1_2/From_Face][Revolution_1_1_2/To_Face]"),
  372.                    model.selection("EDGE", "[Revolution_1_1_2/Generated_Face&Sketch_1/SketchArc_2_2][Revolution_1_1_2/To_Face]")]
  373. Group_4 = model.addGroup(Part_1_doc, "Edges", Group_4_objects)
  374.  
  375. ### Create Group
  376. Group_5_objects = [model.selection("EDGE", "[Revolution_1_1_3/Generated_Face&Sketch_1/SketchArc_1_2][Revolution_1_1_3/From_Face]"),
  377.                    model.selection("EDGE", "[Revolution_1_1_3/Generated_Face&Sketch_1/SketchArc_1_2][Revolution_1_1_3/To_Face]"),
  378.                    model.selection("EDGE", "[Revolution_1_1_3/From_Face][Revolution_1_1_3/To_Face]")]
  379. Group_5 = model.addGroup(Part_1_doc, "Edges", Group_5_objects)
  380.  
  381. ### Create Group
  382. Group_6_objects = [model.selection("EDGE", "[Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_13][Revolution_1_1_4/From_Face]"),
  383.                    model.selection("EDGE", "[Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_13][Revolution_1_1_4/To_Face]"),
  384.                    model.selection("EDGE", "[Revolution_1_1_4/From_Face][Revolution_1_1_4/To_Face]")]
  385. Group_6 = model.addGroup(Part_1_doc, "Edges", Group_6_objects)
  386.  
  387. ### Create Group
  388. Group_7_objects = [model.selection("EDGE", "[Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_21][Revolution_1_1_6/From_Face]"),
  389.                    model.selection("EDGE", "[Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_22][Revolution_1_1_5/From_Face]"),
  390.                    model.selection("EDGE", "Face_7_1/Modified_Edge&Sketch_1/SketchLine_22"),
  391.                    model.selection("EDGE", "[Revolution_1_1_5/From_Face][Revolution_1_1_5/To_Face]"),
  392.                    model.selection("EDGE", "[Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_21][Revolution_1_1_6/To_Face]")]
  393. Group_7 = model.addGroup(Part_1_doc, "Edges", Group_7_objects)
  394.  
  395. ### Create Group
  396. Group_8_objects = [model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_16][Revolution_1_1_7/From_Face]"),
  397.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_16][Revolution_1_1_7/To_Face]"),
  398.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_18][Revolution_1_1_7/From_Face]"),
  399.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_18][Revolution_1_1_7/To_Face]")]
  400. Group_8 = model.addGroup(Part_1_doc, "Edges", Group_8_objects)
  401.  
  402. ### Create Group
  403. Group_9_objects = [model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_17][Revolution_1_1_7/From_Face]"),
  404.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_17][Revolution_1_1_7/To_Face]"),
  405.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_15][Revolution_1_1_7/From_Face]"),
  406.                    model.selection("EDGE", "[Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_15][Revolution_1_1_7/To_Face]"),
  407.                    model.selection("EDGE", "[Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_20][Revolution_1_1_6/From_Face]"),
  408.                    model.selection("EDGE", "[Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_20][Revolution_1_1_6/To_Face]")]
  409. Group_9 = model.addGroup(Part_1_doc, "Edges", Group_9_objects)
  410.  
  411. ### Create Group
  412. Group_10_objects = [model.selection("FACE", "Revolution_1_1_1/To_Face"),
  413.                     model.selection("FACE", "Revolution_1_1_3/To_Face"),
  414.                     model.selection("FACE", "Revolution_1_1_2/To_Face"),
  415.                     model.selection("FACE", "Revolution_1_1_4/To_Face"),
  416.                     model.selection("FACE", "Revolution_1_1_5/To_Face"),
  417.                     model.selection("FACE", "Revolution_1_1_6/To_Face"),
  418.                     model.selection("FACE", "Revolution_1_1_7/To_Face")]
  419. Group_10 = model.addGroup(Part_1_doc, "Faces", Group_10_objects)
  420. Group_10.setName("front")
  421. Group_10.result().setName("front")
  422.  
  423. ### Create Group
  424. Group_11_objects = [model.selection("FACE", "Revolution_1_1_1/From_Face"),
  425.                     model.selection("FACE", "Revolution_1_1_2/From_Face"),
  426.                     model.selection("FACE", "Revolution_1_1_3/From_Face"),
  427.                     model.selection("FACE", "Revolution_1_1_4/From_Face"),
  428.                     model.selection("FACE", "Revolution_1_1_7/From_Face"),
  429.                     model.selection("FACE", "Revolution_1_1_6/From_Face")]
  430. Group_11 = model.addGroup(Part_1_doc, "Faces", Group_11_objects)
  431. Group_11.setName("back")
  432. Group_11.result().setName("back")
  433.  
  434. ### Create Group
  435. Group_12_objects = [model.selection("FACE", "Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_9"),
  436.                     model.selection("FACE", "Revolution_1_1_2/Generated_Face&Sketch_1/SketchArc_2_2"),
  437.                     model.selection("FACE", "Revolution_1_1_3/Generated_Face&Sketch_1/SketchArc_1_2"),
  438.                     model.selection("FACE", "Revolution_1_1_4/Generated_Face&Sketch_1/SketchLine_13"),
  439.                     model.selection("FACE", "Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_18")]
  440. Group_12 = model.addGroup(Part_1_doc, "Faces", Group_12_objects)
  441. Group_12.setName("wall")
  442. Group_12.result().setName("wall")
  443.  
  444. ### Create Group
  445. Group_13 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Revolution_1_1_1/Generated_Face&Sketch_1/SketchLine_8")])
  446. Group_13.setName("inlet")
  447. Group_13.result().setName("inlet")
  448.  
  449. ### Create Group
  450. Group_14 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Revolution_1_1_7/Generated_Face&Sketch_1/SketchLine_17")])
  451. Group_14.setName("outletLeft")
  452. Group_14.result().setName("outletLeft")
  453.  
  454. ### Create Group
  455. Group_15 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Revolution_1_1_6/Generated_Face&Sketch_1/SketchLine_20"), model.selection("FACE", "Revolution_1_1_5/Generated_Face&Sketch_1/SketchLine_20")])
  456. Group_15.setName("outletRight")
  457. Group_15.result().setName("outletRight")
  458.  
  459. model.end()
  460.  
  461. ###
  462. ### SHAPERSTUDY component
  463. ###
  464.  
  465. model.publishToShaperStudy()
  466. import SHAPERSTUDY
  467. Face_2_1, = SHAPERSTUDY.shape(model.featureStringId(Face_2))
  468. Face_7_1, Group_7_1, = SHAPERSTUDY.shape(model.featureStringId(Face_7))
  469. Revolution_1_1, Group_1_1, Group_2_1, Group_3_1, Group_4_1, Group_5_1, Group_6_1, Group_7_2, Group_8_1, Group_9_1, front, back, wall, inlet, outletLeft, outletRight, = SHAPERSTUDY.shape(model.featureStringId(Revolution_1))
  470. ###
  471. ### GEOM component
  472. ###
  473.  
  474. import GEOM
  475. from salome.geom import geomBuilder
  476. import math
  477. import SALOMEDS
  478.  
  479.  
  480. geompy = geomBuilder.New()
  481.  
  482. = geompy.MakeVertex(0, 0, 0)
  483. OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
  484. OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
  485. OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
  486. geompy.addToStudy( O, 'O' )
  487. geompy.addToStudy( OX, 'OX' )
  488. geompy.addToStudy( OY, 'OY' )
  489. geompy.addToStudy( OZ, 'OZ' )
  490.  
  491. ###
  492. ### SMESH component
  493. ###
  494.  
  495. import  SMESH, SALOMEDS
  496. from salome.smesh import smeshBuilder
  497.  
  498. smesh = smeshBuilder.New()
  499. #smesh.SetEnablePublish( False ) # Set to False to avoid publish in study if not needed or in some particular situations:
  500.                                  # multiples meshes built in parallel, complex and numerous mesh edition (performance)
  501.  
  502. Mesh_1 = smesh.Mesh(Revolution_1_1,'Mesh_1')
  503. Regular_1D = Mesh_1.Segment()
  504. Number_of_Segments_1 = Regular_1D.NumberOfSegments(NbSg1, None, [])
  505. Prism_3D = Mesh_1.Prism()
  506. front_1 = Mesh_1.GroupOnGeom(front,'front',SMESH.FACE)
  507. back_1 = Mesh_1.GroupOnGeom(back,'back',SMESH.FACE)
  508. wall_1 = Mesh_1.GroupOnGeom(wall,'wall',SMESH.FACE)
  509. inlet_1 = Mesh_1.GroupOnGeom(inlet,'inlet',SMESH.FACE)
  510. outletLeft_1 = Mesh_1.GroupOnGeom(outletLeft,'outletLeft',SMESH.FACE)
  511. outletRight_1 = Mesh_1.GroupOnGeom(outletRight,'outletRight',SMESH.FACE)
  512. Regular_1D_1 = Mesh_1.Segment(geom=Group_1_1)
  513. Sub_mesh_1 = Regular_1D_1.GetSubMesh()
  514. Number_of_Segments_2 = Regular_1D_1.NumberOfSegments(NbSg2, None, [])
  515. Regular_1D_2 = Mesh_1.Segment(geom=Group_2_1)
  516. Sub_mesh_2 = Regular_1D_2.GetSubMesh()
  517. status = Mesh_1.AddHypothesis(Number_of_Segments_1,Group_2_1)
  518. RadialQuadrangle_1D2D = Mesh_1.Quadrangle(algo=smeshBuilder.RADIAL_QUAD,geom=Group_2_1)
  519. isDone = Mesh_1.SetMeshOrder( [ [ Sub_mesh_1, Sub_mesh_2 ] ])
  520. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  521. Regular_1D_3 = Mesh_1.Segment(geom=Group_3_1)
  522. Number_of_Segments_3 = Regular_1D_3.NumberOfSegments(NbSg3,None,[])
  523. Number_of_Segments_3.SetConversionMode( 0 )
  524. Number_of_Segments_3.SetExpressionFunction( '0.5*t' )
  525. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  526. Regular_1D_4 = Mesh_1.Segment(geom=Group_4_1)
  527. Number_of_Segments_4 = Regular_1D_4.NumberOfSegments(NbSg4, None, [])
  528. Regular_1D_5 = Mesh_1.Segment(geom=Group_5_1)
  529. Number_of_Segments_5 = Regular_1D_5.NumberOfSegments(NbSg5, None, [])
  530. Regular_1D_6 = Mesh_1.Segment(geom=Group_6_1)
  531. Number_of_Segments_6 = Regular_1D_6.NumberOfSegments(NbSg6, None, [])
  532. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  533. Regular_1D_7 = Mesh_1.Segment(geom=Group_7_2)
  534. Number_of_Segments_7 = Regular_1D_7.NumberOfSegments(NbSg7, None, [])
  535. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  536. Regular_1D_8 = Mesh_1.Segment(geom=Group_8_1)
  537. Number_of_Segments_8 = Regular_1D_8.NumberOfSegments(NbSg8, None, [])
  538. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  539. Regular_1D_9 = Mesh_1.Segment(geom=Group_9_1)
  540. Number_of_Segments_9 = Regular_1D_9.NumberOfSegments(NbSg9,None,[])
  541. Number_of_Segments_9.SetConversionMode( 0 )
  542. Number_of_Segments_9.SetExpressionFunction( '-t*t' )
  543. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  544. isDone = Mesh_1.Compute()
  545. [ front_1, back_1, wall_1, inlet_1, outletLeft_1, outletRight_1 ] = Mesh_1.GetGroups()
  546. Sub_mesh_3 = Regular_1D_3.GetSubMesh()
  547. Sub_mesh_4 = Regular_1D_4.GetSubMesh()
  548. Sub_mesh_5 = Regular_1D_5.GetSubMesh()
  549. Sub_mesh_6 = Regular_1D_6.GetSubMesh()
  550. Sub_mesh_7 = Regular_1D_7.GetSubMesh()
  551. Sub_mesh_8 = Regular_1D_8.GetSubMesh()
  552. Sub_mesh_9 = Regular_1D_9.GetSubMesh()
  553.  
  554. ## Set names of Mesh objects
  555. smesh.SetName(front_1, 'front')
  556. smesh.SetName(back_1, 'back')
  557. #smesh.SetName(RadialQuadrangle_1D2D.GetAlgorithm(), 'RadialQuadrangle_1D2D')
  558. #smesh.SetName(Prism_3D.GetAlgorithm(), 'Prism_3D')
  559. #smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
  560. #smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1')
  561. #smesh.SetName(Number_of_Segments_4, 'Number of Segments_4')
  562. #smesh.SetName(Number_of_Segments_5, 'Number of Segments_5')
  563. #smesh.SetName(Number_of_Segments_6, 'Number of Segments_6')
  564. #smesh.SetName(Number_of_Segments_7, 'Number of Segments_7')
  565. #smesh.SetName(Number_of_Segments_1, 'Number of Segments_1')
  566. #smesh.SetName(Number_of_Segments_2, 'Number of Segments_2')
  567. #smesh.SetName(Number_of_Segments_3, 'Number of Segments_3')
  568. #smesh.SetName(Number_of_Segments_8, 'Number of Segments_8')
  569. #smesh.SetName(Number_of_Segments_9, 'Number of Segments_9')
  570. #smesh.SetName(Sub_mesh_9, 'Sub-mesh_9')
  571. #smesh.SetName(Sub_mesh_8, 'Sub-mesh_8')
  572. #smesh.SetName(Sub_mesh_5, 'Sub-mesh_5')
  573. #smesh.SetName(Sub_mesh_4, 'Sub-mesh_4')
  574. #smesh.SetName(Sub_mesh_7, 'Sub-mesh_7')
  575. #smesh.SetName(Sub_mesh_6, 'Sub-mesh_6')
  576. #smesh.SetName(Sub_mesh_1, 'Sub-mesh_1')
  577. smesh.SetName(outletLeft_1, 'outletLeft')
  578. smesh.SetName(outletRight_1, 'outletRight')
  579. #smesh.SetName(Sub_mesh_3, 'Sub-mesh_3')
  580. smesh.SetName(wall_1, 'wall')
  581. #smesh.SetName(Sub_mesh_2, 'Sub-mesh_2')
  582. smesh.SetName(inlet_1, 'inlet')
  583.  
  584. try:
  585.   Mesh_1.ExportUNV(r'/home/mika/OpenFOAM/mika-9/run/nozzle_1/geometry/Mesh.unv')
  586.   pass
  587. except:
  588.   print('ExportUNV() failed. Invalid file name?')
  589.  
  590. if salome.sg.hasDesktop():
  591.   salome.sg.updateObjBrowser()

Editor

You can edit this paste and save as new:


File Description
  • ffff
  • Paste Code
  • 02 Dec-2022
  • 28.76 Kb
You can Share it: