]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Pn mise a jour avec les macros du 22/11
authorPascale Noyret <pascale.noyret@edf.fr>
Wed, 22 Nov 2006 10:36:18 +0000 (10:36 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Wed, 22 Nov 2006 10:36:18 +0000 (10:36 +0000)
Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py
Aster/Cata/cataSTA8/Macro/macr_recal_ops.py
Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py
Aster/Cata/cataSTA8/Macro/reca_algo.py
Aster/Cata/cataSTA8/Macro/reca_calcul_aster.py

index 552fe5e0c661f2a53f905c1159c80b91bd9e2d5a..5d77d5a389a63cfc8ff574231ea3da9980ee22fe 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF defi_cable_bp_ops Macro  DATE 05/09/2005   AUTEUR DURAND C.DURAND 
+#@ MODIF defi_cable_bp_ops Macro  DATE 14/11/2006   AUTEUR ASSIRE A.ASSIRE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -54,7 +54,7 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON,
      Ecriture de la macro DEFI_CABLE_BP
   """
   from Accas import _F
-  import aster,string
+  import aster,string, types
   from Utilitai.Utmess import UTMESS
   ier=0
 
@@ -150,7 +150,12 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON,
 
         if i.has_key('GROUP_MA') == 1: 
           __CAB = i['GROUP_MA']
-          motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM1}]}
+
+          if type(GROUP_MA_BETON) in [types.TupleType, types.ListType]: gma = list(GROUP_MA_BETON)
+          else:                                                         gma = [ GROUP_MA_BETON ]
+          gma.insert(0, __CAB)
+
+          motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': gma, 'GROUP_MA_AXE': __CAB, 'NOM': __NOM1}]}
         if i.has_key('MAILLE') == 1: 
           echo_mess=[]
           echo_mess.append( ' \n' )
@@ -166,16 +171,15 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON,
           __PC1 = i['NOEUD_ANCRAGE'][0]
           motscle2['CREA_GROUP_NO'][0]['NOEUD_ORIG'] = __PC1
 
-
         DEFI_GROUP( reuse=MAILLAGE,
                     MAILLAGE=MAILLAGE,
                     INFO=INFO,
                     ALARME='NON',
                     **motscle2
                    ) ;
-    
+
       # CREATION DU DEUXIEME TUNNEL
-    
+
       if dCONE['PRESENT'][1] == 'OUI':
         __NB = __NB + 1
         __NOM2 = __NOM + str( int(__NB) )
@@ -185,7 +189,12 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON,
 
         if i.has_key('GROUP_MA') == 1: 
           __CAB = i['GROUP_MA']
-          motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM2}]}
+
+          if type(GROUP_MA_BETON) in [types.TupleType, types.ListType]: gma = list(GROUP_MA_BETON)
+          else:                                                         gma = [ GROUP_MA_BETON ]
+          gma.insert(0, __CAB)
+
+          motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': gma, 'GROUP_MA_AXE': __CAB, 'NOM': __NOM2}]}
         if i.has_key('MAILLE') == 1: 
           echo_mess=[]
           echo_mess.append( ' \n' )
index 58ee1fd947531d0636082d7a675f34a71cee895f..b067f58c25b8f6bc0453ab2d03aeca825d825057 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_recal_ops Macro  DATE 31/10/2006   AUTEUR ASSIRE A.ASSIRE 
+#@ MODIF macr_recal_ops Macro  DATE 14/11/2006   AUTEUR ASSIRE A.ASSIRE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -201,7 +201,8 @@ def macr_recal(UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, LIST_DERIV, RESU_CALC,
    if os.environ.has_key('ASTER_ROOT'):
       sys.path.append(os.path.join(os.environ['ASTER_ROOT'], 'ASTK', 'ASTK_SERV', 'lib'))
    else:
-      sys.path.append(os.path.join(aster.repout, '..', 'ASTK', 'ASTK_SERV', 'lib'))
+      try:    sys.path.append(os.path.join(aster.repout, '..', 'ASTK', 'ASTK_SERV', 'lib'))
+      except: pass
    try:
       from as_profil import ASTER_PROFIL
    except:
index 874cebc44ac8e116574a5802d085c303371c8b42..6fb9a32fff37f423d10a5d596d5b69a013441187 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_spectre_ops Macro  DATE 07/11/2006   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_spectre_ops Macro  DATE 14/11/2006   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -101,15 +101,16 @@ def macr_spectre_ops(self,MAILLAGE,PLANCHER,NOM_CHAM,CALCUL,RESU,IMPRESSION=None
   ### boucle 4 sur les résultats
               l_fonc=[]
               for resu in RESU :
-
                   ### Récupération des fonctions
                   motscles={}
-                  if resu['RESU_GENE']!=None : motscles['RESU_GENE'] = resu['RESU_GENE']
+                  if resu['RESU_GENE']!=None :
+                     if CALCUL=='ABSOLU' :
+                        UTMESS('F', macro, 'Pas de calcul absolu avec tran_gene')
+                     motscles['RESU_GENE'] = resu['RESU_GENE']
+
                   if resu['RESULTAT' ]!=None :
                     motscles['RESULTAT']  = resu['RESULTAT']
-                    if CALCUL=='ABSOLU' :
-                       UTMESS('F', macro, 'Pas de calcul relatif avec dyna_trans ou evol_noli')
-
+                  
                   __spo=RECU_FONCTION(NOM_CHAM     = NOM_CHAM,
                                       TOUT_ORDRE   = 'OUI',
                                       NOM_CMP      = 'D'+dd,
index 6ef8f7caad4e93ce26fc4305df253d3559ec7b4b..4c22e2bfea39777c366b32599b492407f26c3e3a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF reca_algo Macro  DATE 31/10/2006   AUTEUR ASSIRE A.ASSIRE 
+#@ MODIF reca_algo Macro  DATE 14/11/2006   AUTEUR ASSIRE A.ASSIRE 
 # -*- coding: iso-8859-1 -*-
 # RESPONSABLE ASSIRE A.ASSIRE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 
 import Numeric, MLab
 from Numeric import take, size
-import copy,os
+import copy, os
 import LinearAlgebra 
 
 try:
+  import aster
   from Cata.cata import INFO_EXEC_ASTER
   from Cata.cata import DETRUIRE
   from Accas import _F
@@ -153,7 +154,6 @@ def lambda_init(matrix):
 # ------------------------------------------------------------------------------
 # ------------------------------------------------------------------------------
 
-#def Levenberg_bornes(self,val,Dim,val_init,borne_inf,borne_sup,A,erreur,l,ul_out):  
 def Levenberg_bornes(val,Dim,val_init,borne_inf,borne_sup,A,erreur,l,ul_out):  
    """
       On resoud le système par contraintes actives:
@@ -292,8 +292,14 @@ def calcul_etat_final(para,A,iter,max_iter,prec,residu,Messg):
 
    if ((iter < max_iter) or (residu < prec)):
       Hessien = Numeric.matrixmultiply(Numeric.transpose(A),A)
+
+      # Desactive temporairement les FPE qui pourraient etre generees (a tord!) par blas
+      aster.matfpe(-1)
       valeurs_propres,vecteurs_propres = LinearAlgebra.eigenvectors(Hessien) 
 #      valeurs_propres,vecteurs_propres = MLab.eig(Hessien) 
       sensible=Numeric.nonzero(Numeric.greater(abs(valeurs_propres/max(abs(valeurs_propres))),1.E-1))
       insensible=Numeric.nonzero(Numeric.less(abs(valeurs_propres/max(abs(valeurs_propres))),1.E-2))
+      # Reactive les FPE
+      aster.matfpe(1)
+
       Messg.affiche_calcul_etat_final(para,Hessien,valeurs_propres,vecteurs_propres,sensible,insensible)
index f58e4f9ccd6486eecae2145a809c309a393e7094..ed78aebde7e911a7e9e18a56025488955a2b3a48 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF reca_calcul_aster Macro  DATE 31/10/2006   AUTEUR ASSIRE A.ASSIRE 
+#@ MODIF reca_calcul_aster Macro  DATE 14/11/2006   AUTEUR ASSIRE A.ASSIRE 
 # -*- coding: iso-8859-1 -*-
 # RESPONSABLE ASSIRE A.ASSIRE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -447,6 +447,8 @@ class CALCUL_ASTER:
           x.write('\nFIN();\n')
           x.close()
 
+#          os.system("cat %s" % self.new_export)
+
           # Lancement du calcul Aster esclave
           cmd = '%s %s' % (as_run, self.new_export)
           self.Lancement_Commande(cmd)
@@ -847,6 +849,8 @@ Message:
 
        for dico in l_tmp:
 
+         print dico
+
          # répertoires
          if dico['isrep']:
 
@@ -887,6 +891,10 @@ Message:
               else:
                  dico['path'] = os.path.join(tmp_macr_recal, os.path.basename(dico['path']))
 
+           # Tous les autres fichiers en Donnees
+           elif lab == 'data':
+             dico['path'] = os.path.join(os.getcwd(), 'fort.%s' % dico['ul'])
+
            # sinon on garde la ligne
        setattr(prof, lab, l_fr)