From d0791e4e6b0aa000381f780c3172a7f4befc9c98 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 18 Jan 2011 10:59:55 +0000 Subject: [PATCH] 0020832: EDF 1359 SMESH : Automatic meshing of boundary layers + 18704 bytes .../gui/SMESH/images/viscous_layers_mesh.png | Bin 0 -> 12533 bytes doc/salome/gui/SMESH/input/about_hypo.doc | 1 + .../gui/SMESH/input/additional_hypo.doc | 30 ++++++++++++ .../SMESH/input/tui_defining_hypotheses.doc | 45 ++++++++++++++++++ resources/Makefile.am | 2 + resources/StdMeshers.xml | 7 +++ resources/mesh_hypo_viscous_layers.png | Bin 0 -> 1239 bytes resources/mesh_tree_hypo_viscous_layers.png | Bin 0 -> 250 bytes 9 files changed, 85 insertions(+) create mode 100644 doc/salome/gui/SMESH/images/viscous_layers_hyp.png create mode 100644 doc/salome/gui/SMESH/images/viscous_layers_mesh.png create mode 100644 resources/mesh_hypo_viscous_layers.png create mode 100644 resources/mesh_tree_hypo_viscous_layers.png diff --git a/doc/salome/gui/SMESH/images/viscous_layers_hyp.png b/doc/salome/gui/SMESH/images/viscous_layers_hyp.png new file mode 100644 index 0000000000000000000000000000000000000000..843ff5d09adba4c7c6ed6b4c35b0f5345bfb1e74 GIT binary patch literal 18704 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%0D$m1B9pG+V{Igqwwbrl9`UsPJ&pi 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/SMESH/input/about_hypo.doc b/doc/salome/gui/SMESH/input/about_hypo.doc index 5f989ec3d..e1c9e401b 100644 --- a/doc/salome/gui/SMESH/input/about_hypo.doc +++ b/doc/salome/gui/SMESH/input/about_hypo.doc @@ -55,6 +55,7 @@ with other hypotheses:
  • Quadratic mesh
  • Quadrangle preference
  • Triangle preference
  • +
  • Viscous layers
  • The choice of a hypothesis depends on: diff --git a/doc/salome/gui/SMESH/input/additional_hypo.doc b/doc/salome/gui/SMESH/input/additional_hypo.doc index 81eab0be8..67e10c35b 100644 --- a/doc/salome/gui/SMESH/input/additional_hypo.doc +++ b/doc/salome/gui/SMESH/input/additional_hypo.doc @@ -57,4 +57,34 @@ otherwise refinement area will contain some quadrangular elements. This hypothesis is obsolete now. Use Quadrangle Parameters hypothesis with type Triangle Preference set instead. +\anchor viscous_layers_anchor +

    Viscous Layers

    + +Viscous Layers 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 + +
      +
    • Name - allows to define the name of the hypothesis.
    • +
    • Total thicknes - gives total thickness of layers of prisms.
    • +
    • Number of layers - defines number of layers of prisms.
    • +
    • Stretch factor - defines factor of growth of height of +prisms from the mesh boundary towards inside of mesh.
    • +
    • Faces without layers - 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.
    • +
    + +\image html viscous_layers_mesh.png A group containing viscous layer prisms. + +
    See also a sample TUI script of a \ref tui_viscous_layers +"Viscous layers construction". + + */ diff --git a/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc b/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc index 1581e7c2f..4ced1731a 100644 --- a/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc +++ b/doc/salome/gui/SMESH/input/tui_defining_hypotheses.doc @@ -673,6 +673,51 @@ import2hyp.SetCopySourceMesh(True,True) tgtMesh.Compute() \endcode +\anchor tui_viscous_layers +

    Viscous layers construction

    + +\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:
      diff --git a/resources/Makefile.am b/resources/Makefile.am index 623d04ff1..a5891f4ac 100644 --- a/resources/Makefile.am +++ b/resources/Makefile.am @@ -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 diff --git a/resources/StdMeshers.xml b/resources/StdMeshers.xml index 41c83c997..e698c71ea 100644 --- a/resources/StdMeshers.xml +++ b/resources/StdMeshers.xml @@ -159,6 +159,12 @@ icon-id="mesh_hypo_length.png" dim="3"/> + + Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM> z2q7rMWE@EV00dV_L_t(I%Vm>mY*a-Q$A9PZfq~;IhbVY!H!H?0u9oJuj*pM; z1^jolyJDeQ7-EhYi&#V&X?XAu{WdBlCnwptbLWhbs;VlK0!`C!I2-^u@w<^xZL~Fh zo{87pxN+ek<#dX8KEIf}mrALtt7`@FtE;R1mSqu*DKrh7PA8hC6$6>TKzY62EU)*Q zKr4_BWE*bWIB=k88oCZi4vl9Ews7c>^~LgauQMLB8Jo1R>=@f?F7R+FO7*s!{o4+l zlYluZ+Z+JxxH`@}=8;S?db2K;tjs46vKa~3+?%i%9I<#9v~V~K6qvPTUfw_4CY_%7 zCO~bO7vKmm1$5~iJUDUUz(G+_k=K8*nTe?=x9_Y85h;}356FY%zihuShP<@J7? zp84i*uV2oARRDgiQ8i*6Xrgr@>ryV%I1M~_V4AW#vB zMDq5$w%n{aE2ReV_lA9D*0NO+NbC)IUtb@ilQ!c)n?NW^N#SZ!*B!W17ZNlcGvhU? z0P=wLii!%E>Ncn;^O|c)K9&PFIufvH^C=&jH*XdtB_+b=^NFM9Z;G%hLjlV7>31SI zIavXffU2sh5@$Mw1)$!kz90Yvh*^FZr4)c0@NU?!LDZa;0#IRBhT3tgU43x$vIx5} z)Yh$AMbqU$0jSSTToZuGTDIyx5F7w1QA*8*W`hqJ`V#l#|l~B6()OB(AT<lTK@xuq%VHK!okZYs~Gnt#V)K3iG)a z-;^Umy<{z01+WpYfFVF=C8`7)n`W(9mDl?LxO=lpe)sh*^No+blqweE$0NJVS4%&X zXBv)}*-tHzeckN|7ytt|I*6wC3i&eo?qsU)5fqX!^~T|UbbIqF`d>u z2{C~4z{UhL4m=HXX}Kzw``o8*st-Jfc%vSSKVAVI8FtM#pMEk+_TC;aoz`$-)I|LE z6EJ`-W0>jHGuXpYmU@9~zzh5Utc2i|XO_Pp2~Fa(h7{|hI81*TWTvHbu5002ovPDHLkV1l=r BHqQV6 literal 0 HcmV?d00001 diff --git a/resources/mesh_tree_hypo_viscous_layers.png b/resources/mesh_tree_hypo_viscous_layers.png new file mode 100644 index 0000000000000000000000000000000000000000..694a4aa45b1569b01c9f75f8d750326a3cd90518 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*b3=G`DAk4@xYmNj^kiEpy*OmP?qad#+-%eY0H=t0Jr;B5V#`&d_ zHgYu>@VLYu@ohi$|G&HJmcHi~#6*^Q@ybNTP4e#WT%>9xwV3(Fo%n;bvq};-hh7!A zs~;Jp72~`joath0(-E)bvZ~tz6iRn%8}}cVeD?Eq>A&|Hp`v$7)2bT^BM