From: eficas <> Date: Thu, 7 Oct 2004 18:12:28 +0000 (+0000) Subject: CCAR : mise a jour avec la version 7.3.23 du Noyau superviseur Aster X-Git-Tag: CCAR_apres_7_3_23~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=f1ca95b49f76bed371d3bc90fc94bd12a6f17523;p=tools%2Feficas.git CCAR : mise a jour avec la version 7.3.23 du Noyau superviseur Aster --- diff --git a/Aster/Cata/Macro/__init__.py b/Aster/Cata/Macro/__init__.py index b97da6c4..4aebb58b 100644 --- a/Aster/Cata/Macro/__init__.py +++ b/Aster/Cata/Macro/__init__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF __init__ Macro DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF __init__ Macro DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG diff --git a/Aster/Cata/Macro/ajout_quad_gmsh.py b/Aster/Cata/Macro/ajout_quad_gmsh.py index b7c1671d..e0d64393 100644 --- a/Aster/Cata/Macro/ajout_quad_gmsh.py +++ b/Aster/Cata/Macro/ajout_quad_gmsh.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF ajout_quad_gmsh Macro DATE 11/06/2002 AUTEUR DURAND C.DURAND +#@ MODIF ajout_quad_gmsh Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # script PYTHON de modification d'un fichier de maillage GMSH (*.msh) # pour transformer les mailles lineiques en mailles quadratiques # SEG2->SEG3 / TRIA3->TRIA6 / QUAD4->QUAD8, diff --git a/Aster/Cata/Macro/calc_precont_ops.py b/Aster/Cata/Macro/calc_precont_ops.py index 123edf76..ed44814d 100644 --- a/Aster/Cata/Macro/calc_precont_ops.py +++ b/Aster/Cata/Macro/calc_precont_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF calc_precont_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF calc_precont_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # RESPONSABLE ASSIRE A.ASSIRE def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT, diff --git a/Aster/Cata/Macro/defi_cable_bp_ops.py b/Aster/Cata/Macro/defi_cable_bp_ops.py index 63fe0480..3d234d76 100644 --- a/Aster/Cata/Macro/defi_cable_bp_ops.py +++ b/Aster/Cata/Macro/defi_cable_bp_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF defi_cable_bp_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF defi_cable_bp_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -44,6 +44,8 @@ # # =========================================================================== + + def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, DEFI_CABLE,TYPE_ANCRAGE,TENSION_INIT,RECUL_ANCRAGE, RELAXATION,CONE,TITRE,INFO,**args): diff --git a/Aster/Cata/Macro/fiabilite_fichier.py b/Aster/Cata/Macro/fiabilite_fichier.py index 3f5bbb60..1462a5ec 100644 --- a/Aster/Cata/Macro/fiabilite_fichier.py +++ b/Aster/Cata/Macro/fiabilite_fichier.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF fiabilite_fichier Macro DATE 16/01/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF fiabilite_fichier Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -266,6 +266,8 @@ class fiabilite_fichier : # #======================================================================================= #======================================================================================= + + # # if __name__ == "__main__" : diff --git a/Aster/Cata/Macro/fiabilite_mefisto.py b/Aster/Cata/Macro/fiabilite_mefisto.py index 90f8f446..3f820843 100644 --- a/Aster/Cata/Macro/fiabilite_mefisto.py +++ b/Aster/Cata/Macro/fiabilite_mefisto.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF fiabilite_mefisto Macro DATE 16/01/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF fiabilite_mefisto Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # RESPONSABLE GNICOLAS G.NICOLAS # def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, diff --git a/Aster/Cata/Macro/impr_fonction_ops.py b/Aster/Cata/Macro/impr_fonction_ops.py index 2283e755..e4de1efc 100644 --- a/Aster/Cata/Macro/impr_fonction_ops.py +++ b/Aster/Cata/Macro/impr_fonction_ops.py @@ -1,4 +1,5 @@ -#@ MODIF impr_fonction_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF impr_fonction_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -16,9 +17,12 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # RESPONSABLE MCOURTOI M.COURTOIS import os.path +#from Utilitai import Graph def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): """ @@ -27,7 +31,6 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): Erreurs dans IMPR_FONCTION pour ne pas perdre la base. """ import aster - from Utilitai import Graph from Accas import _F ier=0 # La macro compte pour 1 dans la numerotation des commandes @@ -37,7 +40,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # Le nom de la variable doit etre obligatoirement le nom de la commande CALC_FONC_INTERP = self.get_cmd('CALC_FONC_INTERP') DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL') - # DETRUIRE =self.get_cmd('DETRUIRE') + DETRUIRE = self.get_cmd('DETRUIRE') #---------------------------------------------- # 0. Traitement des arguments, initialisations @@ -50,8 +53,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if INFO==2: print ' Nom du fichier :',nomfich if os.path.exists(nomfich): - print ' Le fichier '+nomfich+' existe déjà. Il va etre écrasé.' - fich=open(nomfich,'w') + print ' Le fichier '+nomfich+' existe déjà.' + if FORMAT=='TABLEAU': + print ' On écrit à la suite du fichier' + else: + print ' On écrase le contenu précédent' # 0.2. Récupération des valeurs sous COURBE unparmi=('FONCTION','LIST_RESU','FONC_X') @@ -66,14 +72,14 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): print ' Nombre de fonctions à analyser : ',len(Courbe) # 0.3. Devra-t-on interpoler globalement ? - # Dans ce cas, __linter est le LIST_PARA + # Dans ce cas, linter__ est le LIST_PARA # ou, à défaut, les abscisses de la première courbe interp=0 if FORMAT=='TABLEAU': interp=1 dCi=Courbe[0] if dCi.has_key('LIST_PARA'): - __linter=dCi['LIST_PARA'] + linter__=dCi['LIST_PARA'] else: obj=None for typi in unparmi: @@ -91,9 +97,9 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): linterp=obj.Valeurs()[0] elif typi=='FONC_X': lbid,linterp=obj.Valeurs() - __linter=DEFI_LIST_REEL(VALE=linterp) + linter__=DEFI_LIST_REEL(VALE=linterp) if INFO==2: - print ' Interpolation globale sur la liste :\n',__linter.Valeurs() + print ' Interpolation globale sur la liste :\n',linter__.Valeurs() #---------------------------------------------- @@ -129,23 +135,23 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # sur quelle liste interpoler chaque fonction if i==0: if interp: - __li=__linter + li__=linter__ elif dCi.has_key('LIST_PARA'): - __li=dCi['LIST_PARA'] + li__=dCi['LIST_PARA'] else: - __li=DEFI_LIST_REEL(VALE=lx) + li__=DEFI_LIST_REEL(VALE=lx) # compléter les paramètres d'interpolation dic=dico.copy() for k,v in ldicf[i].items(): dic[k]=v if interp or dCi.has_key('LIST_PARA') or i>0: - __ftmp=CALC_FONC_INTERP( + ftmp__=CALC_FONC_INTERP( FONCTION=obj, VALE_PARA=p, - LIST_PARA_FONC=__li, + LIST_PARA_FONC=li__, **dic ) - pv,lv2=__ftmp.Valeurs() + pv,lv2=ftmp__.Valeurs() lx=lv2[0][0] ly=lv2[0][1] # on stocke les données dans le Graph @@ -160,21 +166,21 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if dCi.has_key('FREQ_MARQUEUR'): dicC['FreqM']=dCi['FREQ_MARQUEUR'] graph.AjoutCourbe(**dicC) else: - __ftmp=obj - dpar=__ftmp.Parametres() + ftmp__=obj + dpar=ftmp__.Parametres() if interp: - __ftmp=CALC_FONC_INTERP( + ftmp__=CALC_FONC_INTERP( FONCTION=obj, - LIST_PARA=__linter, + LIST_PARA=linter__, **dpar ) elif dCi.has_key('LIST_PARA'): - __ftmp=CALC_FONC_INTERP( + ftmp__=CALC_FONC_INTERP( FONCTION=obj, LIST_PARA=dCi['LIST_PARA'], **dpar ) - lval=list(__ftmp.Valeurs()) + lval=list(ftmp__.Valeurs()) lx=lval[0] lr=lval[1] if typ=='fonction_c' and dCi.has_key('PARTIE'): @@ -227,41 +233,39 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # peut-on blinder au niveau du catalogue if typ=="nappe_sdaster" or ob2.__class__.__name__=="nappe_sdaster": raise aster.error, " FONC_X/FONC_Y ne peuvent pas etre des nappes !" - __ftmp=obj - dpar=__ftmp.Parametres() - __ftm2=ob2 - dpa2=__ftm2.Parametres() + ftmp__=obj + dpar=ftmp__.Parametres() + ftm2__=ob2 + dpa2=ftm2__.Parametres() intloc=0 if interp: intloc=1 - __li=__linter + li__=linter__ elif dCi.has_key('LIST_PARA'): intloc=1 - __li=dCi['LIST_PARA'] + li__=dCi['LIST_PARA'] if intloc: - __ftmp=CALC_FONC_INTERP( + ftmp__=CALC_FONC_INTERP( FONCTION=obj, - LIST_PARA=__li, + LIST_PARA=li__, **dpar ) - lt,lx=__ftmp.Valeurs() - __ftm2=CALC_FONC_INTERP( + lt,lx=ftmp__.Valeurs() + ftm2__=CALC_FONC_INTERP( FONCTION=ob2, - LIST_PARA=__li, + LIST_PARA=li__, **dpa2 ) else: - lt,lx=__ftmp.Valeurs() - __li=DEFI_LIST_REEL(VALE=lt) - __ftm2=CALC_FONC_INTERP( + lt,lx=ftmp__.Valeurs() + li__=DEFI_LIST_REEL(VALE=lt) + ftm2__=CALC_FONC_INTERP( FONCTION=ob2, - LIST_PARA=__li, + LIST_PARA=li__, **dpa2 ) - lbid,ly=__ftm2.Valeurs() - #DETRUIRE(CONCEPT=_F(NOM='__ftmp'),) - #DETRUIRE(CONCEPT=_F(NOM='__ftm2'),) + lbid,ly=ftm2__.Valeurs() # on stocke les données dans le Graph if interp: dicC={ @@ -280,12 +284,18 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if dCi.has_key('FREQ_MARQUEUR'): dicC['FreqM']=dCi['FREQ_MARQUEUR'] graph.AjoutCourbe(**dicC) + # 1.2.99. ménage + DETRUIRE(CONCEPT=_F(NOM=('li__','ftmp__','ftm2__'),),) + # 1.3. dbg if INFO==2: print '\n'+'-'*70+'\n Contenu du Graph : \n'+'-'*70 print graph print '-'*70+'\n' + # 1.99. ménage + DETRUIRE(CONCEPT=_F(NOM='linter__',),) + #---------------------------------------------- # 2. Impression du 'tableau' de valeurs #---------------------------------------------- @@ -308,10 +318,6 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if args['GRILLE_Y']!=None: graph.Grille_Y=args['GRILLE_Y'] if args['TRI']!=None: graph.Tri=args['TRI'] - # si Min/Max incohérents - if graph.Min_X > graph.Max_X or graph.Min_Y > graph.Max_Y: - graph.SetExtrema() - # 2.1. au format TABLEAU if FORMAT=='TABLEAU': # surcharge par les formats de l'utilisateur @@ -321,14 +327,14 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): 'cdeb' : args['DEBUT_LIGNE'], 'cfin' : args['FIN_LIGNE'] } - tab=Graph.ImprTableau(graph,nomfich,dico_formats) + tab=Graph.ImprTableau(graph,nomfich,fmod='a',dform=dico_formats) tab.Trace() # 2.2. au format AGRAF elif FORMAT=='AGRAF': nomdigr='fort.'+str(args['UNITE_DIGR']) dico_formats={ 'formR' : '%12.5E' } - agraf=Graph.ImprAgraf(graph,[nomfich,nomdigr],dico_formats) + agraf=Graph.ImprAgraf(graph,[nomfich,nomdigr],dform=dico_formats) agraf.Trace() # 2.3. au format XMGRACE et dérivés @@ -338,7 +344,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if graph.Tri != '' and graph.Tri != 'N': print ' TRI non traité au format XMGRACE' - grace=Graph.ImprXmgrace(graph,nomfich,dico_formats) + grace=Graph.ImprXmgrace(graph,nomfich,dform=dico_formats) grace.Pilote=args['PILOTE'] grace.Trace() diff --git a/Aster/Cata/Macro/lire_fonction_ops.py b/Aster/Cata/Macro/lire_fonction_ops.py index f4d92ce4..7f10859e 100644 --- a/Aster/Cata/Macro/lire_fonction_ops.py +++ b/Aster/Cata/Macro/lire_fonction_ops.py @@ -1,4 +1,5 @@ -#@ MODIF lire_fonction_ops Macro DATE 16/06/2004 AUTEUR DURAND C.DURAND +#@ MODIF lire_fonction_ops Macro DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +20,7 @@ import string,os,Numeric +#from Utilitai.transpose import transpose ###################################################################### #### méthode de construction du VALE pour le format libre @@ -33,7 +35,6 @@ def m_format_libre(texte,INDIC_PARA,INDIC_RESU,SEPAR): # INDIC_PARA et INDIC_RESU est l indice permettant de pointer sur la # fonction voulue, au sens de ce découpage. - from Utilitai.transpose import transpose l_fonc=[] fonc =[] ier =0 @@ -186,6 +187,43 @@ def lire_fonction_ops(self,FORMAT,TYPE,SEPAR,INDIC_PARA,UNITE, VERIF =VERIF, VALE =liste_vale,) + elif TYPE=='FONCTION_C': + # mise en forme de la liste de valeurs suivant le format choisi : + if 'INDIC_REEL' in args : + indic1=args['INDIC_REEL'] + indic2=args['INDIC_IMAG'] + if 'INDIC_MODU' in args : + indic1=args['INDIC_MODU'] + indic2=args['INDIC_PHAS'] + ier,message,liste_vale_r=m_format_libre(texte,INDIC_PARA,indic1,SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + ier,message,liste_vale_i=m_format_libre(texte,INDIC_PARA,indic2,SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + liste=[] + if 'INDIC_REEL' in args : + for i in range(len(liste_vale_r)/2) : + liste=liste+[liste_vale_r[2*i],liste_vale_r[2*i+1],liste_vale_i[2*i+1]] + elif 'INDIC_MODU' in args : + for i in range(len(liste_vale_r)/2) : + module=liste_vale_r[2*i+1] + phase =liste_vale_i[2*i+1] + liste=liste+[liste_vale_r[2*i],module*cos(phase),module*sin(phase)] + + # création de la fonction ASTER : + ut_fonc=DEFI_FONCTION( NOM_PARA =NOM_PARA, + NOM_RESU =NOM_RESU, + PROL_DROITE=PROL_DROITE, + PROL_GAUCHE=PROL_GAUCHE, + INTERPOL =INTERPOL, + INFO =INFO, + TITRE =TITRE, + VERIF =VERIF, + VALE_C =liste,) + elif TYPE=='NAPPE': # création de la nappe ASTER : diff --git a/Aster/Cata/Macro/lire_table_ops.py b/Aster/Cata/Macro/lire_table_ops.py index af584db3..23911e24 100644 --- a/Aster/Cata/Macro/lire_table_ops.py +++ b/Aster/Cata/Macro/lire_table_ops.py @@ -1,4 +1,5 @@ -#@ MODIF lire_table_ops Macro DATE 06/07/2004 AUTEUR CIBHHPD S.VANDENBERGHE +#@ MODIF lire_table_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,8 +18,11 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + import string +#from Utilitai.transpose import transpose ###################################################################### #### méthode de construction du dictionnaire @@ -34,7 +38,6 @@ def lecture_table(texte,nume,separ): # VALE_PARA et VALE_RESU est l indice permettant de pointer sur la # fonction voulue, au sens de ce découpage. - from Utilitai.transpose import transpose if string.strip(separ)=='' : separ=None tab_lue={} nume_lign=[] diff --git a/Aster/Cata/Macro/macr_adap_mail_ops.py b/Aster/Cata/Macro/macr_adap_mail_ops.py index ab143163..16625395 100644 --- a/Aster/Cata/Macro/macr_adap_mail_ops.py +++ b/Aster/Cata/Macro/macr_adap_mail_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_adap_mail_ops Macro DATE 06/07/2004 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macr_adap_mail_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -25,7 +25,7 @@ def macr_adap_mail_ops ( self, NON_SIMPLEXE, MAILLAGE_FRONTIERE, **args): """ - Ecriture de la macro MACR_ADAP_MAIL/MACR_INFO_MAIL + Ecriture des macros MACR_ADAP_MAIL/MACR_INFO_MAIL Remarque : on ne mentionne explicitement que les mots-clés communs aux deux macros. Les autres sont dans le dictionnaire args """ @@ -39,43 +39,43 @@ def macr_adap_mail_ops ( self, ### print args ### print args.keys() ### if len (args.keys())>0 : print args.keys()[0] -### print args['MAILLAGE'] +### print args["MAILLAGE"] # # 2. Les caractéristiques d'un passage sont conservées dans un dictionnaire. Il y a autant de # dictionnaires que de sollicitations pour une série d'adaptation. L'ensemble de ces dictionnaires # est conservé dans la liste Liste_Passages. Cette liste est nécessairement globale pour pouvoir # la retrouver à chaque nouveau passage. # Description du dictionnaire de passages : -# dico['Maillage_0'] = o ; string ; nom du concept du maillage initial de la série d'adaptation -# dico['Maillage_NP1'] = o ; string ; nom du concept du dernier maillage adapté -# dico['Rep_Calc_HOMARD_global'] = o ; string ; Nom global du répertoire de calcul pour HOMARD -# dico['Rep_Calc_HOMARD_local'] = o ; string ; Nom local du répertoire de calcul pour HOMARD +# dico["Maillage_0"] = o ; string ; nom du concept du maillage initial de la série d'adaptation +# dico["Maillage_NP1"] = o ; string ; nom du concept du dernier maillage adapté +# dico["Rep_Calc_HOMARD_global"] = o ; string ; Nom global du répertoire de calcul pour HOMARD +# dico["Rep_Calc_HOMARD_local"] = o ; string ; Nom local du répertoire de calcul pour HOMARD # depuis le répertoire de calcul pour ASTER -# dico['niter'] = o ; entier ; numéro d'itération +# dico["niter"] = o ; entier ; numéro d'itération # # 3. Les caractéristiques d'un maillage sont conservées dans un dictionnaire. Il y a autant de # dictionnaires que de maillages manipulés. L'ensemble de ces dictionnaires est conservé # dans la liste Liste_Maillages. # Description du dictionnaire de maillages : -# dico['Type_Maillage'] = o ; string ; 'MAILLAGE_N', 'MAILLAGE_NP1' ou 'MAILLAGE_FRONTIERE' -# dico['Nom_ASTER'] = o ; concept ASTER associé -# dico['Action'] = o ; string ; 'A_ecrire' ou 'A_lire' -# dico['NOM_MED'] = o ; string ; Nom MED du maillage +# dico["Type_Maillage"] = o ; string ; "MAILLAGE_N", "MAILLAGE_NP1" ou "MAILLAGE_FRONTIERE" +# dico["Nom_ASTER"] = o ; concept ASTER associé +# dico["Action"] = o ; string ; "A_ecrire" ou "A_lire" +# dico["NOM_MED"] = o ; string ; Nom MED du maillage # # 4. Les caractéristiques d'un champ sont conservées dans un dictionnaire. Il y a autant de # dictionnaires que de champs manipulés. L'ensemble de ces dictionnaires est conservé # dans la liste Liste_Champs. # Description du dictionnaire de champs : -# dico['Type_Champ'] = o ; string ; 'INDICATEUR' ou 'CHAMP' -# dico['RESULTAT'] = o ; concept ASTER du résutat associé -# dico['NOM_CHAM'] = o ; string ; Nom ASTER du champ -# dico['COMPOSANTE'] = f ; string ; Nom ASTER de la composante -# dico['NUME_ORDRE'] = f ; entier ; Numéro d'ordre du champ -# dico['INST'] = f ; entier ; Instant du champ -# dico['PRECISION'] = f ; entier ; Précision sur l'instant du champ -# dico['CRITERE'] = f ; entier ; Critère de précision sur l'instant du champ -# dico['CHAM_MAJ'] = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage -# dico['NOM_MED'] = o ; string ; Nom MED du champ +# dico["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP" +# dico["RESULTAT"] = o ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = o ; string ; Nom ASTER du champ +# dico["COMPOSANTE"] = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur) +# dico["NUME_ORDRE"] = f ; entier ; Numéro d'ordre du champ +# dico["INST"] = f ; entier ; Instant du champ +# dico["PRECISION"] = f ; entier ; Précision sur l'instant du champ +# dico["CRITERE"] = f ; entier ; Critère de précision sur l'instant du champ +# dico["CHAM_MAJ"] = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage +# dico["NOM_MED"] = o ; string ; Nom MED du champ # from Accas import _F import aster @@ -105,17 +105,18 @@ def macr_adap_mail_ops ( self, # # 1.3. ==> On importe les definitions des commandes a utiliser dans la macro # - DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') - IMPR_RESU = self.get_cmd('IMPR_RESU') - EXEC_LOGICIEL = self.get_cmd('EXEC_LOGICIEL') - IMPR_FICO_HOMA = self.get_cmd('IMPR_FICO_HOMA') - LIRE_MAILLAGE = self.get_cmd('LIRE_MAILLAGE') - LIRE_CHAMP = self.get_cmd('LIRE_CHAMP') + DEFI_FICHIER = self.get_cmd("DEFI_FICHIER") + IMPR_RESU = self.get_cmd("IMPR_RESU") + EXEC_LOGICIEL = self.get_cmd("EXEC_LOGICIEL") + IMPR_FICO_HOMA = self.get_cmd("IMPR_FICO_HOMA") + LIRE_MAILLAGE = self.get_cmd("LIRE_MAILLAGE") + LIRE_CHAMP = self.get_cmd("LIRE_CHAMP") + DETRUIRE = self.get_cmd('DETRUIRE') # # 1.4. ==> Le nom du programme HOMARD à lancer # repertoire_outils = aster.repout() - homard = repertoire_outils + 'homard' + homard = repertoire_outils + "homard" # # 1.5. ==> Initialisations # @@ -125,6 +126,7 @@ def macr_adap_mail_ops ( self, # Liste_Maillages = [] Liste_Champs = [] + dico_indi = {} # ADAPTATION = None MAJ_CHAM = None @@ -136,43 +138,44 @@ def macr_adap_mail_ops ( self, #-------------------------------------------------------------------- # 2.1. ==> Données de pilotage de l'adaptation # - if ( self.nom == 'MACR_ADAP_MAIL' ) : + if ( self.nom == "MACR_ADAP_MAIL" ) : # modhom = "ADAP" # - ADAPTATION = args['ADAPTATION'] - if args.has_key('MAJ_CHAM') : - MAJ_CHAM = args['MAJ_CHAM'] + ADAPTATION = args["ADAPTATION"] + if args.has_key("MAJ_CHAM") : + MAJ_CHAM = args["MAJ_CHAM"] # -# 2.1.1. ==> Les concepts 'maillage' +# 2.1.1. ==> Les concepts "maillage" # - for mot_cle in ['MAILLAGE_N','MAILLAGE_NP1'] : + for mot_cle in ["MAILLAGE_N","MAILLAGE_NP1"] : dico = {} - dico['Type_Maillage'] = mot_cle - dico['Nom_ASTER'] = ADAPTATION[mot_cle] - if ( mot_cle == 'MAILLAGE_N' ) : - dico['Action'] = 'A_ecrire' + dico["Type_Maillage"] = mot_cle + dico["Nom_ASTER"] = ADAPTATION[mot_cle] + if ( mot_cle == "MAILLAGE_N" ) : + dico["Action"] = "A_ecrire" else : - dico['Action'] = 'A_lire' + dico["Action"] = "A_lire" Liste_Maillages.append(dico) # # 2.1.2. ==> L'éventuel indicateur d'erreur # - if ADAPTATION['LIBRE'] != None : + if ADAPTATION["LIBRE"] != None : dico = {} - dico['Type_Champ'] = 'INDICATEUR' - dico['RESULTAT'] = ADAPTATION['RESULTAT_N'] - dico['NOM_CHAM'] = ADAPTATION['INDICATEUR'] - dico['COMPOSANTE'] = ADAPTATION['NOM_CMP_INDICA'] - if ( ADAPTATION['NUME_ORDRE'] != None ) : - dico['NUME_ORDRE'] = ADAPTATION['NUME_ORDRE'] - if ( ADAPTATION['INST'] != None ) : - dico['INST'] = ADAPTATION['INST'] - for cle in [ 'PRECISION', 'CRITERE' ] : + dico["Type_Champ"] = "INDICATEUR" + dico["RESULTAT"] = ADAPTATION["RESULTAT_N"] + dico["NOM_CHAM"] = ADAPTATION["INDICATEUR"] + dico["COMPOSANTE"] = ADAPTATION["NOM_CMP_INDICA"] + if ( ADAPTATION["NUME_ORDRE"] != None ) : + dico["NUME_ORDRE"] = ADAPTATION["NUME_ORDRE"] + if ( ADAPTATION["INST"] != None ) : + dico["INST"] = ADAPTATION["INST"] + for cle in [ "PRECISION", "CRITERE" ] : if ( ADAPTATION[cle] != None ) : dico[cle] = ADAPTATION[cle] - dico['NOM_MED'] = aster.mdnoch ( dico['RESULTAT'].nom , dico['NOM_CHAM'] ) + dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] ) Liste_Champs.append(dico) + dico_indi = dico ### print dico # # 2.1.3. ==> Les champs à mettre à jour @@ -180,17 +183,20 @@ def macr_adap_mail_ops ( self, if ( MAJ_CHAM != None ) : # for maj_cham in MAJ_CHAM : +### print maj_cham # dico = {} - dico['Type_Champ'] = 'CHAMP' - for cle in [ 'CHAM_MAJ', 'TYPE_CHAM', 'RESULTAT', 'NOM_CHAM', 'NUME_ORDRE' ] : + dico["Type_Champ"] = "CHAMP" + for cle in [ "CHAM_MAJ", "TYPE_CHAM", "RESULTAT", "NOM_CHAM" ] : dico[cle] = maj_cham[cle] - if ( maj_cham['INST'] != None ) : - dico['INST'] = maj_cham['INST'] - for cle in [ 'PRECISION', 'CRITERE' ] : + if ( maj_cham["NUME_ORDRE"] != None ) : + dico["NUME_ORDRE"] = maj_cham["NUME_ORDRE"] + elif ( maj_cham["INST"] != None ) : + dico["INST"] = maj_cham["INST"] + for cle in [ "PRECISION", "CRITERE" ] : if ( maj_cham[cle] != None ) : dico[cle] = maj_cham[cle] - dico['NOM_MED'] = aster.mdnoch ( dico['RESULTAT'].nom , dico['NOM_CHAM'] ) + dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] ) # ### print dico Liste_Champs.append(dico) @@ -202,9 +208,9 @@ def macr_adap_mail_ops ( self, modhom = "INFO" # dico = {} - dico['Type_Maillage'] = 'MAILLAGE_N' - dico['Nom_ASTER'] = args['MAILLAGE'] - dico['Action'] = 'A_ecrire' + dico["Type_Maillage"] = "MAILLAGE_N" + dico["Nom_ASTER"] = args["MAILLAGE"] + dico["Action"] = "A_ecrire" Liste_Maillages.append(dico) # # 2.3. ==> Suivi de frontière @@ -212,9 +218,9 @@ def macr_adap_mail_ops ( self, if ( MAILLAGE_FRONTIERE != None ) : # dico = {} - dico['Type_Maillage'] = 'MAILLAGE_FRONTIERE' - dico['Nom_ASTER'] = MAILLAGE_FRONTIERE - dico['Action'] = 'A_ecrire' + dico["Type_Maillage"] = "MAILLAGE_FRONTIERE" + dico["Nom_ASTER"] = MAILLAGE_FRONTIERE + dico["Action"] = "A_ecrire" Liste_Maillages.append(dico) # #-------------------------------------------------------------------- @@ -228,12 +234,12 @@ def macr_adap_mail_ops ( self, # L = [] for dico in Liste_Maillages : - dico['NOM_MED'] = aster.mdnoma(dico['Nom_ASTER'].nom) + dico["NOM_MED"] = aster.mdnoma(dico["Nom_ASTER"].nom) L.append(dico) - if ( dico['Type_Maillage'] == 'MAILLAGE_N' ) : - Nom_Concept_Maillage_N = dico['Nom_ASTER'].nom - elif ( dico['Type_Maillage'] == 'MAILLAGE_NP1' ) : - Nom_Concept_Maillage_NP1 = dico['Nom_ASTER'].nom + if ( dico["Type_Maillage"] == "MAILLAGE_N" ) : + Nom_Concept_Maillage_N = dico["Nom_ASTER"].nom + elif ( dico["Type_Maillage"] == "MAILLAGE_NP1" ) : + Nom_Concept_Maillage_NP1 = dico["Nom_ASTER"].nom Liste_Maillages = L # # 3.2. ==> Recherche du numéro d'itération et du répertoire de travail @@ -245,7 +251,7 @@ def macr_adap_mail_ops ( self, # niter = 0 Nom_Rep_local = Nom_Concept_Maillage_N + "_" + modhom + "_" + str(Numero_Passage_Fonction) - Rep_Calc_HOMARD_local = os.path.join('.',Nom_Rep_local) + Rep_Calc_HOMARD_local = os.path.join(".",Nom_Rep_local) Rep_Calc_HOMARD_global = os.path.join(Rep_Calc_ASTER,Nom_Rep_local) ### print "Rep_Calc_HOMARD_local = ", Rep_Calc_HOMARD_local ### print "Rep_Calc_HOMARD_global = ", Rep_Calc_HOMARD_global @@ -261,10 +267,10 @@ def macr_adap_mail_ops ( self, # d'itération est celui de l'adaptation précédente augmenté de 1. # for dico in Liste_Passages : - if ( dico['Maillage_NP1'] == Nom_Concept_Maillage_N ) : - niter = dico['niter'] + 1 - Rep_Calc_HOMARD_local = dico['Rep_Calc_HOMARD_local'] - Rep_Calc_HOMARD_global = dico['Rep_Calc_HOMARD_global'] + if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : + niter = dico["niter"] + 1 + Rep_Calc_HOMARD_local = dico["Rep_Calc_HOMARD_local"] + Rep_Calc_HOMARD_global = dico["Rep_Calc_HOMARD_global"] # # 3.2.2.2. ==> Memorisation de ce passage # @@ -272,11 +278,11 @@ def macr_adap_mail_ops ( self, # if ( niter == 0 ) : dico = {} - dico['Maillage_0'] = Nom_Concept_Maillage_N - dico['Maillage_NP1'] = Nom_Concept_Maillage_NP1 - dico['Rep_Calc_HOMARD_local'] = Rep_Calc_HOMARD_local - dico['Rep_Calc_HOMARD_global'] = Rep_Calc_HOMARD_global - dico['niter'] = niter + dico["Maillage_0"] = Nom_Concept_Maillage_N + dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["Rep_Calc_HOMARD_local"] = Rep_Calc_HOMARD_local + dico["Rep_Calc_HOMARD_global"] = Rep_Calc_HOMARD_global + dico["niter"] = niter Liste_Passages.append(dico) # # 3.2.2.2.2. ==> Modification du cas en cours @@ -284,9 +290,9 @@ def macr_adap_mail_ops ( self, else : L = [] for dico in Liste_Passages : - if ( dico['Maillage_NP1'] == Nom_Concept_Maillage_N ) : - dico['Maillage_NP1'] = Nom_Concept_Maillage_NP1 - dico['niter'] = niter + if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : + dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["niter"] = niter L.append(dico) Liste_Passages = L # @@ -308,7 +314,6 @@ def macr_adap_mail_ops ( self, self.cr.warn("Code d'erreur de mkdir : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) self.cr.fatal(" Impossible de créer le répertoire de travail pour HOMARD : "+Rep_Calc_HOMARD_global) codret = codret + 1 - return codret # # 4.2. ==> Ecriture des commandes de creation des donnees MED # @@ -319,8 +324,8 @@ def macr_adap_mail_ops ( self, # # Chacune de ces écritures est optionnelle selon le contexte. # - if ( INFO > 1 ) : infomail='OUI' - else : infomail='NON' + if ( INFO > 1 ) : infomail = "OUI" + else : infomail = "NON" # # 4.2.1. ==> Noms des fichiers d'ASTER vers HOMARD et éventuellement de HOMARD vers ASTER # Remarque : aujourd'hui, les écritures ou les lectures au format MED se font obligatoirement sur @@ -333,7 +338,6 @@ def macr_adap_mail_ops ( self, # Unite_Fichier_ASTER_vers_HOMARD = 1787 + 2*Numero_Passage_Fonction Fichier_ASTER_vers_HOMARD = os.path.join(Rep_Calc_ASTER,"fort." + str(Unite_Fichier_ASTER_vers_HOMARD)) - Nom_Symbolique_Fichier_ASTER_vers_HOMARD = "ASTER_to_HOMARD" Fichier_HOMARD_Entree = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter)+".MED") ### print "Fichier_ASTER_vers_HOMARD = ",Fichier_ASTER_vers_HOMARD ### print "Fichier_HOMARD_Entree = ",Fichier_HOMARD_Entree @@ -343,7 +347,6 @@ def macr_adap_mail_ops ( self, self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) self.cr.fatal(" Probleme au lien entre " + Fichier_ASTER_vers_HOMARD + " et " + Fichier_HOMARD_Entree) codret = codret + 1 - return codret # # 4.2.1.2. ==> De HOMARD vers ASTER # @@ -359,12 +362,10 @@ def macr_adap_mail_ops ( self, self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) self.cr.fatal(" Probleme au lien entre " + Fichier_HOMARD_vers_ASTER + " et " + Fichier_HOMARD_Sortie) codret = codret + 1 - return codret # # 4.2.2. La définition du fichier de ASTER vers HOMARD # DEFI_FICHIER ( ACTION= "ASSOCIER", - FICHIER = Nom_Symbolique_Fichier_ASTER_vers_HOMARD, UNITE = Unite_Fichier_ASTER_vers_HOMARD, TYPE = "LIBRE", INFO = INFO ) @@ -378,11 +379,11 @@ def macr_adap_mail_ops ( self, # Donc on va toujours écrire. # for dico in Liste_Maillages : - if ( dico['Action'] == 'A_ecrire' ) : + if ( dico["Action"] == "A_ecrire" ) : motscsi={} - motscsi['MAILLAGE'] = dico['Nom_ASTER'] + motscsi["MAILLAGE"] = dico["Nom_ASTER"] motscfa={} - motscfa['RESU']=_F( INFO_MAILLAGE=infomail, + motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, **motscsi ) # IMPR_RESU ( INFO = INFO, @@ -390,17 +391,72 @@ def macr_adap_mail_ops ( self, **motscfa ) # # 4.2.4. Le(s) champ(s) +# Attention : il se peut que l'on demande la mise à jour du champ qui a servi comme +# indicateur d'erreur. Si c'est le cas, il ne faut pas demander son +# impression sinon il y a plantage d'IMPR_RESU qui ne sait pas substituer +# deux champs. D'ailleurs, c'est plus économique ainsi ! +# Remarque : pour l'adaptation, on ne demande a priori qu'une composante du champ d'indicateur. +# s'il y a demande de mise à jour, toutes les composantes sont concernées. Il faut +# donc dans ce cas imprimer le champ total. +# dico["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP" +# dico["RESULTAT"] = o ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = o ; string ; Nom ASTER du champ +# dico["COMPOSANTE"] = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur) +# dico["NUME_ORDRE"] = f ; entier ; Numéro d'ordre du champ +# dico["INST"] = f ; entier ; Instant du champ +# dico["PRECISION"] = f ; entier ; Précision sur l'instant du champ +# dico["CRITERE"] = f ; entier ; Critère de précision sur l'instant du champ +# dico["CHAM_MAJ"] = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage +# dico["NOM_MED"] = o ; string ; Nom MED du champ +# +# 4.2.4.1. Recherche d'un doublon éventuel sur le champ d'indicateur d'erreur +# + if len(dico_indi) > 0 : + imprime_indic = 0 + else : + imprime_indic = 1 # + Liste_Champs_imprime = [] for dico in Liste_Champs : +# Pour un champ à mettre à jour, on a toujours impression + if ( dico["Type_Champ"] == "CHAMP" ) : + Liste_Champs_imprime.append(dico) +# Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour : + if not imprime_indic : +# Est-ce le meme champ ? + ok = 1 + for cle in [ "RESULTAT", "NOM_CHAM" ] : + if ( dico_indi[cle] != dico[cle] ) : + ok = 0 + break +# Si oui, est-ce au meme moment ? (remarque : si rien n'est désigné, c'est qu'il n'y a qu'un +# seul instant ... donc c'est le meme ! En revanche, on ne sait pas comparer une donnée +# en numéro d'ordre et une donnée en instant. On croise les doigts.) + if ok : + for cle in [ "NUME_ORDRE", "INST" ] : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + if dico_indi.has_key(cle) : + if ( dico_indi[cle] != dico[cle] ) : + ok = 0 + break + if ok : imprime_indic = 1 +# Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour, il faut +# l'inclure dans les champs à imprimer + if not imprime_indic : Liste_Champs_imprime.append(dico_indi) +# +# 4.2.4.2. Impressions après le filtrage précédent +# + for dico in Liste_Champs_imprime : motscsi={} - for cle in [ 'RESULTAT', 'NOM_CHAM', 'NUME_ORDRE', 'INST', 'PRECISION', 'CRITERE' ] : + for cle in [ "RESULTAT", "NOM_CHAM", "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : if dico.has_key(cle) : if ( dico[cle] != None ) : motscsi[cle] = dico[cle] - if dico.has_key('COMPOSANTE') : - motscsi['NOM_CMP'] = dico['COMPOSANTE'] + if dico.has_key("COMPOSANTE") : + motscsi["NOM_CMP"] = dico["COMPOSANTE"] motscfa={} - motscfa['RESU']=_F( INFO_MAILLAGE=infomail, + motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, **motscsi ) # @@ -419,28 +475,28 @@ def macr_adap_mail_ops ( self, # 4.3.1.1. ==> Le type de traitement # if ( modhom == "ADAP" ) : - if ( ADAPTATION['UNIFORME'] != None ) : - motscsi['UNIFORME'] = ADAPTATION['UNIFORME'] + if ( ADAPTATION["UNIFORME"] != None ) : + motscsi["UNIFORME"] = ADAPTATION["UNIFORME"] else : - motscsi['ADAPTATION'] = ADAPTATION['LIBRE'] + motscsi["ADAPTATION"] = ADAPTATION["LIBRE"] else : - motscsi['INFORMATION'] = 'OUI' + motscsi["INFORMATION"] = "OUI" # # 4.3.1.2. ==> Les noms med des maillages # for dico in Liste_Maillages : -### print "Nom MED de " + dico['Type_Maillage'] + " = " + dico['NOM_MED'] - motscsi[ 'NOM_MED_'+dico['Type_Maillage'] ] = dico['NOM_MED'] +### print "Nom MED de " + dico["Type_Maillage"] + " = " + dico["NOM_MED"] + motscsi[ "NOM_MED_"+dico["Type_Maillage"] ] = dico["NOM_MED"] # # 4.3.1.3. ==> Les caracteristiques de l'éventuel indicateur d'erreur # for dico in Liste_Champs : - if ( dico['Type_Champ'] == 'INDICATEUR' ) : - Liste_aux = [ 'NOM_MED', 'COMPOSANTE' ] - if dico.has_key('NUME_ORDRE') : - Liste_aux.append('NUME_ORDRE') + if ( dico["Type_Champ"] == "INDICATEUR" ) : + Liste_aux = [ "NOM_MED", "COMPOSANTE" ] + if dico.has_key("NUME_ORDRE") : + Liste_aux.append("NUME_ORDRE") else : - for cle in [ 'RESULTAT', 'NOM_CHAM', 'INST', 'PRECISION', 'CRITERE' ] : + for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] : Liste_aux.append(cle) for cle in Liste_aux : if dico.has_key(cle) : @@ -451,101 +507,117 @@ def macr_adap_mail_ops ( self, # if ( modhom == "ADAP" ) : Liste_aux = [ ] - if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'RAFFINEMENT' ) : - Liste_aux.append('CRIT_RAFF_ABS') - Liste_aux.append('CRIT_RAFF_REL') - Liste_aux.append('CRIT_RAFF_PE') - if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'DERAFFINEMENT' ) : - Liste_aux.append('CRIT_DERA_ABS') - Liste_aux.append('CRIT_DERA_REL') - Liste_aux.append('CRIT_DERA_PE') + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" ) : + Liste_aux.append("CRIT_RAFF_ABS") + Liste_aux.append("CRIT_RAFF_REL") + Liste_aux.append("CRIT_RAFF_PE") + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" ) : + Liste_aux.append("CRIT_DERA_ABS") + Liste_aux.append("CRIT_DERA_REL") + Liste_aux.append("CRIT_DERA_PE") niveau = 0 - if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'RAFFINEMENT' or ADAPTATION['UNIFORME'] == 'RAFFINEMENT' ) : - Liste_aux.append('NIVE_MAX') + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" or ADAPTATION["UNIFORME"] == "RAFFINEMENT" ) : + Liste_aux.append("NIVE_MAX") niveau = niveau + 1 - if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'DERAFFINEMENT' or ADAPTATION['UNIFORME'] == 'DERAFFINEMENT' ) : - Liste_aux.append('NIVE_MIN') + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" or ADAPTATION["UNIFORME"] == "DERAFFINEMENT" ) : + Liste_aux.append("NIVE_MIN") niveau = niveau + 2 for mot_cle in Liste_aux : if ( ADAPTATION[mot_cle] != None ) : motscsi[mot_cle] = ADAPTATION[mot_cle] # if ( niveau == 2 ) : - if ( ADAPTATION['NIVE_MIN'] > ADAPTATION['NIVE_MAX'] ) : + if ( ADAPTATION["NIVE_MIN"] > ADAPTATION["NIVE_MAX"] ) : self.cr.fatal(" Le niveau minimum doit etre inferieur au niveau maximum.") codret = codret + 1 - return codret -# -# 4.3.1.5. ==> Mise à jour de la solution # - if ( MAJ_CHAM != None ) : - motscsi['MAJ_CHAM'] = 'OUI' -# -# 4.3.1.6. ==> Numéro d'itération +# 4.3.1.5. ==> Numéro d'itération # if ( modhom == "ADAP" ) : - motscsi['NITER'] = niter + motscsi["NITER"] = niter # -# 4.3.1.7. ==> Suivi de la frontiere +# 4.3.1.6. ==> Suivi de la frontiere # - if args.has_key('GROUP_MA') : - if ( args['GROUP_MA'] != None ) : - motscsi['GROUP_MA'] = args['GROUP_MA'] + if args.has_key("GROUP_MA") : + if ( args["GROUP_MA"] != None ) : + motscsi["GROUP_MA"] = args["GROUP_MA"] # -# 4.3.1.8. ==> Bilan +# 4.3.1.7. ==> Bilan # - motscfa['TRAITEMENT'] = _F(**motscsi) + motscfa["TRAITEMENT"] = _F(**motscsi) # # 4.3.2. ==> L'analyse # motscsi={} - if ( NOMBRE != None ) : motscsi['NOMBRE' ] = NOMBRE - if ( QUALITE != None ) : motscsi['QUALITE' ] = QUALITE - if ( CONNEXITE != None ) : motscsi['CONNEXITE' ] = CONNEXITE - if ( TAILLE != None ) : motscsi['TAILLE' ] = TAILLE - if ( INTERPENETRATION != None ) : motscsi['INTERPENETRATION' ] = INTERPENETRATION + if ( NOMBRE != None ) : motscsi["NOMBRE" ] = NOMBRE + if ( QUALITE != None ) : motscsi["QUALITE" ] = QUALITE + if ( CONNEXITE != None ) : motscsi["CONNEXITE" ] = CONNEXITE + if ( TAILLE != None ) : motscsi["TAILLE" ] = TAILLE + if ( INTERPENETRATION != None ) : motscsi["INTERPENETRATION" ] = INTERPENETRATION +# + motscfa["ANALYSE"] = _F(**motscsi) # - motscfa['ANALYSE'] = _F(**motscsi) +# 4.3.3. ==> La mise à jour de champs +# + prem = 1 + for dico in Liste_Champs : + motscsi={} + if ( dico["Type_Champ"] == "CHAMP" ) : + Liste_aux = [ "NOM_MED", "COMPOSANTE" ] + if dico.has_key("NUME_ORDRE") : + Liste_aux.append("NUME_ORDRE") + else : + for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] : + Liste_aux.append(cle) + for cle in Liste_aux : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + motscsi[cle] = dico[cle] +### print motscsi + if prem : + motscfa["MAJ_CHAM"] = [_F(**motscsi),] + prem = 0 + else : + motscfa["MAJ_CHAM"].append(_F(**motscsi)) # -# 4.3.3. ==> La commande +# 4.3.4. ==> La commande # -# 4.3.3.1. ==> Les fichiers annexes +# 4.3.4.1. ==> Les fichiers annexes # dico = {} # - Nom_Fichier_Configuration = 'HOMARD.Configuration' - Fichier_Configuration = os.path.join(Rep_Calc_HOMARD_local,'HOMARD.Configuration') -# 1234567890123456 - dico[Fichier_Configuration] = ('HOMARD_CONFIG','FICHIER_CONF',unite) + Nom_Fichier_Configuration = "HOMARD.Configuration" + Fichier_Configuration = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Configuration) + dico[Fichier_Configuration] = ("HOMARD_CONFIG","UNITE_CONF",unite) # if ( modhom != "ADAP" ) : unite = unite + 1 - Nom_Fichier_Donnees = 'HOMARD.Donnees' + Nom_Fichier_Donnees = "HOMARD.Donnees" Fichier_Donnees = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Donnees) # 1234567890123456 - dico[Fichier_Donnees] = ('HOMARD_DONN','FICHIER_DONN',unite) + dico[Fichier_Donnees] = ("HOMARD_DONN","UNITE_DONN",unite) # -# 4.3.3.2. ==> L'ouverture de ces fichiers +# 4.3.4.2. ==> L'ouverture de ces fichiers # for fic in dico.keys() : - DEFI_FICHIER ( ACTION= "ASSOCIER", NOM_SYSTEME = fic, FICHIER = dico[fic][0], UNITE = dico[fic][2], + DEFI_FICHIER ( ACTION= "ASSOCIER", FICHIER = fic, UNITE = dico[fic][2], TYPE = "ASCII", ACCES = "NEW", INFO = INFO ) - motscfa[dico[fic][1]] = dico[fic][0] + motscfa[dico[fic][1]] = dico[fic][2] # -# 4.3.3.3. ==> Ecriture +# 4.3.4.3. ==> Ecriture # ### print motscfa IMPR_FICO_HOMA ( INFO=INFO, LANGUE = LANGUE, NON_SIMPLEXE = NON_SIMPLEXE, **motscfa ) # ### for fic in dico.keys() : ### print "\nContenu de ", fic -### fichier = open (fic,'r') +### fichier = open (fic,"r") ### les_lignes = fichier.readlines() ### fichier.close() ### for ligne in les_lignes : ### print ligne[:-1] # -# 4.3.3.4. ==> La fermeture des fichiers locaux +# 4.3.4.4. ==> La fermeture des fichiers locaux # Remarque : il faut le faire ici pour que le gestionnaire de DEFI_FICHIER soit à jour # Remarque : aujourd'hui on est obligé de passer par le numéro d'unité logique # @@ -562,14 +634,14 @@ def macr_adap_mail_ops ( self, # Remarque : pour le nommage des fichiers d'échange entre ASTER et HOMARD, on utilise # la convention implicite du fort.n des entrees/sorties au format MED # - VERSION_HOMARD=string.replace(VERSION_HOMARD,'_','.') - VERSION_HOMARD=string.replace(VERSION_HOMARD,'N','n') - if ( VERSION_HOMARD[-6:]=='_PERSO' ): -# motscsi['ARGUMENT']=_F('TYPEXE'='-PERSO') + VERSION_HOMARD=string.replace(VERSION_HOMARD,"_",".") + VERSION_HOMARD=string.replace(VERSION_HOMARD,"N","n") + if ( VERSION_HOMARD[-6:]=="_PERSO" ): +# motscsi["ARGUMENT"]=_F("TYPEXE"="-PERSO") VERSION_HOMARD=VERSION_HOMARD[:-6] # if ( modhom == "ADAP" ) : - Nom_Fichier_Donnees = '0' + Nom_Fichier_Donnees = "0" # EXEC_LOGICIEL ( ARGUMENT = (_F(NOM_PARA=Rep_Calc_HOMARD_global), # nom du repertoire _F(NOM_PARA=VERSION_HOMARD), # version de homard @@ -584,39 +656,39 @@ def macr_adap_mail_ops ( self, # La fonction self.DeclareOut(a,b) focntionne ainsi : # a est une chaine de caracteres # b est la variable déclarée dans la commande -# le but est de associer le contenu de b à la vaiable locale qui sera désignée par a +# le but est de associer le contenu de b à la variable locale qui sera désignée par a # Exemple : -# self.DeclareOut('maillage_np1',ADAPTATION['MAILLAGE_NP1']) -# ==> la variable maillage_np1 est identifiée à l'argument 'MAILLAGE_NP1' du mot-clé ADAPTATION +# self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"]) +# ==> la variable maillage_np1 est identifiée à l'argument "MAILLAGE_NP1" du mot-clé ADAPTATION # if ( modhom == "ADAP" ) : # # 4.5.1. ==> Le maillage # - self.DeclareOut('maillage_np1',ADAPTATION['MAILLAGE_NP1']) + self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"]) for dico in Liste_Maillages : - if ( dico['Action'] == 'A_lire' ) : + if ( dico["Action"] == "A_lire" ) : maillage_np1 = LIRE_MAILLAGE ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, - FORMAT = 'MED', - NOM_MED = dico['NOM_MED'], - VERI_MAIL = _F(VERIF='NON'), INFO_MED = INFO, INFO = INFO ) + FORMAT = "MED", + NOM_MED = dico["NOM_MED"], + VERI_MAIL = _F(VERIF="NON"), INFO_MED = INFO, INFO = INFO ) # # 4.5.2. ==> Les champs # for dico in Liste_Champs : - if ( dico['Type_Champ'] == 'CHAMP' ) : + if ( dico["Type_Champ"] == "CHAMP" ) : ### print dico - self.DeclareOut('champ_maj',dico['CHAM_MAJ']) + self.DeclareOut("champ_maj",dico["CHAM_MAJ"]) motscsi={} - for cle in [ 'NUME_ORDRE', 'INST', 'PRECISION', 'CRITERE' ] : + for cle in [ "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : if dico.has_key(cle) : if ( dico[cle] != None ) : motscsi[cle] = dico[cle] - if dico.has_key('NUME_ORDRE') : - motscsi['NUME_PT'] = dico['NUME_ORDRE'] - champ_maj = LIRE_CHAMP ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, FORMAT = 'MED', + if dico.has_key("NUME_ORDRE") : + motscsi["NUME_PT"] = dico["NUME_ORDRE"] + champ_maj = LIRE_CHAMP ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, FORMAT = "MED", MAILLAGE = maillage_np1, - NOM_MED = dico['NOM_MED'], NOM_CMP_IDEM = 'OUI', TYPE_CHAM = dico['TYPE_CHAM'], + NOM_MED = dico["NOM_MED"], NOM_CMP_IDEM = "OUI", TYPE_CHAM = dico["TYPE_CHAM"], INFO = INFO, **motscsi ) # #-------------------------------------------------------------------- diff --git a/Aster/Cata/Macro/macr_ascouf_calc_ops.py b/Aster/Cata/Macro/macr_ascouf_calc_ops.py index 4a590f17..e649c53a 100644 --- a/Aster/Cata/Macro/macr_ascouf_calc_ops.py +++ b/Aster/Cata/Macro/macr_ascouf_calc_ops.py @@ -1,4 +1,5 @@ -#@ MODIF macr_ascouf_calc_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF macr_ascouf_calc_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -16,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM, FOND_FISS,CHARGE,RESU_THER,AFFE_MATERIAU, PRES_REP,ECHANGE,TORS_P1,COMP_INCR,COMP_ELAS, diff --git a/Aster/Cata/Macro/macr_ascouf_mail_ops.py b/Aster/Cata/Macro/macr_ascouf_mail_ops.py index e90913f3..7a5b1075 100644 --- a/Aster/Cata/Macro/macr_ascouf_mail_ops.py +++ b/Aster/Cata/Macro/macr_ascouf_mail_ops.py @@ -1,4 +1,5 @@ -#@ MODIF macr_ascouf_mail_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF macr_ascouf_mail_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,102 +18,10 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -from math import sqrt,cos,sin,pi,tan,log,fabs,ceil,fmod,floor - -################################################################################ -################################################################################ -################################################################################ -# Mathematical utility routines -# Copyright (C) 1999, Wesley Phoa -# -# Reference: Numerical Recipes in C -# [[[[extraits]]]] - -class BracketingException(Exception): - pass - -class RootFindingException(Exception): - pass -class MinimizationException(Exception): - pass -GOLDEN = (1+5**.5)/2 - -# -# MISCELLANEOUS -# - -def sgn(x): - if x==0: - return 0 - else: - return x/abs(x) - -# -# UNIVARIATE ROOT FINDING -# - -def bracket_root(f, interval, max_iterations=50): - """\ -Given a univariate function f and a tuple interval=(x1,x2), -return a new tuple (bracket, fnvals) where bracket=(x1,x2) -brackets a root of f and fnvals=(f(x1),f(x2)). - """ - x1, x2 = interval - if x1==x2: - raise BracketingException("initial interval has zero width") - elif x2= 0: # not currently bracketed - if abs(f1)=0: - raise BracketingException("initial interval does not bracket a root") - x4 = 123456789. - for j in range(max_iterations): - x3 = (x1+x2)/2 - f3 = f(x3) - temp = f3*f3 - f1*f2 - x4, x4old = x3 + (x3-x1)*sgn(f1-f2)*f3/temp**.5, x4 - f4 = f(x4) - if f1*f4<0: # x1 and x4 bracket root - x2, f2 = x4, f4 - else: # x4 and x2 bracket root - x1, f1 = x4, f4 - if min(abs(x1-x2),abs(x4-x4old))72: + raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \ + 'pour GIBI) :\n',nomFichierMGIB + elif len(nomFichierMGIB)<=69: + text = text + "'"+nomFichierMGIB+"';\n" + else: + text = text + "'"+nomFichierMGIB[:69]+"'\n" \ + + "'"+nomFichierMGIB[69:]+"';\n" + text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n" text = text + "dens 1;\n" text = text + "\n" fdgib.write(text) @@ -309,8 +316,16 @@ def write_file_dgib_QQE(unite_mgib,unite_datg,msh_bride,geo_bride): text = text + "**************************************************************\n" text = text + "titre '"+"Bride Quelconque"+"';\n" text = text + "\n" - text = text + "opti dime 3 \n" - text = text + " elem cub8 SAUV FORM '"+nomFichierMGIB+"';\n" + text = text + "nomfich = CHAINE \n" + if len(nomFichierMGIB)>72: + raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \ + 'pour GIBI) :\n',nomFichierMGIB + elif len(nomFichierMGIB)<=69: + text = text + "'"+nomFichierMGIB+"';\n" + else: + text = text + "'"+nomFichierMGIB[:69]+"'\n" \ + + "'"+nomFichierMGIB[69:]+"';\n" + text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n" text = text + "dens 1;\n" text = text + "\n" fdgib.write(text) @@ -414,6 +429,8 @@ def para_text(dico_var,var): # (les brides standards sont décrites dans le fichier Data_Brides.py) #============================================================================================= + + # Imprime tout le catalogue des brides standards disponibles dans un fichier texte def print_bride_std(nom_fichier): text = bride_std() diff --git a/Aster/Cata/Macro/macr_cara_poutre_ops.py b/Aster/Cata/Macro/macr_cara_poutre_ops.py index 3dedd0cd..e0849aff 100644 --- a/Aster/Cata/Macro/macr_cara_poutre_ops.py +++ b/Aster/Cata/Macro/macr_cara_poutre_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_cara_poutre_ops Macro DATE 19/01/2004 AUTEUR DURAND C.DURAND +#@ MODIF macr_cara_poutre_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -558,6 +558,8 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # --- = DU CENTRE DE TORSION/CISAILLEMENT = # --- = DES COEFFICIENTS DE CISAILLEMENT = # ================================================================== + + # diff --git a/Aster/Cata/Macro/macr_fiab_impr_ops.py b/Aster/Cata/Macro/macr_fiab_impr_ops.py index cb48d609..d92a25bc 100644 --- a/Aster/Cata/Macro/macr_fiab_impr_ops.py +++ b/Aster/Cata/Macro/macr_fiab_impr_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_fiab_impr_ops Macro DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macr_fiab_impr_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # RESPONSABLE GNICOLAS G.NICOLAS # def macr_fiab_impr_ops(self, INFO, @@ -64,11 +66,11 @@ def macr_fiab_impr_ops(self, INFO, # 2. Définition d'un fichier d'échange #____________________________________________________________________ # - iunit = DEFI_FICHIER ( ACTION= "ASSOCIER", -# FICHIER = Nom_Symbolique_Fichier_ASTER_vers_FIABILITE, - UNITE = Unite_Fichier_ASTER_vers_FIABILITE, - TYPE = "ASCII", - INFO = INFO ) + DEFI_FICHIER ( ACTION= "ASSOCIER", +# FICHIER = Nom_Symbolique_Fichier_ASTER_vers_FIABILITE, + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + TYPE = "ASCII", + INFO = INFO ) #____________________________________________________________________ # # 4. Ecriture de la valeur cible @@ -96,9 +98,9 @@ def macr_fiab_impr_ops(self, INFO, # 6. Libération du fichier d'échange #____________________________________________________________________ # - iunit = DEFI_FICHIER ( ACTION= "LIBERER", - UNITE = Unite_Fichier_ASTER_vers_FIABILITE, - INFO = INFO ) + DEFI_FICHIER ( ACTION= "LIBERER", + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + INFO = INFO ) # #-------------------------------------------------------------------- # 7. C'est fini ! diff --git a/Aster/Cata/Macro/macr_fiabilite_ops.py b/Aster/Cata/Macro/macr_fiabilite_ops.py index b886ce82..62a10eba 100644 --- a/Aster/Cata/Macro/macr_fiabilite_ops.py +++ b/Aster/Cata/Macro/macr_fiabilite_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_fiabilite_ops Macro DATE 16/01/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF macr_fiabilite_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + # RESPONSABLE GNICOLAS G.NICOLAS # def macr_fiabilite_ops(self, INFO, diff --git a/Aster/Cata/Macro/macr_lign_coupe_ops.py b/Aster/Cata/Macro/macr_lign_coupe_ops.py index 3f0407fb..0d57da06 100644 --- a/Aster/Cata/Macro/macr_lign_coupe_ops.py +++ b/Aster/Cata/Macro/macr_lign_coupe_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_lign_coupe_ops Macro DATE 25/05/2004 AUTEUR DURAND C.DURAND +#@ MODIF macr_lign_coupe_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + ######################################################################## # script PYTHON de creation d un maillage de ligne de coupe diff --git a/Aster/Cata/Macro/macr_recal_ops.py b/Aster/Cata/Macro/macr_recal_ops.py index c5a8759c..308846a5 100644 --- a/Aster/Cata/Macro/macr_recal_ops.py +++ b/Aster/Cata/Macro/macr_recal_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macr_recal_ops Macro DATE 19/01/2004 AUTEUR DURAND C.DURAND +#@ MODIF macr_recal_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + 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 ): diff --git a/Aster/Cata/Macro/macro_elas_mult_ops.py b/Aster/Cata/Macro/macro_elas_mult_ops.py index c0e6b53f..38d6e265 100644 --- a/Aster/Cata/Macro/macro_elas_mult_ops.py +++ b/Aster/Cata/Macro/macro_elas_mult_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_elas_mult_ops Macro DATE 28/05/2004 AUTEUR LEBOUVIE F.LEBOUVIER +#@ MODIF macro_elas_mult_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_elas_mult_ops(self,MODELE,CHAM_MATER,CARA_ELEM,NUME_DDL, CHAR_MECA_GLOBAL,CHAR_CINE_GLOBAL,LIAISON_DISCRET, CAS_CHARGE,SOLVEUR,**args): diff --git a/Aster/Cata/Macro/macro_matr_ajou_ops.py b/Aster/Cata/Macro/macro_matr_ajou_ops.py index 7820bb53..34595923 100644 --- a/Aster/Cata/Macro/macro_matr_ajou_ops.py +++ b/Aster/Cata/Macro/macro_matr_ajou_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_matr_ajou_ops Macro DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF macro_matr_ajou_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,8 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATION,MODE_MECA,DEPL_IMPO, NUME_DDL_GENE,MODELE_GENE,MATR_MASS_AJOU,MATR_AMOR_AJOU,MATR_RIGI_AJOU, NOEUD_DOUBLE,FLUIDE,DDL_IMPO,DIST_REFE,SOLVEUR,INFO,AVEC_MODE_STAT, diff --git a/Aster/Cata/Macro/macro_matr_asse_ops.py b/Aster/Cata/Macro/macro_matr_asse_ops.py index 978a96bd..5466b685 100644 --- a/Aster/Cata/Macro/macro_matr_asse_ops.py +++ b/Aster/Cata/Macro/macro_matr_asse_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_matr_asse_ops Macro DATE 19/01/2004 AUTEUR DURAND C.DURAND +#@ MODIF macro_matr_asse_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, SOLVEUR,NUME_DDL,CHARGE,INST,**args): """ diff --git a/Aster/Cata/Macro/macro_miss_3d_ops.py b/Aster/Cata/Macro/macro_miss_3d_ops.py index f08d3a0f..1f41d12e 100644 --- a/Aster/Cata/Macro/macro_miss_3d_ops.py +++ b/Aster/Cata/Macro/macro_miss_3d_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_miss_3d_ops Macro DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macro_miss_3d_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, UNITE_MODELE_SOL,UNITE_RESU_IMPE, PROJET,REPERTOIRE,OPTION,**args): @@ -36,7 +38,7 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, #self.icmd=1 self.set_icmd(1) - iunit = DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER) + DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER) import aster loc_fic=aster.repout() diff --git a/Aster/Cata/Macro/macro_mode_meca_ops.py b/Aster/Cata/Macro/macro_mode_meca_ops.py index 7bf31559..882890eb 100644 --- a/Aster/Cata/Macro/macro_mode_meca_ops.py +++ b/Aster/Cata/Macro/macro_mode_meca_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_mode_meca_ops Macro DATE 20/01/2003 AUTEUR DURAND C.DURAND +#@ MODIF macro_mode_meca_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_mode_meca_ops(self,MATR_A,MATR_B,INFO,METHODE,OPTION,CALC_FREQ, VERI_MODE,NORM_MODE,FILTRE_MODE,IMPRESSION,**args): """ diff --git a/Aster/Cata/Macro/macro_proj_base_ops.py b/Aster/Cata/Macro/macro_proj_base_ops.py index b1ea269f..edfee029 100644 --- a/Aster/Cata/Macro/macro_proj_base_ops.py +++ b/Aster/Cata/Macro/macro_proj_base_ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF macro_proj_base_ops Macro DATE 19/01/2004 AUTEUR DURAND C.DURAND +#@ MODIF macro_proj_base_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args): """ Ecriture de la macro MACRO_PROJ_BASE diff --git a/Aster/Cata/Macro/reca_algo.py b/Aster/Cata/Macro/reca_algo.py index a1c146db..319d6d67 100644 --- a/Aster/Cata/Macro/reca_algo.py +++ b/Aster/Cata/Macro/reca_algo.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF reca_algo Macro DATE 06/04/2004 AUTEUR DURAND C.DURAND +#@ MODIF reca_algo Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + import Numeric from Numeric import take import copy,os diff --git a/Aster/Cata/Macro/reca_interp.py b/Aster/Cata/Macro/reca_interp.py index 1a903fb7..00ad62d2 100644 --- a/Aster/Cata/Macro/reca_interp.py +++ b/Aster/Cata/Macro/reca_interp.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF reca_interp Macro DATE 19/01/2004 AUTEUR DURAND C.DURAND +#@ MODIF reca_interp Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -24,6 +24,8 @@ import Macro from Macro.recal import calcul_F #=========================================================================================== + + # INTERPOLATION, CALCUL DE SENSIBILITE, ETC.... #-------------------------------------- diff --git a/Aster/Cata/Macro/reca_message.py b/Aster/Cata/Macro/reca_message.py index d91fee1f..0691b785 100644 --- a/Aster/Cata/Macro/reca_message.py +++ b/Aster/Cata/Macro/reca_message.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF reca_message Macro DATE 13/01/2003 AUTEUR PABHHHH N.TARDIEU +#@ MODIF reca_message Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -21,6 +21,8 @@ import os,Numeric #=========================================================================================== + + # AFFICHAGE DES MESSAGES class Message : diff --git a/Aster/Cata/Macro/recal.py b/Aster/Cata/Macro/recal.py index d625e8e2..a801a417 100644 --- a/Aster/Cata/Macro/recal.py +++ b/Aster/Cata/Macro/recal.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF recal Macro DATE 16/06/2004 AUTEUR DURAND C.DURAND +#@ MODIF recal Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # ====================================================================== + + import string import copy import Numeric @@ -27,7 +29,7 @@ import Gnuplot import Cata from Cata.cata import INCLUDE,DETRUIRE from Accas import _F -from Utilitai.extract import EXTRACT +#from Utilitai.extract import EXTRACT import os diff --git a/Aster/Cata/Macro/stanley_ops.py b/Aster/Cata/Macro/stanley_ops.py index 2729d26c..4b4207c1 100644 --- a/Aster/Cata/Macro/stanley_ops.py +++ b/Aster/Cata/Macro/stanley_ops.py @@ -1,4 +1,5 @@ -#@ MODIF stanley_ops Macro DATE 05/04/2004 AUTEUR ASSIRE A.ASSIRE +#@ MODIF stanley_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +18,8 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + + def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): """ diff --git a/Aster/Cata/Macro/test_fichier_ops.py b/Aster/Cata/Macro/test_fichier_ops.py index a8854743..5425c892 100644 --- a/Aster/Cata/Macro/test_fichier_ops.py +++ b/Aster/Cata/Macro/test_fichier_ops.py @@ -1,4 +1,5 @@ -#@ MODIF test_fichier_ops Macro DATE 30/03/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF test_fichier_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -17,7 +18,7 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args): +def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args): """ Macro TEST_FICHIER permettant de tester la non-regression d'un fichier 'a une tolerance' pres pour les nombres reels en calculant @@ -32,42 +33,73 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN # 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') - TEST_TABLE =self.get_cmd('TEST_TABLE') + INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER') + DETRUIRE = self.get_cmd('DETRUIRE') + CREA_TABLE = self.get_cmd('CREA_TABLE') + TEST_TABLE = self.get_cmd('TEST_TABLE') import os.path + import re + from types import StringType from Macro.test_fichier_ops import md5file - # calcule le md5sum du fichier - ier, mdsum = md5file(NOM_SYSTEME, NB_CHIFFRE, EPSILON, INFO) - if ier != 0: - if ier==4: - texte_erreur='Fichier inexistant : '+NOM_SYSTEME + # vérifie la syntaxe des expressions régulières fournies + l_regexp=[] + if args['EXPR_IGNORE']: + if type(args['EXPR_IGNORE']) is StringType: + lexp = [args['EXPR_IGNORE']] else: - texte_erreur='Erreur dans md5file, code retour = '+str(ier) - texte_erreur=' '+texte_erreur -# raise aster.FatalError,texte_erreur - self.cr.fatal(texte_erreur) - return ier + lexp = args['EXPR_IGNORE'] + for exp in lexp: + try: + obj=re.compile(exp) + except re.error, s: + print ' '+str(s)+' pour "'+exp+'"' + else: + l_regexp.append(exp) + if len(l_regexp) < len(lexp): + self.cr.fatal(' Expression régulière invalide (voir )') + - # comparaison a la reference is_ok=0 - if INFO > 0 : - print ' %-20s : %32s' % ('REFERENCE',VALE_K) - print - if mdsum == VALE_K: - is_ok=1 + # vérifier que le fichier a été fermé + tinfo__ = INFO_EXEC_ASTER(LISTE_INFO='ETAT_UNITE', FICHIER=FICHIER) + + if tinfo__['ETAT_UNITE',1].find('OUVERT')>-1: + print " LE FICHIER N'A PAS ETE FERME :\n",FICHIER + + # fichier correctement fermé + else: + # calcule le md5sum du fichier + ier, mdsum = md5file(FICHIER, NB_CHIFFRE, EPSILON, l_regexp, INFO) + if ier != 0: + if ier==4: + texte_erreur='Fichier inexistant : '+FICHIER + else: + texte_erreur='Erreur dans md5file, code retour = '+str(ier) + texte_erreur=' '+texte_erreur + # aujourd'hui, je ne sais pas déclencher autre chose que ... + self.cr.fatal(texte_erreur) + return ier + + # comparaison a la reference + if INFO > 0 : + print ' %-20s : %32s' % ('REFERENCE',VALE_K) + print + + if mdsum == VALE_K: + is_ok=1 # produit le TEST_TABLE - __tab1=CREA_TABLE(LISTE=(_F(PARA='TEST', + tab1__=CREA_TABLE(LISTE=(_F(PARA='TEST', TYPE_K='K8', LISTE_K='VALEUR ',), _F(PARA='BOOLEEN', LISTE_I=is_ok,),),) if args['REFERENCE'] == 'NON_REGRESSION': - TEST_TABLE(FICHIER=FICHIER, - TABLE=__tab1, + TEST_TABLE(UNITE=UNITE, + TABLE=tab1__, FILTRE=_F(NOM_PARA='TEST', VALE_K='VALEUR ',), NOM_PARA='BOOLEEN', @@ -77,8 +109,8 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN REFERENCE=args['REFERENCE'], VERSION=args['VERSION'],) else: - TEST_TABLE(FICHIER=FICHIER, - TABLE=__tab1, + TEST_TABLE(UNITE=UNITE, + TABLE=tab1__, FILTRE=_F(NOM_PARA='TEST', VALE_K='VALEUR ',), NOM_PARA='BOOLEEN', @@ -86,17 +118,21 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN PRECISION=1.e-3, CRITERE='ABSOLU', REFERENCE=args['REFERENCE'],) + + DETRUIRE(CONCEPT=_F(NOM=('tinfo__','tab1__'),),) return ier -def md5file(fich,nbch,epsi,info=0): +def md5file(fich,nbch,epsi,regexp_ignore=[],info=0): """ Cette methode retourne le md5sum d'un fichier en arrondissant les nombres reels a la valeur significative. IN : - fich : nom du fichier - nbch : nombre de decimales significatives - epsi : valeur en deca de laquelle on prend 0. + fich : nom du fichier + nbch : nombre de decimales significatives + epsi : valeur en deca de laquelle on prend 0 + regexp_ignore : liste d'expressions régulières permettant d'ignorer + certaines lignes OUT : code retour : 0 si ok, >0 sinon md5sum @@ -116,23 +152,34 @@ def md5file(fich,nbch,epsi,info=0): format_float='%'+str(nbch+7)+'.'+str(nbch)+'g' m=md5.new() i=0 - for ligne in f.xreadlines(): -#python2.3 for ligne in f: + for ligne in f: i=i+1 + if info>=2: + print 'LIGNE',i, # pour decouper 123E+987-1.2345 # r=re.split(' +|([0-9]+)\-+',ligne) - r=string.split(ligne) - for x in r: - try: - if abs(float(x))=2: - print 'LIGNE',i,'VALEUR RETENUE',s - m.update(s) + keep=True + for exp in regexp_ignore: + if re.search(exp,ligne): + keep=False + if info>=2: + print ' >>>>>>>>>> IGNOREE <<<<<<<<<<', + break + if keep: + r=string.split(ligne) + for x in r: + try: + if abs(float(x))=2: + print ' %s' % s, + m.update(s) + if info>=2: + print f.close() md5sum=m.hexdigest() if info>=1: diff --git a/Aster/Cata/cata_STA7.py b/Aster/Cata/cata_STA7.py index d486f545..1b1ada34 100755 --- a/Aster/Cata/cata_STA7.py +++ b/Aster/Cata/cata_STA7.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#& MODIF ENTETE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF ENTETE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -17,12 +17,13 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + import Accas from Accas import * from Accas import _F import string import Numeric -from math import sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,exp,log,log10 +from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10 from math import sqrt,pi import ops @@ -33,7 +34,7 @@ except: # __version__="$Name: $" -__Id__="$Id: cata_STA7.py,v 1.7 2004/09/10 15:51:43 eficas Exp $" +__Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $" # JdC = JDC_CATA(code='ASTER', execmodul=None, @@ -41,11 +42,10 @@ JdC = JDC_CATA(code='ASTER', AU_MOINS_UN('FIN'), A_CLASSER(('DEBUT','POURSUITE'),'FIN'))) # Type le plus general -class entier (ASSD):pass -class reel (ASSD):pass -class complexe (ASSD):pass -class chaine (ASSD):pass - +class entier (ASSD): + def __init__(self,valeur=None,**args): + ASSD.__init__(self,**args) + self.valeur=valeur # Type geometriques class no (GEOM):pass @@ -357,16 +357,16 @@ class fonction_class(ASSD): def Valeurs(self):pass def Parametres(self): """ - Retourne un dictionnaire contenant les paramètres de la fonction ; - le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourné, - le dictionnaire peut ainsi etre fourni à CALC_FONC_INTERP tel quel. + Retourne un dictionnaire contenant les parametres de la fonction ; + le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. """ TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL') dico={ 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:4], - 'NOM_RESU' : prol[3][0:4], + 'NOM_PARA' : prol[2][0:16], + 'NOM_RESU' : prol[3][0:16], 'PROL_DROITE' : TypeProl[prol[4][0]], 'PROL_GAUCHE' : TypeProl[prol[4][1]], } @@ -374,40 +374,67 @@ class fonction_class(ASSD): class fonction_sdaster(fonction_class): def Valeurs(self) : """ - Retourne deux listes de valeurs : abscisses et ordonnées + Retourne deux listes de valeurs : abscisses et ordonnees """ - vale=string.ljust(self.get_name(),19)+'.VALE' - lbl=list(aster.getvectjev(vale)) - dim=len(lbl)/2 - lx=lbl[0:dim] - ly=lbl[dim:2*dim] - return [lx,ly] + if self.etape.nom=='DEFI_FONCTION' : + lbl=list(self.etape['VALE']) + dim=len(lbl) + lx=[lbl[i] for i in range(0,dim,2)] + ly=[lbl[i] for i in range(1,dim,2)] + return [lx,ly] + else : + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + dim=len(lbl)/2 + lx=lbl[0:dim] + ly=lbl[dim:2*dim] + return [lx,ly] + def __call__(self,val): + lx,ly=self.Valeurs() + n=len(lx) + if val in lx : return ly[lx.index(val)] + lx.append(val) + lx.sort() + indic=lx.index(val) + if indic==0 : + if self.etape['PROL_GAUCHE']=='CONSTANT':return ly[0] + if indic==n : + if self.etape['PROL_DROITE']=='CONSTANT':return ly[n-1] + return (ly[indic-1]+(ly[indic]-ly[indic-1])*(val-lx[indic-1])/(lx[indic+1]-lx[indic-1])) class para_sensi(fonction_sdaster): def Parametres(self):pass class fonction_c(fonction_class): def Valeurs(self) : """ - Retourne trois listes de valeurs : abscisses, parties réelles et imaginaires. + Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. """ - vale=string.ljust(self.get_name(),19)+'.VALE' - lbl=list(aster.getvectjev(vale)) - dim=len(lbl)/3 - lx=lbl[0:dim] - lr=[] - li=[] - for i in range(dim): - lr.append(lbl[dim+2*i]) - li.append(lbl[dim+2*i+1]) - return [lx,lr,li] + if self.etape.nom=='DEFI_FONCTION' : + lbl=list(self.etape['VALE_C']) + dim=len(lbl) + lx=[lbl[i] for i in range(0,dim,3)] + lr=[lbl[i] for i in range(1,dim,3)] + li=[lbl[i] for i in range(2,dim,3)] + return [lx,lr,li] + else : + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + dim=len(lbl)/3 + lx=lbl[0:dim] + lr=[] + li=[] + for i in range(dim): + lr.append(lbl[dim+2*i]) + li.append(lbl[dim+2*i+1]) + return [lx,lr,li] class nappe_sdaster(fonction_class): def Valeurs(self): """ - Retourne la liste des valeurs du paramètre, - et une liste de couples (abscisses,ordonnées) de chaque fonction. + Retourne la liste des valeurs du parametre, + et une liste de couples (abscisses,ordonnees) de chaque fonction. """ nsd=string.ljust(self.get_name(),19) dicv=aster.getcolljev(nsd+'.VALE') - # les clés de dicv sont 1,...,N (indice du paramètre) + # les cles de dicv sont 1,...,N (indice du parametre) lpar=aster.getvectjev(nsd+'.PARA') lval=[] for k in range(len(dicv)): @@ -417,17 +444,17 @@ class nappe_sdaster(fonction_class): return [lpar,lval] def Parametres(self): """ - Retourne un dictionnaire contenant les paramètres de la nappe, - le type jeveux (NAPPE) n'est pas retourné, - le dictionnaire peut ainsi etre fourni à CALC_FONC_INTERP tel quel, - et une liste de dictionnaire des paramètres de chaque fonction. + Retourne un dictionnaire contenant les parametres de la nappe, + le type jeveux (NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, + et une liste de dictionnaire des parametres de chaque fonction. """ TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL') dico={ 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:4], - 'NOM_RESU' : prol[3][0:4], + 'NOM_PARA' : prol[2][0:16], + 'NOM_RESU' : prol[3][0:16], 'PROL_DROITE' : TypeProl[prol[4][0]], 'PROL_GAUCHE' : TypeProl[prol[4][1]], 'NOM_PARA_FONC' : prol[5][0:4], @@ -529,7 +556,8 @@ class vect_elem_depl_r(vect_elem):pass class vect_elem_pres_c(vect_elem):pass class vect_elem_pres_r(vect_elem):pass class vect_elem_temp_r(vect_elem):pass -#& MODIF COMMUN DATE 10/06/2004 AUTEUR REZETTE C.REZETTE + +#& MODIF COMMUN DATE 04/10/2004 AUTEUR GODARD V.GODARD # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -551,12 +579,15 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# RELATION =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC", into=( "ELAS", "VMIS_ISOT_TRAC", + "VISC_ISOT_TRAC", "VMIS_ISOT_LINE", + "VISC_ISOT_LINE", "VMIS_ECMI_TRAC", "VMIS_ECMI_LINE", "LABORD_1D", "ENDO_FRAGILE", "ENDO_ISOT_BETON", + "ENDO_ORTH_BETON", "MAZARS", "JOINT_BA", "RUPT_FRAG", @@ -644,17 +675,21 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "SANS", "CORR_ACIER", "MONOCRISTAL", + "POLYCRISTAL", ) ), ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), SANS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - CORR_ACIER =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + CORR_ACIER =SIMP(statut='c',typ='I',defaut=3,into=(3,)), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VISC_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=3,into=(3,)), VMIS_ISOT_LINE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VISC_ISOT_LINE =SIMP(statut='c',typ='I',defaut=3,into=(3,)), VMIS_ECMI_TRAC =SIMP(statut='c',typ='I',defaut=8,into=(8,)), VMIS_ECMI_LINE =SIMP(statut='c',typ='I',defaut=8,into=(8,)), - LABORD_1D =SIMP(statut='c',typ='I',defaut=5,into=(5,)), + LABORD_1D =SIMP(statut='c',typ='I',defaut=5,into=(5,)), ENDO_FRAGILE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)), MAZARS =SIMP(statut='c',typ='I',defaut=3,into=(3,)), JOINT_BA =SIMP(statut='c',typ='I',defaut=6,into=(6,)), RUPT_FRAG =SIMP(statut='c',typ='I',defaut=1,into=(1,)), @@ -739,6 +774,11 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# fr="SD issue de DEFI_COMPOR", COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), # + b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ", + fr="SD issue de DEFI_COMPOR", + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), +# + RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), @@ -1070,7 +1110,7 @@ def C_TYPE_CHAM_INTO() : return ("ACCE", #COMMUN# "NOEU_VNOR_C", "ELEM_VARI_R", "ELNO_VNOR_C", "ELGA_VNOR_C", "ELEM_VNOR_C", ) -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -1093,52 +1133,79 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, fr="Affectation de caractéristiques à des éléments de structure", reentrant='n', UIinfo={"groupes":("Modélisation",)}, - regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','MASSIF', + regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', 'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),), MODELE =SIMP(statut='o',typ=modele_sdaster ), INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ), +#============================================================================ POUTRE =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SECTION =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ), CARA_SECT =SIMP(statut='f',typ=(cara_pout) ), - TUYAU_NCOU =SIMP(statut='f',typ='I',val_max=10,defaut=3), - TUYAU_NSEC =SIMP(statut='f',typ='I',val_max=32,defaut=16), + SECTION =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ), b_generale =BLOC( condition = "SECTION=='GENERALE'", - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15, + fr="A,IY,IZ,JX sont des paramètres obligatoires", into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", - "AI","JG","IYR2","IZR2","A1", - "IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", - "RZ1","RT1","AI1","JG1","IYR21","IZR21","A2", - "IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", - "RZ2","RT2","AI2","JG2","IYR22","IZR22","H", - "HZ","HY","EP","EPY","EPZ","H1","HZ1","HY1", - "EP1","EPY1","EPZ1","H2","HZ2","HY2","EP2", - "EPY2","EPZ2","R","R1","R2") ), - VALE =SIMP(statut='o',typ='R',max='**'), - VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ), + "JG","IYR2","IZR2","AI") ), + VALE =SIMP(statut='o',typ='R',min=4 ,max=15), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30, + fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires", + into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", + "RZ1","RT1","JG1","IYR21","IZR21","AI1", + "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", + "RZ2","RT2","JG2","IYR22","IZR22","AI2") ), + VALE =SIMP(statut='o',typ='R',min=8 ,max=30), + ), ), b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("H","EP","HY","HZ","EPY","EPZ", - "H1","HZ1","HY1","EP1","EPY1","EPZ1", - "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), - VALE =SIMP(statut='o',typ='R',max='**'), - VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE","AFFINE"),defaut="HOMOTHETIQUE"), + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4, + into=("H","EP", "HY","HZ","EPY","EPZ") ), + VALE =SIMP(statut='o',typ='R',min=1 ,max=4), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8, + into=("H1","HZ1","HY1","EP1","EPY1","EPZ1", + "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), + VALE =SIMP(statut='o',typ='R',min=2 ,max=8), + ), + b_affine =BLOC( condition = "VARI_SECT=='AFFINE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6, + into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ), + VALE =SIMP(statut='o',typ='R',min=3 ,max=6), + ), ), b_cercle =BLOC( condition = "SECTION=='CERCLE'", - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("R","EP","R1","R2","EP1","EP2") ), - VALE =SIMP(statut='o',typ='R',max='**'), - VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ), + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2, + fr="R est un paramètre obligatoire", + into=("R","EP") ), + VALE =SIMP(statut='o',typ='R',min=1 ,max=2), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4, + fr="R1, R2 sont des paramètres obligatoires", + into=("R1","R2","EP1","EP2") ), + VALE =SIMP(statut='o',typ='R',min=2 ,max=4), + ), MODI_METRIQUE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TUYAU_NSEC =SIMP(statut='f',typ='I',val_max=32,defaut=16), + TUYAU_NCOU =SIMP(statut='f',typ='I',val_max=10,defaut=3), ), - FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), +#============================================================================ BARRE =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -1146,19 +1213,22 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, SECTION =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), b_generale =BLOC( condition = "SECTION=='GENERALE'", CARA =SIMP(statut='o',typ='TXM',into=("A",) ), - VALE =SIMP(statut='o',typ='R' ), + VALE =SIMP(statut='o',typ='R',min=1,max=1 ), ), b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", - CARA =SIMP(statut='o',typ='TXM',into=("H","HZ","HY","EPY","EPZ","EP"),validators=NoRepeat(),max=6 ), - VALE =SIMP(statut='o',typ='R',max=6 ), + CARA =SIMP(statut='o',typ='TXM',into=("H","EP", + "HZ","HY","EPY","EPZ"), + validators=NoRepeat(),min=1,max=4 ), + VALE =SIMP(statut='o',typ='R',min=1,max=4 ), ), b_cercle =BLOC( condition = "SECTION=='CERCLE'", - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("R","EP") ), - VALE =SIMP(statut='o',typ='R',max=2 ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ), + VALE =SIMP(statut='o',typ='R',min=1,max=2 ), ), FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), +#============================================================================ COQUE =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA' ), PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),), @@ -1174,6 +1244,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, MODI_METRIQUE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), +#============================================================================ CABLE =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -1183,6 +1254,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), +#============================================================================ DISCRET =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -1191,16 +1263,112 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), AMOR_HYST =SIMP(statut='f',typ='R' ), - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L", - "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N","M_TR_D_N","M_T_N", - "M_T_L", "M_TR_N", "M_TR_L", + "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N","M_TR_D_N","M_T_N", + "M_T_L", "M_TR_N", "M_TR_L", "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L", - "A_T_N", "A_T_L", "A_TR_N", "A_TR_L") ), - VALE =SIMP(statut='o',typ='R',max='**'), - ), - + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L") ), + +# affection des caractéristiques de RIGIDITE/AMORTISSEMENT + b_K_T_D_N =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_D_L =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_T_N =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_T_L =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_K_TR_N =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_K_TR_L =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')", + VALE =SIMP(statut='o',typ='R',min=78,max=78),), + +# affection des caractéristiques de MASSE + b_M_T_D_N =BLOC(condition = "CARA=='M_T_D_N'", + fr="NOEUD: 1 valeur de masse", + VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'", + fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_M_T_N =BLOC(condition = "CARA=='M_T_N'", + fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_M_T_L =BLOC(condition = "CARA=='M_T_L'", + fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_M_TR_N =BLOC(condition = "CARA=='M_TR_N'", + fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_M_TR_L =BLOC(condition = "CARA=='M_TR_L'", + fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=78,max=78),), + ), + +#============================================================================ + DISCRET_2D =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST =SIMP(statut='f',typ='R' ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L", + "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N","M_T_N", "M_TR_D_N", + "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L", + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L") ), + +# affection des caractéristiques de RIGIDITE/AMORTISSEMENT + b_K_T_D_N =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')", + VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_K_T_D_L =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')", + VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_N =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_L =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_K_TR_N =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6),), + b_K_TR_L =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + +# affection des caractéristiques de MASSE + b_M_T_D_N =BLOC(condition = "CARA=='M_T_D_N'", + fr="NOEUD: 1 valeur de masse", + VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'", + fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ", + VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),), + b_M_T_N =BLOC(condition = "CARA=='M_T_N'", + fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_M_T_L =BLOC(condition = "CARA=='M_T_L'", + fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_M_TR_N =BLOC(condition = "CARA=='M_TR_N'", + fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_M_TR_L =BLOC(condition = "CARA=='M_TR_L'", + fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + ), + +#============================================================================ ORIENTATION =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -1214,6 +1382,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), +#============================================================================ DEFI_ARC =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'), UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE', @@ -1245,6 +1414,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), +#============================================================================ MASSIF =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'), UN_PARMI('ANGL_REP','ANGL_AXE'), @@ -1258,6 +1428,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, ORIG_AXE =SIMP(statut='f',typ='R',max=3), ), +#============================================================================ POUTRE_FLUI =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -1270,6 +1441,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, COEF_ECHELLE =SIMP(statut='o',typ='R'), ), +#============================================================================ GRILLE =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'), EXCLUS('ANGL_REP','ORIG_AXE'), @@ -1285,6 +1457,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, GRILLE_NCOU =SIMP(statut='f',typ='I',defaut= 1,), ), +#============================================================================ RIGI_PARASOL =FACT(statut='f',max='**', regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'), UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),), @@ -1293,13 +1466,15 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), COEF_GROUP =SIMP(statut='f',typ='R',max='**'), REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("K_TR_D_N","A_TR_D_N") ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + into=("K_TR_D_N","A_TR_D_N") ), VALE =SIMP(statut='o',typ='R',max='**'), GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), NOEUD_CENTRE =SIMP(statut='f',typ=no), COOR_CENTRE =SIMP(statut='f',typ='R',max='**'), ), +#============================================================================ RIGI_MISS_3D =FACT(statut='f',max='**', GROUP_MA_POI1 =SIMP(statut='o',typ=ma,max=1), GROUP_MA_SEG2 =SIMP(statut='f',typ=ma,max=1), @@ -1307,6 +1482,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), ), +#============================================================================ ASSE_GRIL =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -1321,6 +1497,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, ), +#============================================================================ AFFE_SECT =FACT(statut='f',max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'), @@ -1340,6 +1517,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, ), +#============================================================================ AFFE_FIBRE =FACT(statut='f',max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), @@ -1543,7 +1721,7 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_pr ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 31/08/2004 AUTEUR JMBHH01 J.M.PROIX +#& MODIF COMMANDE DATE 07/10/2004 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -1847,7 +2025,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**', regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), + into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), @@ -1858,12 +2036,15 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TOLE_PROJ =SIMP(statut='f',typ='R',defaut=0.25), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R',defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R',defaut=0.001), + ITER_MULT_MAX =SIMP(statut='f',typ='I',defaut=4), + b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", fr="Paramètres de la méthode des contraintes actives (contact uniquement)", regles=(EXCLUS('DIST_2','COEF_IMPO'), EXCLUS('DIST_1','COEF_IMPO'),), - NOM_CHAM=SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")), FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), @@ -1925,12 +2106,12 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ),), b_continue =BLOC(condition = "METHODE == 'CONTINUE' ", fr="Paramètres de la méthode continue (contact avec ou sans frottement)", - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")), COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), - FORMULATION =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), + FORMULATION =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), DIRE_APPA =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,)), ITER_GEOM_MAXI =SIMP(statut='f',typ='I',defaut=2), ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), @@ -2379,7 +2560,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 31/08/2004 AUTEUR JMBHH01 J.M.PROIX +#& MODIF COMMANDE DATE 07/10/2004 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2532,7 +2713,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**', regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), + into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), @@ -2543,12 +2724,14 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TOLE_PROJ =SIMP(statut='f',typ='R',defaut=0.25), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R',defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R',defaut=0.001), + ITER_MULT_MAX =SIMP(statut='f',typ='I',defaut=4), b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", fr="Paramètres de la méthode des contraintes actives (contact uniquement)", regles=(EXCLUS('DIST_2','COEF_IMPO'), EXCLUS('DIST_1','COEF_IMPO'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")), FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), @@ -2558,7 +2741,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - COEF_IMPO =SIMP(statut='f',typ='R'), + COEF_IMPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), COEF_MULT_2 =SIMP(statut='f',typ='R'), VECT_NORM_2 =SIMP(statut='f',typ='R',max=3), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), @@ -4540,7 +4723,7 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 27/09/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4559,13 +4742,10 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def calc_fonc_interp_prod(FONCTION,**args): - if AsType(FONCTION)==nappe_sdaster : return nappe_sdaster + if AsType(FONCTION) ==nappe_sdaster : return nappe_sdaster elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster elif AsType(FONCTION)==fonction_c : return fonction_c - elif AsType(FONCTION)==formule : - dict=FONCTION.etape.cree_dict_valeurs(FONCTION.etape.mc_liste) - if dict['REEL'] !=None : return fonction_sdaster - elif dict['COMPLEXE']!=None : return fonction_c + elif AsType(FONCTION)==formule : return fonction_sdaster raise AsException("type de concept resultat non prevu") CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, @@ -4573,25 +4753,26 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - NOM_PARA =SIMP(statut='o',typ='TXM'), VALE_PARA =SIMP(statut='f',typ='R',max='**'), LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ), + NOM_RESU =SIMP(statut='f',typ='TXM'), + NOM_PARA =SIMP(statut='f',typ='TXM'), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), NOM_PARA_FONC =SIMP(statut='f',typ='TXM'), b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None", - regles=(EXCLUS('VALE_PARA_FONC','LIST_PARA_FONC'),), + regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),), VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'), LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG")), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ), ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + ), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 27/09/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4662,7 +4843,7 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op= 91,sd_prod=calc_fonction_prod FONCTION =SIMP(statut='o',typ=fonction_sdaster), COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), ), - RMS =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction", + RMS =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",max='**', METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), FONCTION =SIMP(statut='o',typ=fonction_sdaster ), INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), @@ -4725,7 +4906,7 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op= 91,sd_prod=calc_fonction_prod AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='f',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ), + NORME =SIMP(statut='o',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ), NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), NATURE_FONC =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), ), @@ -6290,7 +6471,7 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 06/09/2004 AUTEUR CIBHHLV L.VIVAN # RESPONSABLE MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -6416,6 +6597,8 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), # @@ -6559,7 +6742,7 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', ), ) ; -#& MODIF COMMANDE DATE 06/07/2004 AUTEUR CIBHHPD S.VANDENBERGHE +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -6583,6 +6766,7 @@ def crea_table_prod(TYPE_TABLE,**args): if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea + if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp raise AsException("type de concept resultat non prevu") CREA_TABLE=OPER(nom="CREA_TABLE",op= 36,sd_prod=crea_table_prod, @@ -6596,7 +6780,8 @@ CREA_TABLE=OPER(nom="CREA_TABLE",op= 36,sd_prod=crea_table_prod, "TABL_CARA_GEOM", "TABL_POST_RELE", "TABL_POST_USUR", - "TABL_POST_ALEA" ) ), + "TABL_POST_ALEA", + "TABL_INTE_SPEC" ) ), LISTE=FACT(statut='f',min=2,max='**', fr="Creation d'une table a partir de listes", regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), @@ -6867,7 +7052,7 @@ DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont, PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), ), ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR JMBHH01 J.M.PROIX +#& MODIF COMMANDE DATE 27/09/2004 AUTEUR JMBHH01 J.M.PROIX # RESPONSABLE JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -6890,8 +7075,9 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, fr="Définition du comportement monocristallin", reentrant='n', UIinfo={"groupes":("Modélisation",)}, - - MONOCRISTAL =FACT(statut='o', max='**', + regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),), + + MONOCRISTAL =FACT(statut='f', max='**', MATER =SIMP(statut='o', typ=mater_sdaster, max=1), ECOULEMENT =SIMP(statut='o', typ='TXM', max=1, fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"), @@ -6903,7 +7089,28 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"), FAMI_SYST_GLIS =SIMP(statut='o',typ='TXM', max=1, into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1', - 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),),); + 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),), + ), + + + POLYCRISTAL =FACT(statut='f', max='**', + MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1), + FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"), + ANGL_REP =SIMP(statut='o',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"), + ), + + + b_poly =BLOC( condition = "POLYCRISTAL!='None'", + LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',), + fr="Donner le nom de la règle de localisation"), + + b_beta =BLOC( condition = "LOCALISATION=='BETA'", + DL =SIMP(statut='o',typ='R',max=1), + DA =SIMP(statut='o',typ='R',max=1), + ), + ), + + ); #& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION @@ -6962,7 +7169,7 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant=' UNITE =SIMP(statut='f',typ='I',defaut=8), ), ) ; -#& MODIF COMMANDE DATE 06/07/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -6981,31 +7188,43 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant=' # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE D6BHHJP J.P.LEFEBVRE -DEFI_FICHIER=PROC(nom="DEFI_FICHIER",op=26, +def DEFIC_prod(self,ACTION,UNITE,**args): + if ACTION == "ASSOCIER" : + if UNITE != None : + return + else : + return entier + elif ACTION == "LIBERER" : + return + else : + raise AsException("ACTION non prevue") + +DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n', UIinfo={"groupes":("Gestion du travail",)}, fr="Gestion d une unité logique : ajout, suppression", ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER"),defaut="ASSOCIER"), - b_associer =BLOC(condition = "ACTION == 'ASSOCIER'",fr="Paramètres pour l ouverture du fichier", - regles=(AU_MOINS_UN('NOM_SYSTEME','UNITE','FICHIER'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - NOM_SYSTEME =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - FICHIER =SIMP(statut='f',typ='TXM'), - TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), + b_associer =BLOC(condition = "ACTION == 'ASSOCIER'", + fr="Paramètres pour l'ouverture du fichier", + regles=(AU_MOINS_UN('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), ), b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), ), ), - b_liberer =BLOC(condition = "ACTION == 'LIBERER'",fr="Paramètres pour la fermeture du fichier", - regles=(UN_PARMI('NOM_SYSTEME','UNITE'),), + b_liberer =BLOC(condition = "ACTION == 'LIBERER'", + fr="Paramètres pour la fermeture du fichier", + regles=(UN_PARMI('FICHIER','UNITE'),), UNITE =SIMP(statut='f',typ='I' ,val_min=1), - NOM_SYSTEME =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), ), INFO =SIMP(statut='f',typ='I',into=(1,2) ), @@ -7826,7 +8045,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, GROUP_NO_FIN =SIMP(statut='f',typ=grno), ), ) ; -#& MODIF COMMANDE DATE 17/08/2004 AUTEUR ROMEO R.FERNANDES +#& MODIF COMMANDE DATE 04/10/2004 AUTEUR GODARD V.GODARD # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7872,7 +8091,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'), PRESENT_PRESENT('CAM_CLAY','ELAS'), PRESENT_PRESENT('LAIGLE','ELAS'), - PRESENT_PRESENT('DRUCKER_PRAGER','ELAS'), + PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), EXCLUS('MAZARS','MAZARS_FO'), PRESENT_PRESENT('BAZANT_FD','ELAS_FO'), EXCLUS('GLRC','GLRC_FO'), @@ -8196,6 +8415,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, SYT =SIMP(statut='o',typ='R'), SYC =SIMP(statut='f',typ='R'), ), + ENDO_ORTH_BETON =FACT(statut='f', + ALPHA =SIMP(statut='f',typ='R',defaut=0.9), + K0 =SIMP(statut='o',typ='R'), + K1 =SIMP(statut='o',typ='R'), + K2 =SIMP(statut='f',typ='R',defaut=7.E-4), + ECROB =SIMP(statut='o',typ='R'), + ECROD =SIMP(statut='o',typ='R'), + ), PRAGER =FACT(statut='f', C =SIMP(statut='o',typ='R'), ), @@ -8251,7 +8478,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, AN =SIMP(statut='f',typ='R',defaut= 0. ), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - ROUSS_VISC =FACT(statut='f', + VISC_SINH =FACT(statut='f', SIGM_0 =SIMP(statut='o',typ='R'), EPSI_0 =SIMP(statut='o',typ='R'), M =SIMP(statut='o',typ='R'), @@ -9183,7 +9410,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9324,7 +9555,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9456,7 +9691,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9593,7 +9832,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9731,7 +9974,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9883,7 +10130,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -10046,7 +10297,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, CP = SIMP(statut='f',typ='R'), PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles = (EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -10187,7 +10442,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, PESA_Z =SIMP(statut='f',typ='R'), PERM_IN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles=(EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -10275,7 +10534,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, PESA_Z =SIMP(statut='f',typ='R'), PERM_IN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_END =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles=(EXCLUS('PERM_IN','PERM_END'),), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -10304,7 +10567,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), ), ), -# # courbes et coefficients associés à la fatigue et au dommage # FATIGUE =FACT(statut='f', @@ -10419,7 +10681,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, SIGMA_P1 =SIMP(statut='o',typ='R'), PA =SIMP(statut='o',typ='R'), ), - DRUCKER_PRAGER =FACT(statut='f', + DRUCK_PRAGER =FACT(statut='f', ALPHA =SIMP(statut='o',typ='R'), SY =SIMP(statut='o',typ='R'), P_ULTM =SIMP(statut='o',typ='R'), @@ -10493,7 +10755,22 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, #### MONOCRISTAL - + DRUCK_PRAGER_FO =FACT(statut='f', + ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)), + SY =SIMP(statut='o',typ=(fonction_sdaster,formule)), + P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), + b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", + H =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), + ), + b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", + SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), + ), + ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), @@ -11417,7 +11694,7 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 31/08/2004 AUTEUR JMBHH01 J.M.PROIX +#& MODIF COMMANDE DATE 28/09/2004 AUTEUR LAMARCHE S.LAMARCHE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11570,13 +11847,14 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', ), TETA_METHODE =FACT(statut='f', TETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), + ,defaut= 1.,val_min=0.5,val_max=1. ), ), NEWTON =FACT(statut='d', REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ), MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), REAC_ITER =SIMP(statut='f',typ='I',defaut= 0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), ), SOLVEUR =FACT(statut='d', @@ -11749,7 +12027,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp, OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 21/09/2004 AUTEUR PBADEL P.BADEL # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -11870,6 +12148,7 @@ DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 69,sd_prod=evol_noli,reentrant='f PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ), MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), REAC_ITER =SIMP(statut='f',typ='I',defaut= 0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), ), SOLVEUR =FACT(statut='d', @@ -12575,7 +12854,7 @@ FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, UIinfo={"groupes":("Fonction",)}, TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12593,17 +12872,27 @@ FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -FORMULE = FORM( nom='FORMULE',op=ops.build_formule,sd_prod=formule, - fr="Définition d une fonction",reentrant = 'n', - regles=(UN_PARMI('REEL','COMPLEXE'),), - -##### fonctions entieres interdites suite au probleme AL2003-072 -##### regles=(UN_PARMI('REEL','ENTIER','COMPLEXE'),), -##### ENTIER = SIMP(typ = 'shell',), - - REEL = SIMP(typ = 'shell',), - COMPLEXE = SIMP(typ = 'shell',), -) ; +def form_pyth_ops(self,d): + import types + NOM_PARA=self.etape['NOM_PARA'] + VALE =self.etape['VALE'] + if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,] + self.sd.nompar = NOM_PARA + texte='____x='+string.join(VALE.splitlines()) + try : + compile(texte,texte,'exec') + except SyntaxError : + print 75*'!' + print '! '+string.ljust('Erreur evaluation formule '+self.sd.nom,72)+'!' + print 75*'!' + raise + self.sd.expression = texte + +FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5, + sd_prod=formule,UIinfo={"groupes":("Fonction",)}, + VALE =SIMP(statut='f',typ='TXM'), + NOM_PARA =SIMP(statut='o',typ='TXM',max='**'), +); #& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -12963,7 +13252,7 @@ IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers", "CERCLE_X","CARRE_X","LOSANGE_X") ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12982,7 +13271,7 @@ IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers", # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE GNICOLAS G.NICOLAS -IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, +IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b", UIinfo={"groupes":("Fonction",)}, fr="Imprime le fichier de configuration de HOMARD.", ang="Writes the configuration file for HOMARD.", @@ -12994,17 +13283,17 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, # 2. Langue des messages issus de HOMARD # LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS", - into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), - fr="Langue des messages issus de HOMARD.", - ang="Language for HOMARD messages." ), + into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), + fr="Langue des messages issus de HOMARD.", + ang="Language for HOMARD messages." ), # # 3. Le nom local du fichier de configuration HOMARD # - FICHIER_CONF =SIMP(statut='o',typ='TXM'), + UNITE_CONF =SIMP(statut='o',typ='I'), # # 4. Le nom local du fichier de données HOMARD # - FICHIER_DONN =SIMP(statut='f',typ='TXM'), + UNITE_DONN =SIMP(statut='f',typ='I'), # # 5. Gestion des éléments autres que des simplexes # 0 : autres elements refuses (defaut) @@ -13012,8 +13301,8 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, # 2 : tous # NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2), - fr="Acceptation d'éléments quad, hexa et penta", - ang="quad, hexa and penta elements allowed" ), + fr="Type d'éléments acceptés.", + ang="Type of authorized elements." ), # # 6. Le type de traitement : # @@ -13089,18 +13378,15 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, NOM_MED_MAILLAGE_N =SIMP(statut='f',typ='TXM',), ) , # - b_iteration_maj_champ =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ", - fr="Nom MED du maillage en sortie, numero d'iteration et mise à jour de champs", - ang="MED name of the out-mesh, iteration rank and field updating", + b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ", + fr="Nom MED du maillage en sortie, numero d'iteration", + ang="MED name of the out-mesh, iteration rank", NITER =SIMP(statut='o',typ='I', fr="Numéro d'itération.", ang="Iteration number." ), NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM', fr="Nom MED du maillage en sortie", ang="MED name of the out-mesh" ), - MAJ_CHAM =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Mise à jour de champs", - ang="Field updating" ), ) , # b_indicateur_d_erreur =BLOC(condition = "ADAPTATION != None", @@ -13195,7 +13481,40 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, # ), # -# 7. L'ANALYSE DU MAILLAGE +# 7. Mise à jour de champs sur le nouveau maillage +# + MAJ_CHAM =FACT(statut='f',max='**', + fr="Mise à jour de champs sur le nouveau maillage.", + ang="Updating of fields over the new mesh.", + regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'), + EXCLUS('NUME_ORDRE','INST'), + EXCLUS('NUME_ORDRE','RESULTAT'), + PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), + NOM_MED =SIMP(statut='o',typ='TXM', + fr="Nom MED du champ à mettre à jour.", + ang="MED name of field.",), + NUME_ORDRE =SIMP(statut='f',typ='I', + fr="Numero d'ordre du champ à mettre à jour.", + ang="Rank number of field.",), + INST =SIMP(statut='f',typ='R', + fr="Instant du champ à mettre à jour.", + ang="Instant of field.",), + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé", + ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), + fr="Concept contenant le champ à mettre à jour.", + ang="Conceipt wich contains the field.",), + NOM_CHAM =SIMP(statut='f',typ='TXM', + fr="Nom du champ dans le résultat du champ à mettre à jour.", + ang="Name of the field.",), + ), +# +# 8. L'ANALYSE DU MAILLAGE # ANALYSE =FACT(statut='f', fr="Analyse du maillage.", @@ -14004,7 +14323,7 @@ INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14, UNITE_LONGUEUR =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -14029,9 +14348,17 @@ INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, UIinfo={"groupes":("Gestion du travail",)}, regles=(), - LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("CPU_RESTANT","CPU","UNITE_LIBRE",),), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3, + into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),), + b_etat_unite =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", + regles=(UN_PARMI('UNITE','FICHIER'),), + UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1, + fr="Unité logique dont on veut obtenir l'état",), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255), + fr="Nom du fichier dont on veut obtenir l'état",), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; #& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION @@ -14223,7 +14550,7 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14245,8 +14572,9 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, from Macro.lire_fonction_ops import lire_fonction_ops def lire_fonction_prod(self,TYPE,**args): - if (TYPE == 'FONCTION'): return fonction_sdaster - elif (TYPE == 'NAPPE' ): return nappe_sdaster + if (TYPE == 'FONCTION') : return fonction_sdaster + elif (TYPE == 'FONCTION_C'): return fonction_c + elif (TYPE == 'NAPPE' ) : return nappe_sdaster raise AsException("type de concept resultat non prevu") LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod, @@ -14254,11 +14582,19 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti reentrant='n', UIinfo={"groupes":("Fonction",)}, FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), - TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","NAPPE"),defaut="FONCTION" ), + TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ), SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ), INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]), b_fonction =BLOC(condition = "TYPE=='FONCTION' ", INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ), + b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ", + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ), + b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ", + INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) , + b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ", + INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ), b_nappe =BLOC(condition = "TYPE=='NAPPE' ", NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,), @@ -14277,7 +14613,7 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14295,16 +14631,19 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp, + +from Macro.lire_inte_spec_ops import lire_inte_spec_ops + +LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp, fr="Lecture sur un fichier externe de fonctions complexes pour créer une matrice interspectrale", reentrant='n', UIinfo={"groupes":("Fonction",)}, UNITE =SIMP(statut='o',typ='I' ), FORMAT =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), - NOM_PARA =SIMP(statut='f',typ='TXM', + NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ", into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ), INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), @@ -14660,7 +14999,7 @@ LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod, TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14701,6 +15040,7 @@ def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args): MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod, fr="Adapter un maillage avec le logiciel HOMARD.", ang="Mesh adaptation with HOMARD software.", + docu="U7.03.01-b", # # 1. Le niveau d'information # @@ -14708,8 +15048,8 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada # # 2. Version de HOMARD # - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_2", - into=("V6_2", "V6_N", "V6_N_PERSO"), + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_6", + into=("V6_6", "V6_N", "V6_N_PERSO"), fr="Version de HOMARD", ang="HOMARD release"), # @@ -14721,14 +15061,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada ang="Language for HOMARD messages." ), # # 4. Gestion des éléments autres que des simplexes -# Remarque : pour le moment on bride le choix 2 -# 0 : autres elements refuses (defaut) +# 0 : autres elements refuses # 1 : raffinement sur les simplexes, mais autres acceptes -# 2 : tous +# 2 : tous (defaut) # - NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=0,into=(0,1), - fr="Acceptation d'éléments quad, hexa et penta", - ang="quad, hexa and penta elements allowed" ), + NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2), + fr="Type d'éléments acceptés.", + ang="Type of authorized elements." ), # # 5. Le type de traitement : # @@ -14775,13 +15114,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada # # b_indicateur_d_erreur =BLOC( condition = " LIBRE != None " , - fr="Indicateur d'erreur", - ang="Error indicator", + fr="Choix de l'indicateur d'erreur", + ang="Selection of error indicator", # # 5.3.1. Le nom du concept resultat_sdaster # RESULTAT_N = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) , - fr="Resultat contenant l'indicateur d'erreur", + fr="Concept resultat Code_Aster contenant l'indicateur d'erreur", ang="Result with error indicator" ), # # 5.3.2. Le champ d'indicateur d'erreur @@ -14837,11 +15176,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada fr="Critère absolu", ang="Absolute threshold" ), CRIT_RAFF_REL = SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), + fr="Critère relatif : fraction entre 0 et 1", + ang="Relative threshold : ratio between 0 and 1" ), CRIT_RAFF_PE = SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), + fr="Pourcentage d'éléments : fraction entre 0 et 1", + ang="Percentage of elements : ratio between 0 and 1" ), ) , # # 5.4.2. Pour le deraffinement : @@ -14854,11 +15193,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada fr="Critère absolu", ang="Absolute threshold" ), CRIT_DERA_REL = SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), + fr="Critère relatif : fraction entre 0 et 1", + ang="Relative threshold : ratio between 0 and 1" ), CRIT_DERA_PE = SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), + fr="Pourcentage d'éléments : fraction entre 0 et 1", + ang="Percentage of elements : ratio between 0 and 1" ), ) , # # 5.5. Les niveaux extremes pour le maillage adapte @@ -14907,7 +15246,6 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada ang="Name of the field for the updated field"), # # 7.2. Le type du champ qui contiendra le resultat de la mise a jour -# Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP # TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(), fr="Type du champ qui contiendra le champ mis à jour", @@ -16040,7 +16378,7 @@ MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant= INST =SIMP(statut='f',typ='R',defaut=0.E+0), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -16063,8 +16401,9 @@ MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant= from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, - fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.", - ang="Print values for the fiability software", + docu="U7.04.41", + fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.", + ang="Print values for the fiability software", # # 1. Le niveau d'information # @@ -16103,7 +16442,7 @@ MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, ), # ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -16138,6 +16477,7 @@ def macr_fiabilite_prod ( self , **args ): #==== # MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, + docu="U7.03.31", sd_prod=macr_fiabilite_prod, fr="Faire de la mécanique fiabiliste.", ang="Fiability mechanics.", @@ -16481,7 +16821,7 @@ MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, ), # ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16504,6 +16844,7 @@ MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, from Macro.macr_adap_mail_ops import macr_adap_mail_ops MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops, + docu="U7.03.02-b", fr="Donner des informations sur un maillage.", ang="To give information about a mesh.", # @@ -16513,8 +16854,8 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops, # # 2. Version de HOMARD # - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_2", - into=("V6_2", "V6_N", "V6_N_PERSO"), + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_6", + into=("V6_6", "V6_N", "V6_N_PERSO"), fr="Version de HOMARD", ang="HOMARD release"), # @@ -16526,12 +16867,11 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops, ang="Language for HOMARD messages." ), # # 4. Gestion des éléments autres que des simplexes -# Remarque : pour le moment, on bride le choix 2 -# 0 : autres elements refusés (defaut) +# 0 : autres elements refusés # 1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés -# 2 : tous +# 2 : tous (defaut) # - NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=0,into=(0,1), + NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2), fr="Acceptation d'éléments quad, hexa et penta", ang="quad, hexa and penta elements allowed" ), # @@ -17680,7 +18020,7 @@ MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -17703,25 +18043,25 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact", reentrant='o', UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE', ), - PRESENT_ABSENT('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('DEFORME','ORIE_CONTACT','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('EQUE_PIQUA','ORIE_CONTACT','DEFORME','ORIE_PEAU_2D', + PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_CONTACT','DEFORME','EQUE_PIQUA', + PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('PLAQ_TUBE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',), - PRESENT_ABSENT('MODI_MAILLE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',), EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), EXCLUS('EQUE_PIQUA','TUBE_COUDE'), @@ -17733,7 +18073,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, ), MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - ORIE_CONTACT =FACT(statut='f', + ORIE_FISSURE =FACT(statut='f', GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), @@ -17767,7 +18107,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, ORIE_PEAU_3D =FACT(statut='f',max='**', GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), - ORIE_SHB8 =FACT(statut='f',max='**', + ORIE_SHB8 =FACT(statut='f',max=1, GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), ORIE_NORM_COQUE =FACT(statut='f',max='**', @@ -17794,13 +18134,13 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, R_CINTR =SIMP(statut='o',typ='R' ), L_TUBE_P1 =SIMP(statut='o',typ='R' ), ), - MODI_MAILLE =FACT(statut='f', + MODI_MAILLE =FACT(statut='f',max=1, regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),), OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), + MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), + GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), ), MODI_BASE =FACT(statut='f', VECT_X =SIMP(statut='o',typ='R',min=2,max=3), @@ -19541,7 +19881,7 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod, CHAM_NO =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 29/09/2004 AUTEUR MJBHHPE J.L.FLEJOU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -19628,6 +19968,7 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; #& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION @@ -20341,7 +20682,7 @@ STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None, CHAM_MATER =SIMP(statut='f',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 21/09/2004 AUTEUR PBADEL P.BADEL # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -20466,6 +20807,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), EVOL_NOLI =SIMP(statut='f',typ=evol_noli), ), RECH_LINEAIRE =FACT(statut='f', @@ -20607,7 +20949,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, INFO =SIMP(statut='f',typ='I',into=(1,2) ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -20634,11 +20976,11 @@ TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops, UIinfo={"groupes":("Impression",)}, UNITE =SIMP(statut='f',typ='I',defaut=8), - FICHIER =SIMP(statut='f',typ='TXM'), - NOM_SYSTEME =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), + FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), NB_CHIFFRE =SIMP(statut='f',typ='I',defaut=6), EPSILON =SIMP(statut='f',typ='R',defaut=1.E-14), - + EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**', + fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"), VALE_K =SIMP(statut='o',typ='TXM' ), REFERENCE =SIMP(statut='f',typ='TXM', into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), diff --git a/Aster/Cata/ops.py b/Aster/Cata/ops.py index f9296786..3becd375 100644 --- a/Aster/Cata/ops.py +++ b/Aster/Cata/ops.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF ops Cata DATE 23/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF ops Cata DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18,6 +18,7 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + # Modules Python import types import string,linecache,os,traceback,re @@ -26,7 +27,6 @@ import pickle # Modules Eficas import Accas from Accas import ASSD -from Noyau.N_FONCTION import formule try: import aster @@ -124,6 +124,8 @@ def POURSUITE(self,PAR_LOT,CODE,**args): # presents sous le meme nom et du meme type dans pick.1 # Le contexte est ensuite updaté (surcharge) et donc enrichi des # variables qui ne sont pas des concepts. + # On supprime du pickle_context les concepts valant None, ca peut + # etre le cas des concepts non executés, placés après FIN. pickle_context=get_pickled_context() if pickle_context==None : self.jdc.cr.fatal(" Erreur a la relecture du fichier pick.1 : aucun objet sauvegardé ne sera récupéré") @@ -139,6 +141,7 @@ def POURSUITE(self,PAR_LOT,CODE,**args): else: self.jdc.cr.fatal(" concept de nom "+elem+" et de type "+str(pickle_class)+" introuvable dans la base globale") return + if pickle_context[elem]==None : del pickle_context[elem] self.g_context.update(pickle_context) return @@ -298,9 +301,7 @@ def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR): if m.group(3) == "UNIT": if UNITE_LONGUEUR=='M' : coef = '0' elif UNITE_LONGUEUR=='MM' : coef = m.group(4) - print ' UNITE_LONGUEUR = BINGO' - print ' UNITE_LONGUEUR = ',m.group(4),type(m.group(4)) - ll_u.append(' '+m.group(1)+" = "+m.group(2)+coef) + ll_u.append(m.group(1)+" = "+m.group(2)+coef) else : ll_u.append(l) else : ll_u.append(l) @@ -336,7 +337,7 @@ def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR): m=regmcs.match(l) if m: # On a trouve un mot cle simple commentarise if m.group(3) == "EVAL": - ll.append(" "+m.group(1)+' = EVAL("'+m.group(4)+"("+str(TEMP)+')"),') + ll.append(" "+m.group(1)+' = '+m.group(4)+"("+str(TEMP)+'),') elif m.group(3) == "SUPPR": pass else: @@ -407,25 +408,6 @@ def INCLUDE_MATERIAU(self,NOM_AFNOR,TYPE_MODELE,VARIANTE,TYPE_VALE,NOM_MATER, self.make_contexte(f,self.text) -def build_formule(self,**args): - """ - Fonction ops de la macro FORMULE appelée lors de la phase de Build - """ - from Build import B_utils - for mc in self.mc_liste: -### if mc.nom in ('REEL','ENTIER','COMPLEXE'): - if mc.nom in ('REEL','COMPLEXE'): - texte= self.sd.get_name()+ string.strip(mc.valeur) - mc.valeur=B_utils.ReorganisationDe(texte,80) - # ATTENTION : FORMULE est une des rares commandes qui a besoin de - # connaitre son numero d execution avant d etre construite - self.set_icmd(1) - # La macro formule doit etre executee. Seules les macros qui ont - # un numero d'op sont executees lors des phases suivantes - self.definition.op = -5 - ier=self.codex.opsexe(self,self.icmd,-1,-self.definition.op) - return ier - def build_procedure(self,**args): """ Fonction ops de la macro PROCEDURE appelée lors de la phase de Build @@ -439,16 +421,12 @@ def build_procedure(self,**args): #ier=self.codex.opsexe(self,icmd,-1,3) return ier -def build_retour(self,**args): +def build_DEFI_FICHIER(self,**args): """ - Fonction ops de la macro RETOUR appelée lors de la phase de Build + Fonction ops de la macro DEFI_FICHIER """ ier=0 - # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) - # le numero de la commande n est pas utile en phase de construction - # On ne numérote pas une macro RETOUR (incrément=None) self.set_icmd(None) icmd=0 - #ier=self.codex.opsexe(self,icmd,-1,2) + ier=self.codex.opsexe(self,icmd,-1,26) return ier - diff --git a/Noyau/N_ASSD.py b/Noyau/N_ASSD.py index 12fd5ea1..8950e8d9 100644 --- a/Noyau/N_ASSD.py +++ b/Noyau/N_ASSD.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_ASSD Noyau DATE 18/05/2004 AUTEUR DURAND C.DURAND +#@ MODIF N_ASSD Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ """ diff --git a/Noyau/N_BLOC.py b/Noyau/N_BLOC.py index 078ea201..2a5cb111 100644 --- a/Noyau/N_BLOC.py +++ b/Noyau/N_BLOC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_BLOC Noyau DATE 29/05/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_BLOC Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition BLOC qui permet de spécifier les caractéristiques des blocs de mots clés diff --git a/Noyau/N_CO.py b/Noyau/N_CO.py index 35643558..134df574 100644 --- a/Noyau/N_CO.py +++ b/Noyau/N_CO.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_CO Noyau DATE 29/05/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_CO Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + from N_ASSD import ASSD from N_Exception import AsException import N_utils diff --git a/Noyau/N_CR.py b/Noyau/N_CR.py index 4f5f3a5b..addfe661 100644 --- a/Noyau/N_CR.py +++ b/Noyau/N_CR.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_CR Noyau DATE 20/01/2003 AUTEUR DURAND C.DURAND +#@ MODIF N_CR Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe compte-rendu de validation """ diff --git a/Noyau/N_ENTITE.py b/Noyau/N_ENTITE.py index 89f8ccf8..98108418 100644 --- a/Noyau/N_ENTITE.py +++ b/Noyau/N_ENTITE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_ENTITE Noyau DATE 09/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF N_ENTITE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe ENTITE qui est la classe de base de toutes les classes de definition d'EFICAS. diff --git a/Noyau/N_ETAPE.py b/Noyau/N_ETAPE.py index b5bb95bf..731d31f2 100644 --- a/Noyau/N_ETAPE.py +++ b/Noyau/N_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_ETAPE Noyau DATE 16/03/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF N_ETAPE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe ETAPE qui sert à vérifier et à exécuter une commande diff --git a/Noyau/N_EVAL.py b/Noyau/N_EVAL.py deleted file mode 100644 index edccee96..00000000 --- a/Noyau/N_EVAL.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_EVAL Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 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. -# -# -# ====================================================================== -""" -""" - -class EVAL : - """ - """ - def __init__(self,str): - """ - L'objet EVAL est initialise avec une chaine de caracteres (str) - """ - self.valeur = str - self.val=None - - def __repr__(self): - return 'EVAL("""'+self.valeur+'""")' - - def accept(self,visitor): - """ - Cette methode permet de parcourir l'arborescence des objets - en utilisant le pattern VISITEUR - """ - visitor.visitEVAL(self) - diff --git a/Noyau/N_Exception.py b/Noyau/N_Exception.py index 9c6a8661..760efd75 100644 --- a/Noyau/N_Exception.py +++ b/Noyau/N_Exception.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_Exception Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_Exception Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe AsException """ diff --git a/Noyau/N_FACT.py b/Noyau/N_FACT.py index fc349e8a..c92c5934 100644 --- a/Noyau/N_FACT.py +++ b/Noyau/N_FACT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_FACT Noyau DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF N_FACT Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition FACT qui permet de spécifier les caractéristiques des mots clés facteurs """ diff --git a/Noyau/N_FONCTION.py b/Noyau/N_FONCTION.py index 21caeec1..fc75656c 100644 --- a/Noyau/N_FONCTION.py +++ b/Noyau/N_FONCTION.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_FONCTION Noyau DATE 11/03/2003 AUTEUR DURAND C.DURAND +#@ MODIF N_FONCTION Noyau DATE 28/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,8 +19,30 @@ # # # ====================================================================== + from N_ASSD import ASSD +import string class FONCTION(ASSD):pass -class formule(FONCTION) : pass +class formule(ASSD): + def __init__(self,**args): + ASSD.__init__(self,**args) + self.nompar =None + self.expression=None + def __call__(self,*val): + context=self.jdc.const_context + i=0 + for param in self.nompar : + context[param]=val[i] + i=i+1 + try : + exec(self.expression) in context + except : + print 75*'!' + print '! '+string.ljust('Erreur evaluation formule '+self.nom,72)+'!' + print 75*'!' + raise + res=context['____x'] + del(context) + return res diff --git a/Noyau/N_FORM.py b/Noyau/N_FORM.py index 1f2cd51e..f2f96944 100644 --- a/Noyau/N_FORM.py +++ b/Noyau/N_FORM.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_FORM Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_FORM Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + import N_MACRO import N_FORM_ETAPE diff --git a/Noyau/N_FORM_ETAPE.py b/Noyau/N_FORM_ETAPE.py index cafb7d47..b8d85b07 100644 --- a/Noyau/N_FORM_ETAPE.py +++ b/Noyau/N_FORM_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_FORM_ETAPE Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_FORM_ETAPE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + import N_MACRO_ETAPE class FORM_ETAPE(N_MACRO_ETAPE.MACRO_ETAPE): diff --git a/Noyau/N_GEOM.py b/Noyau/N_GEOM.py index 8e4fbe4e..70158ae9 100644 --- a/Noyau/N_GEOM.py +++ b/Noyau/N_GEOM.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_GEOM Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_GEOM Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ """ diff --git a/Noyau/N_JDC.py b/Noyau/N_JDC.py index ed1ac0dc..4068fee8 100644 --- a/Noyau/N_JDC.py +++ b/Noyau/N_JDC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_JDC Noyau DATE 18/05/2004 AUTEUR DURAND C.DURAND +#@ MODIF N_JDC Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe JDC qui sert à interpréter un jeu de commandes """ diff --git a/Noyau/N_JDC_CATA.py b/Noyau/N_JDC_CATA.py index d9268d34..6c6ee7b4 100644 --- a/Noyau/N_JDC_CATA.py +++ b/Noyau/N_JDC_CATA.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_JDC_CATA Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_JDC_CATA Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition JDC_CATA qui permet de spécifier les caractéristiques d'un JDC diff --git a/Noyau/N_MACRO.py b/Noyau/N_MACRO.py index cc0fec8f..d4f162f5 100644 --- a/Noyau/N_MACRO.py +++ b/Noyau/N_MACRO.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MACRO Noyau DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_MACRO Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition MACRO qui permet de spécifier les caractéristiques d'une macro-commande diff --git a/Noyau/N_MACRO_ETAPE.py b/Noyau/N_MACRO_ETAPE.py index d842ec93..57a4b8ef 100644 --- a/Noyau/N_MACRO_ETAPE.py +++ b/Noyau/N_MACRO_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MACRO_ETAPE Noyau DATE 16/03/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF N_MACRO_ETAPE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MACRO_ETAPE qui sert à vérifier et à exécuter une commande diff --git a/Noyau/N_MCBLOC.py b/Noyau/N_MCBLOC.py index 26cd64e7..e750c012 100644 --- a/Noyau/N_MCBLOC.py +++ b/Noyau/N_MCBLOC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MCBLOC Noyau DATE 04/02/2004 AUTEUR CAMBIER S.CAMBIER +#@ MODIF N_MCBLOC Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MCBLOC qui sert à controler la valeur d'un bloc de mots-clés par rapport à sa définition portée par un objet diff --git a/Noyau/N_MCCOMPO.py b/Noyau/N_MCCOMPO.py index 99c75e1e..739b7304 100644 --- a/Noyau/N_MCCOMPO.py +++ b/Noyau/N_MCCOMPO.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MCCOMPO Noyau DATE 16/03/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF N_MCCOMPO Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MCCOMPO qui sert à factoriser les comportements des OBJECT composites diff --git a/Noyau/N_MCFACT.py b/Noyau/N_MCFACT.py index 87962ad1..ec25c94f 100644 --- a/Noyau/N_MCFACT.py +++ b/Noyau/N_MCFACT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MCFACT Noyau DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF N_MCFACT Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MCFACT qui sert à controler la valeur d'un mot-clé facteur par rapport à sa définition portée par un objet diff --git a/Noyau/N_MCLIST.py b/Noyau/N_MCLIST.py index 59e2d723..7199fb54 100644 --- a/Noyau/N_MCLIST.py +++ b/Noyau/N_MCLIST.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MCLIST Noyau DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF N_MCLIST Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MCList qui sert à controler la valeur d'une liste de mots-clés facteur par rapport à sa définition portée par un objet diff --git a/Noyau/N_MCSIMP.py b/Noyau/N_MCSIMP.py index f1731211..54262d9b 100644 --- a/Noyau/N_MCSIMP.py +++ b/Noyau/N_MCSIMP.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_MCSIMP Noyau DATE 16/03/2004 AUTEUR GNICOLAS G.NICOLAS +#@ MODIF N_MCSIMP Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe MCSIMP qui sert à controler la valeur d'un mot-clé simple par rapport à sa définition portée par un objet diff --git a/Noyau/N_OBJECT.py b/Noyau/N_OBJECT.py index c589dbb4..5f6061a3 100644 --- a/Noyau/N_OBJECT.py +++ b/Noyau/N_OBJECT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_OBJECT Noyau DATE 04/02/2004 AUTEUR CAMBIER S.CAMBIER +#@ MODIF N_OBJECT Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe OBJECT classe mère de tous les objets servant à controler les valeurs par rapport aux définitions diff --git a/Noyau/N_OPER.py b/Noyau/N_OPER.py index c5afbd80..cab95704 100644 --- a/Noyau/N_OPER.py +++ b/Noyau/N_OPER.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_OPER Noyau DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_OPER Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition OPER qui permet de spécifier les caractéristiques d'un opérateur diff --git a/Noyau/N_PROC.py b/Noyau/N_PROC.py index 99e8c4c6..b4d1f5ef 100644 --- a/Noyau/N_PROC.py +++ b/Noyau/N_PROC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_PROC Noyau DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_PROC Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition PROC qui permet de spécifier les caractéristiques d'une procédure diff --git a/Noyau/N_PROC_ETAPE.py b/Noyau/N_PROC_ETAPE.py index a67063f1..ded57551 100644 --- a/Noyau/N_PROC_ETAPE.py +++ b/Noyau/N_PROC_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_PROC_ETAPE Noyau DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF N_PROC_ETAPE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe PROC_ETAPE qui sert à vérifier et à exécuter une procédure diff --git a/Noyau/N_REGLE.py b/Noyau/N_REGLE.py index 787b45dd..e60faa51 100644 --- a/Noyau/N_REGLE.py +++ b/Noyau/N_REGLE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_REGLE Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_REGLE Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mere pour les classes de definition des regles d exclusion. diff --git a/Noyau/N_SIMP.py b/Noyau/N_SIMP.py index c882358a..70720181 100644 --- a/Noyau/N_SIMP.py +++ b/Noyau/N_SIMP.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_SIMP Noyau DATE 09/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF N_SIMP Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de definition SIMP qui permet de spécifier les caractéristiques des mots clés simples """ diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 072e366a..64d1fbac 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_VALIDATOR Noyau DATE 04/02/2004 AUTEUR CAMBIER S.CAMBIER +#@ MODIF N_VALIDATOR Noyau DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -17,6 +17,7 @@ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + """ Ce module contient toutes les classes necessaires pour implanter le concept de validateur dans Accas @@ -172,16 +173,6 @@ class Valid: """ return into_courant - def is_eval(self,valeur): - """ - Cette méthode indique si valeur est un objet de type EVAL ou autre - que l'on ne cherchera pas à evaluer et qui doit etre considere - comme toujours valide. Si c'est un objet de ce type elle retourne - la valeur 1 sinon la valeur 0 - """ - return type(valeur) == types.InstanceType and valeur.__class__.__name__ in ('EVAL', - 'entier','reel','chaine', 'complexe','liste','PARAMETRE_EVAL') - def is_param(self,valeur): """ Cette méthode indique si valeur est un objet de type PARAMETRE @@ -192,9 +183,9 @@ class Valid: def is_unknown(self,valeur): """ Cette méthode indique si valeur est un objet de type inconnu - c'est à dire ni de type EVAL ni de type PARAMETRE + c'est à dire pas de type PARAMETRE """ - return type(valeur) == types.InstanceType and valeur.__class__.__name__ not in ('EVAL', + return type(valeur) == types.InstanceType and valeur.__class__.__name__ not in ( 'entier','reel','chaine', 'complexe','liste','PARAMETRE_EVAL','PARAMETRE') class ListVal(Valid): @@ -341,9 +332,7 @@ class PairVal(ListVal): def verif_item(self,valeur): if type(valeur) == types.InstanceType: - if self.is_eval(valeur): - return 1 - elif self.is_param(valeur): + if self.is_param(valeur): valeur=valeur.valeur else: return 0 diff --git a/Noyau/N__F.py b/Noyau/N__F.py index 4d6203f4..42c90a4a 100644 --- a/Noyau/N__F.py +++ b/Noyau/N__F.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N__F Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N__F Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + import UserDict class _F(UserDict.UserDict): diff --git a/Noyau/N_utils.py b/Noyau/N_utils.py index 44cc0966..6c5b45b9 100644 --- a/Noyau/N_utils.py +++ b/Noyau/N_utils.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF N_utils Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_utils Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient des fonctions utilitaires """ diff --git a/Noyau/__init__.py b/Noyau/__init__.py index 2cf7aaa2..94d8971c 100644 --- a/Noyau/__init__.py +++ b/Noyau/__init__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF __init__ Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF __init__ Noyau DATE 27/09/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce package fournit les classes de base d'EFICAS. Ces classes permettent d'effectuer quelques opérations basiques : diff --git a/Noyau/context.py b/Noyau/context.py index 903bed5f..bec83219 100644 --- a/Noyau/context.py +++ b/Noyau/context.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF context Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF context Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + _root=None _cata=None debug=0 diff --git a/Noyau/nommage.py b/Noyau/nommage.py index 7e134c6e..c9d37a4a 100644 --- a/Noyau/nommage.py +++ b/Noyau/nommage.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF nommage Noyau DATE 18/03/2003 AUTEUR VABHHTS J.PELLET +#@ MODIF nommage Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module sert à nommer les concepts produits par les commandes. Le nom du concept est obtenu en appelant la fonction GetNomConceptResultat diff --git a/Noyau/properties.py b/Noyau/properties.py index d5de8185..f6bb7c46 100644 --- a/Noyau/properties.py +++ b/Noyau/properties.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF properties Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF properties Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG diff --git a/Validation/V_AU_MOINS_UN.py b/Validation/V_AU_MOINS_UN.py index 77ef8520..a6b4b363 100644 --- a/Validation/V_AU_MOINS_UN.py +++ b/Validation/V_AU_MOINS_UN.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_AU_MOINS_UN Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_AU_MOINS_UN Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class AU_MOINS_UN: """ La règle AU_MOINS_UN vérifie que l'on trouve au moins un des mots-clés diff --git a/Validation/V_A_CLASSER.py b/Validation/V_A_CLASSER.py index bda9f338..6f93c202 100644 --- a/Validation/V_A_CLASSER.py +++ b/Validation/V_A_CLASSER.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_A_CLASSER Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_A_CLASSER Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + import types class A_CLASSER: diff --git a/Validation/V_ENSEMBLE.py b/Validation/V_ENSEMBLE.py index 6447818c..9170351a 100644 --- a/Validation/V_ENSEMBLE.py +++ b/Validation/V_ENSEMBLE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_ENSEMBLE Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_ENSEMBLE Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class ENSEMBLE: """ La règle vérifie que si un mot-clé de self.mcs est present diff --git a/Validation/V_ETAPE.py b/Validation/V_ETAPE.py index f8386f35..66adbf77 100644 --- a/Validation/V_ETAPE.py +++ b/Validation/V_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_ETAPE Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_ETAPE Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin ETAPE qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type ETAPE diff --git a/Validation/V_EXCLUS.py b/Validation/V_EXCLUS.py index f6a8f474..f477cff3 100644 --- a/Validation/V_EXCLUS.py +++ b/Validation/V_EXCLUS.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_EXCLUS Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_EXCLUS Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class EXCLUS: """ La règle vérifie qu'un seul mot-clé de self.mcs est present diff --git a/Validation/V_JDC.py b/Validation/V_JDC.py index 0682bd7a..b0536d6f 100644 --- a/Validation/V_JDC.py +++ b/Validation/V_JDC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_JDC Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_JDC Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin JDC qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type JDC diff --git a/Validation/V_MACRO_ETAPE.py b/Validation/V_MACRO_ETAPE.py index 3dffb93f..f5811f60 100644 --- a/Validation/V_MACRO_ETAPE.py +++ b/Validation/V_MACRO_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MACRO_ETAPE Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_MACRO_ETAPE Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin MACRO_ETAPE qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type MACRO_ETAPE diff --git a/Validation/V_MCBLOC.py b/Validation/V_MCBLOC.py index 504c5373..6a3f7a44 100644 --- a/Validation/V_MCBLOC.py +++ b/Validation/V_MCBLOC.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MCBLOC Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_MCBLOC Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin MCBLOC qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type MCBLOC diff --git a/Validation/V_MCCOMPO.py b/Validation/V_MCCOMPO.py index 9ea4d0de..d7511352 100644 --- a/Validation/V_MCCOMPO.py +++ b/Validation/V_MCCOMPO.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MCCOMPO Validation DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_MCCOMPO Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe de base MCCOMPO qui sert à factoriser les traitements des objets composites de type OBJECT diff --git a/Validation/V_MCFACT.py b/Validation/V_MCFACT.py index 16f7ddf9..a9a18605 100644 --- a/Validation/V_MCFACT.py +++ b/Validation/V_MCFACT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MCFACT Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_MCFACT Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin MCFACT qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type MCFACT diff --git a/Validation/V_MCLIST.py b/Validation/V_MCLIST.py index 6ac45e1b..0dc3fcdb 100644 --- a/Validation/V_MCLIST.py +++ b/Validation/V_MCLIST.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MCLIST Validation DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF V_MCLIST Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin MCList qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type MCList diff --git a/Validation/V_MCSIMP.py b/Validation/V_MCSIMP.py index 8d021362..97353645 100644 --- a/Validation/V_MCSIMP.py +++ b/Validation/V_MCSIMP.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_MCSIMP Validation DATE 17/08/2004 AUTEUR DURAND C.DURAND +#@ MODIF V_MCSIMP Validation DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,7 @@ # # # ====================================================================== + """ Ce module contient la classe mixin MCSIMP qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type MCSIMP @@ -225,7 +226,7 @@ class MCSIMP: if type(valeur) == types.InstanceType : #XXX je n'y touche pas pour ne pas tout casser mais il serait #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('C'), par exemple - if valeur.__class__.__name__ in ('EVAL','complexe','PARAMETRE_EVAL'): + if valeur.__class__.__name__ in ('complexe','PARAMETRE_EVAL'): return 1 elif valeur.__class__.__name__ in ('PARAMETRE',): # il faut tester si la valeur du parametre est un complexe @@ -257,7 +258,7 @@ class MCSIMP: #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('R'), par exemple #XXX ou valeur.is_reel() #XXX ou encore valeur.compare(self.is_reel) - if valeur.__class__.__name__ in ('EVAL','reel','PARAMETRE_EVAL') : + if valeur.__class__.__name__ in ('reel','PARAMETRE_EVAL') : return 1 elif valeur.__class__.__name__ in ('PARAMETRE',): # il faut tester si la valeur du parametre est un réel @@ -275,7 +276,7 @@ class MCSIMP: if type(valeur) == types.InstanceType : #XXX je n'y touche pas pour ne pas tout casser mais il serait #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('I'), par exemple - if valeur.__class__.__name__ in ('EVAL','entier','PARAMETRE_EVAL') : + if valeur.__class__.__name__ in ('entier','PARAMETRE_EVAL') : return 1 elif valeur.__class__.__name__ in ('PARAMETRE',): # il faut tester si la valeur du parametre est un entier diff --git a/Validation/V_PRESENT_ABSENT.py b/Validation/V_PRESENT_ABSENT.py index 973abf38..eb6fbdfc 100644 --- a/Validation/V_PRESENT_ABSENT.py +++ b/Validation/V_PRESENT_ABSENT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_PRESENT_ABSENT Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_PRESENT_ABSENT Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class PRESENT_ABSENT: """ La règle vérifie que si le premier mot-clé de self.mcs est present diff --git a/Validation/V_PRESENT_PRESENT.py b/Validation/V_PRESENT_PRESENT.py index 7e8c488c..4848c2ef 100644 --- a/Validation/V_PRESENT_PRESENT.py +++ b/Validation/V_PRESENT_PRESENT.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_PRESENT_PRESENT Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_PRESENT_PRESENT Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class PRESENT_PRESENT: """ La règle vérifie que si le premier mot-clé de self.mcs est present diff --git a/Validation/V_PROC_ETAPE.py b/Validation/V_PROC_ETAPE.py index 94ba4eae..b41f75f4 100644 --- a/Validation/V_PROC_ETAPE.py +++ b/Validation/V_PROC_ETAPE.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_PROC_ETAPE Validation DATE 26/09/2003 AUTEUR DURAND C.DURAND +#@ MODIF V_PROC_ETAPE Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,8 @@ # # # ====================================================================== + + """ Ce module contient la classe mixin PROC_ETAPE qui porte les méthodes nécessaires pour réaliser la validation d'un objet de type PROC_ETAPE diff --git a/Validation/V_UN_PARMI.py b/Validation/V_UN_PARMI.py index dab65eef..aab3a034 100644 --- a/Validation/V_UN_PARMI.py +++ b/Validation/V_UN_PARMI.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF V_UN_PARMI Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_UN_PARMI Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -20,6 +20,8 @@ # # ====================================================================== + + class UN_PARMI: """ La règle vérifie que l'on trouve un des mots-clés diff --git a/Validation/__init__.py b/Validation/__init__.py index 58dbef86..f862da25 100644 --- a/Validation/__init__.py +++ b/Validation/__init__.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- -#@ MODIF __init__ Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF __init__ Validation DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -19,6 +19,7 @@ # # # ====================================================================== + """ Ce package contient la fonctionnalité de validation des objets de type OBJECT. Cette fonctionnalité est implémentée sous la forme de classes de type MIXIN qui