v7.15.100 FORMA02 - Travaux pratiques de la formation « Initiation » : tuyau coudé sous sollicitation thermo-mécanique et dynamique#

Résumé:

Ce test correspond aux travaux pratiques de la formation de base à l’utilisation de Code_Aster . Il s’agit d’une tuyauterie coudée, constituée d’un matériau élastique linéaire, soumise à divers chargements: pression interne, transitoire thermique, force transitoire.

Les modélisations utiliséessont les suivantes:

  • modélisation A: modélisation 3D, calcul thermo-mécanique,

  • modélisation B: modélisation 3D, calcul dynamique, modal puis transitoire,

  • modélisation C: éléments coques DKT, calcul mécanique sous chargement de pression interne,

  • modélisation D: éléments poutres (POU_D_T), calcul dynamique.

Le chapitre 1 «Problème de référence» présente le problème à traiter et les données communes à toutes les modélisations; les énoncés des Travaux Pratiques de la formation sont inclus dans ce document:

  • TP2: «3D thermo-élastique» voir la modélisation A,

  • TP2:«3D dynamique» voir la modélisation B.

Solution de référence#

Méthode de calcul utilisée pour la solution de référence#

La solution de référence est obtenue numériquement, il s’agit donc uniquement des tests de non régression.

Résultats des différentes modélisations :#

Calcul statique#

Les valeurs testées sont:

  • pour le chargement de pression (modélisations A et C), le déplacement en sortie supérieure de coude à la surface moyenne (comme dans la figure en dessous en blanc, DX à -4.52e-4 m)

  • pour le chargement thermo-mécanique (modélisation A), la température en paroi interne au pied du tube (70°C) ainsi que la contrainte Von Mises maximale de l’ordre de 200 MPa.

../../../../_images/100002010000020A000001DADA2834DBE02BB224.png

Calcul dynamique#

Les valeurs testées sont:

  • Pour la modélisation 3D (modélisation B), la première fréquence propre de l’ordre de 9Hz et lacomposante de déplacement DYdu point P à l’extrémité de la tuyauterie à la surface moyenne (comme dans la figure en dessous en blanc) de l’ordre de -0.128m à l’instant 1s.

  • pour la modélisation 1D (modélisation D), les contraintes équivalentes en pied de tube.

../../../../_images/100002010000030D000002373A388C39475C0687.png

Modélisation A#

Caractéristiques de la modélisation#

Glossaire: dans Salomé on désigne par:

  • vertex les points utiles à la construction de la géométrie;

  • edge les lignes (droites);

  • arc les arcs de cercles;

  • wire les lignes composées de edge et arc;

  • face les surfaces délimitées par un wire;

  • shell un ensemble de face destiné à être maillé ou délimitant un volume;

  • compound un ensemble d’entités géométriques.

Les tuyaux droits et le coude sont modélisés par des éléments massifs isoparamétriques quadratiques.

La tuyauterie présente un plan de symétrie \(Z=0\) . On ne maille qu’un demi volume.

Conditions aux limites et chargement: voir le chapitre 1.3.

../../../../_images/10002B6A000026580000166DEC5F54D6C9760A33.svg

Géométrie#

Lancer le module Geometry de la plate-forme Salome-Meca.

Deux procédés pour créer la géométrie (recommander le deuxème):

  • Extrusion d’une surface de base selon un chemin:

  1. Création des points \(\mathit{Ae1}\) , \(\mathit{Ai1}\) , \(\mathit{Ae2}\) , \(\mathit{Ai2}\) , \(\mathit{Pe1}\) , \(Pi1\) , puis des arcs de cercle \(L1\) et \(L2\) , des segments \(d1\) et \(d2\) (Menu New Entity → Basic → Point / arc / Line).

  2. Création du contour (wire) délimitée par \(L1\) , \(d1\) , \(l2\) , \(d2\) et puis de la surface (objet de type «  Face « ) à partir de ce contour (Menu New Entity → Build → wire / Face ).

  3. Création du chemin filaire: les points \(A,C,D,B,O\) , puis les deux droites \(\mathit{AC}\) et \(\mathit{DB}\) , et l’arc de cercle \(\mathit{CD}\) , enfin le chemin total \(\mathit{ACDB}\) en wire.

  4. Cette surface est ensuite extrudée par le menuNew Entity → Generation → Extrusion Along Path.

  • Utilisation d’objets volumiques de base:

    • Construire un tuyau droit d’axe \(Z\) (option par défaut), à l’aide de deux cylindres élémentaires de hauteur \(3\) et de rayons \(0.2\) et \(0.18\) (Menu New Entity → Primitives → Cylinder), et d’une opération booléenne (Menu Operations → Boolean → Cut). Renommer l’objet créé en \(\mathit{TUY}1\) .

    • Appliquer une rotation à \(\mathit{TUY}1\) autour de \(X\) pour qu’il soit d’axe \(Y\) (Menu Operations → Transformation → Rotation): Angle = -90° et désactiver Create a copy.

    • Sélectionner la face supérieure en créant un groupe: Menu New Entity → Group → Create Group. Cette face permet de générer le coude par le menu New Entity → Generation → Revolution (Angle = -90°). Il faut pour cela créer l’axe de révolution (un vecteur de direction \(Z\) passant par le point O \((\mathrm{0.6,}\mathrm{3.0,}0.0)\) ): création des points \((\mathrm{0.6,}\mathrm{3.0,}0.0)\) et \((\mathrm{0.6,}\mathrm{3.0,}1.0)\) et puis création du vecteur (Menu New Entity → Basic → Vector).

    • Puis créer de la même façon le second tuyau droit \(\mathit{TUY}2\) : sélectionner la face supérieure de la coude en créant un groupe, et générer le tuyau droit par le menu New Entity → Generation → Extrusion suivant \(X\) .

    • Il reste à sélectionner la moitié de la tuyauterie située dans le plan \(Z>0\) . Pour cela on peut d’abordcréer un plan (Menu New Entity → Basic → Plane, par exemple, le 5ème choix de Plane (création à partir du system local des coordonnées), avec l’option OXY et la taille 8). Puis couper à l’aide dela partition (Menu Operations → Partition) en sélectionnant les 3 parties de la tuyauterie comme Objects et le plan comme Tool Objects.

    • Créer un groupe de volume en sélectionnant les parties situées en \(Z>0\) (Menu New Entity → Group → Creat Group)., et enfin avec ce groupe créer un « compound » (Menu New Entity → Build → Compound).

Préparation de la géométrie pour un maillage en hexaèdres :

Le tuyau est destiné à être maillé avec des hexaèdres, c’est à dire de façon réglée (le nombre d’éléments est identique sur deux côté opposés). Avant de procéder au maillage, il est nécessaire de vérifier que la géométrie est topologiquement équivalente à un hexaèdre (6 faces). Pour cela, il faut utiliser le menu Inspection → Check Compound of Blocks.

Selon le mode de construction (le 1er procédé), il peut être nécessaire de réaliser une partition par deux plans des sections entrée et sortie de coude afin d’obtenir une géométrie topologiquement équivalente à un hexaèdre (6 faces). Pour créer les deux plans, menu New Entity → Basic → Plane: point + Vector donc C + AC / D + BD). Pour la partition, menu Operations → Partition.

Si on veut faire un maillage avec des tétraèdres, cette condition n’est pas nécessaire. En revanche, si on veut mailler en hexaèdre, c’est indispensable pour les algorithmes des mailleurs.

Création des groupes :

On créera ensuite les groupes de faces où on désire mettre des conditions limites: Base, Symetrie, Efond, Surfint et Surfext (Menu New Entity → Group → Create Group).

On créera aussi le groupe de bord avec une arête de l’épaisseur (\(d1\) ) et un autre groupe de bord avec une arête de circonférence (\(L1\) )pour permettre un raffinement différent sur ces bords.

On pourra tester l’autre mode d’utilisation de moduleGeometry / Mesh, consistant à produire, éventuellement modifier, et relire un fichier python, qui contient toutes les instructions nécessaires à la construction de la géométrie. On crée ce fichier par le menu File → Dump Study. Ce fichier python peut être relu par le menu File → Load Script. Ceci permet en particulier de modifier les dimensions de la géométrie. À titre d’exemple, on pourra examiner le contenu du fichier forma02a.datg, et le relire dans Salome-Meca.

Maillage#

Lancer le module Mesh de la plate-forme Salome-Meca.

Le maillage est défini par le menu Mesh → Create Mesh. Sélectionner la géométrie à mailler, puis l’algorithme et l’hypothèse de discrétisation par dimension:

  • 3D Hexahedron(i,j,k).

  • 2D Quadrangle:Mapping.

  • 1D Wire Discretisation avec l’hypothèse basique Number of Segments (15 segments par edge).

        • Puis calculer le maillage(Menu Mesh → Compute).

Pour permettre un raffinement différent selon les edges, on créera des sous-maillages par le menu Mesh → Create Sub-mesh:

  • Un sub-mesh définissant le nombre de segments dans l’épaisseur \(d1\) . Par exemple, l’hypothèse basique Number of Segments avec 2 segments sur \(d1\) et l’hypothèse supplémentaire «Propagation of 1D hypothese on Opposite Edges».

  • Un sub-mesh définissant le nombre de segments sur la circonférence \(L1\) . Par exemple, 10 segments sur \(L1\) et l’hypothèse supplémentaire «Propagation of 1D hypothese on Opposite Edges».

        • Puis calculer le maillage(Menu Mesh → Compute).

Créer les groupes demailles correspondants aux groupe géométriques (Menu Mesh→Create Groups from Geometry).

Exporter lemaillage au format MED.

Remarques :

Avec une autre finesse de maillage, il est possible d’obtenir des résultats sensiblement différents. En particulier, pour obtenir une solution correcte, il est souhaitable d’utiliser des éléments quadratiques.

Création et lancement du cas de calcul (via AsterStudy)#

Lancer le module AsterStudyde la plate-forme Salome-Meca.

Puis en colonne gauche, cliquer sur l’onglet Case View, cliquer droite CurrentCase pour ajouter un nouveau stage où on définit des commandes du cas de calcul.

Nota:ajouter des commandes par le menu Commands→ Show All.

L’étude nécessite un premier calcul thermique transitoire suivi d’un calcul mécanique.

Les principales étapes pour la création et le lancement du cas de calcul sont les suivantes:

  • Lire le maillage au format MED: Commande LIRE_MAILLAGE.

  • Définir le matériau: Commande DEFI_MATERIAU(\(E,\nu ,\alpha ` dans ELAS, :math:\)lambda ,rho mathit{Cp}` dans THER).

Calcul thermique:

  • Définir les éléments finis utilisés: Commande AFFE_MODELE pouraffecter le phénomène THERMIQUE et la modélisation en 3D à TOUT.

  • Affecter le matériau à tout: Commande AFFE_MATERIAU.

  • Affecterles conditions aux limites thermiques et le chargement:

    • On a un transitoire de température imposée sur la surface interneSurfint de la tuyauterie. Cette montée de \(20°C\) à \(70°C\) en \(\mathrm{10s}\) est définie avec la commande DEFI_FONCTION: définir les données dans VALE et NOM_PARA = INST.

    • Ce transitoire de température est imposé avec la commande AFFE_CHAR_THER_F: option TEMP_IMPO, avec Surfint comme GROUP_MA, et la fonction définie comme température imposée TEMP)

    • On considère que la tuyauterie est calorifugée et on ne spécifie pas de condition sur la surface extérieure (ce qui revient à un flux nul).

  • Définir les instants de calcul, 0 s, 5 s, 10 s: commande DEFI_LIST_REEL.

  • Résoudrele problème thermique linéaire: Commande THER_LINEAIRE, en définissant un état initial de température uniforme égal à \(20°C\) (ETAT_INIT / VALE), et en affectant MODELE, CHAM_MATER (matériaux), EXCIT (chargement), INCREMENT (liste des instants).

Calcul thermo-mécanique:

  • Définir les éléments finis utilisés: Commande AFFE_MODELE pouraffecter le phénomène MECANIQUE et la modélisation en 3D.

  • Affecter le matériau: Commande AFFE_MATERIAU. Le résultat du calcul thermique sera appliqué à tout en tant que variable commandant le comportement du matériau mécanique par EVOL dans l’option AFFE_VARC avec la température de référence NOM_VARC = TEMP à 20°.

  • Affecterles conditions aux limites mécaniques et le chargement: Commande AFFE_CHAR_MECA:

    • La tuyauterie est encastrée à ses deux extrémités et elle présente un plan de symétrie: DDL_IMPO.

    • Ona une pression en surface interne de \(15\mathit{MPa}\) : PRES_REP (vérifier la direction de la normal à la surface interne dans AsterStudy).

  • Résoudre le problèmemécanique statique linéaire : Commande MECA_STATIQUE avec le calcul du champ de température défini ci-dessus et la même liste des instants comme calcul thermique.

  • Calculer le champ: Commande CALC_CHAMP avec reuse.

    • pour le calcul du champ de contraintes par éléments extrapolées aux nœuds: CONTRAINTE / SIEF_ELNO.

    • pour le calcul du champ de contraintes équivalentes de Von Mises: CRITERES/ SIEQ_ELNO.

  • Imprimer les valeurs maximales du tenseur de contraintes SIEQ_ELNO au format Result (RESULTAT) et imprimer le champs de température, les déplacements, et les champs de contraintes au format MED: Commande IMPR_RESU.

  • Pour lancerle cas de calcul, en colonne gauche, cliquer sur l’onglet History View.

Post-traitement des résultats#

Avec Saloméet Results#

Visualiser les champs et le maillage déformé avec quelques cliques dans l’onglet Results d’AsterStudy. Vérifier quelques valeurs en comparant avec des références (voir la chapitre 2.2.1).

On peut aussi lancer le module ParaViSde la plate-forme Salome-Meca.

  • Ouvrirle fichier de résultats ( Menu File → Open ParaView File) contenant la partie «mécanique».Choisir le champ SIEF_ELGA et puis appliquer le filtre Merge Blockspar le menu Filters.

  • Ouvrirle fichier de résultatscontenant la partie «thermique».Choisir le champ TEMP et puis appliquer le filtre Merge Blocks.

  • Sélectionner des deux objets Merge Blockspuis appliquer le filtre Apprend Attributes.

  • Visualiser le maillage déformé ( Menu Filters → Common → Warp By Vector) avec latempérature et les contraintes aux points de Gauss(Menu Filters → ELGA field To Surface).

Avec Aster_Study en ajoutant un stage#

Les principales étapes de la seconde exécution avec Aster_Study seront:

  • Extraireles valeurs du champ SIEF_ELNO pour un azimut au niveau de l’entrée de coude (point C) pour le cas de charge correspondant à \(\mathit{Fy}\) dans une table: Commande MACR_LIGN_COUPE. Avec l’option de type SEGMENT, l’azimut est défini par le chemin d’extrémités \((\mathrm{0.18,}\mathrm{3.0,}0.)\) et \((\mathrm{0.2,}\mathrm{3.0,}0.)\) , par exemple avec 10 points.

  • Imprimer la table produite au format XMGRACE pour la composante NOM_PARA=SIYY avec la commande IMPR_TABLE: utiliser Filtre → pour l’instant NOM_PARA=INST à 10s, et déterminer les données à extraire par NOM_PARA, par exemple, COOR_X (pour l’abscisse X) et SIYY (pour la composante de contrainte).

Modélisation B#

Glossaire: dans Salomé on désigne par:

  • vertex les points utiles à la construction de la géométrie;

  • edge les lignes (droites);

  • arc les arcs de cercles;

  • wire les lignes composées de edge et arc;

  • face les surfaces délimitées par un wire;

  • shell un ensemble de face destiné à être maillé ou délimitant un volume;

  • compound un ensemble d’entités géométriques.

Les tuyaux droits et le coude sont modélisés par des éléments massifs isoparamétriques quadratiques.

La tuyauterie présente un plan de symétrie \(Z=0\) . Mais contrairement, au cas statique, on n’en profitera pas. On verra en effet, que les modes peuvent sortir du plan de symétrie. On maillera donc tout le volume.

Conditions aux limites et chargement: voir le chapitre 1.3.

../../../../_images/Object_48.png

Géométrie :#

Lancer le module Geometry de la plate-forme Salome-Meca.

Deux procédés pour créer la géométrie (recommander le deuxème):

  • Extrusion d’une surface de base selon un chemin:

  1. Création des cercles intérieurs et extérieurs de la base sur le plan OXZ (Menu New Entity → Basic → Circle), puis la surface délimitée par les deux cercles (Menu New Entity → Build→ Face).

  2. Création du chemin filaire: les points \(A\) , \(C\) , \(D\) , \(B\) , \(O\) , puis les deux droites \(\mathit{AC}\) et \(\mathit{DB}\) , et l’arc de cercle \(\mathit{CD}\) (Menu New Entity → Basic → Point / Line / Arc), puis le chemin entirer (Menu New Entity → Build → Wire).

  3. Cette surface est ensuite extrudée par le menuNew Entity → Generation → Extrusion Along Path.

  • Utilisation d’objets volumiques de base:

    • Construire un tuyau droit d’axe \(Z\) , à l’aide de deux cylindres élémentaires de hauteur \(3\) et de rayons \(0.2\) et \(0.18\) (Menu New Entity → Primitives → Cylinder), et d’une opération booléenne (Menu Operations → Boolean → Cut). Renommer l’objet créé en \(\mathit{TUY}1\) .

    • Appliquer une rotation à \(\mathit{TUY}1\) autour de \(X\) pour qu’il soit d’axe \(Y\) (Menu Operations → Transformation → Rotation): Angle = -90° et désactiver Create a copy.

    • Sélectionner la face supérieure en créant un groupe: Menu New Entity → Group → Create Group. Cette face permet de générer le coude par le menu New Entity → Generation → Revolution (Angle = -90°). Il faut pour cela créer l’axe de révolution (un vecteur de direction \(Z\) passant par le point O \((\mathrm{0.6,}\mathrm{3.0,}0.0)\) ): création des points \((\mathrm{0.6,}\mathrm{3.0,}0.0)\) et \((\mathrm{0.6,}\mathrm{3.0,}1.0)\) et puis création du vecteur (Menu New Entity → Basic → Vector).

    • Puis créer de la même façon le second tuyau droit \(\mathit{TUY}2\) : sélectionner la face supérieure de la coude en créant un groupe, et générer le tuyau droit par le menu New Entity → Generation → Extrusion suivant \(X\) .

    • Enfin assembler les 3 parties de la tuyauterie à l’aide dela partition (Menu Operations → Partition) .

Préparation de la géométrie pour un maillage en hexaèdres :

Pour un maillage en hexaèdres, il faut utiliser l’algorithme «Hexahedron(i,j,k)» ou bien utiliser l’option «Automatic Hexahedralization».

Le tuyau est destiné à être maillé avec des hexaèdres, c’est à dire de façon réglée (le nombre d’éléments est identique sur deux côté opposés). Avant de procéder au maillage, il est nécessaire de vérifier que la géométrie est topologiquement équivalente à un hexaèdre (6 faces). Pour cela, il faut utiliser le menu Inspection → Check Compound of Blocks.

Selon le mode de construction (le 1er procédé), il peut être nécessaire de réaliser une partition par des plans des sections entrée et sortie de coude afin d’obtenir une géométrie topologiquement équivalente à un hexaèdre (6 faces).

Pour la géométrie générée suite au premier procédé, il faut créer plusieurs plans pour partitionner la tuyauterie: un plan Y=3, un plan X=0.6(Menu New Entity →Basic →Plane: point + Vector doncC + AC /D + BD), et une surface courbé à partir du chemin ACDB créé(Wire_1): menu New Entity → Generation →Extrusion suivant l’axe Z, puis Operations / Transformation / Translationpour que la surface courbée coupe entièrement la tuyauterie.

Si on veut faire un maillage avec des tétraèdres, cette condition n’est pas nécessaire. En revanche, si on veut mailler en hexaèdre, c’est indispensable pour les algorithmes des mailleurs.

Création des groupes :

On créera ensuite les groupes de faces où on désire mettre des conditions limites: Base (surface en bas pour encastrer), Efond (bout du tuyau pour appliquer la force dynamique): Menu New Entity → Group → Create Group.

On créera aussi le groupe de bord avec une arête de l’épaisseur (\(\mathit{d1}\) ) et un autre groupe de bord avec une arête de circonférence (\(\mathit{L1}\) )pour permettre un raffinement différent sur ces bords.

Pour le post-traitement il est pratique de créer un groupe sur un point où l’on puisse suivre les évolutions. On créera donc le groupe point \(B\) situé sur la section Efond, en bas, sur la surface interne du tuyau.

../../../../_images/10000000000003AD00000251408EFDC989DFAA39.jpg

Maillage#

Lancer le module Mesh de la plate-forme Salome-Meca.

Le maillage est défini par le menu Mesh → Create Mesh. Sélectionner la géométrie à mailler, puis l’algorithme et l’hypothèse de discrétisation par dimension:

  • 3D Hexahedron(i,j,k).

  • 2D Quadrangle: Mapping.

  • 1D Wire Discretisation avec l’hypothèse basique Number of Segment (15 segments par edge.

        • Puis calculer le maillage(Menu Mesh → Compute).

Pour permettre un raffinement différent selon les edges, on créera des sous-maillages par le menu Mesh → Create Sub-mesh:

  • Un sub-mesh définissant le nombre de segments dans l’épaisseur \(d1\) . Par exemple, l’hypothèse basique Number of Segments avec 2 segments sur \(d1\) et l’hypothèse supplémentaire «Propagation of 1D hypothese on Opposite Edges».

  • Un sub-mesh définissant le nombre de segmentssur la circonférence \(L1\) . Par exemple, 20 segmentssur \(L1\) etl’hypothèse supplémentaire«Propagation of 1D hypothese on Opposite Edges».

        • Puis calculer le maillage(Menu Mesh → Compute).

Créer les groupes demailles correspondants aux groupe géométriques(Menu Mesh→Create Groups from Geometry).

Exporter lemaillage au format MED.

Pour obtenir une meilleure précision, on va faire passer le maillage de linéaire à quadratique, grâce à l’outil «Modification -> Convert to/from quadratic». Les plus curieux peuvent comparer les différences de résultats entre les deux types d’éléments.

Remarques :

      • Avec une autre finesse de maillage, il est possible d’obtenir des résultats sensiblement différents. En particulier, pour obtenir une solution correcte, il est souhaitable d’utiliser des éléments quadratiques.

../../../../_images/10000000000003AD000002518DD4724FF904104B.jpg

Création et lancement du cas de calcul#

Les principales étapes du calcul avec AsterStudy seront:

    • Préparation des données et analyse modale:

  • Lire le maillage par LIRE_MAILLAGE

  • Affecter le type d’éléments et la modélisation par AFFE_MODELE

  • Définir et affecter le matériau par DEFI_MATERIAU et AFFE_MATERIAU

  • Définir les conditions aux limites par AFFE_CHAR_MECA: option DDL_IMPO pour encastrer base.

  • Assembler les matrices de masse et de rigidité du système par ASSEMBLAGE:

ASSEMBLAGE(MODELE=… ,

CHAM_MATER= … ,

CHARGE=… ,

# Numérotation des inconnues d’un système

# d’équations linéaires

NUME_DDL=CO(” … “),

MATR_ASSE=(_F(MATRICE=CO(” … “),

OPTION=”RIGI_MECA”,),

_F(MATRICE=CO(” … “),

OPTION=”MASS_MECA”,),),);

  • Calculer les 10 premiers modes propres par CALC_MODES

CALC_MODES(MATR_RIGI= … ,

MATR_MASS= … ,

OPTION=”PLUS_PETITE”,

CALC_FREQ=_F(NMAX_FREQ= 10 ,),)

  • Extraire et visualiser les modes propres par IMPR_RESU.

On lancera ensuite le calcul dans le module AsterStudy. On recommande de visualiser les animations dans l’onglet Results d’Asterstudy.

On pourra également visualiser les modes dans Paravis en les «déformant»:

  • Cliquer droite le fichier des résultats dans l’onglet Case View → Data Files, et cliquer Open In Paravis pour charger les résultats en choisissant le format mode au lieu de time, puis cliquer Apply pour valider

  • Appliquer le filtre dans Filters → Mechanics → Normal modes animation (real), et valider

  • Afficher la fenêtre Animation view (menu View → Windows → Animation View), et ajouter une animation pour le filtre ci-dessus par cliquer + à côté de Normalmodesanimationreal

  • Choisir le mode à visualiser (Mode Array Selection) dans la fenêtre Properties à gauche et valider, puis cliquer le bouton Play (►) pour visualiser le mouvement de mode

    • Analyse transitoire

Pour l’analyse transitoire à partir des modes propres calculés, on partira le «wizard» ci-dessous. On y ajoutera les commandes nécessaires à la suite de l’analyse.

  • Continuer le calcul dans un nouveau stage par la commande POURSUITE

  • Définition de la discrétisation temporelleà l’aide de comande DEFI_LIST_REEL: de 0s à 2.0s avec un pas de temps de 0.0001s.

Construction de la force ponctuelle

  • Définition de la charge unitaire (valeur à 1) «force sur la section \(B\) » (AFFE_CHAR_MECA / FORCE_FACE).

  • Calcul des vecteurs forces élémentaires (CALC_VECT_ELEM / OPTION=’CHAR_MECA’).

  • Assemblage du vecteur force (ASSE_VECTEUR).

  • Définition de la fonction évoluée avec le temps par FORMULE : VALE pour l’expression \(\mathit{FY}(t)=10000000.\sin(2\pi \mathit{Freq1}.t)\) dirigée selon l’axe \(Y\) et appliquée sur la section \(B\) , où \(\mathit{Freq}1=20\mathit{Hz}\) . Il faut d’abord déclarer les variables utilisées dans la formule.

  • Évoluer la fonction par CALC_FONC_INTERP suivant la liste des instants définie. Avec PROL_GAUCHE/DROITE = CONSTANT pour définir la courbe hors le cadre de la liste des instants.

Transitoire sur base modale

  • Projection du problème assemblé sur la base des modes propres

      • PROJ_BASE(BASE= … ,

            • MATR_ASSE_GENE= (

              • # Pour la matrice de masse

      _F( MATR_ASSE = … ),

                  • # Pour la matrice de rigidité

                  • _F( MATR_ASSE = … ),

        # Pour la force dynamique

              • VECT_ASSE_GENE= _F( TYPE_VECT = ‘FORC’,

                • VECT_ASSE = … ), )).

  • Calcul transitoire par recombinaison modale (DYNA_VIBRA)

      • DYNA_VIBRA(TYPE_CALCUL=’TRAN’,

BASE_CALCUL=’GENE’,

SCHEMA_TEMPS= _F(SCHEMA = “DIFF_CENTRE”),

    • AMOR_MODAL = … ,

MATR_MASS = … ,

MATR_RIGI = … ,

EXCIT = … ,

INCREMENT = …,

… ).

  • Récupération des déplacements en \(Y\) au point \(B\) (RECU_FONCTION): RESU_GENE, GROUPE_NO, NOM_CHAM=DEPL, NOM_CMP=DY.

  • Impression de ces fonctions au format XMGRACE (IMPR_FONCTION): FORMAT, UNITE, COURBE, etc.

  • Visualiser les champs de déplacement:

    • Commande REST_GENE_PHYS: parce que le type des résultats générés (base physique) directement par DYNA_VIBRA ne peut pas imprimer au format MEDpar IMPR_RESU, il faut restituer dans la base physique des résultats en coordonnées généralisées en donnant LIST_INST, NOM_CHAM, RESU_GENE. Attention: les pas de temps nombreux conduit le fichier MED très lourd, et on recommande de redéfinir une liste des instants, par exemple avec un pas de temps 0.01s.

    • Commande IMPR_RESU: imprimer au format MED

Post-traitement des résultats#

On peut visualiser directement la courbe des déplacements DY au point \(B\) en fonctiondu temps après IMPR_FONCTION au format XMGRACE.

Importer les résultats transitoires dans l’onglet Results, et vérifier le déplacements DY sur un point à l’extrémité du tuyau (voir le chapitre 2.2.2).

Modélisation C#

Dans le cas de la modélisation en éléments coques, le maillage consiste en la discrétisation de la surface moyenne de la tuyauterie. La géométrie étant symétrique par rapport au plan \((A,X,Y)\) , on ne maille qu’une demi-surface.

Conditions aux limites et chargement: encastrement aux deux extrémités de la tuyauterie, et pression à la surface interne.

../../../../_images/100000000000033C000001D7B34283E122499990.png

A1

P

Géométrie#

On peut créer cette géométrie en définissant les points \(A1\) , \(P\) et \(\mathrm{A2}\) , puis l’arc de cercle \(\mathit{Base}\) (Menu New Entity → Basic → Point / Arc).Il suffit ensuite de créer le premier tuyau droit \(\mathrm{AC}\) à partir de l’arc de cercle \(\mathrm{Base}\) par le menu New Entity → Generation → Extrusion: Vector = OY, Height = 3.

Pour créer le coude, il faut récupérer l’extrémité du tuyau \(\mathrm{AC}\) en appliquant le menuNewEntity→Explode (Edge), puis créer un vecteur parallèle à l’axe Z et passant le point O \((\mathrm{0.6,}\mathrm{3.0,}0.)\) . Ensuite générer la géométrie du coude par le menu New Entity → Generation → Revolution.

Enfin, appliquer la même démarche pour le tuyau \(\mathrm{DB}\) (Explode puis Extrusion).

Créer un « compound » (Menu New Entity → Build → Compound) en sélectionnant les trois parties de la tuyauterie.

On créera ensuite les groupes desmailles où on désire mettre des conditions limites: Base, Symetrie, Efond et surface du tuyau (Menu New Entity → Group → Create Group).

On créera aussi le groupe point \(\mathrm{A1}\) .

Maillage#

Lancer le module Mesh de la plate-forme Salome-Meca.

Le maillage est défini par le menu Mesh → Create Mesh. Sélectionner la géométrie à mailler, puis l’algorithme et l’hypothèse de discrétisation par dimension:

  • 2D Quadrangle: Mapping.

  • 1D Wire Discretisation avec l’hypothèse basique Number of Segment(15 segments par edge.

Puis calculer le maillage(Menu Mesh → Compute).

Pour permettre un raffinement différent selon les edges, on créera un sous-maillage (Menu Mesh → Create Sub-mesh) définissant l’hypothèse basique Number of Segment sur la circonférence, par exemple 10 segments sur \(\mathit{base}\) et l’hypothèse supplémentaire «Propagation of 1D hypothese on Opposite Edges».

Puis calculer le maillage(Menu Mesh → Compute).

Créer les groupes demailles correspondants aux groupe géométriques(Menu Mesh→Create Groups from Geometry).

Exporter lemaillage au format MED.

Création et lancement du cas de calcul (via AsterStudy)#

Lancer le module AsterStudyde la plate-forme Salome-Meca.

Puis en colonne gauche, cliquer surl’onglet Case View.

On définit le fichier de commandes du cas de calcul.

Nota:ajouter des commandes par le menu Commands→ Show All.

Les principales étapes de ce calcul mécanique pour la création et le lancement du cas de calcul sont les suivantes:

  • Lire le maillage au format MED: Commande LIRE_MAILLAGE.

  • Définir les éléments finis utilisés: Commande AFFE_MODELE. La tuyauterie seramodélisée par des éléments de coque (DKT).

  • Orienter des normales aux éléments: Commande MODI_MAILLAGE / ORIE_NORM_COQUE pour orienter tous les éléments de la même façon, avec une normale tournée vers l’intérieur du tuyau (étant donné la convention de signe sur la pression) afin de donner une valeur positive à la pression (utiliser le groupe surface).

  • Définir le matériau: Commande DEFI_MATERIAU: E, NU, ALPHA

  • Affecter le matériau: Commande AFFE_MATERIAU. Les caractéristiques mécaniques sont identiques sur toute la structure.

  • Affecterles caractéristiques des éléments coques: Commande AFFE_CARA_ELEM / COQUEpour définir l’épaisseur.

  • Affecterles conditions aux limites mécaniques et les chargements: Commande AFFE_CHAR_MECA:

    • Il y a un encastrement sur le groupe de mailles \(\mathrm{Base}\) et \(\mathrm{Efond}\) , et des conditions de symétrie (déplacement normal \(\mathrm{DZ}\) nul et rotations \(\mathrm{DRX}\) et \(\mathrm{DRY}\) nulles) sur le groupe de mailles \(\mathrm{Symetrie}\) : DDL_IMPO.

    • Une pression interne \(P\) : PRES_REP. Il faut convertir la pression P à la surface interne en la pression à la surface moyenne.

  • Résoudre le problème élastique : Commande MECA_STATIQUE: CARA_ELEM, CHAM_MATER, EXCIT, MODELE.

  • Imprimer les déplacements et les contraintesau format MED: Commande IMPR_RESU..

  • Pour lancerle cas de calcul, en colonne gauche, cliquer sur l’onglet History View.

Modélisation D#

Géométrie#

On peut créer la géométrie en définissant les points \(A,C,D,B\) , puis les deux droites \(\mathrm{AC}\) et \(\mathrm{DB}\) , et l’arc de cercle \(\mathrm{CD}\) . Ceci peut se faire de plusieurs façons:

  • En définissant les coordonnées de chaque point, y compris le point milieu de l’arc \(\mathit{CD}\) (Menu New Entity → Basic → …);

  • De façon plus simple en utilisant l’outil «Sketcher» (Menu New Entity → Basic→2D Sketch).

Après avoir construit l’ensemble de la ligne, il faut définir les groupessous ce «Wire»: il suffira pour ces travaux pratiques de créer les groupes \(A\) , \(B\) , \(\mathrm{AC}\) , \(\mathrm{CD}\) , et \(\mathrm{DB}\) ( Menu New Entity → Group → Create Group ).

Maillage#

Lancer le module Mesh de la plate-forme Salome-Meca.

Le maillage est défini par le menu Mesh → Create Mesh. Sélectionner la géométrie à mailler, puis l’algorithme et l’hypothèse de discrétisation par dimension: 1D Wire Discretisation avec l’hypothèse de 15 segments par edge.

Création et lancement du cas de calcul (via AsterStudy)#

Lancer le module AsterStudyde la plate-forme Salome-Meca.

Puis en colonne gauche, cliquer surl’onglet Case View.

On définit le fichier de commandes du cas de calcul.

Nota:ajouter des commandes par le menu Commands→ Show All.

L’étude nécessite un premier calcul thermique transitoire suivi d’un calcul mécanique.

Les principales étapes pour la création et le lancement du cas de calcul sont les suivantes:

  • Lire le maillage au format MED: Commande LIRE_MAILLAGE.

  • Définir les éléments finis utilisés: Commande AFFE_MODELE.

  • Définir le matériau: Commande DEFI_MATERIAU.

  • Affecter le matériau: Commande AFFE_MATERIAU.

  • Affecter les caractéristiques des éléments poutres: Commande AFFE_CARA_ELEM.

  • Affecter les conditions aux limites mécaniques et le chargement : Commande AFFE_CHAR_MECA/ Enforce DOF (DDL_IMPO). Le point \(A\) est encastré.

  • Définirles matrices du problème élastique : CommandeASSEMBLAGE / MASS_MECA et RIGI_MECA.

  • Calculer les 5 premiers modes propres : Commande CALC_MODES.

  • Imprimer les modes propres au format MED: Commande IMPR_RESU. On imprimera le maillage et les modes.

Pour lancerle cas de calcul, en colonne gauche, cliquer sur l’onglet History View.

Analyse transitoire:

  • Construction de la force ponctuelle

        • Affecter la charge «force au point \(B\) » : Commande AFFE_CHAR_MECA/ FORCE_NODALE.

        • Calculer les vecteurs forces élémentaires : Commande CALC_VECT_ELEM.

        • Construire un champ aux nœuds par assemblage du vecteur force : Commande ASSE_VECTEUR.

        • Définir la fonction évolution du temps : CommandeFORMULE.

  • Transitoire sur base modale

  1. Projection du problème assemblé sur la base des modes propres : Commande PROJ_BASE.

  2. Calculer le transitoire par recombinaison modale : Commande DYNA_VIBRA.

  3. Extraire les déplacements en \(Y\) en \(B\) : Commande RECU_FONCTION.

  4. Imprimer ces fonctions au format TABLEAU: Commande IMPR_FONCTION.