===== 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
{{:commit:2015:externalprogrampathgui.png?300|}} {{:commit:2015:externalprogrampath.png?350|}}
* 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é [[http://www.scilab.org/|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''
* [[http://www.scilab.org/|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 :
--- //[[L.Papeleux@ulg.ac.be|Luc Papeleux]] 2015/09/02 //