Evolution #220
ajout de coefficient pour anisotropie par projection
Description
Gérard,
dans l'anisotropie par projection, on définit les coefficients de la matrice de projection H dans le repère d'anisotropie.
Pour l'instant, sont disponibles :
- les termes ^ii_ii (mise en données : A1,A2,A3)
- les termes ^ij_ij et leurs symétriques (i différent de j) (mise en données : B12, B13, B23).
pour identifier ces paramètres, je fais l'analogie avec ce qui est couramment fait pour identifier les coefficients élastiques orthotropes via 3 direction de traction uniaxiale : 0°, 45° et 90°.
Je raisonne en 2D, je ne cherche donc que les termes A1, A2 et B12. Pour l'instant, je ne sais pas encore exactement quelle hypothèse faire pour la direction 3, i.e dans l'épaisseur de la membrane. En première approche, je compte mettre A3 = B13 = B23 = 1. à voir...
Après avoir gratté un peu sur papier, j'ai l'impression que l'absence de terme ^ii_jj conduit à une incohérence. ça conduit à 2 solutions possibles pour certains coefficients, autrement dit il sera impossible de satisfaire à la fois les trois directions d'essais.
Je pense qu'il faudrait ajouter la possibilité de définir les termes ^ii_jj. Dans la mise en données, peut-être renommer les paramètres A ainsi :
- A11 => H^11_11
- A12 => H^11_22 (= H^22_11)
- A13 => H^11_33 (= H^33_11)
- A22 => H^22_22
- etc...
Je vais approfondir mes développements sur papier. Mais il faut s'attendre à ça. On a 3 directions d'essais à satisfaire, et donc au minimum il faut pouvoir définir un tenseur H ayant la forme d'un tenseur d'élasticité orthotrope.
Fichiers
Mis à jour par Gérard Rio il y a presque 5 ans
- Tracker changé de Anomalie à Evolution
- Statut changé de Nouveau à En cours
Si on considère que H est un opérateur linéaire et en se plaçant dans son repère principal, normalement on obtient 6 valeurs propres (cf. ce que j'ai écrit dans le manuel théorique).
Du coup j'ai l'impression que les termes croisés apparaissent (ou sont nécessaires) lorsque l'on n'est pas dans le repère principal (des tenseurs d'ordre 2) = supposé être construit à partir du repère d'anisotropie.
... à voir en fonction de tes développements.
Mis à jour par Julien Troufflard il y a presque 5 ans
oui les termes croisés apparaissent dans le repère global. Ces termes sont fonctions des termes initiaux de H. Mais d'après ce que j'ai écrit, j'arrive à ces 3 équations à 45° en traction uniaxiale :
((je note sig^11 en minuscule la contrainte isotrope initiale et en majuscule SIG^11 la contrainte après projection))
SIG^11 = (1/4)*(A1 + A2 + 2B12)*sig^11
0 = A1 + A2 - 2B12
0 = A1 - A2
déjà, rien que la dernière équation m'imposerait A1 = A2. Or, je fixe A1 = 1 (loi HH inchangée quand on tire à 0°). Et donc A2 serait aussi égal à 1. Du coup pas d'anisotropie à 90°. Ensuite, à l'équation précédente, on en déduit B12 = 1 aussi. Pas d'anisotropie du tout en fait. Et enfin, avec A1=A2=B12=1, la première équation conduirait à SIG^11 = sig^11. Donc la seule solution possible est de ne pas avoir d'anisotropie ????
c'est ce que j'ai l'air de trouver pour l'instant. Il faut que je vois ce que ça donnerait si on introduit des termes ^ii_jj. Mais déjà, avant même de développer ça, c'est sûr qu'il va falloir ajouter des termes à H. sinon ce n'est possible de satisfaire 3 directions d'essais.
Mis à jour par Julien Troufflard il y a presque 5 ans
bon je trouve des trucs étranges aussi en introduisant des termes ^ii_jj. Il faut que je creuse encore. Je retrouve l'incohérence pointée précédemment, et notamment A1=A2. Mais quand je regarde le cas classique de l'identification d'une loi élastique orthotrope avec cette approche, on trouve aussi ce genre d'incohérence (une des équations à 45° impliquerait systématiquement l'égalité des modules : E_1 = E_2). Effectivement, si cette incohérence était déjà inhérente à la méthode choisie, pas la peine de se débattre.
Numériquement, je vais voir déjà ce que ça donne avec seulement A1, A2 et B12, en dépit de cette incohérence qui m'échappe. Pour que tu puisses suivre exactement mon raisonnement, il va falloir un peu de rédaction.
Mis à jour par Julien Troufflard il y a presque 5 ans
- Fichier test_proj_1elt2D.tar test_proj_1elt2D.tar ajouté
il y a un bug sur élément 2D. Pour appliquer une projection sur un élément 2D, on doit passer par la projection 3D (PROJECTION_ANISOTROPE_3D). Et donc appliquer ensuite LOI_CONTRAINTES_PLANES pour la rendre 2D.
Dans cette config, j'ai essayé 2 cas.
1) d'abord un maillage avec plein d'élément en traction uniaxiale. J'ai alors constaté le bug et le résidu qui n'évolue pas (reste aux alentours de 1). Je n'ai pas mis ce cas en pièce jointe.
2) je te propose de tester sur un seul élément quadrangle en traction uniaxiale et déplacement imposé. J'ai mis le cas où A1=A2=A3=B12=B13=B23=1 (pas d'anisotropie). Sur le premier incrément il a du mal à converger (résidu très grand). Puis, une fois cet incrément passé (je ne sais pas comment), le calcul avance normalement.
J'ai testé en mettant une loi de mélange : à déformation très petite => loi ISOELAS2D_C classique, et ensuite on enclenche la projection via LOI_CONTRAINTES_PLANES + PROJECTION_ANISOTROPE_3D + ISOELAS. ça n'a pas l'air de résoudre le pb
voilà, bonne chasse au bug.
Mis à jour par Gérard Rio il y a presque 5 ans
- % réalisé changé de 0 à 10
en fait, je m'aperçois que l'anisotropie 3D par projection n'a été testé que sur des éléments 3D ...
Du coup, en attendant que je valide (et debug) le fonctionnement sur un comportement 2D CP, si l'objectif est d'identifier les coefficients d'un comportement, la solution que je propose est d'utiliser un élément 3D.
Mis à jour par Julien Troufflard il y a presque 5 ans
ok, je continue en 3D pour l'instant.
L'objectif final est cependant d'appliquer le modèle à un calcul ballon.
Mis à jour par Julien Troufflard il y a presque 5 ans
- Fichier cube_aniso3D.CVisu cube_aniso3D.CVisu ajouté
- Fichier cube_aniso3D.info cube_aniso3D.info ajouté
Gérard,
je n'arrive pas à appliquer une fonction nD aux paramètres du tenseur d'anisotropie. Dans le test joint, j'ai voulu faire dépendre A2 d'une fonction nD de la déformation mises def_duale_mises.
Herezh me renvoie une erreur. Et j'ai remarqué que la documentation utilisateur n'est pas cohérente. Dans le texte, il est indiqué que la syntaxe sera du genre : A2= A2_fonction_nD: nom_fonction
Dans l'exemple table 216, il est indiqué une syntaxe du genre : A2= fonction_nD: nom_fonction
2 choses qui me bloquent :
1) aucune de ces 2 syntaxes ne fonctionne
2) une fois que cela fonctionnera, est-ce que ma fonction courbe_A2 va bien conduire à une dépendance à la déformation de mises. Autrement dit, le fait de nommer l'argument "def_duale_mises" suffit-il à faire comprendre à Herezh que j'invoque la déformation de mises ?
3) Et ensuite, si c'est oui au point 2), dans la fonction (après fct= ), est-ce qu'on utilise le mot def_duale_mises dans l'opération mathématique (par exemple : fct= 2*def_duale_mises + 1.)
merci d'avance
Mis à jour par Gérard Rio il y a presque 5 ans
- % réalisé changé de 10 à 50
En fait il ne fallait pas mettre de retour à la ligne pour que la lecture se fasse correctement. Cependant, j'ai introduit un changement de ligne pour que la lecture soit cohérente avec les autres lois et avec la doc, c'est quand même mieux !!
Concernant la dépendance à la déformation de mises, effectivement il suffit de nommer correctement l'argument pour que cela fonctionne.
Ceci étant, dans le cas des lois de comp utilisant des fct nD, la def de mises n'était pas encore introduite. Du coup j'ai introduit les 3 grandeurs suivantes:
- def_duale_mises
- def_duale_mises_maxi
- def_equivalente
à tester avec la version >= V 6.929
NB: on pourrait également mettre une contrainte de Mises, mais comme elle interviendra avant que la loi soit calculée, cette contrainte sera relative à l'itération précédente (ou incrément précédent en explicite).
Me dire si cela a un intérêt ou pas
Mis à jour par Julien Troufflard il y a presque 5 ans
merci. ça fonctionne.
Pour ce qui est de sigma mises, je n'en ai pas l'utilité pour l'instant.
Mis à jour par Gérard Rio il y a plus de 4 ans
- Statut changé de En cours à Résolu
- % réalisé changé de 50 à 100