-#@ 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
# ======================================================================
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
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' )
__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) )
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' )
-#@ 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
# ======================================================================
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:
-#@ 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
# ======================================================================
### 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,
-#@ 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
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
-#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:
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)
-#@ 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
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)
for dico in l_tmp:
+ print dico
+
# répertoires
if dico['isrep']:
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)