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
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 :
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