Cassiopee Forum
CFD python modules
S'il vous plaît connectez vous ou Enregistrement'.
Date et heure en ce moment : mardi, 12 décembre 2017, 07:46

Nouvelle discussion | Répondre
Cassiopee Forum :: Discussions, suggestions, bug report :: General :: Messages vers output  ::
Sylvain Mouton
Junior Member
Image


Messages: 66
Messages vers output (mercredi, 11 janvier 2012, 08:32) citation  
Je voudrais introduire l'idée d'une révision de la manière dont Cassiopée utilise la sortie standard pour communiquer avec l'utilisateur.
Je réalise un petit couplage qui a besoin d'aller récupérer le champ aérodynamique en quelques points de l'espace. Pour cela, j'utilise extractPoint.
En calcul multiproc, pour chaque point extrait, seul un proc est capable de réaliser l'extraction demandée, ce proc n'étant pas a priori connu. Les autres procs envoient alors vers la sortie standard le message suivant :
Warning: extractPoint: cannot interpolate point.
Avec un calcul sur N procs, et avec M points à extraire, on se retrouve ainsi avec (N-1)*M lignes de Warning par itération de calcul, ce qui densifie inutilement l'output et ne répond pas à l'objectif.
Je préférerais grandement que ce cas lève une exception python, qui sont faites pour cela, libre ensuite à l'utilisateur de la capter pour en faire un message ou quoi que ce soit d'autre. Cette remarque s'étend bien entendu à toutes les fonctions Cassiopée.

Ip enregistré Statut: déconnecté Profil | Site Web 
Ordre des réponses: Première réponse en dernier :: Première réponse en premier
ChristopheBenoit
Administrator
Image


Messages: 169
RE: Messages vers output (mercredi, 11 janvier 2012, 13:34) citation  
Dans Cassiopée, on lève une erreur en cas d'erreur et on écrit sur la sortie std en cas de Warning.
Dans ton cas, tu voudrais que extractPoint lève une erreur
plutot qu'un warning quand on ne peut pas interpoler.
J'ai bien compris?
a+

Ip enregistré Statut: déconnecté Profil | Site Web 
Sylvain Mouton
Junior Member
Image


Messages: 66
RE: Messages vers output (vendredi, 3 février 2012, 08:11) citation  
Salut,
Pas une erreur mais une exception python. De telle sorte que l'utilisateur puisse capter l'exception et décide par lui même de ce qui est le plus adapté dans son cas.
En ce qui me concerne par exemple, je pourrais vérifier que tous les procs lèvent une exception sauf un, correspondant à l'endroit où se trouve le point à extraire. Si c'est bien ça je n'affiche rien, sinon je peux stopper complètement le calcul.
La communication avec l'utilisateur par l'intermédiaire de la sortie standard est finalement peu adaptée pour nos calculs parallèle.
Désolé pour cette réponse un peu tardive, j'ai beaucoup de marmites sur le feu.

Ip enregistré Statut: déconnecté Profil | Site Web 
Nouvelle discussion | Répondre

Software PBLang 4.65 © 2002-2003 by Martin Senftleben
Image