v5.06.110 PLEXU06 – Validation du chaînage Code_Aster - Europlexus#
Résumé:
Ce test a pour but de valider le chaînage d’un calcul transitoire non-linéaire où la première partie de la résolution est menée par Europlexus via la commande CALC_EUROPLEXUS , puis se poursuit dans Code_Aster avec l’utilisation de l’opérateur DYNA_NON_LINE, avec une étape de rééquilibrage explicite vers implicite effectuée par la commande MACRO_BASCULE_SCHEMA..
Plus précisément, le modèle mis en œuvre comporte les spécificités suivantes:
éléments finis de type poutre ( POU_D_E ),
éléments finis de type Q4GG sur mailles triangulaires ou quadrangulaires,
tapis de ressorts de sol pour modéliser le sol sous la fondation,
chargement de type pression imposée variable en temps,
zone linéaire,
zone non-linéaire avec loi de comportement GLRC_DAMAGE .
Solution de référence#
On va comparer les résultats obtenus avec bascule de schéma aux résultats obtenus quand on conserve un unique schéma en temps. Afin de quantifier les écarts entre les codes, on va donc construire deux solutions de référence: la première calculée avec Europlexus, la seconde avec Code_Aster en explicite.
Résultats de référence#
On se compare aux solutions de référence en termes de déplacement, accélération et SRO (pour un coefficient d’amortissement de 5%) au point \(\mathit{PP2}\) qui est au milieu de la dalle supérieure. Pour les SRO, on va aussi comparer les résultats obtenus en se servant des tables d’OBSERVATION, en particulier celle générée par CALC_EUROPLEXUS aux données de l’ARCHIVAGE.
Incertitude sur la solution#
Les écarts imputables à la bascule de schéma seront comparés aux écarts entre les deux solutions de références (l’une obtenue avec Europlexus, l’autre avec Code_Aster ). Dans l’idéal, la bascule devrait peu amplifier ces écarts entre les solutions de référence, qui eux, ne peuvent être réduits.
Modélisation A#
Les dalles de béton sont modélisées en éléments Q4GG , sur des mailles quadrangulaires ou triangulaires . Les poteaux sont modélisés en éléments de type POU_D_E . Les ressorts de sol sont, quant à eux, du type K_TR_D_N .
Analyse des résultats#
Dans ce chapitre, on va tracer les évolutions verticales du déplacement et de l’accélération du point \(\mathit{PP2}\) (au milieu de la dalle supérieure). À chaque fois, on va superposer les différentes réponses obtenues:
résolution avec CALC_EUROPLEXUS puis poursuite avec DYNA_NON_LINE en explicite,
résolution avec CALC_EUROPLEXUS sur tout l’intervalle d’étude,
résolution avec DYNA_NON_LINE explicite sur tout l’intervalle d’étude,
bascule CALC_EUROPLEXUS vers DYNA_NON_LINE implicite,
bascule DYNA_NON_LINE explicite vers implicite.
Il sera ainsi possible de quantifier:
la précision lors de la relecture de données MED entre les codes et la bonne concordance des modèles (courbe 1),
les différences de modèle entre Europlexus et Code_Aster (courbes 2 et 3) à schéma en temps identique,
les différences entre solution explicite et solution avec la bascule de schéma (courbes 4 et 5).
L’analyse sur les accélérations devraient amplifier les écarts, comparativement aux différences sur les déplacement calculés.
Pour les graphes suivants, on a volontairement augmenté la durée de temps simulée, afin d’avoir une analyse plus pertinente. Dans le fichier de commande du cas-test, cette durée de simulation est bien plus réduite pour diminuer le temps CPU.
Comparaison des déplacements calculés#
La réponse est de type oscillante et les écarts sont faibles. On observe juste un très léger déphasage entre les réponse explicites et implicites, qui est dû aux schémas en temps. L’écart en amplitude est négligeable.
Afin de compléter l’analyse on va zoomer sur l’instant de bascule à l’instant 0,0075 s:
La bascule génère une légère perturbation, mais les réponses restent les mêmes, que l’on passe d’Europlexus à Code_Aster (courbe noire) ou que toute la résolution se fasse dans Code_Aster (courbe marron).
Il est important de noter que cette écart dû à la bascule ne va pas en s’amplifiant et que les réponses restent très proches des solutions de références (sans bascule).
Comparaison des accélérations calculées#
Les accélérations ont des allures bien plus chahutées que les déplacements, mais les écarts entre les solutions numériques restent modérés. Plus exactement, on voit bien l’influence du schéma en temps implicite qui lisse la réponse (schéma dissipatif type HHT).
En zoomant sur l’instant de bascule, des perturbations significatives de l’accélération apparaissent. Ces oscillations numériques ne peuvent être totalement annihilées, même en jouant sur les paramètres de la méthode de bascule de schéma (choix du schéma lors de la phase de l’équilibrage, paramètre de ce schéma, choix du schéma avant et après la bascule…). En fait, on a pu vérifier que ces oscillations sont très largement provoquées par le changement de matrice de masse: en effet, en explicite on utilise une matrice de masse lumpée, alors qu’en implicite c’est la matrice de masse consistante qui est choisie. Lors de la bascule, on passe brutalement d’une matrice de masse à l’autre et cela vient perturber la solution. La stratégie de rééquilibrage ne parvient pas totalement à gommer ce saut.
Une parade pourrait être de basculer progressivement d’une matrice de masse à l’autre, en utilisant sur quelques pas de temps une matrice de masse variable qui serait une combinaison linéaire des deux matrices (lumpée et consistante). L’intérêt de cette évolution algorithmique restera à être quantifié sur ce cas-test, par exemple.
Valeurs testées#
On va tester les valeurs obtenues (déplacements et accélérations) à l’instant final: \(0,007s\) .
Chaque valeur testée sera en fait la valeur absolue de la différence relative entre le résultat à tester et la solution de référence considérée. Cette formule doit tendre vers 0 et c’est directement une valeur relative, ce qui explique que dans l’opérateur TEST_FONCTION on spécifie CRITERE=”ABSOLU’car, sans cela, on chercherait à rendre relative la valeur une deuxième fois.
En pratique, ces valeurs testées ne peuvent tendre vers 0 que si l’écart entre le même calcul mené avec Code_Aster ou Europlexus est nul, ce qui n’est pas le cas. Plus exactement, les écarts pour les solutions avec bascule en temps ne peuvent être moindre que les écarts entre les deux solutions de référence (calcul complet avec Europlexus et calcul complet avec Code_Aster en explicite).
On commence donc par mesurer les écarts relatifs entre les deux solutions de références. En déplacement, on a: \(2,656188{.10}^{-3}\) et en accélération: \(0,016270437\)
Ensuite, on va analyser les écarts relatifs induits par la reprise de calcul entre Europlexus et Code_Aster (explicite, donc sans bascule). En déplacement, on a: \(4,93101{.10}^{-04}\) et en accélération: \(0,0380\) .
Les écarts induits par la bascule en temps devraient être du même ordre de grandeur . En effet, la bascule ne peut corriger ces écarts inhérents aux différences entre les codes.
On commence par comparer la solution avec bascule Europlexus vers Code_Aster implicite. En déplacement, on a un écart relatif de : \(5,02195{.10}^{-04}\) et en accélération: \(0,019848325\) .
Enfin, on donne les écarts relatifs avec la solution obtenue par bascule explicite vers implicite, mais en restant toujours dans Code_Aster . En déplacement, on a un écart relatif de : \(0,011460178\) et en accélération: \(0,045500117\) .
On remarque que les écarts en accélérations sont plus grands que ceux sur les déplacements, ce qui est logique car les déplacements sont des quantités plus régulières que les accélérations, comme on peut le vérifier sur les graphes des v5.06.110-comparaison-deplacements-calcules et v5.06.110-comparaison-accelerations-calculees .
Ensuite, on constate que sur les déplacements, la bascule introduit très peu de perturbation, alors que sur les accélérations, des oscillations, certes amorties, apparaissent. Après analyse, il s’avère qu’elles sont principalement dues au passage brutal d’une matrice de masse lumpée à une matrice consistante.
Concernant le calcul de SRO, on va calculer l’écart relatif maximum (sur toute la plage de fréquence et pour un amortissement équivalent de 5%)avec la solution de référence, que ce soit pour les SRO obtenus à partir de l’OBSERVATIONet de l’ARCHIVAGE. Ces écarts relatifs sont de l’ordre de 5 à 8% et sont imputables à la bascule et aux différences de pas de temps où sont archivées les données d’entrée des SRO.
Synthèse#
Ce cas-test permet de valider la poursuite de calculs en passant d’Europlexus à code_aster , sur un modèle de bâtiment en béton armé. Plus précisément, on commence par valider la relecture de champs aux nœuds ou aux points de Gauss pour poursuivre par un calcul explicite avec DYNA_NON_LINE . Ensuite, on valide cette poursuite en basculant vers un schéma en temps implicite.
Les écarts observés sont satisfaisants et cohérents avec les différences de modélisation entre les codes (principalement au niveau de la matrice de masse qui peut être consistante ou lumpée). On valide aussi les post-traitements de type SRO calculés sur les données issues de l’ARCHIVAGE ou de l’OBSERVATION.