Salome HOME
bos #29628 Remove MEFISTO 2D algorithm
[modules/smesh.git] / doc / examples / creating_meshes_ex03.py
1 # Change priority of sub-meshes in Mesh
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 box = geom_builder.MakeBoxDXDYDZ(200, 200, 200)
13 [Face_1, Face_2, Face_3, Face_4, Face_5, Face_6] = geom_builder.SubShapeAllSorted(box, geom_builder.ShapeType["FACE"])
14
15 # create Mesh object on Box shape
16 mesh = smesh_builder.Mesh(box)
17
18 # assign mesh algorithms and hypotheses
19 mesh.Segment().NumberOfSegments(20)
20 mesh.Triangle().MaxElementArea(1200)
21 mesh.Tetrahedron().MaxElementVolume(40000)
22
23 # create sub-mesh and assign algorithms on Face_1
24 mesh.Segment(geom=Face_1).NumberOfSegments(4)
25 mesh.Triangle(geom=Face_1)
26
27 # create sub-mesh and assign algorithms on Face_2
28 mesh.Segment(geom=Face_2).NumberOfSegments(8)
29 mesh.Triangle(geom=Face_2)
30
31 # create sub-mesh and assign algorithms on Face_3
32 mesh.Segment(geom=Face_3).NumberOfSegments(12)
33 mesh.Triangle(geom=Face_3)
34
35 # get existing sub-mesh priority order: F1 -> F2 -> F3
36 [[SubMesh_F1, SubMesh_F3, SubMesh_F2]] = mesh.GetMeshOrder()
37 isDone = mesh.Compute()
38 print("Nb elements at initial order of sub-meshes:", mesh.NbElements())
39
40 # set new sub-mesh order: F2 -> F1 -> F3
41 isDone = mesh.SetMeshOrder([[SubMesh_F2, SubMesh_F1, SubMesh_F3]])
42 isDone = mesh.Compute()
43 print("Nb elements at new order of sub-meshes:", mesh.NbElements())
44
45 # compute with other sub-mesh order: F3 -> F2 -> F1
46 isDone = mesh.SetMeshOrder([[SubMesh_F3, SubMesh_F2, SubMesh_F1]])
47 isDone = mesh.Compute()
48 print("Nb elements at another order of sub-meshes:", mesh.NbElements())