===== 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 //