Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / defining_hypotheses_ex02.py
1 # Deflection and Number of Segments
2
3 import salome
4 salome.salome_init_without_session()
5
6 from salome.geom import geomBuilder
7 from salome.smesh import smeshBuilder
8
9 geom_builder = geomBuilder.New()
10 smesh_builder = smeshBuilder.New()
11
12 # create a face from arc and straight segment
13 px = geom_builder.MakeVertex(100., 0.  , 0.  )
14 py = geom_builder.MakeVertex(0.  , 100., 0.  )
15 pz = geom_builder.MakeVertex(0.  , 0.  , 100.)
16
17 exy = geom_builder.MakeEdge(px, py)
18 arc = geom_builder.MakeArc(py, pz, px)
19
20 wire = geom_builder.MakeWire([exy, arc])
21
22 isPlanarFace = 1
23 face1 = geom_builder.MakeFace(wire, isPlanarFace)
24 geom_builder.addToStudy(face1,"Face1")
25
26 # get edges from the face
27 e_straight,e_arc = geom_builder.SubShapeAll(face1, geom_builder.ShapeType["EDGE"])
28 geom_builder.addToStudyInFather(face1, e_arc, "Arc Edge")
29
30 # create hexahedral mesh
31 hexa = smesh_builder.Mesh(face1, "Face : triangle mesh")
32
33 # define "NumberOfSegments" hypothesis to cut a straight edge in a fixed number of segments
34 algo1D = hexa.Segment()
35 algo1D.NumberOfSegments(6)
36
37 # define "MaxElementArea" hypothesis
38 algo2D = hexa.Triangle()
39 algo2D.MaxElementArea(70.0)
40
41 # define a local "Deflection1D" hypothesis on the arc
42 algo_local = hexa.Segment(e_arc)
43 algo_local.Deflection1D(1.0)
44
45 # compute the mesh
46 hexa.Compute()