Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2014:02_10

Differences

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

Link to this comparison view

Next revision
Previous revision
commit:2014:02_10 [2014/02/11 11:42] – created papeleuxcommit:2014:02_10 [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 5: Line 5:
 Suppression de oo_nda/tpi Suppression de oo_nda/tpi
  
-===== VA DDL's Fixés ======+===== Vitesse & Accélérations DDL's Fixés ======
 === Calcul des forces centrifuges et gravité dans FInert === === Calcul des forces centrifuges et gravité dans FInert ===
   * dans le cadre des aubes tournantes, cherchant à comprendre la différence de comportement vibratoire entre un modèle aube tournante et un modèle où les forces centrifuges sont ajoutées à un modèle dont l'aube est fixe, une piste était liée au schéma de Chung & Hulbert (à travers la pondération pas de temps 0 / pas de temps 1 des forces inertielles (via alpha_m) & extérieures  (via alpha_f).   * dans le cadre des aubes tournantes, cherchant à comprendre la différence de comportement vibratoire entre un modèle aube tournante et un modèle où les forces centrifuges sont ajoutées à un modèle dont l'aube est fixe, une piste était liée au schéma de Chung & Hulbert (à travers la pondération pas de temps 0 / pas de temps 1 des forces inertielles (via alpha_m) & extérieures  (via alpha_f).
-  * une propriété booléenne des éléments (propelem)  ''INERTIAINFEXT'' a été ajoutée telle que par défaut, les forces de gravité et centrifuge soient ajoutées dans le vecteur FExt (INERTIAINFEXT = true) et que l'on puisse les ajouter dans FInert (INERTIAINFEXT = false)+  * une propriété booléenne des éléments (propelem)  ''INERTIAINFEXT'' a été ajoutée telle que par défaut, les forces de gravité et centrifuge soient ajoutées dans le vecteur FExt  et que l'on puisse les ajouter dans FInert :  
 +    * FGrav/FCentrifuge dans FExt (defaut): prp.put(INERTIAINFEXT,True)  
 +    * FGrav/FCentrifuge dans Finert : prp.put(INERTIAINFEXT,False
   * tests :    * tests : 
       * apps/imp/aube3dFix1 : INERTIAINFEXT = true       * apps/imp/aube3dFix1 : INERTIAINFEXT = true
Line 17: Line 19:
  
 === Calcul des Vitesses et accélérations des ddls fixés === === Calcul des Vitesses et accélérations des ddls fixés ===
-  * Lors de ces implémentations, j'ai repéré que les vitesses et accélérations des degrés de libertés fixés sont calculés non pas en utilisant les formules du schéma (voir thèse JPP pg VIII.25 : formules VIII.4.13 VIII.4.14 VIII.4.15), mais bien par un Euler arrière (pour des raisons de stabilité dans le cadre d'un schéma de Newmark :Thèse JPP pg VIII.28 et suivantes, formules VIII.5.8)+  * Lors de l'implémentations de "INERTIAINFEXT ", j'ai repéré que les vitesses et accélérations des degrés de libertés fixés sont calculés non pas en utilisant les formules du schéma (voir thèse JPP pg VIII.13 : formules VIII.3.VIII.3.4), mais bien par un Euler arrière (pour des raisons de stabilité dans le cadre d'un schéma de Newmark :Thèse JPP pg VIII.28 et suivantes, formules VIII.5.8)
   * Cette formulation permet d'éviter des oscillations sur des calculs fait via Newmark (cad jamais avec Metafor), mais entraîne les erreurs le bruit important à chaque division de pas de temps : ci dessous les contraintes et forces d'une "aube" en rotation avec variation (imposée/importante) du pas de temps en 0.014sec (+ variations du pas de temps lié à des accidents de convergence)   * Cette formulation permet d'éviter des oscillations sur des calculs fait via Newmark (cad jamais avec Metafor), mais entraîne les erreurs le bruit important à chaque division de pas de temps : ci dessous les contraintes et forces d'une "aube" en rotation avec variation (imposée/importante) du pas de temps en 0.014sec (+ variations du pas de temps lié à des accidents de convergence)
  
Line 30: Line 32:
     * mim.setConstrainedDofsVAComputationMethod(VACOMPUTATION_SCHEMECONSISTANT) (default)     * mim.setConstrainedDofsVAComputationMethod(VACOMPUTATION_SCHEMECONSISTANT) (default)
     * mim.setConstrainedDofsVAComputationMethod(VACOMPUTATION_LINEAR)     * mim.setConstrainedDofsVAComputationMethod(VACOMPUTATION_LINEAR)
 +
 +  * Une tentative de définir les vitesses & accélérations des ddl's fixes via la fonction d'évolution exacte (vu qu'elle est connue) a été tentée, mais n'est pas aboutie à ce jour (et pose certaines questions ...)
  
 === Tests === === Tests ===
Line 42: Line 46:
   * l'objectif était de mettre un espace de développement à disposition de Arnaud Collet   * l'objectif était de mettre un espace de développement à disposition de Arnaud Collet
   * vu qu'il n'a finalement pas développé sa thèse dans Metafor, le module n'a plus de raison d'être ...   * vu qu'il n'a finalement pas développé sa thèse dans Metafor, le module n'a plus de raison d'être ...
-  * +  * Il est donc supprimé du répository (n'oubliez pas de refaire completement votre CMake!!!) 
 +  * suppression de tpi dans la batterie 
 + 
 ==== Divers ==== ==== Divers ====
 +  * ''KevinVoigtViscoElastHypoMaterial''
 +    * Correction du modèle lorsque dt = 0.0 (mise en rotation QS)
 +  * ''PythonOneParameterFunction::computeDerivation (double abs)'':
 +    * Implémentation d'une fonction générique de calcul de dérivation numérique d'une ''PythonOneParameterFunction'' (toujours lui préférer une implémentation exacte de la dérivée. L'appel à cette fonction affichera d'ailleurs un gros WARNING recurrent ...)
   * stats.py :   * stats.py :
-    * Correction du serveur svn +    * Correction du serveur svn & des courbes gnuplot 
-    * +  * ''Forces.setToZero();'': 
 +    * Alors que la fonction ''element::fillVector'' commence par redimensionner & remettre à zero les vecteurs qu'elle va remplir, toutes les fonctions ''fillInternalForces'', ''fillInertialForces'', ''fillExternalForces'', ''fillDiagonalMass'', ''fillDissipationForces'' commencaient par remettre le vecteur à zero (au cas ou le passage aurait changé les zeros en quelque chose d'autre 
 +    * => supprimé tous les setToZero des ''fill...Forces'' 
 + 
 +  * #include <mkl_scalapack.h> => #include <mkl_lapack.h> 
 +    * Il restait des appels à scalapack.h (implémentation mpi de lapack qui n'existe pas nécessairement sur toutes les plateformes) alors qu'on n'utilise que la partie smp
 ===== Fichiers ajoutés/supprimés ===== ===== Fichiers ajoutés/supprimés =====
 <code>  <code> 
-oo_meta\mtElements\boundaries\ShearContactValueExtractor.h/cpp +A  
-A oo_meta\mtElements\boundaries\PressureContactValueExtractor.h/cpp +R oo_nda/tpi/*
-A oo_meta\mtMaterials\volumesKevinVoigtViscoElastHypoGpState.h/cpp +
-A oo_meta\mtMaterials\volumesKevinVoigtViscoElastHypoMaterial.h/cpp +
-+
 </code> </code>
  
Line 60: Line 73:
  
 <code>  <code> 
-A oo_meta/apps/monosMaterials2/KevinVoigtViscoElast.py+A oo_meta\apps\bIe\aube2_VACONSISTANT.py  text/plain 
 +A oo_meta\apps\imp\aube2DFix1CarterRigidArcRot.py  text/plain 
 +A oo_meta\apps\imp\aube2DFix2CarterRigidArcRot.py  text/plain 
 +A oo_meta\apps\imp\aube3DFix1.py  text/plain 
 +A oo_meta\apps\imp\aube3DFix2.py  text/plain 
 +A oo_meta\apps\imp\aube3DFix2Num.py  text/plain 
 +A oo_meta\apps\imp\aube3DRotVAConsistant.py  text/plain 
 +A oo_meta\apps\imp\aube3DRotVALinear.py  text/plain 
 +A oo_meta\apps\imp\massSpring3d2NewmarkVAConsistant.py  text/plain
 R   R  
 </code>  </code> 
- --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2013/11/22 //+ --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2014/02/10 //
commit/2014/02_10.1392115337.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki