Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2014:03_14

Commit 2014-03-14

TolOnFac - GeneralizedMaxwellViscoElast - Divers

Modifs

Nouvelle valeur par default pour TolOnFac

  • tolOnFac est la fraction de la taille du pas de temps de laquelle on peut accroitre celui-ci pour atteindre un point d'archivage proche (et ainsi éviter de faire un pas de temps normal suivi d'un micro-pas de temps pour l'archivage et d'ainsi polluer les solutions de bruits liés a la différence de taille de pas de temps)
  • La valeur par défaut était fixée à 1.0e-5 (donc en fait, on ne profitait pour ainsi dire jamais de cette possibilité!!!)
  • Nouvelle valeur à 0.1 (dans mes cas tests, j'utilise 0.2, mais dans la batterie, on obtenait beaucoup de modifications du nombre de pas, ité, …)
  • Attention : pour tous les cas utilisant le calcul de la taille du pas de temps par estimation de l'erreur d'intégration, une valeur de 1.e-2 (voire 1.e-3) est plus adaptée (ou il faudrait baisser le facteur de confiance)
  • Certains cas tests ayant des modifications de plus de 1 pas de temps par archivage ont été modifié pour retrouver une convergence similaire à celle des batteries antérieures (je n'ai pas revérifier un par un la qualité de la solution de chaque cas test. En cas de soucis, n'hésitez pas à tester avec l'ancienne valeur de TolOnFac)

* Attention, à ce jour, il reste un petit bug quand on fait du restart (on a pas archivé la taille de pas de temps de référence et on peut donc redémarrer avec un pas de temps différent que celui du problème directe)

GeneralizedMaxwellViscoElast

  • Durant le séjour de Claudio, j'ai rapidement programmé un modèle visco-élastique type Maxwell généralisé (système parallèle avec la branche élastique classique et 2 branches maxwell (ressort - amortisseur en série)

  • je me suis basé (+-brutalement) sur les équations du papier “Formulation and implementation of three-dimensional viscoelasticity at small and finite strains” de M.Kaliske & H.Rothert (Computational Mechanics 19 (1997) 228-239
  • il y a un peu de boulot si on voulait faire qqch de propre (avec nombre de branches dynamique, valeurs dans le gpstate …) et si on voulait faire une sortie adaptée des valeurs caractéristiques des branches maxwell …
  • un petit test à 2 temps caractéristiques est ajouté :
    • oo_meta\apps\monosMaterialsmaxwellViscoElast3dTrac.py

(il faut aussi repenser une batterie complète de test sur base de monosMaterials2)

Divers

IQSI = 2

  • Ajout d'une Option pour démarrer Quasi-Statiquement un moteur, puis faire un calcul dynamique, tout en restant dans le système d'axe tournant

Renaming VAC_BACKWARDEULER

  • les noms de l'enum pour le calcul des vitesses et accélérations des ddls fixés a été corrigé (que ca corresponde à des noms connus) et raccourcis (j'ai mal aux doigts)
    • VACOMPUTATION_LINEAR devient VAC_BACKWARDEULER
    • VACOMPUTATION_SCHEMECONSISTANT devient VAC_SCHEMECONSISTANT
  • Doc mise à jour …

Correction d'un bug Quasi-Newton vs Stages

  • le quasi-newton ne forcait pas le recalcul de la matrice de raideur tangente lorsque au passage d'un stage on a (dé)sactivé des éléments
  • la connectivité ayant changé, le pas de temps donnait n'importe quoi, puis à son redémarrage tout rentrait dans l'ordre
  • le moment où le flag ConnectionHasBeenRebuiltFlag est remis à false a été déplacé de skylineUpdate vers la fin de boucle Newton-Raphson de chaque schéma implicite.
  • Le paramètre n'a pas été remis à false dans l'ALE (à priori ok, vu que ca a été fait dans la partie lagrangiene de l'algo ALE)
  • SnecmaRup patissait de ce bug depuis longtemps, mais c'est grace au changement de mkl qu'on a pu débugger le problème

Nettoyage du commit de Marco

  • Marco ne savait pas qu'il fallait supprimer/déplacer/renomer les fichiers via des commandes svn, les cas tests qu'il a déplacé vers apps.mechanism sont revenus en double dans leurs répertoires initiaux
  • J'ai donc nettoyé le chmilblick (en espérant avoir récupéré l'historique)

Batterie.py

  • J'ai ajouté une colonne à battery diff (différence absolue) et commentarisé le fait qu'on ne générait des diffs uniquement si leur différence relative était plus grande que 0.1 sans quoi j'avais du mal à voir l'implication de la modif TolOnFac (on ne peut pas faire l'autruche en décidant de ne pas voir certaines diffs. Si des diffs vous posent problème, adaptez/corrigez/… les cas tests !!!)

Fichiers ajoutés/supprimés

 
A : oo_meta\mtMaterials\volumes\GeneralizedMaxwellViscoElastHypoGpState.cpp
A : oo_meta\mtMaterials\volumes\GeneralizedMaxwellViscoElastHypoGpState.h
A : oo_meta\mtMaterials\volumes\GeneralizedMaxwellViscoElastHypoMaterial.cpp
A : oo_meta\mtMaterials\volumes\GeneralizedMaxwellViscoElastHypoMaterial.h
R :

Tests ajoutés/supprimés

A : oo_meta\apps\imp\aube3DFixIQSI2.py
A : oo_meta\apps\monosMaterials\maxwellViscoElast3dTrac.py
R : 

Nettoyages tests Marco

D : oo_meta\apps\bQs\amor3d.dat  
D : oo_meta\apps\bQs\amor3dLinear.py  
D : oo_meta\apps\bQs\amor3dNonLinear.py  
D : oo_meta\apps\bQs\spring2d1.dat  
D : oo_meta\apps\bQs\spring2d1.py  
D : oo_meta\apps\bQs\spring2d2.dat  
D : oo_meta\apps\bQs\spring2d2.py  
D : oo_meta\apps\bQs\spring2d3.py  
D : oo_meta\apps\bQs\spring3d1.dat  
D : oo_meta\apps\bQs\spring3d1.py  
D : oo_meta\apps\bQs\spring3d2.dat  
D : oo_meta\apps\bQs\spring3d2.py  
D : oo_meta\apps\bQs\spring3d3.py  
D : oo_meta\apps\bQs\spring3dRup.dat  
D : oo_meta\apps\bQs\spring3dRup.py  
D : oo_meta\apps\imp\massSpring2d.py  
D : oo_meta\apps\imp\massSpring3d.py  
D : oo_meta\apps\imp\massSpring3d1.py  
D : oo_meta\apps\imp\massSpring3d2.py  
D : oo_meta\apps\imp\massSpring3d2NewmarkVAConsistant.py  
D : oo_meta\apps\imp\massSpring3dConsConstant.py  
D : oo_meta\apps\imp\massSpring3dConsNonLinear.py  
D : oo_meta\apps\imp\massSpring3dDiss.py  
D : oo_meta\apps\imp\massSpring3dRotation.py  
D : oo_meta\apps\imp\massSpring3dRotationRupture.py 
D : oo_meta\apps\qs\spring2DCli0.py  
D : oo_meta\apps\qs\spring2DCli1Li02.py  
D : oo_meta\apps\qs\spring2DCli2Li02.py  
D : oo_meta\apps\qs\spring2DCli3Li02.py  
D : oo_meta\apps\qs\spring2DNlCli0.py  
D : oo_meta\apps\qs\spring2DNlCli1Li02.py  
D : oo_meta\apps\qs\spring2DNlCli2Li02.py  
D : oo_meta\apps\qs\spring2DNlCli3Li02.py  
D : oo_meta\apps\qs\spring3DCli0.py  
D : oo_meta\apps\qs\spring3DCli1Li02.py  
D : oo_meta\apps\qs\spring3DCli2Li02.py  
D : oo_meta\apps\qs\spring3DCli3Li02.py  
D : oo_meta\apps\qs\spring3DNlCli0.py  
D : oo_meta\apps\qs\spring3DNlCli1Li02.py  
D : oo_meta\apps\qs\spring3DNlCli2Li02.py  
D : oo_meta\apps\qs\spring3DNlCli3Li02.py  

Luc Papeleux 2014/03/14

commit/2014/03_14.txt · Last modified: 2016/03/30 15:23 (external edit)