X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Fconstructing_meshes.doc;h=adf63c6a1505385e6c706af72a77c28d58389ddd;hb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;hp=d62feac7cc5102ef33d3a00a1ae361877ac6e11f;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070;p=modules%2Fsmesh.git diff --git a/doc/salome/gui/SMESH/input/constructing_meshes.doc b/doc/salome/gui/SMESH/input/constructing_meshes.doc index d62feac7c..adf63c6a1 100644 --- a/doc/salome/gui/SMESH/input/constructing_meshes.doc +++ b/doc/salome/gui/SMESH/input/constructing_meshes.doc @@ -2,83 +2,250 @@ \page constructing_meshes_page Constructing meshes -\n Construction of a mesh consists of: +\n Construction of a mesh on some geometry consists of: +Mesh can be \ref use_existing_anchor "computed using your own meshing algorithms" +written in Python. + +\anchor create_mesh_anchor +

Creation of a mesh object

To construct a mesh:
    -
  1. In the \b Mesh menu select Create Mesh or click "Create -Mesh" button in the toolbar. +
  2. Select a geometrical object for meshing.
  3. +
  4. In the \b Mesh menu select Create Mesh or click "Create + Mesh" button in the toolbar. + + \image html image32.png + "Create Mesh" button + + The following dialog box will appear: + + \image html createmesh-inv.png +
    +
  5. +
  6. Apply \subpage basic_meshing_algos_page "meshing algorithms" and + \subpage about_hypo_page "hypotheses" which will be used at computation of + this mesh. + + For example, you need to mesh a 3D object. + + First, type the name for your mesh in the \b Name box, by default, + it is "Mesh_1". Then select the geometrical object you wish to + mesh in the Object Browser and click "Select" button near \b Geometry + field (if name of the object not yet appeared in \b Geometry field). + + \image html image120.png + "Select" button + + Now you can define 3D Algorithm and 3D Hypotheses, which will be + applied to solids of your geometrical object. Click the "Add + Hypothesis" button to add a hypothesis. + + \image html image121.png + "Add Hypothesis" button + + Click the "Edit Hypothesis" button to change values for the + current hypothesis. + + \image html image122.png + "Edit Hypothesis" button + + Most standard 2D and 3D algorithms can work without hypotheses + using some default parameters. The use of additional hypotheses + is optional (i.e. you may leave "None" in this box). + + Proceed in the same way with 2D and 1D Algorithms and Hypotheses that + will be used to mesh faces and edges of your geometry. (Note + that any object has edges, even if their existence is not + apparent, for example, a sphere has 4 edges). Note that the + choice of hypotheses and of an algorithm of lower dimension depends on + the algorithm. + + Some algorithms generate mesh of several dimensions while others, of + only one dimension. In the latter case there must be one Algorithm and zero or several + Hypotheses for each dimension of your object, otherwise you will + not get any mesh at all. Of course, if you wish to mesh a face, + which is a 2D object, you don't need to define 3D Algorithm and + Hypotheses. + + In the Object Browser the structure of the new mesh will be + displayed as follows: + + \image html image88.jpg + + It contains: + + + There is an alternative way to assign Algorithms and Hypotheses by + clicking Assign a set of hypotheses button and selecting among + pre-defined sets of hypotheses. In addition to the standard + sets of hypotheses, it is possible to create custom sets by editing + CustomMeshers.xml file located in the home directory. CustomMeshers.xml + file must describe sets of hypotheses in the + same way as ${SMESH_ROOT_DIR}/share/salome/resources/smesh/StdMeshers.xml + file does (sets of hypotheses are enclosed between + tags). + + \image html hypo_sets.png + List of sets of hypotheses: [custom] + automatically added to the sets defined by the user +
  7. +
+ +Consider trying a sample script for construction of a mesh from our +\ref tui_creating_meshes_page "TUI Scripts" section. + +\anchor evaluate_anchor +

Evaluating mesh size

+ +After the mesh object is created and all hypotheses are assigned and +before \ref compute_anchor "Compute" operation, it is possible to +calculate the eventual mesh size. For this, select the mesh in +the Object Browser and from the \b Mesh menu select \b +Evaluate. The result of evaluation will be displayed in the following +information box: + +\image html mesh_evaluation_succeed.png + +\anchor preview_anchor +

Previewing the mesh

+ +Before \ref compute_anchor "the mesh computation", it is also possible +to see the mesh preview. -\image html image32.png -
"Create Mesh" button
+For this, select the mesh in the Object Browser. From the \b Mesh menu +select \b Preview or click "Preview" button in the toolbar or activate +"Preview" item from the pop-up menu. -The following dialog box will appear: +\image html mesh_precompute.png +"Preview" button -\image html createmesh-inv.png - -
  • For example, you need to mesh a 3d object. -\n First, type the name for your mesh in the "Name" box, by default, -it is "Mesh_1". Then select the object you wish to mesh in the Object -Browser and click the "Add" button. +Select 1D mesh or 2D mesh preview mode in the Preview dialog. -\image html image120.png -
    "Add" button
    +\image html preview_mesh_1D.png "1D mesh preview shows nodes computed on geometry edges" +
    +\image html preview_mesh_2D.png "2D mesh preview shows edge mesh elements, computed on geometry faces" -Now you can define 1d Algorithm and 1d Hypotheses, which will be -applied to the edges of your object. (Note that any object has edges, -even if their existence is not apparent, for example, a sphere has 4 -edges). Click the "Add Hypothesis" button to add a hypothesis. +Compute button computes the whole mesh. -\image html image121.png -
    "Add Hypothesis" button
    +When the Preview dialog is closed, the question about the storage of temporarily +created mesh elements appers: -Click the "Edit Hypothesis" button to define values for the -current hypothesis. +\image html preview_tmp_data.png -\image html image122.png -
    "Edit Hypothesis" button
    +These elements can be kept in the mesh. -The use of additional hypotheses is optional (i.e. you may leave -"None" in this box). -Proceed in the same way with 2d and 3d Algorithms and Hypotheses, note -that the choice of hypotheses depends on the algorithm. There must be -one Algorithm and one or several Hypotheses for each dimension of your -object, otherwise you will not get any mesh at all. Of course, if you -wish to mesh a face, which is a 2d object, you don't need to define 3d -Algorithm and Hypotheses. -\n In the Object Browser the structure of the new mesh will be -displayed as follows: +\anchor submesh_order_anchor +

    Changing submesh priority

    -\image html image88.jpg +If the mesh contains concurrent \ref constructing_submeshes_page "submeshes", +it is possible to change the priority of their computation, i.e. to +change the priority of applying algorithms to the shared sub-shapes of +the Mesh shape. -It contains: +To change submesh priority: + +Choose "Change submesh priority" from the Mesh menu or a pop-up +menu. The opened dialog shows a list of submeshes in the order of +their priority. + +There is an example of submesh order modifications of the Mesh created on a Box +shape. The main Mesh object: + +The first submesh object Submesh_1 created on Face_1 is: + +The second submesh object Submesh_2 created on Face_2 is: + + +And the last submesh object Submesh_3 created on Face_3 is: -There is an alternative way to create a mesh on an object simply by -clicking Assign a set of hypotheses button and selecting between -Automatic Tetrahedralization or Hexahedralization. The program will -automatically generate a 3D mesh with the most appropriate -settings. In the same way you can apply this functionality for meshing -2D objects, in which case 3D algorithms are not applied.
  • -
  • Now, when everything is ready, select your mesh in the Object -Browser. From the \b Mesh menu select \b Compute or click "Compute" button of the -toolbar. +The sub-meshes become concurrent if they share sub-shapes that can be +meshed with different algorithms (or different hypothesises). In the +example, we have three submeshes with concurrent algorithms, because +they have different hypotheses. + +The first mesh computation is made with: +
    +\image html mesh_order_123.png +"Mesh order SubMesh_1, SubMesh_2, SubMesh_3"
    +
    +\image html mesh_order_123_res.png +"Result mesh with order SubMesh_1, SubMesh_2, SubMesh_3 "
    + +The next mesh computation is made with: +
    +\image html mesh_order_213.png +"Mesh order SubMesh_2, SubMesh_1, SubMesh_3"
    +
    +\image html mesh_order_213_res.png +"Result mesh with order SubMesh_2, SubMesh_1, SubMesh_3 "
    + +And the last mesh computation is made with: +
    +\image html mesh_order_321.png +"Mesh order SubMesh_3, SubMesh_2, SubMesh_1"
    +
    \image html mesh_order_321_res.png +"Result mesh with order SubMesh_3, SubMesh_2, SubMesh_1 "
    + +As we can see, each mesh computation has a different number of result +elements and a different mesh discretisation on the shared edges (the edges +that are shared between Face_1, Face_2 and Face_3) + +Additionally, submesh priority (the order of applied algorithms) can +be modified not only in a separate dialog box, but also in +the Preview. This helps to preview different mesh results, +modifying the order of submeshes. +
    +\image html mesh_order_preview.png +"Preview with submesh priority list box"
    + +If there are no concurrent submeshes under the Mesh object, the user +will see the following information. +
    +\image html mesh_order_no_concurrent.png +"No concurrent submeshes detected"
    + + +\anchor compute_anchor +

    Computing the mesh

    + +It is equally possible to skip \ref evaluate_anchor "the Evaluation" +and \ref preview_anchor "the Preview" and to \b Compute the mesh after +the hypotheses are assigned. For this, select your mesh in +the Object Browser. From the \b Mesh menu select \b Compute or +click "Compute" button of the toolbar. \image html image28.png -
    "Compute" button
    +"Compute" button The Mesh Computation information box appears. @@ -89,33 +256,58 @@ failure is provided. \image html meshcomputationfail.png -After you select the error, Show Subshape button allows -visualizing the geometrical entity that causes it. +After you select the error, Show Sub-shape button allows +visualizing in magenta the geometrical entity that causes it. -\image html failed_computation.png "Example of the invalid input mesh" +\image html failed_computation.png +3D algorithm failed to compute mesh on a box shown using Show + Sub-shape button -\Note Mesh Computation Information box does not appear if you set + +\note Mesh Computation Information box does not appear if you set "Mesh computation/Show a computation result notification" preference to the "Never" value. This option gives the possibility to control mesh computation reporting. There are the following possibilities: always show information box, only if an error occurs or never. By default, the information box is always shown after mesh computation operation. -Publish Subshape button publishes the subshape, whose meshing +Publish Sub-shape button publishes the sub-shape, whose meshing failed, in GEOM component as a child of the mesh geometry, which allows analyzing the problem geometry and creating a submesh on it in order to locally tune hypotheses. -NOTE It is possible to define a 1D or a 2D mesh in a -python script and then use such submeshes in the construction of a 3D -mesh. For this, there exist two algorithms: Use existing edges and Use -existing faces. They are not entirely usable from the GUI, so a -mesh created using these algorithms should be exported into a python -script, edited and then imported into the GUi. +If a cause of failure is an invalid input mesh and the algorithm has +provided information on what mesh entities are bad Show bad Mesh +button appears in the dialog. Clicked, it shows bad mesh entities in +the Viewer in magenta. Sometimes the shown mesh entities are too small +or/and hidden by other mesh elements, to see them it can be helpful to +switch the mesh to Wireframe visualization mode or to switch off +visualization of faces and volumes (if any). -Consider trying a sample script for construction of a mesh from our -\ref tui_creating_meshes_page "TUI Scripts" section. -
  • - +\anchor use_existing_anchor +

    "Use existing edges" and "Use existing faces" algorithms

    + +It is possible to create an 1D or a 2D mesh in a python script +(using AddNode, AddEdge and AddFace commands) and +then use such sub-meshes in the construction of a 2D or a 3D mesh. For +this, there exist two algorithms: Use existing edges and Use + existing faces. Scenario of their usage is following. For +example, you want to use standard algorithms to generate 1D and 3D +meshes and to create 2D mesh by your python code. Then you + + +Consider trying a sample script demonstrating usage of +\ref tui_use_existing_faces "Use existing faces" algorithm for +construction of a 2D mesh using Python commands. + +\image html use_existing_face_sample_mesh.png + Mesh computed by \ref tui_use_existing_faces "the sample script" + shown in a Shrink mode. -*/ \ No newline at end of file +*/