Table of Contents

Commit 2014-11-08

Modifications

Matériau de contact - ContactGPKState

J'ai introduit une structure permettant de stocker des variables permettant de calculer la matrice de raideur tangente et/ou nécessaire au calcul des forces de contact, mais pas indispensable au passage d'un pas de temps à un autre (En fait, ces variables ne sont pas sauvegardées dans les archives !).

Pour introduire cette nouvelle structure, il fut nécessaire de déléguer des opérations aux matériaux pour ne pas manipuler les ContactGPStates et/ou les ContactGPKStates directement au sein de l'élément de contact et/ou de la méthode de contact (Mise à jour du point de collement en général et dans le cas particulier de l'ALE dans la configuration remaillée).

Il est à noter que certaines variables liées au schéma d'intégration conservatif ont été placées dans une structure à part, le ContactGPCKState.

Cette gestion de la mémoire plus intelligente est nécessaire, puisque nous avons un ContactGPState pour le temps t0, le temps t1 et la prise de contact (ce qui fait que certaines variables étaient stockées trois fois, au lieu d'une seule fois !).

En conclusion, il faut s'attendre à une diminution de l'utilisation de la mémoire.

Matériau de contact - Nettoyage ContactGPState

J'ai effectué une réécriture complète des variables stockées dans les ContactGPStates de contact, notamment d'indiquer clairement que c'est la pression de contact et le cisaillement de contact qui sont stockés, et non la force normale et la force tangentielle de contact.

Matériau de contact avec frottement - Lagrangien Augmenté

Le calcul de la dissipation d'énergie suite au frottement a été adapté dans le cas du matériau avec frottement selon Coulomb avec le Lagrangien Augmenté, puisque que les hypothèses menant une forme simplifiée dans le cas de la Pénalité ne sont plus valables.

Perspective

Dans la suite du commit, il faut

  1. ajouter la contribution géométrique à la matrice de raideur tangente (non négligeable dans le cas du lagrangien augmenté);
  2. ajouter des cas-tests (état plan déformation, axisymétrique et 3D) pour tester l'interfaçage et éventuellement statuer sur le sort des cas-tests actuellement dans la batterie (2ième étape);
  3. ajouter les cas-tests de référence de l'article de Simo et Laursen 1990 (3ième étape);
  4. faire la documentation;

Fichiers ajoutés/supprimés

[a]:	mtContact/src/AugLagFrictionalMechanicalContactGpkState.cpp
[a]:	mtContact/src/AugLagFrictionalMechanicalContactGpkState.h
[a]:	mtContact/src/AugLagNormalMechanicalContactGpckState.cpp
[a]:	mtContact/src/AugLagNormalMechanicalContactGpckState.h
[a]:	mtContact/src/AugLagNormalMechanicalContactGpkState.cpp
[a]:	mtContact/src/AugLagNormalMechanicalContactGpkState.h
[a]:	mtContact/src/AugLagTangentialMechanicalContactGpkState.cpp
[a]:	mtContact/src/AugLagTangentialMechanicalContactGpkState.h
[a]:	mtContact/src/FrictionalMechanicalContactGpkState.cpp
[a]:	mtContact/src/FrictionalMechanicalContactGpkState.h
[a]:	mtContact/src/TangentialMechanicalContactGpkState.cpp
[a]:	mtContact/src/TangentialMechanicalContactGpkState.h
[a]:	mtContact/src/MechanicalContactGpckState.cpp
[a]:	mtContact/src/MechanicalContactGpckState.h
[a]:	mtContact/src/MechanicalContactGpkState.cpp
[a]:	mtContact/src/MechanicalContactGpkState.h
[a]:	mtContact/src/NormalMechanicalContactGpckState.cpp
[a]:	mtContact/src/NormalMechanicalContactGpckState.h
[a]:	mtContact/src/NormalMechanicalContactGpkState.cpp
[a]:	mtContact/src/NormalMechanicalContactGpkState.h
[r]:

Tests ajoutés/supprimés

[r]:
[a]:

Gaëtan WAUTELET 2014/11/25