Implémentation d'une nouvelle structure pour les super-éléments. Maintenant, la phase de création est complètement découplée de la phase d'utilisation du super-élément (SE).
Avant, ces deux étapes étaient réalisées dans un même calcul Metafor. Cela nous permettra, notamment, de pouvoir construire des super-éléments à vitesse variable.
Le jeu de données, dans lequel le super-élément est créé, est écrit sous la forme d'un fichier execfile.
Metafor, l'un étant associé au domaine FEM (interaction FieldApplicator), l'autre au domaine SE (interaction GuyanSuperElementInteraction ou CraigBamptonSuperElementInteraction selon le type choisi).FieldApplicator associé au futur super-élément.Guyan/CraigBamptonSuperElementInteraction.superElemBuiltFlag à False.FieldApplicator à la Guyan/CraigBamptonSuperElementInteraction afin de construire les matrices k et m du modèle FEM sur lesquelles le calcul des matrices réduites K et M est basé.Guyan/CraigBamptonSuperElementValueExtractor associés, à partir desquels on lance la sauvegarde des valeurs des modes statiques de liaison (et des modes propres dans le cas Craig-Bampton) au(x) DDL(s) considéré(s).Le super-élément ainsi construit est sauvegardé dans le sous-dossier <currentWorkDirectory>/Creation au travers des fichiers de sortie suivants :
Le jeu de données, dans lequel on utilise le super-élément, est écrit sous la forme d'un fichier load()-meta().
SuperElementImporter (dans le même esprit que BaconImporter) :mesh.define(UserNo, CELL_SE_VOLUME, SEVolume, vecSuperElementPoints)
où SEVolume correspond au volume géométrique sur lequel va reposer la cellule élémentaire, et vecSuperElementPoints correspond au vecteur des points topologiques de la cellule i.e. les noeuds retenus.
Guyan/CraigBamptonSuperElementInteraction (le type d'interaction est récupéré à partir du jeu de données de création du super-élément ⇒ à modifier si l'on veut utiliser un super-élément créé par un autre code que Metafor…)superElemBuiltFlag à True.SEVolume (resp. la side géométrique SESide), créé(e) lors de l'importation du super-élément, à l'interaction.DbNodalValueExtractor, et l'extraction de données en un noeud Condensé se fait via un Guyan/CraigBamptonSuperElementValueExtractorUse, les valeurs des modes étant stockées dans les fichiers modesValues_Group_<No>_<Nature>_<Variant>.txt.CELL_SE_SIDE (2D), CELL_SE_VOLUME (3D)SESIDE_ID (2D), SEVOLUME_ID (3D)SuperElemSideBuilder (2D) défini uniquement par un PointSet et une Side (pas de Curve, pas de Wire, etc.),SuperElemVolumeBuilder (3D) défini uniquement par un PointSet et un Volume (pas de Curve, pas de Wire, pas de Side, etc.)GuyanSuperElementValueExtractorUse et CraigBamptonSuperElementValueExtractorUseoperator« et operator» dans les classes Matrix et Vector pour la sauvegarde (resp. le chargement) des matrices réduites et des modes statiques de liaison dans une archive via OutArchive (resp. à partir d'une archive InArchive)battery.py afin que tous les cas-tests des modules mtSuperElement.tests et abrawal.banc18ER.battery puissent fonctionner (fichiers execfile).writeTSC() dans SuperElement relative à l'étape de création du super-élément (temps de construction du SE, nb de noeuds, nb de ddls).SuperElementInteraction pourra contenir plusieurs super-éléments (par ex. pour les ValueExtractor : calcul de la valeur du déplacement Ux d'un noeud condensé interne appartenant à un seul super-élément).
defoCentrCBSESRIPR, defoCentrGSESRIPR, Beam2DTri, et Beam3DTetra.freqAnalysis, et en particulier à celle de mechanicalMatrices, et des matrices de type StrMatrixBase qui la définissent (utilisation de getClone() ou pas ?).FrequencyAnalysisMethod, GuyanSuperElement, et SolverManager car la classe LinearSolver dérive de RefCounted.defoCentrCBSESRIPR et defoCentrGBSESRIPR entre l'ancienne et la nouvelle structure est observée ⇒ à vérifier.banc18ER.py, bladeCasingCheck.py, et bladeCentrifugeLoad.py ont été conservés dans un premier temps ⇒ la migration de tous les cas-tests abrawal vers la nouvelle structure (pas seulement ceux de la batterie) n'est pas terminée.banc18ER_1.py, bladeCasingCheck_1.py, et bladeCentrifugeLoad_1.py vont être mergés par la suite.bladeCentrifugeLoadBSECraig entre l'ancienne et la nouvelle structure est observée ⇒ à vérifier.Added: oo_meta\mtSuperElement\src\GuyanSuperElementValueExtractorUse.h Added: oo_meta\mtSuperElement\src\GuyanSuperElementValueExtractorUse.cpp Added: oo_meta\mtSuperElement\src\CraigBamptonSuperElementValueExtractorUse.h Added: oo_meta\mtSuperElement\src\CraigBamptonSuperElementValueExtractorUse.cpp Added: oo_meta\mtGeo\mtGeoSuperElemSideBuilder.h Added: oo_meta\mtGeo\mtGeoSuperElemSideBuilder.cpp Added: oo_meta\mtGeo\mtGeoSuperElemVolumeBuilder.h Added: oo_meta\mtGeo\mtGeoSuperElemVolumeBuilder.cpp Added: oo_meta\mtGeo\mtGeoSESide.h Added: oo_meta\mtGeo\mtGeoSESide.cpp Added: oo_meta\mtGeo\mtGeoSEVolume.h Added: oo_meta\mtGeo\mtGeoSEVolume.cpp
Deleted : mtSuperElement\tests\Beam2D.py Deleted : mtSuperElement\tests\Beam2DComp.py Deleted : mtSuperElement\tests\Beam2DCompFX.py Deleted : mtSuperElement\tests\Beam2DCompFY.py Deleted : mtSuperElement\tests\Beam2DCompTX.py Deleted : mtSuperElement\tests\Beam2DCompTX_FX.py Deleted : mtSuperElement\tests\Beam2DCompTX_FY.py Deleted : mtSuperElement\tests\Beam2DCompTY.py Deleted : mtSuperElement\tests\Beam2DCompTY_FX.py Deleted : mtSuperElement\tests\Beam2DCompTY_FY.py Deleted : mtSuperElement\tests\Beam2DCompX.py Deleted : mtSuperElement\tests\Beam2DFrequencyAnalysis.py Deleted : mtSuperElement\tests\Beam2DFrequencyAnalysisFree.py Deleted : mtSuperElement\tests\Beam2DTri.py Deleted : mtSuperElement\tests\Beam2DGuyanDynamic.py Deleted : mtSuperElement\tests\Beam2DGuyanStatic.py Deleted : mtSuperElement\tests\Beam3D.py Deleted : mtSuperElement\tests\Beam3DComp.py Deleted : mtSuperElement\tests\Beam3DCompFX.py Deleted : mtSuperElement\tests\Beam3DCompFY.py Deleted : mtSuperElement\tests\Beam3DCompFYAmp.py Deleted : mtSuperElement\tests\Beam3DCompTX.py Deleted : mtSuperElement\tests\Beam3DCompTX_FY.py Deleted : mtSuperElement\tests\Beam3DCompTY.py Deleted : mtSuperElement\tests\Beam3DCompTY_FX.py Deleted : mtSuperElement\tests\Beam3DCompX.py Deleted : mtSuperElement\tests\Beam3DFrequencyAnalysis.py Deleted : mtSuperElement\tests\Beam3DFrequencyAnalysisFree.py Deleted : mtSuperElement\tests\Beam3DTetra.py Deleted : mtSuperElement\tests\defoCentrCBSESRIPR.py Deleted : mtSuperElement\tests\defoCentrGSESRIPR.py --------------------------------------------------------------------- Deleted : abrawal\banc18ER\battery\bladeCasingEngagementFSEGuyan.py Deleted : abrawal\banc18ER\battery\bladeCentrifugeLoadBSECraig.py Deleted : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSECraig.py Deleted : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSEGuyan.py Deleted : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\coarseMeshEasBSECraig.py Deleted : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSECraig.py Deleted : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSEGuyan.py Deleted : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSECraig.py Deleted : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSEGuyan.py Deleted : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSECraig.py Deleted : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSEGuyan.py
Added : mtSuperElement\tests\Beam2D_1.py Added : mtSuperElement\tests\Beam2D_2.py Added : mtSuperElement\tests\Beam2DComp_1.py Added : mtSuperElement\tests\Beam2DComp_2.py Added : mtSuperElement\tests\Beam2DCompFX_1.py Added : mtSuperElement\tests\Beam2DCompFX_2.py Added : mtSuperElement\tests\Beam2DCompFY_1.py Added : mtSuperElement\tests\Beam2DCompFY_2.py Added : mtSuperElement\tests\Beam2DCompTX_1.py Added : mtSuperElement\tests\Beam2DCompTX_2.py Added : mtSuperElement\tests\Beam2DCompTX_FX_1.py Added : mtSuperElement\tests\Beam2DCompTX_FX_2.py Added : mtSuperElement\tests\Beam2DCompTX_FY_1.py Added : mtSuperElement\tests\Beam2DCompTX_FY_2.py Added : mtSuperElement\tests\Beam2DCompTY_1.py Added : mtSuperElement\tests\Beam2DCompTY_2.py Added : mtSuperElement\tests\Beam2DCompTY_FX_1.py Added : mtSuperElement\tests\Beam2DCompTY_FX_2.py Added : mtSuperElement\tests\Beam2DCompTY_FY_1.py Added : mtSuperElement\tests\Beam2DCompTY_FY_2.py Added : mtSuperElement\tests\Beam2DCompX_1.py Added : mtSuperElement\tests\Beam2DCompX_2.py Added : mtSuperElement\tests\Beam2DFrequencyAnalysis_1.py Added : mtSuperElement\tests\Beam2DFrequencyAnalysis_2.py Added : mtSuperElement\tests\Beam2DFrequencyAnalysisFree_1.py Added : mtSuperElement\tests\Beam2DFrequencyAnalysisFree_2.py Added : mtSuperElement\tests\Beam2DTri_1.py Added : mtSuperElement\tests\Beam2DTri_2.py Added : mtSuperElement\tests\Beam2DGuyan_1.py Added : mtSuperElement\tests\Beam2DGuyan_2.py Added : mtSuperElement\tests\Beam2DGuyanStatic_1.py Added : mtSuperElement\tests\Beam2DGuyanStatic_2.py Added : mtSuperElement\tests\Beam3D_1.py Added : mtSuperElement\tests\Beam3D_2.py Added : mtSuperElement\tests\Beam3DComp_1.py Added : mtSuperElement\tests\Beam3DComp_2.py Added : mtSuperElement\tests\Beam3DCompFX_1.py Added : mtSuperElement\tests\Beam3DCompFX_2.py Added : mtSuperElement\tests\Beam3DCompFY_1.py Added : mtSuperElement\tests\Beam3DCompFY_2.py Added : mtSuperElement\tests\Beam3DCompFYAmp_1.py Added : mtSuperElement\tests\Beam3DCompFYAmp_2.py Added : mtSuperElement\tests\Beam3DCompTX_1.py Added : mtSuperElement\tests\Beam3DCompTX_2.py Added : mtSuperElement\tests\Beam3DCompTX_FY_1.py Added : mtSuperElement\tests\Beam3DCompTX_FY_2.py Added : mtSuperElement\tests\Beam3DCompTY_1.py Added : mtSuperElement\tests\Beam3DCompTY_2.py Added : mtSuperElement\tests\Beam3DCompTY_FX_1.py Added : mtSuperElement\tests\Beam3DCompTY_FX_2.py Added : mtSuperElement\tests\Beam3DCompX_1.py Added : mtSuperElement\tests\Beam3DCompX_2.py Added : mtSuperElement\tests\Beam3DFrequencyAnalysis_1.py Added : mtSuperElement\tests\Beam3DFrequencyAnalysis_2.py Added : mtSuperElement\tests\Beam3DFrequencyAnalysisFree_1.py Added : mtSuperElement\tests\Beam3DFrequencyAnalysisFree_2.py Added : mtSuperElement\tests\Beam3DTetra_1.py Added : mtSuperElement\tests\Beam3DTetra_2.py Added : mtSuperElement\tests\defoCentrCBSESRIPR_1.py Added : mtSuperElement\tests\defoCentrCBSESRIPR_2.py Added : mtSuperElement\tests\defoCentrGSESRIPR_1.py Added : mtSuperElement\tests\defoCentrGSESRIPR_2.py Added : mtSuperElement\tests\tools\superElementNew.py Added : mtSuperElement\tests\tools\loadings.py Added : mtSuperElement\tests\tools\Beam.py --------------------------------------------------------------------- Added : abrawal\banc18ER\battery\bladeCasingEngagementFSEGuyan_1.py Added : abrawal\banc18ER\battery\bladeCasingEngagementFSEGuyan_2.py Added : abrawal\banc18ER\battery\bladeCentrifugeLoadBSECraig_1.py Added : abrawal\banc18ER\battery\bladeCentrifugeLoadBSECraig_2.py Added : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSECraig_1.py Added : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSECraig_2.py Added : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSEGuyan_1.py Added : abrawal\banc18ER\bladeCasingEngagement\refRefAnalysis\refBAm01FSEGuyan_2.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\coarseMeshEasBSECraig_1.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\coarseMeshEasBSECraig_2.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSECraig_1.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSECraig_2.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSEGuyan_1.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshEasFSEGuyan_2.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSECraig_1.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSECraig_2.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSEGuyan_1.py Added : abrawal\banc18ER\bladeCentrifugeLoad\RefBlade\refMeshSriFSEGuyan_2.py Added : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSECraig_1.py Added : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSECraig_2.py Added : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSEGuyan_1.py Added : abrawal\banc18ER\casingRotAnalysis\RefBlade\Ref2600EasVE5P300Mu035FSEGuyan_2.py Added : abrawal\banc18ER\tools\banc18ER_1.py Added : abrawal\banc18ER\tools\banc18ER_2.py Added : abrawal\banc18ER\tools\bladeCasingCheck_1.py Added : abrawal\banc18ER\tools\bladeCasingCheck_2.py Added : abrawal\banc18ER\tools\bladeCentrifugeLoad_1.py Added : abrawal\banc18ER\tools\bladeCentrifugeLoad_2.py Added : abrawal\banc18ER\tools\superElementNew.py
— Claire Hennuyer 2016/04/07