4. Mise en œuvre pratique#
4.1. Pré-requis en terme de modélisation et de maillage#
Nous abordons la mise en œuvre dans code_aster d’un calcul modal par sous-structuration dynamique avec prise en compte de l’IFS. Pour ce faire, on définit le problème modèle d’unelyre présentée . Il s’agit d’un tuyau métallique où coule de l’eau. La lyre est encastrée à chacune de ses extrémités i.e. le déplacement de la structure ainsi que la pression du fluide sont fixés à 0. On cherche à déterminer les modes propres de cet organe.
Figure 4.1-1: Problème modèle d’une lyre
Sur la est présentée une section de la lyre: on y voit en jaune les éléments de structure et en bleu, les éléments fluide. On rappelle sur la figure les composantes des degrés de liberté de chacune des parties du modèle. On constate que les nœuds partagés par la structure et par le fluide portent des degrés de liberté de déplacement et de pression. On rappelle que le maillage doit être composé d’éléments finis 3D et qu’une modélisation fluide-structure U_Pdoit lui être affectée.
Figure 4.1-2: Section de la lyre
Nous allons utiliser la sous-structuration dynamique pour mener à terme cette simulation. Pour ce faire, il faut commencer par découper la structure globale en 2 sous-structures. Il nous faut donc produire 2 maillages, présentés sur la . L’écart entre les 2 sous-structures est purement artificiel dans cette visualisation et n’a pour but que de rendre visible la séparation en 2 parties. Pour que la simulation puisse être réalisée, il est obligatoire qu’une surface d’interface soit crée. C’est à dire que, sur la découpe entre les 2 sous-structures, une surface doit être crée et elle doit porter le même nom pour chacune . C’est là un moyen d’identifier les interfaces dans le cas où on dispose de plus de 2 sous-structures.
Par contre, il est intéressant de noter que les maillages de 2 surfaces d’interface n’ont pas besoin d’être conformes i.e. leurs nœuds n’ont pas besoin d’être coïncidents.
Figure 4.1-3: Découpe en 2 sous-structures
4.2. Déroulement de l’étude#
Au début du fichier de commandes, importer les objets nécessaires depuis le module dynamic_substructuring:
from code_aster.Applications.dynamic_substructuring import SubStructure, Structure, Interface |
Une fois les maillages lus dans code_aster et les modèles affectés, les étapes de résolution sont les suivantes. Pour chaque sous-structure : détermination des modes à interface bloquée
S’assurer que les déplacements et la pression sont bloqués à 0 sur l’interface (AFFE_CHAR_MECA – ne pas utiliser AFFE_CHAR_CINE)
Calcul et assemblage des matrices de masse, de rigidité de la sous-structure (ASSEMBLAGE): par exemple MASS1, MASS2, RAID1, RAID2
Calcul des modes à interface bloquée (CALC_MODES): par exemple MODES1, MODES2
Ensuite la définition des sous-structures, de l’interface entre elles et le calcul de la réponse globale se fait comme suit, à l’aide de commandes Python:
# définition des sous-structures subS1 = SubStructure(RAID1, MASS1, MODES1) subS2 = SubStructure(RAID2, MASS2, MODES2) # définition de l’interface d’après son nom (ici “Interface”) interface = Interface(subS1, subS2, “Interface”) # calcul de s valeurs des degrés de liberté à l’interface interface.computeInterfaceDofs(“IFS”) # calcul des modes d’interface ResuS_Tuyau1 = subS1.computeInterfaceModes() ResuS_Tuyau2 = subS2.computeInterfaceModes() # construction de la structure globale myStructure = Structure([subS1, subS2],[interface]) # calcul des modes globaux (ici 6) omega, resuSub = myStructure.computeGlobalModes(nmodes=6) |
En sortie de l’appel à la méthode computeGlobalModes de l’objet myStructure, l’utilisateur obtient 2 sorties:
omega: c’est une liste qui contient les fréquences propres de la structure globale
resuSub: c’est une liste de structures de données résultat code_aster de type MODE_MECA. Il s’agit des modes de la structure globale projetés respectivementsur la première et la deuxième sous-structure (dans l’ordre de la définition de structure globale, ici [subS1, subS2]).
4.3. Conseils pratiques#
Il est conseillé de placer l’interface entre 2 sous-structures dans des zones à déformations modérées. Dans le cas d’une tuyauterie, il s’agit donc de s’éloigner des coudes qui sont les zones où les déformations vont être les plus importantes et les moins régulières.
Il est conseillé de calculer les modes à interfaces bloqués jusqu’à une fréquence a minima de 2 à 3 fois la fréquence recherchée sur la structure globale.
Si on souhaite modéliser 3 sous-structures SD1, SD2, et SD3 séparées respectivement par les interfaces Int12 et Int23 comme sur la , la structure globale sera définie comme suit:
# construction de la structure globale myStructure = Structure([SD1, SD2, SD3],[Int12, Int23]) |
Figure 4.3-1: Cas de 3 sous-structures et 2 interfaces
Si on souhaite modéliser 3 sous-structures SD1, SD2, et SD3 séparées respectivement par les interfaces Int12, Int23 et Int31 comme sur la , la structure globale sera définie comme suit:
# construction de la structure globale myStructure = Structure([SD1, SD2, SD3],[Int12, Int23, Int31]) |
Figure 4.3-2: Cas de 3 sous-structures et 3 interfaces