===== Commit - LPx - 24 Octobre 2019 ===== AEJ : HyperPK2 : tentative de correction (début) ===== HyperPk2 : ===== ==== StdPk2MechVolIntegMeth : ==== * A la lecture de ''Pk2MechVolIntegMeth'', je me suis rendu compte que en fait, la méthode d'intégration des éléments dont le matériau est défini en terme de contraintes de Piola-Kirchoff-no2 est en fait une intégartion type "SRIPR" (la défo volumique moyenne est recalculée comme moyenne de la variation de volume sur l'élément puis reportée sur tous les points d'intégrations). * Afin de pouvoir avoir un terme de comparaison, j'ai rajouté une intégration Standard (pour les matériaux qui ne sont pas incompressibles). Utiliser le propelem : "CMVIM : VES_CMVIM_STD" pour l'activer (le défaut restant "VES_CMVIM_SRIPR"). * nb : je n'ai pas refait de ''ConsStdPk2MechVolIntegMeth'' * nb2 : une petite réorganisation de l'architecture informatique dois aussi être faite pour supprimer quelques copier-coller ===== AEJ : ===== ==== matériaux PK2 : ==== * A la lecture de ''Pk2AejMechIntegMeth'', j'ai cru tomber raide mort en me rendant compte que Vincianne avait mixé les méthode de suppression du locking volumique AEJ au formalisme par défaut (SRIPR par moyenne des volumes de l'élément). J'avoue que là, j'ai vraiment pas compris (pourquoi aller calculer un déterminant de jacobien sur le patch d'éléments voisins, si c'est pour utiliser la moyenne des variations de volume sur l'élément courant)... * => suppression du moyennage de la variation de volume * ==> tentative de correction de la MRT : ok en petite défo genre membrane de cooks / KO sur des grandes défo (taylorBar). Il est difficile de débuger la MRT des AEJ (pas possible de faire des monos-éléments vu que tout dépend du patch). ==== Matériaux Cauchy : ==== correction d'un calcul de jacobien (calcul d'un terme de MRT) qui ne passait pas l'info sur le type de géométrie (EPE - Axisym) : CauchyAejMechIntegMeth.inl l147 ipd.computeJacobian(Co, jaco, volumElementShcut.getThickness(), volumElementShcut.getIsAxisym()); ==== MRT : ==== * Le formalisme développé par Vincianne pour calculer la MRT est élégant sur papier (on calcule la MRT "classique" qu'on corrige par les effets des éléments du patch) * MAIS * informatiquement parlant : le nombre d'opérations faites et refaites (principalement le calcul du tenseur d'ordre 4 Hijkl) est catastrophique. Il va falloir redévelopper tout ca de manière efficace pour que les éléments AEJ puissent être plus ou moins efficaces (tant pour les hyperpk2 que pour les hypo) * la MRT ne semble correcte que pour des petites déformations (ou au début des calculs). Pour des tests plus complexes, ca ne semble pas parfait : apps.aej.taylor3DLnPk2ChAna : [TSC-STP] Number of steps : 13 [TSC-ITE] Number of mech. iterations : 49 apps.aej.taylor3DLnPk2ChNum : [TSC-STP] Number of steps : 6 [TSC-ITE] Number of mech. iterations : 30 apps.aej.taylor3DHypoChAna [TSC-STP] Number of steps : 14 [TSC-ITE] Number of mech. iterations : 56 apps.aej.taylor3DHypoChNum [TSC-STP] Number of steps : 6 [TSC-ITE] Number of mech. iterations : 30 et pire encore en 2D : apps.aej.taylor2DEpeChAna : [TSC-STP] Number of steps : 899 [TSC-ITE] Number of mech. iterations : 3067 apps.aej.taylor2DEpeChNum : [TSC-STP] Number of steps : 80 [TSC-ITE] Number of mech. iterations : 244 apps.aej.taylor2DEpeHypoCHAna : [TSC-STP] Number of steps : 230 [TSC-ITE] Number of mech. iterations : 696 apps.aej.taylor2DEpeHypoCHNum : [TSC-STP] Number of steps : 108 [TSC-ITE] Number of mech. iterations : 331 ==== Membrane de Cooks ==== * Ajout d'une série de tests (tests des matériaux hyperPK2 sur une série de configurations différentes) ===== Divers : ===== ==== apps\biomec\boneRemodeling\femur.py : ==== * Ajout d'une série de TSC (pour au moins avoir quelques mesures à pouvoir comparer !!!) * nb : il y a dans ce test une superposition de 2 maillages non compatibles sur la même partie de géométrie (je suppose que c'est fait exprès, mais c'est quand même étrange comme modélisation) ==== apps\biomec\brain\brainImpact2D....py : ==== * Ajout d'une série de TSC (pour au moins avoir quelques mesures à pouvoir comparer !!!) ===== Fichiers ajoutés/supprimés : ===== Added : mtElements/volumes/methods/StdPk2MechVolIntegMeth.h/inl Deleted : Moved : ===== Tests ajoutés/supprimés ===== deleted : apps/aej/taylor2ChAna.py added : apps/aej/taylor2DChAna.py added : apps/aej/taylor2DEpe.py added : apps/aej/taylor2DEpeChAna.py added : apps/aej/taylor2DEpeChNum.py added : apps/aej/taylor2DEpeHypo.py added : apps/aej/taylor2DEpeHypoCHAna.py added : apps/aej/taylor2DEpeHypoCHNum.py added : apps/aej/taylor2DHypo.py added : apps/aej/taylor2DHypoCHAna.py added : apps/aej/taylor2DHypoCHNum.py added : apps/aej/taylor3DHypo.py added : apps/aej/taylor3DHypoChAna.py added : apps/aej/taylor3DHypoChNum.py added : apps/aej/taylor3DLnPk2.py added : apps/aej/taylor3DLnPk2ChAna.py added : apps/aej/taylor3DLnPk2ChNum.py deleted : apps/cooksMembrane/cooks2DepSri.py deleted : apps/cooksMembrane/cooks3DNeoHookTetra2.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2Quad.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2Quad2.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2QuadNum.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2Tri.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2Tri2.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2TriAej.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2TriAejNum.py added : apps/cooksMembrane/cooks2DEpNeoHookPk2TriNum.py added : apps/cooksMembrane/cooks2DEpNeoHookStdPk2Quad.py added : apps/cooksMembrane/cooks2DEpNeoHookStdPk2QuadNum.py added : apps/cooksMembrane/cooks2DEpSri.py added : apps/cooksMembrane/cooks2DNeoHookPk2Quad.py added : apps/cooksMembrane/cooks2DNeoHookPk2Quad2.py added : apps/cooksMembrane/cooks2DNeoHookPk2QuadNum.py added : apps/cooksMembrane/cooks2DNeoHookPk2Tri.py added : apps/cooksMembrane/cooks2DNeoHookPk2Tri2.py added : apps/cooksMembrane/cooks2DNeoHookPk2TriAej.py added : apps/cooksMembrane/cooks2DNeoHookPk2TriAejNum.py added : apps/cooksMembrane/cooks2DNeoHookPk2TriNum.py added : apps/cooksMembrane/cooks2DNeoHookQuadNum.py added : apps/cooksMembrane/cooks2DNeoHookQuadSri.py added : apps/cooksMembrane/cooks2DNeoHookQuadSriNum.py added : apps/cooksMembrane/cooks2DNeoHookQuadSriPr.py added : apps/cooksMembrane/cooks2DNeoHookQuadSriPrNum.py added : apps/cooksMembrane/cooks2DNeoHookQuadStd.py added : apps/cooksMembrane/cooks2DNeoHookQuadStdNum.py added : apps/cooksMembrane/cooks2DNeoHookStdPk2Quad.py added : apps/cooksMembrane/cooks2DNeoHookStdPk2QuadNum.py added : apps/cooksMembrane/cooks2DNeoHookTriNum.py added : apps/cooksMembrane/cooks3DEpNeoHookPk2Hexa.py added : apps/cooksMembrane/cooks3DEpNeoHookPk2Tetra.py added : apps/cooksMembrane/cooks3DEpNeoHookPk2Tetra2.py added : apps/cooksMembrane/cooks3DEpNeoHookPk2TetraAej.py added : apps/cooksMembrane/cooks3DEpNeoHookStdPk2Hexa.py added : apps/cooksMembrane/cooks3DEpNeoHookStdPk2HexaNum.py added : apps/cooksMembrane/cooks3DEpNeoHookTetraAejPk2Num.py added : apps/cooksMembrane/cooks3DNeoHookAejTetra.py added : apps/cooksMembrane/cooks3DNeoHookAejTetraNum.py added : apps/cooksMembrane/cooks3DNeoHookPk2Hexa.py added : apps/cooksMembrane/cooks3DNeoHookPk2Tetra.py added : apps/cooksMembrane/cooks3DNeoHookPk2Tetra2.py added : apps/cooksMembrane/cooks3DNeoHookPk2TetraAej.py added : apps/cooksMembrane/cooks3DNeoHookPk2TetraAejNum.py added : apps/cooksMembrane/cooks3DNeoHookSriPrHexa.py added : apps/cooksMembrane/cooks3DNeoHookSriPrHexaNum.py added : apps/cooksMembrane/cooks3DNeoHookStdHexa.py added : apps/cooksMembrane/cooks3DNeoHookStdHexa2.py added : apps/cooksMembrane/cooks3DNeoHookStdHexaNum.py added : apps/cooksMembrane/cooks3DNeoHookStdPk2Hexa.py added : apps/cooksMembrane/cooks3DNeoHookStdPk2HexaNum.py added : apps/cooksMembrane/cooks3DNeoHookStdTetra.py Moved : --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2019/10/24 //