Anomalie #326
dilatation thermique LOI_ISO_THERMO et type de loi méca
Description
Bonjour Gérard,
je suis en train de regarder le fonctionnement de la loi thermique LOI_ISO_THERMO. En gros le contexte : j'ai voulu regarder la sensibilité d'une sphère sous pression à la dilatation thermique. Je me suis rendu compte que le résultat final dépend du type de loi méca que l'on choisit.
je suis donc reparti de la base sur un cube en 3D pour comprendre. Avec bien sûr, un fort sentiment que c'était une histoire de type de mesure de déformation, la loi thermo étant définie en mesure Almansi, tandis que la loi méca ça dépend selon qu'on prenne ISOELAS, HYPOELAS, ISOHYPERBULK, etc...
Le cas test est un cube en dilatation libre :
- pas de chargement méca
- des conditions de symétrie
- une grosse variation de température de +100
- un fort coefficient de dilatation pour amplifier les différences entre loi => alphaT = 1000e-6 (si on met vraiment trop, ça ne converge pas)
remarque : j'ai mis une grosse précision (PRECISION 1.e-9) pour être bien sûr d'avoir établi un équilibre correct
dans le fichier .maple, j'ai regardé les grandeurs :
- Almansi_totale11 : déformation almansi totale 11 (colonne 16)
- EPS11 : déformation almansi 11 => partie mécanique (colonne 13)
- SIG11 : contrainte 11 (colonne 22)
J'ai testé divers loi méca. Pour toutes les lois, j'ai mis ce qui correspondrait à peu près à un module de compressibilité de 250 MPa. Mais, au final, les résultats ne dépendent pas de cette valeur (heureusement!), et ceci pour aucune des lois testées.
Dans ce cas test, on s'attend à avoir une partie méca EPS11 nulle et une contrainte nulle. Et donc une déformation totale égale à la déformation thermique (1000e-6*100 => eps_thermique = 0.1)
Concernant la loi méca, voici ce que j'ai testé et ce que j'obtiens :
- ISOELAS
=> pas de problème. J'obtiens bien : Almansi_totale11 = def thermique (EPS11=0, SIG11=0)
(remarque : une certaine difficulté à converger avec alphaT=1000e-6. Pas de pb de convergence pour des alphaT plus classiques autour de 100e-6)
- ISOHYPERBULK3
=> la partie méca est non nulle. J'obtiens :
Almansi_totale11 = 8.023350651496e-02 , EPS11 = -1.976649348504e-02
on a bien : Almansi_totale11 - EPS11 = 0.1 (soit la def thermique prévue)
malgré EPS11 non nulle, il y a une contrainte nulle : SIG11 = 3.416070845000e-13
- HYPO_ELAS3D
=> la partie méca est non nulle. J'obtiens :
Almansi_totale11 = 9.146359655596e-02 , EPS11 = -8.536403444036e-03
comme précédemment : Almansi_totale11 - EPS11 = 0.1 (soit la def thermique prévue)
comme précédemment, il y a une contrainte nulle : SIG11 = -7.899711840594e-11
- MOONEY_RIVLIN_3D avec potentiel vol=4 : K/2(V-1)**2
=> le calcul tourne mais le cube ne se déforme pas du tout
Almansi_totale11 = 0
EPS11 = -0.1
Je comprends bien le résultat pour ISOELAS. Je comprends également qu'il doit y avoir un bug quelque part pour MOONEY_RIVLIN_3D.
Mais pour ISOHYPERBULK3 et HYPO_ELAS3D, pas évident de comprendre. Le fonctionnement n'est pas conforme à ce qu'il faudrait théoriquement obtenir (pas de déformation mécanique).
Pour ISOHYPERBULK3, j'ai essayé d'en prédire le résultat depuis l'équation théorique hyperélastique -p = = 0 = V(dw/dV) + w.
Et idem avec HYPO_ELAS3D en partant de trace(sigma) = 0 = K_c.trace(eps_tot - eps_thermique).
Mais au final, je ne trouve jamais ce que trouve Herezh.
Quel calcul est fait par Herezh sur ce cas test de cube ?
N'y a-t-il pas une modif à faire quelque part sur le fonctionnement de la dilatation thermique pour éviter une déformation méca non physique ? (rendre tout ça indépendant de la loi méca choisie)
question supplémentaire : dans le cas de ISOHYPERBULK3, la variable associée est V=v/v0. Quelle est la mesure de déformation que l'on pourrait associer à cette loi ? Peut-on imaginer qu'il y ait une partie de V "mécanique" et une partie "thermique" et donc un V "total" ????
a+
Julien
Fichiers