From 9a4e210192ede6eb60dc505b31f3e635f21a1de3 Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Wed, 22 Nov 2006 10:36:18 +0000 Subject: [PATCH] Pn mise a jour avec les macros du 22/11 --- .../Cata/cataSTA8/Macro/defi_cable_bp_ops.py | 23 +++++++++++++------ Aster/Cata/cataSTA8/Macro/macr_recal_ops.py | 5 ++-- Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py | 13 ++++++----- Aster/Cata/cataSTA8/Macro/reca_algo.py | 12 +++++++--- .../Cata/cataSTA8/Macro/reca_calcul_aster.py | 10 +++++++- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py b/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py index 552fe5e0..5d77d5a3 100644 --- a/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py +++ b/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py @@ -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' ) diff --git a/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py b/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py index 58ee1fd9..b067f58c 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py @@ -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: diff --git a/Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py b/Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py index 874cebc4..6fb9a32f 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_spectre_ops.py @@ -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, diff --git a/Aster/Cata/cataSTA8/Macro/reca_algo.py b/Aster/Cata/cataSTA8/Macro/reca_algo.py index 6ef8f7ca..4c22e2bf 100644 --- a/Aster/Cata/cataSTA8/Macro/reca_algo.py +++ b/Aster/Cata/cataSTA8/Macro/reca_algo.py @@ -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 @@ -21,10 +21,11 @@ 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) diff --git a/Aster/Cata/cataSTA8/Macro/reca_calcul_aster.py b/Aster/Cata/cataSTA8/Macro/reca_calcul_aster.py index f58e4f9c..ed78aebd 100644 --- a/Aster/Cata/cataSTA8/Macro/reca_calcul_aster.py +++ b/Aster/Cata/cataSTA8/Macro/reca_calcul_aster.py @@ -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) -- 2.39.2