Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:01_27

This is an old revision of the document!


Commit 2015-27-01

Modifications

Matrice de raideur de contact

J'ai ajouté une option permettant de calculer la matrice de raideur de contact totale dans le cas du contact rigide déformable (piloté en force aussi), en 2D (état plan déformable et axisymétrique) et en 3D. L'option est disponible pour tous les matériaux de contact disponible dans Metafor jusqu'à présent !

La motivation de ses développements réside dans le fait que dans le cas du Lagrangien Augmenté, certains termes négligeables dans la pénalité classique ne le sont plus du tout dans le cas du Lagrangien Augmenté, d'où l'importance d'avoir la matrice de raideur analytique totale.

materset = domain.getMaterialSet() contactMater = materset.define(1, FrictionLessContactMaterial) contactMater.put(CONTACTMATERIALSTIFFMETHOD, WITHOUT_GEO_TERMS WITH_GEO_TERMS

L'option par défaut est celle sans les termes géométriques. Dans le cas de matrice rigide avec de forte courbure, je vous recommande d'activer l'option !

Matériau de contact de Tresca - Lagrangien Augmenté

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 nouvelle méthode de calcul des longueurs caractéristiques du contact dans le critère géométrique normalisé;
  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/01/27

commit/2015/01_27.1422371144.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki