Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / defining_hypotheses_ex02.py
diff --git a/doc/examples/defining_hypotheses_ex02.py b/doc/examples/defining_hypotheses_ex02.py
new file mode 100644 (file)
index 0000000..29e1574
--- /dev/null
@@ -0,0 +1,46 @@
+# Deflection and Number of Segments
+
+import salome
+salome.salome_init_without_session()
+
+from salome.geom import geomBuilder
+from salome.smesh import smeshBuilder
+
+geom_builder = geomBuilder.New()
+smesh_builder = smeshBuilder.New()
+
+# create a face from arc and straight segment
+px = geom_builder.MakeVertex(100., 0.  , 0.  )
+py = geom_builder.MakeVertex(0.  , 100., 0.  )
+pz = geom_builder.MakeVertex(0.  , 0.  , 100.)
+
+exy = geom_builder.MakeEdge(px, py)
+arc = geom_builder.MakeArc(py, pz, px)
+
+wire = geom_builder.MakeWire([exy, arc])
+
+isPlanarFace = 1
+face1 = geom_builder.MakeFace(wire, isPlanarFace)
+geom_builder.addToStudy(face1,"Face1")
+
+# get edges from the face
+e_straight,e_arc = geom_builder.SubShapeAll(face1, geom_builder.ShapeType["EDGE"])
+geom_builder.addToStudyInFather(face1, e_arc, "Arc Edge")
+
+# create hexahedral mesh
+hexa = smesh_builder.Mesh(face1, "Face : triangle mesh")
+
+# define "NumberOfSegments" hypothesis to cut a straight edge in a fixed number of segments
+algo1D = hexa.Segment()
+algo1D.NumberOfSegments(6)
+
+# define "MaxElementArea" hypothesis
+algo2D = hexa.Triangle()
+algo2D.MaxElementArea(70.0)
+
+# define a local "Deflection1D" hypothesis on the arc
+algo_local = hexa.Segment(e_arc)
+algo_local.Deflection1D(1.0)
+
+# compute the mesh
+hexa.Compute()