Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2007:08_14

Commit 2007-08-14

Modifs

Algorithmes explicite thermomécanique

  • Création d'un algorithme explicite pseudo-thermomécanique. Pourquoi pseudo? Le problème mécanique est résolu par un schéma explicite traditionnel mais l'équation de la chaleur n'est pas résolue dans son intégralité : L'élévation de température est calculée seulement en tenant compte de la dissipation viscoplastique. On néglige donc la conduction thermique et la dissipation thermo-élastique et on ne sait pas introduire de conditions aux limites thermiques. L'élévation de température est donc calculée au niveau du matériau. Avantage de cette méthode : Ca évite les problèmes de stabilité d'un schéma explicite thermique (dépendant de la taille de maille au carré et non de la taille de maille comme dans le cas explicite mécanique pur).
  • Comment introduire le schéma explicite thermomécanique dans un cas-test?
    • On introduit metafor.setIntegerData(MDE_NDYN, …) (… = 1, 3 ou 6 selon que l'on fait de la différence centrée, de l'explicite Chung-Hulbert ou une Nestorerie)
    • On utilise un matériau de type TmEvpIsoHHypoMaterial avec des éléments de volume thermomécaniques TmVolume2DElement ou TmVolume3DElement.
    • On introduit une sécurité sur le pas de temps : tsm.setExplicitTimeStepSecurity(0.9).
    • On n'introduit pas de schéma étagé! metafor.setIntegerData(MDE_NDYT, …)
  • Pour l'application d'une température initiale non nulle et pour pouvoir visualiser la température, il faut utiliser des éléments de type thermomécanique (TmVolume2DElement ou TmVolume3DElement). Petit inconvénient : seule la température absolue est visible, la différence de température n'est pas visible (mais c'est un moindre mal, je trouve).
  • Effet de bord : il a fallu rajouter une fonction getNumberOfDofsM() dans les éléments pour que le calcul des forces élastiques dans le calcul du pas de temps critique explicite ne calcule que sur la partie mécanique.
  • Que manque-t-il à Metafor pour avoir un schéma explicite thermique? Que le split Thermomécanique soit fait avec des vrais éléments thermiques purs.
  • Ajout de cas-tests pour tester ledit schéma explicite.

Batterie

  • Corrections de apps.imp.taylor3dSimo qui utilisait des données d'un mauvais matériau (cuivre d'un côté, acier de l'autre).
  • Ajout de noms aux extracteurs dans les cas-tests de shell et membrane.
  • Uniformisation des noms d'extracteurs (merci PowerGrep).
  • Correction dans certains extracteurs (on regardait des énergies dissipées ou des potentiels internes sur des sides en 3D dans certaines barres de Taylor!).
  • Création de fonctions pour les barres de Taylor pour bouger tous les copier-coller d'un cas à l'autre.
  • Ajout d'une dépendance du module de Young dans les tests de striction (c'était jamais testé!).
  • Suppression de fonctions d'évolution inutiles dans certains cas-tests (notamment les barres de Taylor).
  • Ajout des cas apps.iso.hopkinsonGeo2, apps.iso.taylor2dImpTm et apps.iso.taylor2dExpTm et modification de apps.iso.tractionGrandeVitesse pour mettre les cas-tests de ma future thèse dans la batterie.
  • Correction dans les tmStriction : utilisation d'éléments avec report de pression (on est en axisymétrique!)

Autres

  • Matrice de raideur analytique pour l'endommagement continu.
  • Définition de InternalField au niveau du matériau thermomec (y'en avait pas!).
  • Uniformisation des messages d'erreur dans les MaterialLaws. Maintenant, chaque fois qu'un paramètre d'une loi matériau manque, on renvoie un FATAL_ERROR et tous ces messages d'erreur contiennent le nom de la loi où il y a une erreur (par exemple LinearIsotropicHardening) et le nom du paramètre manquant (par exemple IH_H)
  • Suppressions des include mtGlobal.h inutiles et ajout des #include mtMachin.h ad hoc (merci PowerGrep).
  • ThermalMaterial : suppression de tests inutiles sur l'existence de paramètres (on renvoie de toute façon un FATAL_ERROR si ils ne sont pas là).
  • TmConvection2DMetaElement.cpp devient TmConvection2DElement.cpp (découvert un peu par hasard!)

Plaisir des yeux

Fichiers ajoutés/supprimés

  apps/iso/hopkinsonJCGeo1.py   Renamed
  apps/iso/hopkinsonJCGeo2.py   Added
  apps/iso/hopkinsonZAGeo1.py   Renamed
  apps/iso/hopkinsonZAGeo2.py   Added
  apps/iso/taylor2dExpTm.py   Added
  apps/iso/taylor2dImpTm.py   Added
  apps/monosMaterials/tmEvpIsoFast2dAxiImp.py   Added
  apps/monosMaterials/tmEvpIsoFast2dAxiExp.py   Added
  apps/monosMaterials/tmEvpIsoFast2dEpeImp.py   Added
  apps/monosMaterials/tmEvpIsoFast2dEpeExp.py   Added
  apps/monosMaterials/tmEvpIsoFast3dImp.py   Added
  apps/monosMaterials/tmEvpIsoFast3dExp.py   Added
  apps/toolbox/taylorBar.py   Added
  apps/toolbox/hopkinson.py   Added
  mtElements/boundaries/Tm2Convection2DElement.cpp  Renamed
  mtFEMBase/Property.cpp/h  Deleted

Pierre-Paul Jeunechamps 2007/08/14 09:45

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