Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:superelements:creation

Super-element creation

La création proprement dite du SE, dans l'état précontraint, se décompose en plusieurs étapes :

  • Création de l'interaction Guyan/CraigBamptonSuperElementInteraction n°<no>, qui ne sera pas ajoutée à l'interactionSet du domain.
  • Définition du nb de modes propres à interfaces fixes (Craig-Bampton) → setNumberOfEigenValues
  • Association du domaine FEM à l'interaction créée → setDomain.
  • Fixation de superElemBuiltFlag à FalsesetSuperElemBuiltFlag
  • Association de toutes les interactions qui définissent le futur SE à l'interaction Guyan/CraigBamptonSuperElementInteraction. Le but est de calculer correctement les différents blocs des matrices k et m du modèle FEM, sur lesquelles le calcul des matrices réduites K et M est basé → addInteraction puis setSuperElementNodes
Les matrices k et m du modèle FEM, à partir desquelles les matrices réduites vont être construites, prennent en compte le raidissement centrifuge du à la mise en rotation préalable du modèle FEM.
  • Détermination des nœuds RetenussetRetainedNodes
  • Création du fichier de sauvegarde superElement<no>.py qui sera exécuté lors de l'importation du super-élément → createPyFileForSuperElemUse
    ⇒ Le n°<no> est le UserNo de l'interaction “super-élément” qui sera créée au moment de l'utilisation du SE ; à chaque n°<no> correspond 1 super-élément.
  • Sauvegarde des groupes de noeuds RETENUS dans le fichier superElement<no>.pygroupsNodesToSave
  • Création de l'objet Guyan/CraigBamptonSuperElementgenerateElements()
  • Calcul des matrices réduites et sauvegarde du super-élément → computeSuperElement()
  • Mise à jour des flags belongingToSuperElem à false dans le cas où un autre super-élément est construit dans le même calcul → clearSuperElementNodes()
  • Sauvegarde des valeurs des modes statiques de liaison et des modes propres à interfaces fixes (Craig-Bampton) des DDLs Condensés dans le fichier superElement<no>.py → lancée via la construction des Guyan/CraigBamptonSuperElementValueExtractorDoit être fait après computeSuperElement() car le super-élément créé doit avoir été ajouté à l'elementSet de l'interaction.

Exemple dans le cas Craig-Bampton :

SEInteraction = CraigBamptonSuperElementInteraction(1) # Création de la SuperElementInteraction\\
SEInteraction.setDomain(domain)\\
SEInteraction.setNumberOfEigenValues(self.nbOfNormalModes)\\
SEInteraction.setSuperElemBuiltFlag(False) # False = Création du SE + sauvegarde\\
for inter in interactionsList:\\
    SEInteraction.addInteraction(inter)    # Ajout des interactions associées au futur SE\\
SEInteraction.setSuperElementNodes()       # Identification de tous les noeuds associés aux interactions ajoutées via addInteraction (flag "belongingToSuperElem")\\
SEInteraction.setRetainedNodes(retainedNodesGp) # Détermination des noeuds retenus (flag "belongingToSuperElem" = true / "fixed" = true)\\
SEInteraction.setSymmetrizeK(symmetrizeK)\\
if solver:\\
    SEInteraction.setSolver(solver)\\
createPyFileAndSaveGroups(1, groupList)\\
        
SEInteraction.generateElements()       # génération du super-élément\\
SEInteraction.computeSuperElement()    # calcul des matrices réduites + sauvegarde du super-élément\\
SEInteraction.clearSuperElementNodes()\\
doc/user/elements/superelements/creation.txt · Last modified: 2016/06/29 18:48 by hennuyer