====== 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 --- //[[ppjeunechamps@ulg.ac.be|Pierre-Paul Jeunechamps]] 2007/08/14 09:45//