From: eficas <> Date: Mon, 12 Dec 2005 09:03:25 +0000 (+0000) Subject: PN Version 8.2 d'Aster X-Git-Tag: CC_param_poursuite~38 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c639b4a3321415123dd5dc1b3b508c2adac225b1;p=modules%2Feficas.git PN Version 8.2 d'Aster --- diff --git a/Aster/Cata/cataSTA81/Macro/calc_table_ops.py b/Aster/Cata/cataSTA81/Macro/calc_table_ops.py index f50617ed..0360d14f 100644 --- a/Aster/Cata/cataSTA81/Macro/calc_table_ops.py +++ b/Aster/Cata/cataSTA81/Macro/calc_table_ops.py @@ -1,4 +1,4 @@ -#@ MODIF calc_table_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND +#@ MODIF calc_table_ops Macro DATE 14/11/2005 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -20,126 +20,122 @@ # RESPONSABLE MCOURTOI M.COURTOIS from types import * -import aster -EnumTypes=(ListType, TupleType) +EnumTypes = (ListType, TupleType) -def calc_table_ops(self,TABLE,FILTRE,EXTR,RENOMME,TRI,COMB,OPER,INFO,**args): +def calc_table_ops(self, TABLE, FILTRE, EXTR, RENOMME, TRI, COMB, OPER, + INFO, **args): """ Macro CALC_TABLE permettant de faire des opérations sur une table """ - macro='CALC_TABLE' + import aster + + macro = 'CALC_TABLE' from Accas import _F - from Cata.cata import table_jeveux from Utilitai.Utmess import UTMESS from Utilitai import transpose from Utilitai.Table import Table, merge - ier=0 + ier = 0 # La macro compte pour 1 dans la numerotation des commandes self.set_icmd(1) - # Le concept sortant (de type table_sdaster) est tab - self.DeclareOut('tabout',self.sd) + # Le concept sortant (de type table_sdaster ou dérivé) est tab + self.DeclareOut('tabout', self.sd) # On importe les definitions des commandes a utiliser dans la macro # Le nom de la variable doit etre obligatoirement le nom de la commande CREA_TABLE = self.get_cmd('CREA_TABLE') DETRUIRE = self.get_cmd('DETRUIRE') - tab=TABLE.EXTR_TABLE() + tab = TABLE.EXTR_TABLE() #---------------------------------------------- # 1. Traitement du FILTRE - Filtre=[] + Filtre = [] # format pour l'impression des filtres - form_filtre='\nFILTRE -> NOM_PARA: %-16s CRIT_COMP: %-4s VALE: %s' - if FILTRE<>None: + form_filtre = '\nFILTRE -> NOM_PARA: %-16s CRIT_COMP: %-4s VALE: %s' + if FILTRE != None: for Fi in FILTRE: dF = Fi.cree_dict_valeurs(Fi.mc_liste) for mc in dF.keys(): - if dF[mc]==None: del dF[mc] + if dF[mc] == None: + del dF[mc] Filtre.append(dF) for Fi in Filtre: col = getattr(tab, Fi['NOM_PARA']) # peu importe le type - opts=[Fi[k] for k in ('VALE','VALE_I','VALE_C','VALE_K') if Fi.has_key(k)] - kargs={} + opts = [Fi[k] for k in ('VALE','VALE_I','VALE_C','VALE_K') if Fi.has_key(k)] + kargs = {} for k in ('CRITERE','PRECISION'): if Fi.has_key(k): - kargs[k]=Fi[k] + kargs[k] = Fi[k] tab = tab & ( getattr(col, Fi['CRIT_COMP'])(*opts,**kargs) ) # trace l'operation dans le titre #if FORMAT in ('TABLEAU','ASTER'): - tab.titr+=form_filtre % (Fi['NOM_PARA'], Fi['CRIT_COMP'], \ + tab.titr += form_filtre % (Fi['NOM_PARA'], Fi['CRIT_COMP'], \ ' '.join([str(v) for v in opts])) #---------------------------------------------- # 2. Traitement de EXTR - if EXTR<>None: - lpar=EXTR['NOM_PARA'] + if EXTR != None: + lpar = EXTR['NOM_PARA'] if not type(lpar) in EnumTypes: - lpar=[lpar] + lpar = [lpar] for p in lpar: if not p in tab.para: UTMESS('F', macro, 'Paramètre %s inexistant dans la table %s' % (p, TABLE.nom)) - tab=tab[EXTR['NOM_PARA']] + tab = tab[EXTR['NOM_PARA']] #---------------------------------------------- # 3. Traitement de RENOMME - if RENOMME<>None: + if RENOMME != None: for MCFi in RENOMME: - pold, pnew = MCFi['NOM_PARA'] - if not pold in tab.para: - UTMESS('F', macro, 'Paramètre %s inexistant dans la table %s' % (pold, TABLE.nom)) - elif tab.para.count(pnew)>0: - UTMESS('F', macro, 'Le paramètre %s existe déjà dans la table %s' % (pnew, TABLE.nom)) - else: - tab.para[tab.para.index(pold)]=pnew - for lig in tab: - lig[pnew]=lig[pold] - del lig[pold] + try: + tab.Renomme(*MCFi['NOM_PARA']) + except KeyError, msg: + UTMESS('F', macro, msg) #---------------------------------------------- # 4. Traitement du TRI - if TRI<>None: + if TRI != None: tab.sort(CLES=TRI['NOM_PARA'], ORDRE=TRI['ORDRE']) #---------------------------------------------- # 5. Traitement de COMB - if COMB<>None: - tab2=COMB['TABLE'].EXTR_TABLE() - opts=[tab, tab2] + if COMB != None: + tab2 = COMB['TABLE'].EXTR_TABLE() + opts = [tab, tab2] if COMB['NOM_PARA']<>None: - lpar=COMB['NOM_PARA'] + lpar = COMB['NOM_PARA'] if not type(lpar) in EnumTypes: - lpar=[lpar] + lpar = [lpar] for p in lpar: if not p in tab.para: UTMESS('F', macro, 'Paramètre %s inexistant dans la table %s' % (p, TABLE.nom)) if not p in tab2.para: UTMESS('F', macro, 'Paramètre %s inexistant dans la table %s' % (p, COMB['TABLE'].nom)) opts.append(lpar) - tab=merge(*opts) + tab = merge(*opts) #---------------------------------------------- # 6. Traitement de OPER - if OPER<>None: + if OPER != None: for MCFi in OPER: if MCFi['NOM_PARA'] in tab.para : UTMESS('F', macro, 'Le paramètre %s existe déjà dans la table %s' % (MCFi['NOM_PARA'], TABLE.nom)) - func=MCFi['FORMULE'] - tabpar=[] + func = MCFi['FORMULE'] + tabpar = [] for para in func.nompar : if para not in tab.para : UTMESS('F', macro, 'Le paramètre de la formule %s est inexistant dans la table %s' % (para, TABLE.nom)) - i=tab.para.index(para) - if tab.type[i]<>'R' : - UTMESS('F', macro, 'Le paramètre %s doit etre réel dans la table %s' % (para, TABLE.nom)) - vals=getattr(tab,para).values() +# i = tab.para.index(para) +# if tab.type[i] != 'R' : +# UTMESS('F', macro, 'Le paramètre %s doit etre réel dans la table %s' % (para, TABLE.nom)) + vals = getattr(tab,para).values() tabpar.append(vals) - tabpar=transpose.transpose(tabpar) - vectval=[] + tabpar = transpose.transpose(tabpar) + vectval = [] for lpar in tabpar: # si un paramètre est absent, on ne peut pas évaluer la formule if None in lpar: @@ -147,30 +143,35 @@ def calc_table_ops(self,TABLE,FILTRE,EXTR,RENOMME,TRI,COMB,OPER,INFO,**args): else: vectval.append(func(*lpar)) # ajout de la colonne dans la table - if INFO==2: + if INFO == 2: aster.affiche('MESSAGE', 'Ajout de la colonne %s : %s' % (MCFi['NOM_PARA']+repr(vectval))+'\n') - tab[MCFi['NOM_PARA']]=vectval + tab[MCFi['NOM_PARA']] = vectval #---------------------------------------------- # 99. Création de la table_sdaster résultat # cas réentrant : il faut détruire l'ancienne table_sdaster - if self.sd.nom==TABLE.nom: - DETRUIRE(CONCEPT=_F(NOM=TABLE.nom,),) + if self.sd.nom == TABLE.nom: + DETRUIRE(CONCEPT=_F(NOM=TABLE.nom,), INFO=1) - dprod=tab.dict_CREA_TABLE() - if INFO==2: - echo_mess=[] + dprod = tab.dict_CREA_TABLE() + if INFO == 2: + echo_mess = [] echo_mess.append( '@-'*30+'\n' ) echo_mess.append( tab ) from pprint import pformat echo_mess.append( pformat(dprod) ) echo_mess.append( '@-'*30+'\n' ) - texte_final=string.join(echo_mess) - aster.affiche('MESSAGE',texte_final) + texte_final = ' '.join(echo_mess) + aster.affiche('MESSAGE', texte_final) # surcharge par le titre fourni - if args['TITRE']<>None: - dprod['TITRE']=tuple(['%-80s' % lig for lig in args['TITRE']]) - tabout=CREA_TABLE(**dprod) + tit = args['TITRE'] + if tit != None: + if not type(tit) in EnumTypes: + tit = [tit] + dprod['TITRE'] = tuple(['%-80s' % lig for lig in tit]) + # type de la table de sortie à passer à CREA_TABLE + dprod['TYPE_TABLE'] = self.sd.__class__.__name__.upper() + tabout = CREA_TABLE(**dprod) return ier diff --git a/Aster/Cata/cataSTA81/Macro/fiabilite_mefisto.py b/Aster/Cata/cataSTA81/Macro/fiabilite_mefisto.py index 3f820843..b74d7e54 100644 --- a/Aster/Cata/cataSTA81/Macro/fiabilite_mefisto.py +++ b/Aster/Cata/cataSTA81/Macro/fiabilite_mefisto.py @@ -1,4 +1,4 @@ -#@ MODIF fiabilite_mefisto Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF fiabilite_mefisto Macro DATE 04/10/2005 AUTEUR REZETTE C.REZETTE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -47,6 +47,8 @@ def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, from Macro import fiabilite_fichier import os import string + import Numeric + from Utilitai.Utmess import UTMESS # #____________________________________________________________________ # @@ -232,11 +234,22 @@ def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, f_stoch.Ecrit_Valeurs ( aux ) # f_stoch.Ecrit_Titre ("Correlation matrix fictive") - for m in range(nb_occu_variable) : - aux = [ ] - for n in range(nb_occu_variable) : - aux.append(args["MATRICE"][n + m*nb_occu_variable]) - f_stoch.Ecrit_Valeurs ( aux ) +# if args.has_key('MATRICE'): + if args["MATRICE"] != None: + if len(args["MATRICE"]) != nb_occu_variable**2: + UTMESS('F','FIABILITE_MEPHISTO',' LE NOMBRE D ELEMENTS' + +' DU MOT CLE MATRICE DOIT ETRE EGAL A : ' + +str(nb_occu_variable**2)) + for m in range(nb_occu_variable) : + aux = [ ] + for n in range(nb_occu_variable) : + aux.append(args["MATRICE"][n + m*nb_occu_variable]) + f_stoch.Ecrit_Valeurs ( aux ) + else: + aux=Numeric.identity(nb_occu_variable) + aux=Numeric.concatenate(aux) + aux=aux.tolist() + f_stoch.Ecrit_Valeurs ( aux ) # f_stoch.Ecrit_Titre ("Parameter threshold value") if SEUIL_TYPE == "MAXIMUM" : diff --git a/Aster/Cata/cataSTA81/Macro/impr_table_ops.py b/Aster/Cata/cataSTA81/Macro/impr_table_ops.py index 60a19b2b..49aacd3e 100644 --- a/Aster/Cata/cataSTA81/Macro/impr_table_ops.py +++ b/Aster/Cata/cataSTA81/Macro/impr_table_ops.py @@ -1,4 +1,4 @@ -#@ MODIF impr_table_ops Macro DATE 19/09/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF impr_table_ops Macro DATE 21/11/2005 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== diff --git a/Aster/Cata/cataSTA81/Macro/macr_cabri_calc_ops.py b/Aster/Cata/cataSTA81/Macro/macr_cabri_calc_ops.py index a829425f..da2fa29f 100644 --- a/Aster/Cata/cataSTA81/Macro/macr_cabri_calc_ops.py +++ b/Aster/Cata/cataSTA81/Macro/macr_cabri_calc_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_cabri_calc_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macr_cabri_calc_ops Macro DATE 07/10/2005 AUTEUR CIBHHPD L.SALMONA # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,7 +22,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, - CHAR_MECA,RESU_THER, + CHAR_MECA,RESU_THER,RESO_INTE, AFFE_MATERIAU,DEFI_CHAR_THER,DEFI_CHAR_MECA,RELATION,SOLVEUR,CONVERGENCE,NEWTON, INCREMENT,CHAM_MATER,**args): """ @@ -40,7 +40,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, # On met certains mots-clefs dans des variables locales pour les proteger affemateriau = AFFE_MATERIAU mail = MAILLAGE - + resointe = RESO_INTE # On importe les definitions des commandes a utiliser dans la macro # Le nom de la variable doit etre obligatoirement le nom de la commande @@ -511,7 +511,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, _F(CHARGE=cl_me11,), ), SOLVEUR = solveur, - COMP_INCR =_F(RELATION=relation,), + COMP_INCR =_F(RELATION=relation,RESO_INTE=resointe), NEWTON = newton, INCREMENT = increment, CONVERGENCE = convergence, @@ -532,7 +532,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, _F(CHARGE=cl_me11,), ), SOLVEUR = solveur, - COMP_ELAS =_F(RELATION=relation,), + COMP_ELAS =_F(RELATION=relation,RESO_INTE=resointe), NEWTON = newton, INCREMENT = increment, CONVERGENCE = convergence, diff --git a/Aster/Cata/cataSTA81/Macro/macr_recal_ops.py b/Aster/Cata/cataSTA81/Macro/macr_recal_ops.py index 325320a1..40e793af 100644 --- a/Aster/Cata/cataSTA81/Macro/macr_recal_ops.py +++ b/Aster/Cata/cataSTA81/Macro/macr_recal_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_recal_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND +#@ MODIF macr_recal_ops Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,32 +22,39 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, ITER_MAXI, RESI_GLOB_RELA,UNITE_RESU,PARA_DIFF_FINI, - GRAPHIQUE, **args ): + GRAPHIQUE, INFO, **args ): """Macro commande réalisant le recalage de modèles Aster""", # Initialisation du compteur d'erreurs ier=0 - # On essaie d'importer Numeric -> ERREUR FATALE - from Utilitai.Utmess import UTMESS - try: - import Numeric - except ImportError: - UTMESS('F', "MACR_RECAL", "Le module Numeric de Python n'a pu etre chargé") - # On essaie d'importer Gnuplot -> PAS DE GRAPHIQUE - try: - import Gnuplot - gnuplot=1 - except ImportError: - gnuplot=0 - import string - import copy - import types + + import string, copy, types, Numeric import Macro from Cata import cata from Cata.cata import DEFI_LIST_REEL - from Macro.recal import gestion,transforme_list_Num,calcul_F,graphique + from Macro.recal import gestion,transforme_list_Num,calcul_F from Macro import reca_message from Macro import reca_algo from Macro import reca_interp + from Macro import reca_graphique + + try: + from Utilitai.Utmess import UTMESS + except ImportError: + def UTMESS(code,sprg,texte): + fmt='\n <%s> <%s> %s\n\n' + print fmt % (code,sprg,texte) + + # Test du mot-clé GRAPHIQUE + if GRAPHIQUE: + dGRAPHIQUE=GRAPHIQUE[0].cree_dict_valeurs(GRAPHIQUE[0].mc_liste) + if dGRAPHIQUE.has_key('FORMAT') and dGRAPHIQUE['FORMAT'] == 'GNUPLOT': + # On essaie d'importer Gnuplot -> PAS DE GRAPHIQUE + try: + import Gnuplot + except ImportError: + GRAPHIQUE == None + UTMESS('A','MACR_RECAL',"Le logiciel Gnuplot ou le module python Gnuplot.py n'est pas disponible. On desactive l'affichage des courbes.") + # La macro compte pour 1 dans l'execution des commandes self.set_icmd(1) @@ -127,16 +134,19 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, A = Dim.adim_sensi(A) residu = reca_algo.test_convergence(gradient_init,erreur,A,s) Mess.affiche_result_iter(iter,J,val,residu,Act,UNITE_RESU) - if (gnuplot): - if (GRAPHIQUE): + + # Affichage des courbes + if GRAPHIQUE: GRAPHE_UL_OUT=GRAPHIQUE['UNITE'] interactif=(GRAPHIQUE['INTERACTIF']=='OUI') - graphique(L_F,RESU_EXP,RESU_CALC,iter,GRAPHE_UL_OUT,interactif) + reca_graphique.graphique(GRAPHIQUE['FORMAT'],L_F,RESU_EXP,RESU_CALC,iter,GRAPHE_UL_OUT,interactif) + # On teste un manque de temps CPU restant,temps_iter,err=reca_algo.temps_CPU(self,restant,temps_iter) if (err==1): ier=ier+1 return ier + #_____________________________________________ # # FIN DES ITERATIONS diff --git a/Aster/Cata/cataSTA81/Macro/reca_graphique.py b/Aster/Cata/cataSTA81/Macro/reca_graphique.py new file mode 100644 index 00000000..bab1d8c2 --- /dev/null +++ b/Aster/Cata/cataSTA81/Macro/reca_graphique.py @@ -0,0 +1,92 @@ +#@ MODIF reca_graphique Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +import string, copy, Numeric, types +import Cata +from Cata.cata import DEFI_FICHIER, IMPR_FONCTION +from Utilitai.Utmess import UTMESS +from Accas import _F + +try: + import Gnuplot +except: + pass + + +#_____________________________________________ +# +# IMPRESSIONS GRAPHIQUES +#_____________________________________________ + +def graphique(FORMAT, L_F, res_exp, reponses, iter, UL_out, interactif): + + if FORMAT=='XMGRACE': + for i in range(len(L_F)): + _tmp = [] + courbe1 = res_exp[i] + _tmp.append( { 'ABSCISSE': courbe1[:,0].tolist(), 'ORDONNEE': courbe1[:,1].tolist(), 'COULEUR': 1 } ) + courbe2 = L_F[i] + _tmp.append( { 'ABSCISSE': courbe2[:,0].tolist(), 'ORDONNEE': courbe2[:,1].tolist(), 'COULEUR': 2 } ) + + motscle2= {'COURBE': _tmp } + if interactif: motscle2['PILOTE']= 'INTERACTIF' + else: motscle2['PILOTE']= 'POSTSCRIPT' + +# DEFI_FICHIER(UNITE=int(UL_out), ACCES='NEW',) + + IMPR_FONCTION(FORMAT='XMGRACE', + UNITE=int(UL_out), + TITRE='Courbe de : ' + reponses[i][0], + SOUS_TITRE='Iteration : ' + str(iter), + LEGENDE_X=reponses[i][1], + LEGENDE_Y=reponses[i][2], + **motscle2 + ); +# DEFI_FICHIER(ACTION='LIBERER',UNITE=int(UL_out),) + + elif FORMAT=='GNUPLOT': + graphe=[] + impr=Gnuplot.Gnuplot() + Gnuplot.GnuplotOpts.prefer_inline_data=1 + impr('set data style linespoints') + impr('set grid') + impr('set pointsize 2.') + impr('set terminal postscript color') + impr('set output "fort.'+str(UL_out)+'"') + + for i in range(len(L_F)): + if interactif: + graphe.append(Gnuplot.Gnuplot(persist=0)) + graphe[i]('set data style linespoints') + graphe[i]('set grid') + graphe[i]('set pointsize 2.') + graphe[i].xlabel(reponses[i][1]) + graphe[i].ylabel(reponses[i][2]) + graphe[i].title(reponses[i][0]+' Iteration '+str(iter)) + graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) + graphe[i]('pause 5') + + impr.xlabel(reponses[i][1]) + impr.ylabel(reponses[i][2]) + impr.title(reponses[i][0]+' Iteration '+str(iter)) + impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) + + else: + pass diff --git a/Aster/Cata/cataSTA81/Macro/recal.py b/Aster/Cata/cataSTA81/Macro/recal.py index a147479e..2e43b088 100644 --- a/Aster/Cata/cataSTA81/Macro/recal.py +++ b/Aster/Cata/cataSTA81/Macro/recal.py @@ -1,4 +1,4 @@ -#@ MODIF recal Macro DATE 11/07/2005 AUTEUR PABHHHH N.TARDIEU +#@ MODIF recal Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -21,16 +21,25 @@ -import string -import copy -import Numeric -import types -import Gnuplot +import string, copy, Numeric, types +# import Gnuplot import Cata -from Cata.cata import INCLUDE,DETRUIRE +from Cata.cata import INCLUDE, DETRUIRE, FIN, EXEC_LOGICIEL, DEFI_FICHIER, IMPR_TABLE, LIRE_TABLE, INFO_EXEC_ASTER, EXTR_TABLE +from Utilitai.Utmess import UTMESS from Accas import _F -import os +import os, aster, cPickle, sys + +# try: +# import Gnuplot +# except: pass + +try: + from Utilitai.Utmess import UTMESS +except ImportError: + def UTMESS(code,sprg,texte): + fmt='\n <%s> <%s> %s\n\n' + print fmt % (code,sprg,texte) #_____________________________________________ @@ -39,7 +48,7 @@ import os #_____________________________________________ -# Transforme les donneés entrées par l'utilsateur en tableau Numeric +# Transforme les données entrées par l'utilisateur en tableau Numeric def transforme_list_Num(parametres,res_exp): dim_para = len(parametres) #donne le nb de parametres val_para = Numeric.zeros(dim_para,Numeric.Float) @@ -178,37 +187,6 @@ def calcul_F(self,UL,para,val,reponses): x.close() return self.g_context['Lrep'] -#_____________________________________________ -# -# IMPRESSIONS GRAPHIQUES -#_____________________________________________ - -def graphique(L_F,res_exp,reponses,iter,UL_out,interactif): - graphe=[] - impr=Gnuplot.Gnuplot() - Gnuplot.GnuplotOpts.prefer_inline_data=1 - impr('set data style linespoints') - impr('set grid') - impr('set pointsize 2.') - impr('set terminal postscript color') - impr('set output "fort.'+str(UL_out)+'"') - for i in range(len(L_F)): - if interactif: - graphe.append(Gnuplot.Gnuplot(persist=0)) - graphe[i]('set data style linespoints') - graphe[i]('set grid') - graphe[i]('set pointsize 2.') - graphe[i].xlabel(reponses[i][1]) - graphe[i].ylabel(reponses[i][2]) - graphe[i].title(reponses[i][0]+' Iteration '+str(iter)) - graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) - graphe[i]('pause 5') -# - impr.xlabel(reponses[i][1]) - impr.ylabel(reponses[i][2]) - impr.title(reponses[i][0]+' Iteration '+str(iter)) - impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) - #_____________________________________________ # diff --git a/Aster/Cata/cataSTA81/Macro/stanley_ops.py b/Aster/Cata/cataSTA81/Macro/stanley_ops.py index a7ff6531..b159c615 100644 --- a/Aster/Cata/cataSTA81/Macro/stanley_ops.py +++ b/Aster/Cata/cataSTA81/Macro/stanley_ops.py @@ -1,4 +1,4 @@ -#@ MODIF stanley_ops Macro DATE 14/06/2005 AUTEUR DURAND C.DURAND +#@ MODIF stanley_ops Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -20,7 +20,7 @@ -def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): +def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,DISPLAY,**args): """ Importation et lancement de Stanley @@ -37,13 +37,17 @@ def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): # La macro compte pour 1 dans la numerotation des commandes self.set_icmd(1) + # Redefinition eventuelle du DISPLAY + if DISPLAY: + UTMESS('I','STANLEY', 'Redefinition du DISPLAY vers : ' + DISPLAY) + os.environ['DISPLAY'] = DISPLAY # On ne lance Stanley que si la variable DISPLAY est définie if os.environ.has_key('DISPLAY'): import Stanley from Stanley import stanley - + if (RESULTAT and MODELE and CHAM_MATER): _MAIL = aster.getvectjev( string.ljust(MODELE.nom,8) + '.MODELE .NOMA ' ) _MAIL = string.strip(_MAIL[0]) @@ -61,6 +65,11 @@ def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): STANLEY ne pourra pas fonctionner. On l'ignore. Si vous etes en Interactif, cochez le bouton Suivi Interactif - dans ASTK.""") + dans ASTK. + + Vous pouvez également préciser votre DISPLAY dans les arguments + de la commande STANLEY : + + STANLEY(DISPLAY='adresse_ip:0.0');""") return ier