From: Paul RASCLE Date: Fri, 4 Dec 2015 11:06:45 +0000 (+0100) Subject: restructuration tutoriel X-Git-Tag: SALOME_HYDRO_V1.0~58 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=6658f633cbccf71716800e796393689d71cd6759;p=modules%2Fhydro.git restructuration tutoriel --- diff --git a/doc/salome/tutorial/donneesPrealables.rst b/doc/salome/tutorial/donneesPrealables.rst index acedac98..8f6589a2 100644 --- a/doc/salome/tutorial/donneesPrealables.rst +++ b/doc/salome/tutorial/donneesPrealables.rst @@ -16,24 +16,9 @@ You should have received a copy of the GNU General Public License along with SALOME HYDRO module. If not, see . -#################################### -données préalables -#################################### - -* Pour les fichiers image : disposer de fichiers images des fonds carto ou photo et avoir repéré dans le système de travail - (les coordonnées de 2 ou 3 points) bien répartis sur l’image (proches des coins de préférences) - Il est préférable d’avoir au moins trois points pour une meilleure précision du géo référencement. - -* Disposer des données de bathy au format ascii (3 colonnes x,y,z). Pour l’instant ces fichiers doivent porter l’extension .xyz ou .asc - -* Changement de repère et grandes coordonnées. Il est vivement conseillé de changer l’origine du système de coordonnées local - pour éviter de manipuler de très grands nombres et avoir plus de précisions dans les différents calculs notamment pour le maillage. - Pour cela il faut : - Clic sur Hydro/change local CS - Renseigner les coordonnées de la nouvelle origine - -QGIS et CLOUDCOMPARE -==================== +Outils complémentaires : QGIS et CLOUDCOMPARE +############################################### + Visualisation et pré-traitement des données avec Qgis et/ou CloudCompare. Il est à l’étude actuellement de pouvoir à terme transférer des données type shapefile depuis Qgis vers Salomé. diff --git a/doc/salome/tutorial/installationLancementSalome.rst b/doc/salome/tutorial/installationLancementSalome.rst index 3b93066f..06734a6f 100644 --- a/doc/salome/tutorial/installationLancementSalome.rst +++ b/doc/salome/tutorial/installationLancementSalome.rst @@ -65,3 +65,51 @@ lancement de SALOME blabla :ref:`ref_installationLancementSalome` + +manipulation des vues dans SALOME +==================================== + +Zoom +---- + +Ctrl + clic gauche + +Le zoom est centré par défaut. +Activation avec la molette de la souris : pour pouvoir activer le zoom avec la molette de la souris : +file / preferences (sélectionner le module SALOME) / 3D viewer / zooming style / relative au curser +Un zoom relatif au curseur est centré sur la partie au tour de la position du curseur +alors qu’un zoom centré prend en compte toute la zone. + +Pour zoomer sur une donnée de l’arbre :  + +Sélectionner la donnée de l’arbre. +Dans la barre d’outils en haut choisir « Fit All » + +Rotation +----------- + +Ctrl + clic droit + +Translation +----------- + +Ctrl + molette + +Affichage des données dans les fenêtres +--------------------------------------- + +Par un clic sur le petit œil à côté de la couche d’intérêt dans la fenêtre Object Browser +Par un clic droit dans l’arbre de gauche (dans la fenêtre Object Browser) sur la couche d’intérêt +utiliser les différentes possibilités :: + + /show/ show only / hide / hide only / hide all / + +Viewers +------- + +SALOME propose différents viewers : + +VTK pour les vues 3D (module MESH) et OCC pour les vues 2D (pour la géométrie). +On les retrouve via les onglets qui apparaissent à l’écran. + + diff --git a/doc/salome/tutorial/piegesAEviter.rst b/doc/salome/tutorial/piegesAEviter.rst index 08bfcbeb..c191d1a7 100644 --- a/doc/salome/tutorial/piegesAEviter.rst +++ b/doc/salome/tutorial/piegesAEviter.rst @@ -17,9 +17,12 @@ along with SALOME HYDRO module. If not, see . #################################### -pieges a eviter +Conseils, pièges a eviter #################################### + +(Ajouter des images) + - chevauchement d'objets ou lignes très proches qui vont conduire à un maillage laid ou trop fin, - trop de points dans les splines, quand ils ne sont pas nécessaires, diff --git a/doc/salome/tutorial/preliminaires.rst b/doc/salome/tutorial/preliminaires.rst index ac03bd6e..4ea39a81 100644 --- a/doc/salome/tutorial/preliminaires.rst +++ b/doc/salome/tutorial/preliminaires.rst @@ -46,54 +46,10 @@ Notions préliminaires * **partition** Zones et Régions -manipulation des vues dans SALOME -==================================== - -Zoom ----- - -Ctrl + clic gauche - -Le zoom est centré par défaut. -Activation avec la molette de la souris : pour pouvoir activer le zoom avec la molette de la souris : -file / preferences (sélectionner le module SALOME) / 3D viewer / zooming style / relative au curser -Un zoom relatif au curseur est centré sur la partie au tour de la position du curseur -alors qu’un zoom centré prend en compte toute la zone. - -Pour zoomer sur une donnée de l’arbre :  - -Sélectionner la donnée de l’arbre. -Dans la barre d’outils en haut choisir « Fit All » - -Rotation ------------ - -Ctrl + clic droit - -Translation ------------ - -Ctrl + molette - -Affichage des données dans les fenêtres ---------------------------------------- - -Par un clic sur le petit œil à côté de la couche d’intérêt dans la fenêtre Object Browser -Par un clic droit dans l’arbre de gauche (dans la fenêtre Object Browser) sur la couche d’intérêt -utiliser les différentes possibilités :: - - /show/ show only / hide / hide only / hide all / - -Viewers -------- - -SALOME propose différents viewers : - -VTK pour les vues 3D (module MESH) et OCC pour les vues 2D (pour la géométrie). -On les retrouve via les onglets qui apparaissent à l’écran. +################################################ Principales étapes d'une étude avec SALOME-HYDRO -================================================== +################################################ SALOME contient l’ensemble des modules nécessaires au lancement d’une étude Telemac. @@ -110,41 +66,45 @@ L’étude se déroulera en passant par les différents modules de SALOME : * HYDRO - * GEOM : pour dessiner la CAO + * GEOM * MESH - * HYDRO SOLVER ??? + * HYDROSOLVER * PARAVIS Fonctionnement : - * on crée ou importe des lignes de contour d'objets naturels (rivières, iles...) + * HYDRO : on importe des images et/ou des plans + + * HYDRO : on crée ou importe des lignes de contour d'objets naturels (rivières, iles...) et artificiels (digues, canaux, obstacles...), - * on importe des champs de bathymétrie / altimétrie, ou des séries de profils de rivière, + * HYDRO : on importe des champs de bathymétrie / altimétrie, ou des séries de profils de rivière, - * on constitue des objets, + * HYDRO : on constitue des objets, - * on constitue des cas de calculs en choisissant les objets utiles au cas, + * HYDRO : on constitue des cas de calculs en choisissant les objets utiles au cas, on regroupe les zones en régions (= faces de la géométrie finale), - * on exporte le cas vers GEOM, + * HYDRO : on exporte le cas vers GEOM, - * on ajuste le cas dans GEOM, + * GEOM : on reprend le cas dans GEOM, pour completer l'identification des groupes liés aux différentes zones du domaine + et des conditions limites, - * on maille dans SMESH, + * SMESH : choix algorithmes et hypothèses de maillage, maillage et exportation fichier MED, - * on calcule l'interpolation en Z, + * HYDRO : on calcule l'interpolation en Z, a partir du fichier MED et du cas de calcul, - * on définit le paramétrage physico numérique du calcul (fichier cas), + * HYDROSOLVEUR : on définit le paramétrage physico numérique du calcul (fichier cas), - * on exécute le calcul, + * HYDROSOLVEUR : on exécute le calcul, - * on dépouille les résultats + * PARAVIS : on dépouille les résultats -Dans le module HYDRO lui-même, la logique d’enchaînement des étapes est la suivante (voir les différents types d’objets manipulés dans l’arbre de gauche) : +Dans le module HYDRO lui-même, la logique d’enchaînement des étapes est la suivante +(voir les différents types d’objets manipulés dans l’arbre de gauche) : * IMAGES : @@ -174,7 +134,7 @@ ou une région du domaine étudié à laquelle on associe une bathymétrie A compléter La création d’objets "naturels" et "artificiels" permet de définir les zones à mailler -et les bathymétries à y associer (cf. chapitre 9). +et les bathymétries à y associer. * ARTIFICIAL OBJECTS : @@ -183,12 +143,22 @@ Il s’agit de construire des éléments tels que des digues ou des canaux de g * CALCULATION CASES : Lors de la définition du cas de calcul on sélectionne les objets à mailler et on résout les conflits -de recouvrement des bathymétries (cf. chapitre 10) +de recouvrement des bathymétries. Il s’agit ici de la description d’un déroulement type, des allers-retours entre les différentes étapes sont tout à fait possibles et se produiront certainement. -  -IMPORT D’IMAGES + +données préalables +================== + +* Pour les fichiers image : disposer de fichiers images des fonds carto ou photo et avoir repéré dans le système de travail + (les coordonnées de 2 ou 3 points) bien répartis sur l’image (proches des coins de préférences). + Avec trois points, on peut faire une transformation affine de l'iamge, si celle-ci n'est pas correctement orientée. + +* Disposer des données de bathy au format ascii. +Pour l’instant ces fichiers doivent porter l’extension .xyz (3 colonnes x,y,z) ou .asc (renvoi aux formats) + +Import d'images ================ Il est possible d’importer des plans, cartes, et photos dans le module Hydro dans le dossier Images de l’arbre objet. @@ -201,6 +171,16 @@ Il est possible de fusionner les images ce qui crée un nouvel objet « Fuse_N Autres options de traitement d'images +Choix d'un repère local +======================= + +Il est vivement conseillé de changer l’origine du système de coordonnées local +pour éviter de manipuler de très grands nombres et avoir plus de précisions dans les différents calculs notamment pour le maillage. +Pour cela il faut : + + Clic sur Hydro/change local CS + Renseigner les coordonnées de la nouvelle origine + Import de Bathymetries ======================= @@ -208,6 +188,33 @@ renvoi vers tutoriel visualisation : si Z < 0: caché par cartes. inverser la vue, ou decaler Z pour avoir des valeurs positives. +Récupération de données de bathymetrie d'un ancien maillage +----------------------------------------------------------- + +Il est possible de récupérer un ancien maillage d’un cas d’étude, en le transformant avec un convertisseur +intégré dans SALOME-HYDRO du format selafin (.slf) au format .med (format dédié pour la plate-forme Salomé en général). + + * Mode opératoire ?? + +A partir de l’ancien maillage, il peut être nécessaire d’appliquer une translation (par exemple +2 000 000) +à la position y des nœuds pour passer en système de géoréférencement connu (par exemple LambertIIEtendu). + + * Mode opératoire ?? + +Puis la bathymétrie (champ de fond Z) est récupérée à l’aide d’un script Python qui crée un fichier .xyz +(position x du nœud, position y du nœud, Champ Z associé). +Ce fichier .xyz est converti en Lambert93 grâce au logiciel libre Circé . + + * Mode opératoire ?? + +Ensuite les positions des nœuds des bords sont récupérées à l’aide d’un script Python qui parcourt les nœuds, +constate si ils sont au bord et crée un fichier dans lequel chaque bord récupéré est mis en forme pour un import direct +dans le module HYDRO (la mise en forme est celle du type polyligne, voir paragraphe 8). +On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles. + + * Mode opératoire ?? +  + Import d'objets de type lignes ================================== @@ -240,32 +247,6 @@ Streams rivière décrite par une succession de profils en travers, ordonnés via une ligne amont-aval qui passe par ces profils. Cette ligne peut être l'axe hydraulique, mais ce n'est pas obligatoire. -Récupération de données de bathymetrie d'un ancien maillage -============================================================= - -Il est possible de récupérer un ancien maillage d’un cas d’étude, en le transformant avec un convertisseur -intégré dans SALOME-HYDRO du format selafin (.slf) au format .med (format dédié pour la plate-forme Salomé en général). - - * Mode opératoire ?? - -A partir de l’ancien maillage, il peut être nécessaire d’appliquer une translation (par exemple +2 000 000) -à la position y des nœuds pour passer en système de géoréférencement connu (par exemple LambertIIEtendu). - - * Mode opératoire ?? - -Puis la bathymétrie (champ de fond Z) est récupérée à l’aide d’un script Python qui crée un fichier .xyz -(position x du nœud, position y du nœud, Champ Z associé). -Ce fichier .xyz est converti en Lambert93 grâce au logiciel libre Circé . - - * Mode opératoire ?? - -Ensuite les positions des nœuds des bords sont récupérées à l’aide d’un script Python qui parcourt les nœuds, -constate si ils sont au bord et crée un fichier dans lequel chaque bord récupéré est mis en forme pour un import direct -dans le module HYDRO (la mise en forme est celle du type polyligne, voir paragraphe 8). -On peut isoler de cette façon le contour de l’emprise, des piles de ponts, et les îles éventuelles. - - * Mode opératoire ?? -  Dessin de lignes ================= @@ -363,20 +344,25 @@ import seulement Création d'objets "naturels" type "zone immersible" =================================================== -distinguer les iles du reste -Bathymétrie associée +distinguer les iles du reste. + +Bathymétrie associée. + Créer une zone immersible consiste à créer une face géométrique à partir d’un des contours dessinés précédemment. On renseigne donc pour cela la polyline (obligatoire) sur laquelle va reposer la face et la bathymétrie (facultative) que l’on souhaite associer à cette zone géographique. + Couleur éditable. Remarque : la bathymétrie est facultative dans la création d’une zone immersible car on n’a pas forcément d’altitudes associées à chaque zone construite mais on souhaite tout de même que les contours de ces zones soient pris en compte pour la partition qui va créer notre modèle plus tard. + Par exemple, le cas des îles est typique : nous n’avons pas de topographie associée à l’île de la centrale nucléaire mais nous souhaitons que le contour soit inscrit dans le modèle numérique de terrain. + Il est également possible de changer l’ordre d’affichage des différentes zones pour une meilleure -visibilité du futur modèle (voirFigure 13). +visibilité du futur modèle (renvoi figure). Caractère submersible ou non @@ -384,7 +370,8 @@ Création d'objets "naturels" type "stream" ========================================== Il faut, soit l'axe hydraulique, soit une ligne reliant les profils pour les ordonner. -les profils sont importés. + +Les profils sont importés. Création d'objet "artificiel" type digue ou canal ================================================= @@ -403,16 +390,23 @@ Une digue se crée en 5 étapes : Cela permet d’associer l’axe de la digue avec le profil d’altitude, * Enfin, il faut créer un objet digue dans le dossier Artificial Objects, - en associant la polyline3D avec le profil de section de la digue (voirFigure 10) + en associant la polyline3D avec le profil de section de la digue (images et renvoi tutoriel) Pour un canal, même démarche, mais remplacer ligne de crête par axe hydraulique. +Detailler le principe du calcul de l'altitude en tout point de la digue ou du canal : +la ligne de crête ou l'axe hydraulique correspondent à la côte 0 de la section (dessin). + Vérifier effet géoréférencement Obstacles ============ -objets géométriques complexes (bâtiments...) importés depuis GEOM, pour constituer des zones non submersibles ("iles" ou assimilés) +objets géométriques complexes (bâtiments...) importés depuis GEOM, +pour constituer des zones non submersibles ("iles" ou assimilés) + +exemple ? + Tables de coefficients de Strickler =================================== @@ -436,21 +430,26 @@ Pour démarrer un nouveau cas de calcul : Première étape d’un cas de calcul, l’utilisateur choisit les différents objets métiers créés précédemment qui vont participer au modèle de terrain qu’il souhaite générer. -Figure 14 : Création d’un cas de calcul -Dans cette étape, on sélectionne les objets à mailler. -Dans la deuxième étape, HYDRO propose une série de segments -(contours des différents objets choisis précédemment « nomObjet_outer »). -L’utilisateur sélectionne ceux qui sont pertinents pour son calcul (ils seront visibles dans le module géométrie). -Le choix des contours à considérer permet de définir des régions homogènes et s’affranchir de contraintes -supplémentaires dans le maillage. -En créant le cas de calcul, HYDRO crée une série de groupes de segments qui peuvent être utiles à l’utilisateur pour son calcul. +A reprendre : décrire les principes : selection des objets, partition : zonesàpar type de calcul de la bathy... +Images de principe, renvoi au tutoriel pour étapes. -Première étape d’un cas de calcul, l’utilisateur choisit les différents objets métiers créés précédemment -qui vont participer au modèle de terrain qu’il souhaite générer. +:: + + Figure 14 : Création d’un cas de calcul + Dans cette étape, on sélectionne les objets à mailler. + Dans la deuxième étape, HYDRO propose une série de segments + (contours des différents objets choisis précédemment « nomObjet_outer »). + L’utilisateur sélectionne ceux qui sont pertinents pour son calcul (ils seront visibles dans le module géométrie). + Le choix des contours à considérer permet de définir des régions homogènes et s’affranchir de contraintes + supplémentaires dans le maillage. + En créant le cas de calcul, HYDRO crée une série de groupes de segments qui peuvent être utiles à l’utilisateur pour son calcul. -etc. + Première étape d’un cas de calcul, l’utilisateur choisit les différents objets métiers créés précédemment + qui vont participer au modèle de terrain qu’il souhaite générer. -Notion de partition : le decoupage en faces élémentaires ou zones : dessin explicatif + etc. + + Notion de partition : le decoupage en faces élémentaires ou zones : dessin explicatif On peut regrouper des zones en régions homogènes dans la structure du maillage visée, pour s’affranchir des contours que l'on ne veut pas garder en tant que lignes de contraintes. @@ -460,7 +459,7 @@ SALOME indique les zones de recouvrement des différents objets pour lesquelles Il est possible de sélectionner une des bathymétries (par exemple la campagne de bathymétrie la plus récente, ou le min ou le max des bathy). -Il faut ensuite exporter le cas de calcul en tant que « géométrie SALOME » (à préciser) : Plus tard ??? +Il faut ensuite exporter le cas de calcul en tant que « géométrie SALOME ». * Clic droit sur Calculation case @@ -469,12 +468,13 @@ Il faut ensuite exporter le cas de calcul en tant que « géométrie SALOME » ( Géométrie: Module GEOM ====================== -Une fois le cas de calcul terminé et exporté il apparait dans le module GEOM -il faut se déplacer vers ce module pour pouvoir le visualiser et le modifier. -Dans GEOM, on voit notre cas de calcul sous le nom HYDRO_Case_N auquel est attaché le (ou les) contour(s) +Une fois le cas de calcul terminé et exporté il apparait dans le module GEOM. + +Il faut se déplacer vers ce module pour pouvoir le visualiser et le modifier. +Dans GEOM, on voit notre cas de calcul sous le nom _N auquel est attaché le (ou les) contour(s) choisis au moment au moment de la définition du cas de calcul. -Il se peut qu’on ait besoin de séparer certaines parties : +Il se peut qu’on ait besoin de identifier certaines parties : * Faces : pour mailler de façon différentes certaines zones @@ -505,25 +505,51 @@ Maillage: Module SMESH Cf. tutoriel -Contrôle des lignes de contrainte, des tailles de mailles -Sous maillage /groupe géometrique -Maillage d'une digue, d'un canal, -Maillage d'une riviere (lit mineur) +Contrôle des lignes de contrainte, des tailles de mailles. + +Sous maillage /groupe géometrique. + +Maillage d'une digue, d'un canal. + +Maillage d'une riviere (lit mineur). + Maillage des autres régions. Interpolation en Z =================== +principes +--------- + En hydrodynamique il est primordial de connaître la valeur de la bathymétrie en chaque nœud de calcul. -Pour le moment on dispose d’un premier script qui permet d’interpoler la bathymétrie sur le maillage. + +Rappeler le principe de calcul de la BATHY: découpage en régions (faces géométriques) +qui contiennent des zones (mode de calcul de la Bathy). +Différents modes de calcul de la bathymetrie: +à partir des nuages de points +à partir des profils de rivière +à partir de l'axe et de la section des digues et canaux +à partir de la CAO des obstacles + +Pour les nuages de points, pour le moment on dispose d’un premier script qui permet d’interpoler la bathymétrie sur le maillage. Ce script utilise un algorithme qui prend juste la valeur du Z du point le plus proche. -Donc si on ne dispose que d’un seul fichier de bathymétrie on conseille d’utiliser l’algorithme de TELEMAC3D + +Plusieurs approches possibles, quand la bathymétrie n'est pas assez dense par rapport au maillage : + + * densifier artificiellement la bathymétrie (interpolation linéaire, outils et scripts à proposer) + * utiliser TELEMAC avec les restrictions ci -dessous. + +Si on ne dispose que d’un seul fichier de bathymétrie on peut utiliser l’algorithme de TELEMAC3D qui fait une interpolation linéaire sur le quadrangle le plus proche en donnant juste le nom du fichier (XYZ) -avec le mot clé FICHIER DES FONDS. Ceci dit TELEMAC n’accepte pas plusieurs fichiers -(il n’aime pas quand on a plusieurs valeurs pour le même point). -A terme Il faudrait améliorer le script (traduire l’algorithme de TELEMAC3D je le ferai qd j’aurais un peu de temps). +avec le mot clé FICHIER DES FONDS. + +Ceci dit TELEMAC n’accepte pas plusieurs fichiers. (il n’aime pas quand on a plusieurs valeurs pour le même point). + +L'amélioration du script est prévue en 2016. + +Utilisation du script d'interpolation +------------------------------------- -Interpolation avec le Script actuel : D’abord exporter le maillage en MED (il faut que des groupes de nœuds soit créés pour chaque région) Modifier l’entête du script, en indiquant le nom du cas de calcul, @@ -532,20 +558,47 @@ le fichier du maillage MED et la correspondance entre les groupes de nœuds et l nomCas = 'Nom du cas Case 1' fichierMaillage = 'chemin absolu du fichier Mesh.med' - dicoGroupeRegion= dict(NomGroupeDeNoeuds1 = 'Case_1_Region1', - NomGroupeDeNoeuds2 = 'Case_1_Region2', + dicoGroupeRegion= dict(NomGroupeMaillage1 = 'Case_1_Region1', + NomGroupeMaillage2 = 'Case_1_Region2', …. ) -Dans l’optique d’utiliser Homard (disponible dans Salomé) à fin de raffiner le maillage selon -le gradient de bathymétrie, il y a un deuxième script qui crée un champ Z, -mais Homard casse le lien entre la géométrie et le maillage et ça devient compliquer de redéfinir les conditions aux limites. - -Remarque : - -Si on veut donner la bathymétrie dans le fichier de maillage il faut utiliser le deuxième script -tout en changeant le nom de Z pour que l’information soit compréhensible pour TELEMAC3D -(TELEMAC3D s’attend à un champ avec un nom appartenant à une liste prédéfinie). +Il est prévu de permettre un raffinement de maillage avec Homard (disponible dans Salomé) +en s'appuyant sur le gradient de bathymétrie. +Le script d'interpolation en Z produit un maillage avec un champ aux noeuds contenant l'altitude, +utilisable tel que par TELEMAC, ainsi qu'un maillage avec la cote Z modifiée, pour un contrôle visuel +dans le mailleur, et enfin un fichier .xyz des noeuds du maillage.   :ref:`ref_notionsPrealables` + +Mise en données Physico-numérique pour TELEMAC +=============================================== + +description des conditions limites +---------------------------------- + +Décrire le type de condition limite associé à chaque groupe d'edges du maillage. +Eficas ou editeur texte. + +edition du fichier Cas +---------------------- + +A l'éditeur texte. + +inventaire des fichiers utilisés +-------------------------------- + +Eficas + +Lancement et suivi du calcul +============================ + +Lancement TELEMAC sur le poste de travail. + +Lancement sur Cluster, études paramétriques... A détailler. + +Dépouillement des résultats +=========================== + +Utilisation de PARAVIS. \ No newline at end of file