doc:user:elements:superelements:start
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
doc:user:elements:superelements:start [2016/06/29 18:42] – created hennuyer | doc: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, | + | Le système d' |
- | * Création de l' | + | \begin{equation} |
- | * Définition du nb de modes propres à interfaces fixes (Craig-Bampton) -> '' | + | \label{EQ: |
- | * Association du domaine FEM à l' | + | \mathbf{M} \ddot{\mathbf{U}} + \mathbf{K} \mathbf{U} = \mathbf{F} |
- | * Fixation de '' | + | \end{equation} |
- | * Association de toutes les interactions qui définissent le futur SE à l' | + | |
- | < | + | Afin de construire un modèle |
+ | \begin{equation} | ||
+ | \label{EQ: | ||
+ | \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** -> '' | + | Un changement |
- | * Création du fichier | + | |
- | * Sauvegarde des groupes | + | === Méthode de Guyan === |
- | * Création | + | |
- | * Calcul des matrices réduites et sauvegarde du super-élément -> '' | + | La formule du changement |
- | * Mise à jour des flags '' | + | \begin{equation} |
- | * Sauvegarde des valeurs | + | \label{EQ: |
+ | \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 Ψ=−K−1CC KCR, | ||
+ | |||
+ | En introduisant ce changement de base dans le système original, on obtient le système réduit de Guyan : | ||
+ | \begin{equation} | ||
+ | \label{EQ: | ||
+ | \widetilde{\mathbf{M}} \ddot{\mathbf{U}}_R + \widetilde{\mathbf{K}} \mathbf{U}_R = \mathbf{F}_R | ||
+ | \end{equation} | ||
+ | avec : | ||
+ | \begin{equation} | ||
+ | \label{EQ: | ||
+ | \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: | ||
+ | \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: | ||
+ | \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 Ψ la matrice | ||
+ | |||
+ | 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: | ||
+ | \widetilde{\mathbf{M}} \ddot{\mathbf{Q}} + \widetilde{\mathbf{K}} \mathbf{Q} = \widetilde{\mathbf{F}} | ||
+ | \end{equation} | ||
+ | avec : | ||
+ | \begin{equation} | ||
+ | \label{EQ: | ||
+ | \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: | ||
+ | \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> | ||
- | 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) | ||
- | SEInteraction.setSuperElementNodes() | ||
- | SEInteraction.setRetainedNodes(retainedNodesGp) # Détermination des noeuds retenus (flag " | ||
- | SEInteraction.setSymmetrizeK(symmetrizeK) | ||
- | if solver: | ||
- | SEInteraction.setSolver(solver) | ||
- | | ||
- | # Création du fichier superElement< | ||
- | # + Sauvegarde des groupes de la " | ||
- | from abrawal.banc18ER.tools.utilities import * | ||
- | createPyFileAndSaveGroups(self.superElementInteractionNo, | ||
- | | ||
- | | ||
- | # Calcul du super-élément | ||
- | print " | ||
- | SEInteraction.generateElements() | ||
- | print " | ||
- | SEInteraction.computeSuperElement() | ||
- | print " | ||
- | SEInteraction.clearSuperElementNodes() | ||
- | </ |
doc/user/elements/superelements/start.1467218553.txt.gz · Last modified: 2016/06/29 18:42 by hennuyer