Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:08_28

Commit 2015-08-28

Implémentation d'un super-élément de type Guyan (quasi-statique). La classe SuperElement devient une classe virtuelle, et les classes filles CraigBamptonSuperElement et GuyanSuperElement sont créées.

La classe SuperElementInteraction, à partir de laquelle la création des super-éléments est gérée devient également virtuelle : les classes filles CraigBamptonSuperElementInteraction et GuyanSuperElementInteraction sont créées.

CraigBamptonSuperElement

  • Condensation dynamique.
  • Partitionnement des DDLs en DDLs Retenus (= DDLs qui permettent la connexion du super-élément avec le reste de la structure, qui peuvent être soumis à des CLs au cours du calcul, ou DDLs dont on a besoin de connaître la valeur) et Condensés (= DDLs invisibles lors de l'utilisation du super-élément).
  • Le super-élément est généré à partir de CraigBamptonSuperElementInteraction via execute()
    • Etape 1 : Analyse fréquentielle sur le modèle EF fin associé (méthode de Lanczos) : calcul des modes propres associés aux fréquences propres les plus petites (le nb de modes propres est fixé par la variable nbEigenValues).
    • Etape 2 : Calcul des matrices réduites du super-élément (calcul des modes statiques de liaison et utilisation des modes propres calculés précédemment permettant d'écrire le changement de base) à partir des matrices K et M calculées lors de l'analyse fréquentielle.

GuyanSuperElement

  • Condensation statique.
  • Partitionnement des DDLs en DDLs Retenus (= DDLs qui représenteront à eux seuls le comportement dynamique de la structure) et Condensés (= DDLs ayant un comportement quasi-statique).
  • Le super-élément est généré à partir de GuyanSuperElementInteraction via execute()
    • Etape 1 : Calcul des matrices K et M associées au modèle EF fin (Ici pas d'analyse fréquentielle !).
    • Etape 2 : Calcul des matrices réduites du super-élément (calcul des modes statiques de liaison permettant d'écrire le changement de base) à partir des matrices K et M calculées précédemment.

ValueExtractors

  • Création de deux nouvelles classes CraigBamptonSuperElementValueExtractor et GuyanSuperElementValueExtractor, qui dérivent de DbNodalValueExtractor, pour calculer une valeur associée à un DDL Condensé.
  • Suppression de la classe SuperElementValueExtractor.

Tests

  1. Modifications des cas-tests initiaux :
    • Cas-tests de base = Beam2D.py, Beam2DComp.py, Beam3D.py, et Beam3DComp.py (prise en compte des nouvelles classes associées au super-élément de Craig-Bampton).
    • Autres cas-tests = launchers, chaque cas-test correspond à un cas de chargement différent (e.g., en déplacement, en force).
  2. Un cas-test dynamique pour le super-élément de type Craig-Bampton :
    • Calcul des vibrations libres d'une poutre encastrée/libre modélisée avec un super-élément de Craig-Bampton, et comparaison avec un modèle EF fin classique → Beam2DComp.py
  3. Deux cas-tests pour le super-élément de type Guyan (quasi-statique et dynamique) :
    • Calcul quasi-statique d'une poutre encastrée/libre où un déplacement est imposé en un noeud de l'extrémité libre de la poutre → Beam2DGuyanStatic.py
    • Calcul des vibrations libres d'une poutre encastrée/libre modélisée avec un super-élément de Guyan, et comparaison avec un modèle EF fin classique → Beam2DGuyanDynamic.py
Pour le moment, les résultats obtenus avec le super-élément de Craig-Bampton sont incorrects car l'analyse fréquentielle est faite sur une configuration de poutre Encastrée/Encastrée (et non Encastrée/Libre).
  • Les valeurs propres calculées ne correspondent donc pas à la bonne configuration.
  • Et, les vecteurs propres associés (modes propres), qui permettent le calcul des matrices K et M réduites, ne sont donc pas les bons vecteurs à considérer.

Ce problème est du à une confusion entre les DDLs Retenus/Condensés et les DDLs Fixés/Libres ! Dans la version actuelle du code, tous les DDLs Retenus sont Fixés dans l'analyse fréquentielle ! Une nouvelle répartition des DDLs va être prochainement mise en place…

Divers

  • Un nettoyage des includes et des définitions de classes a été fait dans les entêtes des fichiers .h et .cpp du module mtSuperElement.
  • Modification du ifndef/define dans mtMD5.h.

Fichiers ajoutés/modifiés/supprimés

Added : oo_meta\mtSuperElement\src\GuyanSuperElement.h
Added : oo_meta\mtSuperElement\src\GuyanSuperElement.cpp
Added : oo_meta\mtSuperElement\src\GuyanSuperElementInteraction.h
Added : oo_meta\mtSuperElement\src\GuyanSuperElementInteraction.cpp
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElement.h
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElement.cpp
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElementInteraction.h
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElementInteraction.cpp
Added : oo_meta\mtSuperElement\src\GuyanSuperElementValueExtractor.h
Added : oo_meta\mtSuperElement\src\GuyanSuperElementValueExtractor.cpp
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElementValueExtractor.h
Added : oo_meta\mtSuperElement\src\CraigBamptonSuperElementValueExtractor.cpp
Modified : oo_meta\mtSuperElement\src\SuperElement.h
Modified : oo_meta\mtSuperElement\src\SuperElement.cpp
Modified : oo_meta\mtSuperElement\src\SuperElementInteraction.h
Modified : oo_meta\mtSuperElement\src\SuperElementInteraction.cpp
Modified : oo_meta\mtSuperElement\_src\mtSuperElement.i
Modified : oo_meta\mtGlobal\mtMD5.h
Deleted: oo_meta\mtSuperElement\src\SuperElementValueExtractor.h
Deleted: oo_meta\mtSuperElement\src\SuperElementValueExtractor.cpp

Tests ajoutés/supprimés

Added: oo_meta\mtSuperElement\tests\Beam2DGuyanStatic.py
Added: oo_meta\mtSuperElement\tests\Beam2DGuyanDynamic.py
Deleted: oo_meta\mtSuperElement\tests\Beam3DCompYAmp.p
Deleted: oo_meta\mtSuperElement\tests\Beam3DLargePb.py

Claire Hennuyer 2015/08/28

commit/2015/08_28.txt · Last modified: 2016/03/30 15:23 (external edit)