Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2008:03_17

Commit 2008-03-17

Lois matérielles - endommagement isotrope

Corrections de bugs en tout genre (notamment, on s'étonnera que j'avais des soucis de convergence à grand endo, le remplacement d'un 1333 en 133… ça fait la différence)

Possibilité supplémentaire dans la loi matérielle pour le remodelage osseux : introduction de deux constantes de remodelages différentes pour l'apposition (“réparation”) et la résorption (endommagement).

Ajout de cas tests en conséquence (des monos et une dent qs) et modification de tous mes cas-tests suite à la correction des bugs.

Matériaux - endommagement orthotrope

Introduction d'une loi d'endommagement orthotrope (ContinuousAnisoDamageEvpIsoHHypoMaterial - ça devient long comme nom mais le Aniso est là pour l'endo et le Iso pour l'isotropic hardening).

Seul l'endo est non isotrope, le matériau reste isotrope (partie élastique isotrope et plasticité uniquement critère de Von-Mises avec écrouissage linéaire). L'endo est défini par trois valeurs (matrice 3×3 diagonale 1)). Le couplage plasticité/endo n'est pas des plus simples et quelques réductions au niveau des lois de variations ont été faites 2). C'est d'ailleurs tellement pas simple que la matrice de raideur analytique foire bien pour les essais en traction/compression :-/… Uniquement à utiliser avec STIFFMETHOD=STIFF_NUMERIC pour le moment.

Lois matérielles- endommagement orthotrope

Introduction d'une loi générique (ContinuousAnisoDamage) et d'une loi bidon (DummyContinuousAnisoDamage) de variation d'endo orthotrope : $\dot{D} = g(D, \sigma, \varepsilon, plasticité)$ où $ g $ est aussi une matrice 3×3.

Pour ajouter une loi, il suffit de définir la loi de variation de l'endo et ses dérivées par rapport à la pression, le déviateur des contraintes, la défo volumique $ J $, la défo déviatorique, $\Delta r$ et l'endo $ D $.

Par “simplification” pour le calcul de la matrice de raideur analytique, il y a des restrictions :

  1. La variation d'endo $ g $ doit être telle que l'endo reste une matrice diagonale ($ g $ est diagonal 3)).
  2. La dérivée de $ g $ avec l'endo doit rendre un tenseur “pseudo-diagonal” : $\frac{\partial g_{ij}}{\partial D_{kl}} = b\delta_{ij}\delta_{kl}+c/2(\delta_{ik}\delta_{jl}+\delta_{il}\delta_{jk})$

Sans ces restrictions, cela ne fonctionnera quand même pas (même dans le cas STIFF_NUMERIC) car toute le matériau a été écrit en en tenant compte… éventuellement à modifier dans la suite (modifs pas trop compliquée a priori)

mtMath

Ajout de deux fonctions supplémentaires pour les tenseurs du 4ème ordre (double produit contracté : $c = H_{ijkl}M_{ijkl}$ –> c=H.prodOnIjkl(M) et résolution équation tensorielle : $A_{ijkl}X_{klmn}=B_{ijmn}$, avec $ A $ et $ B $, deux tenseurs du quatrième ordre connus–> X = A.invProdOnKl(B), nécessite l'inversion d'une matrice pleine 9×9 et 9 produits matriciels 9×9 )

A faire (liste non exhaustive!!).

Correction de la matrice de raideur analytique

Lois d'endo orthotrope pas bidon… (et tests en conséquence)

Trouver une solution pour un endo non diagonal??

Tests.

Comme annoncé plus haut, plusieurs Monos testant la loi endo isotrope pour le os avec deux coefficients.

Idem pour un test qs.

Divers Monos 2d et 3d pour DummyContinuousAnisoDamage

Fichiers ajoutés / supprimés.

apps/monosMaterials/evpIsoDamageAlvBoneRemod2Pars2dAxiCis.py	added	 	
apps/monosMaterials/evpIsoDamageAlvBoneRemod2Pars3dCis.py	added	 	
apps/monosMaterials/evpIsoDamageAnisoDummy2DAxiCis.py	added	 	
apps/monosMaterials/evpIsoDamageAnisoDummy2DTrac.py	added	 	
apps/monosMaterials/evpIsoDamageAnisoDummy3DCis.py	added	 	
apps/monosMaterials/evpIsoDamageAnisoDummy3DTrac.py	added	 	
apps/qs/toothDamage2Const.py	added	 	
mtMaterialLaws/damage/ContinuousAnisoDamage.cpp	added	 	
mtMaterialLaws/damage/ContinuousAnisoDamage.h	added	 	
mtMaterialLaws/damage/DummyContinuousAnisoDamage.cpp	added	 	
mtMaterialLaws/damage/DummyContinuousAnisoDamage.h	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoGpkState.cpp	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoGpkState.h	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoGpState.cpp	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoGpState.h	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoMaterial.cpp	added	 	
mtMaterials/volumes/ContinuousAnisoDamageEvpIsoHHypoMaterial.h	added	 	

Marlène Mengoni 17/03/2008

1)
Contrainte assez forte mais si on veut simplement une 3×3 symétrique, il faut implémenter, pour la matrice de raideur analytique, des tenseurs d'ordre beacuoup plus élevé - 6 voire même 8 - … j'ai donc décidé d'opter pour une contrainte forte dans un premier temps
2)
Me consulter pour plus de détails quant à l'implémentation du couplage (intégration endo/plasticité itérative)
3)
cfr première note de bas de page…
commit/2008/03_17.txt · Last modified: 2016/03/30 15:23 (external edit)