]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
controles du maillage, orientation
authorPaul RASCLE <paul.rascle@edf.fr>
Sun, 13 Dec 2015 12:22:25 +0000 (13:22 +0100)
committerPaul RASCLE <paul.rascle@edf.fr>
Sun, 13 Dec 2015 12:22:25 +0000 (13:22 +0100)
doc/salome/examples/h010_normalCaseManualMesh.py
doc/salome/examples/h011_normalCaseManualInterpolZ.py
doc/salome/examples/h013_caseDigueManualMesh.py
doc/salome/examples/h014_caseDigueManualInterpolZ.py
doc/salome/tutorial/maillage.rst
doc/salome/tutorial/piegesAEviter.rst
doc/salome/tutorial/polylignes.rst

index d37593ffef585cb0e74d2fd4c7d18e54e1eeb2c6..5f63d5306cfdcbad67ecc90a9ac3168cbf6ace01 100644 (file)
@@ -383,6 +383,7 @@ isDone = garonne_1.SetMeshOrder( [ [ subMesh_SectionsGaronne, subMesh_litMineur
 # --- compute mesh
 isDone = garonne_1.Compute()
 isDone = garonne_1.SplitQuadObject( garonne_1, 1 )
+isDone = garonne_1.ReorientObject( garonne_1 )
 
 # --- geometrical groups of edges
 garonne_1_litMineur_Outer_1 = garonne_1.GroupOnGeom(garonne_1_litMineur_Outer,'garonne_1_litMineur_Outer',SMESH.EDGE)
index cf9560070583e16643fb11285333b4eec3baf2ad..b995db475dfbed075d6ff122897520bd640d16a3 100644 (file)
@@ -383,6 +383,7 @@ isDone = garonne_1.SetMeshOrder( [ [ subMesh_SectionsGaronne, subMesh_litMineur
 # --- compute mesh
 isDone = garonne_1.Compute()
 isDone = garonne_1.SplitQuadObject( garonne_1, 1 )
+isDone = garonne_1.ReorientObject( garonne_1 )
 
 # --- geometrical groups of edges
 garonne_1_litMineur_Outer_1 = garonne_1.GroupOnGeom(garonne_1_litMineur_Outer,'garonne_1_litMineur_Outer',SMESH.EDGE)
index c59918d14efe64e9832f629f1b353948bee095f6..73d07f75168eae9375f5cda921688d5f6008b51e 100644 (file)
@@ -471,6 +471,7 @@ isDone = garonne_2.SetMeshOrder( [ [ subMesh_SectionsGaronne, subMesh_litMineur
 # --- compute mesh
 isDone = garonne_2.Compute()
 isDone = garonne_2.SplitQuadObject( garonne_2, 1 )
+isDone = garonne_2.ReorientObject( garonne_2 )
 
 # --- geometrical groups of edges
 #garonne_2_litMineur_Outer_1 = garonne_2.GroupOnGeom(garonne_2_litMineur_Outer,'garonne_2_litMineur_Outer',SMESH.EDGE)
index bab32b468a56055d2070abba8d3c36ee67fb20c1..fd95340e96c669808536b0de5e9bd95b84258799 100644 (file)
@@ -471,6 +471,7 @@ isDone = garonne_2.SetMeshOrder( [ [ subMesh_SectionsGaronne, subMesh_litMineur
 # --- compute mesh
 isDone = garonne_2.Compute()
 isDone = garonne_2.SplitQuadObject( garonne_2, 1 )
+isDone = garonne_2.ReorientObject( garonne_2 )
 
 # --- geometrical groups of edges
 #garonne_2_litMineur_Outer_1 = garonne_2.GroupOnGeom(garonne_2_litMineur_Outer,'garonne_2_litMineur_Outer',SMESH.EDGE)
index d3ab8130759bb557809c4a12e59cf9f54f0f418b..e81382efea294348dd2e70003d2c70d2ea1b5828 100644 (file)
@@ -199,6 +199,36 @@ la modification proposée apparaît,
 il est possible de zoomer avec la molette de la souris pour verifier.
 Nous validons par *Apply and Close*.
 
+Contrôle du maillage
+====================
+
+Il faut vérifier que le maillage est conforme aux besoins de TELEMAC.
+
+Orientation des mailles
+-----------------------
+
+Pour les maillages surfaciques XY, **SALOME oriente par défaut les triangles dans le sens contraire à ce qu'attend TELEMAC**.
+SALOME oriente les triangles avec la normale sortante vers le bas. On peut le vérifier avec la couleur des mailles
+(bleu plus foncé sur l'envers que sur l'endroit) ou en utilisant la commande *Orientation of Faces* du menu contextuel
+de la vue 3D du maillage. Cette commande dessine une flèche par triangle. Sur l'envers de la face, on ne voit qu'un point.
+Pour voir les flèches, il faut changer l'angle de vue.
+
+Pour réorienter les faces, nous utilisons le menu *Modification / Orientation* et cochons l'option *Apply to All*.
+Après validation, les faces changent de couleur (bleu  plus clair). 
+
+Triangles surcontraints
+-----------------------
+
+Il faut éviter deux types de conditions limites différentes sur deux arêtes d'un triangle, et, plus généralement,
+éviter que deux arêtes aient des conditions limites imposées (aucun degré de liberté sur le triangle).
+
+Parfois, les mailleurs créent de tels triangles dans les coins du maillage. C'est le cas de Netgen dans les angles aigus.
+Quand on peut, il faut éviter de créer des angles aigus aux limites du domaine.
+
+Les triangles surcontraints se détectent avec la commande de menu *Controls / Face Controls / Over-constrained faces*.
+Pour corriger cela, il faut utiliser la commande de menu *Modification / Diagonal Inversion* et sélectionner
+l'edge interne du triangle en cause.
+
 Création des groupes, Enregistrement du maillage
 ================================================
 
index c191d1a780ca5a37d9c4e8f6482df2b793c7a09a..8eaa9d86203d85d26e085197080b27a8b2cbc671 100644 (file)
@@ -37,6 +37,9 @@ Conseils, pièges a eviter
 
 - cohérence des systèmes de coordonnées des données importées : par exemple tout mettre en Lambert 93 avant import
 
+- angles aigus aux limites du domaines : risque de création de triangles surcontaints, ce qui implique de les détecter 
+  et d'inverser des diagonales.
+
 - utilisation du type spline ou du type polyline ?
 
    * *spline* : une seule ligne continue, a dérivée continue, passant par tous les points.
index 26fd824f9bf8c62b7f4f42d3392a2506189875ae..73aa46479778d5f956bda4c17ec7883069193544 100644 (file)
@@ -163,7 +163,10 @@ Dessin du contour du lit majeur et du domaine de calcul
 
 Une fois le fleuve dessiné, nous poursuivons avec le dessin du contour de la bathymétrie du lit majeur, garonne_point_L93,
 puis la définition du contour du domaine de calcul, qui doit couper les deux autres lignes en amont et en aval.
+
 Il est préférable que le domaine de calcul coupe le fleuve perpendiculairement à son axe, de façon à
-définir correctement les conditions limites amont et aval. 
+définir correctement les conditions limites amont et aval. Il faut aussi éviter de créer des angles aigus en limite
+du domaine, ce qui risquerait de favoriser l'apparition de triangles surcontraints lors du maillage (ce qui peut se
+corriger par une détection et une inversion de diagonale). 
  
   :ref:`ref_exempleInondation`