Table of Contents
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 :
- La variation d'endo $ g $ doit être telle que l'endo reste une matrice diagonale ($ g $ est diagonal 3)).
- 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