Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:08_22

Commit 2017-08-22

Migration VS2015

Migration VisualStudio 2015

Les librairies étant à jour, je migres ma configuration vers le visual studio 2015. Il n'est pas indispensable de migrer vos machines à court terme, les 2 compilateurs restent encore compatibles (mais je vous encourage à migrer rapidement, la compatibilité ne durera pas et sauf demande spécifique, je ne la vérifierais plus!!!).

Installation visual studio

  • ATTENTION : la version à installer est “Visual Studio 2015 Community” (il existe une version express, mais qui n'est pas complète avec laquelle Metafor ne compilera pas). Si vous avez du mal à la trouver sur le site microsoft (j'ai eut du mal), une iso est archivée sur le ftp (/ftp/apps/_dev/Visual Studio Community 2015)
  • Seul le C++ est nécessaire à la compilation Metafor (avec tous les composantes du CPP : notament les mfc)
  • ATTENTION : Durant l'installation il réclame 13GB d'espace libre (libérez de l'espace ou adaptez vos partitions avant de lancer l'installation !!!)

LibsVS2015 :

  • Les librairies nécessaire à la compilation de Metafor ont été recompilées avec le VS2015 (disponible sur le ftp : /ftp/metafor/bin/VS2015_X64)
  • Les dernières versions ont été utilisées (quand possible) :
    • vtk : 7.1.1
    • Qt : 5.9.1
    • Python : 2.7.13 avec
      • numpy : 1.13.1
      • scipy : 0.19.1 (ATTENTION: je n'ai pas réussi à compiler le module “stats”)
      • gnuplot : 1.8
      • pip : 0.9.1
      • pyQt : 5.9.1 (version en développement)
    • cmake :3.9.0
    • gmsh : 3.0.3 (logiciel que je dois enlever et à installer par l'utilisateur)
    • parasolid : 29.1
    • swig : 3.0.12
    • tcl/tk : 8.5.19 (pas osé passer à la version 8.6 vu le risque de conflit avec vtk n'était pas prévue)
    • J'ai supprimé MSMPI (vu qu'on a le mpi intel dans les community)
  • Les libs fonctionnent dans une virtual box (⇒ à priori ca devrait fonctionner chez vous)
  • Je n'ai pas (encore) prévu de “désinstalleur” de la version 2012. A l'exception des variables relatives à MSMPI, les autres variables doivent normalement écraser les précédentes.
  • Il n'est pas possible d'avoir les 2 versions des libs fonctionnelles dans une même configuration, mais il est possible de conserver les 2 versions fonctionnelles sur le même PC en jonglant entre 2 comptes utilisateurs (l'un configuré pour les libs vs2012, l'autre pour les libs vs2015).

Compilation :

  • rien de changé sauf que le fichier de configuration CMake s'appelle dorénavant “win64-vs2015.cmake”
  • Les fichiers CMakeList des répertoires d'interface python (_src) ont été modifiés pour éviter des warnings CMake (SWIG_ADD_MODULE → SWIG_ADD_LIBRARY). Attention, dans oo_meta, oo_nda ET parasolid !!!

Divers

  • MetaFac : naming des fichiers “bfac.gz” sur 9 digits (les tests de fluotournage dépassant le millions de pas de temps).
  • OneParameterRuptureCriterion : Ajout d'un critère sur le fait que l'élément est en traction pour accumuler des valeurs sur les critères de rupture.
    if (getD() == COCKROFT )
    {
        double cStress1 = getPrincipalStress1(GPM, volumElementShcut);
        double j2 = volumElementShcut.getMechMater()->getMatFields(GPM, IF_EVMS);
        if(j2 != 0.0 && cStress1 > 0.0)
            f = cStress1/j2;
    }
    else if (getD() == BROZZO )
    { 
        double cStress1 = getPrincipalStress1(GPM, volumElementShcut);
        double p = volumElementShcut.getMechMater()->getMatFields(GPM, IF_P);
        if ((cStress1-p) != 0.0 && cStress1 > 0.0)
            f = (2.0/3.0) * cStress1/(cStress1-p);
    }
    else if (getD() == AYADA )
    {
        double p = volumElementShcut.getMechMater()->getMatFields(GPM, IF_P);
        double j2 = volumElementShcut.getMechMater()->getMatFields(GPM, IF_EVMS);
        if(j2 != 0.0 && p > 0.0)
            f = p/j2;
    }

Fichiers ajoutés/supprimés

A oo_meta\CMake\win64-vs2015.cmake

Tests ajoutés/supprimés

A      

Luc Papeleux 2017/08/22

commit/2017/08_22.txt · Last modified: 2018/05/04 16:44 by boman