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

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:elements:superelements:start [2016/06/29 18:44] hennuyerdoc:user:elements:superelements:start [2016/10/18 18:52] (current) papeleux
Line 1: Line 1:
-==== Création du super-élément à vitesse non nulle ====+====== Theory ====== 
 +==== Méthodes de réduction de modèles : rappels théoriques ====
  
-La création proprement dite du SE, dans l'état précontraint, se décompose en plusieurs étapes +Le système d'équations associé au modèle EF que l'on souhaite condenser est le suivant 
-    * Création de l'interaction ''Guyan/CraigBamptonSuperElementInteraction'' n°<no>, qui ne sera pas ajoutée à l'interactionSet du domain. +\begin{equation} 
-    * Définition du nb de modes propres à interfaces fixes (Craig-Bampton) -> ''setNumberOfEigenValues'' +\label{EQ:eq_mvt} 
-    * Association du domaine FEM à l'interaction créée -> ''setDomain''. + \mathbf{M} \ddot{\mathbf{U}} + \mathbf{K} \mathbf{U} = \mathbf{F} 
-    * Fixation de ''superElemBuiltFlag'' à ''False'' -> ''setSuperElemBuiltFlag'' +\end{equation}
-    * 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>+Afin de construire un modèle réduitl'ensemble des DDLs du modèle FEM sont décomposés en des __DDLs Retenus__ et des __DDLs Condensés__Le système d'équation précédent s'écrit donc : 
 +\begin{equation} 
 + \label{EQ:eq_mvt_repartition} 
 + \left(\begin{array}{cc} 
 + \mathbf{M}_{RR} & \mathbf{M}_{RC} \\ 
 + \mathbf{M}_{CR} & \mathbf{M}_{CC} 
 + \end{array}\right) 
 + \left(\begin{array}{c} 
 + \ddot{\mathbf{U}}_R \\ 
 + \ddot{\mathbf{U}}_C 
 + \end{array}\right) 
 +
 + \left(\begin{array}{cc} 
 + \mathbf{K}_{RR} & \mathbf{K}_{RC} \\ 
 + \mathbf{K}_{CR} & \mathbf{K}_{CC} 
 + \end{array}\right) 
 + \left(\begin{array}{c} 
 + \mathbf{U}_R \\ 
 + \mathbf{U}_C 
 + \end{array}\right) 
 +
 + \left(\begin{array}{c} 
 + \mathbf{F}_R \\ 
 + \mathbf{0}_C 
 + \end{array}\right)  
 +\end{equation}
  
-    * Détermination des nœuds **Retenus** -> ''setRetainedNodes'' +Un changement de base est ensuite réalisé afin de réduire la taille du système initial. Deux méthodes de réduction de modèle peuvent être formulées en fonction du changement de base effectué : la méthode de Guyan et celle de Craig-Bampton
-    * 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'' +=== Méthode de Guyan === 
-    * Création de l'objet ''Guyan/CraigBamptonSuperElement'' -> ''generateElements()'' + 
-    * Calcul des matrices réduites et sauvegarde du super-élément -> ''computeSuperElement()'' +La formule du changement de base dans le cas de la méthode de Guyan est la suivante : 
-    * Mise à jour des flags ''belongingToSuperElem'' à ''false'' dans le cas où un autre super-élément est construit dans le même calcul -> ''clearSuperElementNodes()'' +\begin{equation} 
-    * 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.+ \label{EQ:eq_chgt_base_Guyan} 
 + \mathbf{U} 
 +
 + \left(\begin{array}{c} 
 + \mathbf{U}_R \\ 
 + \mathbf{U}_C 
 + \end{array}\right
 +
 + \left(\begin{array}{cc} 
 + \mathbf{I} \\ 
 + \Psi 
 + \end{array}\right
 + \mathbf{U}_R 
 + = \boldsymbol{\alpha} \ \mathbf{U}_R  
 +\end{equation} 
 +avec $\Psi = -\mathbf{K}_{CC}^{-1} \ \mathbf{K}_{CR}$, la matrice dont chaque colonne correspond à un mode statique de liaison. 
 + 
 +En introduisant ce changement de base dans le système original, on obtient le système réduit de Guyan : 
 +\begin{equation} 
 + \label{EQ:eq_mvt_reduit_Guyan} 
 + \widetilde{\mathbf{M}} \ddot{\mathbf{U}}_R + \widetilde{\mathbf{K}} \mathbf{U}_R = \mathbf{F}_R 
 +\end{equation} 
 +avec : 
 +\begin{equation} 
 +    \label{EQ:M_reduite_Guyan} 
 + \widetilde{\mathbf{M}} = \boldsymbol{\alpha}^t \ \mathbf{M} \ \boldsymbol{\alpha} = \mathbf{M}_{RR} + \Psi^t \ \mathbf{M}_{CR} + \mathbf{M}_{RC} \ \Psi + \Psi^t \ \mathbf{M}_{CC} \ \Psi 
 +\end{equation} 
 +\begin{equation} 
 +    \label{EQ:K_reduite_Guyan} 
 + \widetilde{\mathbf{K}} = \boldsymbol{\alpha}^t \ \mathbf{K} \ \boldsymbol{\alpha} = \mathbf{K}_{RR} + \mathbf{K}_{RC} \ \Psi 
 +\end{equation} 
 + 
 +=== Méthode de Craig-Bampton === 
 + 
 +La formule de changement de base dans le cas de la méthode de Craig-Bampton est la suivante : 
 +\begin{equation} 
 + \label{EQ:eq_chgt_base_CB} 
 + \mathbf{U} 
 +
 + \left(\begin{array}{c} 
 + \mathbf{U}_R \\ 
 + \mathbf{U}_C 
 + \end{array}\right
 +
 + \left(\begin{array}{cc} 
 + \mathbf{I} & \mathbf{0} \\ 
 + \Psi & \Phi 
 + \end{array}\right) 
 + \left(\begin{array}{c} 
 + \mathbf{Q}_R \\ 
 + \mathbf{Q}_N 
 + \end{array}\right) 
 + = \boldsymbol{\alpha} \ \mathbf{Q}  
 +\end{equation} 
 +avec $\Psi$ la matrice des modes statiques de liaison définie plus haut, et $\Phi$ la matrice dont chaque colonne correspond à un mode propre à interfaces fixes
 + 
 +En introduisant ce changement de base dans le système original, on obtient le système réduit de Craig-Bampton 
 +\begin{equation} 
 + \label{EQ:eq_mvt_reduit} 
 + \widetilde{\mathbf{M}} \ddot{\mathbf{Q}} + \widetilde{\mathbf{K}} \mathbf{Q} = \widetilde{\mathbf{F}} 
 +\end{equation} 
 +avec : 
 +\begin{equation} 
 + \label{EQ:M_reduite_CB_a} 
 + \widetilde{\mathbf{M}} 
 + = \boldsymbol{\alpha}^t \ \mathbf{M} \ \boldsymbol{\alpha} 
 +
 + \left(\begin{array}{cc} 
 + \widetilde{\mathbf{M}}_{RR} & \widetilde{\mathbf{M}}_{RN} \\ 
 + \widetilde{\mathbf{M}}_{NR} & \widetilde{\mathbf{M}}_{NN} 
 + \end{array}\right) 
 +        \ \text{avec} \  
 + \left\{\begin{array}{l} 
 + \widetilde{\mathbf{M}}_{RR} = \mathbf{M}_{RR} + \Psi^t \ \mathbf{M}_{CR} + \mathbf{M}_{RC} \ \Psi + \Psi^t \ \mathbf{M}_{CC} \ \Psi \\ 
 + \widetilde{\mathbf{M}}_{RN} = \widetilde{\mathbf{M}}^t_{NR} = \mathbf{M}_{RC} \ \Phi + \Psi^t \ \mathbf{M}_{CC} \ \Phi\\ 
 + \widetilde{\mathbf{M}}_{NN} = \Phi^t \ \mathbf{M}_{CC} \ \Phi 
 + \end{array}\right. 
 +\end{equation} 
 + 
 +\begin{equation} 
 + \label{EQ:K_reduite_CB_a} 
 + \widetilde{\mathbf{K}} 
 + \boldsymbol{\alpha}^t \ \mathbf{K} \ \boldsymbol{\alpha} 
 +
 + \left(\begin{array}{cc} 
 + \widetilde{\mathbf{K}}_{RR} & \widetilde{\mathbf{K}}_{RN} \\ 
 + \mathbf{0} & \widetilde{\mathbf{K}}_{NN} 
 + \end{array}\right) 
 + \ \text{avec} \  
 + \left\{\begin{array}{l
 + \widetilde{\mathbf{K}}_{RR} = \mathbf{K}_{RR} + \mathbf{K}_{RC} \ \Psi\\ 
 + \widetilde{\mathbf{K}}_{RN} = \mathbf{K}_{RC} \ \Phi + \Psi^t \ \mathbf{K}_{CC} \ \Phi \rightarrow \text{Terme non nul !!}\\ 
 + \widetilde{\mathbf{K}}_{NN} = \Phi^t \ \mathbf{K}_{CC} \ \Phi 
 + \end{array}\right. 
 +\end{equation} 
 + 
 +<note important>La théorie étant basée sur l'hypothèse que $\mathbf{K}$ est symétrique, le terme $\widetilde{\mathbf{K}}_{RN}$ était nulDans Metafor, la matrice $\mathbf{K}$ n'est pas symétrique par défaut, pour plusieurs raisons, et donc $\widetilde{\mathbf{K}}_{RN} \neq 0$ !!</note>
  
-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)\\ 
-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()\\ 
-</code> 
doc/user/elements/superelements/start.1467218644.txt.gz · Last modified: 2016/06/29 18:44 by hennuyer

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki