Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2019:10_24

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 : 

Luc Papeleux 2019/10/24

commit/2019/10_24.txt · Last modified: 2019/10/24 10:53 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki