mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-24 16:30:34 +05:00
0020832: EDF 1359 SMESH : Automatic meshing of boundary layers
+ <hypothesis type="ViscousLayers"
This commit is contained in:
parent
9d606e4a9b
commit
d0791e4e6b
BIN
doc/salome/gui/SMESH/images/viscous_layers_hyp.png
Normal file
BIN
doc/salome/gui/SMESH/images/viscous_layers_hyp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
doc/salome/gui/SMESH/images/viscous_layers_mesh.png
Normal file
BIN
doc/salome/gui/SMESH/images/viscous_layers_mesh.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -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:
|
||||
|
@ -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".
|
||||
|
||||
|
||||
*/
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
BIN
resources/mesh_hypo_viscous_layers.png
Normal file
BIN
resources/mesh_hypo_viscous_layers.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
resources/mesh_tree_hypo_viscous_layers.png
Normal file
BIN
resources/mesh_tree_hypo_viscous_layers.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 250 B |
Loading…
Reference in New Issue
Block a user