0020832: EDF 1359 SMESH : Automatic meshing of boundary layers

+    <hypothesis type="ViscousLayers"
This commit is contained in:
eap 2011-01-18 10:59:55 +00:00
parent 9d606e4a9b
commit d0791e4e6b
9 changed files with 85 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -55,6 +55,7 @@ with other hypotheses:
<li>Quadratic mesh</li>
<li>Quadrangle preference</li>
<li>Triangle preference</li>
<li>Viscous layers</li>
</ul>
The choice of a hypothesis depends on:

View File

@ -57,4 +57,34 @@ otherwise refinement area will contain some quadrangular elements.
<i>This hypothesis is obsolete now. Use <b>Quadrangle Parameters</b>
hypothesis with type <b>Triangle Preference</b> set instead.</i>
\anchor viscous_layers_anchor
<h2>Viscous Layers</h2>
<b>Viscous Layers</b> additional hypotheses can be used together with
several 3D algorithms: NETGEN 3D, GHS3D and Hexahedron(i,j,k). This
hypothesis allows creation of layers of highly stretched prisms near
mesh boundary, which is beneficial for high quality viscous
computations. The prisms constructed on the quadrangular mesh faces are
actually the hexahedrons.
\image html viscous_layers_hyp.png
<ul>
<li><b>Name</b> - allows to define the name of the hypothesis.</li>
<li><b>Total thicknes</b> - gives total thickness of layers of prisms.</li>
<li><b>Number of layers</b> - defines number of layers of prisms.</li>
<li><b>Stretch factor</b> - defines factor of growth of height of
prisms from the mesh boundary towards inside of mesh.</li>
<li><b>Faces without layers</b> - defines geometrical faces on which
layers of prisms should not be constructed. By default the layers of
prisms are not constructed on geometrical faces shared by solids.</li>
</ul>
\image html viscous_layers_mesh.png A group containing viscous layer prisms.
<br><b>See also</b> a sample TUI script of a \ref tui_viscous_layers
"Viscous layers construction".
*/

View File

@ -673,6 +673,51 @@ import2hyp.SetCopySourceMesh(True,True)
tgtMesh.Compute()
\endcode
\anchor tui_viscous_layers
<h2>Viscous layers construction</h2>
\code
from smesh import *
SetCurrentStudy(salome.myStudy)
X = geompy.MakeVectorDXDYDZ( 1,0,0 )
O = geompy.MakeVertex( 100,50,50 )
plane = geompy.MakePlane( O, X, 200 ) # plane YZ
box = geompy.MakeBoxDXDYDZ(200,100,100)
shape = geompy.MakeHalfPartition( box, plane )
faces = geompy.SubShapeAllSorted(shape, geompy.ShapeType["FACE"])
face1 = faces[1]
ignoreFaces = [ faces[0], faces[-1]]
geompy.addToStudy( shape, "shape" )
geompy.addToStudyInFather( shape, face1, "face1")
mesh = Mesh(shape, "CFD")
mesh.Segment().NumberOfSegments( 4 )
mesh.Triangle(NETGEN_2D)
mesh.Quadrangle(face1)
mesh.Compute()
algo3D = mesh.Tetrahedron(NETGEN)
thickness = 20
numberOfLayers = 10
stretchFactor = 1.5
layersHyp = algo3D.ViscousLayers(thickness,numberOfLayers,stretchFactor,ignoreFaces)
mesh.Compute()
mesh.MakeGroup("Tetras",VOLUME,FT_ElemGeomType,"=",Geom_TETRA)
mesh.MakeGroup("Pyras",VOLUME,FT_ElemGeomType,"=",Geom_PYRAMID)
mesh.MakeGroup("Prims",VOLUME,FT_ElemGeomType,"=",Geom_PENTA)
\endcode
\n Other meshing algorithms:
<ul>

View File

@ -190,6 +190,8 @@ dist_salomeres_DATA = \
mesh_duplicate_nodes.png \
mesh_duplicate_nodes_with_elem.png \
mesh_bounding_box.png \
mesh_hypo_viscous_layers.png \
mesh_tree_hypo_viscous_layers.png \
mesh_min_dist.png
# VSR: little trick to avoid putting if SMESHCatalog.xml to the distribution archive

View File

@ -159,6 +159,12 @@
icon-id="mesh_hypo_length.png"
dim="3"/>
<hypothesis type="ViscousLayers"
label-id="Viscous Layers"
icon-id="mesh_algo_quad.png"
auxiliary="true"
dim="3"/>
<hypothesis type="NumberOfLayers2D"
label-id="Number of Layers"
icon-id="mesh_hypo_length.png"
@ -225,6 +231,7 @@
icon-id="mesh_algo_hexa.png"
input="QUAD"
need-geom="false"
opt-hypos="ViscousLayers"
dim="3"/>
<algorithm type="Projection_1D"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B