u2.07.07 Mise en œuvre de calcul par sous-structuration dynamique en présence d’IFS#
Résumé:
Ce document a pour but d’aider et de donner des conseils aux utilisateurs pour la réalisation d’une étude faisant intervenir la technique de sous-structuration dynamique en présence d’interaction fluide-structure (IFS). Cette dernière doit être modélisée en formulation déplacement-pression (appelée U_P dans code_aster) et en 3D. Voir les documents U3.14.02 et R4.02.02 pour toute précision.
On présente d’abord la démarche générale pour la mise en œuvre de la technique.
On décrit par la suite les enchaînements des opérations nécessaires afin d’obtenir des résultats exploitables. La présentation est illustrée un exemple traitant un calcul modal.
La lecture du document U2.07.05 «Mise en œuvre de calcul par sous-structuration dynamique» est un préalable à la lecture du présent document, qui en reprend de nombreux éléments.
Pourquoi utiliser la sous-structuration dynamique?#
La complexité croissante des structures mécaniques rend difficile l’estimation de son comportement dynamique sous sollicitation imposée. La modélisation numérique de la structure complète nécessiterait un coût important tant au niveau espace mémoire que coût calcul.
En plus de la réduction de la taille du modèle, la technique de sous-structuration dynamique rend beaucoup plus modulaire la modélisation de la structure globale.
Présentation de la méthodologie#
Principe général#
Pour disposer d’une présentation complète de la sous-structuration dynamique, le lecteur est invité à consulter le document de référence [R4.06.02].
En préambule, il est nécessaire de rappeler que le fait de projeter la sous-structure sur une base réduite, entraîne nécessairement une approximation sur les résultats obtenus. Le rôle du modélisateur est de choisir une base assez riche afin de pouvoir saisir le comportement dynamique de la sous-structure. La qualité des résultats dépend du choix de cette base de projection.
Nous nous concentrons ici sur l’utilisation de modes d’interface. Celaconsiste à effectuer une condensation du comportement de la structure sur les degrés de liberté d’interface et résoudre le problème aux valeurs propres associé. La méthodologie proposée ici diffère de l’approche générale (voir U2.07.05) par le fait que les modes d’interface évoqués ici sont définis à l’avance. Cela constitue une limitation de l’approche : les modes d’interface ont été définis en supposant que la méthodologie serait appliquée àdes tuyauteries ou tout du moins à des structures de formes proches de celle d’un tuyau.
Le principe de la méthodologie est le suivant :
on calcule pour chaque sous-structure un ensemble de modes à interfaces bloquées;
pour chaque interface, on se donneun ensemble de modes bien définis, qui décrivent sa cinématique. Ces modes ont été choisis à l’avance pour être en mesure de bien représenter les déformations d’une section d’un tuyau rempli de fluide.
pour chaque sous-structure, on calcule sa réponse sous l’effet de chacun des modes d’interface. Ces modes viennent compléter les modes à interfaces bloquées.
On détermine alors la réponse de la structure globale à l’aide des modes ainsi construits pour chacune des sous-structures. Une description mathématique est proposée en dans la section 5 .
Illustration sur une structure simple#
Pour illustrer graphiquement le procédé, on propose les visualisationssuivantes qui illustrent le cas d’une poutre droite de section carrée, encastrée sur sa gauche et découpée en 2 sous-structures notées SD1 et SD2().
Figure 3.2-1: Poutre divisée en 2 sous-structures
Nous présentons en les modes à interface bloquée de la sous-structure SD1. Sur la partie gauche s’applique l’encastrement lié au problème modélisé et sur la partie droite s’applique l’encastrement liée au blocage de l’interface. Cela constitue le 1er groupe de modes sur lesquels on va réduire le comportement de la sous-structure SD1. On fait de même sur la sous-structure SD2.
Figure 3.2-2: Modes à interface bloquée
Nous présentons en l’effet des modes d’interface choisis sur la sous-structure SD1. Ces modes ont été définis à l’avance et on voit qu’ils sont composés de:
3 déplacements unitaires suivants les axes X, Y et Z [1]
;
3 rotations unitaires suivants les axes X, Y et Z;
1 gonflement dans le plan de l’interface.
La même construction est réalisée sur la sous-structure SD2.
|
|
|
déplacement vertical |
déplacement horizontal |
déplacement axial |
|
|
|
rotation axiale |
rotation verticale |
rotation horizontale |
|
||
gonflement |
Figure 3.2-3: Effet des modes d’interface sur une sous-structure
C’est ensuite en mixant les modes locaux et les modes d’interface des 2 sous-structures que l’on va construire la réponse de la structure globale.
Il est important de souligner que le nombre de modes d’interface est fixé (en l’occurrence par le développeur de cette méthodologie) tandis le nombre de modes locaux est à la main de l’utilisateur. Nous proposons dans la suite des recommandations sur le nombre de modes locaux à retenir.
Extension au cas de l’IFS#
L’exemple précédent illustre la méthodologie sur un cas purement structure. L’extensionà la prise en compte de l’interaction avec un fluide est naturelle dans cette méthodologie. Elle passe essentiellement par le recours à la formulation U_P du problème et en la définition de modes d’interface supplémentaires. Ainsi, les étapes sont modifiées comme suit:
les modes locaux deviennent des modes à interface bloquée en déplacement et en pression et ils comportent naturellement une partie structure et une partie fluide;
les modes d’interface se composent de modes de structure identiques à ceux présentés dans la section précédente auxquels s’ajoutent les modes de fluide: 1 mode à pression constante sur l’interface, 2 modes à variation de pression linéaire respectivement selon l’axe X et selon l’axe Y de l’interface.
Mise en œuvre pratique#
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
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]).
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
Éléments théoriques#
On présente dans cette section les fondements théoriques de l’approche.
Préliminaire#
Expression générale du problème#
On commence par rappeler la formulation d’un problème de dynamique linéaire sous la forme de la minimisation de l’Hamiltonien:
Avec quelques manipulations algébriques, on peut obtenir l’expression du calcul modal qui nous importe:
Modes et inconnues généralisées#
On rappelle également que l’on note comme suit la matrice rectangulaire des \({n}_{m}\) modes:
Chaque vecteur \({\Phi}_{i}\) étant de longueur \({n}_{\text{eq}}\) , la matrice \(\Phi ` est de dimension :math:`{n}_{\text{eq}}\times {n}_{m}\) . On rappelle enfin la relation entre un vecteur d’inconnues dans l’espace physique \(x\) et un vecteur d’inconnues généralisées :math:`eta ` :
Problème sous contraintes#
Le dernier point présenté concerne la résolution d’un problème de dynamique sous contraintes. Cette dernière s’exprime sous la forme générale:
Dans le cas présent, la matrice \(B\) est une matrice rectangulaire dont le nombre de lignes est égal aux nombre de contraintes appliquées aux inconnues. Le problème sous contraintes s’exprime comme suit:
On suppose que l’on sait construire une base de dimension \({n}_{\mathit{ker}}\) du noyau de la matrice des contraintes. On la note:
Comme les solutions recherchées vérifient les contraintes \(\mathit{Bx}=0\) , elles appartiennent bien au noyau de \(B\) . On peut donc les écrire sur cette base:
En injectant cette expression dans le problème de minimisation, on constate que l’on peut alors relaxer la contrainte et écrire le problème sous la forme:
Le problème est donc soluble à l’aide des techniques classiques (minimisation sans contraintes).
Mise en œuvre#
On considère une structure découpée en 2 sous-structures. Pour chacune, ont été déterminés:
les matrices de masse \({M}_{1}\) \({M}_{2}\) et de rigidité \({K}_{1}\) \({K}_{2}\) , de dimensions respectives \({n}_{{\text{eq}}_{1}}\times {n}_{{\text{eq}}_{1}}\) et \({n}_{{\text{eq}}_{2}}\times {n}_{{\text{eq}}_{2}}\)
les matrices des modes à interface bloquée \({\Phi}_{1}\) et \({\Phi}_{2}\) de dimensions respectives \({n}_{{\mathit{eq}}_{1}}\times {n}_{{m}_{1}}\) et \({n}_{{\mathit{eq}}_{2}}\times {n}_{{m}_{2}}\) . Elles sont reliées respectivement aux inconnues généralisées \({\eta}_{1}\) et \({\eta}_{2}\) .
les matrices des modes d’interface \(\overline{{\Phi}_{1}}\) et \(\overline{{\Phi}_{2}}\) de dimensions respectives \({n}_{{\mathit{eq}}_{1}}\times {n}_{i}\) et \({n}_{{\mathit{eq}}_{2}}\times {n}_{i}\) . Elles sont reliées respectivement aux inconnues généralisées \(\overline{{\eta}_{1}}\) et \(\overline{{\eta}_{2}}\) .
Sur la base de ces définition, on peut écrire le lien entre les degrés de liberté physique et généralisés de chacune des sous-structures:
En notant \(\stackrel{~}{{\Phi}_{i}}=\left[{\Phi}_{i}{\overline{\Phi}}_{i}\right]\) et \(\stackrel{~}{{\eta}_{i}}=\left\lbrace \begin{array}{c}{\eta}_{i}\\ {\overline{\eta}}_{i}\end{array}\right\rbrace\) , on peut écrire la relation précédente sous la forme:
Pour chaque sous-structure, on peut calculer alors les matrices de masse et de rigidité projetées sur les modes à interface bloquée et les modes d’interface:
On construit ensuite les matrices globales qui portent sur les 2 sous-structures:
Les degrés de libertés généralisés sont construits de la même manière:
On rappelle que les \({\eta}_{i}\) sont les inconnues généralisées associées aux modes à interface bloquée et les \(\overline{{\eta}_{i}}\) celles associées aux modes d’interface. Donc pour assurer la continuité des déplacements dans l’espace physique à la traversée de l’interface, on doit imposer:
Cela peut s’exprimer simplement à l’aide d’une matrice de contraintes sous la forme:
avec :
Le problème global peut alors s’exprimer sous la forme:
En calculant le noyau de \(B\) , le problème ci-dessus est soluble comme présenté dans la section 5.1.3 .
On trouvera des exemples de mise en œuvre dans les tests sdlv102 et sdlv103.