Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:superelements:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
doc:user:elements:superelements:start [2016/06/29 18:42] – created hennuyerdoc:user:elements:superelements:start [2016/06/29 18:49] hennuyer
Line 1: Line 1:
-==== Création du super-élément à vitesse non nulle ==== +====== General Points ======
- +
-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'' à ''False'' -> ''setSuperElemBuiltFlag'' +
-    * 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'' +
- +
-<note>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.</note> +
- +
-    * Détermination des nœuds **Retenus** -> ''setRetainedNodes'' +
-    * 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>.py'' -> ''groupsNodesToSave'' +
-    * Création de l'objet ''Guyan/CraigBamptonSuperElement'' -> ''generateElements()'' +
-    * 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/CraigBamptonSuperElementValueExtractor'' => **Doit ê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 : +
-<code> +
-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) +
-     +
-# Création du fichier superElement<No>.py destiné à être executé à l'étape d'utilisation du SE +
-# + Sauvegarde des groupes de la "groupList" utiles lors de l'utilisation du super-élément, pour l'application de CL par ex. (= groupes de noeuds RETENUS exclusivement!!) +
-        from abrawal.banc18ER.tools.utilities import * +
-        createPyFileAndSaveGroups(self.superElementInteractionNo, self.groupList) +
-         +
-         +
-        # Calcul du super-élément +
-        print "Super-element.generateElements..." +
-        SEInteraction.generateElements()       # génération du super-élément         +
-        print "Super-element.computeSuperElement..." +
-        SEInteraction.computeSuperElement()    # calcul des matrices réduites + sauvegarde du super-élément         +
-        print "Super-element.clearSuperElementNodes..." +
-        SEInteraction.clearSuperElementNodes() +
-</code>+
doc/user/elements/superelements/start.txt · Last modified: 2016/10/18 18:52 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki