Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2016:06_29

Commit 2016-06-29

Calcul de la déformation centrifuge des super-éléments : première ébauche.

Déformation centrifuge

Ajout d'une nouvelle fonction fillCentrifugalForces() dans la classe SuperElement :

  • Récupération des déplacements des futurs noeuds retenus du futur super-élément au moment de la création du super-élément, i.e. après mise en rotation centrifuge quasi-statique à la vitesse cible $\Omega$.
  • Puis, calcul des forces centrifuges équivalentes à ces déplacements via l'équation suivante :

\begin{equation} \widetilde{\mathbf{K}}_{RR} \ \mathbf{U}_R = \mathbf{F}_R \end{equation}

Cette fonction est appelée dans la fonction saveMeshAndForces() (ancienne fonction saveRetainedNodes qui a été renommée) dans laquelle :

  • les noeuds retenus (userNo, position), et
  • les forces centrifuges en chacun de ces noeuds,

sont sauvegardés dans le fichier superElement<No>.py, via l'écriture de la fonction python applyCentrifugeLoads().

Les forces ainsi calculées et sauvegardées seront alors appliquées aux noeuds retenus du super-élément lors de son utilisation en appelant la fonction applyCentrifugeLoads(fctLoad) afin d'obtenir la bonne déformation centrifuge. Les forces centrifuges sont appliquées via les commandes suivantes, exemple dans le cas 3D ici :

loadingSet.define(tpSet(UserNo + index), Field1D(TX,GF1), FX, fctLoad, TOTAL_LOAD)
loadingSet.define(tpSet(UserNo + index), Field1D(TY,GF1), FY, fctLoad, TOTAL_LOAD)
loadingSet.define(tpSet(UserNo + index), Field1D(TZ,GF1), FZ, fctLoad, TOTAL_LOAD)

tpSet correspond au mesh.getPointSet(), UserNo est le numéro du noeud retenu courant, Field1D(TX,GF1) correspond aux forces externes, (FX,FY,FZ) correspond aux composantes du vecteur force, et fctLoad est une PieceWiseLinearFunction() qui sera définie dans le jeu de donnée d'utilisation du super-élément (typiquement, elle est définie comme valant 0 à $t = t_0$ et 1 à $t = t_{final}$).

Attention, ceci est une première ébauche, au sens où cette manière de faire n'est valable que dans le cas d'un super-élément sans modèle FEM attaché à celui-ci. Dans ce cas, il faudra appliquer les forces calculées précédemment et retirer la part des forces centrifuges appliquées par le modèle FEM sur le super-élément. Ceci est du au fait que la mise en rotation centrifuge de la partie FEM sera réalisée comme avant au travers de l'initialBalancing et des propriétés OMEGA.

Pas de changement pour la sauvegarde des matrices réduites du super-élément qui est faite à la fin de la fonction execute(). Seul le nom du fichier de sauvegarde a été modifié : SE_<No>.gz au lieu de step_SE_<No>.gz.

Cas-test

Modification du cas-test bladeCentrifugeLoadBSE_2.py, de la batterie, qui teste la nouvelle fonctionnalité mais qui avait été mis provisoirement en FAILED lors du Commit 2016-06-13.

Maintenant, dans ce cas-test, on calcule la déformation centrifuge du super-élément pâle construit dans bladeCentrifugeLoadBSE_1.py; le raidissement centrifuge étant quant à lui déjà pris en compte dans les matrices réduites du super-élément.

Le cas-test bladeCasingEngagementFSE_2.py, est quant à lui toujours mis en FAILED, car les forces centrifuges des noeuds à l'intersection entre le modèle FEM (pâle) et le modèle super-élément (pied) doivent être prises en compte.

Fichiers pour cas-tests ajoutés

Added: oo_nda\abrawal\banc18ER\battery\tools\bladeCentrifugeLoadUseSE.py

Claire Hennuyer 2016/06/29

commit/2016/06_29.txt · Last modified: 2018/05/04 20:51 by 46.229.168.69