Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2015:09_02

Commit 2015-09-02

Accès unifié aux programmes extérieurs (samcef, gmsh, matlab, scilab, …)

mtStart : nouveau répository

svn+ssh://$USER@clifton.ltas.ulg.ac.be/home/metafor/SVN/mtStart/trunk

externalProgramPath

  • Pourquoi :
    • L'accès aux programmes extérieurs à Metafor nécessitait d'ajouter leur répertoire dans le path de chaque utilisateur (avec le risque de conflit genre Metafor qui charge la dll Qt de matlab ou de miktex, …)
    • Il est difficile de jongler avec différentes versions de ces programmes pour les tester (voire de conserver une vielle version d'un programme pour un usage particulier tout en étant à jour)
    • Il ne nous est pas permis de distribuer les programmes qui peuvent être utilisés en complément à Metafor (samcef, matlab, gmsh, …) et on ne peut donc pas contrôler leur installation
    • Expliquer aux étudiants la notion de gestion de son path peut être sans fin
  • Comment :
    • Après réflexion et discussion avec Romain, j'ai décidé de créer une classe python externalProgramPath à travers laquelle on accède au chemin d'accès à tous les programmes installés.
    • Le défaut étant le programme seul (si votre compte est configuré tel que ces programmes soient dans le path, il n'y a donc rien à faire)
    • Une interface (shell ou graphique) permet de configurer facilement tous ces répertoires et la configuration est sauvegardée dans le fichier “metaforExtProgs.cfg” de votre home directory

  • Use :
    • Operateur [] : renvoie la string complète pour lancer le programme
    • checkValidity : teste l'existence du programme dans le chemin défini
    • exemple : gmsh
        import externalProgramPath
        progs = externalProgramPath.ExtProgs()
        if not progs.checkValidity('GMSH'): # teste l'existence du programme
            sys.exit()        
        #cmd = 'gmsh -3 -order %d' % (self.order)
        cmd = '"%s" -3 -order %d' % (progs['GMSH'], self.order)
  • Sauf cas particulier, il est intéressant d'utiliser
  • des interfaces unifiées vers les programmes extérieurs (via modules de toolbox)
Tous les accès aux programmes extérieurs ont été modifiés en conséquence. 
Il reste un certain nombre d'appel à Matlab qui ne passent pas par l'interface unifiée de toolbox.
à corriger ... (et prière de ne pas en rajouter)

mtStart

  • Pour gérer tout ca : les outils de gestion des options de launch/launchGui ont été réutilisés et nettoyés dans 2 modules génériques :
    • prmClasses : contenant les outils de gestions de paramètres
    • prmClassesGui : contenant les outils pour utiliser les paramètres dans une interface PyQt
  • Ces utilitaires ont été regroupés dans un nouveau répository nommé mtStart dont il faut désormais aussi faire le check-out pour développer Metafor (comp.py doit encore être adapté)
  • Lors de la compilation ils sont copiés à coté de Metafor.exe
  • Ces applications sont aussi accèssibles dans les versions installées
  • Dans le futur, la réorganisation de Metafor entrainera la sortie de plusieurs autres modules (mtGlobal, gen4, …) hors de oo_meta

Asco - Scilab

  • Ajout d'un répertoire oo_nda/Asco pour reprendre les tests de redressage de barre de Baptiste pour Asco
  • Le répertoire Doc doit encore être compléter
  • Le post-traitement ayant été développé via scilab, j'ai aussi installé Scilab 5.5.2 sur les stations et chez moi. Vous devez l'installer le sur votre machine et configurer son accès via le externalProgramPath
  • Scilab est une option intéressante gratuite de remplacement de Matlab (pensez-y pour vos projet)
  • J'ai trouvé le moyen de générer automatiquement les figures même sans les afficher
  • Baptiste avait trouvé le moyen de faire des interfaces graphiques de génération de courbes (faut encore que je regarde)
  • Le test de dressage est un peu long (18 min - on vient d'une 10aine d'heure minimum sur le cluster pour avoir des résultats qui ont du sens…), mais je n'ai pas réussi à le réduire encore plus en allant au bout de la procédure (post-traitement y compris)
  • Les tests génèrent les figures de post et un fichier latex (qu'il reste à compiler) pour générer un rapport automatique de simulation (si vous avez à faire une analyse paramétrique d'un procédé…)

Divers

Fichiers ajoutés/supprimés

Added : oo_meta\toolbox\latex.py
Added : oo_meta\toolbox\matlab.py
Added : oo_meta\toolbox\scilab.py
Added : oo_nda/asco/*
Renamed : 
Deleted :

Tests ajoutés/supprimés

Added : oo_nda/asco/Doc
Added : oo_nda/asco/Tests/flexionBat.py 
Added : oo_nda/asco/Tests/monoTrac3dKrup.py
Added : oo_nda/asco/Tests/rotationBat.py
Added : oo_nda/asco/Tools/redressage.py
Added : oo_nda/asco/Tools/flexionSimple.py
Renamed : 
Deleted : 

Luc Papeleux 2015/09/02

commit/2015/09_02.txt · Last modified: 2016/03/30 15:23 (external edit)