v1.01.368 PLEXU08 - Validation des nouvelles fonctionnalités de CALC_EUROPLEXUS#
Résumé:
Lors du chantier de refonte de CALC_EUROPLEXUS de nouvelles fonctionnalités ont été ajoutées à la macro-commande. La liste de ces ajouts est la suivante:
nouvelle loi de comportement: VMIS_ISOT_TRAC(modélisation A),
nouveau chargement: déplacements imposés (DDL_IMPO) autres que des blocages (modélisation B),
nouvelle modélisation: 3D sur mailles support HEXA8 et TETRA4. (modélisations C et D)
D’autres fonctionnalités ont également été ajoutées depuis:
chargement de pression sur les faces d’éléments 3D (PRES_REP/PRES) (modélisation E)
chargement FORCE_NODALE (modélisation F)
nouvelle modélisation: 3D_SI sur maille support HEXA8 (modélisation G)
chargement LIAISON_MAIL(modélisation H)
Ce test a pour but de valider le bon fonctionnement de ces fonctionnalités supplémentaires.
Modélisation B#
But#
Le but de ce test est de valider l’utilisation des déplacements imposés (autres que les blocages) dans CALC_EUROPLEXUS.
Description#
On reprend le test plexu03a en ne conservant que le câble dans le modèle.
Les degrés de libertés DY et DZ des 5 nœuds présents sont bloqués. Les déplacements sont imposés en DX sur les 5 nœuds également de façon à ce qu’il n’y a aucun effet dynamique (ce qui permet d’avoir une solution de référence avec STAT_NON_LINE).
Noeud |
DX |
NC001001 |
0 |
NC001002 |
0,025 |
NC001003 |
0,05 |
NC001004 |
0,075 |
NC001005 |
0,1 |
Principe de validation#
On teste les déplacements en DXsur plusieurs nœuds en fin de chargement.
Valeurs testées#
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
NC001005 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
0,1 |
0,1% |
NC001003 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
0,05 |
0,1% |
Maille |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
SG001003 |
\(N\) |
“AUTRE_ASTER” |
1428571.42857 |
2,5% |
On obtient bien les déplacements attendus ce qui signifie que le chargement a été correctement pris en compte. La différence au niveau des contraintes est due à la différence de cinématique entre Code_Aster et EPX. En effet Code_Aster ne dispose pas de la cinématique GROT_GDEP pour la modélisation BARRE, on utilise donc PETIT_REAC.
Modélisation C#
But#
Le but de ce test est de valider l’utilisation de la modélisation 3D sur maille support HEXA8 dans CALC_EUROPLEXUS. Il est déjà possible dans EPX ne lire un état de contrainte initiale sur les éléments correspondant. On utilisera et validera donc également cette fonctionnalité qui a été tout de suite activée dans CALC_EUROPLEXUS.
Description#
Ce test est l’équivalent du cas-test EPX bm_cub8_ini_med_cont.
Il s’agit d’un cube formé par un seul élément. La face inférieure est encastrée et on applique un chargement (déplacement imposé) sur la face supérieure. Ce calcul est fait avec l’opérateur STAT_NON_LINE afin de produire un état initial pour le calcul EPX.
On lance ensuite CALC_EUROPLEXUS avec cet état initial (déplacements + contraintes) et sans chargement supplémentaire que ceux ayant permis d’obtenir l’état initial. On s’attend alors à ce qu’EPX obtienne un état initial équilibré. On effectue une centaine de pas de temps. On récupère le résultat et on vérifie que rien n’a bougé par rapport à l’état initial.
Principe de validation#
Comparaison avec l’état initial.
Valeurs testées#
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
N8 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
2.15537139042198E-03 |
1E-6 |
N7 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
-2.15537139042198E-03 |
1E-6 |
N6 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
1.E-02 |
1E-6 |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M1 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
1.20270859098697E+08 |
1E-6 |
M1 |
\(\mathit{SIYY}\) |
2 |
“AUTRE_ASTER” |
-2.15863269903220E+07 |
1E-6 |
M1 |
\(\mathit{SIZZ}\) |
3 |
“AUTRE_ASTER” |
3.78842807394021E+08 |
1E-6 |
M1 |
\(\mathit{SIXY}\) |
4 |
“AUTRE_ASTER” |
-3.58270324318444E+04 |
1E-6 |
M1 |
\(\mathit{SIXZ}\) |
5 |
“AUTRE_ASTER” |
-1.48252765464761E+07 |
1E-6 |
M1 |
\(\mathit{SIYZ}\) |
6 |
“AUTRE_ASTER” |
1.47199039729651E+07 |
1E-6 |
Modélisation D#
But#
Le but de ce test est de valider l’utilisation de la modélisation 3D sur maille support TETRA4 dans CALC_EUROPLEXUS. Il est déjà possible dans EPX ne lire un état de contrainte initiale sur les éléments correspondant. On utilisera et validera donc également cette fonctionnalité qui a été tout de suite activée dans CALC_EUROPLEXUS.
Description#
Ce test est l’équivalent du cas-test EPX bm_tetr_ini_med_cont.
Mêmes étapes que la modélisation C.
Principe de validation#
Comparaison avec l’état initial.
Valeurs testées#
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
N2 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
2.19188002660453E-033 |
1E-6 |
N5 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
5.81721432580442E-04 |
1E-6 |
N5 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
-2.43970568218930E-03 |
1E-6 |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M1 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
1.33476658397901E+07 |
1E-6 |
M1 |
\(\mathit{SIYY}\) |
1 |
“AUTRE_ASTER” |
1.32759870309648E+07 |
1E-6 |
M1 |
\(\mathit{SIZZ}\) |
1 |
“AUTRE_ASTER” |
3.09327863977736E+07 |
1E-6 |
M2 |
\(\mathit{SIXY}\) |
1 |
“AUTRE_ASTER” |
1.20735966805089E+07 |
1E-6 |
M2 |
\(\mathit{SIXZ}\) |
1 |
“AUTRE_ASTER” |
2.29556551673508E+07 |
1E-6 |
M2 |
\(\mathit{SIYZ}\) |
1 |
“AUTRE_ASTER” |
-7.54657118237435E+06 |
1E-6 |
Modélisation E#
But#
Le but de ce test est de valider l’utilisation du chargement de pression surfacique sur des faces d’éléments 3D (PRES_REP/PRES).
Description#
Un cube de coté \(1m\) composé de 27 mailles HEXA8 est encastré sur sa face inférieure et on applique une pression sur la face supérieure ainsi que sur une face latérale.
Excepté ce qui vient d’être précisé on suit les mêmes étapes que la modélisation C.
Principe de validation#
Comparaison avec l’état initial.
Valeurs testées#
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
GRN1 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
-9.07102694457E-06 |
5E-5 |
GRN1 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
-6.54472368612E-07 |
5E-5 |
GRN1 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
-6.2234063541E-06 |
5E-5 |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M93 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
-90491.3795116 |
5E-5 |
M93 |
\(\mathit{SIYY}\) |
1 |
“AUTRE_ASTER” |
-4495.07212071 |
1E-4 |
M93 |
\(\mathit{SIZZ}\) |
1 |
“AUTRE_ASTER” |
-92662.5352308 |
5E-5 |
Modélisation F#
But#
Le but de ce test est de valider l’utilisation du chargement de forces nodales (FORCE_NODALE).
Description#
Un cube de coté \(1m\) composé de 27 mailles HEXA8 est encastré sur sa face inférieure et on applique des forces aux nœuds de la face supérieure (selon Z) ainsi qu’aux nœuds d’une face latérale (selon X).
Excepté ce qui vient d’être précisé on suit les mêmes étapes que la modélisation C.
Principe de validation#
Comparaison avec l’état initial.
Valeurs testées#
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
GRN1 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
-8.6090494774E-05 |
1E-6 |
GRN1 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
-1.86758056933E-05 |
1E-6 |
GRN1 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
-0.000110181067659 |
1E-6 |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M93 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
-1220186.68329 |
1E-6 |
M93 |
\(\mathit{SIYY}\) |
1 |
“AUTRE_ASTER” |
-71707.7384702 |
1E-6 |
M93 |
\(\mathit{SIZZ}\) |
1 |
“AUTRE_ASTER” |
-2036191.89547 |
1E-6 |
Modélisation G#
But#
Le but de ce test est de valider l’utilisation des éléments 3D_SI sur maille support HEXA8 avec un état initial de déplacement et de contrainte et avec un chargement de pression appliquée (PRES_REP/PRES).
Description#
Cette modélisation est une copie de la modélisation E dans laquelle on a remplacé la modélisation 3D par 3D_SI.
Or pour la modélisation 3D_SI, des différences existent entre Code_Aster et EPX. Cela a pour effet que l’état initial statique envoyer à EPX (avec seul chargement celui déjà appliqué) ne donne pas un état équilibré dans EPX. La validation est donc un peu différente.
On lance un premier calcul en activant l’équilibrage (EQUI=”OUI”). Si à la sortie de ce calcul on retrouve les valeurs de déplacement et de contrainte d’entrée alors la bonne prise en compte de l’état initial sera démontrée pour les 3D_SI.
On lance ensuite un second calcul sans activer l’équilibrage (EQUI=”NON”). On visualise les courbes de déplacement du nœud GRN1 afin de constater que le déséquilibre est assez limité. Ce calcul permet de valider qualitativement la bonne prise en compte du chargement de pression et de constater que les modèles Code_Aster et EPX ne sont pas trop éloignés l’un de l’autre et qu’il est donc cohérence d’utiliser un chaînage Code_Aster-EPX avec ces éléments si on active l’équilibrage.
Les figures suivantes montrent les déplacements du nœud GRN1 dans les 3 directions de l’espace:
Principe de validation#
Comparaison avec l’état initial.
Valeurs testées#
Calcul avec EQUI=”OUI”:
Instant final 4E-3
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
GRN1 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
-9.42600991306E-06 |
5E-5 |
GRN1 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
-6.78188286688E-07 |
5E-5 |
GRN1 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
-6.47139874604E-06 |
5E-5 |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M93 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
-88191.2920113 |
5E-5 |
M93 |
\(\mathit{SIYY}\) |
1 |
“AUTRE_ASTER” |
-4298.28256544 |
1E-4 |
M93 |
\(\mathit{SIZZ}\) |
1 |
“AUTRE_ASTER” |
-89716.486396 |
5E-5 |
Calcul avec EQUI=”NON”:
Instant final 2E-2
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
GRN1 |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
-9.42600991306E-06 |
22% |
GRN1 |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
-6.78188286688E-07 |
2, 5% |
GRN1 |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
-6.47139874604E-06 |
42% |
Maille |
Composante |
Point |
Type de référence |
Valeur de référence |
Tolérance |
M93 |
\(\mathit{SIXX}\) |
1 |
“AUTRE_ASTER” |
-88191.2920113 |
0,015% |
M93 |
\(\mathit{SIYY}\) |
1 |
“AUTRE_ASTER” |
-4298.28256544 |
100% |
M93 |
\(\mathit{SIZZ}\) |
1 |
“AUTRE_ASTER” |
-89716.486396 |
2, 5% |
Modélisation H#
But#
Le but de ce test est de valider l’utilisation du chargement LIAISON_MAIL.
Description#
Sur le maillage représenté par la figure ci-dessus, on relie la partie 3D (modélisée par des éléments 3D) et la partie surfacique (modélisée par des éléments Q4GG) avecdes liaisons cinématiques en utilisant LIAISON_MAIL/COQUE_MASSIF de l’opérateur AFFE_CHAR_MECA. Les faces des éléments 3D en \(x=0\) sont bloquées et on impose une force sur un nœud situé à l’extrémité opposée.
Le calcul est effectué avec STAT_NON_LINE. Cela fournit un état initial à CALC_EUROPLEXUS. On n’impose pas à CALC_EUROPLEXUS d’autres chargements que ceux ayant créé l’état initial.
Principe de validation#
Comparaison avec l’état initial: on considère que le chargement de type LIAISON_MAIL est bien traduit à EPX si le système reste à l’équilibre c’est-à-dire dans l’état initial fourni.
Valeurs testées#
Résultats issus de STAT_NON_LINE:
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
FLECHE |
\(\mathit{DX}\) |
“NON_REGRESSION” |
||
FLECHE |
\(\mathit{DY}\) |
“NON_REGRESSION” |
||
FLECHE |
\(\mathit{DZ}\) |
“NON_REGRESSION” |
Résultats issus de CALC_EUROPLEXUS:
Noeud |
Composante |
Type de référence |
Valeur de référence |
Tolérance |
FLECHE |
\(\mathit{DX}\) |
“AUTRE_ASTER” |
2.76027428973E-05 |
1E-3 |
FLECHE |
\(\mathit{DY}\) |
“AUTRE_ASTER” |
0.000201817506448 |
1E-3 |
FLECHE |
\(\mathit{DZ}\) |
“AUTRE_ASTER” |
0.00525919072834 |
1E-3 |
Conclusion#
Les tests montrent que les différentes fonctionnalités sont bien prises en compte par CALC_EUROPLEXUS.
Attention toutefois à l’utilisation de la modélisation 3D_SI avec un état initial, car la modélisation EPX n’est pas complètement équivalente à la modélisation de Code_Aster. Il est nécessaire de mettre le mot-clé EQUI à OUI dans ce cas.