From 7f64dee89e22634c9918d9d681c1e21044e209c0 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 24 Dec 2013 12:51:39 +0000 Subject: [PATCH] 22394: [CEA 984] Propagation of the number of segments and propagation of the distribution --- .../examples/defining_hypotheses_ex08.py | 35 +++++++++++++++---- doc/salome/gui/SMESH/input/about_hypo.doc | 1 + .../gui/SMESH/input/additional_hypo.doc | 13 +++++++ 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/doc/salome/examples/defining_hypotheses_ex08.py b/doc/salome/examples/defining_hypotheses_ex08.py index 34fcbc377..3c877f3da 100644 --- a/doc/salome/examples/defining_hypotheses_ex08.py +++ b/doc/salome/examples/defining_hypotheses_ex08.py @@ -11,7 +11,8 @@ from salome.smesh import smeshBuilder smesh = smeshBuilder.New(salome.myStudy) # create a box -box = geompy.MakeBoxDXDYDZ(10., 10., 10.) +base = geompy.MakeSketcher("Sketcher:F 0 0:TT 10 0:TT 20 10:TT 0 10:WF", theName="F") +box = geompy.MakePrismDXDYDZ( base, 0,0,10 ) geompy.addToStudy(box, "Box") # get one edge of the box to put local hypothesis on @@ -20,7 +21,7 @@ EdgeX = geompy.GetEdgeNearPoint(box, p5) geompy.addToStudyInFather(box, EdgeX, "Edge [0,0,0 - 10,0,0]") # create a hexahedral mesh on the box -hexa = smesh.Mesh(box, "Box : hexahedrical mesh") +hexa = smesh.Mesh(box, "Propagation of hypothesis") # set global algorithms and hypotheses algo1D = hexa.Segment() @@ -28,15 +29,37 @@ hexa.Quadrangle() hexa.Hexahedron() algo1D.NumberOfSegments(4) -# create a sub-mesh with local 1D hypothesis and propagation +# create a sub-mesh with local 1D hypothesis and "Propagation of 1D Hypothesis" algo_local = hexa.Segment(EdgeX) # define "Arithmetic1D" hypothesis to cut an edge in several segments with increasing length algo_local.Arithmetic1D(1, 4) -# define "Propagation" hypothesis that propagates all other 1D hypotheses -# from all edges on the opposite side of a face in case of quadrangular faces +# define "Propagation" hypothesis that propagates "Arithmetic1D" hypothesis +# from 'EdgeX' on opposite sides of all quadilateral faces algo_local.Propagation() -# compute the mesh +# compute the mesh which contains prisms hexa.Compute() + + +# create another mesh on the box +mesh = smesh.Mesh(box, "Propagation of distribution of nodes") + +# set global algorithms and hypotheses +algo1D = mesh.Segment() +mesh.Quadrangle() +mesh.Hexahedron() +algo1D.NumberOfSegments(4) + +# create a sub-mesh with local 1D hypothesis and "Propagation of Node Distribution" +algo_local = mesh.Segment(EdgeX) +algo_local.Arithmetic1D(1, 4) + +# define "Propagation Of Distribution" hypothesis that propagates +# distribution of nodes generated by "Arithmetic1D" hypothesis +# from 'EdgeX' on opposite sides of all quadilateral faces +algo_local.PropagationOfDistribution() + +# compute the mesh which contains hexahedra only +mesh.Compute() diff --git a/doc/salome/gui/SMESH/input/about_hypo.doc b/doc/salome/gui/SMESH/input/about_hypo.doc index 09768cc7c..14f6bcde5 100644 --- a/doc/salome/gui/SMESH/input/about_hypo.doc +++ b/doc/salome/gui/SMESH/input/about_hypo.doc @@ -41,6 +41,7 @@ There also exist with other hypotheses: