]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
PR: missing doc on generate flat elements
authorprascle <prascle>
Wed, 11 May 2011 15:50:41 +0000 (15:50 +0000)
committerprascle <prascle>
Wed, 11 May 2011 15:50:41 +0000 (15:50 +0000)
doc/salome/gui/SMESH/input/generate_flat_elements.doc [new file with mode: 0644]
doc/salome/gui/SMESH/input/modifying_meshes.doc
doc/salome/gui/SMESH/input/tui_generate_flat_elements.doc [new file with mode: 0644]

diff --git a/doc/salome/gui/SMESH/input/generate_flat_elements.doc b/doc/salome/gui/SMESH/input/generate_flat_elements.doc
new file mode 100644 (file)
index 0000000..36ecea7
--- /dev/null
@@ -0,0 +1,12 @@
+/*!
+
+\page generate_flat_elements_page Generate flat elements on group boundaries or on faces
+
+\n These functionalities, used in some mechanics calculations,
+allow to generate flat volume elements on the boundaries of a list
+of groups of volumes, or on a list of groups of faces.
+\n These functionalities are only available in python scripts.
+
+<br><b>See </b> a sample TUI Script of a \ref tui_double_nodes_on_group_boundaries "Generate flat elements" operations.  
+
+*/
index 68248a408a493f2efbdab087c3928e5fbdefe0c0..78faaac4b01ad870acaf0de65b13e05e56786cb7 100644 (file)
@@ -48,6 +48,7 @@ of the selected node or edge.</li>
 <li>\subpage convert_to_from_quadratic_mesh_page "Convert regular mesh to quadratic", 
 or vice versa.</li>
 <li>\subpage make_2dmesh_from_3d_page "Generate boundary elements".</li>
+<li>\subpage generate_flat_elements_page "Generate flat elements on group boundaries or on faces".</li>
 </ul>
 
 \note It is possible to use the variables defined in the SALOME \b NoteBook
diff --git a/doc/salome/gui/SMESH/input/tui_generate_flat_elements.doc b/doc/salome/gui/SMESH/input/tui_generate_flat_elements.doc
new file mode 100644 (file)
index 0000000..eb33688
--- /dev/null
@@ -0,0 +1,75 @@
+/*!
+
+\page tui_generate_flat_elements_page Generate flat elements
+
+<br>
+\anchor tui_double_nodes_on_group_boundaries
+<h2>Double nodes on groups boundaries</h2>
+
+\n Double nodes on shared faces between groups of volumes and create flat elements on demand.
+\n The list of groups must describe a partition of the mesh volumes.The nodes of the internal
+faces at the boundaries of the groups are doubled. In option, the internal faces are replaced
+by flat elements.
+\n Triangles are transformed in prisms, and quadrangles in hexahedrons.
+\n The flat elements are stored in groups of volumes.
+
+\n
+\n This example represents an iron cable (a thin cylinder) in a concrete bloc (a big cylinder).
+The big cylinder is defined by two geometric volumes.
+
+\code
+# geometry 
+
+O = geompy.MakeVertex(0, 0, 0)
+OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
+OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
+OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
+Vertex_1 = geompy.MakeVertex(50, 0, 0)
+Cylinder_1 = geompy.MakeCylinder(O, OX, 10, 500)
+Cylinder_2 = geompy.MakeCylinder(Vertex_1, OX, 100, 400)
+Vertex_2 = geompy.MakeVertex(-200, -200, -200)
+Vertex_3 = geompy.MakeVertex(250, 200, 200)
+Box_1 = geompy.MakeBoxTwoPnt(Vertex_2, Vertex_3)
+Cut_1 = geompy.MakeCut(Cylinder_2, Cylinder_1)
+Partition_2 = geompy.MakePartition([Cut_1], [Box_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
+Fuse_1 = geompy.MakeFuse(Partition_2, Cylinder_1)
+Partition_1 = geompy.MakePartition([Fuse_1], [Cylinder_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
+[Solid_1,Solid_2,Solid_3] = geompy.SubShapes(Partition_1, [53, 2, 30])
+[Face_1,Face_2] = geompy.SubShapes(Partition_1, [37, 20])
+
+# meshing (linear tetrahedrons here, but other elements are OK)
+
+Mesh_1 = smesh.Mesh(Partition_1)
+BLSURF = Mesh_1.Triangle(algo=smesh.BLSURF)
+BLSURF_Parameters = BLSURF.Parameters()
+BLSURF_Parameters.SetPhysicalMesh( 0 )
+BLSURF_Parameters.SetGeometricMesh( 1 )
+BLSURF_Parameters.SetAngleMeshS( 16 )
+BLSURF_Parameters.SetAngleMeshC( 16 )
+GHS3D_3D = Mesh_1.Tetrahedron(algo=smesh.GHS3D)
+isDone = Mesh_1.Compute()
+
+# relevant groups of volumes and faces
+
+Solid_1_1 = Mesh_1.GroupOnGeom(Solid_1,'Solid_1',SMESH.VOLUME)
+Solid_2_1 = Mesh_1.GroupOnGeom(Solid_2,'Solid_2',SMESH.VOLUME)
+Solid_3_1 = Mesh_1.GroupOnGeom(Solid_3,'Solid_3',SMESH.VOLUME)
+Face_1_1 = Mesh_1.GroupOnGeom(Face_1,'Face_1',SMESH.FACE)
+Face_2_1 = Mesh_1.GroupOnGeom(Face_2,'Face_2',SMESH.FACE)
+
+\endcode
+
+\n Here, the 3 groups of volumes [Solid_1_1, Solid_2_1, Solid_3_1] constitute a partition of the mesh.
+The flat elements on group boundaries and on faces are built with the following code.
+\n If the last argument (boolean) in DoubleNodesOnGroupBoundaries is set to 1,
+the flat elements are built, otherwise, there is only a duplication of the nodes.
+
+\code
+Mesh_1.DoubleNodesOnGroupBoundaries([Solid_1_1, Solid_2_1, Solid_3_1], 1)
+
+Mesh_1.CreateFlatElementsOnFacesGroups([Face_1_1, Face_2_1])
+\endcode
+
+\n To observe the flat element groups, save the resulting mesh on a Med file and reload it.
+
+*/