Salome HOME
PN Version 8.2 d'Aster
authoreficas <>
Mon, 12 Dec 2005 09:03:25 +0000 (09:03 +0000)
committereficas <>
Mon, 12 Dec 2005 09:03:25 +0000 (09:03 +0000)
Aster/Cata/cataSTA81/Macro/calc_table_ops.py
Aster/Cata/cataSTA81/Macro/fiabilite_mefisto.py
Aster/Cata/cataSTA81/Macro/impr_table_ops.py
Aster/Cata/cataSTA81/Macro/macr_cabri_calc_ops.py
Aster/Cata/cataSTA81/Macro/macr_recal_ops.py
Aster/Cata/cataSTA81/Macro/reca_graphique.py [new file with mode: 0644]
Aster/Cata/cataSTA81/Macro/recal.py
Aster/Cata/cataSTA81/Macro/stanley_ops.py

index f50617edc0ffe7b5b1bcbed8209f02546d4d136b..0360d14f646670939fdc678d293c482041e711d5 100644 (file)
@@ -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
 # ======================================================================
 
 # 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
index 3f82084392ae5935cd0de1d8011e910b1001e913..b74d7e5486a5f854ed6ec42fddf0f575698f8873 100644 (file)
@@ -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" :
index 60a19b2b52b196dd4f1810036a2ef1f8d3c0998f..49aacd3ebfcd4dbb5746758a8c61809a76bc119c 100644 (file)
@@ -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
 # ======================================================================
index a829425f877796bfced239fc836a2b1b4d95686d..da2fa29f2908d484b8e86e8dc09eae5117df8500 100644 (file)
@@ -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,
index 325320a16e89504e275e637b694d46e1f0d7289d..40e793af9f0fa9db842d21ff6ca78424b9689901 100644 (file)
@@ -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
 # ======================================================================
 
 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 (file)
index 0000000..bab1d8c
--- /dev/null
@@ -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
index a147479e2b9a864cbecbbca99a6f3989b3ed3cf5..2e43b0883ea237ab0656b7321ad28ba1b9df93a7 100644 (file)
@@ -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
 # ======================================================================
 
 
 
-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'))
-
 
 #_____________________________________________
 #
index a7ff65317358a5b7b1622979221b6660b56c71ae..b159c615c60414dddab0c46738604addd33a2467 100644 (file)
@@ -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