===== Commit 2008-10-02 ===== * Matériaux orthotropes élastiques ===== Modifs ===== ==== Matériaux orthotropes ==== * **Description du matériau** * Le matériau linéaire est décrit par : * 9 paramètres, à savoir 3 modules élastiques (E1, E2, E3), 3 modules de cisaillement (G12, G13, G23) et trois coefficients de Poisson (Nu12, Nu13 et Nu23). Les paramètres suivants sont donc introduits: * YOUNG_MODULUS_1/2/3 * SHEAR_MODULUS_12/13/23 * POISSON_RATIO_12/13/23. * deux des trois axes d'orthotropie, qui doivent être orthogonaux; le dernier axe est déduit des deux premiers. Les paramètres existaient déjà mais n'étaient pas utilisés en pratique, si je ne me trompe: * ORTHO_AX1_X/Y/Z * ORTHO_AX2_X/Y/Z * **Implémentation** * J'ai été contraint de réorganiser les classes de matériaux hypo, aussi peu que possible mais en restant cohérent. La structure ressemble à ceci : * HypoMaterial * OrthoHypoMaterial * OrthoElastHypoMaterial * EpIsoHOrthoHypoMaterial * IsoHypoMaterial * ElastHypoMaterial * [...] * On voit que le matériau isotrope élastique s'appelle ''ElastHypoMaterial'' et non ''IsoElastHypoMaterial''. C'est volontaire afin de ne pas tout chambouler (je pense entre autres aux cas-test), partant du principe que dans la grande majorité des cas, on utilise un matériau isotrope. Ca peut changer si on le souhaite. * Un ''OrthoHypoGpkState'' a été créé, qui contient la matrice de rotation vers les axes ortho et les termes non-nuls du tenseur de Hooke dans les axes sus-dits. Aucun ''GpState'' en revanche, parce que ce n'était pas utile et qu'il y a suffisamment (trop ?) de ces objets pour en ajouter gratuitement. ==== Modification des Gp/GpkState ==== * On conservait, dans ''HypoGpState'', la défo volumique (''VolumicDefo'') qui est la trace de l'incrément de déformation et qui sert à calculer l'incrément de pression. Or, il apparaît que: - pour un matériau orthotrope, on a besoin, non pas de la trace, mais de la diagonale du tenseur d'incrément de défo; - c'est une grandeur qui, de l'avis des esprits les plus éclairés (Luc et Romain, pas Pierre-Paul mais il y arrivera s'il mange beaucoup de poisson), a sa place dans un GpkState et non un GpState. Cette donnée est donc renvoyée dans les GpkState et différenciée selon les cas iso/ortho: on a ''VolumicDefo'' dans ''HypoGpkState'' et ''DiagDefo'' dans ''OrthoHypoGpkState''. ==== Critère de rupture pour les composites ==== * Un critère de rupture basique, dit de Tsai-Wu, est disponible pour les composites. La description détaillée est disponible au format pdf, il faudra qu'on décide si j'essaye de transposer ça dans la doc en html ou si on crée un répertoire pour ce genre d'info. ===== Tests ===== * ''elastOrtho3D.py'' : une boîte parallélipipédique en composite soumise à des défos importantes. ===== Projet ===== * ===== ToDo list ===== * ===== Fichiers ajoutés/supprimés ===== A apps/monosMaterials/elastOrtho3D.geo A apps/monosMaterials/elastOrtho3D.msh A apps/monosMaterials/elastOrtho3D.py A mtElements/rupture/TsaiWuRuptureCriterion.h A mtElements/rupture/TsaiWuRuptureCriterion.cpp A mtMaterials/plasticCriteria/Comp1DirPlasticCriterion.h A mtMaterials/plasticCriteria/Comp1DirPlasticCriterion.cpp A mtMaterials/plasticCriteria/OrthoPlasticCriterion.h A mtMaterials/plasticCriteria/OrthoPlasticCriterion.cpp A mtMaterials/volumes/IsoHypoMaterial.h A mtMaterials/volumes/IsoHypoMaterial.cpp A mtMaterials/volumes/OrthoHypoMaterial.h A mtMaterials/volumes/OrthoHypoMaterial.cpp A mtMaterials/volumes/OrthoElastHypoMaterial.h A mtMaterials/volumes/OrthoElastHypoMaterial.cpp A mtMaterials/volumes/EpIsoHOrthoHypoMaterial.h A mtMaterials/volumes/EpIsoHOrthoHypoMaterial.cpp A mtMaterials/volumes/OrthoHypoGpkState.h A mtMaterials/volumes/OrthoHypoGpkState.cpp R --- //[[geoffrey.deliege@ulg.ac.be|Geoffrey DELIEGE]] 2008/10/02 //