Salome HOME
0022362: EDF SMESH: Quadrangle (mapping) algorithm: enforced vortices
[modules/smesh.git] / doc / salome / examples / defining_hypotheses_ex15.py
1 # Quadrangle Parameters example 2 (using different types)
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
8
9 import SMESH, SALOMEDS
10 from salome.smesh import smeshBuilder
11 smesh =  smeshBuilder.New(salome.myStudy)
12 from salome.StdMeshers import StdMeshersBuilder
13
14 # Make quadrangle face and explode it on edges.
15 Vertex_1 = geompy.MakeVertex(0, 0, 0)
16 Vertex_2 = geompy.MakeVertex(40, 0, 0)
17 Vertex_3 = geompy.MakeVertex(40, 30, 0)
18 Vertex_4 = geompy.MakeVertex(0, 30, 0)
19 Quadrangle_Face_1 = geompy.MakeQuad4Vertices(Vertex_1, Vertex_4, Vertex_3, Vertex_2)
20 [Edge_1,Edge_2,Edge_3,Edge_4] = geompy.SubShapeAllSorted(Quadrangle_Face_1, geompy.ShapeType["EDGE"])
21 geompy.addToStudy( Vertex_1, "Vertex_1" )
22 geompy.addToStudy( Vertex_2, "Vertex_2" )
23 geompy.addToStudy( Vertex_3, "Vertex_3" )
24 geompy.addToStudy( Vertex_4, "Vertex_4" )
25 geompy.addToStudy( Quadrangle_Face_1, "Quadrangle Face_1" )
26 geompy.addToStudyInFather( Quadrangle_Face_1, Edge_2, "Edge_2" )
27
28 # Set the Geometry for meshing
29 Mesh_1 = smesh.Mesh(Quadrangle_Face_1)
30
31 # Create Quadrangle parameters and
32 # define the Type as Quadrangle Preference
33 Quadrangle_Parameters_1 = smesh.CreateHypothesis('QuadrangleParams')
34 Quadrangle_Parameters_1.SetQuadType( StdMeshersBuilder.QUAD_QUADRANGLE_PREF )
35
36 # Define other hypotheses and algorithms
37 Regular_1D = Mesh_1.Segment()
38 Nb_Segments_1 = Regular_1D.NumberOfSegments(4)
39 Nb_Segments_1.SetDistrType( 0 )
40 status = Mesh_1.AddHypothesis(Quadrangle_Parameters_1)
41 Quadrangle_2D = Mesh_1.Quadrangle()
42
43 # Define submesh on one edge to provide different number of segments
44 Regular_1D_1 = Mesh_1.Segment(geom=Edge_2)
45 Nb_Segments_2 = Regular_1D_1.NumberOfSegments(10)
46 Nb_Segments_2.SetDistrType( 0 )
47 SubMesh_1 = Regular_1D_1.GetSubMesh()
48
49 # Compute mesh (with Quadrangle Preference type)
50 isDone = Mesh_1.Compute()
51
52 # Change type to Reduced and compute again
53 Quadrangle_Parameters_1.SetQuadType( StdMeshersBuilder.QUAD_REDUCED )
54 isDone = Mesh_1.Compute()