Julien,
dans ton calcul, tu utilises la même loi en 3D:
- en 3D c'est direct
- en 2D contrainte plane, cela passe par l'encapsulage "contrainte plane" de la même loi 3D
Donc c'est normale que l'on obtienne les mêmes résultats si les déformations sont identiques dans les 2 cas.
Pendant le calcul des grandeurs "finales" utilisées aux pti, en particulier les différentes def, les tenseurs utilisés dépendent de la dimension: si l'on est en 2D (contraintes planes ou def planes) les tenseurs sont de dim 2 et en 3D de dim 3, et en 1D de dim 1.
La formule utilisée est la même dans les 3 cas, par exemple pour la def equi :
sqrt(2./3. * ( ((*epsBH) && (*epsBH)) - Sqr(epsBH->Trace()) /3. ))
Ce qui revient effectivement à dire que par rapport au cas 3D:
- en 2D on ne calcule que ce qui se passe dans le plan
- en 1D on en calcule que ce qui se passe dans la ligne.
C'est ce qui est indiqué dans la documentation: "88.11 Significations des grandeurs disponibles" ( voir également toutes les autres grandeurs associées à la def: ex: Qeps ).
Il s'agit là des grandeurs qui sont stockées au pti, indépendamment de la loi utilisée: c-a-d les grandeurs qui sont uniquement liées à la dimension. C'est ces grandeurs que tu obtiens directement en post-traitement par défaut.
Concernant l'angle de Lode:
- en post-traitement on a :
double Qepsilon = ( (Q_eps!=NULL) ? *Q_eps : sqrt(eps_barreHB->II));
double Qepsilon3 = Qepsilon * Qepsilon * Qepsilon;
if (Qepsilon > mini_Q )
{ // on peut calculer un cos3phi pas débile
double bIIIb = eps_barreHB->III / 3.;
tab_ret(it) = 3. * sqrt(6.) * bIIIb/ Qepsilon3;
}
else tab_ret(it)=0.; // sinon on le met à 0
On voit que le résultat dépend de la dimension: car eps_barreHB a la dimension de la géométrie.
- spécifiquement dans les lois de Grenoble (Favier, Orgéas etc.), j'avais déjà donné l'info à Laurent Mahéo:
il faut regarder les méthodes: Hyper3D::Invariant0QepsCosphi Hyper3D::Invariant0Specif(... et Hyper3D::Invariants(...
Pour faire court: c'est globalement les mêmes calculs avec une gestion en plus des cas particuliers et du facteur de régularisation.
Ces calculs sont spécifique aux cas 3D.
Si on demande les grandeurs spécifiques utilisées dans la loi de comp, on aura accès aux infos calculées par Hyper3D, et donc utilisées directement par la loi (ce ne sont pas ce qui sont post-traitées.
Donc si on sort en post traitement, en "contrainte plane" le Qeps par défaut (donc 2D), et d'autre part le Qeps utilisé par la loi de comportement Favier (donc 3D), ils seront différents car ils ne représentent pas les mêmes infos: le premier représente le Qeps de ce qui se passe dans le plan 2D géométrique, le second représente le Qeps dans la matière 3D.
C'est un choix arbitraire, qui est un peu compliqué.
Concernant les lois de type Mooney-Rivlin, la différence importante avec les lois de Grenoble est que les invariants sont calculés à partir des métriques, contrairement au cas des lois de grenoble pour lesquels les invariants sont calculés à partir des déformations d'Almansi.
1) Les invariants I_B II_B et III_B ainsi que les Ji correspondant, ne sont pas stockés aux pti,
2) ces invariants ne sont pas directement accessibles en post-traitement. Pour les récupérer dans les sorties d'exécution, il faut utiliser un niveau d'affichage important (> 4).
On peut aussi utiliser une loi externe qui ne fait rien ...
3) les invariants sont calculés au moment de l'utilisation de la loi.
NB: en contrainte plane + plis cela pose un pb, car la métrique que l'on génère pour utiliser la loi 3D, par construction n'est pas en cohérence avec les déformations que j'ai appelées "mécaniques"