commit:2016:06_29b
                Table of Contents
Commit 2016-06-29
SuperElement : Nettoyage structure + Divers
SuperElement : Nettoyage structure
- Creation d'une classe de baseMechanicalMatricesBasedans mtFrequencyAnalysis et d'une classe spécifiqueSEMEchanicalMatricespermettant- une interface commune (MechanicalMatricesBase) d'appel de matrice K et M servant à une analyse fréquentielle
- MechanicalMatricespour l'analyse fréquentielle d'un modèle EF (1 partitionnement : fixé/libre)
- SEMechanicalMatricespour la construction du super-élément (2 partitionnements belong/notBelong - Condensé/retenu). L'interface commune permettant l'appel du calcul des modes à interface fixes de Craig-Bampton…
- ⇒ nettoyage de tous les 'if (thereIsBelongingToSEDofs)'
- gestion de la classe parRefCounted
- gestion duLinearSolver *parRefCounted
- Clonage systématique du solver à la construction desstrMatrixdeMechanicalMatrices(il faut noter que le solver est associé à sa matrice ⇒ si on construit 2 strMatrix avec le mêmeLinearSolver*, c'est toujours le contenu de la dernière qui sera factorisé ⇒ risky business!!! Pour moi ce clonage devrait être fait dansStrMatrix, mais on doit encore discuter des implications avec Romain.)
 
- Utilisation du DSS par défaut dans la construction du super-element (avant problème de crash de désallocation)
- Ajout de la possibilité de construire le SE via une matrice K symétrisée pour construire le SE (demande de calculer KRCsym = (KCRsym)^T = (KRC+KCR^T)/2 (ok en dss / ko en skyline !!!).- ⇒ SEInteraction.setSymmetrizeK(true)
 
- Possibilité de choisir son solver pour la création des SE (DSS par défaut)- ⇒ SEInteraction.setSolver(DSSSolver())
 
- Remontée dans la classe de baseSuperElementde ce qui est commun àGuyanSuperElementetCraigBamptonSuperElement(LinearSolver*, MechanicalMatrices*, symK) et des fonctions d'interface/gestion
- Essai de rendre plus lisible la construction des SE (via usage de références vers les blocs des matrices)
Analyse fréquentielle
- Ajout de la possibilité de faire une analyse fréquentielle via une matrice K symétrisée- ⇒ FreqAnalysis.setSymmetrizeK(true)
 
- FrequencyValueExtractor.setSaveFaFac(True) : gestion de l'écriture du FaFac
- Ajout d'une std::string tscLabel : pour distinguer les tsc d'analyse fréquentielle (extracteur / buildSE)
- FreqAnalysisFac : changement des noms de fichier (pour plus de clarté : step_xxxxxx.faFac.gz pour les extracteurs, SE_no.faFac.gz pour les modes à interfaces fixes des SE)
Divers
- AlphaAbradableMaterial : commentarisation de “std::cout” de debug
- TimeStepManager : Ajout d'une fonctionisEmpty()qui permet de ne plus planter Metafor si on n'a pas défini d'évolution temporelle (setNextTime) d'un modèle dont on veut faire la vizu (ca plantait stupidement à cause du titre de la fenetre de vizu qui nécessite le temps de calcul!!!)
Fichiers ajoutés/supprimés
Added : oo_meta\mtFrequencyAnalysis\src\MechanicalMatricesBase.h/cpp Added : oo_meta\mtSuperElements\src\SEMechanicalMatrices.h/cpp
Tests ajoutés/supprimés
Added : oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000Rpm20ModesSkyLine_1.py /_2.py Added : oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000Rpm20ModesSkyLineSymK_1.py /_2.py Added : oo_meta\mtSuperElement\tests\beamCentrifugeLoad\beam3DEas20000Rpm20ModesSymK_1.py /_2.py
— Luc Papeleux 2016/06/29
commit/2016/06_29b.txt · Last modified:  by boman
                
                