===== Commit - LPx - 31 Janvier 2018 ===== Parallélisation materiaux TM : utilisation de généralisée de GK.getK() et GK.getG() + Divers ===== Parallélisation materiaux TM : travail sur les GKState ===== * Pour paralléliser les matériaux thermomec, il est nécessaire d'utiliser les paramètres matériaux calculés à la température du point d'intégration. C'est le cas en série, pas encore en parallèle. * Comme étape préliminaire, j'ai regardé les appels aux variables G et K du matériau pour me rendre compte * qu'il y en avait beaucoup * qu'il y en avait dans le calcul de la matrice de raideur tangente or on n'update pas les paramètres matériaux en fonction de la température avant le calcul de la matrice de raideur => toutes les matrices de raideurs thermomécanique étaient fausses !!! * on stoquait dans GK.GTilde soit le G élastique, le G élastoplastique (G*beta), le G endommagé (G*(1-damage)),... => j'ai remplacé GTilde par G dans tous les matériaux et recalculé les paramètres de raideur en fonction du matériau * idem au niveau de K * enfin, suite à ca, j'ai pu généraliser l'usage de GK.getG() et GK.getK() dans tous les calculs de raideur, mais aussi de chaleur générée (thermoélastique ou thermoplastique),... * Pour toujours pouvoir effectuer une analyse fréquentielle ou générer des super-éléments, l'initialisation des GKState a été ajoutée aux fonctions ''Material::initialise'' * Les méthodes d'intégration des matériaux ont été adaptées à l'initialisation des GKStates ===== Matériaux composites ===== * il y avait un bug de dérivation de ''OrthoHypoGpkState'' qui dérivait de ''CauchyMechanicalGpkState'' au lieu de ''HypoGpkState'', alors que dans une routine de calcul du matériau, il était casté en ''HypoGpkState'' => problèmes d'accès mémoire quand la matrice de rotation incrémentale était calculée * pour se conformer au naming en cours, le matériau ''OrthoElastHypoMaterial'' a été renommé ''ElastOrthoHypoMaterial'' (les tests ont été adaptés) * ===== CMake - MetaforSetup : ===== * Ajout des CMakeLists.txt dans oo_nda/fluotournage et oo_nda/hpc4we (installation) * Adaptation des fichiers oo_meta/CMakeLists.txt, oo_meta/CMake/disable-all-nda.cmake * Mise à jour de oo_meta/CMake/centos6.cmake (virtualBox centos6 pour générer la version Linux pour GDTech) * Adaptation de MetaforSetup pour les ndas fluotournage & hpc4we ===== Divers : ===== * Correction d'un bug dans le calcul des boundingBoxes des ''CubicSpline'' et ajout de 2 tests de contact sur surface ''Coons'' supportées par des ''CubicSpline'' (apps/parallel) * suppression d'info de debug d'initialisation des threads (mtMath) * correction du test apps.biomec.longBone.boneRepairWithRod : la sélection des groupes entre os de gauche et de droite ne se faisait pas au bon endroit * interface Samcef : * Ajout de la variable d'environnement ''SAM_USE_RLM=0'' option non supportée par samcef 17 (pour les cas où cohabiterait une version samcef 17 pour Metafor et samcef 18 pour NX). * La version samcef 18 ne nécessite pas cette option ===== Fichiers ajoutés/supprimés : ===== A : oo_nda/fluotournage/CMakeLists.txt A : oo_nda/hpc4we/CMakeLists.txt M : oo_meta\mtComposites\src\materials\OrthoElastHypoMaterial.h/cpp => ElastOrthoHypoMaterial.h/cpp ===== Tests ajoutés/supprimés ===== Added : oo_meta/apps/parallel/contactCoonsSpline.py Added : oo_meta/apps/parallel/contactCoonsSplinePress.py Deleted : Moved : --- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2018/01/31 //