Table of Contents

Commit 2015-10-08

Super-éléments

:!: :!: La nouvelle répartition des DDLs évoquée dans mon précédent commit (Commit 2015-08-28) n'a finalement pas lieu d'être. :!: :!:

La théorie dit bien que :

  1. Calcul des modes propres à interfaces fixes → analyse fréquentielle du modèle fin où DDLs Retenus = DDLs Fixés.
  2. Calcul des modes statiques de liaison → calcul des déformées de la structure condensée lorsqu'un déplacement unitaire est imposé en un DDL Retenu (les autres DDLs Retenus sont fixés à 0), et ce pour tous les DDLs Retenus.

SuperElement

Notons que l'on n'avait pas besoin de cette fonction pour récupérer la matrice de masse du super-élément lors du calcul de la matrice jacobienne car on la récupérait via la méthode fillCorrectedImplicitDynamicTangentMatrix() implémentée dans la classe SuperElement.

Correction expression de la matrice de masse

  Original   : MRR = mRR + Psi^T . mCC . Psi + 2 * mRC . Psi
  Correction : MRR = mRR + Psi^T . mCC . Psi + (mRC . Psi)^T + mRC . Psi  
  
     MRR  |  MRN
M = ------------- est la matrice de masse du système réduit (super-élément),
     MNR  |  MNN
     
     mRR  |  mRC
m = ------------- est la matrice de masse du système non réduit (modèle fin),
     mCR  |  mCC
     
R = DDL Retenu, C = DDL Condensé, N = DDLs Mode propre à interfaces fixes,

Psi est la matrice des modes statiques de liaison.

CraigBamptonSuperElementValueExtractor

Original   : locel[j+nbContraintModes]
Correction : locel[j+nbContraintModes+1]

Analyse fréquentielle

MechanicalMatrices

Fichiers de sortie

Normalisation des modes propres

Modes de corps rigides

Taux de remplissage des matrices

Attention, lorsqu'une analyse fréquentielle est réalisée sur le super-élément, le taux de remplissage des matrices affiché peut être erroné ! En effet, les matrices K et M du super-élément sont des matrices pleines, et des taux de remplissage > à 100% peuvent apparaître (ex : si K est une SkyLineMatrix, l'espace mémoire réservé aux éléments diagonaux est alloué 2 fois, dans situ et dans sitl).

Cas-tests

Analyse fréquentielle du super-élément : l'affichage des modes propres obtenus n'est pas correct pour l'instant.

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

Modified : oo_meta\mtFrequencyAnalysis\src\FrequencyAnalysisMethod.h
Modified : oo_meta\mtFrequencyAnalysis\src\FrequencyAnalysisMethod.cpp
Modified : oo_meta\mtFrequencyAnalysis\src\LanczosFrequencyAnalysisMethod.cpp
Modified : oo_meta\mtFrequencyAnalysis\src\MechanicalMatrices.h
Modified : oo_meta\mtFrequencyAnalysis\src\MechanicalMatrices.cpp

Modified : oo_meta\mtSuperElement\src\SuperElement.h
Modified : oo_meta\mtSuperElement\src\SuperElement.cpp
Modified : oo_meta\mtSuperElement\src\CraigBamptonSuperElement.cpp
Modified : oo_meta\mtSuperElement\src\CraigBamptonSuperElementValueExtractor.cpp
Modified : oo_meta\mtSuperElement\src\GuyanSuperElement.cpp

Modified : oo_meta\toolbox\meshedGeometry3D.py
Modified : oo_meta\mtMath\CSRMatrix.cpp

Tests ajoutés/supprimés

Added: oo_meta\mtSuperElement\tests\Beam2DFreqAnalysis.py
Added: oo_meta\mtSuperElement\tests\Beam2DFreqAnalysisFree.py
Added: oo_meta\mtSuperElement\tests\Beam3DFreqAnalysis.py
Added: oo_meta\mtSuperElement\tests\Beam3DFreqAnalysisFree.py
Added: oo_meta\mtSuperElement\tests\Beam2DTri.py
Added: oo_meta\mtSuperElement\tests\Beam3DTetra.py

Claire Hennuyer 2015/10/08