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 CraigBamptonSuperElementValueExtractorUse
operator«
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