From: Pascale Noyret Date: Tue, 30 May 2006 09:06:12 +0000 (+0000) Subject: PN X-Git-Tag: V1_10b2~20 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d2f14de1598daa6cc3a39b4c547bf004d781d496;p=modules%2Feficas.git PN --- diff --git a/Aster/Cata/cataSTA8/Macro/calc_fonction_ops.py b/Aster/Cata/cataSTA8/Macro/calc_fonction_ops.py index b3199f06..a541180f 100644 --- a/Aster/Cata/cataSTA8/Macro/calc_fonction_ops.py +++ b/Aster/Cata/cataSTA8/Macro/calc_fonction_ops.py @@ -1,4 +1,4 @@ -#@ MODIF calc_fonction_ops Macro DATE 31/05/2005 AUTEUR DURAND C.DURAND +#@ MODIF calc_fonction_ops Macro DATE 02/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -28,7 +28,7 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, ENVELOPPE,ASSE,CORR_ACCE,PUISSANCE,INVERSE, NOM_PARA,NOM_RESU,INTERPOL,PROL_DROITE, PROL_GAUCHE,NOM_PARA_FONC,INTERPOL_FONC,PROL_DROITE_FONC, - PROL_GAUCHE_FONC,**args): + PROL_GAUCHE_FONC,INFO,**args): """ Ecriture de la macro CALC_FONCTION """ @@ -38,6 +38,7 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, import copy from math import pi from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + from Utilitai import liss_enveloppe from Accas import _F from Cata.cata import nappe_sdaster,fonction_sdaster,fonction_c from Utilitai.Utmess import UTMESS @@ -48,6 +49,7 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, ### On importe les definitions des commandes a utiliser dans la macro DEFI_FONCTION = self.get_cmd('DEFI_FONCTION') + IMPR_FONCTION = self.get_cmd('IMPR_FONCTION') DEFI_NAPPE = self.get_cmd('DEFI_NAPPE') ### Comptage commandes + déclaration concept sortant @@ -127,14 +129,22 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, __ex=list_fonc[0] if COMB_C[0]['COEF_R']!=None: __ex=__ex*complex(COMB_C[0]['COEF_R']) - if COMB_C[0]['COEF_C']!=None: __ex=__ex*tocomplex(COMB_C[0]['COEF_C']) + if COMB_C[0]['COEF_C']!=None: + if type(COMB_C[0]['COEF_C']) in EnumType : __ex=__ex*tocomplex(COMB_C[0]['COEF_C']) + else : __ex=__ex*COMB_C[0]['COEF_C'] i=1 for item in list_fonc[1:] : if COMB_C[i]['COEF_R']!=None: coef=complex(COMB_C[i]['COEF_R']) - if COMB_C[i]['COEF_C']!=None: coef=tocomplex(COMB_C[i]['COEF_C']) + if COMB_C[i]['COEF_C']!=None: + if type(COMB_C[i]['COEF_C']) in EnumType : coef=tocomplex(COMB_C[i]['COEF_C']) + else : coef=COMB_C[i]['COEF_C'] item=item*coef __ex=__ex+item i=i+1 + ### mot clé LIST_PARA uniquement présent si COMB ou COMB_C + if (COMB != None) or (COMB_C != None) : + if (args['LIST_PARA'] != None) : + __ex=__ex.evalfonc(args['LIST_PARA'].Valeurs()) ### if (PUISSANCE != None): __ff=PUISSANCE['FONCTION'].convert() @@ -274,7 +284,15 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, l_fonc.append(t_fonction(l_freq,spectr[iamor,ideb,:]/SPEC_OSCI['NORME'],para_fonc)) __ex=t_nappe(vale_para,l_fonc,para) ### - if (LISS_ENVELOP!= None): return + if (LISS_ENVELOP!= None): + __ff=LISS_ENVELOP['NAPPE'].convert() + sp_nappe=liss_enveloppe.nappe(listFreq=__ff.l_fonc[0].vale_x, listeTable=[f.vale_y for f in __ff.l_fonc], listAmor=__ff.vale_para, entete="") + sp_lisse=liss_enveloppe.lissage(nappe=sp_nappe,fmin=LISS_ENVELOP['FREQ_MIN'],fmax=LISS_ENVELOP['FREQ_MAX'],elarg=LISS_ENVELOP['ELARG'],tole_liss=LISS_ENVELOP['TOLE_LISS']) + para_fonc=__ff.l_fonc[0].para + l_fonc=[] + for val in sp_lisse.listTable : + l_fonc.append(t_fonction(sp_lisse.listFreq,val,para_fonc)) + __ex=t_nappe(vale_para=sp_lisse.listAmor,l_fonc=l_fonc,para=__ff.para) ### creation de la fonction produite par appel à DEFI_FONCTION ### on récupère les paramètres issus du calcul de __ex @@ -307,5 +325,9 @@ def calc_fonction_ops(self,FFT,DERIVE,INTEGRE,LISS_ENVELOP, if NOM_PARA_FONC !=None : para['NOM_PARA_FONC'] =INTERPOL if INTERPOL_FONC !=None : para['INTERPOL'] =INTERPOL C_out=DEFI_NAPPE(PARA=__ex.vale_para.tolist(),DEFI_FONCTION=def_fonc,**para) + if INFO > 1: + IMPR_FONCTION(FORMAT='TABLEAU', + UNITE=6, + COURBE=_F(FONCTION=C_out),) return ier diff --git a/Aster/Cata/cataSTA8/Macro/calc_precont_ops.py b/Aster/Cata/cataSTA8/Macro/calc_precont_ops.py index a012dfb5..68ddb810 100644 --- a/Aster/Cata/cataSTA8/Macro/calc_precont_ops.py +++ b/Aster/Cata/cataSTA8/Macro/calc_precont_ops.py @@ -1,4 +1,4 @@ -#@ MODIF calc_precont_ops Macro DATE 07/03/2005 AUTEUR DURAND C.DURAND +#@ MODIF calc_precont_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -37,6 +37,7 @@ def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT, import types from Accas import _F from Noyau.N_utils import AsType + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -53,7 +54,7 @@ def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT, AFFE_MATERIAU = self.get_cmd('AFFE_MATERIAU') # La macro compte pour 1 dans la numerotation des commandes - self.icmd=1 + self.set_icmd(1) # Le concept sortant (de type evol_noli) est nomme RES dans # le contexte de la macro @@ -109,9 +110,7 @@ def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT, # Teste si INST_INIT est bien plus petit que INST_FIN if __TMAX <= __TMIN: - ier=ier+1 - self.cr.fatal(""" ERREUR : INST_FIN PLUS PETIT QUE INST_INIT""") - return ier + UTMESS('F','CALC_PRECONT','INST_FIN PLUS PETIT QUE INST_INIT') # Cree la liste d'instant __L2 allant de __TMIN a __TMAX et contenant # un instant supplementaire __TINT diff --git a/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py b/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py index 3d234d76..552fe5e0 100644 --- a/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py +++ b/Aster/Cata/cataSTA8/Macro/defi_cable_bp_ops.py @@ -1,4 +1,4 @@ -#@ MODIF defi_cable_bp_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF defi_cable_bp_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -55,6 +55,7 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, """ from Accas import _F import aster,string + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -96,17 +97,15 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, __MAIL = aster.getvectjev( string.ljust(MODELE.nom,8) + '.MODELE .NOMA ' ) if string.ljust(MAILLAGE.nom,8) != __MAIL[0] : - self.DeclareOut(MAILLAGE.nom,maillage) - print ' ' - print ' # ---------------------------------------------------------------------------' - print ' # DEFI_CABLE_BP - Erreur : LE CONCEPT MAILLAGE RENSEIGNE NE CORRESPOND' - print ' # PAS A CELUI UTILISE DANS LE MODELE !' - print ' # ',MAILLAGE.nom,' - ',__MAIL[0] - print ' # ---------------------------------------------------------------------------' - print ' ' - ier=ier+1 - self.cr.fatal(""" Erreur dans la macro""") - return ier + echo_mess=[] + echo_mess.append( ' \n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + echo_mess.append( ' # DEFI_CABLE_BP - Erreur : LE CONCEPT MAILLAGE RENSEIGNE NE CORRESPOND \n' ) + echo_mess.append( ' # PAS A CELUI UTILISE DANS LE MODELE ! \n' ) + echo_mess.append( ' # '+MAILLAGE.nom+' - '+__MAIL[0]+'\n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + message=string.join(echo_mess) + UTMESS('F',message) # DEFINITION DU NOM DES GROUP_NO @@ -153,14 +152,13 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, __CAB = i['GROUP_MA'] motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM1}]} if i.has_key('MAILLE') == 1: - print ' ' - print ' # ---------------------------------------------------------------------------' - print ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA' - print ' # ---------------------------------------------------------------------------' - print ' ' - ier=ier+1 - self.cr.fatal(""" Erreur dans la macro""") - return ier + echo_mess=[] + echo_mess.append( ' \n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + echo_mess.append( ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA \n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + message=string.join(echo_mess) + UTMESS('F',message) if i.has_key('GROUP_NO_ANCRAGE') == 1: __PC1 = i['GROUP_NO_ANCRAGE'][0] motscle2['CREA_GROUP_NO'][0]['GROUP_NO_ORIG'] = __PC1 @@ -189,14 +187,13 @@ def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, __CAB = i['GROUP_MA'] motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM2}]} if i.has_key('MAILLE') == 1: - print ' ' - print ' # ---------------------------------------------------------------------------' - print ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA' - print ' # ---------------------------------------------------------------------------' - print ' ' - ier=ier+1 - self.cr.fatal(""" Erreur dans la macro""") - return ier + echo_mess=[] + echo_mess.append( ' \n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + echo_mess.append( ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA \n' ) + echo_mess.append( ' # ---------------------------------------------------------------------------\n' ) + message=string.join(echo_mess) + UTMESS('F',message) if i.has_key('GROUP_NO_ANCRAGE') == 1: __PC1 = i['GROUP_NO_ANCRAGE'][1] motscle2['CREA_GROUP_NO'][0]['GROUP_NO_ORIG'] = __PC1 diff --git a/Aster/Cata/cataSTA8/Macro/defi_part_feti_ops.py b/Aster/Cata/cataSTA8/Macro/defi_part_feti_ops.py index bf46f881..9e446613 100644 --- a/Aster/Cata/cataSTA8/Macro/defi_part_feti_ops.py +++ b/Aster/Cata/cataSTA8/Macro/defi_part_feti_ops.py @@ -1,4 +1,4 @@ -#@ MODIF defi_part_feti_ops Macro DATE 23/11/2004 AUTEUR ASSIRE A.ASSIRE +#@ MODIF defi_part_feti_ops Macro DATE 30/08/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -34,32 +34,51 @@ # INFO 1,2 # # =========================================================================== -# script PYTHON : appel a Metis et lancement de DEFI_PART_OPS +# script PYTHON : lancement de DEFI_PART_PA_OPS et de DEFI_PART_OPS -def defi_part_feti_ops(self,MAILLAGE,MODELE,NB_PART,EXCIT,METHODE,NOM_GROUP_MA,INFO,**args): +def defi_part_feti_ops(self,NB_PART,METHODE,TRAITER_BORDS,NOM_GROUP_MA,CORRECTION_CONNEX,INFO,**args): import aster, string, sys from Accas import _F from Noyau.N_utils import AsType - + from Utilitai import partition # DEBUT DE LA MACRO + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) ier=0 - - INCLUSE='NON' # On cree des GROUP_MA pour les mailles de bords (pour developpeur) - + + # On importe les definitions des commandes a utiliser dans la macro + DEFI_PART_OPS = self.get_cmd('DEFI_PART_OPS') + INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER') + DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') + DETRUIRE = self.get_cmd('DETRUIRE') + DEFI_PART_PA_OPS = self.get_cmd('DEFI_PART_PA_OPS') + + nompro='DEFI_PART_FETI' + + # Maillage + if args.has_key('MODELE'): + if args['MODELE'] != None: + __MOD = string.ljust(args['MODELE'].nom,8) + __MOD =__MOD+'.MODELE .NOMA ' + __LMAIL = aster.getvectjev(__MOD) + __MAIL = string.strip(__LMAIL[0]) + MAILLAGE=self.get_sd_avant_etape(__MAIL,self) + else: + MAILLAGE=args['MAILLAGE'] + # Nom des GROUP_MA générés NOM_GROUP_MA = string.strip(NOM_GROUP_MA) - NOM_GROUP_MA_BORD = '_' + NOM_GROUP_MA # Test sur le nombre de caractères de NOM_GROUP_MA if ( len(NOM_GROUP_MA)+len(str(NB_PART)) > 7 ): - print '\n\n ERREUR : Afin de pouvoir générer les GROUP_MA, réduisez le nombre \n de caractères de NOM_GROUP_MA à un maximum de :', 7-len(str(NB_PART)) - print '\n\n' - sys.exit(1) + ln=7-len(str(NB_PART)) + UTMESS('F', nompro, 'Afin de pouvoir générer les GROUP_MA, réduisez le nombre '\ + 'de caractères de NOM_GROUP_MA à un maximum de : %i' %ln) # Verification que des GROUP_MA ne portent pas deja les memes noms _lst = [] @@ -67,116 +86,109 @@ def defi_part_feti_ops(self,MAILLAGE,MODELE,NB_PART,EXCIT,METHODE,NOM_GROUP_MA,I _lst.append( string.strip(i[0]) ) for i in range(NB_PART): if ( NOM_GROUP_MA+str(i) in _lst ): - print '\n\n ERREUR : Il existe déjà un GROUP_MA nommé : ', NOM_GROUP_MA+str(i) - print '\n\n' - sys.exit(1) - if ( NOM_GROUP_MA_BORD+str(i) in _lst ): - print '\n\n ERREUR : Il existe déjà un GROUP_MA nommé : ', NOM_GROUP_MA_BORD+str(i) - print '\n\n' - sys.exit(1) - - # Executable du partitionneur - if METHODE=="AUTRE": - exe_metis = arg['LOGICIEL'] - else: - exe_metis = aster.repout() + string.lower(METHODE) - - # On importe les definitions des commandes a utiliser dans la macro - DEFI_PART_OPS = self.get_cmd('DEFI_PART_OPS') - INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER') - DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') - DETRUIRE = self.get_cmd('DETRUIRE') - - # La macro compte pour 1 dans la numerotation des commandes - self.icmd=1 + ngrma=NOM_GROUP_MA+str(i) + UTMESS('F', nompro, "Il existe déjà un GROUP_MA nommé : %s" %ngrma) + if args.has_key('NOM_GROUP_MA_BORD') : + if args['NOM_GROUP_MA_BORD'] != None : + if ( args['NOM_GROUP_MA_BORD']+str(i) in _lst ): + ngrma=args['NOM_GROUP_MA_BORD']+str(i) + UTMESS('F', nompro, "Il existe déjà un GROUP_MA nommé : %s" %ngrma) # Le concept sortant dans le contexte de la macro self.DeclareOut('_SDFETI',self.sd) # Debut : - print """ - - # --------------------------------------------------------------------------- - # MACRO-COMMANDE : DEFI_PART_FETI - # ---------------- -""" - - # Objet Partition - _part = partition.PARTITION(jdc=self); - - # Recuperation de deux UL libres - _UL=INFO_EXEC_ASTER(LISTE_INFO='UNITE_LIBRE') - ul1=_UL['UNITE_LIBRE',1] - DETRUIRE(CONCEPT=(_F(NOM=_UL),), INFO=1) - DEFI_FICHIER(UNITE=ul1) - _UL=INFO_EXEC_ASTER(LISTE_INFO='UNITE_LIBRE') - ul2=_UL['UNITE_LIBRE',1] - DEFI_FICHIER(ACTION='LIBERER',UNITE=ul1) - - fichier_in = 'fort.' + str(ul1) - fichier_out = 'fort.' + str(ul2) - - # Options de la classe Partition - _part.OPTIONS['exe_metis'] = exe_metis - _part.OPTIONS['fichier_in'] = fichier_in - _part.OPTIONS['fichier_out'] = fichier_out + # Regeneration des mots-cles GROUPAGE passés en argument de la macro + motscle1= {} + if args.has_key('GROUPAGE'): + if args['GROUPAGE'] != None : + dGroup=[] + for j in args['GROUPAGE']: + dGroup.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dGroup[-1].keys(): + if dGroup[-1][i]==None : del dGroup[-1][i] + motscle1['GROUPAGE']=dGroup + + # Regeneration des mots-cles POIDS_MAILLES passés en argument de la macro + if args.has_key('POIDS_MAILLES'): + if args['POIDS_MAILLES'] != None : + dEval=[] + for j in args['POIDS_MAILLES']: + dEval.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dEval[-1].keys(): + if dEval[-1][i]==None : del dEval[-1][i] + motscle1['POIDS_MAILLES']=dEval + + # Y a t'il présence du mot clé : NOM_GROUP_MA_BORD + if args.has_key('GROUP_MA_BORD'): + if args['GROUP_MA_BORD'] != None : + motscle1['GROUP_MA_BORD']=args['GROUP_MA_BORD'] + + # Y a t'il présence du mot clé : LOGICIEL + if args.has_key('LOGICIEL'): + if args['LOGICIEL'] != None : + motscle1['LOGICIEL']=args['LOGICIEL'] + + # Y a t'il présence du mot clé : MODELE + if args.has_key('MODELE'): + if args['MODELE'] != None : + motscle1['MODELE']=args['MODELE'] # Partitionnement - if MODELE: - _part.Partitionne_Aster( - MAILLAGE = MAILLAGE, - MODELE = MODELE, - NB_PART = NB_PART, - INFO = INFO, - ); - - elif MAILLAGE: - _part.Partitionne_Aster( - MAILLAGE = MAILLAGE, - NB_PART = NB_PART, - INFO = INFO, - ); - - - # Creation des group_ma dans le maillage Aster - _part.Creation_Group_ma_Aster_par_SD(NOM=NOM_GROUP_MA, NOM2=NOM_GROUP_MA_BORD, INCLUSE=INCLUSE) - + _SDFETI=DEFI_PART_PA_OPS( + MAILLAGE=MAILLAGE, + INFO=INFO, + METHODE=METHODE, + NB_PART=NB_PART, + CORRECTION_CONNEX=CORRECTION_CONNEX, + TRAITER_BORDS=TRAITER_BORDS, + NOM_GROUP_MA=NOM_GROUP_MA, + **motscle1 + ); + + # Liste des groupes de mailles du maillage + _LST_GMA = MAILLAGE.LIST_GROUP_MA() + _LST_GMA = map(lambda x: x[0], _LST_GMA) # Creation de la SDFETI - if MODELE: - _tmp = [] - for i in range(NB_PART): - txt = { 'GROUP_MA': NOM_GROUP_MA + str(i) } - if ( NOM_GROUP_MA_BORD+str(i) in _part.ASTER['GROUP_MA_BORD'] ): - txt['GROUP_MA_BORD'] = NOM_GROUP_MA_BORD + str(i) - _tmp.append( txt ) + if args.has_key('MODELE'): + if args['MODELE'] != None : + _tmp = [] + for i in range(NB_PART): + txt = { 'GROUP_MA': NOM_GROUP_MA + str(i) } + _tmp.append( txt ) + + if args.has_key('NOM_GROUP_MA_BORD') : + if args['NOM_GROUP_MA_BORD'] != None : + if ( args['NOM_GROUP_MA_BORD']+str(i) in _LST_GMA ): + txt['GROUP_MA_BORD'] = string.strip(args['NOM_GROUP_MA_BORD']) + str(i) + _tmp.append( txt ) + + motscle2= {'DEFI': _tmp } - motscle2= {'DEFI': _tmp } + # Regeneration des mots-cles EXCIT passés en argument de la macro + if args.has_key('EXCIT'): + if args['EXCIT'] != None : + dExcit=[] + for j in args['EXCIT']: + dExcit.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dExcit[-1].keys(): + if dExcit[-1][i]==None : del dExcit[-1][i] + motscle2['EXCIT']=dExcit - # Regeneration des mots-cles EXCIT passés en argument de la macro - if EXCIT: - dExcit=[] - for j in EXCIT : - dExcit.append(j.cree_dict_valeurs(j.mc_liste)) - for i in dExcit[-1].keys(): - if dExcit[-1][i]==None : del dExcit[-1][i] - motscle2['EXCIT']=dExcit + _SDFETI=DEFI_PART_OPS(NOM='SDD', + MODELE=args['MODELE'], + INFO=1, + **motscle2 + ); + else: + _SDFETI=None - _SDFETI=DEFI_PART_OPS(NOM='SDD', - MODELE=MODELE, - INFO=1, - **motscle2 - ); else: _SDFETI=None # Fin : - print """ - - % FIN MACRO-COMMANDE: DEFI_PART_FETI - -""" return ier diff --git a/Aster/Cata/cataSTA8/Macro/fiabilite_mefisto.py b/Aster/Cata/cataSTA8/Macro/fiabilite_mefisto.py index 3f820843..b74d7e54 100644 --- a/Aster/Cata/cataSTA8/Macro/fiabilite_mefisto.py +++ b/Aster/Cata/cataSTA8/Macro/fiabilite_mefisto.py @@ -1,4 +1,4 @@ -#@ MODIF fiabilite_mefisto Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF fiabilite_mefisto Macro DATE 04/10/2005 AUTEUR REZETTE C.REZETTE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -47,6 +47,8 @@ def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, from Macro import fiabilite_fichier import os import string + import Numeric + from Utilitai.Utmess import UTMESS # #____________________________________________________________________ # @@ -232,11 +234,22 @@ def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, f_stoch.Ecrit_Valeurs ( aux ) # f_stoch.Ecrit_Titre ("Correlation matrix fictive") - for m in range(nb_occu_variable) : - aux = [ ] - for n in range(nb_occu_variable) : - aux.append(args["MATRICE"][n + m*nb_occu_variable]) - f_stoch.Ecrit_Valeurs ( aux ) +# if args.has_key('MATRICE'): + if args["MATRICE"] != None: + if len(args["MATRICE"]) != nb_occu_variable**2: + UTMESS('F','FIABILITE_MEPHISTO',' LE NOMBRE D ELEMENTS' + +' DU MOT CLE MATRICE DOIT ETRE EGAL A : ' + +str(nb_occu_variable**2)) + for m in range(nb_occu_variable) : + aux = [ ] + for n in range(nb_occu_variable) : + aux.append(args["MATRICE"][n + m*nb_occu_variable]) + f_stoch.Ecrit_Valeurs ( aux ) + else: + aux=Numeric.identity(nb_occu_variable) + aux=Numeric.concatenate(aux) + aux=aux.tolist() + f_stoch.Ecrit_Valeurs ( aux ) # f_stoch.Ecrit_Titre ("Parameter threshold value") if SEUIL_TYPE == "MAXIMUM" : diff --git a/Aster/Cata/cataSTA8/Macro/impr_fonction_ops.py b/Aster/Cata/cataSTA8/Macro/impr_fonction_ops.py index 1e9d6e49..dd50f8eb 100644 --- a/Aster/Cata/cataSTA8/Macro/impr_fonction_ops.py +++ b/Aster/Cata/cataSTA8/Macro/impr_fonction_ops.py @@ -1,4 +1,4 @@ -#@ MODIF impr_fonction_ops Macro DATE 11/05/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF impr_fonction_ops Macro DATE 02/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -30,8 +30,10 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): Erreurs dans IMPR_FONCTION pour ne pas perdre la base. """ macro='IMPR_FONCTION' + import pprint import aster from Accas import _F + from Cata.cata import nappe_sdaster, fonction_c from Utilitai import Graph from Utilitai.Utmess import UTMESS from Utilitai.UniteAster import UniteAster @@ -53,11 +55,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # 0.1. Fichier nomfich=None - if args['UNITE'] and args['UNITE']<>6: + if args['UNITE'] and args['UNITE']!=6: nomfich=UL.Nom(args['UNITE']) if INFO==2: - print ' Nom du fichier :',nomfich - if nomfich and os.path.exists(nomfich) and os.stat(nomfich).st_size<>0: + aster.affiche('MESSAGE', ' Nom du fichier :'+nomfich) + if nomfich and os.path.exists(nomfich) and os.stat(nomfich).st_size!=0: if FORMAT=='XMGRACE': niv='A' else: @@ -81,7 +83,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): if dC[mc]==None: del dC[mc] Courbe.append(dC) if INFO==2: - print ' Nombre de fonctions à analyser : ',len(Courbe) + aster.affiche('MESSAGE',' Nombre de fonctions à analyser : '+str(len(Courbe))) # 0.3. Devra-t-on interpoler globalement ? # Dans ce cas, linter__ est le LIST_PARA @@ -97,12 +99,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): for typi in unparmi: if dCi.has_key(typi): obj=dCi[typi] - typ=obj.__class__.__name__ break if obj==None: UTMESS('S',macro,'incohérence entre le catalogue et la macro.') if typi=='FONCTION': - if typ=='nappe_sdaster': + if isinstance(obj, nappe_sdaster): lpar,lval=obj.Valeurs() linterp=lval[0][0] else: @@ -113,7 +114,8 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): linterp=obj linter__=DEFI_LIST_REEL(VALE=linterp) if INFO==2: - print ' Interpolation globale sur la liste :\n',linter__.Valeurs() + aster.affiche('MESSAGE', ' Interpolation globale sur la liste :') + aster.affiche('MESSAGE', pprint.pformat(linter__.Valeurs())) #---------------------------------------------- @@ -130,7 +132,6 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): for typi in unparmi: if dCi.has_key(typi): obj=dCi[typi] - typ=obj.__class__.__name__ break if not dCi.has_key('LEGENDE') and hasattr(obj,'get_name'): dCi['LEGENDE']=obj.get_name() @@ -141,7 +142,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # 1.2.1. Mot-clé FONCTION if typi=='FONCTION': - if typ=='nappe_sdaster': + if isinstance(obj, nappe_sdaster): lpar,lval=obj.Valeurs() dico,ldicf=obj.Parametres() Leg=dCi['LEGENDE'] @@ -200,10 +201,10 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): lval=list(ftmp__.Valeurs()) lx=lval[0] lr=lval[1] - if typ=='fonction_c' and dCi.has_key('PARTIE'): - if dCi['PARTIE']=='IMAG' : lr=lval[2] + if isinstance(obj, fonction_c) and dCi.get('PARTIE') == 'IMAG': + lr=lval[2] # on stocke les données dans le Graph - if typ=='fonction_c' and not dCi.has_key('PARTIE'): + if isinstance(obj, fonction_c) and not dCi.has_key('PARTIE'): nomresu=dpar['NOM_RESU'].strip()+'_'+str(len(graph.Legendes)) dicC={ 'Val' : lval, @@ -226,7 +227,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): et à la première occurence de COURBE""") lx=dCi['LIST_PARA'].Valeurs() lr=obj.Valeurs() - if len(lx)<>len(lr): + if len(lx)!=len(lr): UTMESS('S',macro,"LIST_PARA et LIST_RESU n'ont pas la meme taille") # on stocke les données dans le Graph dicC={ @@ -242,7 +243,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): elif typi=='FONC_X': ob2=dCi['FONC_Y'] # peut-on blinder au niveau du catalogue - if typ=="nappe_sdaster" or ob2.__class__.__name__=="nappe_sdaster": + if isinstance(obj, nappe_sdaster) or isinstance(ob2, nappe_sdaster): UTMESS('S',macro,"FONC_X/FONC_Y ne peuvent pas etre des nappes !") if interp and iocc>0: UTMESS('S',macro,"""Au format 'TABLEAU' ,FONC_X/FONC_Y ne peut apparaitre qu'une seule fois @@ -308,7 +309,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): et à la première occurence de COURBE""") lx=obj lr=dCi['ORDONNEE'] - if len(lx)<>len(lr): + if len(lx)!=len(lr): UTMESS('S',macro,"ABSCISSE et ORDONNEE n'ont pas la meme taille") # on stocke les données dans le Graph dicC={ @@ -326,9 +327,10 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # 1.3. dbg if INFO==2: - print '\n'+'-'*70+'\n Contenu du Graph : \n'+'-'*70 - print graph - print '-'*70+'\n' + message='\n'+'-'*70+'\n Contenu du Graph : \n'+'-'*70+'\n' + message=message+graph.__repr__() + message=message+'-'*70+'\n' + aster.affiche('MESSAGE',message) #---------------------------------------------- # 2. Impression du 'tableau' de valeurs @@ -336,21 +338,21 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # 2.0. Surcharge des propriétés du graphique et des axes # (bloc quasiment identique dans Table) - if args['TITRE']<>None: graph.Titre=args['TITRE'] - if args['SOUS_TITRE']<>None: graph.SousTitre=args['SOUS_TITRE'] + if args['TITRE']!=None: graph.Titre=args['TITRE'] + if args['SOUS_TITRE']!=None: graph.SousTitre=args['SOUS_TITRE'] if FORMAT in ('XMGRACE','AGRAF'): - if args['BORNE_X']<>None: + if args['BORNE_X']!=None: graph.Min_X=args['BORNE_X'][0] graph.Max_X=args['BORNE_X'][1] - if args['BORNE_Y']<>None: + if args['BORNE_Y']!=None: graph.Min_Y=args['BORNE_Y'][0] graph.Max_Y=args['BORNE_Y'][1] - if args['LEGENDE_X']<>None: graph.Legende_X=args['LEGENDE_X'] - if args['LEGENDE_Y']<>None: graph.Legende_Y=args['LEGENDE_Y'] - if args['ECHELLE_X']<>None: graph.Echelle_X=args['ECHELLE_X'] - if args['ECHELLE_Y']<>None: graph.Echelle_Y=args['ECHELLE_Y'] - if args['GRILLE_X']<>None: graph.Grille_X=args['GRILLE_X'] - if args['GRILLE_Y']<>None: graph.Grille_Y=args['GRILLE_Y'] + if args['LEGENDE_X']!=None: graph.Legende_X=args['LEGENDE_X'] + if args['LEGENDE_Y']!=None: graph.Legende_Y=args['LEGENDE_Y'] + if args['ECHELLE_X']!=None: graph.Echelle_X=args['ECHELLE_X'] + if args['ECHELLE_Y']!=None: graph.Echelle_Y=args['ECHELLE_Y'] + if args['GRILLE_X']!=None: graph.Grille_X=args['GRILLE_X'] + if args['GRILLE_Y']!=None: graph.Grille_Y=args['GRILLE_Y'] kargs={ 'FORMAT' : FORMAT, @@ -370,7 +372,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # 2.2. au format AGRAF elif FORMAT=='AGRAF': nomdigr=None - if args['UNITE_DIGR']<>6: + if args['UNITE_DIGR']!=6: nomdigr=UL.Nom(args['UNITE_DIGR']) kargs['FICHIER']=[nomfich, nomdigr] kargs['dform']={ 'formR' : '%12.5E' } @@ -387,7 +389,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): # Traiter le cas des UL réservées if args['UNITE'] and args['UNITE'] in ul_reserve: UL.Etat(args['UNITE'], etat='F') - if FORMAT=='AGRAF' and args['UNITE_DIGR']<>args['UNITE'] \ + if FORMAT=='AGRAF' and args['UNITE_DIGR']!=args['UNITE'] \ and args['UNITE_DIGR'] in ul_reserve: UL.Etat(args['UNITE_DIGR'], etat='F') diff --git a/Aster/Cata/cataSTA8/Macro/impr_table_ops.py b/Aster/Cata/cataSTA8/Macro/impr_table_ops.py index 74776f0b..4b90940d 100644 --- a/Aster/Cata/cataSTA8/Macro/impr_table_ops.py +++ b/Aster/Cata/cataSTA8/Macro/impr_table_ops.py @@ -1,4 +1,4 @@ -#@ MODIF impr_table_ops Macro DATE 11/05/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF impr_table_ops Macro DATE 07/03/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -35,10 +35,11 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args): """ macro='IMPR_TABLE' import aster - from Accas import _F - from Cata.cata import table_jeveux - from Utilitai.Utmess import UTMESS + from Accas import _F + from Cata.cata import table_jeveux + from Utilitai.Utmess import UTMESS from Utilitai.UniteAster import UniteAster + from Utilitai.Sensibilite import NomCompose ier=0 # La macro compte pour 1 dans la numerotation des commandes self.set_icmd(1) @@ -75,30 +76,19 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args): form_filtre='\nFILTRE -> NOM_PARA: %-16s CRIT_COMP: %-4s VALE: %s' # 0.3. Création de la liste des tables (une seule sans SENSIBILITE) - form_sens='\n... SENSIBILITE AU PARAMETRE %s' + form_sens='\n... SENSIBILITE AU PARAMETRE %s (SD COMP %s)' ltab=[] if args['SENSIBILITE']: - nmemo='&NOSENSI.MEMO.CORR'.ljust(24) - vect=aster.getvectjev(nmemo) - if vect: - lps=args['SENSIBILITE'] - if not type(lps) in EnumTypes: - lps=[lps,] - for ps in [ps.get_name() for ps in lps]: - trouv=False - for ch in vect[0:len(vect):2]: - if ch[0:8].strip()==TABLE.get_name() and ch[8:16].strip()==ps: - trouv=True - ncomp=ch[16:24].strip() - sdtab=table_jeveux(ncomp) - tabs=sdtab.EXTR_TABLE() - tabs.titr+=form_sens % ps - ltab.append([tabs, sdtab]) - if not trouv: - UTMESS('A',macro,'Dérivée de %s par rapport à %s non disponible'\ - % (TABLE.get_name(), ps)) - else: - UTMESS('A',macro,'Pas de calcul de sensibilité accessible.') + lps=args['SENSIBILITE'] + if not type(lps) in EnumTypes: + lps=[lps,] + for ps in lps: + ncomp = NomCompose(TABLE, ps) + if ncomp != None: + sdtab = table_jeveux(ncomp) + tabs = sdtab.EXTR_TABLE() + tabs.titr = TABLE.TITRE() + tabs.titr + form_sens % (ps.get_name(), ncomp) + ltab.append([tabs, sdtab]) else: ltab.append([TABLE.EXTR_TABLE(), TABLE]) @@ -109,6 +99,8 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args): nom_para=ltab[0][0].para if args['NOM_PARA']: nom_para=args['NOM_PARA'] + if not type(nom_para) in EnumTypes: + nom_para=[nom_para,] # 0.4.2. Traiter le cas des UL réservées if args['UNITE'] and args['UNITE'] in ul_reserve: @@ -148,7 +140,14 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args): tab.sort(CLES=dT['NOM_PARA'], ORDRE=dT['ORDRE']) # ----- 4. Impression + # vérification des paramètres + for p in nom_para: + if not p in tab.para: + UTMESS('A', 'IMPR_TABLE', 'Paramètre absent de la table : %s' % p) + + # sélection des paramètres timp=tab[nom_para] + # passage des mots-clés de mise en forme à la méthode Impr kargs=args.copy() kargs.update({ @@ -179,7 +178,14 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args): # 4.4. regroupement par paramètre : PAGINATION if args['PAGINATION']: - kargs['PAGINATION']=args['PAGINATION'] + l_ppag=args['PAGINATION'] + if not type(l_ppag) in EnumTypes: + l_ppag=[l_ppag,] + kargs['PAGINATION'] = [p for p in l_ppag if p in nom_para] + l_para_err = [p for p in l_ppag if not p in nom_para] + if len(l_para_err)>0: + UTMESS('A', 'IMPR_TABLE', 'Paramètres absents de la table (ou de '\ + 'NOM_PARA) : %s' % ', '.join(l_para_err)) timp.Impr(**kargs) diff --git a/Aster/Cata/cataSTA8/Macro/info_fonction_ops.py b/Aster/Cata/cataSTA8/Macro/info_fonction_ops.py index b728f6a4..0554e0cd 100644 --- a/Aster/Cata/cataSTA8/Macro/info_fonction_ops.py +++ b/Aster/Cata/cataSTA8/Macro/info_fonction_ops.py @@ -1,4 +1,4 @@ -#@ MODIF info_fonction_ops Macro DATE 12/05/2005 AUTEUR DURAND C.DURAND +#@ MODIF info_fonction_ops Macro DATE 02/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -17,7 +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. # ====================================================================== -def info_fonction_ops(self,RMS,NOCI_SEISME,MAX,NORME,ECART_TYPE,**args): +def info_fonction_ops(self,RMS,NOCI_SEISME,MAX,NORME,ECART_TYPE,INFO,**args): """ Ecriture de la macro INFO_FONCTION """ @@ -30,6 +30,7 @@ def info_fonction_ops(self,RMS,NOCI_SEISME,MAX,NORME,ECART_TYPE,**args): ### On importe les definitions des commandes a utiliser dans la macro CREA_TABLE = self.get_cmd('CREA_TABLE') + IMPR_TABLE = self.get_cmd('IMPR_TABLE') CALC_FONCTION = self.get_cmd('CALC_FONCTION') ### Comptage commandes + déclaration concept sortant @@ -249,4 +250,7 @@ porte le calcul, ceci peut etre une source d erreurs.''') l_table.append(_F(LISTE_R=dphfor,PARA='DUREE_PHAS_FORT')) C_out=CREA_TABLE(LISTE=l_table) + if INFO > 1: + IMPR_TABLE(UNITE=6, + TABLE=C_out) return ier diff --git a/Aster/Cata/cataSTA8/Macro/lire_inte_spec_ops.py b/Aster/Cata/cataSTA8/Macro/lire_inte_spec_ops.py index 1a9209a6..a2bd9567 100644 --- a/Aster/Cata/cataSTA8/Macro/lire_inte_spec_ops.py +++ b/Aster/Cata/cataSTA8/Macro/lire_inte_spec_ops.py @@ -1,4 +1,4 @@ -#@ MODIF lire_inte_spec_ops Macro DATE 24/05/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF lire_inte_spec_ops Macro DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -50,14 +50,10 @@ def lire_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL, entete=entete[entete.index('DIM'):] dim=int(entete[entete.index('=')+1:entete.index('\n')]) except ValueError : - ier=ier+1 - self.cr.fatal(" la dimension DIM n est pas précisée dans le fichier lu") - return ier + UTMESS('F', nompro, "la dimension DIM n est pas précisée dans le fichier lu") if len(list_fonc)!=(dim*(dim+1)/2): - ier=ier+1 - self.cr.fatal(" nombre de fonctions incorrect") - return ier + UTMESS('F', nompro, "nombre de fonctions incorrect") nume_i=[] nume_j=[] @@ -74,9 +70,7 @@ def lire_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL, vale_fonc=vale_fonc.replace('\n',' ') vale_fonc=map(float,vale_fonc.split()) except ValueError : - ier=ier+1 - self.cr.fatal(" erreur dans les données de fonctions") - return ier + UTMESS('F', nompro, "erreur dans les données de fonctions") liste=[] if FORMAT=='REEL_IMAG': @@ -105,9 +99,7 @@ def lire_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL, nume_ib.append(i+1) nume_jb.append(j+1) if nume_i!=nume_ib or nume_j!=nume_jb : - ier=ier+1 - self.cr.fatal(" erreur dans les indices") - return ier + UTMESS('F', nompro, "erreur dans les indices") mcfact=[] mcfact.append(_F(PARA='NOM_CHAM' ,LISTE_K=(NOM_RESU),NUME_LIGN=(1,))) mcfact.append(_F(PARA='OPTION' ,LISTE_K=('TOUT',) ,NUME_LIGN=(1,))) @@ -116,8 +108,7 @@ def lire_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL, mcfact.append(_F(PARA='NUME_ORDRE_J',LISTE_I=nume_j ,NUME_LIGN=range(2,len(nume_j)+2))) mcfact.append(_F(PARA='FONCTION' ,LISTE_K=l_fonc ,NUME_LIGN=range(2,len(list_fonc)+2))) self.DeclareOut('tab_inte',self.sd) - tab_inte=CREA_TABLE(TYPE_TABLE='TABL_INTE_SPEC', - LISTE=mcfact, + tab_inte=CREA_TABLE(LISTE=mcfact, TITRE=TITRE,) # remet UNITE dans son état initial diff --git a/Aster/Cata/cataSTA8/Macro/lire_table_ops.py b/Aster/Cata/cataSTA8/Macro/lire_table_ops.py index acf3a914..5d4edeff 100644 --- a/Aster/Cata/cataSTA8/Macro/lire_table_ops.py +++ b/Aster/Cata/cataSTA8/Macro/lire_table_ops.py @@ -1,4 +1,4 @@ -#@ MODIF lire_table_ops Macro DATE 24/05/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF lire_table_ops Macro DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -113,7 +113,7 @@ def lecture_table(texte,nume,separ): # ------------------------------------------------------------------------------ def lire_table_ops(self,UNITE,FORMAT,NUME_TABLE,SEPARATEUR, - TYPE_TABLE,PARA,TITRE,**args): + PARA,TITRE,**args): """Méthode corps de la macro LIRE_TABLE """ import os @@ -122,6 +122,7 @@ def lire_table_ops(self,UNITE,FORMAT,NUME_TABLE,SEPARATEUR, from Utilitai.UniteAster import UniteAster ier=0 + nompro='LIRE_TABLE' ### On importe les definitions des commandes a utiliser dans la macro CREA_TABLE =self.get_cmd('CREA_TABLE') @@ -142,8 +143,7 @@ def lire_table_ops(self,UNITE,FORMAT,NUME_TABLE,SEPARATEUR, if FORMAT=='ASTER': ier,message,titr_tab,list_para,tab_lue=lecture_table(texte,NUME_TABLE,SEPARATEUR) if ier!=0 : - self.cr.fatal(message) - return ier + UTMESS('F', nompro, message) else : pass ### création de la table ASTER : @@ -170,7 +170,7 @@ def lire_table_ops(self,UNITE,FORMAT,NUME_TABLE,SEPARATEUR, motscles={} motscles['LISTE']=mcfact - ut_tab=CREA_TABLE(TITRE=titr_tab,TYPE_TABLE=TYPE_TABLE, **motscles) + ut_tab=CREA_TABLE(TITRE=titr_tab,**motscles) # remet UNITE dans son état initial UL.EtatInit() diff --git a/Aster/Cata/cataSTA8/Macro/macr_adap_mail_ops.py b/Aster/Cata/cataSTA8/Macro/macr_adap_mail_ops.py index 16625395..0d1234c4 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_adap_mail_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_adap_mail_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_adap_mail_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macr_adap_mail_ops Macro DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -20,14 +20,10 @@ # RESPONSABLE GNICOLAS G.NICOLAS # def macr_adap_mail_ops ( self, - INFO, VERSION_HOMARD, LANGUE, - NOMBRE, QUALITE, CONNEXITE, TAILLE, INTERPENETRATION, - NON_SIMPLEXE, MAILLAGE_FRONTIERE, + INFO, VERSION_HOMARD, MAILLAGE_FRONTIERE, **args): """ - 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 + Traitement des macros MACR_ADAP_MAIL/MACR_INFO_MAIL """ # # 1. args est le dictionnaire des arguments @@ -57,7 +53,7 @@ def macr_adap_mail_ops ( self, # 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["Type_Maillage"] = o ; string ; "MAILLAGE_N", "MAILLAGE_NP1", "MAILLAGE_NP1_ANNEXE" 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 @@ -66,9 +62,10 @@ def macr_adap_mail_ops ( self, # 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["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP_MAJ" +# dico["RESULTAT"] = f ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = f ; string ; Nom ASTER du champ +# dico["CHAM_GD"] = f ; concept ASTER du champ de grandeur associée # 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 @@ -78,16 +75,18 @@ def macr_adap_mail_ops ( self, # dico["NOM_MED"] = o ; string ; Nom MED du champ # from Accas import _F + from Macro import creation_donnees_homard + from Utilitai.Utmess import UTMESS import aster import string - import types import os +#gn import shutil # global Liste_Passages # -#-------------------------------------------------------------------- +#==================================================================== # 1. Préalables -#-------------------------------------------------------------------- +#==================================================================== # # 1.1. ==> La macro compte pour 1 dans la numerotation des commandes # @@ -100,18 +99,16 @@ def macr_adap_mail_ops ( self, except : self.jdc.indice_macro_homard = 1 Liste_Passages = [] - Numero_Passage_Fonction = self.jdc.indice_macro_homard -### print "Numero_Passage_Fonction = ",Numero_Passage_Fonction + numero_passage_fonction = self.jdc.indice_macro_homard +### print "numero_passage_fonction = ",numero_passage_fonction # # 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") - DETRUIRE = self.get_cmd('DETRUIRE') # # 1.4. ==> Le nom du programme HOMARD à lancer # @@ -120,92 +117,151 @@ def macr_adap_mail_ops ( self, # # 1.5. ==> Initialisations # - codret = 0 codret_partiel = [0] Rep_Calc_ASTER = os.getcwd() # Liste_Maillages = [] Liste_Champs = [] + Liste_Zones = [] dico_indi = {} # - ADAPTATION = None - MAJ_CHAM = None + LISTE_ADAPTATION_LIBRE = ("RAFF_DERA" , "RAFFINEMENT" , "DERAFFINEMENT") # - unite = 71 -# -#-------------------------------------------------------------------- +#==================================================================== # 2. Décodage des arguments de la macro-commande -#-------------------------------------------------------------------- +#==================================================================== # 2.1. ==> Données de pilotage de l'adaptation # if ( self.nom == "MACR_ADAP_MAIL" ) : # - modhom = "ADAP" -# - ADAPTATION = args["ADAPTATION"] - if args.has_key("MAJ_CHAM") : - MAJ_CHAM = args["MAJ_CHAM"] + mode_homard = "ADAP" # # 2.1.1. ==> Les concepts "maillage" # - for mot_cle in ["MAILLAGE_N","MAILLAGE_NP1"] : +#gn print "\n.. Debut de 2.1.1" +# for mot_cle in ["MAILLAGE_N" , "MAILLAGE_NP1"] : + for mot_cle in ["MAILLAGE_N" , "MAILLAGE_NP1" , "MAILLAGE_NP1_ANNEXE"] : +#gn print "\nmot_cle = ",mot_cle dico = {} dico["Type_Maillage"] = mot_cle - dico["Nom_ASTER"] = ADAPTATION[mot_cle] - if ( mot_cle == "MAILLAGE_N" ) : - dico["Action"] = "A_ecrire" + if ( args[mot_cle] != None ) : +#gn print "==> args[",mot_cle,"] = ",args[mot_cle] + dico["Nom_ASTER"] = args[mot_cle] + if ( mot_cle == "MAILLAGE_N" ) : + dico["Action"] = "A_ecrire" + else : + dico["Action"] = "A_lire" else : - dico["Action"] = "A_lire" + dico["Action"] = "Rien" +#gn print "dico = ",dico Liste_Maillages.append(dico) # # 2.1.2. ==> L'éventuel indicateur d'erreur # - if ADAPTATION["LIBRE"] != None : +#gn print "\n.. Debut de 2.1.2" + if args["ADAPTATION"] in LISTE_ADAPTATION_LIBRE : 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" ] : - if ( ADAPTATION[cle] != None ) : - dico[cle] = ADAPTATION[cle] - dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] ) + if ( args["RESULTAT_N"] != None ) : + lresu = 1 + dico["RESULTAT"] = args["RESULTAT_N"] + noresu = dico["RESULTAT"].nom + dico["NOM_CHAM"] = args["INDICATEUR"] + nomsym = dico["NOM_CHAM"] + if ( args["NUME_ORDRE"] != None ) : + dico["NUME_ORDRE"] = args["NUME_ORDRE"] + if ( args["INST"] != None ) : + dico["INST"] = args["INST"] + for cle in [ "PRECISION", "CRITERE" ] : + if ( args[cle] != None ) : + dico[cle] = args[cle] + else : + lresu = 0 + dico["CHAM_GD"] = args["CHAM_GD"] + noresu = dico["CHAM_GD"].nom + nomsym = " " + nopase = " " +# +### print "Avant appel a aster.mdnoch, lresu = ",lresu,", noresu =", noresu ,", nomsym = ", nomsym ,", nopase = ", nopase + dico["NOM_MED"] = aster.mdnoch ( lresu, noresu, nomsym, nopase ) +### print "dico[\"NOM_MED\"] = ", dico["NOM_MED"] + dico["COMPOSANTE"] = args["NOM_CMP_INDICA"] Liste_Champs.append(dico) dico_indi = dico ### print dico # # 2.1.3. ==> Les champs à mettre à jour # - if ( MAJ_CHAM != None ) : +#gn print "\n.. Debut de 2.1.3." # - for maj_cham in MAJ_CHAM : -### print maj_cham + if args.has_key("MAJ_CHAM") : +# + if args["MAJ_CHAM"] is None : + les_champs = [] + else : + les_champs = args["MAJ_CHAM"] +# + for maj_cham in les_champs : +#gn print maj_cham +#gn print type(maj_cham) # dico = {} - dico["Type_Champ"] = "CHAMP" - for cle in [ "CHAM_MAJ", "TYPE_CHAM", "RESULTAT", "NOM_CHAM" ] : + dico["Type_Champ"] = "CHAMP_MAJ" + Liste_aux = [ "CHAM_MAJ", "TYPE_CHAM", "NOM_CHAM" ] + if ( maj_cham["RESULTAT"] != None ) : + lresu = 1 + Liste_aux.append("RESULTAT") + 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] + noresu = maj_cham["RESULTAT"].nom + nomsym = maj_cham["NOM_CHAM"] + else : + lresu = 0 + Liste_aux.append("CHAM_GD") + noresu = maj_cham["CHAM_GD"].nom + nomsym = " " + for cle in Liste_aux : dico[cle] = maj_cham[cle] - 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"] ) + nopase = " " +### print "Avant appel a aster.mdnoch, lresu = ",lresu,", noresu =", noresu ,", nomsym = ", nomsym ,", nopase = ", nopase + dico["NOM_MED"] = aster.mdnoch ( lresu, noresu, nomsym, nopase ) # ### print dico Liste_Champs.append(dico) # +# 2.1.4. ==> Les zones de raffinement +# +### print "\n.. Debut de 2.1.4." +# + if args.has_key("ZONE") : +# + if args["ZONE"] is None : + les_zones = [] + else : + les_zones = args["ZONE"] +# + for zone in les_zones : +### print zone +### print type(zone) + dico = {} + for aux in ['X_MINI','X_MAXI','Y_MINI','Y_MAXI','Z_MINI','Z_MAXI','X_CENTRE','Y_CENTRE','Z_CENTRE','RAYON'] : + if ( zone[aux] != None ) : + dico[aux] = zone[aux] +### print dico + Liste_Zones.append(dico) +# +### print Liste_Zones +# # 2.2. ==> Données de pilotage de l'information # else : # - modhom = "INFO" + mode_homard = "INFO" # dico = {} dico["Type_Maillage"] = "MAILLAGE_N" @@ -214,6 +270,8 @@ def macr_adap_mail_ops ( self, Liste_Maillages.append(dico) # # 2.3. ==> Suivi de frontière +# +#gn print "\n.. Debut de 2.3." # if ( MAILLAGE_FRONTIERE != None ) : # @@ -223,24 +281,53 @@ def macr_adap_mail_ops ( self, dico["Action"] = "A_ecrire" Liste_Maillages.append(dico) # -#-------------------------------------------------------------------- +# 2.4. ==> Le numéro de version de HOMARD +# Remarque : dans la donnée de la version de HOMARD, il faut remplacer +# le _ de la donnee par un ., qui est interdit dans la +# syntaxe du langage de commandes ASTER +# Remarque : il faut remplacer le N majuscule de la donnee par +# un n minuscule, qui est interdit dans la syntaxe du langage +# de commandes ASTER +# +#gn print "\n.. Debut de 2.4. avec VERSION_HOMARD = ", VERSION_HOMARD + VERSION_HOMARD = string.replace(VERSION_HOMARD,"_" , ".") + VERSION_HOMARD = string.replace(VERSION_HOMARD,"N" , "n") +# + if ( VERSION_HOMARD[-6:]==".PERSO" ): + VERSION_HOMARD = VERSION_HOMARD[:-6] + version_perso = 1 + else : + version_perso = 0 +#gn print ".... VERSION_HOMARD = ", VERSION_HOMARD +#gn print ".... version_perso = ", version_perso +# +#==================================================================== # 3. Préparation du lancement des commandes -#-------------------------------------------------------------------- +#==================================================================== # # 3.1. ==> . Elaboration des noms MED des concepts de maillage # . Memorisation des noms ASTER du maillage en entrée et en sortie (sous forme string) +# # On crée une nouvelle liste des dictionnaires décrivant les maillages # et à la fin on écrase l'ancienne liste par cette nouvelle. # - L = [] +#gn print "\n.. Debut de 3.1." +# + Nom_Concept_Maillage_NP1_ANNEXE = None + l_aux = [] for dico in Liste_Maillages : - 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 - Liste_Maillages = L +#gn print "\ndico avant = ",dico + if ( dico["Action"] != "Rien" ) : + dico["NOM_MED"] = aster.mdnoma(dico["Nom_ASTER"].nom) + l_aux.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 + elif ( dico["Type_Maillage"] == "MAILLAGE_NP1_ANNEXE" ) : + Nom_Concept_Maillage_NP1_ANNEXE = dico["Nom_ASTER"].nom +#gn print "\ndico apres = ",dico + Liste_Maillages = l_aux # # 3.2. ==> Recherche du numéro d'itération et du répertoire de travail # @@ -248,23 +335,29 @@ def macr_adap_mail_ops ( self, # . le numéro d'itération est nul # . le nom du répertoire de lancement de HOMARD est construit sur le nom # du maillage en entrée et le numéro de passage dans la fonction +# +#gn print "\.. Debut de 3.2.1." # 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_global = os.path.join(Rep_Calc_ASTER,Nom_Rep_local) + Nom_Rep_local = Nom_Concept_Maillage_N + "_" + mode_homard + "_" + str(numero_passage_fonction) + 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 # -# 3.2.2. ==> En adaptation : +# 3.2.2. ==> En adaptation : il faut repartir du répertoire de l'itération précédente +# +#gn print "\.. Debut de 3.2.2." # - if ( modhom == "ADAP" ) : + if ( mode_homard == "ADAP" ) : # # 3.2.2.1. ==> On recherche si dans les passages déjà effectués, il en existe un # dont le maillage d'arrivée était l'actuel maillage d'entrée. Si c'est # le cas, cela veut dire que l'adaptation en cours est la suite d'une # précédente. On doit donc utiliser le meme répertoire. Le numéro # d'itération est celui de l'adaptation précédente augmenté de 1. +# +#gn print "\.. Debut de 3.2.2.1." # for dico in Liste_Passages : if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : @@ -274,12 +367,15 @@ def macr_adap_mail_ops ( self, # # 3.2.2.2. ==> Memorisation de ce passage # +#gn print "\.. Debut de 3.2.2.2." +# # 3.2.2.2.1. ==> Enregistrement d'un nouveau cas de figure # if ( niter == 0 ) : dico = {} dico["Maillage_0"] = Nom_Concept_Maillage_N dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["Maillage_NP1_ANNEXE"] = Nom_Concept_Maillage_NP1_ANNEXE dico["Rep_Calc_HOMARD_local"] = Rep_Calc_HOMARD_local dico["Rep_Calc_HOMARD_global"] = Rep_Calc_HOMARD_global dico["niter"] = niter @@ -288,23 +384,22 @@ def macr_adap_mail_ops ( self, # 3.2.2.2.2. ==> Modification du cas en cours # else : - L = [] + l_aux = [] for dico in Liste_Passages : if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["Maillage_NP1_ANNEXE"] = Nom_Concept_Maillage_NP1_ANNEXE dico["niter"] = niter - L.append(dico) - Liste_Passages = L + l_aux.append(dico) + Liste_Passages = l_aux # ### print "niter = ", niter, ", Rep_Calc_HOMARD_global = ", Rep_Calc_HOMARD_global # -#-------------------------------------------------------------------- -# 4. Ecriture des commandes -#-------------------------------------------------------------------- +# 3.2.3. Création du répertoire pour homard +# attention : on ne fait cette creation qu'une seule fois par cas +# d'adaptation ou d'information # -# 4.1. ==> Création du répertoire pour homard -# attention : on ne fait cette creation qu'une seule fois par cas -# d'adaptation ou d'information +#gn print "\.. Debut de 3.2.3." # if ( niter == 0 ) : # @@ -312,10 +407,13 @@ def macr_adap_mail_ops ( self, os.mkdir(Rep_Calc_HOMARD_global) except os.error,codret_partiel : 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 + UTMESS("F", self.nom, "Impossible de créer le répertoire de travail pour HOMARD : "+Rep_Calc_HOMARD_global) +# +#==================================================================== +# 4. Ecriture des commandes de creation des donnees MED +#==================================================================== # -# 4.2. ==> Ecriture des commandes de creation des donnees MED +#gn print "\.. Debut de 4." # # On doit écrire : le maillage, # le champ d'indicateur d'erreur @@ -324,53 +422,36 @@ def macr_adap_mail_ops ( self, # # Chacune de ces écritures est optionnelle selon le contexte. # - 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 -# un fichier de nom fort.n, placé dans le répertoire de calcul -# Dans le fichier de configuration, on donne comme nom MAILL.(niter).MED en entrée et -# MAILL.(niter+1).MED en sortie (cf. adhc00) -# Tant que les E/S MED n'ont pas évolué, on fait un lien pour assurer la cohérence. + if ( INFO > 1 ) : + infomail = "OUI" + else : + infomail = "NON" # -# 4.2.1.1. ==> D'ASTER vers HOMARD +# 4.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 +# un fichier de nom fort.n, placé dans le répertoire de calcul +## +# 4.1.1. ==> D'ASTER vers HOMARD # - Unite_Fichier_ASTER_vers_HOMARD = 1787 + 2*Numero_Passage_Fonction + 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)) - 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 - try : - os.symlink(Fichier_ASTER_vers_HOMARD,Fichier_HOMARD_Entree) - except os.error,codret_partiel : - 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 # -# 4.2.1.2. ==> De HOMARD vers ASTER +# 4.1.2. ==> De HOMARD vers ASTER # - if ( modhom == "ADAP" ) : + if ( mode_homard == "ADAP" ) : Unite_Fichier_HOMARD_vers_ASTER = Unite_Fichier_ASTER_vers_HOMARD + 1 Fichier_HOMARD_vers_ASTER = os.path.join(Rep_Calc_ASTER,"fort." + str(Unite_Fichier_HOMARD_vers_ASTER)) - Fichier_HOMARD_Sortie = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter+1)+".MED") ### print "Fichier_HOMARD_vers_ASTER = ",Fichier_HOMARD_vers_ASTER -### print "Fichier_HOMARD_Sortie = ",Fichier_HOMARD_Sortie - try : - os.symlink(Fichier_HOMARD_vers_ASTER,Fichier_HOMARD_Sortie) - except os.error,codret_partiel : - 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 # -# 4.2.2. La définition du fichier de ASTER vers HOMARD +# 4.2. La définition du fichier de ASTER vers HOMARD # DEFI_FICHIER ( ACTION= "ASSOCIER", UNITE = Unite_Fichier_ASTER_vers_HOMARD, TYPE = "LIBRE", INFO = INFO ) # -# 4.2.3. Le(s) maillage(s) +# 4.3. Le(s) maillage(s) # Le maillage de calcul et l'éventuel maillage de la frontiere sont écrits # dans le meme fichier MED # En fait, on pourrait s'en passer au dela de la 1ère itération @@ -380,17 +461,17 @@ def macr_adap_mail_ops ( self, # for dico in Liste_Maillages : if ( dico["Action"] == "A_ecrire" ) : - motscsi={} + motscsi = {} motscsi["MAILLAGE"] = dico["Nom_ASTER"] - motscfa={} - motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, + motscfa = {} + motscfa["RESU"] = _F( INFO_MAILLAGE=infomail, **motscsi ) # IMPR_RESU ( INFO = INFO, FORMAT ='MED', UNITE = Unite_Fichier_ASTER_vers_HOMARD, **motscfa ) # -# 4.2.4. Le(s) champ(s) +# 4.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 @@ -398,9 +479,10 @@ def macr_adap_mail_ops ( self, # 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["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP_MAJ" +# dico["RESULTAT"] = f ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = f ; string ; Nom ASTER du champ +# dico["CHAM_GD"] = f ; concept ASTER du champ de grandeur associée # 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 @@ -409,160 +491,143 @@ def macr_adap_mail_ops ( self, # 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 +# 4.4.1. Recherche d'un doublon éventuel sur le champ d'indicateur d'erreur # +### print "dico_indi = ",dico_indi if len(dico_indi) > 0 : - imprime_indic = 0 + indic_est_deja_imprime = 0 + if dico_indi.has_key("RESULTAT") : + Liste_aux = [ "RESULTAT", "NOM_CHAM" ] + else : + Liste_aux = [ "CHAM_GD" ] else : - imprime_indic = 1 + indic_est_deja_imprime = 1 + Liste_aux = [ ] +### print ".. Au debut de la boucle, Liste_aux = ",Liste_aux +### print ".. Au debut de la boucle, indic_est_deja_imprime = ",indic_est_deja_imprime # Liste_Champs_imprime = [] for dico in Liste_Champs : +### print "\n.... dico = ",dico # Pour un champ à mettre à jour, on a toujours impression - if ( dico["Type_Champ"] == "CHAMP" ) : + if ( dico["Type_Champ"] == "CHAMP_MAJ" ) : Liste_Champs_imprime.append(dico) -# Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour : - if not imprime_indic : +# Si le champ d'indicateur n'a toujours pas été repéré comme champ à mettre à jour : + if not indic_est_deja_imprime : # Est-ce le meme champ ? - ok = 1 - for cle in [ "RESULTAT", "NOM_CHAM" ] : - if ( dico_indi[cle] != dico[cle] ) : - ok = 0 + on_a_le_champ = 1 + for cle in Liste_aux : + if ( dico.has_key(cle) ) : +### print "...... dico_indi[cle] = ",dico_indi[cle] +### print "...... dico[cle] = ",dico[cle] + if ( dico_indi[cle] != dico[cle] ) : + on_a_le_champ = 0 + break + else : + on_a_le_champ = 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 : + if on_a_le_champ : 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 + on_a_le_champ = 0 break - if ok : imprime_indic = 1 + if on_a_le_champ : + indic_est_deja_imprime = 1 +### print "\n\nFin de la boucle .. indic_est_deja_imprime = ",indic_est_deja_imprime # 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) + if not indic_est_deja_imprime : + Liste_Champs_imprime.append(dico_indi) # -# 4.2.4.2. Impressions après le filtrage précédent +# 4.4.2. Impressions après le filtrage précédent +#gn print "\n.... Debut de 4.2.4.2." # for dico in Liste_Champs_imprime : - motscsi={} - for cle in [ "RESULTAT", "NOM_CHAM", "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : + motscsi = {} + for cle in [ "RESULTAT", "NOM_CHAM", "CHAM_GD", "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"] - motscfa={} - motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, + motscfa = {} + motscfa["RESU"] = _F( INFO_MAILLAGE=infomail, **motscsi ) +### print ".. motscfa = ",motscfa # IMPR_RESU ( INFO = INFO, FORMAT ='MED', UNITE = Unite_Fichier_ASTER_vers_HOMARD, **motscfa ) # -# 4.3. ==> Ecriture de la commande d'écriture des fichiers de données pour HOMARD +#==================================================================== +# 5. ==> Création des fichiers de données pour HOMARD +#==================================================================== # - motscfa={} -# -# 4.3.1. ==> Le traitement +#gn print "\.. Debut de 5." # - motscsi={} + dico_configuration = {} # -# 4.3.1.1. ==> Le type de traitement +# 5.1. ==> Les généralités # - if ( modhom == "ADAP" ) : - if ( ADAPTATION["UNIFORME"] != None ) : - motscsi["UNIFORME"] = ADAPTATION["UNIFORME"] - else : - motscsi["ADAPTATION"] = ADAPTATION["LIBRE"] - else : - motscsi["INFORMATION"] = "OUI" + dico_configuration["INFO"] = INFO # -# 4.3.1.2. ==> Les noms med des maillages + dico_configuration["Rep_Calc_HOMARD_global"] = Rep_Calc_HOMARD_global + dico_configuration["VERSION_HOMARD"] = VERSION_HOMARD + dico_configuration["version_perso"] = version_perso +# + dico_configuration["niter"] = niter + dico_configuration["Fichier_ASTER_vers_HOMARD"] = Fichier_ASTER_vers_HOMARD + if ( mode_homard == "ADAP" ) : + dico_configuration["Fichier_HOMARD_vers_ASTER"] = Fichier_HOMARD_vers_ASTER +# +# 5.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"] +#gn print "Nom MED de " + dico["Type_Maillage"] + " = " + dico["NOM_MED"] + dico_configuration[ "NOM_MED_"+dico["Type_Maillage"] ] = dico["NOM_MED"] # -# 4.3.1.3. ==> Les caracteristiques de l'éventuel indicateur d'erreur +# 5.3. ==> Les caracteristiques de l'éventuel indicateur d'erreur # for dico in Liste_Champs : + dico_aux = {} 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" ] : - Liste_aux.append(cle) for cle in Liste_aux : - if dico.has_key(cle) : - if ( dico[cle] != None ) : - motscsi[cle] = dico[cle] + if ( dico[cle] != None ) : + dico_aux[cle] = dico[cle] + dico_configuration["Indicateur"] = dico_aux +#gn if dico_configuration.has_key("Indicateur") : +#gn print "dico_configuration[Indicateur] = ", dico_configuration["Indicateur"] # -# 4.3.1.4. ==> Les critères de raffinement et les niveaux extremes +# 5.4. ==> Les zones de raffinement # - 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") - niveau = 0 - 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") - 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"] ) : - self.cr.fatal(" Le niveau minimum doit etre inferieur au niveau maximum.") - codret = codret + 1 -# -# 4.3.1.5. ==> Numéro d'itération -# - if ( modhom == "ADAP" ) : - motscsi["NITER"] = niter -# -# 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"] -# -# 4.3.1.7. ==> Bilan -# - 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 -# - motscfa["ANALYSE"] = _F(**motscsi) -# -# 4.3.3. ==> La mise à jour de champs + prem = 1 + for dico in Liste_Zones : + if prem : + l_aux = [dico] + prem = 0 + else : + l_aux = dico_configuration["Zones"] + l_aux.append(dico) + dico_configuration["Zones"] = l_aux +### if dico_configuration.has_key("Zones") : +### print "dico_configuration[Zones] = ", dico_configuration["Zones"] +# +# 5.5. ==> La mise à jour de champs # prem = 1 for dico in Liste_Champs : - motscsi={} - if ( dico["Type_Champ"] == "CHAMP" ) : + dico_aux = {} + if ( dico["Type_Champ"] == "CHAMP_MAJ" ) : Liste_aux = [ "NOM_MED", "COMPOSANTE" ] if dico.has_key("NUME_ORDRE") : Liste_aux.append("NUME_ORDRE") @@ -572,76 +637,62 @@ def macr_adap_mail_ops ( self, for cle in Liste_aux : if dico.has_key(cle) : if ( dico[cle] != None ) : - motscsi[cle] = dico[cle] -### print motscsi + dico_aux[cle] = dico[cle] +#gn print dico_aux if prem : - motscfa["MAJ_CHAM"] = [_F(**motscsi),] + l_aux = [dico_aux] prem = 0 else : - motscfa["MAJ_CHAM"].append(_F(**motscsi)) -# -# 4.3.4. ==> La commande -# -# 4.3.4.1. ==> Les fichiers annexes -# - dico = {} -# - 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" - Fichier_Donnees = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Donnees) -# 1234567890123456 - dico[Fichier_Donnees] = ("HOMARD_DONN","UNITE_DONN",unite) -# -# 4.3.4.2. ==> L'ouverture de ces fichiers -# - for fic in dico.keys() : - DEFI_FICHIER ( ACTION= "ASSOCIER", FICHIER = fic, UNITE = dico[fic][2], - TYPE = "ASCII", ACCES = "NEW", INFO = INFO ) - motscfa[dico[fic][1]] = dico[fic][2] -# -# 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") -### les_lignes = fichier.readlines() -### fichier.close() -### for ligne in les_lignes : -### print ligne[:-1] -# -# 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 -# - for fic in dico.keys() : - DEFI_FICHIER ( ACTION= "LIBERER", UNITE = dico[fic][2], INFO = INFO ) -# -# 4.4. ==> Ecriture de la commande d'exécution de homard -# Remarque : dans la donnée de la version de HOMARD, il faut remplacer -# le _ de la donnee par un ., qui -# est interdit dans la syntaxe du langage de commandes ASTER -# Remarque : il faut remplacer le N majuscule de la donnee par -# un n minuscule, qui est interdit dans la syntaxe du langage -# de commandes ASTER -# 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 + l_aux = dico_configuration["Champs"] + l_aux.append(dico_aux) + dico_configuration["Champs"] = l_aux +#gn if dico_configuration.has_key("Champs") : +#gn print "dico_configuration[Champs] = ", dico_configuration["Champs"] +# +# 5.6. ==> Appel de la fonction de création +# + donnees_homard = creation_donnees_homard.creation_donnees_homard ( self.nom, args, dico_configuration ) + if ( INFO > 1 ) : + donnees_homard.quel_mode ( ) + fic_homard_niter = donnees_homard.creation_configuration ( ) + donnees_homard.ecrire_fichier_configuration ( ) + if ( mode_homard == "INFO" ) : + Nom_Fichier_Donnees = donnees_homard.ecrire_fichier_donnees ( ) + else : + Nom_Fichier_Donnees = "0" # - 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] +# 5.7. ==> Impression eventuelle des fichiers créés # - if ( modhom == "ADAP" ) : - Nom_Fichier_Donnees = "0" +#gn#gn print "Répertoire ",Rep_Calc_HOMARD_global + os.system("ls -la "+Rep_Calc_HOMARD_global) + if ( INFO > 1 ) : + L_aux = ["HOMARD.Donnees" , "HOMARD.Configuration"] + else : + L_aux = [ ] + for nomfic in L_aux : + fic = os.path.join(Rep_Calc_HOMARD_global, nomfic) + if os.path.isfile (fic) : + print "\n\n==============================================================" + print "Contenu de", nomfic + fichier = open (fic,"r") + les_lignes = fichier.readlines() + fichier.close() + for ligne in les_lignes : + print ligne[:-1] + print "==============================================================\n" +#gn if ( mode_homard == "ADAP" ) : +#gn if args.has_key("MAJ_CHAM") : +#gn if args["MAJ_CHAM"] is not None : +#gn os.system("sleep 1000") +# +#==================================================================== +# 6. Ecriture de la commande d'exécution de homard +#==================================================================== +# +# +#gn print "\.. Debut de 7." +### Fichier_ASTER_vers_HOMARD_2 = os.path.join("/home/gnicolas" , "fort." + str(Unite_Fichier_ASTER_vers_HOMARD)) +### shutil.copyfile(Fichier_ASTER_vers_HOMARD,Fichier_ASTER_vers_HOMARD_2) # EXEC_LOGICIEL ( ARGUMENT = (_F(NOM_PARA=Rep_Calc_HOMARD_global), # nom du repertoire _F(NOM_PARA=VERSION_HOMARD), # version de homard @@ -651,35 +702,45 @@ def macr_adap_mail_ops ( self, LOGICIEL = homard ) # -# 4.5. ==> Ecriture de la commande de lecture des resultats med -# Remarque : -# 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 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 +### if ( mode_homard == "ADAP" ) : +### Fichier_HOMARD_vers_ASTER_2 = os.path.join("/home/gnicolas" , "fort." + str(Unite_Fichier_HOMARD_vers_ASTER)) +### shutil.copyfile(Fichier_HOMARD_vers_ASTER,Fichier_HOMARD_vers_ASTER_2) # - if ( modhom == "ADAP" ) : +#==================================================================== +# 7. ==> Ecriture de la commande de lecture des resultats med +# Remarque : +# La fonction self.DeclareOut(a,b) fonctionne 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 variable locale qui sera désignée par a +# Exemple : +# self.DeclareOut("maillage_a_lire",args["MAILLAGE_NP1"]) +# ==> la variable maillage_a_lire est identifiée à l'argument "MAILLAGE_NP1" +#==================================================================== # -# 4.5.1. ==> Le maillage + if ( mode_homard == "ADAP" ) : # - self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"]) +# 7.1. ==> Le maillage +# +#gn print "args = ",args for dico in Liste_Maillages : +#gn print dico if ( dico["Action"] == "A_lire" ) : - maillage_np1 = LIRE_MAILLAGE ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, + self.DeclareOut("maillage_a_lire", dico["Nom_ASTER"]) + maillage_a_lire = 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 ) + if ( dico["Type_Maillage"] == "MAILLAGE_NP1" ) : + maillage_np1 = maillage_a_lire # -# 4.5.2. ==> Les champs +# 7.2. ==> Les champs # for dico in Liste_Champs : - if ( dico["Type_Champ"] == "CHAMP" ) : -### print dico - self.DeclareOut("champ_maj",dico["CHAM_MAJ"]) - motscsi={} + if ( dico["Type_Champ"] == "CHAMP_MAJ" ) : +#gn print dico + self.DeclareOut("champ_maj", dico["CHAM_MAJ"]) + motscsi = {} for cle in [ "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : if dico.has_key(cle) : if ( dico[cle] != None ) : @@ -691,37 +752,36 @@ def macr_adap_mail_ops ( self, NOM_MED = dico["NOM_MED"], NOM_CMP_IDEM = "OUI", TYPE_CHAM = dico["TYPE_CHAM"], INFO = INFO, **motscsi ) # -#-------------------------------------------------------------------- -# 5. Menage des fichiers MED et HOMARD devenus inutiles -#-------------------------------------------------------------------- +#==================================================================== +# 8. Menage des fichiers MED et HOMARD devenus inutiles +#==================================================================== # - fic = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter)+".HOM") - Liste_aux = [ Fichier_ASTER_vers_HOMARD, Fichier_HOMARD_Entree, fic ] - if ( modhom == "ADAP" ) : + Liste_aux = [ Fichier_ASTER_vers_HOMARD ] + if ( mode_homard == "ADAP" ) : Liste_aux.append(Fichier_HOMARD_vers_ASTER) - Liste_aux.append(Fichier_HOMARD_Sortie) + fic = os.path.join(Rep_Calc_HOMARD_global, fic_homard_niter) + Liste_aux.append(fic) +#gn print "Liste_aux = ",Liste_aux # for fic in Liste_aux : - if ( INFO > 1 ) : print "Destruction du fichier ", fic - if os.path.islink(fic) : - try : - os.unlink(fic) - except os.error,codret_partiel : - self.cr.warn("Code d'erreur de unlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) - self.cr.warn("Impossible d'enlever le lien sur le fichier : "+fic) - codret = codret + 1 + if ( INFO > 1 ) : + print "Destruction du fichier ", fic if os.path.isfile(fic) : try : os.remove(fic) except os.error,codret_partiel : self.cr.warn("Code d'erreur de remove : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) - self.cr.warn("Impossible de détruire le fichier : "+fic) - codret = codret + 1 -### print os.listdir(Rep_Calc_ASTER) -### print os.listdir(Rep_Calc_HOMARD_global) + UTMESS("F", self.nom, "Impossible de détruire le fichier : "+fic) +#gn print "Répertoire ",Rep_Calc_HOMARD_global +#gn os.system("ls -la "+Rep_Calc_HOMARD_global) +#gn print "Répertoire ",Rep_Calc_ASTER +#gn os.system("ls -la "+Rep_Calc_ASTER) +# +#==================================================================== +# C'est fini ! +#==================================================================== # -#-------------------------------------------------------------------- -# 6. C'est fini ! -#-------------------------------------------------------------------- +#gn if ( mode_homard == "ADAP" ) : +#gn os.system("sleep 1") # - return codret + return diff --git a/Aster/Cata/cataSTA8/Macro/macr_ascouf_calc_ops.py b/Aster/Cata/cataSTA8/Macro/macr_ascouf_calc_ops.py index 4c7c9b96..fcb37351 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_ascouf_calc_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_ascouf_calc_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_ascouf_calc_ops Macro DATE 08/02/2005 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macr_ascouf_calc_ops Macro DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -32,6 +32,7 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA import math import aster from math import pi,sin,cos,sqrt,atan2 + from Utilitai.Utmess import UTMESS ier=0 # On recopie les mots cles affe_materiau et impr_table pour les proteger mc_AFFE_MATERIAU=AFFE_MATERIAU @@ -49,10 +50,9 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA IMPR_TABLE =self.get_cmd('IMPR_TABLE' ) DEFI_FOND_FISS =self.get_cmd('DEFI_FOND_FISS' ) CALC_THETA =self.get_cmd('CALC_THETA' ) - CALC_G_THETA_T =self.get_cmd('CALC_G_THETA_T' ) - CALC_G_LOCAL_T =self.get_cmd('CALC_G_LOCAL_T' ) - POST_RCCM =self.get_cmd('POST_RCCM' ) - POST_RELEVE_T =self.get_cmd('POST_RELEVE_T' ) + CALC_G =self.get_cmd('CALC_G' ) + POST_RCCM =self.get_cmd('POST_RCCM' ) + POST_RELEVE_T =self.get_cmd('POST_RELEVE_T' ) # La macro compte pour 1 dans la numerotation des commandes self.set_icmd(1) @@ -63,18 +63,16 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA # if CL_BOL_P2_GV!=None : if TYPE_MAILLAGE=='SOUS_EPAIS_COUDE' : - print ' la condition aux limites sur bol a section conique' - print ' est ignoree pour un coude avec sous-epaisseurs' + message= ' la condition aux limites sur bol a section conique \n' + message=message+' est ignoree pour un coude avec sous-epaisseurs \n' + UTMESS('A', "MACR_ASCOUF_CALC", message) elif (TYPE_MAILLAGE[:4]!='FISS') and (CL_BOL_P2_GV['AZIMUT']!=None) : - ier=ier+1 - self.cr.fatal(""" mot-cle AZIMUT non autorise dans le cas d''un coude sain""") - return ier + UTMESS('E', "MACR_ASCOUF_CALC", "mot-cle AZIMUT non autorise dans le cas d un coude sain") # if mc_IMPR_TABLE!=None : FLAG = 0 if (mc_IMPR_TABLE['NOM_PARA']==None) and (mc_IMPR_TABLE['POSI_ANGUL']==None) and (mc_IMPR_TABLE['POSI_CURV_LONGI']==None) : - ier=ier+1 - self.cr.fatal(""" POSI_ANGUL POSI_CURV_LONGI est obligatoire""") + UTMESS('E', "MACR_ASCOUF_CALC", "POSI_ANGUL POSI_CURV_LONGI est obligatoire") return ier if (mc_IMPR_TABLE['NOM_PARA']!=None) : impr_table_nom_para= mc_IMPR_TABLE['NOM_PARA'] @@ -83,11 +81,9 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA FLAG = 1 if (((impt['ANGLE']==None) and (impt['POSI_ANGUL']==None) and (impt['R_CINTR' ]==None)) or ((impt['ANGLE']==None) and (impt['R_CINTR' ]==None) and (impt['POSI_CURV_LONGI']==None)) ) : - ier=ier+1 - self.cr.fatal(""" il faut renseigner : ANGLE, R_CINTR et POSI_ANGUL ou ANGLE, R_CINTR et POSI_CURV_LONGI""") - return ier + UTMESS('E', "MACR_ASCOUF_CALC", "il faut renseigner : ANGLE, R_CINTR et POSI_ANGUL ou ANGLE, R_CINTR et POSI_CURV_LONGI") if (mc_IMPR_TABLE['NOM_PARA']==None) : FLAG = 1 - if not FLAG : print ' ANGL_COUDE et ANGL_SOUS_EPAI sont inutiles dans ce cas' + if not FLAG : UTMESS('A', "MACR_ASCOUF_CALC","ANGL_COUDE et ANGL_SOUS_EPAI sont inutiles dans ce cas") # #------------------------------------------------------------------ # @@ -226,7 +222,7 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA COEF_MULT = COEFB1 , COEF_IMPO = 0.0 , ) - __conlim = AFFE_CHAR_MECA( MODELE = modele ,**motscles) + _conlim = AFFE_CHAR_MECA( MODELE = modele ,**motscles) # # --- commande AFFE_CHAR_MECA --- # chargement mecanique : pres_rep, effet de fond @@ -244,13 +240,13 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA GROUP_MA = 'EXTUBE' , PRES = PRES_REP['PRES'] ,) # - __chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) + _chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) # # --- commande AFFE_CHAR_MECA --- # chargement mecanique : torseur d efforts # if TORS_P1!=None : - __chtor = [None]*6 + _chtor = [None]*6 i=0 for tors in TORS_P1: mcsimp={} @@ -261,8 +257,8 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA if tors['MY']!=None : mcsimp['MY']=tors['MY'] if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] mcfact=_F(GROUP_NO='P1',**mcsimp) - __chtor[i] = AFFE_CHAR_MECA( MODELE = modele , - FORCE_NODALE = mcfact , ) + _chtor[i] = AFFE_CHAR_MECA( MODELE = modele , + FORCE_NODALE = mcfact , ) i=i+1 # # --- commande STAT_NON_LINE --- @@ -270,21 +266,21 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA motscles={} # mcfex=[] # mot clé facteur EXCIT - mcfex.append(_F(CHARGE=__conlim,)) + mcfex.append(_F(CHARGE=_conlim,)) if ECHANGE!=None : mcfex.append(_F(CHARGE=chmeth,)) if PRES_REP!=None: if PRES_REP['FONC_MULT']!=None : - mcfex.append(_F(CHARGE=__chpres,FONC_MULT=PRES_REP['FONC_MULT'])) + mcfex.append(_F(CHARGE=_chpres,FONC_MULT=PRES_REP['FONC_MULT'])) else : - mcfex.append(_F(CHARGE=__chpres,)) + mcfex.append(_F(CHARGE=_chpres,)) if TORS_P1!=None: i=0 for tors in TORS_P1 : if tors['FONC_MULT']!=None : - mcfex.append(_F(CHARGE=__chtor[i],FONC_MULT=tors['FONC_MULT'])) + mcfex.append(_F(CHARGE=_chtor[i],FONC_MULT=tors['FONC_MULT'])) else : - mcfex.append(_F(CHARGE=__chtor[i],)) + mcfex.append(_F(CHARGE=_chtor[i],)) i=i+1 motscles['EXCIT'] =mcfex # @@ -620,7 +616,7 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA fonfis=DEFI_FOND_FISS(MAILLAGE=MAILLAGE, LEVRE_SUP=_F(GROUP_MA='FACE1'), LEVRE_INF=_F(GROUP_MA='FACE2'), - INFO=2,**motscles + INFO=INFO,**motscles ); if THETA_3D!=None : for thet in THETA_3D: @@ -634,12 +630,10 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA motscles = {} if COMP_INCR!=None : motscles['COMP_INCR']=_F(RELATION=COMP_INCR['RELATION']) if COMP_ELAS!=None : motscles['COMP_ELAS']=_F(RELATION=COMP_ELAS['RELATION']) - _nogthe=CALC_G_THETA_T( - RESULTAT =nomres, - TOUT_ORDRE ='OUI', - THETA =_nothet, - **motscles - ); + _nogthe=CALC_G( RESULTAT =nomres, + OPTION='CALC_G_GLOB', + TOUT_ORDRE ='OUI', + THETA =_F(THETA=_nothet),**motscles); # IMPR_TABLE(TABLE=_nogthe,); # @@ -648,21 +642,20 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA if COMP_INCR!=None : motscles['COMP_INCR']=_F(RELATION=COMP_INCR['RELATION']) if COMP_ELAS!=None : motscles['COMP_ELAS']=_F(RELATION=COMP_ELAS['RELATION']) if TYPE_MAILLAGE =='FISS_COUDE' : - motscles['LISSAGE_THETA']='LEGENDRE' - motscles['LISSAGE_G'] ='LEGENDRE' + motscles['LISSAGE']=_F(LISSAGE_THETA='LEGENDRE', + LISSAGE_G='LEGENDRE', + DEGRE=4,) elif TYPE_MAILLAGE =='FISS_AXIS_DEB' : - motscles['LISSAGE_THETA']='LAGRANGE' - motscles['LISSAGE_G'] ='LAGRANGE' - _nogloc=CALC_G_LOCAL_T(MODELE =modele, - RESULTAT =nomres, - TOUT_ORDRE ='OUI', - CHAM_MATER =affmat, - FOND_FISS =fonfis, - DEGRE = 4, - R_INF = thet['R_INF'], - R_SUP = thet['R_SUP'], - **motscles - ); + motscles['LISSAGE']=_F(LISSAGE_THETA='LAGRANGE', + LISSAGE_G='LAGRANGE', + DEGRE=4,) + _nogloc=CALC_G (MODELE =modele, + RESULTAT =nomres, + TOUT_ORDRE ='OUI', + CHAM_MATER =affmat, + THETA=_F( FOND_FISS =fonfis, + R_INF = thet['R_INF'], + R_SUP = thet['R_SUP'],),**motscles); IMPR_TABLE(TABLE=_nogloc,); # diff --git a/Aster/Cata/cataSTA8/Macro/macr_ascouf_mail_ops.py b/Aster/Cata/cataSTA8/Macro/macr_ascouf_mail_ops.py index fe02927a..3495d88d 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_ascouf_mail_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_ascouf_mail_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_ascouf_mail_ops Macro DATE 09/05/2005 AUTEUR LEBOUVIE F.LEBOUVIER +#@ MODIF macr_ascouf_mail_ops Macro DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -19,8 +19,11 @@ # ====================================================================== - +import os.path from math import sqrt,cos,sin,pi,tan,log,fabs,ceil,fmod,floor +import aster +import string +from Utilitai.Utmess import UTMESS # ------------------------------------------------------------------------------ def ASCFON(RC,RM,EP,ORIEN,AZIM,AXEC,POS,Y): @@ -89,6 +92,7 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA, """ from Utilitai import funct_root + echo_mess=['MACR_ASCOUF_MAIL ASCFIS \n',] if POS=='DEB_INT': if (AZIM>=120.) and (AZIM<=240.0): X = RM-EP/2.0 - SUREP else: X = RM-EP/2.0 @@ -110,9 +114,9 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA, else: SF = BETAR*RC SFP = SF - if (GEOM=='COUDE'): print 'COTE AXIALE CENTRE FISSURE SUR COUDE : %.2f'%SF - if (GEOM=='TUBE') : print 'COTE AXIALE CENTRE FISSURE SUR TUBE : %.2f'%SF - print 'COTE AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP + if (GEOM=='COUDE'): echo_mess.append( 'COTE AXIALE CENTRE FISSURE SUR COUDE : %.2f \n'%SF) + if (GEOM=='TUBE') : echo_mess.append( 'COTE AXIALE CENTRE FISSURE SUR TUBE : %.2f \n'%SF ) + echo_mess.append( 'COTE AXIALE CENTRE FISSURE SUR PLAQUE : %.2f \n'%SFP) # # ON ENVISAGE LE CAS OU UNE PARTIE DE L AXE EST DANS LES # DROITES DES EMBOUTS. LA TRANSFORMATION N EST FAITE QUE SUR LA @@ -158,8 +162,8 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA, BEMB = abs(BINF)*sqrt(2.0) elif (BINF>=0. and BSUP<=DIST): BCOUD = 2.0*AXEC - print 'PARTIE DU GRAND AXE DANS LE COUDE : %.2f'%BCOUD - print 'PARTIE DU GRAND AXE DANS L EMBOUT : %.2f'%BEMB + echo_mess.append( 'PARTIE DU GRAND AXE DANS LE COUDE : %.2f \n'%BCOUD) + echo_mess.append( 'PARTIE DU GRAND AXE DANS L EMBOUT : %.2f \n'%BEMB) # # -- CALCUL DE LA TAILLE DU GRAND AXE FISSURE SUR LA PLAQUE # @@ -190,21 +194,21 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA, AXECP = BCOUD + BEMB # if GEOM=='COUDE': - print 'TAILLE GRAND AXE COUDE DONNE : %.2f'%(2.*AXEC) + echo_mess.append( 'TAILLE GRAND AXE COUDE DONNE : %.2f \n'%(2.*AXEC)) elif GEOM=='TUBE': - print 'TAILLE GRAND AXE TUBE DONNE : %.2f'%(2.*AXEC) - print 'TAILLE GRAND AXE PLAQUE DEDUIT : %.2f'%AXECP + echo_mess.append( 'TAILLE GRAND AXE TUBE DONNE : %.2f \n'%(2.*AXEC)) + echo_mess.append( 'TAILLE GRAND AXE PLAQUE DEDUIT : %.2f \n'%AXECP) if NEWT: - print 'METHODE DE NEWTON FISSURE A 45 DEGRES -->' - print 'TAILLE GRAND AXE COUDE RECALCULE : %.2f'%AXECC + echo_mess.append( 'METHODE DE NEWTON FISSURE A 45 DEGRES --> \n') + echo_mess.append( 'TAILLE GRAND AXE COUDE RECALCULE : %.2f \n'%AXECC) if GEOM=='COUDE' and BEMB>0. and BSUP>DIST : SFP = ALPHA*2.*pi*RC/360. - AXECP/2. + BEMB - print 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT' - print 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP + echo_mess.append( 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT \n') + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f \n'%SFP) if GEOM=='COUDE' and BEMB>0. and BINF<0. : SFP = + AXECP/2. - BEMB - print 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT' - print 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP + echo_mess.append( 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT \n') + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f \n'%SFP) # # -- CORRECTION DU PETIT AXE DE LA FISSURE QUAND CELLE-CI SE TROUVE SUR # LA ZONE DE SUREPAISSEUR @@ -229,10 +233,12 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA, # if SUREP!=0.: AXEAP = AXEA * EP / ( EP + MU*SUREP ) - print '--> CORRECTION DUE A LA SUREPAISSEUR' - print '--> TAILLE PETIT AXE PLAQUE : %.2f'%AXEAP + echo_mess.append( '--> CORRECTION DUE A LA SUREPAISSEUR \n' ) + echo_mess.append( '--> TAILLE PETIT AXE PLAQUE : %.2f \n'%AXEAP ) else: AXEAP = AXEA # + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return AXEAP,AXECP,SFP @@ -254,21 +260,22 @@ def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): """ ier=0 CG=pi/180. + echo_mess=['MACR_ASCOUF_MAIL ASCSEP \n',] # # --- BOUCLE SUR L ENSEMBLE DES SOUS-EPAISSEURS # i=0 for ssep in MCL_SOUS_EPAIS : i=i+1 - print '-------------------------------------' - print 'SOUS-EPAISSEUR NUMERO %d'%i - print '-------------------------------------' + echo_mess.append( '-------------------------------------\n') + echo_mess.append( 'SOUS-EPAISSEUR NUMERO %d\n'%i) + echo_mess.append( '-------------------------------------\n') # # --- CAS DES SOUS-EPAISSEURS AXISYMETRIQUES # if ssep['TYPE']=='AXIS': - print 'SOUS-EPAISSEUR AXISYMETRIQUE : ' - print 'CALCUL DE LA TAILLE LONGI ENVELOPPE EN INTRADOS (AZIMUT PI)' + echo_mess.append( 'SOUS-EPAISSEUR AXISYMETRIQUE : \n') + echo_mess.append( 'CALCUL DE LA TAILLE LONGI ENVELOPPE EN INTRADOS (AZIMUT PI)\n') ssep.ICIRP = 2.*pi*RM ssep.ISCP = pi*RM ssep.IPHIC = 180. @@ -284,33 +291,34 @@ def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): ssep.ISCP = ssep['POSI_CURV_CIRC']*RM/(RM+EP/2.) AZIMC = ssep.ISCP/RM ssep.IPHIC = ssep['POSI_CURV_CIRC']/(RM+EP/2.)*180./pi - print 'AZIMUT CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f'%ssep.IPHIC + echo_mess.append( 'AZIMUT CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f \n'%ssep.IPHIC) else: ssep.ISCP = ssep['AZIMUT']*pi*RM/180. AZIMC = ssep['AZIMUT']*pi/180. - print 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f'%(AZIMC*(RM+EP/2.)) + echo_mess.append( 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f \n'%(AZIMC*(RM+EP/2.))) # # PASSAGE DANS LE REPERE PLAQUE (0,2PI) AVEC ORIGINE FLANC DROIT # CAR L ORIGINE DES DONNEES CIRCONF. EST EN EXTRADOS # if ssep.ISCP>(3.*pi*RM/2.): ssep.ISCP = ssep.ISCP - 3.*pi*RM/2. else: ssep.ISCP = ssep.ISCP + pi*RM/2. - print 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISCP + echo_mess.append( 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ISCP) # # -- CALCUL DE LA TAILLE CIRCONFERENTIELLE # NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE # ssep.ICIRP = ssep['AXE_CIRC']*(RM/(RM+EP/2.)) if ssep.ICIRP>(2.*pi*RM) : - print ' ASCSEP valeur hors domaine' - print ' sous-epaisseur numero : %d'%i - print ' taille axe circonferentiel : %.2f'%ssep.ICIRP - print ' bord plaque : %.2f'%2*pi*RM - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier - print 'TAILLE CIRCONFERENTIELLE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ICIRP - print '<=> TAILLE EQUIVALENTE SUR LA CIRCONFERENCE (DEGRES) : %.2f'%(ssep.ICIRP*360./(2.*pi*RM)) + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' ASCSEP valeur hors domaine \n' + message=message+' sous-epaisseur numero : %d \n'%i + message=message+' taille axe circonferentiel : %.2f \n'%ssep.ICIRP + message=message+' bord plaque : %.2f \n'%2*pi*RM + UTMESS('F', "MACR_ASCOUF_MAIL", message) + echo_mess.append( 'TAILLE CIRCONFERENTIELLE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ICIRP) + echo_mess.append( '<=> TAILLE EQUIVALENTE SUR LA CIRCONFERENCE (DEGRES) : %.2f \n'%(ssep.ICIRP*360./(2.*pi*RM))) + # # -- CALCUL COTE AXIALE DU CENTRE SOUS-EPAISSEUR SUR LA PLAQUE # EN FONCTION DE L ABSCISSE CURVILIGNE DONNEE SUR LE COUDE @@ -321,29 +329,29 @@ def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): if GEOM=='COUDE': ssep.ISLP = ssep['POSI_CURV_LONGI']/(1.+(RM+EP/2.)/RC*cos(AZIMC)) AZIML = ssep.ISLP/RC - print 'ANGLE COUDE CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f'%(AZIML*180./pi) + echo_mess.append( 'ANGLE COUDE CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f \n'%(AZIML*180./pi)) else : ssep.ISLP = ssep['POSI_CURV_LONGI'] if (SYME in ('QUART','DEMI')) and (ssep.ISLP!=ALPHA*CG*RC/2.) : - print ' ASCSEP cas de symetrie :' - print ' la sous-epaisseur doit etre dans la section mediane du coude !' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' ASCSEP cas de symetrie :\n' + message=message+ ' la sous-epaisseur doit etre dans la section mediane du coude !\n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) else : if GEOM=='COUDE': - print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f'%((ssep.BETA)*CG*(RC+(RM+EP/2.)*cos(AZIMC))) + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f \n'%((ssep.BETA)*CG*(RC+(RM+EP/2.)*cos(AZIMC)))) AZIML = (ssep.BETA)*CG else : - print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR TUBE : %.2f'%((ssep.BETA)*CG*RC) + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR TUBE : %.2f \n'%((ssep.BETA)*CG*RC) ) ssep.ISLP = (ssep.BETA)*CG*RC if (SYME in ('QUART','DEMI')) and (ssep.BETA!=ALPHA/2.) : - print ' ASCSEP cas de symetrie :' - print ' la sous-epaisseur doit etre dans la section mediane du coude !' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier - print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' ASCSEP cas de symetrie :\n' + message=message+ ' la sous-epaisseur doit etre dans la section mediane du coude !\n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ISLP) # # -- CALCUL DE LA TAILLE LONGITUDINALE # NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE @@ -386,12 +394,12 @@ def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): ssep.ILONP = BPLAQ+BEMB if BEMB1>0.: ssep.ISLP = ALPHA*CG*RC - ssep.ILONP/2. + BEMB1 - print 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT' - print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP + echo_mess.append( 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT \n') + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ISLP) if BEMB2>0.: ssep.ISLP = ssep.ILONP/2. - BEMB2 - print 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT' - print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP + echo_mess.append( 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT \n') + echo_mess.append( 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ISLP) if ssep.ISLP<0. : ssep.ISLP = 0. if (ssep.ISLP>ALPHA*CG*RC) : ssep.ISLP = ALPHA*CG*RC # @@ -399,9 +407,11 @@ def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): # ON CORRIGE SA POSITION EN LE METTANT A L INTERFACE SINON CA PLANTE # DANS LA PROC DE MAILLAGE (A AMELIORER) # - print 'TAILLE LONGITUDINALE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ILONP - print '<=> TAILLE EQUIVALENTE PAR RAPPORT A L ANGLE DU COUDE (DEGRES): %.2f'%(ssep.ILONP*360/(2*pi*RC)) + echo_mess.append( 'TAILLE LONGITUDINALE SOUS-EPAISSEUR SUR PLAQUE : %.2f \n'%ssep.ILONP) + echo_mess.append( '<=> TAILLE EQUIVALENTE PAR RAPPORT A L ANGLE DU COUDE (DEGRES): %.2f \n'%(ssep.ILONP*360/(2*pi*RC))) # + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return ier # ------------------------------------------------------------------------------ @@ -426,6 +436,7 @@ def ASCTCI(MCL_SOUS_EPAIS,RM): # # --- tri du tableau des abscisses curvilignes circonf. plaque # + echo_mess=['MACR_ASCOUF_MAIL ASCTCI \n',] TAMPON = [] COORXG = [] COORYG = [] @@ -433,25 +444,25 @@ def ASCTCI(MCL_SOUS_EPAIS,RM): for ssep in MCL_SOUS_EPAIS : i=i+1 if (ssep.ISCP>2.*pi*RM) or (ssep.ISCP<0.) : - print ' valeur hors domaine' - print ' SOUS-EPAISSEUR NUMERO :%d'%MCL_SOUS_EPAIS.index(ssep) - print ' ABSC. CURV. CIRCONF. :%.2f'%ssep.ISCP - print ' BORD PLAQUE :%.2f'%(2.*pi*RM) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' valeur hors domaine \n' + message=message+ ' SOUS-EPAISSEUR NUMERO :%d'%MCL_SOUS_EPAIS.index(ssep) + message=message+ ' ABSC. CURV. CIRCONF. :%.2f \n'%ssep.ISCP + message=message+ ' BORD PLAQUE :%.2f \n'%(2.*pi*RM) + UTMESS('F', "MACR_ASCOUF_MAIL", message) TAMPON.append((ssep.ISCP,i)) TAMPON.sort() IABSC1=[] for j in range(i): IABSC1.append(TAMPON[j][1]) - print - print 'TRI DES CENTRES ABSC. CURV. CIRCONF. :' - print '------------------------------------' + echo_mess.append( ' \n') + echo_mess.append( 'TRI DES CENTRES ABSC. CURV. CIRCONF. :\n ') + echo_mess.append( '------------------------------------\n') i=0 for ssep in TAMPON : i=i+1 - print '%d) SOUS-EP NO %d <> XC = %.2f'%(i,ssep[1],ssep[0]) + echo_mess.append( '%d) SOUS-EP NO %d <> XC = %.2f \n'%(i,ssep[1],ssep[0]) ) # # --- calcul des abcisses droites et gauches des sous-epaisseurs # @@ -475,15 +486,17 @@ def ASCTCI(MCL_SOUS_EPAIS,RM): IABSC2=[] for j in range(2*len(MCL_SOUS_EPAIS)): IABSC2.append(TAMPON[j][1]) - print - print 'TRI DES INTERVALLES G ET D ABSC. CURV. CIRCONF. :' - print '-----------------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'TRI DES INTERVALLES G ET D ABSC. CURV. CIRCONF. :\n') + echo_mess.append( '-----------------------------------------------\n' ) for j in range(2*len(MCL_SOUS_EPAIS)): if fmod(IABSC2[j],2): - print '%d) SOUS-EP NO %d <> XG = %.2f'%(j+1,IABSC1[IABSC2[j]/2],TAMPON[j][0]) + echo_mess.append( '%d) SOUS-EP NO %d <> XG = %.2f \n'%(j+1,IABSC1[IABSC2[j]/2],TAMPON[j][0])) else: - print '%d) SOUS-EP NO %d <> XD = %.2f'%(j+1,IABSC1[IABSC2[j]/2-1],TAMPON[j][0]) + echo_mess.append( '%d) SOUS-EP NO %d <> XD = %.2f \n'%(j+1,IABSC1[IABSC2[j]/2-1],TAMPON[j][0])) # + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return TAMPON,IABSC1,IABSC2,COORXD,COORXG # ------------------------------------------------------------------------------ @@ -511,31 +524,32 @@ def ASCTLO(MCL_SOUS_EPAIS,RC,ALPHA,LTCHAR,LTCLIM): # # tri du tableau des abscisses curvilignes axiales plaque # + echo_mess=['MACR_ASCOUF_MAIL ASCTLO \n',] ALPHAR = 2.*ALPHA*pi/360. TAMPON = [] i=0 for ssep in MCL_SOUS_EPAIS : i=i+1 if (ssep.ISLP>ALPHAR*RC) or (ssep.ISLP<0.) : - print ' valeur hors domaine' - print ' SOUS-EPAISSEUR NUMERO :%d'%MCL_SOUS_EPAIS.index(ssep) - print ' ABSC. CURV. LONGIT. :%.2f'%ssep.ISLP - print ' BORDS PLAQUE :%.2f'%(ALPHAR*RC) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' valeur hors domaine \n' + message=message+ ' SOUS-EPAISSEUR NUMERO :%d \n'%MCL_SOUS_EPAIS.index(ssep) + message=message+ ' ABSC. CURV. LONGIT. :%.2f \n'%ssep.ISLP + message=message+ ' BORDS PLAQUE :%.2f \n'%(ALPHAR*RC) + UTMESS('F', "MACR_ASCOUF_MAIL", message) TAMPON.append((ssep.ISLP,i)) TAMPON.sort() IORDO1=[] for j in range(i): IORDO1.append(TAMPON[j][1]) - print - print 'TRI DES CENTRES ABSC. CURV. LONGIT. :' - print '------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'TRI DES CENTRES ABSC. CURV. LONGIT. : \n') + echo_mess.append( '------------------------------------ \n') i=0 for ssep in TAMPON : i=i+1 - print '%d) SOUS-EP NO %d <> YC = %.2f'%(i,ssep[1],ssep[0]) + echo_mess.append( '%d) SOUS-EP NO %d <> YC = %.2f \n'%(i,ssep[1],ssep[0])) # # calcul des abscisses sup. et inf. des sous-ep. # @@ -553,21 +567,21 @@ def ASCTLO(MCL_SOUS_EPAIS,RC,ALPHA,LTCHAR,LTCLIM): YI=ALPHAR*RC-(MCL_SOUS_EPAIS[bid[1]-1].ILONP-(MCL_SOUS_EPAIS[bid[1]-1]['AXE_LONGI'])/2.) YS=ALPHAR*RC+(MCL_SOUS_EPAIS[bid[1]-1]['AXE_LONGI'])/2. if YI<(-LTCHAR): - print ' valeur hors domaine' - print ' SOUS-EPAISSEUR NUMERO :',bid[1] - print ' BORD INFERIEUR :',YI - print ' BORD PLAQUE :',-LTCHAR - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' valeur hors domaine \n' + message=message+ ' SOUS-EPAISSEUR NUMERO :%d \n'%bid[1] + message=message+ ' BORD INFERIEUR :%.2f \n'%YI + message=message+ ' BORDS PLAQUE :%.2f \n'%(-1*LTCHAR) + UTMESS('F', "MACR_ASCOUF_MAIL", message) if YS>(ALPHAR*RC+LTCLIM): - print ' valeur hors domaine' - print ' SOUS-EPAISSEUR NUMERO :',bid[1] - print ' BORD INFERIEUR :',YS - print ' BORD PLAQUE :',ALPHAR*RC+LTCLIM - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + texte_final=string.join(echo_mess) + aster.affiche("MESSAGE",texte_final) + message= ' valeur hors domaine \n' + message=message+ ' SOUS-EPAISSEUR NUMERO :%d \n'%bid[1] + message=message+ ' BORD INFERIEUR :%.2f \n'%YI + message=message+ ' BORDS PLAQUE :%.2f \n'%(ALPHAR*RC+LTCLIM) + UTMESS('F', "MACR_ASCOUF_MAIL", message) COORYI.append(YI) COORYS.append(YS) # @@ -581,15 +595,17 @@ def ASCTLO(MCL_SOUS_EPAIS,RC,ALPHA,LTCHAR,LTCLIM): IORDO2=[] for j in range(2*len(MCL_SOUS_EPAIS)): IORDO2.append(TAMPON[j][1]) - print - print 'TRI DES INTERVALLES I ET S ABSC. CURV. LONGIT. :' - print '-----------------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'TRI DES INTERVALLES I ET S ABSC. CURV. LONGIT. : \n') + echo_mess.append( '----------------------------------------------- \n') for j in range(2*len(MCL_SOUS_EPAIS)): if fmod(IORDO2[j],2): - print '%d) SOUS-EP NO %d <> YI = %.2f'%(j+1,IORDO1[IORDO2[j]/2],TAMPON[j][0]) + echo_mess.append( '%d) SOUS-EP NO %d <> YI = %.2f \n'%(j+1,IORDO1[IORDO2[j]/2],TAMPON[j][0])) else: - print '%d) SOUS-EP NO %d <> YS = %.2f'%(j+1,IORDO1[IORDO2[j]/2-1],TAMPON[j][0]) + echo_mess.append( '%d) SOUS-EP NO %d <> YS = %.2f \n'%(j+1,IORDO1[IORDO2[j]/2-1],TAMPON[j][0])) # + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return TAMPON,IORDO1,IORDO2,COORYI,COORYS # # @@ -630,9 +646,10 @@ def ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI,DNX,DNY,RM,RC, # # calcul du nombre d'elements longi. et circonf. dans les sous-epaisseurs: # - print - print 'DETERMINATION DU NOMBRE D''ELEMENTS DANS LES SOUS-EPAISSEURS :' - print '------------------------------------------------------------' + echo_mess=['MACR_ASCOUF_MAIL ASCNBE \n',] + echo_mess.append( '\n') + echo_mess.append( 'DETERMINATION DU NOMBRE D''ELEMENTS DANS LES SOUS-EPAISSEURS :\n') + echo_mess.append( '------------------------------------------------------------\n') NLX=[0]*len(MCL_SOUS_EPAIS) NLY=[0]*len(MCL_SOUS_EPAIS) for j in range(len(BD)): @@ -649,7 +666,7 @@ def ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI,DNX,DNY,RM,RC, if ((COORXG[l]=COORXG[l] and BD[j]<=COORXD[l])\ or (COORXG[l]>=COORXD[l] and (BG[j]<=COORXG[l] or BD[j]>=COORXD[l]))): NLX[i]=NLX[i]+NBEL - print 'SOUS-EP NO %d ZONE CIRC. NO %d NB ELEM. = %d'%(i+1,j+1,NBEL) + echo_mess.append( 'SOUS-EP NO %d ZONE CIRC. NO %d NB ELEM. = %d \n'%(i+1,j+1,NBEL)) for j in range(len(BS)): if INDSEY[j]!=0: @@ -665,13 +682,15 @@ def ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI,DNX,DNY,RM,RC, l=IORDO1[i]-1 if (BI[j]>=COORYI[l] and BS[j]<=COORYS[l]): NLY[i]=NLY[i]+NBEL - print 'SOUS-EP NO %d ZONE LONGI. NO %d NB ELEM. = %d'%(i+1,j+1,NBEL) + echo_mess.append( 'SOUS-EP NO %d ZONE LONGI. NO %d NB ELEM. = %d \n'%(i+1,j+1,NBEL) ) for j in range(len(NLX)): - print 'SOUS-EP NO %d NBE TOTAL ELEMENTS CIRCONF. : %d'%(j+1,NLX[j]) - print 'SOUS-EP NO %d NBE TOTAL ELEMENTS LONGI. : %d'%(j+1,NLY[j]) + echo_mess.append( 'SOUS-EP NO %d NBE TOTAL ELEMENTS CIRCONF. : %d \n'%(j+1,NLX[j])) + echo_mess.append( 'SOUS-EP NO %d NBE TOTAL ELEMENTS LONGI. : %d \n'%(j+1,NLY[j])) # + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return NLX,NLY # ################################################################################ @@ -702,6 +721,7 @@ def ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI,DNX,DNY,RM,RC, # ------------------------------------------------------------------------------ def ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM): ier=0 + echo_mess=['MACR_ASCOUF_MAIL ASCSYM \n',] DERAFC = 18. DERAFL = 5. INDSEX = [] @@ -777,18 +797,18 @@ def ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM): INDSEX.append(1) - print - print 'ZONES APRES RECOUVREMENT ABSC. CURV. CIRCONF. :' - print '---------------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'ZONES APRES RECOUVREMENT ABSC. CURV. CIRCONF. :\n') + echo_mess.append( '--------------------------------------------- \n') EPS=0.000000000001 NZONEX=len(BG) for j in range(NZONEX) : if ( fabs(BG[j]) < EPS ) and ( fabs(BD[j]) < EPS ) : - print 'ZONE NO %d BORNE GAUCHE = %.2f'\ - ' / BORNE DROITE = %.2f * SOUS-EPAISSEUR'%(j+1,BG[j],BD[j]) + echo_mess.append( 'ZONE NO %d BORNE GAUCHE = %.2f'\ + ' / BORNE DROITE = %.2f * SOUS-EPAISSEUR \n'%(j+1,BG[j],BD[j]) ) else: - print 'ZONE NO %d BORNE GAUCHE = %.2f'\ - ' / BORNE DROITE = %.2f'%(j+1,BG[j],BD[j]) + echo_mess.append( 'ZONE NO %d BORNE GAUCHE = %.2f \n'\ + ' / BORNE DROITE = %.2f \n'%(j+1,BG[j],BD[j])) # tri des donnees sous-epaisseurs en axial @@ -816,22 +836,24 @@ def ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM): DNY.append(0) INDSEY.append(0) INDSEY.append(1) - print - print 'ZONES APRES RECOUVREMENT ABSC. CURV. LONGIT. :' - print '-----------------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'ZONES APRES RECOUVREMENT ABSC. CURV. LONGIT. : \n') + echo_mess.append( '----------------------------------------------- \n') NZONEY=len(BI) for j in range(NZONEY) : if ( fabs(BI[j]) < EPS ) and ( fabs(BS[j]) < EPS ) : - print 'ZONE NO %d <> BORNE INF. = %.2f'\ - ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(j+1,BI[j],BS[j]) + echo_mess.append( 'ZONE NO %d <> BORNE INF. = %.2f \n'\ + ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(j+1,BI[j],BS[j])) else: - print 'ZONE NO %d <> BORNE INF. = %.2f'\ - ' / BORNE SUP. = %.2f'%(j+1,BI[j],BS[j]) + echo_mess.append( 'ZONE NO %d <> BORNE INF. = %.2f \n'\ + ' / BORNE SUP. = %.2f'%(j+1,BI[j],BS[j])) # calcul du nombre d'elements longi. et circonf. dans les soue-ep NLX,NLY=ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI, DNX,DNY,RM,RC,INDSEX,INDSEY,IABSC1,IORDO1) + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY ################################################################################ ################################################################################ @@ -861,12 +883,13 @@ def ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM): # ------------------------------------------------------------------------------ def ASCPRE(MCL_SOUS_EPAIS,RM,RC,ALPHA,SYME,LTCHAR,LTCLIM): ier=0 + echo_mess=['MACR_ASCOUF_MAIL ASCPRE \n',] ALPHAR = 2.*ALPHA*pi/360. DERAFC = 18. DERAFL = 5. EPSI = 0.001 NBSEP = len(MCL_SOUS_EPAIS) - print 'RECHERCHE DES ZONES DE SOUS-EPAISSEURS DANS LE COUDE\n' + echo_mess.append( 'RECHERCHE DES ZONES DE SOUS-EPAISSEURS DANS LE COUDE\n' ) # tri des donnees sous-epaisseurs en circonferentiel TAMPON,IABSC1,IABSC2,COORXD,COORXG=ASCTCI(MCL_SOUS_EPAIS,RM) @@ -1112,16 +1135,16 @@ def ASCPRE(MCL_SOUS_EPAIS,RM,RC,ALPHA,SYME,LTCHAR,LTCLIM): # un centre de sous-ep. if fabs(BG[NZONEX-1]-BD[NZONEX-1]) BORNE GAUCHE = %.2f'\ - ' / BORNE DROITE = %.2f * SOUS-EPAISSEUR'%(BG[j],BD[j]) + echo_mess.append( 'ZONE NO %d <> BORNE GAUCHE = %.2f \n'\ + ' / BORNE DROITE = %.2f * SOUS-EPAISSEUR'%(j+1,BG[j],BD[j])) else: - print 'ZONE NO',j+1,'<> BORNE GAUCHE = %.2f'\ - ' / BORNE DROITE = %.2f'%(BG[j],BD[j]) + echo_mess.append( 'ZONE NO %d <> BORNE GAUCHE = %.2f \n'\ + ' / BORNE DROITE = %.2f'%(j+1,BG[j],BD[j])) # --- tri des donnees sous-ep. en axial @@ -1375,24 +1398,27 @@ def ASCPRE(MCL_SOUS_EPAIS,RM,RC,ALPHA,SYME,LTCHAR,LTCLIM): INDSEY.append(0) else:pass - print - print 'ZONES APRES RECOUVREMENT ABSC. CURV. LONGIT. :' - print '-----------------------------------------------' + echo_mess.append( '\n') + echo_mess.append( 'ZONES APRES RECOUVREMENT ABSC. CURV. LONGIT. :\n') + echo_mess.append( '----------------------------------------------- \n') for j in range(NZONEY) : if INDBI[j]==0 and INDBS[j]==0 : - print 'ZONE NO',j+1,'<> BORNE INF. = %.2f'\ - ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(BI[j],BS[j]) + echo_mess.append( 'ZONE NO %d <> BORNE INF. = %.2f \n'\ + ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(j+1,BI[j],BS[j])) else: - print 'ZONE NO',j+1,'<> BORNE INF. = %.2f'\ - ' / BORNE SUP. = %.2f '%(BI[j],BS[j]) + echo_mess.append( 'ZONE NO %d <> BORNE INF. = %.2f \n'\ + ' / BORNE SUP. = %.2f '%(j+1,BI[j],BS[j])) # calcul du nombre d'elements longi. et circonf. dans les sous-ep NLX,NLY=ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI, DNX,DNY,RM,RC,INDSEX,INDSEY,IABSC1,IORDO1) + texte_final=string.join(echo_mess) + aster.affiche('MESSAGE',texte_final) return ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY + ################################################################################ ################################################################################ ################################################################################ @@ -1458,8 +1484,7 @@ def write_file_dgib_ASCFDO(nomFichierDATG,RM,RC,ALPHA,NBTRAN,EP1,EP2,EPI,TETA1, texte=texte+'nivmag = '+str(NIVMAG) +POIVIR texte=texte+'*\n' texte=texte+'* FIN PARAMETRES UTILISATEUR\n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'ascouf_fiss_v4.datg'+"';\n" + texte = texte + open(os.path.join(loc_datg, 'ascouf_fiss_v4.datg'), 'r').read() fdgib=open(nomFichierDATG,'w') fdgib.write(texte) fdgib.close() @@ -1576,8 +1601,7 @@ def write_file_dgib_ASCSQO(nomFichierDATG,TYPELE,RM,RC,ALPHA,NBTRAN,EP1,EP2, texte=texte+" sousep . 1 = 'non'"+POIVIR texte=texte+'*\n' texte=texte+'* FIN PARAMETRES UTILISATEUR \n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'ascouf_ssep_mono_v1.datg'+"'"+POIVIR + texte = texte + open(os.path.join(loc_datg, 'ascouf_ssep_mono_v1.datg'), 'r').read() fdgib=open(nomFichierDATG,'w') fdgib.write(texte) fdgib.close() @@ -1718,8 +1742,7 @@ def write_file_dgib_ASCSP1(nomFichierDATG,TYPELE,MCL_SOUS_EPAIS,NIVMAG,loc_datg) texte=texte+'axisym = table '+POIVIR texte=texte+'sousep = table '+POIVIR texte=texte+'* \n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'ascouf_ssep_mult_v1.datg'+"';\n" + texte = texte + open(os.path.join(loc_datg, 'ascouf_ssep_mult_v1.datg'), 'r').read() fdgib=open(nomFichierDATG,'w') fdgib.write(texte) fdgib.close() @@ -1987,8 +2010,7 @@ def write_file_dgib_ASCRDO(nomFichierDATG,TYPELE,NIVMAG,TYPBOL,ALPHA,RC,RM,EP,SU texte=texte+'nzgv = '+str(NZGV) +POIVIR texte=texte+'*\n' texte=texte+'* FIN PARAMETRES UTILISATEUR\n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'ascouf_regl_v1.datg'+"';\n" + texte = texte + open(os.path.join(loc_datg, 'ascouf_regl_v1.datg'), 'r').read() fdgib=open(nomFichierDATG,'w') fdgib.write(texte) fdgib.close() @@ -2063,13 +2085,11 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, else: NBTRAN = 1 if COUDE['SYME']!='ENTIER': - print ' les quart et demi structure' - print ' ne peuvent etre realisees ' - print ' sur un modele comportant une transition ' - print ' d epaisseur ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' les quart et demi structure \n' + message=message+' ne peuvent etre realisees \n' + message=message+' sur un modele comportant une transition \n' + message=message+' d epaisseur \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) # DEXT = COUDE['DEXT_T1'] EP1 = COUDE['EPAIS_T1'] @@ -2094,31 +2114,29 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, E = EP1 # if COUDE['SYME']!='ENTIER' and (LTCHAR!=LTCLIM) : - print ' les deux embouts doivent etre' - print ' de meme longueur pour les cas de symetrie ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' les deux embouts doivent etre \n' + message=message+' de meme longueur pour les cas de symetrie \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) # LAMOR = 3.0/2.0 * sqrt( RM*RM*RM / EP1) if LTCHAR longueur d embout P1 inferieure' - print ' a la longueur d amortissement = ',LAMOR - print ' alarme' + message= ' longueur d embout P1 inferieure \n' + message=message+' a la longueur d amortissement = %.2f \n'%LAMOR + UTMESS('A', "MACR_ASCOUF_MAIL", message) # LAMOR = 3.0/2.0 * sqrt( RM2*RM2*RM2 / EP2) if LTCLIM longueur d embout P2 inferieure' - print ' a la longueur d amortissement = ',LAMOR - print ' alarme' + message= ' longueur d embout P2 inferieure \n' + message=message+' a la longueur d amortissement = %.2f \n'%LAMOR + UTMESS('A', "MACR_ASCOUF_MAIL", message) # if TYPBOL!=None: if TYPBOL[:1]=='GV' : - print ' la condition aux limites raccord' - print ' 3d-poutre appliquee avec la macro de calcul' - print ' ascouf n est pas licite avec un embout' - print ' de type conique' - print ' alarme' + message= ' la condition aux limites raccord \n' + message=message+' 3d-poutre appliquee avec la macro de calcul \n ' + message=message+' ascouf n est pas licite avec un embout \n' + message=message+' de type conique \n' + UTMESS('A', "MACR_ASCOUF_MAIL", message) # ################################################################################ # --- caracteristiques de la fissure --- @@ -2126,23 +2144,21 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, # if FISS_COUDE!=None: if NBEP!=3: - print ' le nombre d elements dans l epaisseur' - print ' du coude n est pas parametrable pour' - print ' un coude avec fissure' - print ' mot-cle NB_ELEM_EPAIS ignore' - print ' alarme' + message= ' le nombre d elements dans l epaisseur \n' + message=message+' du coude n est pas parametrable pour \n' + message=message+' un coude avec fissure \n' + message=message+' mot-cle NB_ELEM_EPAIS ignore \n' + UTMESS('A', "MACR_ASCOUF_MAIL", message) FPROF = FISS_COUDE['PROFONDEUR'] FAXI = FISS_COUDE['AXIS'] if FAXI=='NON' and FISS_COUDE['LONGUEUR']==None : - print ' pour les fissures non axisymetriques' - print ' la longueur doit etre specifiee ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' pour les fissures non axisymetriques \n' + message=message+' la longueur doit etre specifiee \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if FAXI=='OUI' and FISS_COUDE['LONGUEUR']!=None : - print ' la fissure est axisymetrique : on ne' - print ' tient pas compte de la longueur specifiee' - print ' alarme' + message= ' la fissure est axisymetrique : on ne \n' + message=message+' tient pas compte de la longueur specifiee \n' + UTMESS('A', "MACR_ASCOUF_MAIL", message) if FISS_COUDE['LONGUEUR']!=None : FLONG = FISS_COUDE['LONGUEUR'] if FAXI=='OUI' : #### on prend une marge de securite a cause des modifs dans ascfis @@ -2174,30 +2190,22 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, DGAXEC = FLONG/2.0 DC = DGAXEC if ORIEN!=90.0 and NBTRAN!=0 : - print ' avec une transition d epaisseur' - print ' la fissure doit obligatoirement etre transverse ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' avec une transition d epaisseur \n' + message=message+' la fissure doit obligatoirement etre transverse \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ORIEN!=90.0 and NBTRAN!=0 : - print ' avec une transition d epaisseur' - print ' la fissure doit obligatoirement etre transverse ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' avec une transition d epaisseur \n' + message=message+' la fissure doit obligatoirement etre transverse \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ORIEN!=90.0 and COUDE['SYME']!='ENTIER' : - print ' l orientation de la fissure doit' - print ' etre transverse (orien : 90.) pour modeliser ' - print ' un quart ou une demi structure ' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' l orientation de la fissure doit \n' + message=message+' etre transverse (orien : 90.) pour modeliser \n' + message=message+' un quart ou une demi structure \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ORIEN!=90.0 and FAXI=='OUI' : - print ' la fissure est axisymetrique : son' - print ' orientation doit etre transverse (ORIEN : 90.)' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' la fissure est axisymetrique : son \n' + message=message+' orientation doit etre transverse (ORIEN : 90.) \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) # ################################################################################ # --- caracteristiques des sous epaisseurs --- @@ -2208,92 +2216,72 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, if SOUS_EPAIS_MULTI!=None : MCL_SOUS_EPAIS = SOUS_EPAIS_MULTI if SOUS_EPAIS_COUDE!=None : MCL_SOUS_EPAIS = SOUS_EPAIS_COUDE if SOUS_EPAIS_MULTI!=None and NBTRAN!=0 : - print ' il ne peut pas y avoir plusieurs' - print ' sous-epaisseurs en meme temps qu une' - print ' transition d epaisseur : si une seule' - print ' sous-epaisseur utiliser sous_epais_coude' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' il ne peut pas y avoir plusieurs \n' + message=message+' sous-epaisseurs en meme temps qu une \n' + message=message+' transition d epaisseur : si une seule \n' + message=message+' sous-epaisseur utiliser sous_epais_coude \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if SOUS_EPAIS_COUDE!=None and FISS_COUDE!=None and NBTRAN!=0 : - print ' avec une transition d epaisseur' - print ' il doit obligatoirement y avoir un defaut' - print ' soit une fissure soit une sous-epaisseur' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' avec une transition d epaisseur' + message=message+' il doit obligatoirement y avoir un defaut \n' + message=message+' soit une fissure soit une sous-epaisseur \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if MCL_SOUS_EPAIS!=None : AZIM = 90.0 if MCL_SOUS_EPAIS.__class__.__name__ !='MCList' : MCL_SOUS_EPAIS=[MCL_SOUS_EPAIS,] if len(MCL_SOUS_EPAIS)!=1 and COUDE['SYME']!='ENTIER' : - print ' ne modeliser qu une seule' - print ' sous-epaisseur pour un quart ou demi-coude' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' ne modeliser qu une seule \n' + message=message+' sous-epaisseur pour un quart ou demi-coude\n ' + UTMESS('F', "MACR_ASCOUF_MAIL", message) for ssep in MCL_SOUS_EPAIS : isep=isep+1 if ssep['AXE_CIRC']!=None and ssep['TYPE']=='AXIS' : - print ' vous ne pouvez declarer la sous-' - print ' epaisseur comme axisymetrique et donner' - print ' une taille d axe circonferentiel' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' vous ne pouvez declarer la sous- \n' + message=message+' epaisseur comme axisymetrique et donner \n' + message=message+' une taille d axe circonferentiel \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ssep['AXE_CIRC']==None and ssep['TYPE']=='ELLI' : - print ' vous devez donner une taille d axe' - print ' circonferentiel pour une sous-epaisseur de' - print ' type elliptique' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' vous devez donner une taille d axe \n' + message=message+' circonferentiel pour une sous-epaisseur de \n' + message=message+' type elliptique \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ssep['POSI_CURV_LONGI']!=None: if ssep['POSI_CURV_LONGI']>(ALPHA*RC*pi/180.0) : - print ' valeur hors domaine de validite' - print ' sous-epaisseur numero :',isep - print ' abscisse curv. longit. :',ssep['POSI_CURV_LONGI'] - print ' valeur maximale autorisee :',(ALPHA*RC*pi/180.0) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' sous-epaisseur numero : %d \n'%isep + message=message+' abscisse curv. longit. : %.2f \n'%ssep['POSI_CURV_LONGI'] + message=message+' valeur maximale autorisee : %.2f \n'%(ALPHA*RC*pi/180.0) + UTMESS('F', "MACR_ASCOUF_MAIL", message) LDEFAU = ssep['POSI_CURV_LONGI'] + ssep['AXE_LONGI']/2.0 BETA = 0.0 else: BETA=ssep['POSI_ANGUL'] if (BETA<0.) or (BETA>ALPHA) : - print ' valeur hors domaine de validite' - print ' sous-epaisseur numero :',isep - print ' position angulaire centre sous-ep :',BETA - print ' valeur limite autorisee :',ALPHA - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' sous-epaisseur numero : %d \n'%isep + message=message+' position angulaire centre sous-ep : %.2f \n'%BETA + message=message+' valeur limite autorisee : %.2f \n'%ALPHA + UTMESS('F', "MACR_ASCOUF_MAIL", message) LDEFAU = (BETA*RC*pi/180.0) + ssep['AXE_LONGI']/2.0 # if ssep['POSI_CURV_CIRC']!=None: if ssep['POSI_CURV_CIRC']>(2*pi*RM) : - print ' valeur hors domaine de validite' - print ' sous-epaisseur numero :',isep - print ' abscisse curv. circonf. :',ssep['POSI_CURV_CIRC'] - print ' valeur maximale autorisee :',(2*pi*RM) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' sous-epaisseur numero : %d \n'%isep + message=message+' abscisse curv. circonf. : %.2f \n'%ssep['POSI_CURV_CIRC'] + message=message+' valeur limite autorisee : %.2f \n'%(2*pi*RM) + UTMESS('F', "MACR_ASCOUF_MAIL", message) if ssep['POSI_CURV_CIRC']!=(pi*RM) and ssep['TYPE']=='AXIS': - print ' le centre d une sous-epaisseur' - print ' axisymetrique est impose en intrados (pi*RM)' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' le centre d une sous-epaisseur \n' + message=message+' axisymetrique est impose en intrados (pi*RM) \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) else: ssep.IPHIC=ssep['AZIMUT'] if ssep['AZIMUT']!=180. and ssep['TYPE']=='AXIS': - print ' le centre d une sous-epaisseur' - print ' axisymetrique est impose en intrados' - print ' l azimut est fixe a 180 degres' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' le centre d une sous-epaisseur \n' + message=message+' axisymetrique est impose en intrados \n' + message=message+' l azimut est fixe a 180 degres \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) # l_ITYPE.append(ssep['TYPE' ]) # l_ICIRC.append(ssep['AXE_CIRC' ]) # l_ILONC.append(ssep['AXE_LONGI' ]) @@ -2309,11 +2297,11 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, # l_IEVID.append(ssep['EMPREINTE' ]) if SOUS_EPAIS_COUDE!=None and COUDE['NB_ELEM_EPAIS']!=3 : - print ' le nombre d elements dans l' - print ' epaisseur du coude n est pas parametrable pour' - print ' la version 2 de la procedure de plaque avec sous' - print ' -epaisseur : mot-cle NB_ELEM_EPAIS ignore' - print ' alarme' + message= ' le nombre d elements dans l \n' + message=message+' epaisseur du coude n est pas parametrable pour \n' + message=message+' la version 2 de la procedure de plaque avec sous \n' + message=message+' -epaisseur : mot-cle NB_ELEM_EPAIS ignore \n' + UTMESS('A', "MACR_ASCOUF_MAIL", message) # ################################################################################ # --- verifications de coherences --- @@ -2322,50 +2310,38 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, # donnees globales if COUDE['TRANSFORMEE']=='COUDE' or COUDE['TRAN_EPAIS']=='NON' : if SUREP<0. or SUREP>(RM-EP1/2.0): - print ' valeur hors domaine de validite' - print ' surepaisseur :',SUREP - print ' valeur limite autorisee (RM-EP1/2) :',(RM-EP1/2.0) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' surepaisseur : \n',SUREP + message=message+' valeur limite autorisee (RM-EP1/2) : %.2f \n'%(RM-EP1/2.0) + UTMESS('F', "MACR_ASCOUF_MAIL", message) if RC<=(RM+EP1/2.0): - print ' valeur hors domaine de validite' - print ' le rayon de cintrage :',RC - print ' doit etre superieur a (RM+EP1/2) :',(RM+EP1/2.0) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' le rayon de cintrage : %.2f \n',RC + message=message+' doit etre superieur a (RM+EP1/2) : %.2f \n'%(RM+EP1/2.0) + UTMESS('F', "MACR_ASCOUF_MAIL", message) # # coude fissure # if FISS_COUDE!=None: if (RM/EP1)<5. or (RM/EP1)>50.: - print ' valeur hors domaine de validite (5,50)' - print ' rapport RM/EP1 :',(RM/EP1) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite (5,50) \n' + message=message+' rapport RM/EP1 : %.2f \n'%(RM/EP1) + UTMESS('F', "MACR_ASCOUF_MAIL", message) if FISS_COUDE['ABSC_CURV']!=None: if SF<0. or SF>(ALPHA*RC*pi/180.0) : - print ' valeur hors domaine de validite' - print ' abscisse curviligne centre fissure :',SF - print ' valeur limite autorisee :',(ALPHA*RC*pi/180.0) - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' abscisse curviligne centre fissure : %.2f \n'%SF + message=message+' valeur limite autorisee : %.2f \n'%(ALPHA*RC*pi/180.0) + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (NT-2*(NT/2))!=0: - print ' valeur hors domaine de validite' - print ' nombre de tranches :',NT - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' nombre de tranches : %d \n'%NT + UTMESS('F', "MACR_ASCOUF_MAIL", message) if FISS_COUDE['ABSC_CURV'] and ((BETA<0.) or (BETA>ALPHA)): - print ' valeur hors domaine de validite' - print ' position angulaire centre fissure :',BETA - print ' posi_angul doit etre >= 0 et <= ',ALPHA - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' position angulaire centre fissure : %.2f \n'%BETA + message=message+' posi_angul doit etre >= 0 et <= %.2f \n'%ALPHA + UTMESS('F', "MACR_ASCOUF_MAIL", message) # # transition d epaisseur # @@ -2373,131 +2349,101 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, LCOUDE = ALPHA * RC * pi / 180.0 DEXT = 2.0*RM + EP1 if (LTRANLCOUDE) : - print ' valeur hors domaine de validite' - print ' debut transition d epaisseur :',LTRAN - print ' valeur minimale autorisee :',LDEFAU - print ' valeur maximale autorisee :',LCOUDE - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' debut transition d epaisseur : %.2f \n'%LTRAN + message=message+' valeur minimale autorisee : %.2f \n'%LDEFAU + message=message+' valeur maximale autorisee : %.2f \n'%LCOUDE + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (TETA1<0.) or (TETA1>30.) : - print ' valeur hors domaine de validite' - print ' angle de transition TETA1 :',TETA1 - print ' valeur minimale autorisee :',0. - print ' valeur maximale autorisee :',30. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' angle de transition TETA1 : %.2f \n'%TETA1 + message=message+' valeur minimale autorisee : %.2f \n'%0. + message=message+' valeur maximale autorisee : %.2f \n'%30. + UTMESS('F', "MACR_ASCOUF_MAIL", message) # # transition d epaisseur a une pente # if NBTRAN==1: if (EP1<12.) or (EP1>80.) : - print ' valeur hors domaine de validite' - print ' epaisseur avant la transition :',EP1 - print ' valeur minimale autorisee :',12. - print ' valeur maximale autorisee :',80. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' epaisseur avant la transition : %.2f \n'%EP1 + message=message+' valeur minimale autorisee : %.2f \n'%12. + message=message+' valeur maximale autorisee : %.2f \n'%80. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP2<20.) or (EP2>110.) : - print ' valeur hors domaine de validite' - print ' epaisseur apres la transition :',EP2 - print ' valeur minimale autorisee :',20. - print ' valeur maximale autorisee :',110. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' epaisseur apres la transition : %.2f \n'%EP2 + message=message+' valeur minimale autorisee : %.2f \n'%20. + message=message+' valeur maximale autorisee : %.2f \n'%110. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP1>EP2) : - print ' l epaisseur avant la transition' - print ' doit etre inferieure ' - print ' a celle apres la transition' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' l epaisseur avant la transition \n' + message=message+' doit etre inferieure \n' + message=message+' a celle apres la transition \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) LTRANF = LTRAN + ((EP2-EP1)/(tan(TETA1))) if (LTRANF>LCOUDE) : - print ' valeur hors domaine de validite' - print ' fin transition d epaisseur :',LTRANF - print ' valeur limite autorisee :',LCOUDE - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite \n' + message=message+' fin transition d epaisseur : %.2f \n'%LTRANF + message=message+' valeur limite autorisee : %.2f \n'%LCOUDE + UTMESS('F', "MACR_ASCOUF_MAIL", message) if DEXT<112. or DEXT>880. : - print ' valeur hors domaine de validite' - print ' diam ext du tube avant transition:',DEXT - print ' valeur minimum autorisee :',112. - print ' valeur maximum autorisee :',880. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' diam ext du tube avant transition: %.2f \n'%DEXT + message=message+' valeur minimum autorisee : %.2f \n'%112. + message=message+' valeur maximum autorisee : %.2f \n'%880. + UTMESS('F', "MACR_ASCOUF_MAIL", message) # # transition d epaisseur a une pente # else: if (TETA2<0.) or (TETA2>45.) : - print ' valeur hors domaine de validite' - print ' angle de transition TETA2 :',TETA2 - print ' valeur minimale autorisee :',0. - print ' valeur maximale autorisee :',45. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' angle de transition TETA2: %.2f \n'%TETA2 + message=message+' valeur minimum autorisee : %.2f \n'%0. + message=message+' valeur maximum autorisee : %.2f \n'%45. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP1<7.) or (EP1>35.) : - print ' valeur hors domaine de validite' - print ' epaisseur avant 1ere transition :',EP1 - print ' valeur minimale autorisee :',7. - print ' valeur maximale autorisee :',35. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' epaisseur avant 1ere transition: %.2f \n'%EP1 + message=message+' valeur minimum autorisee : %.2f \n'%7. + message=message+' valeur maximum autorisee : %.2f \n'%35. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP2<15.) or (EP2>40.) : - print ' valeur hors domaine de validite' - print ' epaisseur avant 2eme transition :',EP2 - print ' valeur minimale autorisee :',15. - print ' valeur maximale autorisee :',40. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' epaisseur avant 2eme transition: %.2f \n'%EP2 + message=message+' valeur minimum autorisee : %.2f \n'%15. + message=message+' valeur maximum autorisee : %.2f \n'%40. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EPI<15.) or (EPI>40.) : - print ' valeur hors domaine de validite' - print ' epaisseur intermediaire :',EPI - print ' valeur minimale autorisee :',15. - print ' valeur maximale autorisee :',40. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' epaisseur intermediaire: %.2f \n'%EPI + message=message+' valeur minimum autorisee : %.2f \n'%15. + message=message+' valeur maximum autorisee : %.2f \n'%40. + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP1>EPI) : - print ' valeur hors domaine de validite' - print ' l epaisseur avant la transition' - print ' doit etre inferieure a l epaisseur intermediaire' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' l epaisseur avant la transition \n' + message=message+' doit etre inferieure a l epaisseur intermediaire \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (EP2 valeur hors domaine de validite' - print ' l epaisseur apres la transition' - print ' doit etre inferieure a l epaisseur intermediaire' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' l epaisseur apres la transition \n' + message=message+' doit etre inferieure a l epaisseur intermediaire \n' + UTMESS('F', "MACR_ASCOUF_MAIL", message) LTRANF = LTRAN + (EPI-EP1)/(tan(TETA1)) LTRANF = LTRANF + (EP2-EPI)/(tan(TETA2)) if (LTRANF>LCOUDE) : - print ' valeur hors domaine de validite' - print ' fin transition d epaisseur :',LTRANF - print ' valeur limite autorisee :',LCOUDE - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' fin transition d epaisseur: %.2f \n'%LTRANF + message=message+' valeur limite autorisee : %.2f \n'%LCOUDE + UTMESS('F', "MACR_ASCOUF_MAIL", message) if (DEXT<77.) or (DEXT>355.) : - print ' valeur hors domaine de validite' - print ' diam ext du tube avant transition:',LTRANF - print ' valeur minimale autorisee :',77. - print ' valeur maximale autorisee :',355. - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' valeur hors domaine de validite\n' + message=message+' diam ext du tube avant transition: %.2f \n'%LTRANF + message=message+' valeur minimum autorisee : %.2f \n'%77. + message=message+' valeur maximum autorisee : %.2f \n'%355. + UTMESS('F', "MACR_ASCOUF_MAIL", message) # ################################################################################ # --- calcul taille initiale des defauts sur la plaque --- @@ -2530,9 +2476,7 @@ def macr_ascouf_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,COUDE, if logiel=='GIBI98' : logiel = loc_gibi+'gibi98' elif logiel=='GIBI2000': logiel = loc_gibi+'gibi2000' else : - self.cr.fatal(" seuls gibi98 et gibi2000 sont appelableS") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASCOUF_MAIL", "seuls gibi98 et gibi2000 sont appelables") # # --- ecriture sur le fichier .datg de la procedure --- # diff --git a/Aster/Cata/cataSTA8/Macro/macr_aspic_calc_ops.py b/Aster/Cata/cataSTA8/Macro/macr_aspic_calc_ops.py index 5426c395..eda90f99 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_aspic_calc_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_aspic_calc_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_aspic_calc_ops Macro DATE 08/02/2005 AUTEUR CIBHHLV L.VIVAN +#@ MODIF macr_aspic_calc_ops Macro DATE 09/05/2006 AUTEUR REZETTE C.REZETTE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -23,12 +23,13 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,AFFE_MATERIAU,EQUILIBRE, PRES_REP,ECHANGE,TORS_CORP,TORS_TUBU,COMP_INCR,COMP_ELAS, THETA_3D,OPTION,SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE, - INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE ,**args): + INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE,BORNES ,**args): """ Ecriture de la macro MACR_ASPIC_CALC """ from Accas import _F import types + from Utilitai.Utmess import UTMESS ier=0 #------------------------------------------------------------------ # On recopie le mot cle affe_materiau pour le proteger @@ -48,8 +49,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C POST_RCCM =self.get_cmd('POST_RCCM' ) DEFI_FOND_FISS =self.get_cmd('DEFI_FOND_FISS' ) CALC_THETA =self.get_cmd('CALC_THETA' ) - CALC_G_THETA_T =self.get_cmd('CALC_G_THETA_T' ) - CALC_G_LOCAL_T =self.get_cmd('CALC_G_LOCAL_T' ) + CALC_G =self.get_cmd('CALC_G' ) IMPR_RESU =self.get_cmd('IMPR_RESU' ) # La macro compte pour 1 dans la numerotation des commandes @@ -77,63 +77,40 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C i=i+1 MRCCM=mate['MATER'] if i>1 : - ier=ier+1 - self.cr.fatal(""" vous affectez plus d un materiau contenant l option rccm""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "vous affectez plus d un materiau contenant l option rccm") # if (TYPE_MAILLAGE[:4]=='SAIN') and (TUBULURE==None) : - ier=ier+1 - self.cr.fatal(""" pour les piquages sains, TUBULURE doit etre renseigne""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "pour les piquages sains, TUBULURE doit etre renseigne") # if EQUILIBRE['NOEUD'] not in ('P1_CORP','P2_CORP') : - ier=ier+1 - self.cr.fatal(""" EQUILIBRE[NOEUD] : on attend 'P1_CORP ' ou 'P2_CORP'""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "EQUILIBRE[NOEUD] : on attend P1_CORP ou P2_CORP") # if PRES_REP['EFFE_FOND']=='OUI' : if PRES_REP['NOEUD']==None : - ier=ier+1 - self.cr.fatal(""" il faut preciser un noeud pour EFFE_FOND""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "il faut preciser un noeud pour EFFE_FOND") if PRES_REP['NOEUD'] not in ('P1_CORP','P2_CORP') : - ier=ier+1 - self.cr.fatal(""" PRES_REP[NOEUD] : on attend 'P1_CORP' ou 'P2_CORP'""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "PRES_REP[NOEUD] : on attend P1_CORP ou P2_CORP") if PRES_REP['NOEUD']==EQUILIBRE['NOEUD'] : - ier=ier+1 - self.cr.fatal(""" on ne peut appliquer un EFFE_FOND sur PRES_REP[NOEUD] car ce noeud est bloque""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "on ne peut appliquer un EFFE_FOND sur PRES_REP[NOEUD] car ce noeud est bloque") # if TORS_CORP!=None : for tors in TORS_CORP : if tors['NOEUD'] not in ('P1_CORP','P2_CORP') : - ier=ier+1 - self.cr.fatal(""" TORS_CORP[NOEUD] : on attend 'P1_CORP' ou 'P2_CORP'""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "TORS_CORP[NOEUD] : on attend P1_CORP ou P2_CORP") if tors['NOEUD']==EQUILIBRE['NOEUD'] : - ier=ier+1 - self.cr.fatal(""" on ne peut appliquer un torseur sur TORS_CORP[NOEUD] car ce noeud est bloque""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "on ne peut appliquer un torseur sur TORS_CORP[NOEUD] car ce noeud est bloque") # if (TYPE_MAILLAGE[:4]=='SAIN') and (THETA_3D!=None) : - ier=ier+1 - self.cr.fatal(""" si TYPE_MAILLAGE SAIN : mecanique de la rupture impossible""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "si TYPE_MAILLAGE SAIN : mecanique de la rupture impossible") # if OPTION in ('CALC_G_MAX','CALC_G_MAX_LOCAL') : if BORNES==None : - ier=ier+1 - self.cr.fatal(""" mot-clef obligatoire avec cette option""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "mot-clef obligatoire avec cette option") # if IMPRESSION!=None : if IMPRESSION['FORMAT'] in ('IDEAS','CASTEM') : if IMPRESSION['NOM_CHAM']==None : - ier=ier+1 - self.cr.fatal(""" impression de resultats demandée sans preciser le nom des champs - cf. la documentation utilisateur : U4.PC.20.""") - return ier + UTMESS('E', "MACR_ASPIC_CALC", "impression de resultats demandée sans preciser le nom des champs cf. la documentation utilisateur : U4.PC.20.") # #------------------------------------------------------------------ # @@ -223,7 +200,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C AEFOCO = 'EXCORP1' ATORCO = 'P1_CORP' LINTC = 'L_INT_C1' - __conlim = AFFE_CHAR_MECA( MODELE = modele , + _conlim = AFFE_CHAR_MECA( MODELE = modele , LIAISON_ELEM = ( _F( OPTION ='3D_POU' , GROUP_MA_1='EXCORP1', GROUP_NO_2='P1_CORP'), @@ -256,13 +233,13 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C _F(GROUP_MA =AEFOCO, GROUP_MA_INT=LINTC, PRES =PRES_REP['PRES'])) - __chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) + _chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) # # --- commande AFFE_CHAR_MECA --- # chargement mecanique : torseur sur le corps # if TORS_CORP!=None: - __chtrc = [None]*6 + _chtrc = [None]*6 i=0 for tors in TORS_CORP : mcsimp={} @@ -273,7 +250,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C if tors['MY']!=None : mcsimp['MY']=tors['MY'] if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] mcfact=_F(GROUP_NO=ATORCO,**mcsimp) - __chtrc[i] = AFFE_CHAR_MECA( MODELE = modele , + _chtrc[i] = AFFE_CHAR_MECA( MODELE = modele , FORCE_NODALE = mcfact , ) i=i+1 # @@ -281,7 +258,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C # chargement mecanique : torseur sur la tubulure # if TORS_TUBU!=None: - __chtrt = [None]*6 + _chtrt = [None]*6 i=0 for tors in TORS_TUBU : mcsimp={} @@ -292,7 +269,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C if tors['MY']!=None : mcsimp['MY']=tors['MY'] if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] mcfact=_F(GROUP_NO='P_TUBU ',**mcsimp) - __chtrt[i] = AFFE_CHAR_MECA( MODELE = modele , + _chtrt[i] = AFFE_CHAR_MECA( MODELE = modele , FORCE_NODALE = mcfact , ) i=i+1 # @@ -301,28 +278,28 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C motscles={} # mcfex=[] # mot clé facteur EXCIT - mcfex.append(_F(CHARGE=__conlim,)) + mcfex.append(_F(CHARGE=_conlim,)) if ECHANGE!=None : mcfex.append(_F(CHARGE=chmeth,)) if PRES_REP['FONC_MULT']!=None : - mcfex.append(_F(CHARGE=__chpres,FONC_MULT=PRES_REP['FONC_MULT'])) + mcfex.append(_F(CHARGE=_chpres,FONC_MULT=PRES_REP['FONC_MULT'])) else : - mcfex.append(_F(CHARGE=__chpres,)) + mcfex.append(_F(CHARGE=_chpres,)) if TORS_CORP!=None: i=0 for tors in TORS_CORP : if tors['FONC_MULT']!=None : - mcfex.append(_F(CHARGE=__chtrc[i],FONC_MULT=tors['FONC_MULT'])) + mcfex.append(_F(CHARGE=_chtrc[i],FONC_MULT=tors['FONC_MULT'])) else : - mcfex.append(_F(CHARGE=__chtrc[i],)) + mcfex.append(_F(CHARGE=_chtrc[i],)) i=i+1 if TORS_TUBU!=None: i=0 for tors in TORS_TUBU : if tors['FONC_MULT']!=None : - mcfex.append(_F(CHARGE=__chtrt[i],FONC_MULT=tors['FONC_MULT'])) + mcfex.append(_F(CHARGE=_chtrt[i],FONC_MULT=tors['FONC_MULT'])) else : - mcfex.append(_F(CHARGE=__chtrt[i],)) + mcfex.append(_F(CHARGE=_chtrt[i],)) i=i+1 motscles['EXCIT'] =mcfex # @@ -686,20 +663,20 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C R_INF = tht3d['R_INF'], R_SUP = tht3d['R_SUP'], ) ) # -# --- commande CALC_G_THETA_T --- +# --- commande CALC_G (3D GLOBAL) --- # montit = 'G_THETA AVEC R_INF = '+str(tht3d['R_INF'])+' ET R_SUP = '+str(tht3d['R_SUP']) motscles={} if COMP_ELAS!=None: motscles['COMP_ELAS']= _F(TOUT = 'OUI', RELATION = COMP_ELAS['RELATION'],) if COMP_INCR!=None: motscles['COMP_INCR']= _F(RELATION = COMP_INCR['RELATION'],) - print motscles - __gtheta = CALC_G_THETA_T( MODELE = modele, - CHAM_MATER = affmat, - THETA = __theta, - RESULTAT = nomres, - TOUT_ORDRE = 'OUI', - TITRE = montit,**motscles) + __gtheta = CALC_G ( MODELE = modele, + CHAM_MATER = affmat, + THETA = _F(THETA=__theta), + OPTION = 'CALC_G_GLOB', + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + TITRE = montit,**motscles) IMPR_TABLE(TABLE = __gtheta, ) # # recherche du g max @@ -711,35 +688,36 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C mcfact.append(_F( NUME_ORDRE = born['NUME_ORDRE'] , VALE_MIN = born['VALE_MIN' ] , VALE_MAX = born['VALE_MAX' ] ) ) - __gbil = CALC_G_THETA_T( MODELE = modele, - CHAM_MATER = affmat, - THETA = __theta, - RESULTAT = nomres, - TOUT_ORDRE = 'OUI', - COMP_ELAS = _F(TOUT = 'OUI', - RELATION = COMP_ELAS['RELATION'],), - TITRE = montit, - OPTION = OPTION, - BORNES = mcfact,) + __gbil = CALC_G( MODELE = modele, + CHAM_MATER = affmat, + THETA = _F(THETA=__theta), + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + COMP_ELAS = _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],), + TITRE = montit, + OPTION = 'G_MAX_GLOB', + BORNES = mcfact,) IMPR_TABLE(TABLE = __gbil, ) # -# --- commande CALC_G_LOCAL_T --- +# --- commande CALC_G (3D LOCAL) --- # montit = 'G_LOCAL AVEC R_INF = '+str(tht3d['R_INF'])+' ET R_SUP = '+str(tht3d['R_SUP']) motscles={} if COMP_ELAS!=None: motscles['COMP_ELAS' ]= _F(TOUT = 'OUI', RELATION = COMP_ELAS['RELATION'],) if FERME: - motscles['LISSAGE_THETA']= 'LAGRANGE' - motscles['LISSAGE_G' ]= 'LAGRANGE' - __glocal = CALC_G_LOCAL_T( MODELE = modele, - CHAM_MATER = affmat, - FOND_FISS = fond3d[j], - RESULTAT = nomres, - TOUT_ORDRE = 'OUI', - R_INF = tht3d['R_INF'], - R_SUP = tht3d['R_SUP'], - TITRE = montit,**motscles) + motscles['LISSAGE']=_F(LISSAGE_THETA= 'LAGRANGE', + LISSAGE_G= 'LAGRANGE',) + __glocal = CALC_G( MODELE = modele, + CHAM_MATER = affmat, + THETA=_F( FOND_FISS = fond3d[j], + R_INF = tht3d['R_INF'], + R_SUP = tht3d['R_SUP'],), + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + TITRE = montit,**motscles) + IMPR_TABLE(TABLE = __glocal, ) # # recherche du g max local # @@ -748,24 +726,24 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C motscles={} mcfact=[] if FERME: - motscles['LISSAGE_THETA']= 'LAGRANGE' - motscles['LISSAGE_G' ]= 'LAGRANGE' + motscles['LISSAGE']=_F(LISSAGE_THETA= 'LAGRANGE', + LISSAGE_G= 'LAGRANGE',) for born in BORNES : mcfact.append(_F( NUME_ORDRE = born['NUME_ORDRE'] , VALE_MIN = born['VALE_MIN' ] , VALE_MAX = born['VALE_MAX' ] ) ) motscles['BORNES']=mcfact - __glbil = CALC_G_LOCAL_T( MODELE = modele, - CHAM_MATER = affmat, - FOND_FISS = fond3d[j], - RESULTAT = nomres, - TOUT_ORDRE = 'OUI', - COMP_ELAS = _F(TOUT = 'OUI', - RELATION = COMP_ELAS['RELATION'],), - TITRE = montit, - OPTION = 'CALC_G_MAX', - R_INF = tht3d['R_INF'], - R_SUP = tht3d['R_SUP'],**motscles) + __glbil = CALC_G( MODELE = modele, + CHAM_MATER = affmat, + THETA=_F( FOND_FISS = fond3d[j], + R_INF = tht3d['R_INF'], + R_SUP = tht3d['R_SUP'],), + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + COMP_ELAS = _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],), + TITRE = montit, + OPTION = 'G_MAX',**motscles) IMPR_TABLE(TABLE = __glbil, ) # # --- commande IMPR_RESU --- @@ -781,13 +759,13 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C else : ncham=[IMPRESSION['NOM_CHAM'],] if len(ncham)==3 : motscles['NOM_CHAM' ]=('DEPL','EQUI_ELNO_SIGM') elif (len(ncham)==1) and (ncham[0][:4]!='TEMP') : - motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[0] elif (len(ncham)==2) and (ncham[0][:4]!='TEMP') and (ncham[1][:4]!='TEMP') : - motscles['NOM_CHAM' ]=(ncham[0]['NOM_CHAM'],ncham[1]['NOM_CHAM']) + motscles['NOM_CHAM' ]=(ncham[0],ncham[1]) elif (len(ncham)==2) and (ncham[0][:4]=='TEMP') : - motscles['NOM_CHAM' ]= ncham[1]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[1] elif (len(ncham)==2) and (ncham[1][:4]=='TEMP') : - motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[0] if IMPRESSION['TOUT_ORDRE']!=None : motscles['TOUT_ORDRE']= IMPRESSION['TOUT_ORDRE'] elif IMPRESSION['NUME_ORDRE']!=None : @@ -804,11 +782,11 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C if IMPRESSION['FORMAT'] in ('IDEAS','CASTEM') : if len(ncham)==3 : motscles['NOM_CHAM' ]=('TEMP',) elif (len(ncham)==1) and (ncham[0][:4]=='TEMP') : - motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[0] elif (len(ncham)==2) and (ncham[0][:4]=='TEMP') : - motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[0] elif (len(ncham)==2) and (ncham[1][:4]=='TEMP') : - motscles['NOM_CHAM' ]= ncham[1]['NOM_CHAM'] + motscles['NOM_CHAM' ]= ncham[1] if IMPRESSION['TOUT_ORDRE']!=None : motscles['TOUT_ORDRE']= IMPRESSION['TOUT_ORDRE'] elif IMPRESSION['NUME_ORDRE']!=None : @@ -819,7 +797,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C motsclei['VERSION' ]= IMPRESSION['VERSION'] if IMPRESSION['FORMAT']=='CASTEM' : motsclei['NIVE_GIBI' ]= IMPRESSION['NIVE_GIBI'] - mcfresu.append(_F(RESULTAT=nomres,**motscles)) + mcfresu.append(_F(RESULTAT=resuth,**motscles)) IMPR_RESU( MODELE = modele, RESU = mcfresu, FORMAT=IMPRESSION['FORMAT'],**motsclei) diff --git a/Aster/Cata/cataSTA8/Macro/macr_aspic_mail_ops.py b/Aster/Cata/cataSTA8/Macro/macr_aspic_mail_ops.py index 296cab1d..783db3ab 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_aspic_mail_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_aspic_mail_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_aspic_mail_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macr_aspic_mail_ops Macro DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -19,43 +19,44 @@ # ====================================================================== - -from math import sqrt,cos,sin,pi,pow,tan +import os.path +from math import sqrt, cos, sin, pi, pow, tan # Ecriture du fichier GIBI principal (dgib) - ASPID0 def write_file_dgib_ASPID0(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, H, ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, THETA, TYPELE, - ITYPSO, DPENE, NIVMAG, loc_datg) : - + ITYPSO, DPENE, NIVMAG, loc_datg): + import aster # Ouverture du fichier d'entrée de commandes fdgib=open(nomFichierDATG,'w') - POIVIR = ' ; \n' - texte='****************************************************************\n' - texte=texte+'opti echo 0 ; \n' - texte=texte+'epT1 = '+str(EPT1) +POIVIR - texte=texte+'DeT1 = '+str(DET1) +POIVIR - texte=texte+'d1 = '+str(D1) +POIVIR - texte=texte+'d2 = '+str(D2) +POIVIR - texte=texte+'epT2 = '+str(EPT2) +POIVIR - texte=texte+'DeT2 = '+str(DET2) +POIVIR - texte=texte+'Zmax = '+str(ZMAX) +POIVIR - texte=texte+'type_s = '+str(ITYPSO) +POIVIR - texte=texte+'d_pene = '+str(DPENE) +POIVIR - texte=texte+'h = '+str(H) +POIVIR - texte=texte+'angl_s = '+str(ALPHA) +POIVIR - texte=texte+'jeu = '+str(JEU) +POIVIR - texte=texte+'epC = '+str(EPC) +POIVIR - texte=texte+'DeC = '+str(DEC) +POIVIR - texte=texte+'Xmax = '+str(XMAX) +POIVIR - texte=texte+'typmai = MOT '+TYPMAI +POIVIR - texte=texte+'theta = '+str(THETA) +POIVIR - texte=texte+'typele = MOT '+TYPELE +POIVIR - texte=texte+'typ_eque = MOT '+'SAINE' +POIVIR - texte=texte+'nivmag = '+str(NIVMAG) +POIVIR - texte=texte+'* \n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'aspic.datg'+"';\n" - print texte + texte = """ +**************************************************************** +opti echo 0; +epT1 = %s; +DeT1 = %s; +d1 = %s; +d2 = %s; +epT2 = %s; +DeT2 = %s; +Zmax = %s; +type_s = %s; +d_pene = %s; +h = %s; +angl_s = %s; +jeu = %s; +epC = %s; +DeC = %s; +Xmax = %s; +typmai = MOT %s; +theta = %s; +typele = MOT %s; +typ_eque = MOT SAINE; +nivmag = %s; +**************************************************************** +""" % (EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, ITYPSO, DPENE, H, + ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, THETA, TYPELE, NIVMAG) + aster.affiche('MESSAGE',texte + ' + aspic.datg...\n') + texte = texte + open(os.path.join(loc_datg, 'aspic.datg'), 'r').read() fdgib.write(texte) fdgib.close() @@ -65,6 +66,7 @@ def write_file_dgib_ASPID1(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, A,C,EPS, RC0, NS,NC,NT,POSI, NDT,FETIRF,FETIRP, TFISS,ZETA,ITYPSO,DPENE, NIVMAG, loc_datg) : + import aster # Ouverture du fichier d'entrée de commandes fdgib=open(nomFichierDATG,'w') POIVIR = ' ; \n' @@ -103,9 +105,8 @@ def write_file_dgib_ASPID1(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, texte=texte+'typ_eque = MOT '+'FISS_LON' +POIVIR texte=texte+'nivmag = '+str(NIVMAG) +POIVIR texte=texte+'* \n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'aspic_v2.datg'+"';\n" - print texte + aster.affiche('MESSAGE',texte + ' + aspic_v2.datg...\n') + texte = texte + open(os.path.join(loc_datg, 'aspic_v2.datg'), 'r').read() fdgib.write(texte) fdgib.close() @@ -116,6 +117,7 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ALP,BETA, NS, NC, NT, POSI ,NDT,NSDT,TFISS, ZETA,ITYPSO,DPENE, NIVMAG, loc_datg) : # + import aster CALPHA = cos(ALPHA*pi/180.) SALPHA = sin(ALPHA*pi/180.) CTHETA = cos(THETA*pi/180.) @@ -172,10 +174,10 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, EPSIL = STHETA * tan(ALPHA*pi/180.0) PHI = (EPSIL * ZA) - YA DELTA = pow(PHI,2) - ((1 + pow(EPSIL,2))*(pow(PHI,2) - (pow((DEC/2.0),2)*pow(EPSIL,2)))) - if (THETA > 0) : + if (STHETA > 0) : YD = ( sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) else : - YD = ( -1.0*sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) + YD = ( -1.0*sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) ZD = sqrt(pow((DEC/2.0),2) - pow(YD,2)) @@ -193,6 +195,14 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZN0 = ZD0 - A*CALPHA XN = XN0 * CTHETA YN = XN0 * STHETA + DNXY = sqrt(pow(XD,2) + pow(YD,2)) - sqrt(pow(XN,2) + pow(YN,2)) + DNXY0 = XD0 - XN0 + RAPP = DNXY/DNXY0 + # Correction necessaire dans le cas theta et/ou alpha grand + if (RAPP < 0.5) : + DXY = sqrt(pow(XD,2) + pow(YD,2) ) + XN = XN * DXY/XD0 + YN = YN * DXY/XD0 SGAMN = YN / ZN0 ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) D0N0 = sqrt( pow((XD0 - XN0),2) + pow((ZD0 - ZN0),2) ) @@ -234,7 +244,7 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, EPSIL = STHETA * TGALP PHI = (EPSIL * ZA) - YA DELTA = pow(PHI,2) - (1.0 + pow(EPSIL,2))*(pow(PHI,2) - pow((DEC/2.0),2)*pow(EPSIL,2)) - if (THETA > 0) : + if (STHETA > 0) : YD = (sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) else : YD = (-1.0*sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) @@ -336,9 +346,10 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ECART = (RAPP - 1.0) * B0N0 A = A + ECART - print ' CORRECTION PROFONDEUR DEFAUT' - print ' PROFONDEUR SUR PIQUAGE : ', AOLD - print ' PROFONDEUR SUR EQUERRE : ', A + message= ' CORRECTION PROFONDEUR DEFAUT \n' + message=message+ ' PROFONDEUR SUR PIQUAGE : %.2f \n'%AOLD + message=message+ ' PROFONDEUR SUR EQUERRE : %.2f \n'%A + aster.affiche('MESSAGE',message) # Ouverture du fichier d'entrée de commandes @@ -384,9 +395,8 @@ def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, texte=texte+'nivmag = '+str(NIVMAG) +POIVIR texte=texte+'* \n' texte=texte+'list epc ;\n' - texte=texte+'opti donn ' - texte=texte+"'"+loc_datg+'aspic.datg'+"';\n" - print texte + aster.affiche('MESSAGE',texte + ' + aspic.datg...\n') + texte = texte + open(os.path.join(loc_datg, 'aspic.datg'), 'r').read() fdgib.write(texte) fdgib.close() @@ -399,6 +409,7 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, from Accas import _F import types import aster + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -436,9 +447,7 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, TYPSOU= TUBULURE['TYPE' ] DPENE = TUBULURE['L_PENETR' ] if TYPSOU=='TYPE_2' and DPENE>0.0 : - self.cr.fatal(" les piquages penetrants sont autorises uniquement avec les soudures de type 1") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "les piquages penetrants sont autorises uniquement avec les soudures de type 1") if TYPSOU=='TYPE_2' : ITYPSO = 2 else : @@ -466,12 +475,10 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, ZMAXC = LZMAX + ( DEC/2.0 ) + D1 + D2 LOK = ( abs(ZMAX-ZMAXC) <= EPSI * abs(ZMAXC) ) if not LOK : - print ' erreur donnees' - print ' Z_MAX FOURNIE : ', ZMAX - print ' Z_MAX CALCULEE : ', ZMAXC - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' erreur donnees \n' + message=message+ ' Z_MAX FOURNIE : %.2f \n'%ZMAX + message=message+ ' Z_MAX CALCULEE : %.2f \n'%ZMAXC + UTMESS('F', "MACR_ASPIC_MAIL", message) RMC = ( DEC - EPC ) / 2.0 VAL1 = 1.5 * sqrt( RMC**3 / EPC ) VAL2 = 3.0 * sqrt( RMC * EPC ) @@ -479,14 +486,13 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, XMAXC = LXMAX + ( DET1 / 2.0 ) LOK = ( abs(XMAX-XMAXC) <= EPSI * abs(XMAXC) ) if not LOK : - print ' erreur donnees' - print ' Z_MAX FOURNIE : ', ZMAX - print ' Z_MAX CALCULEE : ', ZMAXC - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier - print ' MACR_ASPIC_MAIL / X_MAX CALCULEE : ',XMAX - print ' MACR_ASPIC_MAIL / Z_MAX CALCULEE : ',XMAXC + message= ' erreur donnees \n' + message=message+ ' Z_MAX FOURNIE : %.2f \n'%ZMAX + message=message+ ' Z_MAX CALCULEE : %.2f \n'%ZMAXC + UTMESS('F', "MACR_ASPIC_MAIL", message) + message= ' MACR_ASPIC_MAIL / X_MAX CALCULEE : %.2f \n'%XMAX + message=message+ ' MACR_ASPIC_MAIL / Z_MAX CALCULEE : %.2f \n'%XMAXC + aster.affiche('MESSAGE',message) # # --- caracteristiques de la fissure --- # @@ -511,22 +517,18 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, N1 = 1 else : N1 = 0 if (TFISS=='DEB_INT') and (POSI=='INCLINE') and (DPENE>0.0) and (JEU>0.0) : - print ' erreur donnees' - print ' dans le cas de fissures' - print ' inclinees debouchant en peau interne avec' - print ' piquage penetrant le jeu doit etre nul' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' erreur donnees \n' + message=message+ ' dans le cas de fissures \n' + message=message+ ' inclinees debouchant en peau interne avec \n' + message=message+ ' piquage penetrant le jeu doit etre nul \n' + UTMESS('F', "MACR_ASPIC_MAIL", message) ZETA = 0.5 if TFISS not in ('DEB_INT','DEB_EXT') : if FISS_SOUDURE['LIGA_INT']==None : - print ' erreur donnees' - print ' dans le cas de fissures internes' - print ' (NON_DEB) le ligament inferieur est obligatoire' - self.cr.fatal(" erreur donnees ") - ier = ier+1 - return ier + message= ' erreur donnees \n' + message=message+ ' dans le cas de fissures internes\n' + message=message+ ' (NON_DEB) le ligament inferieur est obligatoire \n' + UTMESS('F', "MACR_ASPIC_MAIL", message) LIGA = FISS_SOUDURE['LIGA_INT'] if POSI=='DROIT' : if ITYPSO==1 : ZETA = (A+LIGA)/(EPC+H) @@ -535,33 +537,21 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, if ITYPSO==1 : ZETA = (A+LIGA)*cos(ALPHA*pi/180.0)/EPC else : ZETA = (A+LIGA)*cos(ALPHA*pi/180.0)/EPT1 if ZETA < 0.1 : - self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") if ZETA > 0.9 : - self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") if LIGA < 0.1*EPC : - self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") if (LIGA + 2.0*A) > 0.9*EPC : - self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") if N1==0 : if FISCOU : - self.cr.fatal(" dans le cas de fissures courte il faut preciser la longueur ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de fissures courte il faut preciser la longueur") if AXIS=='NON' : - self.cr.fatal(" dans le cas de la fissure longue il faut preciser la longueur ou axis=oui ") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "dans le cas de la fissure longue il faut preciser la longueur ou axis=oui ") C = 0.0 else : - if AXIS=='OUI' : print ' fissure axisymetrique : le mot clef ne doit pas etre renseigne' + if AXIS=='OUI' : UTMESS('A', "MACR_ASPIC_MAIL", "fissure axisymetrique : le mot clef ne doit pas etre renseigne") C = 0.5 * C LEQU=2.*(pi*(DEC-EPC)-DET1+2.*EPT1) # @@ -654,9 +644,7 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, if logiel=='GIBI98' : logiel = loc_gibi+'gibi98' elif logiel=='GIBI2000': logiel = loc_gibi+'gibi2000' else : - self.cr.fatal(" seuls gibi98 et gibi2000 sont appelableS") - ier = ier+1 - return ier + UTMESS('F', "MACR_ASPIC_MAIL", "seuls gibi98 et gibi2000 sont appelables ") # # --- ecriture sur le fichier .datg de la procedure --- # @@ -841,5 +829,80 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, IMPR_RESU( RESU = impr_resu, FORMAT = impr['FORMAT'],**motscles ) # +# +# --- Verification profondeur fissure (courte débouchante) --- +# + if FISCOU and not (TFISS=='NON_DEB') : + nomres=DEFI_GROUP( reuse=nomres, + MAILLAGE=nomres, + CREA_GROUP_NO=(_F( GROUP_MA = 'LEVRTUBU',), + _F( NOM = 'FONDORDO', + GROUP_MA = 'FONDFISS', + OPTION = 'NOEUD_ORDO',),),); + + nommail=nomres.nom + coord =aster.getvectjev(nommail.ljust(8)+'.COORDO .VALE') + collgrno=aster.getcolljev(nommail.ljust(8)+'.GROUPENO') + + grfo=collgrno['FONDORDO'] + Nbno = len(grfo) + listx = [None]*Nbno + listy = [None]*Nbno + listz = [None]*Nbno + k = 0 + for node in grfo: + listx[k] = coord[3*(node-1)] + listy[k] = coord[3*(node-1)+1] + listz[k] = coord[3*(node-1)+2] + k = k+1 + + XAB = listx[Nbno-1] - listx[0] + YAB = listy[Nbno-1] - listy[0] + ZAB = listz[Nbno-1] - listz[0] + AB = sqrt(XAB*XAB + YAB*YAB +ZAB*ZAB) + d = 0 + for k in range(0,Nbno) : + XAM = listx[k] - listx[0] + YAM = listy[k] - listy[0] + ZAM = listz[k] - listz[0] + Xvect = YAB*ZAM-ZAB*YAM + Yvect = ZAB*XAM-XAB*ZAM + Zvect = XAB*YAM-YAB*XAM + AM = sqrt(Xvect*Xvect+ Yvect*Yvect +Zvect*Zvect) + dk = AM/AB + if dk > d : + XC = listx[k] + YC = listy[k] + ZC = listz[k] + d = max(dk, d) + + grlev=collgrno['LEVRTUBU'] + Nbnol = len(grlev) + listxl = [None]*Nbnol + listyl = [None]*Nbnol + listzl = [None]*Nbnol + k = 0 + for node in grlev: + listxl[k] = coord[3*(node-1)] + listyl[k] = coord[3*(node-1)+1] + listzl[k] = coord[3*(node-1)+2] + k = k+1 + dist = 0 + for k in range(0,Nbnol) : + XAM = listxl[k] - listx[0] + YAM = listyl[k] - listy[0] + ZAM = listzl[k] - listz[0] + Scal = (XAB*XAM + YAB*YAM + ZAB*ZAM)/(AB*AB) + if (abs(Scal) < 0.51) and (abs(Scal) > 0.49) : + Xk = listxl[k] -XC + Yk = listyl[k] -YC + Zk = listzl[k] -ZC + dk = sqrt(Xk**2+ Yk**2 +Zk**2) + dist = max(dk, dist) + + texte=" PROFONDEUR DE LA FISSURE DANS LE MAILLAGE : %.2f \n"%dist + aster.affiche('MESSAGE',texte) +# return ier + diff --git a/Aster/Cata/cataSTA8/Macro/macr_cabri_calc_ops.py b/Aster/Cata/cataSTA8/Macro/macr_cabri_calc_ops.py index a829425f..da2fa29f 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_cabri_calc_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_cabri_calc_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_cabri_calc_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macr_cabri_calc_ops Macro DATE 07/10/2005 AUTEUR CIBHHPD L.SALMONA # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,7 +22,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, - CHAR_MECA,RESU_THER, + CHAR_MECA,RESU_THER,RESO_INTE, AFFE_MATERIAU,DEFI_CHAR_THER,DEFI_CHAR_MECA,RELATION,SOLVEUR,CONVERGENCE,NEWTON, INCREMENT,CHAM_MATER,**args): """ @@ -40,7 +40,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, # On met certains mots-clefs dans des variables locales pour les proteger affemateriau = AFFE_MATERIAU mail = MAILLAGE - + resointe = RESO_INTE # On importe les definitions des commandes a utiliser dans la macro # Le nom de la variable doit etre obligatoirement le nom de la commande @@ -511,7 +511,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, _F(CHARGE=cl_me11,), ), SOLVEUR = solveur, - COMP_INCR =_F(RELATION=relation,), + COMP_INCR =_F(RELATION=relation,RESO_INTE=resointe), NEWTON = newton, INCREMENT = increment, CONVERGENCE = convergence, @@ -532,7 +532,7 @@ def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, _F(CHARGE=cl_me11,), ), SOLVEUR = solveur, - COMP_ELAS =_F(RELATION=relation,), + COMP_ELAS =_F(RELATION=relation,RESO_INTE=resointe), NEWTON = newton, INCREMENT = increment, CONVERGENCE = convergence, diff --git a/Aster/Cata/cataSTA8/Macro/macr_cara_poutre_ops.py b/Aster/Cata/cataSTA8/Macro/macr_cara_poutre_ops.py index e0849aff..89195496 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_cara_poutre_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_cara_poutre_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_cara_poutre_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macr_cara_poutre_ops Macro DATE 27/02/2006 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -26,6 +26,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, """ import types from Accas import _F + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro # Le nom de la variable doit etre obligatoirement le nom de la commande @@ -49,21 +50,18 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, INTE_MAIL_2D =self.get_cmd('INTE_MAIL_2D') POST_RELEVE_T =self.get_cmd('POST_RELEVE_T') IMPR_TABLE =self.get_cmd('IMPR_TABLE') - IMPR_CO =self.get_cmd('IMPR_CO') + CREA_TABLE =self.get_cmd('CREA_TABLE') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) - # Le concept sortant (de type tabl_cara_geom) est nommé 'nomres' dans + # Le concept sortant (de type table_sdaster) est nommé 'nomres' dans # le contexte de la macro self.DeclareOut('nomres',self.sd) # if GROUP_MA_BORD and GROUP_MA: # if not LIAISON: -# ier=ier+1 -# self.cr.fatal(" Avec GROUP_MA, il faut obligatoirement preciser LIAISON, LONGUEUR ET MATERIAU") -# return ier +# UTMESS('F', "MACR_CARA_POUTRE", "Avec GROUP_MA, il faut obligatoirement preciser LIAISON, LONGUEUR ET MATERIAU") # __nomlma=LIRE_MAILLAGE(UNITE=UNITE_MAILLAGE,) @@ -79,6 +77,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, AFFE=_F(TOUT='OUI', MATER=__nomdma,), ) + # --- CALCUL DES CARACTERISTIQUES GEOMETRIQUES DE LA SECTION : # ------------------------------------------------------ @@ -88,10 +87,9 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, if SYME_Y : motsimps['SYME_Y'] = SYME_Y motsimps['ORIG_INER'] = ORIG_INER mfact=_F(TOUT='OUI',**motsimps) - nomres=POST_ELEM(MODELE=__nomamo, - CHAM_MATER=__nomama, - CARA_GEOM=mfact ) - + __cageo=POST_ELEM(MODELE=__nomamo, + CHAM_MATER=__nomama, + CARA_GEOM=mfact ) # nb : si GROUP_MA n existe pas : le mot clé est ignoré # @@ -106,6 +104,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # ================================================================== if GROUP_MA_BORD and not GROUP_MA: + # --- TRANSFORMATION DES GROUP_MA EN GROUP_NO SUR-LESQUELS # --- ON POURRA APPLIQUER DES CONDITIONS DE TEMPERATURE IMPOSEE : # --------------------------------------------------------- @@ -128,7 +127,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # --------------------------------------------------------------- __nomapi=CREA_MAILLAGE(MAILLAGE=__nomlma, - REPERE=_F(TABLE=nomres, + REPERE=_F(TABLE=__cageo, NOM_ORIG='CDG', ), ) # --- AFFECTATION DU PHENOMENE 'THERMIQUE' AU MODELE EN VUE DE @@ -355,36 +354,34 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, if args.has_key('GROUP_MA_INTE'): lgmaint=args['GROUP_MA_INTE'] if lgmaint != None : - motscles['CARA_POUTRE']=_F(CARA_GEOM=nomres, + motscles['CARA_POUTRE']=_F(CARA_GEOM=__cageo, LAPL_PHI=__tempe1, RT=__rt, TOUT='OUI', OPTION='CARA_TORSION', GROUP_MA_INTE=args['GROUP_MA_INTE'],) else: - motscles['CARA_POUTRE']=_F(CARA_GEOM=nomres, + motscles['CARA_POUTRE']=_F(CARA_GEOM=__cageo, LAPL_PHI=__tempe1, RT=__rt, TOUT='OUI', OPTION='CARA_TORSION', ) - nomres=POST_ELEM(reuse=nomres, - MODELE=__nomoth, - CHAM_MATER=__chmath, - **motscles ) + __cator=POST_ELEM(MODELE=__nomoth, + CHAM_MATER=__chmath, + **motscles ) # --- CALCUL DES COEFFICIENTS DE CISAILLEMENT ET DES COORDONNEES DU # --- CENTRE DE CISAILLEMENT/TORSION : # ------------------------------ - nomres=POST_ELEM(reuse=nomres, - MODELE=__nomoth, - CHAM_MATER=__chmath, - CARA_POUTRE=_F(CARA_GEOM=nomres, - LAPL_PHI_Y=__tempe2, - LAPL_PHI_Z=__tempe3, - TOUT='OUI', - OPTION='CARA_CISAILLEMENT',), ) + __cacis=POST_ELEM(MODELE=__nomoth, + CHAM_MATER=__chmath, + CARA_POUTRE=_F(CARA_GEOM=__cator, + LAPL_PHI_Y=__tempe2, + LAPL_PHI_Z=__tempe3, + TOUT='OUI', + OPTION='CARA_CISAILLEMENT',), ) # @@ -410,7 +407,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # ---------- __nomapt=CREA_MAILLAGE(MAILLAGE=__nomapi, - REPERE=_F(TABLE=nomres, + REPERE=_F(TABLE=__cacis, NOM_ORIG='TORSION',) ) # --- AFFECTATION DU PHENOMENE 'THERMIQUE' AU MODELE EN VUE DE @@ -542,10 +539,9 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # --- CALCUL DE L INERTIE DE GAUCHISSEMENT : # ------------------------------------- - nomres=POST_ELEM(reuse=nomres, - MODELE=__nomot2, + nomres=POST_ELEM(MODELE=__nomot2, CHAM_MATER=__chmat2, - CARA_POUTRE=_F(CARA_GEOM=nomres, + CARA_POUTRE=_F(CARA_GEOM=__cacis, LAPL_PHI=__tempe4, TOUT='OUI', OPTION='CARA_GAUCHI'), ) @@ -565,6 +561,9 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, if GROUP_MA_BORD and GROUP_MA: +# --- CALCUL DES CARACTERISTIQUES GEOMETRIQUES DE LA SECTION : +# ------------------------------------------------------ + if type(GROUP_MA_BORD)==types.StringType : l_group_ma_bord=[GROUP_MA_BORD,] else: @@ -581,14 +580,11 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, l_noeud= args['NOEUD'] if len(l_group_ma)!=len(l_group_ma_bord): - ier=ier+1 - self.cr.fatal(" GROUP_MA et GROUP_MA_BORD incoherents") - return ier + UTMESS('F', "MACR_CARA_POUTRE", "GROUP_MA et GROUP_MA_BORD incoherents") if args.has_key('NOEUD') and (len(l_group_ma)!=len(l_noeud)): - ier=ier+1 - self.cr.fatal(" GROUP_MA et NOEUD incoherents") - return ier + UTMESS('F', "MACR_CARA_POUTRE", "GROUP_MA et NOEUD incoherents") + __catp2=__cageo for i in range(0,len(l_group_ma_bord)): # --- TRANSFORMATION DES GROUP_MA EN GROUP_NO SUR-LESQUELS @@ -606,7 +602,7 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # --------------------------------------------------------------- __nomapi=CREA_MAILLAGE(MAILLAGE=__nomlma, - REPERE=_F(TABLE=nomres, + REPERE=_F(TABLE=__cageo, NOM_ORIG='CDG', GROUP_MA=l_group_ma[i], ), ) @@ -787,30 +783,35 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, # --- CALCUL DE LA CONSTANTE DE TORSION : # --------------------------------- - nomres=POST_ELEM(reuse=nomres, - MODELE=__nomoth, - CHAM_MATER=__chmath, - CARA_POUTRE=_F(CARA_GEOM=nomres, - LAPL_PHI=__tempe1, - RT=__rt, - GROUP_MA=l_group_ma[i], - OPTION='CARA_TORSION' ), ) + __catp1=POST_ELEM(MODELE=__nomoth, + CHAM_MATER=__chmath, + CARA_POUTRE=_F(CARA_GEOM=__catp2, + LAPL_PHI=__tempe1, + RT=__rt, + GROUP_MA=l_group_ma[i], + OPTION='CARA_TORSION' ), ) # --- CALCUL DES COEFFICIENTS DE CISAILLEMENT ET DES COORDONNEES DU # --- CENTRE DE CISAILLEMENT/TORSION : # ------------------------------ - nomres=POST_ELEM(reuse=nomres, - MODELE=__nomoth, - CHAM_MATER=__chmath, - CARA_POUTRE=_F(CARA_GEOM=nomres, - LAPL_PHI_Y=__tempe2, - LAPL_PHI_Z=__tempe3, - GROUP_MA=l_group_ma[i], - LONGUEUR=args['LONGUEUR'], - MATERIAU=args['MATERIAU'], - LIAISON =args['LIAISON'], - OPTION='CARA_CISAILLEMENT' ), ) + __catp2=POST_ELEM(MODELE=__nomoth, + CHAM_MATER=__chmath, + CARA_POUTRE=_F(CARA_GEOM=__catp1, + LAPL_PHI_Y=__tempe2, + LAPL_PHI_Z=__tempe3, + GROUP_MA=l_group_ma[i], + LONGUEUR=args['LONGUEUR'], + MATERIAU=args['MATERIAU'], + LIAISON =args['LIAISON'], + OPTION='CARA_CISAILLEMENT' ), ) + IMPR_TABLE(TABLE=__catp2) + dprod = __catp2.EXTR_TABLE().dict_CREA_TABLE() + nomres = CREA_TABLE(**dprod) + if not GROUP_MA_BORD : + nomres=POST_ELEM(MODELE=__nomamo, + CHAM_MATER=__nomama, + CARA_GEOM=mfact ) IMPR_TABLE(TABLE=nomres) return ier diff --git a/Aster/Cata/cataSTA8/Macro/macr_lign_coupe_ops.py b/Aster/Cata/cataSTA8/Macro/macr_lign_coupe_ops.py index aa2648c8..a2912b6e 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_lign_coupe_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_lign_coupe_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_lign_coupe_ops Macro DATE 24/05/2005 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macr_lign_coupe_ops Macro DATE 09/05/2006 AUTEUR GALENNE E.GALENNE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -26,6 +26,7 @@ def crea_mail_lig_coup(dimension,lignes,groups): import os,sys,copy + from Utilitai.Utmess import UTMESS # construction du maillage au format Aster des segments de lignes de coupe @@ -113,15 +114,17 @@ def crea_mail_lig_coup(dimension,lignes,groups): ######################################################################## -def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE,**args): +def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM, + MODELE,GROUP_MA,MAILLE,**args): """ Ecriture de la macro MACR_LIGN_COUPE """ import os,string,types from Accas import _F from Noyau.N_utils import AsType - import aster + import aster,math from Utilitai.UniteAster import UniteAster + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -131,9 +134,9 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, PROJ_CHAMP =self.get_cmd('PROJ_CHAMP') POST_RELEVE_T =self.get_cmd('POST_RELEVE_T') CREA_TABLE =self.get_cmd('CREA_TABLE') + MODI_REPERE =self.get_cmd('MODI_REPERE') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) nomresu=RESULTAT.nom @@ -141,9 +144,7 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, n_modele=string.strip(l_modele[0]) if n_modele=='' : if MODELE==None: - ier=ier+1 - self.cr.fatal(" nom du modele absent dans le concept resultat "+nomresu) - return ier + UTMESS('F', "MACR_LIGN_COUPE", "nom du modele absent dans le concept resultat "+nomresu) else : n_modele=MODELE.nom l_mailla=aster.getvectjev(n_modele.ljust(8)+'.MODELE .NOMA') n_mailla=string.strip(l_mailla[0]) @@ -160,9 +161,7 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, elif m['GROUP_NO']!=None : ngrno=m['GROUP_NO'].ljust(8).upper() if ngrno not in collgrno.keys() : - ier=ier+1 - self.cr.fatal(" le group_no "+ngrno+" n est pas dans le maillage "+n_mailla) - return ier + UTMESS('F', "MACR_LIGN_COUPE", "le group_no "+ngrno+" n est pas dans le maillage "+n_mailla) grpn=collgrno[ngrno] l_coor_group=[ngrno,] for node in grpn: @@ -170,9 +169,7 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, groups.append(l_coor_group) if minidim!=dime: - ier=ier+1 - self.cr.fatal(" dimensions de maillage et de coordonnees incoherentes") - return ier + UTMESS('F', "MACR_LIGN_COUPE", "dimensions de maillage et de coordonnees incoherentes") # Création du maillage des NB_POINTS segments entre COOR_ORIG et COOR_EXTR @@ -214,12 +211,124 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, PHENOMENE='THERMIQUE', MODELISATION='PLAN',),); + motscles={} + motscles['VIS_A_VIS']=[] + if GROUP_MA != None : + motscles['VIS_A_VIS'].append(_F(GROUP_MA_1 = GROUP_MA,TOUT_2='OUI'),) + if MAILLE != None : + motscles['VIS_A_VIS'].append(_F(MAILLE_1 = MAILLE,TOUT_2='OUI'),) + __recou=PROJ_CHAMP(METHODE='ELEM', RESULTAT=RESULTAT, MODELE_1=self.jdc.current_context[n_modele], MODELE_2=__mocou, TYPE_CHAM='NOEU', - NOM_CHAM=NOM_CHAM,); + NOM_CHAM=NOM_CHAM, **motscles); + + + + # Expression des contraintes aux noeuds ou des déplacements dans le repere local + __remodr=__recou + if AsType(RESULTAT).__name__ in ('evol_elas','evol_noli') : + for m in LIGN_COUPE : + if m['VECT_Y'] !=None : + epsi=0.00000001 + # --- determination des angles nautiques + cx1=m['COOR_EXTR'][0]-m['COOR_ORIG'][0] + cx2=m['COOR_EXTR'][1]-m['COOR_ORIG'][1] + cx3=0. + if dime == 3: + cx3=m['COOR_EXTR'][2]-m['COOR_ORIG'][2] + nvx=math.sqrt(cx1**2+cx2**2+cx3**2) + if abs(nvx) < epsi: + UTMESS('F', "MACR_LIGN_COUPE", "definition incorrecte de la ligne de coupe") + cx1=cx1/nvx + cx2=cx2/nvx + cx3=cx3/nvx + cy1=m['VECT_Y'][0] + cy2=m['VECT_Y'][1] + cy3=0. + if dime == 3: + cy3=m['VECT_Y'][2] + nvy=math.sqrt(cy1**2+cy2**2+cy3**2) + if abs(nvy) < epsi: + UTMESS('F', "MACR_LIGN_COUPE", "valeurs incorrectes pour VECT_Y") + cy1=cy1/nvy + cy2=cy2/nvy + cy3=cy3/nvy + if ((abs(cx1-cy1) epsi : + cz1=cx2*cy3-cx3*cy2 + cz2=cx3*cy1-cx1*cy3 + cz3=cx1*cy2-cx2*cy1 + nvz=math.sqrt(cz1**2+cz2**2+cz3**2) + cz1=cz1/nvz + cz2=cz2/nvz + cz3=cz3/nvz + cy1=cz2*cx3-cz3*cx2 + cy2=cz3*cx1-cz1*cx3 + cy3=cz1*cx2-cz2*cx1 + nvy=math.sqrt(cy1**2+cy2**2+cy3**2) + cy1=cy1/nvy + cy2=cy2/nvy + cy3=cy3/nvy + UTMESS('A','MACR_LIGN_COUPE','LE VECTEUR Y N EST PAS ORTHOGONAL A LA LIGNE DE COUPE' + +'LE VECTEUR Y A ETE ORTHONORMALISE POUR VOUS') + UTMESS('A','MACR_LIGN_COUPE','VECT_Y=('+str(cy1)+','+str(cy2)+','+str(cy3)+')') + else: + cz1=cx2*cy3-cx3*cy2 + cz2=cx3*cy1-cx1*cy3 + cz3=cx1*cy2-cx2*cy1 + beta=0. + gamma=0. + if dime ==2: + alpha = math.atan2(cx2,cx1) + else: + if cx1**2 + cx2**2 > epsi : + alpha=math.atan2(cx2,cx1) + beta=math.asin(cx3) + gamma=math.atan2(cy3,cz3) + else: + alpha=math.atan2(cy1,cz1) + beta=math.asin(cx3) + gamma=0. + alpha=alpha*180/math.pi + beta=beta*180/math.pi + gamma=gamma*180/math.pi + + # --- MODI_REPERE + motscles={} + motscles['MODI_CHAM']=[] + motscles['DEFI_REPERE']=[] + # MODI_CHAM + if NOM_CHAM == 'DEPL': + if dime == 2: + LCMP=['DX','DY'] + TYPE_CHAM='VECT_2D' + elif dime ==3 : + LCMP=['DX','DY','DZ'] + TYPE_CHAM='VECT_3D' + motscles['MODI_CHAM'].append(_F(NOM_CHAM=NOM_CHAM,NOM_CMP=LCMP,TYPE_CHAM=TYPE_CHAM),) + elif NOM_CHAM in ('SIGM_NOEU_DEPL','SIGM_NOEU_SIEF','SIGM_NOEU_ELGA','SIGM_NOEU_COQU'): + if dime == 2: + LCMP=['SIXX','SIYY','SIZZ','SIXY'] + TYPE_CHAM='TENS_2D' + elif dime ==3 : + LCMP=['SIXX','SIYY','SIZZ','SIXY','SIXZ','SIYZ'] + TYPE_CHAM='TENS_3D' + motscles['MODI_CHAM'].append(_F(NOM_CHAM=NOM_CHAM,NOM_CMP=LCMP,TYPE_CHAM=TYPE_CHAM),) + # DEFI_REPERE + ANGL_NAUT=[] + ANGL_NAUT.append(alpha) + if dime ==3: + ANGL_NAUT.append(beta) + ANGL_NAUT.append(gamma) + motscles['DEFI_REPERE'].append(_F(REPERE='UTILISATEUR',ANGL_NAUT=ANGL_NAUT),) + __remodr=MODI_REPERE(RESULTAT=__recou,**motscles) + + # Production d'une table pour toutes les lignes de coupe @@ -236,7 +345,7 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,NOM_CHAM,MODELE, if m['INTITULE'] !=None : intitl=m['INTITULE'] else : intitl=groupe mcACTION.append( _F(INTITULE = intitl, - RESULTAT = __recou, + RESULTAT = __remodr, GROUP_NO = groupe, NOM_CHAM = NOM_CHAM, TOUT_CMP = 'OUI', diff --git a/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py b/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py index 17597e90..40e793af 100644 --- a/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macr_recal_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_recal_ops Macro DATE 14/03/2005 AUTEUR DURAND C.DURAND +#@ MODIF macr_recal_ops Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,35 +22,40 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, ITER_MAXI, RESI_GLOB_RELA,UNITE_RESU,PARA_DIFF_FINI, - GRAPHIQUE, **args ): + GRAPHIQUE, INFO, **args ): """Macro commande réalisant le recalage de modèles Aster""", # Initialisation du compteur d'erreurs ier=0 - # On essaie d'importer Numeric -> ERREUR FATALE - try: - import Numeric - except ImportError: - ier=ier+1 - self.cr.fatal(" Le module Numeric de Python n'a pu etre chargé") - return ier - # On essaie d'importer Gnuplot -> PAS DE GRAPHIQUE - try: - import Gnuplot - gnuplot=1 - except ImportError: - gnuplot=0 - import string - import copy - import types + + import string, copy, types, Numeric import Macro from Cata import cata from Cata.cata import DEFI_LIST_REEL - from Macro.recal import gestion,transforme_list_Num,calcul_F,graphique + from Macro.recal import gestion,transforme_list_Num,calcul_F from Macro import reca_message from Macro import reca_algo from Macro import reca_interp + from Macro import reca_graphique + + try: + from Utilitai.Utmess import UTMESS + except ImportError: + def UTMESS(code,sprg,texte): + fmt='\n <%s> <%s> %s\n\n' + print fmt % (code,sprg,texte) + + # Test du mot-clé GRAPHIQUE + if GRAPHIQUE: + dGRAPHIQUE=GRAPHIQUE[0].cree_dict_valeurs(GRAPHIQUE[0].mc_liste) + if dGRAPHIQUE.has_key('FORMAT') and dGRAPHIQUE['FORMAT'] == 'GNUPLOT': + # On essaie d'importer Gnuplot -> PAS DE GRAPHIQUE + try: + import Gnuplot + except ImportError: + GRAPHIQUE == None + UTMESS('A','MACR_RECAL',"Le logiciel Gnuplot ou le module python Gnuplot.py n'est pas disponible. On desactive l'affichage des courbes.") + # La macro compte pour 1 dans l'execution des commandes - #self.icmd=1 self.set_icmd(1) self.DeclareOut('nomres',self.sd) @@ -68,10 +73,7 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, #_____________________________________________ texte_erreur = gestion(UNITE_ESCL,LIST_PARA,RESU_CALC,RESU_EXP,POIDS,GRAPHIQUE,UNITE_RESU) if (texte_erreur != ""): - ier=ier+1 - texte_erreur=' '+texte_erreur - self.cr.fatal(texte_erreur) - return ier + UTMESS('F', "MACR_RECAL", texte_erreur) #_____________________________________________ # @@ -132,16 +134,19 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, A = Dim.adim_sensi(A) residu = reca_algo.test_convergence(gradient_init,erreur,A,s) Mess.affiche_result_iter(iter,J,val,residu,Act,UNITE_RESU) - if (gnuplot): - if (GRAPHIQUE): + + # Affichage des courbes + if GRAPHIQUE: GRAPHE_UL_OUT=GRAPHIQUE['UNITE'] interactif=(GRAPHIQUE['INTERACTIF']=='OUI') - graphique(L_F,RESU_EXP,RESU_CALC,iter,GRAPHE_UL_OUT,interactif) + reca_graphique.graphique(GRAPHIQUE['FORMAT'],L_F,RESU_EXP,RESU_CALC,iter,GRAPHE_UL_OUT,interactif) + # On teste un manque de temps CPU restant,temps_iter,err=reca_algo.temps_CPU(self,restant,temps_iter) if (err==1): ier=ier+1 return ier + #_____________________________________________ # # FIN DES ITERATIONS diff --git a/Aster/Cata/cataSTA8/Macro/macro_elas_mult_ops.py b/Aster/Cata/cataSTA8/Macro/macro_elas_mult_ops.py index 38d6e265..bdd9e7df 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_elas_mult_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_elas_mult_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_elas_mult_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macro_elas_mult_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -29,6 +29,7 @@ def macro_elas_mult_ops(self,MODELE,CHAM_MATER,CARA_ELEM,NUME_DDL, ier=0 import types from Accas import _F + from Utilitai.Utmess import UTMESS # On met le mot cle NUME_DDL dans une variable locale pour le proteger numeddl=NUME_DDL @@ -44,7 +45,6 @@ def macro_elas_mult_ops(self,MODELE,CHAM_MATER,CARA_ELEM,NUME_DDL, CALC_ELEM =self.get_cmd('CALC_ELEM') CALC_NO =self.get_cmd('CALC_NO') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) # Le concept sortant (de type mult_elas ou fourier_elas) est nommé @@ -62,9 +62,7 @@ def macro_elas_mult_ops(self,MODELE,CHAM_MATER,CARA_ELEM,NUME_DDL, ifour=1 # mot clé MODE_FOURIER présent sous CAS_CHARGE tyresu = 'FOURIER_ELAS' if ielas==1 and ifour==1: - ier=ier+1 - self.cr.fatal(""" On ne peut avoir a la fois NOM_CAS et MODE_FOURIER""") - return ier + UTMESS('F', "MACRO_ELAS_MULT", "On ne peut avoir a la fois NOM_CAS et MODE_FOURIER") if (numeddl in self.sdprods) or (numeddl==None): # Si le concept numeddl est dans self.sdprods ou n est pas nommé diff --git a/Aster/Cata/cataSTA8/Macro/macro_matr_ajou_ops.py b/Aster/Cata/cataSTA8/Macro/macro_matr_ajou_ops.py index 34595923..c3b17003 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_matr_ajou_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_matr_ajou_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_matr_ajou_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macro_matr_ajou_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -29,6 +29,8 @@ def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATI """ from Accas import _F import types + import aster + from Utilitai.Utmess import UTMESS ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -44,17 +46,17 @@ def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATI self.set_icmd(1) if len(FLUIDE)==1 : - print ' tout le domaine fluide specifie dans GROUP_MA_INTERF et GROUP_MA_FLUIDE' - print ' sera affecte par la masse volumique RHO = ',FLUIDE['RHO'] + message= ' tout le domaine fluide specifie dans GROUP_MA_INTERF et GROUP_MA_FLUIDE \n' + message=message+ ' sera affecte par la masse volumique RHO = '+str(FLUIDE['RHO'])+' \n' + aster.affiche('MESSAGE',message) if FLUIDE['GROUP_MA']!=None : - print ' cas fluide simple : le group_ma dans lequel vous affectez la masse' - print 'volumique RHO doit etre la reunion de GROUP_MA_INTERF et GROUP_MA_FLUIDE.' + message= ' cas fluide simple : le group_ma dans lequel vous affectez la masse \n' + message=message+ 'volumique RHO doit etre la reunion de GROUP_MA_INTERF et GROUP_MA_FLUIDE. \n' + aster.affiche('MESSAGE',message) else : for flu in FLUIDE : if flu['GROUP_MA']==None : - self.cr.fatal(" cas fluides multiples : precisez le GROUP_MA dans lequel vous affectez la masse volumique RHO.") - ier=ier+1 - return ier + UTMESS('F', "MACRO_MATR_AJOU", "cas fluides multiples : precisez le GROUP_MA dans lequel vous affectez la masse volumique RHO") IOCFLU=len(FLUIDE) @@ -109,9 +111,7 @@ def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATI if DDL['GROUP_NO']!=None : mfact=_F(GROUP_NO=DDL['GROUP_NO'],TEMP=DDL['PRES_FLUIDE']) affimp.append(mfact) if nflui==0: - self.cr.fatal(" PRES_FLUIDE obligatoire une fois") - ier=ier+1 - return ier + UTMESS('F', "MACRO_MATR_AJOU", "PRES_FLUIDE obligatoire une fois") __CHARGE=AFFE_CHAR_THER( MODELE = __NOMFLU, TEMP_IMPO = affimp ) @@ -190,9 +190,7 @@ def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATI if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA elif DEPL_IMPO !=None : mostcles['CHAM_NO'] =DEPL_IMPO else : - self.cr.fatal(" amortissement ajoute sur modele generalise non encore implante") - ier=ier+1 - return ier + UTMESS('F', "MACRO_MATR_AJOU", "amortissement ajoute sur modele generalise non encore implante") AMORAJ = CALC_MATR_AJOU(MODELE_FLUIDE = __NOMFLU, MODELE_INTERFACE = __NOMINT, @@ -214,9 +212,7 @@ def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATI if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA elif DEPL_IMPO !=None : mostcles['CHAM_NO'] =DEPL_IMPO else : - self.cr.fatal(" rigidite ajoutee sur modele generalise non encore implante") - ier=ier+1 - return ier + UTMESS('F', "MACRO_MATR_AJOU", "rigidite ajoute sur modele generalise non encore implante") RIGIAJ = CALC_MATR_AJOU(MODELE_FLUIDE = __NOMFLU, MODELE_INTERFACE = __NOMINT, diff --git a/Aster/Cata/cataSTA8/Macro/macro_matr_asse_ops.py b/Aster/Cata/cataSTA8/Macro/macro_matr_asse_ops.py index 4c7f99f1..60374b6c 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_matr_asse_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_matr_asse_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_matr_asse_ops Macro DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +#@ MODIF macro_matr_asse_ops Macro DATE 30/01/2006 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -26,6 +26,7 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, Ecriture de la macro MACRO_MATR_ASSE """ ier=0 + from Utilitai.Utmess import UTMESS # On met le mot cle NUME_DDL dans une variable locale pour le proteger numeddl=NUME_DDL @@ -35,7 +36,6 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, NUME_DDL =self.get_cmd('NUME_DDL') ASSE_MATRICE =self.get_cmd('ASSE_MATRICE') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) if SOLVEUR: @@ -46,36 +46,28 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, else: renum='RCMK' if renum not in ('SANS','RCMK'): - ier=ier+1 - self.cr.fatal(" Avec methode LDLT, RENUM doit etre SANS ou RCMK.") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "Avec methode LDLT, RENUM doit etre SANS ou RCMK") elif methode=='MULT_FRONT': if SOLVEUR['RENUM']: renum=SOLVEUR['RENUM'] else: renum='MDA' if renum not in ('MDA','MD','METIS'): - ier=ier+1 - self.cr.fatal(" Avec methode MULT_FRONT, RENUM doit etre MDA, MD ou RCMK.") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "Avec methode MULT_FRONT, RENUM doit etre MDA, MD ou RCMK") elif methode=='MUMPS': if SOLVEUR['RENUM']: renum=SOLVEUR['RENUM'] else: renum='SANS' if renum not in ('SANS',): - ier=ier+1 - self.cr.fatal(" Avec methode MUMPS, RENUM doit etre SANS.") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "Avec methode MUMPS, RENUM doit etre SANS") elif methode=='GCPC': if SOLVEUR['RENUM']: renum=SOLVEUR['RENUM'] else: renum='SANS' if renum not in ('SANS','RCMK'): - ier=ier+1 - self.cr.fatal(" Avec methode GCPC, RENUM doit etre SANS ou RCMK.") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "Avec methode GCPC, RENUM doit etre SANS ou RCMK") else: methode='MULT_FRONT' renum ='MDA' @@ -108,18 +100,13 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, option=m['OPTION'] if iocc == 1 and lnume == 1 and option not in ('RIGI_MECA','RIGI_MECA_LAGR', 'RIGI_THER','RIGI_ACOU') : - ier=ier+1 - self.cr.fatal(" UNE DES OPTIONS DOIT ETRE RIGI_MECA OU RIGI_THER OU RIGI_ACOU OU RIGI_MECA_LAGR") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "UNE DES OPTIONS DOIT ETRE RIGI_MECA OU RIGI_THER OU RIGI_ACOU OU RIGI_MECA_LAGR") motscles={'OPTION':option} if option == 'AMOR_MECA': if (not lrigel or not lmasel): - ier=ier+1 - self.cr.fatal(""" POUR CALCULER AMOR_MECA, IL FAUT AVOIR CALCULE - RIGI_MECA ET MASS_MECA AUPARAVANT (DANS LE MEME APPEL)""") - return ier + UTMESS('F', "MACRO_MATR_ASSE", "POUR CALCULER AMOR_MECA, IL FAUT AVOIR CALCULE RIGI_MECA ET MASS_MECA AUPARAVANT (DANS LE MEME APPEL)") if CHAM_MATER != None: motscles['RIGI_MECA'] =rigel motscles['MASS_MECA'] =masel @@ -141,23 +128,22 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, try : motscles['PROPAGATION'] =m['PROPAGATION'] except IndexError : pass - print motscles - __a=CALC_MATR_ELEM(MODELE=MODELE,**motscles) + _a=CALC_MATR_ELEM(MODELE=MODELE,**motscles) if option == 'RIGI_MECA': - rigel = __a + rigel = _a lrigel = 1 if option == 'MASS_MECA': - masel = __a + masel = _a lmasel = 1 if lnume and option in ('RIGI_MECA','RIGI_THER','RIGI_ACOU','RIGI_MECA_LAGR'): self.DeclareOut('num',numeddl) # On peut passer des mots cles egaux a None. Ils sont ignores - num=NUME_DDL(MATR_RIGI=__a,METHODE=methode,RENUM=renum) + num=NUME_DDL(MATR_RIGI=_a,METHODE=methode,RENUM=renum) else: num=numeddl self.DeclareOut('mm',m['MATRICE']) - mm=ASSE_MATRICE(MATR_ELEM=__a,NUME_DDL=num) + mm=ASSE_MATRICE(MATR_ELEM=_a,NUME_DDL=num) return ier diff --git a/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py b/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py index 0d5d360b..54af120b 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_miss_3d_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_miss_3d_ops Macro DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA +#@ MODIF macro_miss_3d_ops Macro DATE 20/03/2006 AUTEUR ACBHHCD G.DEVESA # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,12 +22,15 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, UNITE_MODELE_SOL,UNITE_RESU_IMPE, - PROJET,REPERTOIRE,OPTION,VERSION,**args): + PROJET,REPERTOIRE,OPTION,VERSION, + UNITE_RESU_FORC,PARAMETRE,**args): """ Ecriture de la macro MACRO_MISS_3D """ import types from Accas import _F + from Utilitai.Utmess import UTMESS + from types import TupleType, ListType ier=0 # On importe les definitions des commandes a utiliser dans la macro @@ -35,7 +38,6 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, DEFI_FICHIER =self.get_cmd('DEFI_FICHIER') EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER) @@ -60,7 +62,32 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, popti = 'fort.'+str(UNITE_OPTI_MISS) pdsol = 'fort.'+str(UNITE_MODELE_SOL) primp = 'fort.'+str(UNITE_RESU_IMPE) - + prfor = 'fort.'+str(UNITE_RESU_FORC) + + l_para = ['FREQ_MIN','FREQ_MAX','FREQ_PAS','Z0','RFIC','SURF', + 'FICH_RESU_IMPE','FICH_RESU_FORC','DREF','ALGO', + 'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF', + 'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB', + 'LFREQ_LISTE'] + if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None: + if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']: + UTMESS('F', 'MACRO_MISS3D', 'Longueur de LFREQ_LISTE incorrecte') + if PARAMETRE != None and PARAMETRE['CONTR_NB'] != None: + if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']: + UTMESS('F', 'MACRO_MISS3D', 'Longueur de CONTR_LISTE incorrecte') + + dpara = {} + for cle in l_para: + if cle in ('SURF', 'ISSF'): + dpara[cle] = 'NON' + else: + dpara[cle] = '0' + if PARAMETRE != None and PARAMETRE[cle] != None: + if type(PARAMETRE[cle]) in (TupleType, ListType): + dpara[cle] = ' '.join([str(s) for s in PARAMETRE[cle]]) + else: + dpara[cle] = str(PARAMETRE[cle]) + EXEC_LOGICIEL( LOGICIEL=miss3d, ARGUMENT=(_F(NOM_PARA=MODUL2), @@ -70,7 +97,29 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, _F(NOM_PARA=popti), _F(NOM_PARA=pdsol), _F(NOM_PARA=primp), - _F(NOM_PARA=VERSION), ), + _F(NOM_PARA=VERSION), + _F(NOM_PARA=dpara['FREQ_MIN']), + _F(NOM_PARA=dpara['FREQ_MAX']), + _F(NOM_PARA=dpara['FREQ_PAS']), + _F(NOM_PARA=dpara['Z0']), + _F(NOM_PARA=dpara['SURF']), + _F(NOM_PARA=dpara['RFIC']), + _F(NOM_PARA=dpara['FICH_RESU_IMPE']), + _F(NOM_PARA=dpara['FICH_RESU_FORC']), + _F(NOM_PARA=dpara['DREF']), + _F(NOM_PARA=dpara['ALGO']), + _F(NOM_PARA=dpara['OFFSET_MAX']), + _F(NOM_PARA=dpara['OFFSET_NB']), + _F(NOM_PARA=dpara['SPEC_MAX']), + _F(NOM_PARA=dpara['SPEC_NB']), + _F(NOM_PARA=dpara['ISSF']), + _F(NOM_PARA=dpara['FICH_POST_TRAI']), + _F(NOM_PARA=dpara['CONTR_NB']), + _F(NOM_PARA=dpara['CONTR_LISTE']), + _F(NOM_PARA=dpara['LFREQ_NB']), + _F(NOM_PARA=dpara['LFREQ_LISTE']), + _F(NOM_PARA=prfor), + ), ) return ier diff --git a/Aster/Cata/cataSTA8/Macro/macro_mode_meca_ops.py b/Aster/Cata/cataSTA8/Macro/macro_mode_meca_ops.py index efbd4db3..a24af1f6 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_mode_meca_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_mode_meca_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_mode_meca_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macro_mode_meca_ops Macro DATE 14/06/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -40,7 +40,6 @@ def macro_mode_meca_ops(self,MATR_A,MATR_B,INFO,METHODE,OPTION,CALC_FREQ, EXTR_MODE =self.get_cmd('EXTR_MODE') DETRUIRE =self.get_cmd('DETRUIRE') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) nompro=None diff --git a/Aster/Cata/cataSTA8/Macro/macro_proj_base_ops.py b/Aster/Cata/cataSTA8/Macro/macro_proj_base_ops.py index edfee029..589dde01 100644 --- a/Aster/Cata/cataSTA8/Macro/macro_proj_base_ops.py +++ b/Aster/Cata/cataSTA8/Macro/macro_proj_base_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macro_proj_base_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF macro_proj_base_ops Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -25,12 +25,12 @@ def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,* Ecriture de la macro MACRO_PROJ_BASE """ ier=0 + from Utilitai.Utmess import UTMESS # On importe les definitions des commandes a utiliser dans la macro NUME_DDL_GENE =self.get_cmd('NUME_DDL_GENE') PROJ_MATR_BASE =self.get_cmd('PROJ_MATR_BASE') PROJ_VECT_BASE =self.get_cmd('PROJ_VECT_BASE') # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) _num=NUME_DDL_GENE(BASE=BASE,NB_VECT=NB_VECT,STOCKAGE=PROFIL) @@ -40,9 +40,7 @@ def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,* if m['MATR_ASSE'] : motscles['MATR_ASSE'] =m['MATR_ASSE'] elif m['MATR_ASSE_GENE']: motscles['MATR_ASSE_GENE']=m['MATR_ASSE_GENE'] else: - ier=ier+1 - self.cr.fatal(" MATR_ASSE et MATR_ASSE_GENE absents") - return ier + UTMESS('F', "MACRO_PROJ_BASE", "MATR_ASSE et MATR_ASSE_GENE absents") self.DeclareOut('mm',m['MATRICE']) mm=PROJ_MATR_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles) @@ -53,9 +51,7 @@ def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,* if v['VECT_ASSE'] : motscles['VECT_ASSE'] =v['VECT_ASSE'] elif v['VECT_ASSE_GENE']: motscles['VECT_ASSE_GENE']=v['VECT_ASSE_GENE'] else: - ier=ier+1 - self.cr.fatal(" MATR_ASSE et MATR_ASSE_GENE absents") - return ier + UTMESS('F', "MACRO_PROJ_BASE", "MATR_ASSE et MATR_ASSE_GENE absents") motscles['TYPE_VECT']=v['TYPE_VECT'] self.DeclareOut('vv',v['VECTEUR']) vv=PROJ_VECT_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles) diff --git a/Aster/Cata/cataSTA8/Macro/reca_algo.py b/Aster/Cata/cataSTA8/Macro/reca_algo.py index 65e02bd1..429de101 100644 --- a/Aster/Cata/cataSTA8/Macro/reca_algo.py +++ b/Aster/Cata/cataSTA8/Macro/reca_algo.py @@ -1,4 +1,4 @@ -#@ MODIF reca_algo Macro DATE 14/03/2005 AUTEUR DURAND C.DURAND +#@ MODIF reca_algo Macro DATE 31/01/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -21,12 +21,13 @@ import Numeric -from Numeric import take +from Numeric import take, size import copy,os import LinearAlgebra from Cata.cata import INFO_EXEC_ASTER from Cata.cata import DETRUIRE from Accas import _F +from Utilitai.Utmess import UTMESS def calcul_gradient(A,erreur): @@ -132,7 +133,7 @@ def temps_CPU(self,restant_old,temps_iter_old): temps_iter=(temps_iter_old + (restant_old-restant))/2. if ((temps_iter>0.96*restant)or(restant<0.)): err=1 - self.cr.fatal(" Arret de MACR_RECAL par manque de temps CPU") + UTMESS('F', "MACR_RECAL", 'Arret de MACR_RECAL par manque de temps CPU') return restant,temps_iter,err @@ -174,8 +175,15 @@ def Levenberg_bornes(self,val,Dim,val_init,borne_inf,borne_sup,A,erreur,l,ul_out dval[i]=borne_inf[i]-val[i] s[i]=-1. if (len(I)!=0): - # xi=-Q(I)-1.(d(I)+Q(I,Act).dval(Act)) - xi=-LinearAlgebra.solve_linear_equations(take(take(Q,I),I,1),(take(d,I)+Numeric.dot(take(take(Q,I),Act,1),take(Dim.adim(dval),Act)))) + # xi=-Q(I)-1.(d(I)+Q(I,Act).dval(Act)) + t_QI = take(Q, I) + t_tQI_Act = take(t_QI, Act, 1) + t_adim_Act = take(Dim.adim(dval), Act) + if size(t_tQI_Act) > 0 and size(t_adim_Act) > 0: + smemb = take(d, I) + Numeric.dot(t_tQI_Act, t_adim_Act) + else: + smemb = take(d, I) + xi=-LinearAlgebra.solve_linear_equations(take(t_QI, I, 1), smemb) for i in Numeric.arange(len(I)): dval[I[i]]=xi[i]*val_init[I[i]] if (len(Act)!=0): @@ -203,7 +211,7 @@ def Levenberg_bornes(self,val,Dim,val_init,borne_inf,borne_sup,A,erreur,l,ul_out res.write('\n\nval_ini= '+Numeric.array2string(val_init,array_output=1,separator=',')) res.write('\n\nborne_inf= '+Numeric.array2string(borne_inf,array_output=1,separator=',')) res.write('\n\nborne_sup= '+Numeric.array2string(borne_sup,array_output=1,separator=',')) - self.cr.fatal(" Erreur dans l'algorithme de bornes de MACR_RECAL") + UTMESS('F', "MACR_RECAL", "Erreur dans l'algorithme de bornes de MACR_RECAL") return newval=copy.copy(val+dval) return newval,s,l,Act diff --git a/Aster/Cata/cataSTA8/Macro/reca_interp.py b/Aster/Cata/cataSTA8/Macro/reca_interp.py index 00ad62d2..0d04cc21 100644 --- a/Aster/Cata/cataSTA8/Macro/reca_interp.py +++ b/Aster/Cata/cataSTA8/Macro/reca_interp.py @@ -1,4 +1,4 @@ -#@ MODIF reca_interp Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF reca_interp Macro DATE 05/09/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,6 +22,7 @@ import os import Numeric import Macro from Macro.recal import calcul_F +from Utilitai.Utmess import UTMESS #=========================================================================================== @@ -121,12 +122,12 @@ class Sim_exp : try: L_J[i] = L_J[i]/L_J_init[i] except ZeroDivisionError: + message= 'Problème de division par zéro dans la normalisation de la fonctionnelle.\n' + message=message+'Une des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine : %.2f \n'%L_J_init fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') - fic.write('\n Problème de division par zéro dans la normalisation de la fonctionnelle.') - fic.write('\n Une des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine :'+ str(L_J_init)) + fic.write(message) fic.close() - self.cr.fatal(" Problème de division par zéro dans la normalisation de la fonctionnelle.\nUne des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine :"+ str(L_J_init)) - return + UTMESS('F', "MACR_RECAL", message) J = Numeric.sum(L_J) J = J/len(L_J) @@ -155,12 +156,12 @@ class Sim_exp : try: L_A[j][i,k] = -1*(F_interp[j][i] - F_perturbe_interp[j][i])/h except ZeroDivisionError: + message= 'Probleme de division par zéro dans le calcul de la matrice de sensiblité\n ' + message=message+'Le parametre '+para[k]+'est nul ou plus petit que la précision machine \n' fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') - fic.write('\n Probleme de division par zéro dans le calcul de la matrice de sensiblité') - fic.write('\n Le parametre '+para[k]+'est nul ou plus petit que la précision machine') - fic.close() - self.cr.fatal(" Probleme de division par zéro dans le calcul de la matrice de sensiblité.\n Le parametre "+para[k]+"est nul ou plus petit que la précision machine") - return + fic.write(message) + fic.close() + UTMESS('F', "MACR_RECAL", message) #on construit la matrice de sensiblité sous forme d'un tab num dim =[] for i in range(len(L_A)): diff --git a/Aster/Cata/cataSTA8/Macro/recal.py b/Aster/Cata/cataSTA8/Macro/recal.py index 591614c8..2e43b088 100644 --- a/Aster/Cata/cataSTA8/Macro/recal.py +++ b/Aster/Cata/cataSTA8/Macro/recal.py @@ -1,4 +1,4 @@ -#@ MODIF recal Macro DATE 14/03/2005 AUTEUR DURAND C.DURAND +#@ MODIF recal Macro DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -21,16 +21,25 @@ -import string -import copy -import Numeric -import types -import Gnuplot +import string, copy, Numeric, types +# import Gnuplot import Cata -from Cata.cata import INCLUDE,DETRUIRE +from Cata.cata import INCLUDE, DETRUIRE, FIN, EXEC_LOGICIEL, DEFI_FICHIER, IMPR_TABLE, LIRE_TABLE, INFO_EXEC_ASTER, EXTR_TABLE +from Utilitai.Utmess import UTMESS from Accas import _F -import os +import os, aster, cPickle, sys + +# try: +# import Gnuplot +# except: pass + +try: + from Utilitai.Utmess import UTMESS +except ImportError: + def UTMESS(code,sprg,texte): + fmt='\n <%s> <%s> %s\n\n' + print fmt % (code,sprg,texte) #_____________________________________________ @@ -39,7 +48,7 @@ import os #_____________________________________________ -# Transforme les donneés entrées par l'utilsateur en tableau Numeric +# Transforme les données entrées par l'utilisateur en tableau Numeric def transforme_list_Num(parametres,res_exp): dim_para = len(parametres) #donne le nb de parametres val_para = Numeric.zeros(dim_para,Numeric.Float) @@ -157,8 +166,8 @@ def calcul_F(self,UL,para,val,reponses): Fichier_Resu.append('Lrep=[]'+'\n') for i in range(len(reponses)): Fichier_Resu.append('t'+str(reponses[i][0])+'='+str(reponses[i][0])+'.EXTR_TABLE()'+'\n') - Fichier_Resu.append('F = '+'t'+str(reponses[i][0])+'.Array('+"'"+str(reponses[i][1])+"'"+','+"'"+str(reponses[i][2])+"'"+')'+'\n') - Fichier_Resu.append('Lrep.append(F)'+'\n') + Fichier_Resu.append('_F_ = '+'t'+str(reponses[i][0])+'.Array('+"'"+str(reponses[i][1])+"'"+','+"'"+str(reponses[i][2])+"'"+')'+'\n') + Fichier_Resu.append('Lrep.append(_F_)'+'\n') #ouverture du fichier fort.3 et mise a jour de celui ci x=open('fort.'+str(UL),'w') @@ -178,37 +187,6 @@ def calcul_F(self,UL,para,val,reponses): x.close() return self.g_context['Lrep'] -#_____________________________________________ -# -# IMPRESSIONS GRAPHIQUES -#_____________________________________________ - -def graphique(L_F,res_exp,reponses,iter,UL_out,interactif): - graphe=[] - impr=Gnuplot.Gnuplot() - Gnuplot.GnuplotOpts.prefer_inline_data=1 - impr('set data style linespoints') - impr('set grid') - impr('set pointsize 2.') - impr('set terminal postscript color') - impr('set output "fort.'+str(UL_out)+'"') - for i in range(len(L_F)): - if interactif: - graphe.append(Gnuplot.Gnuplot(persist=0)) - graphe[i]('set data style linespoints') - graphe[i]('set grid') - graphe[i]('set pointsize 2.') - graphe[i].xlabel(reponses[i][1]) - graphe[i].ylabel(reponses[i][2]) - graphe[i].title(reponses[i][0]+' Iteration '+str(iter)) - graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) - graphe[i]('pause 5') -# - impr.xlabel(reponses[i][1]) - impr.ylabel(reponses[i][2]) - impr.title(reponses[i][0]+' Iteration '+str(iter)) - impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) - #_____________________________________________ # diff --git a/Aster/Cata/cataSTA8/Macro/stanley_ops.py b/Aster/Cata/cataSTA8/Macro/stanley_ops.py index a38f2808..51af193a 100644 --- a/Aster/Cata/cataSTA8/Macro/stanley_ops.py +++ b/Aster/Cata/cataSTA8/Macro/stanley_ops.py @@ -1,4 +1,4 @@ -#@ MODIF stanley_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF stanley_ops Macro DATE 15/05/2006 AUTEUR ASSIRE A.ASSIRE # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -20,7 +20,7 @@ -def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): +def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,DISPLAY,**args): """ Importation et lancement de Stanley @@ -31,19 +31,32 @@ def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): from Accas import _F from Noyau.N_utils import AsType from Utilitai.Utmess import UTMESS + from Utilitai.UniteAster import UniteAster ier=0 # La macro compte pour 1 dans la numerotation des commandes - self.icmd=1 + self.set_icmd(1) + # Redefinition eventuelle du DISPLAY + if DISPLAY: + UTMESS('I','STANLEY', 'Redefinition du DISPLAY vers : ' + DISPLAY) + os.environ['DISPLAY'] = DISPLAY + + # Mode validation de la non-regression + if args['UNITE_VALIDATION']: + UTMESS('I','STANLEY', 'Stanley fonctionne en mode validation de non-regresion') + UL = UniteAster() + FICHIER_VALID=UL.Nom(args['UNITE_VALIDATION']) + else: + FICHIER_VALID=None # On ne lance Stanley que si la variable DISPLAY est définie if os.environ.has_key('DISPLAY'): import Stanley from Stanley import stanley - + if (RESULTAT and MODELE and CHAM_MATER): _MAIL = aster.getvectjev( string.ljust(MODELE.nom,8) + '.MODELE .NOMA ' ) _MAIL = string.strip(_MAIL[0]) @@ -53,7 +66,7 @@ def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): else: stanley.STANLEY(RESULTAT,MAILLAGE,MODELE,CHAM_MATER,None) else: - stanley.PRE_STANLEY() + stanley.PRE_STANLEY(FICHIER_VALID) else: UTMESS('A','STANLEY', @@ -61,6 +74,11 @@ def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): STANLEY ne pourra pas fonctionner. On l'ignore. Si vous etes en Interactif, cochez le bouton Suivi Interactif - dans ASTK.""") + dans ASTK. + + Vous pouvez également préciser votre DISPLAY dans les arguments + de la commande STANLEY : + + STANLEY(DISPLAY='adresse_ip:0.0');""") return ier diff --git a/Aster/Cata/cataSTA8/Macro/test_fichier_ops.py b/Aster/Cata/cataSTA8/Macro/test_fichier_ops.py index 5f4ac116..35d34da1 100644 --- a/Aster/Cata/cataSTA8/Macro/test_fichier_ops.py +++ b/Aster/Cata/cataSTA8/Macro/test_fichier_ops.py @@ -1,4 +1,4 @@ -#@ MODIF test_fichier_ops Macro DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF test_fichier_ops Macro DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -18,18 +18,22 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +import sys +import os.path +import re +from math import floor, log10 +from types import StringType +import md5 + #------------------------------------------------------------------------------- -def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args): +def test_fichier_ops(self, 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 le md5sum. """ - import aster - from Accas import _F - ier=0 + ier = 0 # La macro compte pour 1 dans la numerotation des commandes - #self.icmd=1 self.set_icmd(1) # On importe les definitions des commandes a utiliser dans la macro @@ -38,14 +42,14 @@ def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, ** 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 + + import aster + from Accas import _F from Macro.test_fichier_ops import md5file + from Utilitai.Utmess import UTMESS # vérifie la syntaxe des expressions régulières fournies - l_regexp=[] + l_regexp = [] if args['EXPR_IGNORE']: if type(args['EXPR_IGNORE']) is StringType: lexp = [args['EXPR_IGNORE']] @@ -53,54 +57,51 @@ def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, ** lexp = args['EXPR_IGNORE'] for exp in lexp: try: - obj=re.compile(exp) + obj = re.compile(exp) except re.error, s: - print ' '+str(s)+' pour "'+exp+'"' + UTMESS('F', 'TEST_FICHIER', + ' %s pour %s' % (str(s), repr(exp))) else: l_regexp.append(exp) - if len(l_regexp) < len(lexp): - self.cr.fatal(' Expression régulière invalide (voir )') - - is_ok=0 + is_ok = 0 # 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 + if tinfo__['ETAT_UNITE', 1].find('OUVERT')>-1: + UTMESS('A', 'TEST_FICHIER', + "LE FICHIER N'A PAS ETE FERME :\n%s" % 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 + if ier == 4: + texte_erreur = 'Fichier inexistant : '+FICHIER else: - texte_erreur='Erreur dans md5file, code retour = '+str(ier) - texte_erreur=' '+texte_erreur + 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 + aster.affiche('MESSAGE', ' %-20s : %32s\n' % ('REFERENCE', VALE_K)) if mdsum == VALE_K: - is_ok=1 + is_ok = 1 # produit le TEST_TABLE - tab1__=CREA_TABLE(LISTE=(_F(PARA='TEST', - TYPE_K='K8', - LISTE_K='VALEUR ',), - _F(PARA='BOOLEEN', - LISTE_I=is_ok,),),) + 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(UNITE=UNITE, - TABLE=tab1__, + TEST_TABLE(TABLE=tab1__, FILTRE=_F(NOM_PARA='TEST', VALE_K='VALEUR ',), NOM_PARA='BOOLEEN', @@ -110,8 +111,7 @@ def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, ** REFERENCE=args['REFERENCE'], VERSION=args['VERSION'],) else: - TEST_TABLE(UNITE=UNITE, - TABLE=tab1__, + TEST_TABLE(TABLE=tab1__, FILTRE=_F(NOM_PARA='TEST', VALE_K='VALEUR ',), NOM_PARA='BOOLEEN', @@ -126,7 +126,33 @@ def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, ** #------------------------------------------------------------------------------- -def md5file(fich,nbch,epsi,regexp_ignore=[],info=0): +def sign(x): + return int(x/abs(x)) + +def _round(x, n, exp): + v = x * 10**(-exp+n) + val = int(v + sign(x)*0.4999) + return val + +def entier_ini(x, nbch, exp=None): + #if exp is None: + #exp = int(floor(log10(abs(x)))) + val = _round(x, nbch-1, exp) + return val, exp-nbch+1 + +def entier_triple(x, nbch, exp_epsi): + #if abs(x) <= 10**exp_epsi: + #return '0' + y = _round(x * 10**(-exp_epsi), 0, 0) * 10**exp_epsi + exp = int(floor(log10(abs(y)))) + z1, e1 = entier_ini(y, nbch+2, exp) + z2, e2 = entier_ini(z1 * 10**e1, nbch+1, exp) + z3, e3 = entier_ini(z2 * 10**e2, nbch, exp) + return '%sE%d' % (z3, e3) + +#------------------------------------------------------------------------------- +def md5file(fich, nbch, epsi, + regexp_ignore=[], info=0, output=None, format_func=entier_triple): """ Cette methode retourne le md5sum d'un fichier en arrondissant les nombres reels a la valeur significative. @@ -136,60 +162,116 @@ def md5file(fich,nbch,epsi,regexp_ignore=[],info=0): epsi : valeur en deca de laquelle on prend 0 regexp_ignore : liste d'expressions régulières permettant d'ignorer certaines lignes + output : pour rediriger l'interprétation du fichier (INFO=2) + dans le fichier de nom `output`, + info : on affiche le résumé si info>0 + format_func : on peut préciser une autre fonction pour formatter + les réels... OUT : code retour : 0 si ok, >0 sinon md5sum - """ - import os.path - import re - import string - import math - import md5 + + NE PAS AJOUTER D'IMPORT QUI RENDRAIT CETTE FONCTION + INUTILISABLE EN DEHORS DE CODE_ASTER. + """ + if output != None: + try: + sys.stdout = open(output, 'w') + except IOError, msg: + print "Erreur d'écriture sur %s : %s" % (output, msg) + # 1 Mo 10 Mo 100 Mo # v0 2.6 s 20.4 s 196.6 s # v1 2.0 s 10.3 s 94.9 s (pas de distinction entier/reel) # remplacer le try/except par if re.search(...), 80% plus lent + # v2 10.7 s if not os.path.isfile(fich): return 4, '' - f=open(fich,'r') - format_float='%'+str(nbch+7)+'.'+str(nbch)+'g' - m=md5.new() - i=0 + f = open(fich,'r') + m = md5.new() + exp_epsi = int(floor(log10(abs(epsi)))) + i = 0 for ligne in f: - i=i+1 - if info>=2: - print 'LIGNE',i, - keep=True + i = i+1 + if info >= 2: + print 'LIGNE', i, + keep = True for exp in regexp_ignore: - if re.search(exp,ligne): - keep=False - if info>=2: + if re.search(exp, ligne): + keep = False + if info >= 2: print ' >>>>>>>>>> IGNOREE <<<<<<<<<<', break if keep: - #r=string.split(ligne) # découpe des nombres collés : 1.34E-142-1.233D+09 - r=string.split(re.sub('([0-9]+)\-','\g<1> -',ligne)) + ligne = re.sub('([0-9]+)\-', '\g<1> -', ligne) + # conversion des DOUBLE fortran en 'E' + ligne = re.sub('([0-9]+)[dD]([\-\+]{0,1}[0-9]+)', '\g<1>E\g<2>', ligne) + r = ligne.split() for x in r: try: - if abs(float(x))=2: + s = x + if info >= 2: print (' %'+str(nbch+7)+'s') % s, m.update(s) - if info>=2: + if info >= 2: print f.close() - md5sum=m.hexdigest() - if info>=1: - form=' %-20s : %32s' - print form % ('Fichier',fich) - print form % ('Nombre de lignes',str(i)) - print form % ('Format des reels',format_float) - print form % ('Epsilon',str(epsi)) - print form % ('md5sum',md5sum) + md5sum = m.hexdigest() + + affich_resu = True + if info >= 1: + while affich_resu: + form = ' %-20s : %32s' + print form % ('Fichier', fich) + print form % ('Nombre de lignes', str(i)) + #print form % ('Format des reels',format_float) + print form % ('Nombre de chiffres', str(nbch)) + print form % ('Epsilon', str(epsi)) + print form % ('md5sum', md5sum) + if output == None: + affich_resu = False + else: + sys.stdout = sys.__stdout__ + output = None return 0, md5sum + + +#------------------------------------------------------------------------------- +if __name__ == '__main__': + from optparse import OptionParser, OptionGroup + + p = OptionParser(usage='usage: %s a_tester [options]' % sys.argv[0]) + p.add_option('-n', '--nbch', + action='store', dest='nbch', type='int', default=6, + help='nombre de chiffres significatifs') + p.add_option('-e', '--epsilon', + action='store', dest='epsi', type='float', default=1.e-14, + help='epsilon en dessous duquel on considère les nombres nuls') + p.add_option('--expr_ignore', + action='store', dest='exp', type='string', + help='expression régulière à ignorer') + p.add_option('-o', '--output', + action='store', dest='output', type='string', default='output.txt', + help='fichier de sortie') + opts, args = p.parse_args() + + if len(args)<1: + p.print_usage() + sys.exit(1) + if opts.exp is None: + exp = [] + else: + exp = [opts.exp] + + print 'Lignes retenues dans %s' % opts.output + iret = md5file(args[0], opts.nbch, opts.epsi, + regexp_ignore=exp, info=2, output=opts.output) + diff --git a/Aster/Cata/cataSTA8/__init__.py b/Aster/Cata/cataSTA8/__init__.py index 0acf34ea..d35c1bb0 100644 --- a/Aster/Cata/cataSTA8/__init__.py +++ b/Aster/Cata/cataSTA8/__init__.py @@ -1,6 +1,9 @@ import os,sys import prefs import sys -rep_macro = os.path.join(prefs.REPINI,'Cata/cataSTA8') +rep_macro = os.path.join(prefs.REPINI,'Cata/cataSTA81') sys.path.insert(0,rep_macro) from cata import * +from math import ceil +from Extensions import param2 +pi=param2.Variable('pi',pi) diff --git a/Aster/Cata/cataSTA8/cata.py b/Aster/Cata/cataSTA8/cata.py index 24fbd7f4..10543f58 100755 --- a/Aster/Cata/cataSTA8/cata.py +++ b/Aster/Cata/cataSTA8/cata.py @@ -1,4 +1,4 @@ -#& MODIF ENTETE DATE 12/05/2005 AUTEUR DURAND C.DURAND +#& MODIF ENTETE DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -22,24 +22,23 @@ import Accas from Accas import * from Accas import _F import string -import types +from types import TupleType, ListType, StringType, InstanceType import Numeric from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10 from math import sqrt,pi import ops -# pas d'import aster, Utilitai... pour ne pas gener eficas -from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe - try: import aster except: pass -# -__version__="$Name: $" -__Id__="$Id: cata_STA8.py,v 1.2 2005/06/03 10:22:14 eficas Exp $" -# +__version__="$Name: BR_dev_mars_06 $" +__Id__="$Id: cata.py,v 1.3.6.3 2006/05/29 07:47:37 cchris Exp $" + +EnumTypes = (ListType, TupleType) + +# ----------------------------------------------------------------------------- JdC = JDC_CATA(code='ASTER', execmodul=None, regles = (AU_MOINS_UN('DEBUT','POURSUITE'), @@ -51,16 +50,46 @@ class entier (ASSD): ASSD.__init__(self,**args) self.valeur=valeur + def __adapt__(self,validator): + if validator.name == "list": + #validateur liste,cardinalité + return (self,) + elif validator.name == "type": + #validateur type + return validator.adapt(self.valeur or 0) + else: + #validateur into et valid + return self + +class reel(ASSD): + def __init__(self,valeur=None,**args): + ASSD.__init__(self,**args) + self.valeur=valeur + + def __call__(self): + return self.valeur + + def __adapt__(self,validator): + if validator.name == "list": + #validateur liste,cardinalité + return (self,) + elif validator.name == "type": + #validateur type + return validator.adapt(self.valeur or 0.) + else: + #validateur into et valid + return self + + +# ----------------------------------------------------------------------------- # Type geometriques class no (GEOM):pass class grno(GEOM):pass class ma (GEOM):pass class grma(GEOM):pass - - +# ----------------------------------------------------------------------------- # Autres - class cabl_precont (ASSD):pass class cara_elem (ASSD):pass class cham_mater (ASSD):pass @@ -77,7 +106,6 @@ class fond_fiss (ASSD):pass class interf_dyna_clas(ASSD):pass class interspfact (ASSD):pass class listis_sdaster (ASSD):pass -class mater_sdaster (ASSD):pass class melasflu_sdaster(ASSD):pass class nume_ddl_sdaster(ASSD):pass class nume_ddl_gene (ASSD):pass @@ -88,13 +116,15 @@ class surface_sdaster (ASSD):pass class tran_gene (ASSD):pass class type_flui_stru (ASSD):pass +# ----------------------------------------------------------------------------- # modeles : -#-------------------------------- class modele_sdaster (ASSD):pass class modele_gene (ASSD): def LIST_SOUS_STRUCT(self) : """ retourne la liste des sous structures du modele generalise la liste des macro-elements sous-jacents""" + if self.par_lot(): + raise Accas.AsException("Erreur dans modele_gene.LIST_SOUS_STRUCT en PAR_LOT='OUI'") nommodgen=self.get_name() ncham=nommodgen+(8-len(nommodgen))*' ' ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO') @@ -102,55 +132,89 @@ class modele_gene (ASSD): return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))] def LIST_LIAIS_STRUCT(self) : """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme : - [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ + [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ + if self.par_lot() : + raise Accas.AsException("Erreur dans modele_gene.LIST_LIAIS_STRUCT en PAR_LOT='OUI'") nommodgen=self.get_name() ncham=nommodgen+(8-len(nommodgen))*' ' lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF') return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf] +# ----------------------------------------------------------------------------- +# materiau +class mater_sdaster(ASSD): + def RCVALE(self, phenomene, nompar=(), valpar=(), nomres=(), stop='F'): + """Appel à la routine fortran RCVALE pour récupérer les valeurs des + propriétés du matériau. + """ + if self.par_lot() : + raise Accas.AsException("Erreur dans mater.RCVALE en PAR_LOT='OUI'") + from Utilitai.Utmess import UTMESS + # vérification des arguments + if not nompar in EnumTypes: + nompar = tuple(nompar) + if not valpar in EnumTypes: + valpar = tuple(valpar) + if not nomres in EnumTypes: + nomres = tuple(nomres) + if len(nompar) != len(valpar): + UTMESS('F', 'RCVALE', """Arguments incohérents : + Nom des paramètres : %s + Valeur des paramètres : %s""" \ + % (', '.join(nompar), ', '.join([repr(v) for v in valpar]))) + if len(nomres) < 1: + UTMESS('F', 'RCVALE', 'Argument invalide : "nomres" vide !') + # appel à l'interface Python/C + return aster.rcvale(self.nom, phenomene, nompar, valpar, nomres, stop) + +# ----------------------------------------------------------------------------- # macro-elements : -#-------------------------------- class macr_elem_dyna (ASSD): def NBRE_MODES(self) : """ retourne le nombre de modes total, dynamiques et d'interface """ + if self.par_lot() : + raise Accas.AsException("Erreur dans macr_elem_dyna.NBRE_MODES en PAR_LOT='OUI'") nommacr=self.get_name() ncham=nommacr+(8-len(nommacr))*' ' ncham=nommacr+(8-len(nommacr))*' '+'.MAEL' - nombase=aster.getvectjev(ncham+(19-len(ncham))*' '+'.REFE')[0] + nombase=aster.getvectjev(ncham+'_REFE')[0] nbmode=Numeric.array(aster.getvectjev(nombase[0:8]+(19-len(nombase[0:8]))*' '+'.UTIL')) nbmodtot=nbmode[1] nbmoddyn=nbmode[2] nbmodint=nbmode[3] return [nbmodtot,nbmoddyn,nbmodint] - + def EXTR_MATR_GENE(self,typmat) : - """ retourne les valeurs des matrices generalisees reelles + """ retourne les valeurs des matrices generalisees reelles dans un format Numerical Array typmat='MASS_GENE' pour obtenir la matrice de masse generalisee typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee Attributs retourne - self.valeurs : Numeric.array contenant les valeurs """ + if self.par_lot() : + raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'") nommacr=self.get_name() if (typmat=='MASS_GENE') : - ext='.MAEL.MASS ' - elif (typmat=='RIGI_GENE') : - ext='.MAEL.RAID ' - elif (typmat=='AMOR_GENE') : - ext='.MAEL.AMOR ' + ext='.MAEL_MASS' + elif (typmat=='RIGI_GENE') : + ext='.MAEL_RAID' + elif (typmat=='AMOR_GENE') : + ext='.MAEL_AMOR' else: raise Accas.AsException("Le type de la matrice est incorrect") ncham=nommacr+(8-len(nommacr))*' '+ext - desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + print ncham + desc=Numeric.array(aster.getvectjev(ncham+'_DESC')) -# On teste si le DESC du vecteur existe + # On teste si le DESC du vecteur existe if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster") - tmp=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) + tmp=Numeric.array(aster.getvectjev(ncham+'_VALE')) matrice=Numeric.zeros([desc[1],desc[1]],Numeric.Float) for j in range(desc[1]+1): for i in range(j): @@ -158,46 +222,48 @@ class macr_elem_dyna (ASSD): matrice[j-1,i]=tmp[k] matrice=(matrice+Numeric.transpose(matrice)) for i in range(desc[1]): - matrice[i,i]=0.5*matrice[i,i] + matrice[i,i]=0.5*matrice[i,i] return matrice def RECU_MATR_GENE(self,typmat,matrice) : - """ envoie les valeurs d'un Numerical Array dans des matrices generalisees + """ envoie les valeurs d'un Numerical Array dans des matrices generalisees reelles definies dans jeveux typmat='MASS_GENE' pour obtenir la matrice de masse generalisee typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee Attributs ne retourne rien """ + if self.par_lot() : + raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'") from Utilitai.Utmess import UTMESS -# avertissement generique + # avertissement generique UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') nommacr=self.get_name() if (typmat=='MASS_GENE') : - ext='.MAEL.MASS ' - elif (typmat=='RIGI_GENE') : - ext='.MAEL.RAID ' - elif (typmat=='AMOR_GENE') : - ext='.MAEL.AMOR ' + ext='.MAEL_MASS' + elif (typmat=='RIGI_GENE') : + ext='.MAEL_RAID' + elif (typmat=='AMOR_GENE') : + ext='.MAEL_AMOR' else: raise Accas.AsException("Le type de la matrice \ est incorrect") ncham=nommacr+(8-len(nommacr))*' '+ext - desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + desc=Numeric.array(aster.getvectjev(ncham+'_DESC')) -# On teste si le DESC de la matrice jeveux existe + # On teste si le DESC de la matrice jeveux existe if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster") Numeric.asarray(matrice) -# On teste si la matrice python est de dimension 2 - if (len(Numeric.shape(matrice))<>2): + # On teste si la matrice python est de dimension 2 + if (len(Numeric.shape(matrice))<>2): raise Accas.AsException("La dimension de la matrice \ est incorrecte") -# On teste si les tailles de la matrice jeveux et python sont identiques + # On teste si les tailles de la matrice jeveux et python sont identiques if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : raise Accas.AsException("La dimension de la matrice \ est incorrecte") @@ -207,27 +273,32 @@ class macr_elem_dyna (ASSD): for i in range(j): k=j*(j-1)/2+i tmp[k]=matrice[j-1,i] - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple(( + aster.putvectjev(ncham+'_VALE',len(tmp),tuple(( range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) return - class macr_elem_stat (ASSD):pass +# ----------------------------------------------------------------------------- # liste : -#-------------------------------- class listr8_sdaster (ASSD): - def Valeurs(self) : - """ - Retourne la liste des valeurs : [val1, ..., valN] - """ - vale=string.ljust(self.get_name(),19)+'.VALE' - return list(aster.getvectjev(vale)) + def Valeurs(self) : + """ + Retourne la liste des valeurs : [val1, ..., valN] + """ + if not self.par_lot(): + vale='%-19s.VALE' % self.get_name() + t_vale = aster.getvectjev(vale) + if t_vale == None: + UTMESS('F', 'listr8.Valeurs', "Objet '%s' inexistant" % vale) + return list(t_vale) + else: + raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'") +# ----------------------------------------------------------------------------- # post-traitement : -#-------------------------------- class post_comp_cham_el : def __init__(self,valeurs,maille=None,point=None,sous_point=None) : self.valeurs=valeurs @@ -240,76 +311,48 @@ class post_comp_cham_no : self.valeurs=valeurs self.noeud=noeud +# ----------------------------------------------------------------------------- # maillage : -#-------------------------------- class maillage_sdaster(ASSD): def LIST_GROUP_NO(self) : - """ retourne la liste des groupes de noeuds sous la forme : + """ retourne la liste des groupes de noeuds sous la forme : [ (gno1, nb noeuds gno1), ...] """ - nommail=self.get_name() - dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO") - return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] + if self.par_lot() : + raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'") + nommail=self.get_name() + dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO") + return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] def LIST_GROUP_MA(self) : - """ retourne la liste des groupes de mailles sous la forme : + """ retourne la liste des groupes de mailles sous la forme : [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ - nommail=self.get_name() - nommail=nommail.ljust(8) - ngpma=[] - ltyma =aster.getvectjev("&CATA.TM.NOMTM") - catama=aster.getcolljev("&CATA.TM.TMDIM") - dic_gpma=aster.getcolljev(nommail+".GROUPEMA") - dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")] - for grp in dic_gpma.keys(): - dim=max([dimama[ma-1] for ma in dic_gpma[grp]]) - ngpma.append((grp.strip(),len(dic_gpma[grp]),dim)) - return ngpma - + if self.par_lot() : + raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'") + nommail=self.get_name() + nommail=nommail.ljust(8) + ngpma=[] + ltyma =aster.getvectjev("&CATA.TM.NOMTM") + catama=aster.getcolljev("&CATA.TM.TMDIM") + dic_gpma=aster.getcolljev(nommail+".GROUPEMA") + dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")] + for grp in dic_gpma.keys(): + dim=max([dimama[ma-1] for ma in dic_gpma[grp]]) + ngpma.append((grp.strip(),len(dic_gpma[grp]),dim)) + return ngpma class squelette (maillage_sdaster):pass -# cham_gd_sdaster (carte_sdaster,cham_no_sdaster,cham_elem_sdaster) -#-------------------------------- - +# ----------------------------------------------------------------------------- +# champ_gd/carte class cham_gd_sdaster(ASSD):pass - -# cham_gd_sdaster/carte_sdaster : -#-------------------------------- class carte_sdaster (cham_gd_sdaster):pass -class carte_dbel_r (carte_sdaster):pass -class carte_depl_c (carte_sdaster):pass -class carte_depl_f (carte_sdaster):pass -class carte_depl_r (carte_sdaster):pass -class carte_durt_r (carte_sdaster):pass -class carte_ener_r (carte_sdaster):pass -class carte_epsi_r (carte_sdaster):pass -class carte_erreur (carte_sdaster):pass -class carte_flux_r (carte_sdaster):pass -class carte_g_depl_r (carte_sdaster):pass -class carte_geom_r (carte_sdaster):pass -class carte_hydr_r (carte_sdaster):pass -class carte_inst_r (carte_sdaster):pass -class carte_inte_r (carte_sdaster):pass -class carte_irra_r (carte_sdaster):pass -class carte_neut_f (carte_sdaster):pass -class carte_neut_r (carte_sdaster):pass -class carte_pres_r (carte_sdaster):pass -class carte_sief_r (carte_sdaster):pass -class carte_sour_r (carte_sdaster):pass -class carte_temp_f (carte_sdaster):pass -class carte_temp_r (carte_sdaster):pass -class carte_var2_r (carte_sdaster):pass -class carte_vnor_c (carte_sdaster):pass -class carte_corr_r (carte_sdaster):pass - - -# cham_gd_sdaster/cham_elem_sdaster : -#-------------------------------- -class cham_elem_sdaster(cham_gd_sdaster): +# ----------------------------------------------------------------------------- +# cham_elem +class cham_elem(cham_gd_sdaster): def EXTR_COMP(self,comp,lgma,topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de mailles lgma avec eventuellement l'info de la + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de mailles lgma avec eventuellement l'info de la topologie si topo>0. Si lgma est une liste vide, c'est equivalent a un TOUT='OUI' dans les commandes aster Attributs retourne @@ -318,139 +361,92 @@ class cham_elem_sdaster(cham_gd_sdaster): - self.maille : numero de mailles - self.point : numero du point dans la maille - self.sous_point : numero du sous point dans la maille """ - - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) - - valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) - point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) - sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) - else : - maille=None - point=None - sous_point=None - - aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) - - return post_comp_cham_el(valeurs,maille,point,sous_point) - -class cham_elem_crit_r(cham_elem_sdaster):pass -class cham_elem_dbel_r(cham_elem_sdaster):pass -class cham_elem_depl_c(cham_elem_sdaster):pass -class cham_elem_depl_f(cham_elem_sdaster):pass -class cham_elem_depl_r(cham_elem_sdaster):pass -class cham_elem_dommag(cham_elem_sdaster):pass -class cham_elem_durt_r(cham_elem_sdaster):pass -class cham_elem_ener_r(cham_elem_sdaster):pass -class cham_elem_epsi_c(cham_elem_sdaster):pass -class cham_elem_epsi_r(cham_elem_sdaster):pass -class cham_elem_erreur(cham_elem_sdaster):pass -class cham_elem_facy_r(cham_elem_sdaster):pass -class cham_elem_flux_r(cham_elem_sdaster):pass -class cham_elem_g_depl(cham_elem_sdaster):pass -class cham_elem_geom_r(cham_elem_sdaster):pass -class cham_elem_hydr_r(cham_elem_sdaster):pass -class cham_elem_inst_r(cham_elem_sdaster):pass -class cham_elem_inte_r(cham_elem_sdaster):pass -class cham_elem_irra_r(cham_elem_sdaster):pass -class cham_elem_neut_f(cham_elem_sdaster):pass -class cham_elem_neut_r(cham_elem_sdaster):pass -class cham_elem_pres_r(cham_elem_sdaster):pass -class cham_elem_sief_c(cham_elem_sdaster):pass -class cham_elem_sief_r(cham_elem_sdaster):pass -class cham_elem_sour_r(cham_elem_sdaster):pass -class cham_elem_spma_r(cham_elem_sdaster):pass -class cham_elem_temp_f(cham_elem_sdaster):pass -class cham_elem_temp_r(cham_elem_sdaster):pass -class cham_elem_vari_r(cham_elem_sdaster):pass -class cham_elem_vnor_c(cham_elem_sdaster):pass - - -# cham_gd/cham_no : -#-------------------------------- -class cham_no_sdaster(cham_gd_sdaster): + if self.par_lot() : + raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'") + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' + + aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) + + valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) + point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) + sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) + else : + maille=None + point=None + sous_point=None + + aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) + + return post_comp_cham_el(valeurs,maille,point,sous_point) + +# ----------------------------------------------------------------------------- +# cham_no : +class cham_no_sdaster(cham_gd_sdaster): def EXTR_COMP(self,comp,lgno,topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de noeuds lgno avec eventuellement l'info de la + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de noeuds lgno avec eventuellement l'info de la topologie si topo>0. Si lgno est une liste vide, c'est equivalent a un TOUT='OUI' dans les commandes aster Attributs retourne - self.valeurs : Numeric.array contenant les valeurs Si on a demande la topo (i.e. self.topo = 1) : - self.noeud : numero de noeud """ - - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) - - valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) - else : - noeud=None - - aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) - - return post_comp_cham_no(valeurs,noeud) - -class cham_no_dbel_r (cham_no_sdaster):pass -class cham_no_depl_c (cham_no_sdaster):pass -class cham_no_depl_f (cham_no_sdaster):pass -class cham_no_depl_r (cham_no_sdaster):pass -class cham_no_durt_r (cham_no_sdaster):pass -class cham_no_ener_r (cham_no_sdaster):pass -class cham_no_epsi_r (cham_no_sdaster):pass -class cham_no_erreur (cham_no_sdaster):pass -class cham_no_facy_r (cham_no_sdaster):pass -class cham_no_flux_r (cham_no_sdaster):pass -class cham_no_g_depl_r (cham_no_sdaster):pass -class cham_no_geom_r (cham_no_sdaster):pass -class cham_no_hydr_r (cham_no_sdaster):pass -class cham_no_inst_r (cham_no_sdaster):pass -class cham_no_inte_r (cham_no_sdaster):pass -class cham_no_irra_r (cham_no_sdaster):pass -class cham_no_neut_f (cham_no_sdaster):pass -class cham_no_neut_r (cham_no_sdaster):pass -class cham_no_pres_c (cham_no_sdaster):pass -class cham_no_pres_r (cham_no_sdaster):pass -class cham_no_sief_r (cham_no_sdaster):pass -class cham_no_sour_r (cham_no_sdaster):pass -class cham_no_spma_r (cham_no_sdaster):pass -class cham_no_temp_c (cham_no_sdaster):pass -class cham_no_temp_f (cham_no_sdaster):pass -class cham_no_temp_r (cham_no_sdaster):pass -class cham_no_vanl_r (cham_no_sdaster):pass -class cham_no_var2_r (cham_no_sdaster):pass -class cham_no_vnor_c (cham_no_sdaster):pass + if self.par_lot() : + raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'") + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' -# resultat_sdaster : (evol_sdaster,mode_stat,mode_meca) -#-------------------------------------- + aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) + + valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) + else : + noeud=None + + aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) + + return post_comp_cham_no(valeurs,noeud) +# ----------------------------------------------------------------------------- +# resultat_sdaster : (evol_sdaster,mode_stat,mode_meca) class resultat_sdaster(ASSD): def LIST_CHAMPS (self) : + if self.par_lot() : + raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'") return aster.GetResu(self.get_name(), "CHAMPS") def LIST_NOM_CMP (self) : + if self.par_lot() : + raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'") return aster.GetResu(self.get_name(), "COMPOSANTES") def LIST_VARI_ACCES (self) : + if self.par_lot() : + raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'") return aster.GetResu(self.get_name(), "VARI_ACCES") def LIST_PARA (self) : + if self.par_lot() : + raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'") return aster.GetResu(self.get_name(), "PARAMETRES") +class resultat_jeveux(resultat_sdaster): + """Classe permettant d'accéder à un resultat jeveux qui n'a pas d'ASSD associée, + c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" + def __init__(self,nom_jeveux): + self.nom=nom_jeveux + +# ----------------------------------------------------------------------------- class acou_harmo (resultat_sdaster):pass class base_modale (resultat_sdaster):pass class comb_fourier (resultat_sdaster):pass @@ -465,8 +461,8 @@ class mode_gene (resultat_sdaster):pass class mult_elas (resultat_sdaster):pass class theta_geom (resultat_sdaster):pass +# ----------------------------------------------------------------------------- # resultat_sdaster/evol_sdaster : -#-------------------------------- class evol_sdaster(resultat_sdaster):pass class evol_char(evol_sdaster):pass class evol_elas(evol_sdaster):pass @@ -474,22 +470,22 @@ class evol_noli(evol_sdaster):pass class evol_ther(evol_sdaster):pass class evol_varc(evol_sdaster):pass +# ----------------------------------------------------------------------------- # resultat_sdaster/mode_stat : -#-------------------------------- class mode_stat(resultat_sdaster):pass class mode_stat_depl(mode_stat):pass class mode_stat_acce(mode_stat):pass class mode_stat_forc(mode_stat):pass +# ----------------------------------------------------------------------------- # resultat_sdaster/mode_meca : -#-------------------------------- class mode_meca(resultat_sdaster):pass class mode_meca_c(mode_meca):pass +# ----------------------------------------------------------------------------- # types 'fonction' : -#-------------------------------- class fonction_class(ASSD): def Valeurs(self):pass def Parametres(self): @@ -498,7 +494,20 @@ class fonction_class(ASSD): le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. """ - if hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : + if not self.par_lot(): + TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } + objev = '%-19s.PROL' % self.get_name() + prol = aster.getvectjev(objev) + if prol == None: + UTMESS('F', 'fonction.Parametres', "Objet '%s' inexistant" % objev) + dico={ + 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], + 'NOM_PARA' : string.strip(prol[2][0:16]), + 'NOM_RESU' : string.strip(prol[3][0:16]), + 'PROL_DROITE' : TypeProl[prol[4][1]], + 'PROL_GAUCHE' : TypeProl[prol[4][0]], + } + elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : dico={ 'INTERPOL' : self.etape['INTERPOL'], 'NOM_PARA' : self.etape['NOM_PARA'], @@ -506,36 +515,32 @@ class fonction_class(ASSD): 'PROL_DROITE' : self.etape['PROL_DROITE'], 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'], } - if type(dico['INTERPOL'])==types.TupleType : + if type(dico['INTERPOL'])==TupleType : dico['INTERPOL']=list(dico['INTERPOL']) - elif type(dico['INTERPOL'])==types.StringType : + elif type(dico['INTERPOL'])==StringType : dico['INTERPOL']=[dico['INTERPOL'],] if len(dico['INTERPOL'])==1 : dico['INTERPOL']=dico['INTERPOL']*2 - else : - 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' : string.strip(prol[2][0:16]), - 'NOM_RESU' : string.strip(prol[3][0:16]), - 'PROL_DROITE' : TypeProl[prol[4][1]], - 'PROL_GAUCHE' : TypeProl[prol[4][0]], - } + else: + raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'") return dico def Trace(self,FORMAT='TABLEAU',**kargs): """Tracé d'une fonction""" + if self.par_lot() : + raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'") from Utilitai.Graph import Graph gr=Graph() gr.AjoutCourbe(Val=self.Valeurs(), Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']]) gr.Trace(FORMAT=FORMAT,**kargs) + class fonction_sdaster(fonction_class): def convert(self,arg='real'): """ Retourne un objet de la classe t_fonction représentation python de la fonction """ + from Utilitai.t_fonction import t_fonction,t_fonction_c if arg=='real' : return t_fonction(self.Absc(), self.Ordo(), @@ -548,7 +553,17 @@ class fonction_sdaster(fonction_class): """ Retourne deux listes de valeurs : abscisses et ordonnees """ - if hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : + if not self.par_lot(): + vale = '%-19s.VALE' % self.get_name() + lbl = aster.getvectjev(vale) + if lbl == None: + UTMESS('F', 'fonction.Valeurs', "Objet '%s' inexistant" % vale) + lbl = list(lbl) + dim=len(lbl)/2 + lx=lbl[0:dim] + ly=lbl[dim:2*dim] + return [lx,ly] + elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : if self.etape['VALE']!=None: lbl=list(self.etape['VALE']) dim=len(lbl) @@ -558,12 +573,7 @@ class fonction_sdaster(fonction_class): elif self.etape['VALE_PARA']!=None: return [self.etape['VALE_PARA'].Valeurs(),self.etape['VALE_FONC'].Valeurs()] 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] + raise Accas.AsException("Erreur dans fonction.Valeurs en PAR_LOT='OUI'") def Absc(self): """Retourne la liste des abscisses""" return self.Valeurs()[0] @@ -573,17 +583,21 @@ class fonction_sdaster(fonction_class): def __call__(self,val): ### Pour EFICAS : substitution de l'instance de classe ### parametre par sa valeur - if type(val)==types.InstanceType : val=val.valeur + if type(val)==InstanceType: + val=val.valeur ### __ff=self.convert() return __ff(val) + class para_sensi(fonction_sdaster): pass + class fonction_c(fonction_class): def convert(self,arg='real'): """ Retourne un objet de la classe t_fonction ou t_fonction_c, représentation python de la fonction complexe """ + from Utilitai.t_fonction import t_fonction,t_fonction_c if arg=='real' : return t_fonction(self.Absc(), self.Ordo(), @@ -611,16 +625,12 @@ class fonction_c(fonction_class): """ Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. """ - 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)) + if not self.par_lot(): + vale = '%-19s.VALE' % self.get_name() + lbl = aster.getvectjev(vale) + if lbl == None: + UTMESS('F', 'fonction.Valeurs', "Objet '%s' inexistant" % vale) + lbl = list(lbl) dim=len(lbl)/3 lx=lbl[0:dim] lr=[] @@ -629,6 +639,15 @@ class fonction_c(fonction_class): 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 : + raise Accas.AsException("Erreur dans fonction_c.Valeurs en PAR_LOT='OUI'") def Absc(self): """Retourne la liste des abscisses""" return self.Valeurs()[0] @@ -640,6 +659,8 @@ class fonction_c(fonction_class): return self.Valeurs()[2] def Trace(self,FORMAT='TABLEAU',**kargs): """Tracé d'une fonction complexe""" + if self.par_lot() : + raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'") from Utilitai.Graph import Graph gr=Graph() gr.AjoutCourbe(Val=self.Valeurs(), @@ -648,16 +669,18 @@ class fonction_c(fonction_class): def __call__(self,val): ### Pour EFICAS : substitution de l'instance de classe ### parametre par sa valeur - import types - if type(val)==types.InstanceType : val=val.valeur + if type(val)==InstanceType: + val=val.valeur ### __ff=convert(self) return __ff(val) + class nappe_sdaster(fonction_class): def convert(self): """ Retourne un objet de la classe t_nappe, représentation python de la nappe """ + from Utilitai.t_fonction import t_fonction,t_nappe para=self.Parametres() vale=self.Valeurs() l_fonc=[] @@ -679,10 +702,14 @@ class nappe_sdaster(fonction_class): Retourne la liste des valeurs du parametre, et une liste de couples (abscisses,ordonnees) de chaque fonction. """ - nsd=string.ljust(self.get_name(),19) + if self.par_lot(): + raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'") + nsd = '%-19s' % self.get_name() dicv=aster.getcolljev(nsd+'.VALE') # les cles de dicv sont 1,...,N (indice du parametre) lpar=aster.getvectjev(nsd+'.PARA') + if lpar == None: + UTMESS('F', 'fonction.Valeurs', "Objet '%s' inexistant" % (nsd+'.PARA')) lval=[] for k in range(len(dicv)): lbl=dicv[k+1] @@ -696,8 +723,13 @@ class nappe_sdaster(fonction_class): le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, et une liste de dictionnaire des parametres de chaque fonction. """ + if self.par_lot(): + raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'") TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } - prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL') + objev = '%-19s.PROL' % self.get_name() + prol=aster.getvectjev(objev) + if prol == None: + UTMESS('F', 'fonction.Parametres', "Objet '%s' inexistant" % objev) dico={ 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], 'NOM_PARA' : string.strip(prol[2][0:16]), @@ -721,6 +753,8 @@ class nappe_sdaster(fonction_class): return self.Valeurs()[0] def Trace(self,FORMAT='TABLEAU',**kargs): """Tracé d'une nappe""" + if self.par_lot(): + raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'") from Utilitai.Graph import Graph gr=Graph() lv=self.Valeurs()[1] @@ -729,28 +763,30 @@ class nappe_sdaster(fonction_class): gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']]) gr.Trace(FORMAT=FORMAT,**kargs) +# ----------------------------------------------------------------------------- # matr_asse : -#-------------------------------- class matr_asse(ASSD):pass class matr_asse_gene(matr_asse):pass class matr_asse_gene_r(matr_asse_gene): def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee reelle + """ retourne les valeurs de la matrice generalisee reelle dans un format Numerical Array Attributs retourne - self.valeurs : Numeric.array contenant les valeurs """ + if self.par_lot(): + raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'") ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) -# On teste si le DESC de la matrice existe + # On teste si le DESC de la matrice existe if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster") -# Si le stockage est plein + # Si le stockage est plein if desc[2]==2 : - tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1]) valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float) for j in range(desc[1]+1): for i in range(j): @@ -758,46 +794,48 @@ class matr_asse_gene_r(matr_asse_gene): valeur[j-1,i]=tmp[k] valeur=(valeur+Numeric.transpose(valeur)) for i in range(desc[1]): - valeur[i,i]=0.5*valeur[i,i] -# Si le stockage est diagonal - elif desc[2]==1 : - tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur[i,i]=0.5*valeur[i,i] + # Si le stockage est diagonal + elif desc[2]==1 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1]) valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float) for i in range(desc[1]): valeur[i,i]=tmp[i] -# Sinon on arrete tout + # Sinon on arrete tout else: raise KeyError return valeur def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un Numerical Array dans des matrices + """ envoie les valeurs d'un Numerical Array dans des matrices generalisees reelles definies dans jeveux Attributs ne retourne rien """ + if self.par_lot(): + raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'") from Utilitai.Utmess import UTMESS -# avertissement generique + # avertissement generique UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) -# On teste si le DESC de la matrice existe + # On teste si le DESC de la matrice existe if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster") Numeric.asarray(matrice) -# On teste si la dimension de la matrice python est 2 + # On teste si la dimension de la matrice python est 2 if (len(Numeric.shape(matrice))<>2) : raise Accas.AsException("La dimension de la matrice est incorrecte ") -# On teste si les tailles des matrices jeveux et python sont identiques + # On teste si les tailles des matrices jeveux et python sont identiques if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : raise Accas.AsException("La taille de la matrice est incorrecte ") -# Si le stockage est plein + # Si le stockage est plein if desc[2]==2 : taille=desc[1]*desc[1]/2.0+desc[1]/2.0 tmp=Numeric.zeros([int(taille)],Numeric.Float) @@ -805,27 +843,29 @@ class matr_asse_gene_r(matr_asse_gene): for i in range(j): k=j*(j-1)/2+i tmp[k]=matrice[j-1,i] - aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) -# Si le stockage est diagonal - elif desc[2]==1 : + aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALM',len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + # Si le stockage est diagonal + elif desc[2]==1 : tmp=Numeric.zeros(desc[1],Numeric.Float) for j in range(desc[1]): tmp[j]=matrice[j,j] - aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) -# Sinon on arrete tout + aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALM',len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + # Sinon on arrete tout else: raise KeyError return - + class matr_asse_gene_c(matr_asse_gene): def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee complexe + """ retourne les valeurs de la matrice generalisee complexe dans un format Numerical Array Attributs retourne - self.valeurs : Numeric.array contenant les valeurs """ + if self.par_lot(): + raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'") ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' @@ -833,9 +873,9 @@ class matr_asse_gene_c(matr_asse_gene): if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster ") -# Si le stockage est plein + # Si le stockage est plein if desc[2]==2 : - tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1]) valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex) for j in range(desc[1]+1): for i in range(j): @@ -843,25 +883,27 @@ class matr_asse_gene_c(matr_asse_gene): valeur[j-1,i]=tmp[k] valeur=(valeur+Numeric.transpose(valeur)) for i in range(desc[1]): - valeur[i,i]=0.5*valeur[i,i] -# Si le stockage est diagonal - elif desc[2]==1 : - tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur[i,i]=0.5*valeur[i,i] + # Si le stockage est diagonal + elif desc[2]==1 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1]) valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex) for i in range(desc[1]): valeur[i,i]=tmp[i] -# Sinon on arrete tout + # Sinon on arrete tout else: raise KeyError return valeur def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un Numerical Array dans des matrices + """ envoie les valeurs d'un Numerical Array dans des matrices generalisees reelles definies dans jeveux Attributs ne retourne rien """ + if self.par_lot(): + raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'") from Utilitai.Utmess import UTMESS -# avertissement generique + # avertissement generique UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') Numeric.asarray(matrice) @@ -869,21 +911,21 @@ class matr_asse_gene_c(matr_asse_gene): ncham=ncham+(8-len(ncham))*' ' desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) -# On teste si le DESC de la matrice existe + # On teste si le DESC de la matrice existe if (desc==None): raise Accas.AsException("L'objet matrice n'existe pas ou \ est mal cree par Code Aster") Numeric.asarray(matrice) -# On teste si la dimension de la matrice python est 2 + # On teste si la dimension de la matrice python est 2 if (len(Numeric.shape(matrice))<>2) : raise Accas.AsException("La dimension de la matrice est incorrecte ") -# On teste si la taille de la matrice jeveux et python est identique + # On teste si la taille de la matrice jeveux et python est identique if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : raise Accas.AsException("La taille de la matrice est incorrecte ") -# Si le stockage est plein + # Si le stockage est plein if desc[2]==2 : taille=desc[1]*desc[1]/2.0+desc[1]/2.0 tmpr=Numeric.zeros([int(taille)],Numeric.Float) @@ -893,23 +935,23 @@ class matr_asse_gene_c(matr_asse_gene): k=j*(j-1)/2+i tmpr[k]=matrice[j-1,i].real tmpc[k]=matrice[j-1,i].imag - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) -# Si le stockage est diagonal - elif desc[2]==1 : + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALM',len(tmpr),tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + # Si le stockage est diagonal + elif desc[2]==1 : tmpr=Numeric.zeros(desc[1],Numeric.Float) tmpc=Numeric.zeros(desc[1],Numeric.Float) for j in range(desc[1]): tmpr[j]=matrice[j,j].real tmpc[j]=matrice[j,j].imag - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) -# Sinon on arrete tout + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALM',len(tmpr),tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + # Sinon on arrete tout else: raise KeyError return - +# ----------------------------------------------------------------------------- class matr_asse_gd(matr_asse):pass class matr_asse_depl_c(matr_asse_gd):pass class matr_asse_depl_r(matr_asse_gd):pass @@ -918,41 +960,70 @@ class matr_asse_pres_r(matr_asse_gd):pass class matr_asse_temp_c(matr_asse_gd):pass class matr_asse_temp_r(matr_asse_gd):pass +# ----------------------------------------------------------------------------- # matr_elem : -#-------------------------------- class matr_elem(ASSD):pass class matr_elem_depl_c(matr_elem):pass class matr_elem_depl_r(matr_elem):pass class matr_elem_pres_c(matr_elem):pass class matr_elem_temp_r(matr_elem):pass - - - +# ----------------------------------------------------------------------------- # table : -#-------------------------------- class table_sdaster(ASSD): - def __getitem__(self,key): - requete=string.ljust(key[0],24) - tblp=string.ljust(self.get_name(),19)+'.TBLP' - tabnom=list(aster.getvectjev(tblp)) + def __getitem__(self,key): + from Utilitai.Utmess import UTMESS + if self.par_lot(): + raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'") + requete = '%-24s' % key[0] + tblp = '%-19s.TBLP' % self.get_name() + tabnom = aster.getvectjev(tblp) + if tabnom == None: + UTMESS('F', 'TABLE[]', "Objet '%s' inexistant" % tblp) for i in range(len(tabnom)) : if tabnom[i]==requete: break resu=aster.getvectjev(tabnom[i+2]) + if resu == None: + UTMESS('F', 'TABLE[]', "Objet '%s' inexistant" % tabnom[i+2]) exist=aster.getvectjev(tabnom[i+3]) + if exist == None: + UTMESS('F', 'TABLE[]', "Objet '%s' inexistant" % tabnom[i+3]) if key[1]>len(resu) or exist[key[1]-1]==0: raise KeyError else: return resu[key[1]-1] - def EXTR_TABLE(self) : + + def TITRE(self): + """Retourne le titre d'une table Aster + (Utile pour récupérer le titre et uniquement le titre d'une table dont + on souhaite manipuler la dérivée). + """ + if self.par_lot(): + raise Accas.AsException("Erreur dans table.TITRE en PAR_LOT='OUI'") + titj=aster.getvectjev('%-19s.TITR' % self.get_name()) + if titj<>None: + titr='\n'.join(titj) + else: + titr='' + return titr + + def EXTR_TABLE(self) : """Produit un objet Table à partir du contenu d'une table Aster """ def Nonefy(l1,l2) : if l2==0 : return None else : return l1 + if self.par_lot(): + raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'") from Utilitai.Table import Table - tblp=string.ljust(self.get_name(),19)+'.TBLP' - tabnom=list(aster.getvectjev(tblp)) + # titre + titr = self.TITRE() + # récupération des paramètres + v_tblp = aster.getvectjev('%-19s.TBLP' % self.get_name()) + if v_tblp == None: + # retourne une table vide + return Table(titr=titr) + tabnom=list(v_tblp) nparam=len(tabnom)/4 lparam=[tabnom[4*i:4*i+4] for i in range(nparam)] dval={} @@ -972,100 +1043,65 @@ class table_sdaster(ASSD): d={} for p in lpar : d[p]=dval[p][i] lisdic.append(d) - # titre - titj=aster.getvectjev(self.get_name().ljust(19)+'.TITR') - if titj<>None: - titr='\n'.join(titj) - else: - titr='' return Table(lisdic, lpar, ltyp, titr) +# ----------------------------------------------------------------------------- class table_jeveux(table_sdaster): """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée, c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" def __init__(self,nom_jeveux): self.nom=nom_jeveux -class tabl_aire_int (table_sdaster):pass -class tabl_calc_g_loca(table_sdaster):pass -class tabl_calc_g_th (table_sdaster):pass -class tabl_cara_geom (table_sdaster):pass -class tabl_char_limite(table_sdaster):pass -class tabl_ener_elas (table_sdaster):pass -class tabl_ener_pot (table_sdaster):pass -class tabl_ener_cin (table_sdaster):pass -class tabl_trav_ext (table_sdaster):pass -class tabl_ener_totale(table_sdaster):pass -class tabl_indic_ener (table_sdaster):pass -class tabl_indic_seuil(table_sdaster):pass -class tabl_intsp (table_sdaster):pass -class tabl_mass_iner (table_sdaster):pass -class tabl_post_alea (table_sdaster):pass -class tabl_post_beta (table_sdaster):pass -class tabl_post_dyna (table_sdaster):pass -class tabl_post_f_alea(table_sdaster):pass -class tabl_post_fatig (table_sdaster):pass -class tabl_post_gouj2e(table_sdaster):pass -class tabl_post_k (table_sdaster):pass -class tabl_post_rccm (table_sdaster):pass -class tabl_post_rele (table_sdaster):pass -class tabl_post_simpli(table_sdaster):pass -class tabl_post_usur (table_sdaster):pass -class tabl_reca_weib (table_sdaster):pass -class tabl_rice_tracey(table_sdaster):pass -class tabl_texture (table_sdaster):pass -class tabl_trc (table_sdaster):pass -class tabl_weibull (table_sdaster):pass - - +# ----------------------------------------------------------------------------- # vect_asse : -#-------------------------------- class vect_asse(ASSD):pass -class vect_asse_gene(vect_asse):pass -class vect_asse_gene_r(vect_asse_gene): - def EXTR_VECT_GENE(self) : - """ retourne les valeurs du vecteur generalisee + +class vect_asse_gene(vect_asse): + def EXTR_VECT_GENE_R(self) : + """ retourne les valeurs du vecteur generalisee dans un format Numerical Array Attributs retourne - self.valeurs : Numeric.array contenant les valeurs """ - + if self.par_lot(): + raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'") ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' valeur=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) - return valeur - def RECU_VECT_GENE(self,vecteur) : - """ envoie les valeurs d'un Numerical Array dans un vecteur generalise + def RECU_VECT_GENE_R(self,vecteur) : + """ envoie les valeurs d'un Numerical Array dans un vecteur generalise reel definie dans jeveux Attributs ne retourne rien """ + if self.par_lot(): + raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'") from Utilitai.Utmess import UTMESS -# avertissement generique + # avertissement generique UTMESS('A','RECU_VECT_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') Numeric.asarray(vecteur) ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) -# On teste si le DESC du vecteur existe + # On teste si le DESC du vecteur existe if (desc==None): raise Accas.AsException("L'objet vecteur n'existe pas ou \ est mal cree par Code Aster") -# On teste si la taille du vecteur jeveux et python est identique + # On teste si la taille du vecteur jeveux et python est identique if desc[1]<>Numeric.shape(vecteur)[0] : raise Accas.AsException("La taille du vecteur python est incorrecte") aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(vecteur),tuple((\ - range(1,len(vecteur)+1))),tuple(vecteur),tuple(vecteur),1) + range(1,len(vecteur)+1))),tuple(vecteur),tuple(vecteur),1) return - -class vect_asse_gene_c(vect_asse_gene): - def EXTR_VECT_GENE(self) : - """ retourne les valeurs du vecteur generalisee + def EXTR_VECT_GENE_C(self) : + """ retourne les valeurs du vecteur generalisee dans un format Numerical Array Attributs retourne - self.valeurs : Numeric.array contenant les valeurs """ + if self.par_lot(): + raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'") ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' @@ -1073,43 +1109,45 @@ class vect_asse_gene_c(vect_asse_gene): return valeur - def RECU_VECT_GENE(self,vecteur) : - """ envoie les valeurs d'un Numerical Array dans un vecteur generalise + def RECU_VECT_GENE_C(self,vecteur) : + """ envoie les valeurs d'un Numerical Array dans un vecteur generalise complexe definie dans jeveux Attributs ne retourne rien """ + if self.par_lot(): + raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'") from Utilitai.Utmess import UTMESS -# avertissement generique + # avertissement generique UTMESS('A','RECU_VECT_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') Numeric.asarray(vecteur) ncham=self.get_name() ncham=ncham+(8-len(ncham))*' ' desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) -# On teste si le DESC de la matrice existe + # On teste si le DESC de la matrice existe if (desc==None): raise Accas.AsException("L'objet vecteur n'existe pas ou \ est mal cree par Code Aster") -# On teste si la taille de la matrice jeveux et python est identique + # On teste si la taille de la matrice jeveux et python est identique if desc[1]<>Numeric.shape(vecteur)[0] : raise Accas.AsException("La taille du vecteur python est incorrecte") tmpr=vecteur.real tmpc=vecteur.imag aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple(( - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) return - +# ----------------------------------------------------------------------------- # vect_elem : -#-------------------------------- class vect_elem(ASSD):pass 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 26/04/2005 AUTEUR LAVERNE J.LAVERNE +#& MODIF COMMUN DATE 09/05/2006 AUTEUR JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION +# RESPONSABLE JMBHH01 J.M.PROIX # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY @@ -1129,6 +1167,7 @@ class vect_elem_temp_r(vect_elem):pass def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# RELATION =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC", into=( "ELAS", + "ELAS_HYPER", "VMIS_ISOT_TRAC", "VISC_ISOT_TRAC", "VMIS_ISOT_LINE", @@ -1171,8 +1210,9 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "META_V_CL_PT_RE", "VMIS_CINE_LINE", "VISC_TAHERI", - "CHABOCHE", "VISCOCHAB", + "VMIS_CIN1_CHAB", + "VMIS_CIN2_CHAB", "VISC_CIN1_CHAB", "VISC_CIN2_CHAB", "POLY_CFC", @@ -1189,6 +1229,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "LEMAITRE", "LEMAITRE_IRRA", "LEMA_SEUIL", + "IRRAD3M", "ZIRC_CYRA2", "VISC_IRRA_LOG", "GRAN_IRRA_LOG", @@ -1197,6 +1238,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "NADAI_B", "DIS_CONTACT", "DIS_CHOC", + "DIS_GRICRA", "DIS_GOUJ2E_PLAS", "DIS_GOUJ2E_ELAS", "GRILLE_ISOT_LINE", @@ -1208,7 +1250,9 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "BARCELONE", "LAIGLE", "DRUCKER_PRAGER", - "OHNO", + "HOEK_BROWN", + "HOEK_BROWN_EFF", + "HOEK_BROWN_TOT", "GRANGER_FP", "GRANGER_FP_INDT", "GRANGER_FP_V", @@ -1222,10 +1266,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "KIT_THM", "KIT_THHM", "VMIS_ASYM_LINE", - "ELAS_THM", - "SURF_ETAT_NSAT", - "SURF_ETAT_SATU", - "CAM_CLAY_THM", + "ELAS_THER", "KIT_DDI", "GLRC", "SANS", @@ -1236,6 +1277,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "GATT_MONERIE", ) ), ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_HYPER =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,)), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=2,into=(2,)), @@ -1279,8 +1321,9 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# META_V_CL_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)), META_V_CL_PT_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)), VMIS_CINE_LINE =SIMP(statut='c',typ='I',defaut=7,into=(7,)), - CHABOCHE =SIMP(statut='c',typ='I',defaut=14,into=(14,)), VISCOCHAB =SIMP(statut='c',typ='I',defaut=28,into=(28,)), + VMIS_CIN1_CHAB =SIMP(statut='c',typ='I',defaut=8,into=(8,)), + VMIS_CIN2_CHAB =SIMP(statut='c',typ='I',defaut=14,into=(14,)), VISC_CIN1_CHAB =SIMP(statut='c',typ='I',defaut=8,into=(8,)), VISC_CIN2_CHAB =SIMP(statut='c',typ='I',defaut=14,into=(14,)), POLY_CFC =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)), @@ -1292,11 +1335,12 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# ROUSS_VISC =SIMP(statut='c',typ='I',defaut=3,into=(3,)), VMIS_POU_LINE =SIMP(statut='c',typ='I',defaut=9,into=(9,)), VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)), - ASSE_CORN =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + ASSE_CORN =SIMP(statut='c',typ='I',defaut=7,into=(7,)), ARME =SIMP(statut='c',typ='I',defaut=1,into=(1,)), NORTON_HOFF =SIMP(statut='c',typ='I',defaut=1,into=(1,)), LEMAITRE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), LEMA_SEUIL =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + IRRAD3M =SIMP(statut='c',typ='I',defaut=5,into=(5,)), LEMAITRE_IRRA =SIMP(statut='c',typ='I',defaut=2,into=(2,)), ZIRC_CYRA2 =SIMP(statut='c',typ='I',defaut=2,into=(2,)), ZIRC_EPRI =SIMP(statut='c',typ='I',defaut=2,into=(2,)), @@ -1309,6 +1353,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)), DIS_CONTACT =SIMP(statut='c',typ='I',defaut=6,into=(6,)), DIS_CHOC =SIMP(statut='c',typ='I',defaut=7,into=(7,)), + DIS_GRICRA =SIMP(statut='c',typ='I',defaut=5,into=(5,)), DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)), DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)), @@ -1317,7 +1362,9 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# BARCELONE =SIMP(statut='c',typ='I',defaut=5,into=(5,)), LAIGLE =SIMP(statut='c',typ='I',defaut=4,into=(4,)), DRUCKER_PRAGER =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - OHNO =SIMP(statut='c',typ='I',defaut=32,into=(32,)), + HOEK_BROWN =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + HOEK_BROWN_EFF =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + HOEK_BROWN_TOT =SIMP(statut='c',typ='I',defaut=3,into=(3,)), GRANGER_FP =SIMP(statut='c',typ='I',defaut=55,into=(55,)), GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)), GRANGER_FP_V =SIMP(statut='c',typ='I',defaut=55,into=(55,)), @@ -1358,21 +1405,18 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "BARCELONE", "LAIGLE", "DRUCKER_PRAGER", - "ELAS_THM", - "SURF_ETAT_NSAT", - "SURF_ETAT_SATU", - "CAM_CLAY_THM", + "HOEK_BROWN_EFF", + "HOEK_BROWN_TOT", + "ELAS_THER", "MAZARS", "ENDO_ISOT_BETON", # THMC "GAZ", "LIQU_SATU", - "LIQU_SATU_GAT", "LIQU_GAZ_ATM", "LIQU_VAPE_GAZ", "LIQU_AD_GAZ_VAPE", "LIQU_VAPE", - "LIQU_NSAT_GAT", "LIQU_GAZ", # HYDR "HYDR_UTIL", @@ -1390,25 +1434,18 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# "GRANGER_FP_V", "BETON_UMLV_FP", "ROUSS_PR", - "CHABOCHE", - "OHNO", "NADAI_B", "BETON_DOUBLE_DP", ),), - ELAS_THM =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - SURF_ETAT_NSAT =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - SURF_ETAT_SATU =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - CAM_CLAY_THM =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + ELAS_THER =SIMP(statut='c',typ='I',defaut=1,into=(1,)), GAZ =SIMP(statut='c',typ='I',defaut=1,into=(1,)), LIQU_SATU =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - LIQU_SATU_GAT =SIMP(statut='c',typ='I',defaut=2,into=(2,)), LIQU_GAZ_ATM =SIMP(statut='c',typ='I',defaut=2,into=(2,)), LIQU_VAPE_GAZ =SIMP(statut='c',typ='I',defaut=3,into=(3,)), LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)), LIQU_VAPE =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - LIQU_NSAT_GAT =SIMP(statut='c',typ='I',defaut=3,into=(3,)), LIQU_GAZ =SIMP(statut='c',typ='I',defaut=2,into=(2,)), HYDR_UTIL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), HYDR =SIMP(statut='c',typ='I',defaut=1,into=(1,)), @@ -1416,15 +1453,21 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# ACIER =SIMP(statut='c',typ='I',defaut=5,into=(5,)), ZIRC =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN",)), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT", + into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL")), ALGO_C_PLAN =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)), ALGO_1D =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)), regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ) ; -#& MODIF COMMUN DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA +#& MODIF COMMUN DATE 04/04/2006 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -1513,13 +1556,18 @@ def C_NOM_CHAM_INTO() : return ("ACCE", #COMMUN# "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", - "ERRE_ELEM_NOZ1", - "ERRE_ELEM_NOZ2", - "ERRE_ELGA_NORE", - "ERRE_ELNO_ELGA", - "ERRE_NOEU_ELGA", - "ERTH_ELEM_TEMP", - "ERTH_ELNO_ELEM", + "ERRE_ELEM_SIGM", + "ERRE_ELEM_TEMP", + "ERRE_ELNO_ELEM", + "ERRE_NOEU_ELEM", + "ERZ1_ELEM_SIGM", + "ERZ2_ELEM_SIGM", + "QIRE_ELEM_SIGM", + "QIRE_ELNO_ELEM", + "QIZ1_ELEM_SIGM", + "QIZ2_ELEM_SIGM", + "SING_ELEM", + "SING_ELNO_ELEM", "ETOT_ELEM", "ETOT_ELGA", "ETOT_ELNO_ELGA", @@ -1535,7 +1583,6 @@ def C_NOM_CHAM_INTO() : return ("ACCE", #COMMUN# "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", - "HYDR_ELGA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA", "INDI_LOCA_ELGA", @@ -1608,7 +1655,34 @@ def C_NOM_CHAM_INTO() : return ("ACCE", #COMMUN# "VITE_ABSOLU", "VITE_VENT", ) -#& MODIF COMMUN DATE 16/06/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMUN DATE 27/06/2005 AUTEUR D6BHHJP J.P.LEFEBVRE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== +# +# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM +def C_TYPE_CHAM_INTO() : #COMMUN# + l=[] + for gd in C_NOM_GRANDEUR() : + for typ in ("ELEM","ELNO","ELGA","CART","NOEU") : + l.append(typ+"_"+gd) + return tuple(l) + +#& MODIF COMMUN DATE 27/06/2005 AUTEUR D6BHHJP J.P.LEFEBVRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -1631,11 +1705,12 @@ def C_PARA_FONCTION() : return ( #COMMUN# "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC", "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP", "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT", - "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS",) -#& MODIF COMMUN DATE 03/11/2004 AUTEUR CIBHHPD L.SALMONA + "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS", + "NEUT1","NEUT2",) +#& MODIF COMMUN DATE 04/04/2006 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -1650,39 +1725,135 @@ def C_PARA_FONCTION() : return ( #COMMUN# # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -# -# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM -# c'est a dire les noms des types de champ des SD RESULTAT (DATA de la routine RSCRSD) -def C_TYPE_CHAM_INTO() : return ("ACCE", #COMMUN# - "CART_CORR_R", - "NOEU_DBEL_R", "ELEM_DBEL_R", "ELNO_DBEL_R", "ELGA_DBEL_R", - "NOEU_DEPL_C", "ELEM_DEPL_C", "ELNO_DEPL_C", "ELGA_DEPL_C", - "CART_DEPL_F", "NOEU_DEPL_F", "ELEM_DEPL_F", "ELNO_DEPL_F", "ELGA_DEPL_F", - "CART_DEPL_R", "NOEU_DEPL_R", "ELEM_DEPL_R", "ELNO_DEPL_R", "ELGA_DEPL_R", - "NOEU_DURT_R", "ELEM_DURT_R", "ELNO_DURT_R", "ELGA_DURT_R", - "CART_ENER_R", "NOEU_ENER_R", "ELEM_ENER_R", "ELNO_ENER_R", "ELGA_ENER_R", - "NOEU_EPSI_R", "ELEM_EPSI_R", "ELNO_EPSI_R", "ELGA_EPSI_R", - "NOEU_ERREUR", "ELEM_ERREUR", "ELNO_ERREUR", "ELGA_ERREUR", - "NOEU_FLUX_R", "ELEM_FLUX_R", "ELNO_FLUX_R", "ELGA_FLUX_R", - "CART_GEOM_R", "NOEU_GEOM_R", "ELEM_GEOM_R", "ELNO_GEOM_R", "ELGA_GEOM_R", - "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R","ELGA_G_DEPL_R", - "NOEU_HYDR_R", "ELEM_HYDR_R", "ELNO_HYDR_R", "ELGA_HYDR_R", - "NOEU_INST_R", "ELEM_INST_R", "ELNO_INST_R", "ELGA_INST_R", - "NOEU_INTE_R", "ELEM_INTE_R", "ELNO_INTE_R", "ELGA_INTE_R", - "CART_IRRA_R", "NOEU_IRRA_R", "ELEM_IRRA_R", "ELNO_IRRA_R", "ELGA_IRRA_R", - "NOEU_META_R", "ELEM_META_R", "ELNO_META_R", "ELGA_META_R", - "NOEU_NEUT_F", "ELEM_NEUT_F", "ELNO_NEUT_F", "ELGA_NEUT_F", - "CART_NEUT_R", "NOEU_NEUT_R", "ELEM_NEUT_R", "ELNO_NEUT_R", "ELGA_NEUT_R", - "NOEU_PRES_R", "ELEM_PRES_R", "ELNO_PRES_R", "ELGA_PRES_R", - "CART_SIEF_R", "NOEU_SIEF_R", "ELEM_SIEF_R", "ELNO_SIEF_R", "ELGA_SIEF_R", - "NOEU_SOUR_R", "ELEM_SOUR_R", "ELNO_SOUR_R", "ELGA_SOUR_R", - "CART_TEMP_F", "NOEU_TEMP_F", "ELEM_SPMA_R", "ELNO_TEMP_F", "ELGA_TEMP_F", - "CART_TEMP_R", "NOEU_TEMP_R", "ELEM_TEMP_F", "ELNO_TEMP_R", "ELGA_TEMP_R", - "CART_VAR2_R", "NOEU_VAR2_R", "ELEM_TEMP_R", "ELNO_VARI_R", "ELGA_VARI_R", - "NOEU_VNOR_C", "ELEM_VARI_R", "ELNO_VNOR_C", "ELGA_VNOR_C", - "ELEM_VNOR_C", +# ce fichier contient la liste des noms des grandeurs de CODE_ASTER +def C_NOM_GRANDEUR() : return ( #COMMUN# +"ABSC_R", +"ADRSJEVE", +"ADRSJEVN", +"CAARPO", +"CACABL", +"CACOQU", +"CADISA", +"CADISK", +"CADISM", +"CAFI_R", +"CAGEBA", +"CAGEPO", +"CAGNBA", +"CAGNPO", +"CAMASS", +"CAORIE", +"CAPOUF", +"CARCRI", +"CASECT", +"CHLI_R", +"CODE_I", +"COEH_F", +"COEH_R", +"COMPOR", +"CORR_R", +"CRRU_R", +"DBEL_R", +"DCEL_I", +"DDLI_C", +"DDLI_F", +"DDLI_R", +"DDLM_C", +"DDLM_R", +"DEPL_C", +"DEPL_F", +"DEPL_R", +"DOMMAG", +"DURT_R", +"ENER_R", +"EPSI_F", +"EPSI_R", +"ERREUR", +"FACY_R", +"FELECR", +"FISS_R", +"FLAPLA", +"FLUN_F", +"FLUN_R", +"FLUX_F", +"FLUX_R", +"FORC_C", +"FORC_F", +"FORC_R", +"FREQ_R", +"FTHM_F", +"FTHM_R", +"G", +"GEOM_R", +"G_DEPL_R", +"HARMON", +"HYDR_R", +"IMPE_C", +"IMPE_F", +"IMPE_R", +"IND_LOCA", +"INFC_R", +"INST_R", +"INTE_R", +"INTLOC", +"IRRA_R", +"ITECREL", +"ITEDEC", +"J", +"LISTMA", +"MACOMP", +"MASS_R", +"MATE_F", +"NBSP_I", +"NEUT_F", +"NEUT_I", +"NEUT_K16", +"NEUT_K24", +"NEUT_K8", +"NEUT_R", +"NUMC_I", +"NUMMOD", +"ONDE_F", +"ONDE_R", +"PESA_R", +"PILO_K", +"PILO_R", +"POSI", +"PREC", +"PRES_C", +"PRES_F", +"PRES_R", +"RAYO_F", +"RAYO_R", +"RCCM_K", +"RCCM_R", +"RESCREL", +"RICE_TRA", +"ROTA_R", +"SECTION", +"SIEF_C", +"SIEF_R", +"SIZZ_R", +"SOUR_F", +"SOUR_R", +"SPMA_R", +"STAOUDYN", +"TEMP_C", +"TEMP_F", +"TEMP_R", +"THETA", +"VALO_R", +"VANL_R", +"VAR2_R", +"VARI_R", +"VENTCX_F", +"VNOR_C", +"VNOR_F", +"VOISIN", +"WEIBULL", +"XCONTAC", ) -#& MODIF COMMANDE DATE 09/05/2005 AUTEUR MJBHHPE J.L.FLEJOU +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -1706,7 +1877,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', - 'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE','RIGI_PARASOL'),), + 'GRILLE','AFFE_SECT','AFFE_FIBRE','RIGI_PARASOL'),), 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") ), @@ -1829,11 +2000,6 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, #============================================================================ DISCRET =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, @@ -1847,50 +2013,103 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, # 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 ),), + 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='**'), + 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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", + 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='**'), 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é", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), 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, @@ -1904,40 +2123,98 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, # 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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')", + 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='**'), 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", + 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='**'), 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) ", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), 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)", + 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='**'), VALE =SIMP(statut='o',typ='R',min=21,max=21),), ), @@ -2061,21 +2338,6 @@ 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='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ), - VALE =SIMP(statut='o',typ='R',max='**'), - PAS_T =SIMP(statut='o',typ='R'), - PAS_N =SIMP(statut='o',typ='R'), - ANGL_REP =SIMP(statut='o',typ='R',max='**'), - COEF_ECHELLE =SIMP(statut='o',typ='R'), - ), - - #============================================================================ AFFE_SECT =FACT(statut='f',max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), @@ -2171,7 +2433,7 @@ AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, DDL =SIMP(statut='o',typ='TXM',max='**'), ), ) ; -#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 05/09/2005 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2197,7 +2459,7 @@ def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,**args): raise AsException("type de concept resultat non prevu") AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod - ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation", + ,fr="Affectation de conditions aux limites cinématiques constantes pour un traitement sans dualisation", reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'), @@ -2207,22 +2469,82 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod MODELE =SIMP(statut='o',typ=modele_sdaster ), MECA_IMPO =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', + 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', + 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', + 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','DCX','DCY','DCZ', + 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + GRX =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + PRE1 =SIMP(statut='f',typ='R' ), + PRE2 =SIMP(statut='f',typ='R' ), + UI2 =SIMP(statut='f',typ='R' ), + UI3 =SIMP(statut='f',typ='R' ), + UI4 =SIMP(statut='f',typ='R' ), + UI5 =SIMP(statut='f',typ='R' ), + UI6 =SIMP(statut='f',typ='R' ), + UO2 =SIMP(statut='f',typ='R' ), + UO3 =SIMP(statut='f',typ='R' ), + UO4 =SIMP(statut='f',typ='R' ), + UO5 =SIMP(statut='f',typ='R' ), + UO6 =SIMP(statut='f',typ='R' ), + VI2 =SIMP(statut='f',typ='R' ), + VI3 =SIMP(statut='f',typ='R' ), + VI4 =SIMP(statut='f',typ='R' ), + VI5 =SIMP(statut='f',typ='R' ), + VI6 =SIMP(statut='f',typ='R' ), + VO2 =SIMP(statut='f',typ='R' ), + VO3 =SIMP(statut='f',typ='R' ), + VO4 =SIMP(statut='f',typ='R' ), + VO5 =SIMP(statut='f',typ='R' ), + VO6 =SIMP(statut='f',typ='R' ), + WI2 =SIMP(statut='f',typ='R' ), + WI3 =SIMP(statut='f',typ='R' ), + WI4 =SIMP(statut='f',typ='R' ), + WI5 =SIMP(statut='f',typ='R' ), + WI6 =SIMP(statut='f',typ='R' ), + WO2 =SIMP(statut='f',typ='R' ), + WO3 =SIMP(statut='f',typ='R' ), + WO4 =SIMP(statut='f',typ='R' ), + WO5 =SIMP(statut='f',typ='R' ), + WO6 =SIMP(statut='f',typ='R' ), + WO =SIMP(statut='f',typ='R' ), + WI1 =SIMP(statut='f',typ='R' ), + WO1 =SIMP(statut='f',typ='R' ), + GONF =SIMP(statut='f',typ='R' ), + DCX =SIMP(statut='f',typ='R' ), + DCY =SIMP(statut='f',typ='R' ), + DCZ =SIMP(statut='f',typ='R' ), + H1X =SIMP(statut='f',typ='R' ), + H1Y =SIMP(statut='f',typ='R' ), + H1Z =SIMP(statut='f',typ='R' ), + E1X =SIMP(statut='f',typ='R' ), + E1Y =SIMP(statut='f',typ='R' ), + E1Z =SIMP(statut='f',typ='R' ), + E2X =SIMP(statut='f',typ='R' ), + E2Y =SIMP(statut='f',typ='R' ), + E2Z =SIMP(statut='f',typ='R' ), + E3X =SIMP(statut='f',typ='R' ), + E3Y =SIMP(statut='f',typ='R' ), + E3Z =SIMP(statut='f',typ='R' ), + E4X =SIMP(statut='f',typ='R' ), + E4Y =SIMP(statut='f',typ='R' ), + E4Z =SIMP(statut='f',typ='R' ), ), THER_IMPO =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), @@ -2247,7 +2569,7 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 05/09/2005 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2270,8 +2592,9 @@ def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args): if THER_IMPO != None : return char_cine_ther raise AsException("type de concept resultat non prevu") -AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod - ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation", +AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod, + fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres" + +" pour un traitement sans dualisation", reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'), @@ -2310,7 +2633,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 24/05/2005 AUTEUR MABBAS M.ABBAS +#& MODIF COMMANDE DATE 03/05/2006 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2329,9 +2652,8 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_pr # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES - -AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca - ,fr="Affectation de charges et conditions aux limites mécaniques constantes", +AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca, + fr="Affectation de charges et conditions aux limites mécaniques constantes", reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','CHAMNO_IMPO','LIAISON_DDL','LIAISON_XFEM','FORCE_NODALE', @@ -2340,27 +2662,22 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE', 'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT', 'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP', - 'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI','PRES_CALCULEE', + 'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI', 'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE', - 'LIAISON_MAIL','LIAISON_CYCL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE', - 'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE'), - EXCLUS('PRES_CALCULEE','EVOL_CHAR'),), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + 'LIAISON_MAIL','LIAISON_CYCL','FORCE_TUYAU','SECH_CALCULEE', + 'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE', + 'LIAISON_UNILATER'), + ), VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), MODELE =SIMP(statut='o',typ=(modele_sdaster) ), TEMP_CALCULEE =SIMP(statut='f',fr="Champ de température issu d'un autre calcul", - typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ), - HYDR_CALCULEE =SIMP(statut='f',fr="Champ d hydratation issu d'un autre calcul", - typ=evol_ther ), + typ=(evol_ther,cham_no_sdaster,carte_sdaster) ), SECH_CALCULEE =SIMP(statut='f',fr="Champ de séchage issu d'un autre calcul", - typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ), + typ=(evol_ther,cham_no_sdaster,carte_sdaster ) ), EPSA_CALCULEE =SIMP(statut='f',fr="Champ de déformation anélastique issu d'un autre calcul", typ=evol_noli ), -# A TERME PRES_CALCULEE N'EXISTERA PLUS EVOL_CHAR =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul", typ=evol_char ), - PRES_CALCULEE =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul", - typ=evol_char ), PESANTEUR =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4), ROTATION =SIMP(statut='f',typ='R',fr="Champ de rotation", min=4,max=4), @@ -2368,12 +2685,15 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca CENTRE =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),), DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON'),), + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', + 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -2426,11 +2746,31 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca WI1 =SIMP(statut='f',typ='R' ), WO1 =SIMP(statut='f',typ='R' ), GONF =SIMP(statut='f',typ='R' ), + DCX =SIMP(statut='f',typ='R' ), + DCY =SIMP(statut='f',typ='R' ), + DCZ =SIMP(statut='f',typ='R' ), + H1X =SIMP(statut='f',typ='R' ), + H1Y =SIMP(statut='f',typ='R' ), + H1Z =SIMP(statut='f',typ='R' ), + E1X =SIMP(statut='f',typ='R' ), + E1Y =SIMP(statut='f',typ='R' ), + E1Z =SIMP(statut='f',typ='R' ), + E2X =SIMP(statut='f',typ='R' ), + E2Y =SIMP(statut='f',typ='R' ), + E2Z =SIMP(statut='f',typ='R' ), + E3X =SIMP(statut='f',typ='R' ), + E3Y =SIMP(statut='f',typ='R' ), + E3Z =SIMP(statut='f',typ='R' ), + E4X =SIMP(statut='f',typ='R' ), + E4Y =SIMP(statut='f',typ='R' ), + E4Z =SIMP(statut='f',typ='R' ), + LAGS_C =SIMP(statut='f',typ='R' ), ), DDL_POUTRE =FACT(statut='f',max='**', + fr="Bloque des DDLs dans un repère local d'une poutre", regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'), UN_PARMI('VECT_Y','ANGL_VRIL'),), @@ -2453,6 +2793,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca FACE_IMPO =FACT(statut='f',max='**', + fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)", regles=(UN_PARMI('GROUP_MA','MAILLE',), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', 'TEMP','PRE1','PRE2','DNOR','DTAN'), @@ -2471,6 +2812,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca # rajout d'un mot clé REPERE :/ LOCAL /GLOBAL GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), DX =SIMP(statut='f',typ='R' ), DY =SIMP(statut='f',typ='R' ), DZ =SIMP(statut='f',typ='R' ), @@ -2488,7 +2831,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), CHAMNO_IMPO =FACT(statut='f',max='**', - fr="imposer des ddls aux valeurs d'un concept cham_no_sdaster", + fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster", # type de cham_no_sdaster CO() CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() COEF_MULT =SIMP(statut='o',typ='R' ), @@ -2497,7 +2840,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca LIAISON_DDL =FACT(statut='f',max='**', - fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds", + fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds", regles=(UN_PARMI('GROUP_NO','NOEUD'),), GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), NOEUD =SIMP(statut='f',typ=no ,max='**'), @@ -2507,7 +2850,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique", + fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante" + +" dans un repère oblique quelconque", regles=(UN_PARMI('GROUP_NO','NOEUD'), UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -2522,7 +2866,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définir des relations linéaires entre certains ddls de couples de noeuds", + fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds", regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), EXCLUS('GROUP_MA_1','GROUP_NO_2'), @@ -2558,6 +2902,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_MAIL =FACT(statut='f',max='**', + fr="Définit des relations linéaires permettant de recoller deux bords d'une structure", regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),), @@ -2576,6 +2921,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_CYCL =FACT(statut='f',max='**', + fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques", regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'), AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'), @@ -2599,7 +2945,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), - LIAISON_SOLIDE =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",max='**', + LIAISON_SOLIDE =FACT(statut='f',fr="Modélise une partie indéformable d'une structure",max='**', regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -2608,7 +2954,9 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), ), - LIAISON_ELEM =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque",max='**', + LIAISON_ELEM =FACT(statut='f',max='**', + fr="Modélise le raccord d'une partie massive 3D avec une poutre ou avec un tuyau, le raccord d'une coque" + +" avec une poutre ou avec un tuyau", regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'), UN_PARMI('GROUP_NO_2','NOEUD_2'),), OPTION =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ), @@ -2623,7 +2971,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_UNIF =FACT(statut='f',max='**', - fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds", + fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -2633,7 +2981,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_CHAMNO =FACT(statut='f',max='**', - fr="définir une relation linéaire entre tous les ddls d'un concept cham_no_sdaster", + fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO", # type de cham_no_sdaster CO() CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() COEF_IMPO =SIMP(statut='o',typ='R' ), @@ -2642,26 +2990,61 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca LIAISON_XFEM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), - - 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","MAIT_ESCL","MAIT_ESCL_SYME")), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster ), +# +# LIAISON UNILATERALE +# + LIAISON_UNILATER=FACT(statut='f',max='**', + fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)", + regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + + COEF_IMPO =SIMP(statut='f',typ='R'), + COEF_MULT =SIMP(statut='f',typ='R',max='**'), + + METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", + into=("CONTRAINTE","GCPC",) ), + + + ), +# +# CONTACT +# + CONTACT =FACT(statut='f',max='**', + fr="Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement", + regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), + APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", + into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE", into=("NOEUD_BOUCLE","NOEUD_VOISIN")), LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", into=("MAIT","MAIT_ESCL")), METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("VERIF","CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ), + into=("VERIF","CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE","GCP") ), PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE", into=("LINEAIRE","QUADRATIQUE") ), GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), 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='**'), + b_cara =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", + CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), + ), b_verif =BLOC(condition = "METHODE == 'VERIF' ", fr="Paramètres de la méthode sans calcul de contact", @@ -2671,7 +3054,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca DIST_MAIT =SIMP(statut='f',typ='R'), DIST_ESCL =SIMP(statut='f',typ='R'), VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), ), b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", @@ -2687,7 +3070,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -2695,20 +3077,14 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca into=("AUTOMATIQUE","CONTROLE","SANS")), b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", fr="Paramètre de la réactualisation géométrique", - - STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON", - into=("OUI","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", fr="Paramètre de la réactualisation géométrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - - STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("OUI","NON")), + ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Paramètre de la réactualisation géométrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), ), SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -2716,7 +3092,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca COEF_IMPO =SIMP(statut='f',typ='R'), COEF_MULT_ESCL =SIMP(statut='f',typ='R'), VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), DIST_MAIT =SIMP(statut='f',typ='R'), DIST_ESCL =SIMP(statut='f',typ='R'), @@ -2727,7 +3103,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -2736,27 +3111,26 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", into=("AUTOMATIQUE","CONTROLE","SANS")), b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), + ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Paramètre de la réactualisation géométrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), - ), - + ), + 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")), DIST_MAIT =SIMP(statut='f',typ='R'), DIST_ESCL =SIMP(statut='f',typ='R'), + + regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), @@ -2769,7 +3143,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -2778,18 +3151,12 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", into=("AUTOMATIQUE","CONTROLE","SANS")), b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Paramètre de la réactualisation géométrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), ), SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -2797,7 +3164,9 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), DIST_MAIT =SIMP(statut='f',typ='R'), DIST_ESCL =SIMP(statut='f',typ='R'), + regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), @@ -2808,24 +3177,88 @@ 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)", +# regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),), NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), + GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ", + ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), + ), 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")), + COMPLIANCE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2", + "NCOTES","NCOTES1","NCOTES2")), 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")), 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), + DIST_MAIT =SIMP(statut='f',typ='R',defaut=0.), + DIST_ESCL =SIMP(statut='f',typ='R',defaut=0.), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + b_compliance =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance", + ASPERITE =SIMP(statut='o',typ='R',), + E_N =SIMP(statut='o',typ='R',), + E_V =SIMP(statut='f',typ='R',defaut=0.E+0),), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_Z =SIMP(statut='f',typ='R',min=3,max=3), ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),),), + + b_gcp =BLOC(condition = "METHODE == 'GCP' ", + fr="Paramètres de la méthode du gradient conjugué projeté (contact uniquement)", + regles=(EXCLUS('DIST_ESCL','COEF_IMPO'), + EXCLUS('DIST_MAIT','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","PRES","TEMP","PRE1","PRE2")), + RESI_ABSO =SIMP(statut='o',typ='R', + fr="Critère de convergence (niveau d'interpénétration autorisé)"), + REAC_ITER =SIMP(statut='f',typ='I',defaut=3, fr="Fréquence de réinitialisation de la conjugaison"), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", + fr="Paramètre de la réactualisation géométrique", + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", + fr="Paramètre de la réactualisation géométrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("OUI","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + 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_MULT_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), + ), ), - FORCE_NODALE =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",max='**', + FORCE_NODALE =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**', regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -2840,7 +3273,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), FORCE_FACE =FACT(statut='f',max='**', - fr="Appliquer des forces surfaciques sur une face d'éléments volumiques", + fr="Applique des forces surfaciques sur une face d'élément volumique", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -2851,7 +3284,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), FORCE_ARETE =FACT(statut='f',max='**', - fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque", + fr="Applique des forces linéiques à une arete d'élément volumique ou de coque", regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -2865,7 +3298,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), FORCE_CONTOUR =FACT(statut='f',max='**', - fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER", + fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -2879,7 +3312,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), FORCE_INTERNE =FACT(statut='f',max='**', - fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique", + fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ' ),), @@ -2892,7 +3325,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), PRES_REP =FACT(statut='f',max='**', - fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D", + fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('PRES','CISA_2D' ),), @@ -2903,7 +3336,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca CISA_2D =SIMP(statut='f',typ='R' ), ), - EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",max='**', + EFFE_FOND =FACT(statut='f',max='**', + fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -2912,7 +3346,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), EPSI_INIT =FACT(statut='f',max='**', - fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D", + fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX', @@ -2938,6 +3372,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), ARLEQUIN =FACT(statut='f',min=1,max='**', + fr="Définit les paramètres de la méthode Arlequin", GROUP_MA_1 =SIMP(statut='o',typ=grma,max='**'), GROUP_MA_2 =SIMP(statut='o',typ=grma,max='**'), GROUP_MA_COLL =SIMP(statut='f',typ=grma,max='**'), @@ -2950,7 +3385,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca POIDS_GROSSIER =SIMP(statut='f',typ='R'), POIDS_FIN =SIMP(statut='f',typ='R'),), - FORCE_POUTRE =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",max='**', + FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'), @@ -2975,7 +3411,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), - FORCE_TUYAU =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",max='**', + FORCE_TUYAU =FACT(statut='f',max='**', + fr="Applique une pression sur des éléments TUYAU", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), @@ -2984,7 +3421,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca PRES =SIMP(statut='f',typ='R' ), ), - FORCE_COQUE =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",max='**', + FORCE_COQUE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur des éléments de types coques", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), @@ -3024,6 +3462,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca GRAPPE_FLUIDE =FACT(statut='f',max='**', + fr="Définit les données de calcul des forces fluides lors des études de chute de grappe", regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'), EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'), PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'), @@ -3098,7 +3537,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca fr="direction d'application de la force de plaquage",), b_CDG =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \ (APPL_FORC_FMEC == 'CDG') or (APPL_FORC_FTG == 'CDG')", - MASS_INER =SIMP(statut='o',typ=tabl_mass_iner ), + MASS_INER =SIMP(statut='o',typ=table_sdaster ), ), UNITE_IMPR_FORCE =SIMP(statut='f',typ='I', fr="unité d'impression des forces",), @@ -3107,6 +3546,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), LIAISON_COQUE =FACT(statut='f',max='**', + fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -3119,13 +3559,16 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), RELA_CINE_BP =FACT(statut='f',max='**', + fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier" + +" la prise en compte des contraintes initiales dans les cables", CABLE_BP =SIMP(statut='o',typ=cabl_precont ), SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), FORCE_ELEC =FACT(statut='f',max='**', - fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé", + fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" + +" secondaire droit", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), @@ -3158,7 +3601,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca INTE_ELEC =FACT(statut='f',max='**', - fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire", + fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" + +" secondaire non nécessairement droit", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'), @@ -3173,14 +3617,14 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), - IMPE_FACE =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",max='**', + IMPE_FACE =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), IMPE =SIMP(statut='o',typ='R' ), ), - VITE_FACE =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",max='**', + VITE_FACE =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -3189,7 +3633,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca - ONDE_FLUI =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",max='**', + ONDE_FLUI =FACT(statut='f',max='**', + fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -3197,6 +3642,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), FLUX_THM_REP =FACT(statut='f',max='**', + fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide" + +" (flux hydraulique)", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), @@ -3212,7 +3659,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 24/08/2005 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3239,6 +3686,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, MODELE =SIMP(statut='o',typ=modele_sdaster ), VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), @@ -3258,6 +3706,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, PHI =SIMP(statut='f',typ='C' ), ), FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), @@ -3279,6 +3728,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, VZ =SIMP(statut='f',typ='C' ), ), LIAISON_DDL =FACT(statut='f',max='**', + fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds", regles=(UN_PARMI('GROUP_NO','NOEUD', ),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), NOEUD =SIMP(statut='f',typ=no ,max='**'), @@ -3288,7 +3738,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 24/05/2005 AUTEUR MABBAS M.ABBAS +#& MODIF COMMANDE DATE 03/05/2006 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3308,7 +3758,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur", + fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres", reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', @@ -3316,15 +3766,20 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, 'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE', 'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF', 'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU', - 'CONTACT','EFFE_FOND','FLUX_THM_REP'),), + +'CONTACT','EFFE_FOND','FLUX_THM_REP','LIAISON_UNILATER'),), VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), MODELE =SIMP(statut='o',typ=modele_sdaster), DDL_IMPO =FACT(statut='f',max='**', + fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies" + +" par l'intermédiaire d'un concept fonction ", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','LIAISON',),), + 'TEMP','PRE1','PRE2','LIAISON','DCX','DCY','DCZ','H1X', + 'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', + 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -3343,9 +3798,30 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DCY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DCZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + LAGS_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), FACE_IMPO =FACT(statut='f',max='**', + fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)" + +" fournies par l'intérmédiaire d'un concept fonction", regles=(UN_PARMI('GROUP_MA','MAILLE'), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'), EXCLUS('DNOR','DX'), @@ -3363,6 +3839,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, # rajout d un mot cle REPERE : / GLOBAL / LOCAL GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), @@ -3380,7 +3858,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), LIAISON_DDL =FACT(statut='f',max='**', - fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds", + fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par" + +" l'intermediaire d'un concept de type fonction", regles=(UN_PARMI('GROUP_NO','NOEUD'),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), NOEUD =SIMP(statut='f',typ=no ,max='**'), @@ -3390,7 +3869,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Définir des relations linéaires entre certains ddls de couples de noeuds", + fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique" + +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction", regles=(UN_PARMI('GROUP_NO','NOEUD'), UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), @@ -3405,7 +3885,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définir des relations linéaires entre certains ddls de couples de noeuds", + fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par" + +" l'intermédiaire de concept fonction", regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), EXCLUS('GROUP_MA_1','GROUP_NO_2'), @@ -3437,21 +3918,54 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ANGL_NAUT =SIMP(statut='f',typ='R',max=3), CENTRE =SIMP(statut='f',typ='R',max=3), ), +# +# LIAISON UNILATERALE +# + LIAISON_UNILATER=FACT(statut='f',max='**', + fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)", + regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**', + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + + COEF_IMPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), + + METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", + into=("CONTRAINTE","GCPC",) ), + + + ), + CONTACT =FACT(statut='f', + fr="Définit les zones soumises à des conditions de contact unilatéral avec ou \sans frottement, certaines valeurs" + +" sont données par l'intermédiaire de concept fonction",max='**', regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), + DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","VERIF","LAGRANGIEN","PENALISATION","CONTINUE") ), + into=("CONTRAINTE","VERIF","LAGRANGIEN","PENALISATION","CONTINUE","GCP") ), PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ), GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), 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='**'), + b_cara =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", + CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), + ), b_verif =BLOC(condition = "METHODE == 'VERIF' ", fr="Paramètres de la méthode sans calcul de contact", @@ -3461,7 +3975,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, DIST_MAIT =SIMP(statut='f',typ='R'), DIST_ESCL =SIMP(statut='f',typ='R'), VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), ), b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", @@ -3477,7 +3991,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -3486,19 +3999,14 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", fr="Parametre de la reactualisation geometrique", - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", fr="Parametre de la reactualisation geometrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Parametre de la reactualisation geometrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), ), SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -3506,7 +4014,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, COEF_IMPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), COEF_MULT_ESCL =SIMP(statut='f',typ='R'), VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), @@ -3516,7 +4024,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -3525,18 +4032,13 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", into=("AUTOMATIQUE","CONTROLE","SANS")), b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Parametre de la reactualisation geometrique", - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Parametre de la reactualisation geometrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), + ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Parametre de la reactualisation geometrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), ), SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), @@ -3544,8 +4046,9 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), - + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), @@ -3557,7 +4060,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), - TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON")), NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), @@ -3566,26 +4068,21 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", into=("AUTOMATIQUE","CONTROLE","SANS")), b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", NB_REAC_GEOM =SIMP(statut='o',typ='I'), - - VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", - into=("ALARME","ERREUR","NON")), ), b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", fr="Paramètre de la réactualisation géométrique auto", - NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), ), 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")), DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), - + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), E_T =SIMP(statut='f',typ='R', @@ -3594,24 +4091,87 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",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)", +# regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),), NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ", + ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), + ), 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")), + COMPLIANCE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2", + "NCOTES","NCOTES1","NCOTES2")), COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), FORMULATION =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), DIRE_APPA =SIMP(statut='f',typ='R',max=3), ITER_GEOM_MAXI =SIMP(statut='f',typ='I',defaut=2), ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), + CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + b_compliance =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance", + ASPERITE =SIMP(statut='o',typ='R',), + E_N =SIMP(statut='o',typ='R',), + E_V =SIMP(statut='f',typ='R',defaut=0.E+0),), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", COULOMB =SIMP(statut='o',typ='R',), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + VECT_Z =SIMP(statut='f',typ='R',min=3,max=3), ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), SEUIL_INIT =SIMP(statut='f',typ='I',defaut=0),),), + + b_gcp =BLOC(condition = "METHODE == 'GCP' ", + fr="Paramètres de la méthode du gradient conjugué projeté (contact uniquement)", + regles=(EXCLUS('DIST_ESCL','COEF_IMPO'), + EXCLUS('DIST_MAIT','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","PRES","TEMP","PRE1","PRE2")), + RESI_ABSO =SIMP(statut='o',typ='R', + fr="Critère de convergence (niveau d'interpénétration autorisé)"), + REAC_ITER =SIMP(statut='f',typ='I',defaut=3, fr="Fréquence de réinitialisation de la conjugaison"), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", + fr="Paramètre de la réactualisation géométrique", + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", + fr="Paramètre de la réactualisation géométrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("OUI","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + 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=(fonction_sdaster,nappe_sdaster,formule)), + COEF_MULT_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), + VECT_ORIE_POU =SIMP(statut='f',typ='R',min=3,max=3), + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), ), LIAISON_UNIF =FACT(statut='f',max='**', - fr="Imposer une meme valeur (inconnue) a des ddls d un emsemble de noeuds", + fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -3621,7 +4181,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), LIAISON_SOLIDE =FACT(statut='f',max='**', - fr="Modéliser une partie indéformable d une structure", + fr="Modélise une partie indéformable d'une structure", regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), @@ -3633,6 +4193,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FORCE_NODALE =FACT(statut='f',max='**', + fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire" + +" d'un concept fonction", regles=(UN_PARMI('GROUP_NO','NOEUD'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -3647,6 +4209,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), FORCE_FACE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies" + +" par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3656,6 +4220,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), FORCE_ARETE =FACT(statut='f',max='**', + fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont" + +" fournies par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3668,6 +4234,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), FORCE_CONTOUR =FACT(statut='f',max='**', + fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes" + +" sont fournies par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3681,6 +4249,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), FORCE_INTERNE =FACT(statut='f',max='**', + fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies" + +" par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ'),), @@ -3693,6 +4263,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), PRES_REP =FACT(statut='f',max='**', + fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les" + +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('PRES','CISA_2D'),), @@ -3703,7 +4275,9 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",max='**', + EFFE_FOND =FACT(statut='f',max='**', + fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise" + +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3712,6 +4286,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), EPSI_INIT =FACT(statut='f',max='**', + fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes" + +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),), @@ -3727,6 +4303,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), FORCE_POUTRE =FACT(statut='f',max='**', + fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par" + +" l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'), @@ -3750,6 +4328,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), FORCE_TUYAU =FACT(statut='f',max='**', + fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), @@ -3759,6 +4338,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), FORCE_COQUE =FACT(statut='f',max='**', + fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par" + +" l'intermédiaires d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), @@ -3795,6 +4376,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ), LIAISON_COQUE =FACT(statut='f',max='**', + fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -3808,6 +4390,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, VITE_FACE =FACT(statut='f',max='**', + fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par" + +" l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), PRESENT_ABSENT('GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3815,6 +4399,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), IMPE_FACE =FACT(statut='f',max='**', + fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire" + +" d'un concept fonction", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), PRESENT_ABSENT('GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -3822,6 +4408,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), ONDE_PLANE =FACT(statut='f',max='**', + fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire" + +" d'un concept fonction", DIRECTION =SIMP(statut='o',typ='R',max='**'), TYPE_ONDE =SIMP(statut='o',typ='TXM' ), FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), @@ -3831,6 +4419,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FLUX_THM_REP =FACT(statut='f',max='**', + fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)" + +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), @@ -3846,7 +4436,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3865,7 +4455,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther, - fr=" ", + fr="Affectation de charges et conditions limites thermiques spécifique à CARA_TORSION", reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(AU_MOINS_UN('CARA_TORSION', ),), @@ -3879,7 +4469,7 @@ AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 11/01/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3904,7 +4494,6 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE', 'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP', 'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),), - VERI_DDL =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"), MODELE =SIMP(statut='o',typ=(modele_sdaster) ), TEMP_IMPO =FACT(statut='f',max='**', @@ -3930,7 +4519,7 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther FLUN =SIMP(statut='f',typ='R'), FLUN_INF =SIMP(statut='f',typ='R'), FLUN_SUP =SIMP(statut='f',typ='R'), - CARA_TORSION =SIMP(statut='f',typ=tabl_aire_int ), + CARA_TORSION =SIMP(statut='f',typ=table_sdaster), ), @@ -3972,7 +4561,7 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), SOUR =SIMP(statut='f',typ='R'), - SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem_sour_r) ), + SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem) ), ), GRAD_TEMP_INIT =FACT(statut='f',max='**', @@ -4078,13 +4667,13 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther ), CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), + VITESSE =SIMP(statut='o',typ=(cham_no_sdaster) ), ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4103,13 +4692,13 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther, - fr="Affectation de charges et conditions aux limites thermiques fonction dune grandeur (temps, ...)", + fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)" + +" paramètres (temps, ...)", reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE', 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF', 'GRAD_TEMP_INIT','RAYONNEMENT'),), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), MODELE =SIMP(statut='o',typ=(modele_sdaster) ), TEMP_IMPO =FACT(statut='f',max='**', @@ -4274,12 +4863,12 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther, ), CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), + VITESSE =SIMP(statut='o',typ=cham_no_sdaster ), ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 25/04/2006 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4299,11 +4888,14 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther, # ====================================================================== # RESPONSABLE VABHHTS J.PELLET AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater, - fr="Affectation de caractéristiques de matériaux à un maillage", + fr="Affecter des matériaux à des zones géométriques d'un maillage", reentrant='n', UIinfo={"groupes":("Modélisation",)}, MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), MODELE =SIMP(statut='f',typ=modele_sdaster), + + # affectation du nom du matériau : + # ------------------------------- AFFE =FACT(statut='o',max='**', regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), @@ -4313,93 +4905,306 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater, TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), SECH_REF =SIMP(statut='f',typ='R',val_min=0.E+0), ), + + # affectation des variables de commande : + # -------------------------------------------------- + # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : + LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("CORR","IRRA","HYDR","NEUT1","NEUT2")), + + AFFE_VARC =FACT(statut='f',max='**', + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','TOUT'), + PRESENT_ABSENT('MAILLE','TOUT'), + UN_PARMI('EVOL','CHAMP_GD'),), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut] + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + CHAMP_GD =SIMP(statut='f',typ=cham_gd_sdaster,), + B_CHAMP_GD =BLOC(condition="CHAMP_GD!=None", + NOM_VARC =SIMP(statut='o',typ='TXM', into=("CORR","IRRA","HYDR","NEUT1","NEUT2")), + ), + EVOL =SIMP(statut='f',typ=evol_sdaster,), + B_EVOL =BLOC(condition="EVOL!=None", + NOM_VARC =SIMP(statut='o',typ='TXM', into=("CORR","IRRA","HYDR","NEUT1","NEUT2")), + B_NOM_CORR =BLOC(condition="NOM_VARC=='CORR'", NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'CORR',),), + B_NOM_IRRA =BLOC(condition="NOM_VARC=='IRRA'", NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'IRRA',),), + B_NOM_HYDR =BLOC(condition="NOM_VARC=='HYDR'", NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'HYDR_ELNO_ELGA',),), + B_NOM_NEUT1 =BLOC(condition="NOM_VARC=='NEUT1'", NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),), + B_NOM_NEUT2 =BLOC(condition="NOM_VARC=='NEUT2'", NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + ), + VALE_REF =SIMP(statut='f',typ='R'), + ), + + # mots clés cachés pour les variables de commande NEUTi : + # ------------------------------------------------------- + VARC_NEUT1 =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT1"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")), + ), + VARC_NEUT2 =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT2"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")), + ), + + # mots clés cachés pour variable de commande TEMP : + # -------------------------------------------------- + VARC_TEMP =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="TEMP"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), + ), + + # mots clés cachés pour variable de commande SECH : + # -------------------------------------------------- + VARC_SECH =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="SECH"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)), + VALE_DEF =SIMP(statut='c',typ='R',max=1,min=1,defaut=(0.,)), + ), + + # mots clés cachés pour variable de commande HYDR : + # -------------------------------------------------- + VARC_HYDR =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="HYDR"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="HYDR_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), + VALE_DEF =SIMP(statut='c',typ='R',max=1,min=1,defaut=(0.,)), + ), + + # mots clés cachés pour variable de commande CORR : + # -------------------------------------------------- + VARC_CORR =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="CORR"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="CORR_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), + ), + + # mots clés cachés pour variable de commande IRRA : + # -------------------------------------------------- + VARC_IRRA =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="IRRA"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="IRRA_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), + VALE_DEF =SIMP(statut='c',typ='R',max=1,min=1,defaut=(0.,)), + ), + + # mots clés cachés pour variable de commande EPSA : + # -------------------------------------------------- + VARC_EPSA =FACT(statut='d', + NOM_VARC =SIMP(statut='c',typ='TXM',defaut="EPSA"), + GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), + CMP_GD =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)), + CMP_VARC =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)), + VALE_DEF =SIMP(statut='c',typ='R',max=6,min=6,defaut=( 0., 0., 0., 0., 0., 0., )), + ), ) ; -#& MODIF COMMANDE DATE 26/04/2005 AUTEUR LAVERNE J.LAVERNE + + +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== -# RESPONSABLE JMBHH01 J.M.PROIX -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, - UIinfo={"groupes":("Modélisation",)}, - fr="Affectation des éléments finis sur le maillage",reentrant='n', - regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),), - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), - AFFE_SOUS_STRUC =FACT(statut='f', - regles=(UN_PARMI('TOUT','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), +AIDE=PROC(nom="AIDE",op=42, + UIinfo={"groupes":("Modélisation",)}, + fr="Interroger et imprimer une documentation partielle sur les noms des concepts déjà définis et sur les couples" + +" (type d'éléments, option) disponibles dans la version.", + regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),), + UNITE =SIMP(statut='f',typ='I',defaut=8), + TYPE_ELEM =FACT(fr="couple type_elem option",statut='f', + INITEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + ), + CONCEPT =FACT(statut='f',max='**', + NOM =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"), + OPTION =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE", + into=("TOUT_TYPE","CREER","A_CREER",) ), ), - AFFE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='o',typ='TXM', - into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ), - b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", - fr="modelisations mécaniques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "2D_DIS_T", - "2D_DIS_TR", - "2D_FLUI_ABSO", - "2D_FLUI_PESA", - "2D_FLUI_STRU", - "2D_FLUIDE", - "3D", - "3D_ABSO", - "3D_FAISCEAU", - "3D_FLUI_ABSO", - "3D_FLUIDE", - "3D_HHM" , - "3D_HM", - "3D_INCO", - "3D_JOINT_CT", - "3D_SI", - "3D_THH", - "3D_THHM", - "3D_THM", - "3D_GRAD_EPSI", - "3D_GRAD_VARI", - "3D_XFEM", - "APPUI_REP", - "ASSE_GRIL", - "AXIS", +) ; +#& MODIF COMMANDE DATE 16/01/2006 AUTEUR D6BHHJP J.P.LEFEBVRE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers", + sd_prod=ops.DEBUT, + + PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', + into=("OUI","NON"),defaut="OUI"), + IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", + statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), +# FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', +# typ='TXM',defaut="NON",into=("OUI","NON",) ), + BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", + statut='f',min=1,max=2, + FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', + into=('GLOBALE','VOLATILE'),), + TITRE =SIMP(statut='f',typ='TXM'), + CAS =SIMP(statut='f',typ='TXM'), + NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), + LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), + LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), + ), + IMPRESSION =FACT(statut='f',min=1,max=3, + FICHIER =SIMP(statut='o',typ='TXM'), + UNITE =SIMP(statut='o',typ='I'), + ), + CATALOGUE =FACT(statut='f',min=1,max=10, + FICHIER =SIMP(statut='o',typ='TXM'), + TITRE =SIMP(statut='f',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + CODE =FACT(fr="définition d un nom pour l'ensemble d'une étude", + statut='f',min=1,max=1, + NOM =SIMP(statut='o',typ='TXM'), + NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), + VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), + UNITE =SIMP(statut='f',typ='I',defaut=15), + ), + ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, + ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'), + ), + DEBUG =FACT(fr="option de déboggage reservée aux développeurs", + statut='f',min=1,max=1, + JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + JEVEUX =SIMP(fr="force les déchargement sur disque", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", + statut='f',typ='TXM',into=('TEST',)), + ), + MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1, + GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'), + TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1), + TAILLE =SIMP(statut='f',typ='I'), + TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), + PARTITION =SIMP(statut='f',typ='R'), + ), + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), + VALE =SIMP(statut='f',typ='I',val_min=0), + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur en pourcentage du temps maximum bornée à 180 secondes + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) + ), + ); +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR JMBHH01 J.M.PROIX +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, + UIinfo={"groupes":("Modélisation",)}, + fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n', + regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),), + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), + AFFE_SOUS_STRUC =FACT(statut='f', + regles=(UN_PARMI('TOUT','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), + ), + AFFE =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PHENOMENE =SIMP(statut='o',typ='TXM', + into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ), + b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", + fr="modelisations mécaniques", + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( + "2D_DIS_T", + "2D_DIS_TR", + "2D_FLUI_ABSO", + "2D_FLUI_PESA", + "2D_FLUI_STRU", + "2D_FLUIDE", + "3D", + "3D_ABSO", + "3D_FAISCEAU", + "3D_FLUI_ABSO", + "3D_FLUIDE", + "3D_INCO", + "3D_JOINT_CT", + "3D_SI", + "3D_GRAD_EPSI", + "3D_GRAD_VARI", + "3D_XFEM", + "AXIS", "AXIS_FLUI_STRU", "AXIS_FLUIDE", "AXIS_FOURIER", - "AXIS_HHM", - "AXIS_HM", "AXIS_INCO", "AXIS_NS", "AXIS_SI", - "AXIS_THH", - "AXIS_THHM", - "AXIS_THM", "AXIS_GRAD_VARI", "AXIS_JOINT", "AXIS_ELDI", "BARRE", "2D_BARRE", "C_PLAN", + "C_PLAN_X", "C_PLAN_NS", "C_PLAN_SI", "C_PLAN_GRAD_EPSI", @@ -4411,43 +5216,15 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, "COQUE_C_PLAN", "COQUE_D_PLAN", "D_PLAN", + "D_PLAN_X", "D_PLAN_GRAD_EPSI", "D_PLAN_GRAD_VARI", "D_PLAN_NS", "PLAN_JOINT", "PLAN_ELDI", "D_PLAN_ABSO", - "D_PLAN_HHM", - "D_PLAN_HM", "D_PLAN_INCO", "D_PLAN_SI", - "D_PLAN_THH", - "D_PLAN_THHM", - "D_PLAN_THM", - "3D_HHMD", - "3D_HMD", - "3D_THHD", - "3D_THVD", - "3D_THHMD", - "3D_THMD", - "AXIS_HH2MD", - "AXIS_HHMD", - "AXIS_HMD", - "AXIS_THHD", - "AXIS_THH2D", - "AXIS_THVD", - "AXIS_THHMD", - "AXIS_THH2MD", - "AXIS_THMD", - "D_PLAN_HHMD", - "D_PLAN_HH2MD", - "D_PLAN_HMD", - "D_PLAN_THHD", - "D_PLAN_THH2D", - "D_PLAN_THVD", - "D_PLAN_THH2MD", - "D_PLAN_THHMD", - "D_PLAN_THMD", "DIS_T", "DIS_TR", "DKT", @@ -4466,7 +5243,78 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, "Q4G", "TUYAU_3M", "TUYAU_6M", - "SHB8" + "SHB8", + "D_PLAN_HHM", + "D_PLAN_HM", + "D_PLAN_THH", + "D_PLAN_THHM", + "D_PLAN_THM", + "D_PLAN_HHMD", + "D_PLAN_HH2MD", + "D_PLAN_HMD", + "D_PLAN_THHD", + "D_PLAN_THH2D", + "D_PLAN_THVD", + "D_PLAN_THH2MD", + "D_PLAN_THHMD", + "D_PLAN_THMD", + "D_PLAN_HHMS", + "D_PLAN_HH2MS", + "D_PLAN_HMS", + "D_PLAN_THHS", + "D_PLAN_THH2S", + "D_PLAN_THVS", + "D_PLAN_THH2MS", + "D_PLAN_THHMS", + "D_PLAN_THMS", + "AXIS_THH", + "AXIS_THHM", + "AXIS_THM", + "AXIS_HHM", + "AXIS_HM", + "AXIS_HH2MD", + "AXIS_HHMD", + "AXIS_HMD", + "AXIS_THHD", + "AXIS_THH2D", + "AXIS_THVD", + "AXIS_THHMD", + "AXIS_THH2MD", + "AXIS_THMD", + "AXIS_HH2MS", + "AXIS_HHMS", + "AXIS_HMS", + "AXIS_THHS", + "AXIS_THH2S", + "AXIS_THVS", + "AXIS_THHMS", + "AXIS_THH2MS", + "AXIS_THMS", + "3D_HHM" , + "3D_HM", + "3D_THH", + "3D_THV", + "3D_THHM", + "3D_THM", + "3D_HHMD", + "3D_HMD", + "3D_THHD", + "3D_THVD", + "3D_THHMD", + "3D_THMD", + "3D_HHMS", + "3D_HMS", + "3D_THHS", + "3D_THVS", + "3D_THHMS", + "3D_THMS", + "3D_THH2MD", + "3D_THH2MS", + "3D_HH2MD", + "3D_HH2MS", + "3D_THH2S", + "3D_THH2D", + ) ) ), b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", @@ -4493,39 +5341,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, ), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -AIDE=PROC(nom="AIDE",op=42, - UIinfo={"groupes":("Modélisation",)}, - fr="Interrogation sur le catalogue des commandes et les concepts produits", - regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),), - UNITE =SIMP(statut='f',typ='I',defaut=8), - TYPE_ELEM =FACT(fr="couple type_elem option",statut='f', - INITEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - ), - CONCEPT =FACT(statut='f',max='**', - NOM =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"), - OPTION =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE", - into=("TOUT_TYPE","CREER","A_CREER",) ), - ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4545,7 +5361,7 @@ AIDE=PROC(nom="AIDE",op=42, # ====================================================================== # RESPONSABLE VABHHTS J.PELLET ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster, - fr="Assembler deux maillages sous un seul nom", + fr="Assembler deux maillages pour en former un nouveau", reentrant='n', UIinfo={"groupes":("Maillage",)}, MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,), @@ -4586,7 +5402,7 @@ ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r, OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4613,7 +5429,7 @@ def asse_matrice_prod(MATR_ELEM,**args): raise AsException("type de concept resultat non prevu") ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, - fr="Construction d une matrice assemblée",reentrant='n', + fr="Construction d'une matrice assemblée",reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, MATR_ELEM =SIMP(statut='o', typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ), @@ -4621,7 +5437,7 @@ ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 18/04/2005 AUTEUR NICOLAS O.NICOLAS +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4639,8 +5455,8 @@ ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene_r, - fr="Assemblage de vecteurs de chargement en coordonnées généralisées", +ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, + fr="Projection des chargements sur la base modale d'une sous structure", reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), @@ -4648,11 +5464,11 @@ ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene_r, b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'", CHAR_SOUS_STRUC =FACT(statut='o',max='**', SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - VECT_ASSE =SIMP(statut='o',typ=cham_no_depl_r ), + VECT_ASSE =SIMP(statut='o',typ=cham_no_sdaster ), ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4671,21 +5487,15 @@ ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene_r, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET -def asse_vecteur_prod(VECT_ELEM,**args): - if AsType(VECT_ELEM) == vect_elem_depl_r : return cham_no_depl_r - if AsType(VECT_ELEM) == vect_elem_temp_r : return cham_no_temp_r - if AsType(VECT_ELEM) == vect_elem_pres_r : return cham_no_pres_r - if AsType(VECT_ELEM) == vect_elem_pres_c : return cham_no_pres_c - raise AsException("type de concept resultat non prevu ") - -ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod, - fr="Assemblage d un second membre",reentrant='n', + +ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster, + fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), INFO =SIMP(statut='f',typ='I',into=(1,2,) ), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4733,7 +5543,7 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, COOR_CENTRE =SIMP(statut='f',typ='R',max=3), ), AMOR_INTERNE =FACT(statut='o', - ENER_POT =SIMP(statut='o',typ=tabl_ener_pot ), + ENER_POT =SIMP(statut='o',typ=table_sdaster ), GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), ), @@ -4744,7 +5554,7 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ), ), ) ; -#& MODIF COMMANDE DATE 24/01/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4763,28 +5573,9 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE JMBHH01 J.M.PROIX -def calc_cham_elem_prod(OPTION,**args): - - -# options thermiques - - if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r - if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r - -# options acoustiques - - if OPTION == "PRES_ELNO_DBEL" : return cham_elem_dbel_r - if OPTION == "PRES_ELNO_REEL" : return cham_elem_pres_r - if OPTION == "PRES_ELNO_IMAG" : return cham_elem_pres_r - -# autres options - if OPTION == "COOR_ELGA" : return cham_elem_geom_r - - raise AsException("type de concept resultat non prevu") - -CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, - fr="Calcul de champs par éléments à partir de champs solution ou de champs par éléments", +CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem, + fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés", reentrant='n', UIinfo={"groupes":("Post traitements",)}, MODELE =SIMP(statut='o',typ=modele_sdaster), @@ -4807,11 +5598,11 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, "COOR_ELGA"), ), b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP',)", - TEMP =SIMP(statut='o',typ=(cham_no_temp_r,)), + TEMP =SIMP(statut='o',typ=(cham_no_sdaster,)), ), b_acoustique =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)", - PRES =SIMP(statut='o',typ=(cham_no_pres_c,)), + PRES =SIMP(statut='o',typ=(cham_no_sdaster,)), ), @@ -4823,13 +5614,13 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, COEF_MULT =SIMP(statut='f',typ='R'), ), INST =SIMP(statut='f',typ='R',defaut= 0.E+0), - ACCE =SIMP(statut='f',typ=cham_no_depl_r), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1), NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ), MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), ANGLE =SIMP(statut='f',typ='I',defaut= 0), ) ; -#& MODIF COMMANDE DATE 24/01/2005 AUTEUR LEBOUVIE F.LEBOUVIER +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4848,13 +5639,8 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET -def calc_char_cine_prod(CHAR_CINE,**args): - if AsType(CHAR_CINE) == char_cine_meca : return cham_no_depl_r - if AsType(CHAR_CINE) == char_cine_ther : return cham_no_temp_r - if AsType(CHAR_CINE) == char_cine_acou : return cham_no_pres_c - raise AsException("type de concept resultat non prevu") -CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod, +CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster, fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)", reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, @@ -4863,7 +5649,7 @@ CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod, INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4882,11 +5668,11 @@ CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def calc_char_seisme_prod(MATR_MASS,**args ): - if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r + if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster raise AsException("type de concept resultat non prevu") CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod, - reentrant='n', + reentrant='n',fr="Calcul du chargement sismique", UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),), MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ), @@ -4900,7 +5686,7 @@ CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_pr ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4938,7 +5724,9 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f', fr="Résultat d'une commande globale"), regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),), + 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), + CONCEPT_SENSIBLE("SEPARE"), + DERIVABLE('RESULTAT'),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), @@ -4982,8 +5770,10 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f', "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA", "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM", # estimateurs erreur - "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2", - "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA", + "SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA","ERZ2_ELEM_SIGM", + "SIRE_ELNO_DEPL","ERRE_ELEM_SIGM","ERRE_ELNO_ELEM", + "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM", + "SING_ELEM","SING_ELNO_ELEM", # CRIT "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT", "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", @@ -5004,7 +5794,17 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f', PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"), fr="Plan de calcul pour les plaques excentrées" ), - + b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \ + (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)", + RESU_DUAL=SIMP(statut='o',typ=evol_elas,fr="resultat du probleme dual"),), + + b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \ + (type(OPTION)==type(()) and 'SING_ELEM' in OPTION)", + PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max= 1., + fr="precision demandee pour calculer la carte de taille des elements"),), + EXCIT =FACT(statut='f',max='**', fr="Charges contenant les températures, les efforts répartis pour les poutres...", regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), @@ -5173,11 +5973,25 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ ), b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE", - into=("SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2", - "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA", - ) ), - EXCIT =FACT(statut='f',max='**',fr="charge contenant les temperatures", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELEM_SIGM", + into=("SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA","ERZ2_ELEM_SIGM", + "SIRE_ELNO_DEPL","ERRE_ELEM_SIGM","ERRE_ELNO_ELEM", + "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM", + "SING_ELEM","SING_ELNO_ELEM", + )), + + b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \ + (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)", + RESU_DUAL=SIMP(statut='o',typ=evol_elas,fr="resultat du probleme dual"),), + + b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \ + (type(OPTION)==type(()) and 'SING_ELEM' in OPTION)", + PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1., + fr="precision demandee pour calculer la de taille des elements" ),), + + EXCIT =FACT(statut='f',max='**',fr="charge contenant les temperatures", CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), ), ), @@ -5205,11 +6019,12 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ "EXTR_ELGA_VARI","EXTR_ELNO_VARI", # CRIT "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO", - "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "ERRE_ELEM_SIGM","ERRE_ELNO_ELEM","ERZ1_ELEM_SIGM","ERZ2_ELEM_SIGM", + "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM", "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", - "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA", - "ENDO_ELNO_SIGA","ENDO_ELNO_SINO", + "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA","SING_ELEM", + "SING_ELNO_ELEM","ENDO_ELNO_SIGA","ENDO_ELNO_SINO", "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","ENEL_ELGA","ENEL_ELNO_ELGA", "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI"), ), @@ -5224,7 +6039,19 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ NOM_CHAM =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"), NOM_CMP =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"), PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ), - + + b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \ + (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)", + RESU_DUAL=SIMP(statut='o',typ=(evol_elas,evol_noli),fr="resultat du probleme dual"),), + + b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \ + (type(OPTION)==type(()) and 'SING_ELEM' in OPTION)", + PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1., + fr="precision demandee pour calculer la carte de taille des elements" ),), + + b_extr = BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')", NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire", into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR", @@ -5364,10 +6191,23 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE", - into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELEM_SIGM", + into=("ERRE_ELEM_SIGM","ERRE_ELNO_ELEM","ERZ1_ELEM_SIGM","ERZ2_ELEM_SIGM", "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", - ) ), + "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM", + "SING_ELEM","SING_ELNO_ELEM",) ), + + b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \ + (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)", + RESU_DUAL =SIMP(statut='o',typ=(evol_elas,evol_noli),fr="resultat du probleme dual")), + + b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \ + (type(OPTION)==type(()) and 'SING_ELEM' in OPTION)", + PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1., + fr="precision demandee pour calculer la carte de taille des elements" ),), + b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\ (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\ (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\ @@ -5385,7 +6225,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP", "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META", - "SOUR_ELGA_ELEC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM",),), + "SOUR_ELGA_ELEC","ERRE_ELEM_TEMP","ERRE_ELNO_ELEM",),), EXCIT =FACT(statut='f',max='**', regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), CHARGE =SIMP(statut='o',typ=char_ther ), @@ -5419,14 +6259,14 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ PUIS_PULS =SIMP(statut='f',typ='I'), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), ), - + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/01/2005 AUTEUR F1BHHAJ J.ANGLES +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5445,13 +6285,14 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args): - if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem_facy_r - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_facy_r + if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster raise AsException("type de calcul non prevu") CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n', - fr="Calcul d un cham de dommage ou d un cisaillement maximal dans le plan critique.", + fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique" + +" dans lequel le cisaillement est maximal.", UIinfo={"groupes":("Post traitements",)}, TYPE_CALCUL = SIMP(statut='o',typ='TXM', @@ -5494,9 +6335,9 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), ), b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV") ), + CRITERE =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV","FATEMI_SOCIE") ), PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), ), b_fati_grmano =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)", MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), @@ -5505,7 +6346,7 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5525,20 +6366,22 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant # ====================================================================== CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, reentrant='n', + fr="Calculer les paramètres modaux d'une structure soumise à un écoulement", UIinfo={"groupes":("Matrices/vecteurs",)}, - VITE_FLUI =FACT(statut='o', + VITE_FLUI =FACT(statut='f', fr="Définir la plage de vitesse fluide étudiée", - VITE_MIN =SIMP(statut='o',typ='R' ), - VITE_MAX =SIMP(statut='o',typ='R' ), - NB_POIN =SIMP(statut='o',typ='I' ), + VITE_MIN =SIMP(statut='f',typ='R' ), + VITE_MAX =SIMP(statut='f',typ='R' ), + NB_POIN =SIMP(statut='f',typ='I' ), ), BASE_MODALE =FACT(statut='o', - regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),), + regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),), MODE_MECA =SIMP(statut='o',typ=mode_meca ), NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - AMOR_UNIF =SIMP(statut='f',typ='R' ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**',val_min=0.E+00), + AMOR_UNIF =SIMP(statut='f',typ='R',val_min=0.E+00 ), + AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00), ), TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ), IMPRESSION =FACT(statut='f', @@ -5547,7 +6390,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 07/03/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 02/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5565,16 +6408,24 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 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 - elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster - elif AsType(FONCTION)==fonction_c : return fonction_c - elif AsType(FONCTION)==formule : return fonction_sdaster - elif AsType(FONCTION)==para_sensi : return para_sensi - raise AsException("type de concept resultat non prevu") +def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args): + 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: + if NOM_PARA_FONC != None: + return nappe_sdaster + return fonction_sdaster + elif AsType(FONCTION) == para_sensi: + return para_sensi + raise AsException("type de concept resultat non prevu") CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, docu="U4.32.01-e",reentrant='n', + fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables", UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), @@ -5597,7 +6448,7 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 24/05/2005 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 19/09/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5652,13 +6503,13 @@ def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C, if (AsType(vale) == fonction_sdaster ) : return fonction_c if (AsType(vale) == fonction_c) : return fonction_sdaster if (CORR_ACCE != None): return fonction_sdaster - if (LISS_ENVELOP!= None): return AsType(LISS_ENVELOP[0]['FONCTION']) + if (LISS_ENVELOP!= None): return nappe_sdaster if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION']) if (ABS != None): return fonction_sdaster raise AsException("type de concept resultat non prevu") CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_fonction_prod - ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe", + ,fr="Effectue des opérations mathématiques sur des concepts de type fonction", reentrant='n', UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','COMB','COMB_C','ENVELOPPE', @@ -5681,29 +6532,11 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), ), LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), - AMOR =SIMP(statut='f',typ='R',max='**'), - FREQ_MIN =SIMP(statut='f',typ='R'), - FREQ_MAX =SIMP(statut='f',typ='R'), - FREQ_CREUX =SIMP(statut='f',typ='R',max='**'), - ELARG =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL") ), - b_elarg_glob = BLOC ( condition = " (ELARG=='GLOBAL') ", - GAUCHE =SIMP(statut='f',typ='R',defaut =10.0E0 ), - DROITE =SIMP(statut='f',typ='R',defaut =10.0E0 ), - ), - b_elarg_loc = BLOC ( condition = " (ELARG=='LOCAL') ", - FREQ_1 =SIMP(statut='o',typ='R'), - FREQ_2 =SIMP(statut='o',typ='R' ), - GAUCHE =SIMP(statut='f',typ='R',defaut =10.0E0 ), - DROITE =SIMP(statut='f',typ='R',defaut =10.0E0 ), - ), - TOLE_LISS =SIMP(statut='f',typ='R',defaut=25.0E0), - ECH_FREQ_REF = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_oui =BLOC ( condition = "(ECH_FREQ_REF=='OUI') ", - regles=(UN_PARMI("LIST_FREQ", "AMOR_ECH"),), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - AMOR_ECH =SIMP(statut='f',typ='R',max='**'), - ), + NAPPE =SIMP(statut='o',typ=nappe_sdaster ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut =0.2), + FREQ_MAX =SIMP(statut='f',typ='R',defaut =35.5), + ELARG =SIMP(statut='f',typ='R',defaut =0.1 ), + TOLE_LISS =SIMP(statut='f',typ='R',defaut =0.25 ), ), SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur", METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ), @@ -5769,7 +6602,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5787,8 +6620,9 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene_r, - fr="calcul de la force ajoutee ", +CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, + fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure" + +" en analyse sismique", reentrant ='n', UIinfo={"groupes":("Matrices/vecteurs",)}, @@ -5841,7 +6675,7 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene_r, ), ) ; -#& MODIF COMMANDE DATE 11/10/2004 AUTEUR LEBOUVIE F.LEBOUVIER +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5859,238 +6693,8 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene_r, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca, - fr="Calcul du taux de restitution local d énergie",reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - regles=(UN_PARMI('RESULTAT','DEPL'), - PRESENT_PRESENT('VITE','ACCE'), - UN_PARMI('R_INF','R_INF_FO'), - PRESENT_PRESENT('R_INF','R_SUP'), - PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - ACCE =SIMP(statut='f',typ=cham_no_depl_r), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),), - b_extrac =BLOC(condition="RESULTAT != None",fr="extraction d un champ", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - ), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), - - COMP_ELAS =FACT(statut='f', - RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", - into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ), - ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_LINE =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_TRAC =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ), - - COMP_INCR =FACT(statut='f', - RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", - into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ), - ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - VMIS_ISOT_TRAC =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - VMIS_ISOT_LINE =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ), - - ETAT_INIT =FACT(statut='f', - SIGM =SIMP(statut='f',typ=cham_elem_sief_r), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - ), - - OPTION =SIMP(statut='f',typ='TXM',defaut="CALC_G", - into=("CALC_G","CALC_K_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ), - b_g =BLOC(condition="OPTION=='CALC_G'", - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ), - ), - b_g_lglo =BLOC(condition="OPTION=='CALC_G_LGLO'", - PROPAGATION =SIMP(statut='o',typ='R'), - THETA =SIMP(statut='o',typ=theta_geom), - DIRE_THETA =SIMP(statut='f',typ=cham_no_depl_r), - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ), - ), - b_g_bilin =BLOC(condition="OPTION=='G_BILINEAIRE'", - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - ), - b_k_g =BLOC(condition="OPTION=='CALC_K_G'", - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - FISSURE =SIMP(statut='o',typ=fiss_xfem,max=1), - ), - b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", - BORNES =FACT(statut='o',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), - ), - - DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ), - - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 11/10/2004 AUTEUR LEBOUVIE F.LEBOUVIER -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th, - fr="Calcul du taux de restitution d énergie par la méthode theta en thermo-élasticité en 2D ou en 3D", - reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - regles=(UN_PARMI('RESULTAT','DEPL'), - PRESENT_PRESENT('VITE','ACCE'), - EXCLUS('COMP_ELAS','COMP_INCR'),), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - THETA =SIMP(statut='o',typ=(theta_geom,cham_no_depl_r),), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - ACCE =SIMP(statut='f',typ=cham_no_depl_r), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),), - - b_extrac =BLOC(condition="RESULTAT != None",fr="extraction d un champ", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - ), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), - - COMP_ELAS =FACT(statut='f', - RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", - into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ), - ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_LINE =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_TRAC =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ), - COMP_INCR =FACT(statut='f', - RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", - into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ), - ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - VMIS_ISOT_TRAC =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - VMIS_ISOT_LINE =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ), - ETAT_INIT =FACT(statut='f', - SIGM =SIMP(statut='f',typ=cham_elem_sief_r), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="CALC_G", - into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX",) ), - b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", - BORNES =FACT(statut='o',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - ), - b_calc_k_g =BLOC(condition="OPTION=='CALC_K_G'", - FOND_FISS =SIMP(statut='o',typ=fond_fiss), - ), - b_calc_g_lagr =BLOC(condition="OPTION=='CALC_G_LAGR'", - PROPAGATION =SIMP(statut='o',typ='R'), - ), - - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters"), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp, - fr="Calcul d une matrice interspectrale d une fonction du temps", +CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_sdaster, + fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps", reentrant='n', UIinfo={"groupes":("Fonction",)}, INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), @@ -6102,7 +6706,7 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp, TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6121,7 +6725,7 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, - fr="Calcul des matrices de masse, d amortissement ou de raideur ajoutées", + fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés", reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'), @@ -6132,7 +6736,7 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CHARGE =SIMP(statut='o',typ=char_ther ), MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_depl_r ), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster ), MODELE_GENE =SIMP(statut='f',typ=modele_gene ), NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), @@ -6165,7 +6769,7 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, ), ), ) ; -#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6199,6 +6803,7 @@ def calc_matr_elem_prod(OPTION,**args): if OPTION == "AMOR_MECA" : return matr_elem_depl_r if OPTION == "IMPE_MECA" : return matr_elem_depl_r if OPTION == "ONDE_FLUI" : return matr_elem_depl_r + if OPTION == "AMOR_MECA_ABSO" : return matr_elem_depl_r if OPTION == "RIGI_MECA_HYST" : return matr_elem_depl_c if OPTION == "RIGI_THER" : return matr_elem_temp_r if OPTION == "MASS_THER" : return matr_elem_temp_r @@ -6215,7 +6820,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod OPTION =SIMP(statut='o',typ='TXM', into=("RIGI_MECA","MASS_MECA","RIGI_GEOM", "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA", - "ONDE_FLUI","MASS_FLUI_STRU","RIGI_FLUI_STRU", + "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU", "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU", "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R", "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST", @@ -6266,7 +6871,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'", MODELE =SIMP(statut='o',typ=modele_sdaster ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r ), + SIEF_ELGA =SIMP(statut='o',typ=cham_elem ), MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), ), @@ -6286,7 +6891,18 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), ), - + + b_amor_meca_abso =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'", + regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), + ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + ), + b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", MODELE =SIMP(statut='o',typ=modele_sdaster ), CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ), @@ -6345,7 +6961,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), ), ) ; -#& MODIF COMMANDE DATE 04/04/2005 AUTEUR CIBHHPD L.SALMONA +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6365,20 +6981,23 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod # ====================================================================== CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', UIinfo={"groupes":("Post traitements",)}, - fr="Calcule la métallurgie a partir du résultat du calcul thermique", + fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique", MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), RESULTAT =SIMP(statut='o',typ=evol_ther ), ETAT_INIT =FACT(statut='o', - regles=(UN_PARMI('NUME_INIT', 'INST_INIT', 'META_INIT_ELNO',),), - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_INIT =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R'), - b_inst =BLOC(condition="(INST_INIT != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - META_INIT_ELNO =SIMP(statut='f',typ=carte_var2_r ), + regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),), + EVOL_THER =SIMP(statut='f',typ=evol_ther ), + META_INIT_ELNO =SIMP(statut='f',typ=carte_sdaster ), + b_etat =BLOC(condition="EVOL_THER != None", + regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),), + NUME_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + b_inst =BLOC(condition="INST_INIT != None", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ) + ), + ), ), COMP_INCR =FACT(statut='o',max='**', RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ), @@ -6392,7 +7011,7 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', OPTION =SIMP(statut='f',typ='TXM' ,into=("META_ELNO_TEMP",) ), ) ; -#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6416,6 +7035,7 @@ def calc_no_prod(RESULTAT,**args): raise AsException("type de concept resultat non prevu") CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o', + fr="Enrichir une SD Résultat par des champs aux noeuds calculés à partir de champs aux éléments évalués aux noeuds", UIinfo={"groupes":("Post traitements",)}, RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, mode_acou,mode_stat,mode_stat_depl,mode_stat_acce, @@ -6426,7 +7046,9 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o', ang="List of sensitivity parameters"), regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),), + 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), + CONCEPT_SENSIBLE("SEPARE"), + DERIVABLE('RESULTAT'),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), @@ -6457,7 +7079,7 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o', "EPSI_NOEU_DEPL", "EPSP_NOEU" ,"EPSP_NOEU_ZAC", "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM", - "ERRE_NOEU_ELGA", + "ERRE_NOEU_ELEM","QIRE_NOEU_ELEM", "FLUX_NOEU_TEMP", "HYDR_NOEU_ELGA", "INTE_NOEU_ACTI","INTE_NOEU_REAC", @@ -6493,213 +7115,59 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o', GROUP_NO_RESU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), NOEUD_RESU =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. +# COPYRIGHT (C) 1991 - 2001 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. # ====================================================================== -# RESPONSABLE ASSIRE A.ASSIRE - -from Macro.calc_precont_ops import calc_precont_ops - - -# =========================================================================== -# CATALOGUE DE LA MACRO "CALC_PRECONT" -# ----------------------------------------- -# USAGE : -# -# -# =========================================================================== - -CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli, - fr="imposer la tension definie par le BPEL dans les cables", - reentrant='f', - reuse =SIMP(statut='f',typ='evol_noli'), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), - CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), - INCREMENT =FACT(statut='o', - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - INST_INIT =SIMP(statut='f',typ='R'), - INST_FIN =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), - SUBD_PAS_MINI =SIMP(statut='f',typ='R'), - COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), - ), - - NEWTON =FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), - 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), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ), - RECH_LINEAIRE =FACT(statut='f', - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), - ), - CONVERGENCE =FACT(statut='d', - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), - RESI_INTE_RELA =SIMP(statut='f',typ='R' - ,defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", - into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), - ), - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - SOLV_NON_LOCAL =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - LAGR_NON_LOCAL =FACT(statut='f', - ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), - RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), - RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), - R =SIMP(statut='f',typ='R',defaut= 1000.), - ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), - ), - PARM_THETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_meca), - ), - - COMP_INCR =C_COMP_INCR(), - ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - fr="Affectation d un champ sur le maillage (mécanique de la rupture)", - regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'), - PRESENT_ABSENT('THETA_2D','DIRE_THETA'), - EXCLUS('DIRECTION','DIRE_THETA'),), - OPTION =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - THETA_3D =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), - UN_PARMI('MODULE','MODULE_FO'), - ENSEMBLE('MODULE','R_INF','R_SUP'), - ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='f',typ='R'), - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - b_theta_3d =BLOC(condition="THETA_3D != None", - FOND_FISS =SIMP(statut='f',typ=fond_fiss),), - DIRE_THETA =SIMP(statut='f',typ=(cham_no_depl_r) ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - THETA_2D =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='o',typ='R'), - R_INF =SIMP(statut='o',typ='R'), - R_SUP =SIMP(statut='o',typ='R'), +CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Définir un champ theta pour le calcul du taux de restitution d'énergie" + +" ou des facteurs d'intensité de contraintes", + regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'), + PRESENT_ABSENT('THETA_2D','DIRE_THETA'), + EXCLUS('DIRECTION','DIRE_THETA'),), + OPTION =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + THETA_3D =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), + UN_PARMI('MODULE','MODULE_FO'), + ENSEMBLE('MODULE','R_INF','R_SUP'), + ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MODULE =SIMP(statut='f',typ='R'), + R_INF =SIMP(statut='f',typ='R'), + R_SUP =SIMP(statut='f',typ='R'), + MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + b_theta_3d =BLOC(condition="THETA_3D != None", + FOND_FISS =SIMP(statut='f',typ=fond_fiss),), + DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + THETA_2D =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MODULE =SIMP(statut='o',typ='R'), + R_INF =SIMP(statut='o',typ='R'), + R_SUP =SIMP(statut='o',typ='R'), ), THETA_BANDE =FACT(statut='f',max='**', MODULE =SIMP(statut='o',typ='R'), @@ -6712,7 +7180,7 @@ CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6775,7 +7243,7 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr ), b_forc_noda =BLOC(condition = "OPTION=='FORC_NODA'", - SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r), + SIEF_ELGA =SIMP(statut='o',typ=cham_elem), CARA_ELEM =SIMP(statut='f',typ=cara_elem), MODELE =SIMP(statut='f',typ=modele_sdaster), ), @@ -6788,7 +7256,7 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6807,56 +7275,33 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES -def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args): - - if COMB_R != None: - vale=COMB_R[0]['CHAM_ELEM'] - elif COMB_C != None: - vale=COMB_C[0]['CHAM_ELEM'] - elif COMB_FOURIER != None: - vale=COMB_FOURIER[0]['CHAM_ELEM'] - else : - raise AsException("type de concept resultat non prevu") - - if AsType(vale) == cham_elem_sief_r : return cham_elem_sief_r - if AsType(vale) == cham_elem_flux_r : return cham_elem_flux_r - if AsType(vale) == cham_elem_epsi_r : return cham_elem_epsi_r - if AsType(vale) == cham_elem_ener_r : return cham_elem_ener_r - if AsType(vale) == cham_elem_crit_r : return cham_elem_crit_r - if AsType(vale) == cham_elem_dbel_r : return cham_elem_dbel_r - if AsType(vale) == cham_elem_pres_r : return cham_elem_pres_r - if AsType(vale) == cham_elem_sief_c : return cham_elem_sief_c - raise AsException("type de concept resultat non prevu") -COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,reentrant='f', - fr="Combinaison linéaire de champs par éléments", +COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=cham_elem,reentrant='f', + fr="Effectuer la combinaison linéaire de champs par éléments", UIinfo={"groupes":("Résultats et champs",)}, regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'), PRESENT_PRESENT('COMB_FOURIER','ANGL'),), COMB_R =FACT(statut='f',max='**', PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), COEF_R =SIMP(statut='o',typ='R'), - CHAM_ELEM =SIMP(statut='o', - typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r, - cham_elem_ener_r,cham_elem_crit_r,cham_elem_dbel_r, - cham_elem_pres_r,cham_elem_sief_c ) ), + CHAM_ELEM =SIMP(statut='o',typ=cham_elem), ), COMB_C =FACT(statut='f',max='**', regles=(UN_PARMI('COEF_R','COEF_C', ),), COEF_R =SIMP(statut='f',typ='R'), COEF_C =SIMP(statut='f',typ='C'), - CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r) ), + CHAM_ELEM =SIMP(statut='o',typ=cham_elem), ), COMB_FOURIER =FACT(statut='f',max='**', COEF_R =SIMP(statut='f',typ='R',defaut= 1.), NUME_MODE =SIMP(statut='o',typ='I'), TYPE_MODE =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ), - CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r ) ), + CHAM_ELEM =SIMP(statut='o',typ=cham_elem), ), ANGL =SIMP(statut='f',typ='R' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6875,45 +7320,31 @@ COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,ree # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES -def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args): - if COMB_C != None: - type_mat = AsType(COMB_C[0]['CHAM_NO']) - if type_mat in (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c - if type_mat in (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c - if type_mat in (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c - elif COMB_R != None: +def comb_cham_no_prod(COMB_R,**args): + typ=cham_no_sdaster + if COMB_R != None: type_mat = AsType(COMB_R[0]['CHAM_NO']) - if type_mat in (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r - if type_mat in (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r - if type_mat in (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r - if type_mat == matr_asse_gene_r : return matr_asse_gene_r - elif COMB_FOURIER != None: - type_mat = AsType(COMB_FOURIER[0]['CHAM_NO']) - if type_mat == cham_no_temp_r : return cham_no_temp_r - if type_mat == cham_no_depl_r : return cham_no_depl_r - raise AsException("type de concept resultat non prevu") - + if type_mat == matr_asse_gene_r : typ= matr_asse_gene_r + return typ COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod - ,fr="Combinaison linéaire de champs aux noeuds", + ,fr="Effectuer la combinaison linéaire de champs aux noeuds", reentrant='f', UIinfo={"groupes":("Résultats et champs",)}, regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),), COMB_R =FACT(statut='f',max='**', PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ), - CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c - ,cham_no_pres_r,cham_no_pres_c ) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), COEF_R =SIMP(statut='o',typ='R' ), ), COMB_C =FACT(statut='f',max='**', regles=(UN_PARMI('COEF_R','COEF_C' ),), - CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c - ,cham_no_depl_c,cham_no_pres_c ) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), COEF_R =SIMP(statut='f',typ='R' ), COEF_C =SIMP(statut='f',typ='C' ), ), COMB_FOURIER =FACT(statut='f',max='**', - CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), COEF_R =SIMP(statut='f',typ='R',defaut= 1. ), NUME_MODE =SIMP(statut='o',typ='I' ), TYPE_MODE =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ), @@ -6922,7 +7353,7 @@ COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod ANGL =SIMP(statut='o',typ='R' ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6942,14 +7373,14 @@ COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, - reentrant='n', + reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières", UIinfo={"groupes":("Post traitements",)}, RESULTAT =SIMP(statut='o',typ=fourier_elas ), ANGL =SIMP(statut='o',typ='R',max='**'), NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=5, into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6985,7 +7416,7 @@ def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): raise AsException("type de concept resultat non prevu") COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, - fr="Combinaison linéaire de matrices assemblées", + fr="Effectuer la combinaison linéaire de matrices assemblées", reentrant='f', UIinfo={"groupes":("Résultats et champs",)}, regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),), @@ -7011,7 +7442,7 @@ COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, ), SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7052,7 +7483,7 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat, LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), - MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), + MASS_INER =SIMP(statut='f',typ=table_sdaster ), CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), EXCIT =FACT(statut='o',max='**', @@ -7125,7 +7556,7 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # RESPONSABLE VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -7145,28 +7576,22 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def crea_champ_prod(TYPE_CHAM,**args): - import string - grandeur=string.lower(TYPE_CHAM[5:]) - if TYPE_CHAM[0:5] == "CART_" : - uu="carte_"+grandeur + return carte_sdaster elif TYPE_CHAM[0:5] == "NOEU_" : - uu="cham_no_"+grandeur + return cham_no_sdaster elif TYPE_CHAM[0:2] == "EL" : - uu="cham_elem_"+grandeur + return cham_elem else : raise AsException("type de concept resultat_sdaster non prevu") - vv=eval(uu) ; return vv - CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, - fr=" ",reentrant='n', + fr="Création d'un champ ",reentrant='n', UIinfo={"groupes":("Résultats et champs",)}, TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx - # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs - + # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs # SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS : # ------------------------------------------------------------------ regles=(EXCLUS('NUME_DDL','CHAM_NO',)), @@ -7178,8 +7603,16 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, # ------------------------------------------------------------------ OPTION =SIMP(statut='f',typ='TXM'), - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ), + OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE") ), +# ------------------------------------------------------------------ + b_norm =BLOC(condition = "OPERATION == 'NORMALE'", + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), +# ------------------------------------------------------------------ b_affe =BLOC(condition = "OPERATION == 'AFFE'", regles=(UN_PARMI('MAILLAGE','MODELE'),), MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), @@ -7201,6 +7634,7 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), ), ), +# ------------------------------------------------------------------ b_asse =BLOC(condition = "OPERATION == 'ASSE'", regles=(UN_PARMI('MAILLAGE','MODELE'),), MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), @@ -7215,34 +7649,47 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ), CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), COEF_R =SIMP(statut='f',typ='R',defaut= 1. ), ), ), +# ------------------------------------------------------------------ b_eval =BLOC(condition = "OPERATION == 'EVAL'", - CHAM_F =SIMP(statut='o',typ=(cham_gd_sdaster)), - CHAM_PARA =SIMP(statut='o',typ=(cham_gd_sdaster),max='**'), + CHAM_F =SIMP(statut='o',typ=cham_gd_sdaster), + CHAM_PARA =SIMP(statut='o',typ=cham_gd_sdaster,max='**'), ), +# ------------------------------------------------------------------ b_disc =BLOC(condition = "OPERATION == 'DISC'", MODELE =SIMP(statut='f',typ=(modele_sdaster) ), PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), + CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), ), +# ------------------------------------------------------------------ b_extr =BLOC(condition = "OPERATION == 'EXTR'", - regles=(UN_PARMI('MAILLAGE','FISSURE','RESULTAT'),), + regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE'),), MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), FISSURE =SIMP(statut='f',typ=(fiss_xfem) ), RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), - b_extr_maillage =BLOC(condition = "MAILLAGE != None", + TABLE =SIMP(statut='f',typ=(table_sdaster),min=1,max=1), + b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None", NOM_CHAM =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)), ), b_extr_fissure =BLOC(condition = "FISSURE != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO",)), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO","STNO","STNOR","BASLOC")), ), + b_extr_table =BLOC(condition = "TABLE != None", + regles=( EXCLUS('MODELE','MAILLAGE'), + EXCLUS('PROL_ZERO','MAILLAGE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster),), + MODELE =SIMP(statut='f',typ=(modele_sdaster),), + OPTION =SIMP(statut='f',typ='TXM'), + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + ), b_extr_resultat =BLOC(condition = "RESULTAT != None", + regles=(DERIVABLE('RESULTAT'),), SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), fr="Paramètre de sensibilité.", ang="Sensitivity parameter"), @@ -7253,8 +7700,9 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, b_type_maxi =BLOC(condition = "TYPE_MAXI != None", TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ), - regles=(AU_PLUS_UN('LIST_INST','LIST_FREQ','NUME_ORDRE','INST', + regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST', 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), @@ -7264,18 +7712,12 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), ANGL =SIMP(statut='f',typ='R',max='**'), - - b_tout =BLOC(condition = "(LIST_INST,LIST_FREQ,NUME_ORDRE,INST,\ - FREQ,NUME_MODE,NOEUD_CMP,NOM_CAS,ANGL)\ - ==(None ,None ,None ,None,\ - None,None ,None ,None ,None)", - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), ), # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre : b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None", - regles=(AU_PLUS_UN('INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),), + regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),), + NUME_ORDRE =SIMP(statut='f',typ='I'), INST =SIMP(statut='f',typ='R'), FREQ =SIMP(statut='f',typ='R'), NUME_MODE =SIMP(statut='f',typ='I'), @@ -7283,11 +7725,6 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, NOM_CAS =SIMP(statut='f',typ='TXM'), ANGL =SIMP(statut='f',typ='R'), - b_nume_1 =BLOC(condition = "(INST,FREQ,NUME_MODE,NOEUD_CMP,NOM_CAS,ANGL)\ - ==(None,None,None ,None ,None ,None)", - NUME_ORDRE =SIMP(statut='f',typ='I',defaut=1,), - ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), ), @@ -7297,12 +7734,12 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, ), # fin bloc b_extr ), -# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT : +# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT : #----------------------------------------------------- INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 26/04/2005 AUTEUR LAVERNE J.LAVERNE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # RESPONSABLE MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -7322,7 +7759,7 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, - reentrant='n', + reentrant='n',fr="Crée un maillage à partir d'un maillage existant", UIinfo={"groupes":("Maillage",)}, regles=(EXCLUS('ECLA_PG','CREA_MAILLE'), EXCLUS('ECLA_PG','CREA_GROUP_MA'), @@ -7433,8 +7870,8 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, GROUP_MA =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), REPERE =FACT(statut='f',max='**', - fr="changement de repère servant à déterminer les caractéristiques d une section de poutre", - TABLE =SIMP(statut='o',typ=tabl_cara_geom, + fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre", + TABLE =SIMP(statut='o',typ=table_sdaster, fr="Nom de la table contenant les caractéristiques de la section de poutre" ), NOM_ORIG =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ), NOM_ROTA =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére" ), @@ -7458,7 +7895,7 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, # INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 17/08/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 24/01/2006 AUTEUR D6BHHJP J.P.LEFEBVRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7483,19 +7920,20 @@ def crea_resu_prod(TYPE_RESU,**args): if TYPE_RESU == "MULT_ELAS" : return mult_elas if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas if TYPE_RESU == "EVOL_VARC" : return evol_varc + if TYPE_RESU == "EVOL_CHAR" : return evol_char raise AsException("type de concept resultat non prevu") CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', UIinfo={"groupes":("Modélisation",)}, - fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", + fr="Créer ou enrichir une structure de donnees resultat à partir de champs aux noeuds", OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ",), fr="choix de la fonction a activer",), b_affe =BLOC(condition = "OPERATION == 'AFFE'", - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS", - "EVOL_THER","EVOL_VARC",) ), + TYPE_RESU =SIMP(statut='o',position='global',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS", + "EVOL_THER","EVOL_VARC","EVOL_CHAR",) ), NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), AFFE =FACT(statut='o',max='**', @@ -7504,8 +7942,12 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', CHAM_MATER =SIMP(statut='f',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - # affectation de plusieurs instants à l'aide d'un champ aux noeuds de fonctions du temps: - b_fonc =BLOC(condition = "AsType(CHAM_GD) in (cham_no_temp_f,cham_no_depl_f)", + b_mult_elas =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ", + NOM_CAS =SIMP(statut='f',typ='TXM' ), + ), + b_evol =BLOC(condition = "((TYPE_RESU=='EVOL_ELAS') or (TYPE_RESU=='EVOL_NOLI') or (TYPE_RESU=='EVOL_THER')\ + or (TYPE_RESU=='EVOL_VARC') or (TYPE_RESU=='EVOL_CHAR'))", + regles=(UN_PARMI('INST','LIST_INST'),), INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), LIST_INST =SIMP(statut='f',typ=listr8_sdaster), NUME_INIT =SIMP(statut='f',typ='I', val_min=1), @@ -7513,19 +7955,9 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), - - # affectation d'un seul nume_ordre : - b_reel =BLOC(condition = "AsType(CHAM_GD) not in (cham_no_temp_f,cham_no_depl_f)", - regles=(UN_PARMI('NOM_CAS','NUME_MODE','INST','LIST_INST'),), - NOM_CAS =SIMP(statut='f',typ='TXM' ), + b_fourier =BLOC(condition = "TYPE_RESU == 'FOURIER_ELAS' ", NUME_MODE =SIMP(statut='f',typ='I'), TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - NUME_INIT =SIMP(statut='f',typ='I', val_min=1), - NUME_FIN =SIMP(statut='f',typ='I', val_min=1), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), ), ), @@ -7580,7 +8012,7 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', PROL_RTZ =FACT(statut='o', regles=(EXCLUS('INST','LIST_INST'),), MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), - TABLE =SIMP(statut='o',typ=tabl_post_rele,fr="Table issue de post_releve_t"), + TABLE =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"), INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), LIST_INST =SIMP(statut='f',typ=listr8_sdaster), b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", @@ -7596,7 +8028,63 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', ), ) ; -#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 03/10/2005 AUTEUR NICOLAS O.NICOLAS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale, + reentrant='f', + fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale", + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),), + CLASSIQUE =FACT(statut='f', + INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), + MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), + NMAX_MODE =SIMP(statut='f',typ='I',defaut= 10 ), + ), + RITZ =FACT(statut='f',max='**', + regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),), + MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), + NMAX_MODE =SIMP(statut='f',typ='I',defaut= 999 ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), + MULT_ELAS =SIMP(statut='f',typ=mult_elas ), + BASE_MODALE =SIMP(statut='f',typ=base_modale ), + ), + b_ritz =BLOC(condition = "RITZ != None", + INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ), + NUME_REF =SIMP(statut='o',typ=nume_ddl_sdaster ), + ORTHO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + fr="Reorthonormalisation de la base de Ritz" ), + b_ortho =BLOC(condition = "ORTHO == 'OUI' ", + MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + ), + DIAG_MASS =FACT(statut='f',max='**', + MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), + MODE_STAT =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), + ), + ORTHO_BASE =FACT(statut='f',max='**', + BASE =SIMP(statut='o',typ=(mode_meca,mode_stat_depl,mode_stat_acce,mode_stat_forc,mult_elas,base_modale)), + MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG @@ -7614,196 +8102,12 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def crea_table_prod(TYPE_TABLE,**args): - if TYPE_TABLE == "TABLE" : return table_sdaster - if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom - 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, - fr="Creation d'une table a partir d'une fonction ou de deux listes", - reentrant='n',UIinfo={"groupes":("Table",)}, - - regles=(EXCLUS('FONCTION','LISTE')), - - TYPE_TABLE=SIMP(statut='f',typ='TXM',defaut="TABLE", - into=("TABLE", - "TABL_CARA_GEOM", - "TABL_POST_RELE", - "TABL_POST_USUR", - "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')), - PARA=SIMP(statut='o',typ='TXM'), - TYPE_K=SIMP(statut='f',typ='TXM',defaut='K8', - into=('K8','K16','K24')), - NUME_LIGN=SIMP(statut='f',typ='I',max='**'), - LISTE_I=SIMP(statut='f',typ='I',max='**'), - LISTE_R=SIMP(statut='f',typ='R',max='**'), - LISTE_K=SIMP(statut='f',typ='TXM', max='**')), - FONCTION=FACT(statut='f',min=1,max=1, - fr="Creation d'une table a partir d'une fonction", - FONCTION=SIMP(statut='o',typ=fonction_sdaster), - PARA=SIMP(statut='f',typ='TXM',min=2,max=2)), - TITRE=SIMP(statut='f',typ='TXM',max='**'), -) ; - +from Macro.defi_cable_bp_ops import defi_cable_bp_ops -#& MODIF COMMANDE DATE 22/03/2005 AUTEUR D6BHHJP J.P.LEFEBVRE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Ouverture d une étude. Allocation des ressources mémoire et disque", - sd_prod=ops.DEBUT, - - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=1,max=3, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', - into=('GLOBALE','VOLATILE','LOCALE'),), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - IMPRESSION =FACT(statut='f',min=1,max=3, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='o',typ='I'), - ), - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - CODE =FACT(fr="définition d un nom pour l'ensemble d'une étude", - statut='f',min=1,max=1, - NOM =SIMP(statut='o',typ='TXM'), - NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), - VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), - UNITE =SIMP(statut='f',typ='I',defaut=15), - ), - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TEST',)), - ), - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1, - GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'), - TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1), - TAILLE =SIMP(statut='f',typ='I'), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - PARTITION =SIMP(statut='f',typ='R'), - ), - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), - VALE =SIMP(statut='f',typ='I',val_min=0), - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur en pourcentage du temps maximum bornée à 180 secondes - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) - ), - ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale, - reentrant='f', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),), - CLASSIQUE =FACT(statut='f', - INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',defaut= 10 ), - ), - RITZ =FACT(statut='f',max='**', - regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',defaut= 999 ), - MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), - MULT_ELAS =SIMP(statut='f',typ=mult_elas ), - BASE_MODALE =SIMP(statut='f',typ=base_modale ), - ), - DIAG_MASS =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - MODE_STAT =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), - ), -# le bloc conditionnel remplace-t-il PRESENT_PRESENT('RITZ','NUME_REF'), -# PRESENT_ABSENT('INTERF_DYNA','CLASSIQUE'), - b_ritz =BLOC(condition = "RITZ != None", - INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ), - NUME_REF =SIMP(statut='o',typ=nume_ddl_sdaster ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. -# ====================================================================== - -from Macro.defi_cable_bp_ops import defi_cable_bp_ops - -# =========================================================================== -# CATALOGUE DE LA MACRO "DEFI_CABLE_BP" -# ----------------------------------------- +# =========================================================================== +# CATALOGUE DE LA MACRO "DEFI_CABLE_BP" +# ----------------------------------------- # # USAGE : # Entrée : @@ -7827,8 +8131,8 @@ from Macro.defi_cable_bp_ops import defi_cable_bp_ops # =========================================================================== DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=cabl_precont, - fr="", - reentrant='n', + fr="Calculer les profils initiaux de tension le long des cables de précontrainte d'une structure en béton", + reentrant='n',UIinfo={"groupe":("Modélisation",)}, regles=(ENSEMBLE('MAILLAGE','CONE'),), MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), MODELE =SIMP(statut='o',typ=modele_sdaster ), @@ -7857,117 +8161,7 @@ DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=cabl_precon TITRE =SIMP(statut='f',typ='TXM',max='**' ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 24/08/2004 AUTEUR CIBHHPD S.VANDENBERGHE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. -# ====================================================================== - -DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont, - fr=" ", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), - DEFI_CABLE =FACT(statut='o',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - ), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), - TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RELAXATION =FACT(statut='f',min=0, - R_J =SIMP(statut='o',typ='R',val_min=0.E+0 ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - CONE =FACT(statut='f',min=0, - RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), - PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), - ), -) ; -#& MODIF COMMANDE DATE 27/09/2004 AUTEUR JMBHH01 J.M.PROIX -# RESPONSABLE JMBHH01 J.M.PROIX -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== -DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, - fr="Définition du comportement monocristallin", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - 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"), - ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), - ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), - ELAS =SIMP(statut='f', typ='TXM', max=1, - 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'),), - ), - - - 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 +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7986,14 +8180,14 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, - fr="Définition d une fonction constante", + fr="Définir la valeur d'une grandeur invariante", reentrant='n', UIinfo={"groupes":("Fonction",)}, NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), VALE =SIMP(statut='o',typ='R',), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8013,7 +8207,8 @@ DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, # ====================================================================== DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n', UIinfo={"groupes":("Modélisation",)}, - fr="Définition d une coque composite couche par couche", + fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir" + +" des caractéristiques de chaque couche", COUCHE =FACT(statut='o',max='**', EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), MATER =SIMP(statut='o',typ=(mater_sdaster) ), @@ -8024,131 +8219,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 11/05/2005 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. -# ====================================================================== -# RESPONSABLE D6BHHJP J.P.LEFEBVRE -def DEFIC_prod(self,ACTION,UNITE,**args): - if ACTION == "ASSOCIER" or ACTION == "RESERVER": - if UNITE != None : - return - else : - return entier - elif ACTION == "LIBERER" : - return - else : - raise AsException("ACTION non prevue : %s" % ACTION) - -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","RESERVER"),defaut="ASSOCIER"), - - 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"), - ), - 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"), - ), - ), - - b_reserver =BLOC(condition = "ACTION == 'RESERVER'", - fr="Paramètres pour la réservation de l'unité 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",),defaut="ASCII"), - ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), - ), - - 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), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - ), - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - ) -#& MODIF COMMANDE DATE 25/01/2005 AUTEUR GENIAUT S.GENIAUT -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== - -DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - fr="Définition des caratéristiques d''une fissure avec XFEM", - - MODELE =SIMP(statut='o',typ=modele_sdaster), - DEFI_FISS =FACT(statut='o',max=01, - regles =(UN_PARMI('GROUP_MA_FISS','FONC_LT'), - ENSEMBLE('FONC_LT','FONC_LN'), - ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), - FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - GROUP_MA_FISS =SIMP(statut='f',typ=grma,max=01), - GROUP_MA_FOND =SIMP(statut='f',typ=grma), - ), - GROUP_MA_ENRI =SIMP(statut='o',typ=grma,max=01), - ORIE_FOND =FACT(statut='o',max=01, - PFON_INI =SIMP(statut='o',typ='R',max=03), - VECT_ORIE =SIMP(statut='o',typ='R',max=03), - PT_ORIGIN =SIMP(statut='o',typ='R',max=03), - ), - CONTACT =FACT(statut='f',max=01, - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",) ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), - INTEGRATION =SIMP(statut='f',typ='TXM',defaut="GAUSS",into=("GAUSS",) ), - COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), - MODL_AXIS =SIMP(statut='f',typ='TXM',into=("NON",)), - ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), - CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", - COULOMB =SIMP(statut='o',typ='R',), - ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), - COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), -) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8167,10 +8238,11 @@ DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='f' # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, - reentrant='n', + reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement", UIinfo={"groupes":("Maillage",)}, regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), FAISCEAU_TRANS =FACT(statut='f',max='**', + regles=( ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),), COUPLAGE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), @@ -8183,6 +8255,9 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, UNITE_CD =SIMP(statut='f',typ='I',defaut=70), UNITE_CK =SIMP(statut='f',typ='I',defaut=71), PAS =SIMP(statut='f',typ='R' ), + CSTE_CONNORS =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00), + NB_CONNORS =SIMP(statut='f',typ='I',val_min=2,), + RHO_TUBE =SIMP(statut='f',typ='R' ), ), GRAPPE =FACT(statut='f', regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',), @@ -8249,7 +8324,7 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8269,7 +8344,7 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, # ====================================================================== DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n', UIinfo={"groupes":("Outils métier",)}, - fr="Définition d une fonction du temps pour calculer des forces de LAPLACE", + fr="Définir une fonction du temps intervenant dans le calcul des forces de LAPLACE", regles=(UN_PARMI('COUR_PRIN','COUR'), EXCLUS('COUR','COUR_SECO'), ), FREQ =SIMP(statut='f',typ='R',defaut= 50.), @@ -8318,7 +8393,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentran ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8338,6 +8413,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentran # ====================================================================== DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, reentrant='n', + fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre", UIinfo={"groupes":("Fonction",)}, MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), NOEUD_INIT =SIMP(statut='o',typ=no), @@ -8356,7 +8432,7 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8383,7 +8459,7 @@ def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args): raise AsException("type de concept resultat non prevu") DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod - ,fr="Définition des valeurs réelles ou complexes d une fonction réelle", + ,fr="Définit une fonction réelle ou complexe d'une variable réelle", reentrant='n', UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),), @@ -8412,7 +8488,7 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_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 09/05/2006 AUTEUR GALENNE E.GALENNE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8432,8 +8508,8 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod # ====================================================================== DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n', UIinfo={"groupes":("Post traitements",)}, - fr="Définition de lèvres et d un fond de fissure en 3D", - regles=(UN_PARMI('FOND_FISS','FOND_FERME'), + fr="Définition de lèvres et d'un fond de fissure en 3D", + regles=(UN_PARMI('FOND_FISS','FOND_FERME','FOND_INF'), EXCLUS('FOND_FERME','DTAN_ORIG'), EXCLUS('FOND_FERME','DTAN_EXTR'), EXCLUS('FOND_FERME','VECT_GRNO_ORIG'), @@ -8441,6 +8517,9 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n', UN_PARMI('LEVRE_SUP','NORMALE'), EXCLUS('LEVRE_INF','NORMALE'), ENSEMBLE('DTAN_ORIG','DTAN_EXTR'), + ENSEMBLE('FOND_SUP','FOND_INF'), + EXCLUS('FOND_INF','FOND_FISS'), + EXCLUS('FOND_INF','FOND_FERME'), ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'), EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'), EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,), @@ -8471,6 +8550,26 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n', MAILLE_ORIG =SIMP(statut='f',typ=ma,), GROUP_MA_ORIG =SIMP(statut='f',typ=ma,), ), + FOND_INF =FACT(statut='f', + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + MAILLE_ORIG =SIMP(statut='f',typ=ma,), + GROUP_MA_ORIG =SIMP(statut='f',typ=ma,), + ), + FOND_SUP =FACT(statut='f', + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + MAILLE_ORIG =SIMP(statut='f',typ=ma,), + GROUP_MA_ORIG =SIMP(statut='f',typ=ma,), + ), LEVRE_SUP =FACT(statut='f', regles=(UN_PARMI('GROUP_MA','MAILLE'),), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -8482,13 +8581,14 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n', MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), NORMALE =SIMP(statut='f',typ='R',max='**'), + PREC_NORM =SIMP(statut='f',typ='R',defaut=0.1), DTAN_ORIG =SIMP(statut='f',typ='R',max='**'), DTAN_EXTR =SIMP(statut='f',typ='R',max='**'), VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 25/10/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 04/07/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8516,9 +8616,12 @@ DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage", reentrant='o', UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),), + regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'),), MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), - + DETR_GROUP_MA =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),), + DETR_GROUP_NO =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), CREA_GROUP_MA =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), @@ -8687,7 +8790,7 @@ regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION') ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8705,8 +8808,8 @@ regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION') # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, - reentrant='n', +DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=table_sdaster, + reentrant='n',fr="Définit une matrice interspectrale", UIinfo={"groupes":("Fonction",)}, DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), @@ -8747,7 +8850,7 @@ DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, 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 +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8768,6 +8871,7 @@ DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Définir les interfaces d'une structure et leur affecter un type", NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), INTERFACE =FACT(statut='o',max='**', regles=(ENSEMBLE('NOM','TYPE'), @@ -8783,7 +8887,7 @@ DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, FREQ =SIMP(statut='f',typ='R',defaut= 1.), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8803,7 +8907,7 @@ DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, # ====================================================================== # RESPONSABLE VABHHTS J.PELLET DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, - fr="Définition d une suite croissante d entiers", + fr="Définir une liste d'entier strictement croissante", reentrant='n', UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('VALE','DEBUT'), @@ -8819,7 +8923,7 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, 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 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8839,7 +8943,7 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, # ====================================================================== # RESPONSABLE VABHHTS J.PELLET DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, - fr="Définition d une suite croissante de réels", + fr="Définir une liste de réels strictement croissante", reentrant='n', UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('VALE','DEBUT',), @@ -8856,7 +8960,7 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, 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 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8876,7 +8980,7 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, # ====================================================================== # RESPONSABLE VABHHTS J.PELLET DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, - fr="Définition d un nouveau maillage à partir de macro éléments", + fr="Définition d'un nouveau maillage à partir de macro-éléments", reentrant='n', UIinfo={"groupes":("Maillage",)}, DEFI_MAILLE =FACT(statut='o',max='**', @@ -8935,7 +9039,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, GROUP_NO_FIN =SIMP(statut='f',typ=grno), ), ) ; -#& MODIF COMMANDE DATE 18/04/2005 AUTEUR PBADEL P.BADEL +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8959,7 +9063,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, UIinfo={"groupes":("Modélisation",)}, regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH', 'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO', - 'SURF_ETAT_SATU','CAM_CLAY_THM','SURF_ETAT_NSAT'), + 'ELAS_HYPER',), EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'), EXCLUS('ECRO_LINE','ECRO_LINE_FO'), EXCLUS('TAHERI','TAHERI_FO'), @@ -8972,7 +9076,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, EXCLUS('POLY_CFC','POLY_CFC_FO'), EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG', 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',), - EXCLUS('OHNO','OHNO_FO'), EXCLUS('LMARC','LMARC_FO'), EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'), EXCLUS('VENDOCHAB','VENDOCHAB_FO'), @@ -8983,10 +9086,12 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, PRESENT_PRESENT('CAM_CLAY','ELAS'), PRESENT_PRESENT('LAIGLE','ELAS'), PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), + PRESENT_PRESENT('HOEK_BROWN','ELAS'), EXCLUS('MAZARS','MAZARS_FO'), PRESENT_PRESENT('BAZANT_FD','ELAS_FO'), EXCLUS('GLRC','GLRC_FO'), PRESENT_PRESENT('JOINT_BA','ELAS'), + PRESENT_PRESENT('CABLE','ELAS'), ), # # comportement élastique @@ -9014,7 +9119,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, K_DESSIC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), B_ENDOGE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH","NEUT1","NEUT2",) ), ), ELAS_FLUI =FACT(statut='f', E =SIMP(statut='o',typ='R'), @@ -9071,6 +9176,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, YT =SIMP(statut='f',typ='R',defaut= 1. ), YC =SIMP(statut='f',typ='R',defaut= 1. ), S_LT =SIMP(statut='f',typ='R',defaut= 1. ), + AMOR_ALPHA =SIMP(statut='f',typ='R'), + AMOR_BETA =SIMP(statut='f',typ='R'), + AMOR_HYST =SIMP(statut='f',typ='R'), ), ELAS_ORTH_FO =FACT(statut='f', regles=( @@ -9094,72 +9202,18 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ), + AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - ELAS_THM =FACT(statut='f', - RHO_S =SIMP(statut='o',typ='R'), - UN_SUR_KS =SIMP(statut='o',typ='R'), - E =SIMP(statut='f',typ='R'), - KB =SIMP(statut='f',typ='R'), - D_KB_T =SIMP(statut='f',typ='R'), - ALPHA_S =SIMP(statut='f',typ='R'), - ALPHA_D =SIMP(statut='f',typ='R'), - ), - SURF_ETAT_SATU =FACT(statut='f', - E_CHAR =SIMP(statut='o',typ='R'), - E_DECHAR =SIMP(statut='o',typ='R'), - XN =SIMP(statut='f',typ='R'), - RF =SIMP(statut='f',typ='R'), - EV_KB =SIMP(statut='f',typ='R'), - EV_XM =SIMP(statut='f',typ='R'), - D_E_T =SIMP(statut='f',typ='R'), - ALPHA0 =SIMP(statut='f',typ='R'), - ALPHA1 =SIMP(statut='f',typ='R'), - ALPHA2 =SIMP(statut='f',typ='R'), - ALPHA3 =SIMP(statut='f',typ='R'), - ALPHA_S =SIMP(statut='f',typ='R'), - ANG_FRT =SIMP(statut='o',typ='R'), - COHE =SIMP(statut='o',typ='R'), - RESI_TRAC =SIMP(statut='o',typ='R'), - ), - CAM_CLAY_THM =FACT(statut='f', - NU =SIMP(statut='f',typ='R'), - LAMBDA =SIMP(statut='o',typ='R'), - KAPA =SIMP(statut='o',typ='R'), - M =SIMP(statut='f',typ='R'), - PRES_CRIT =SIMP(statut='f',typ='R'), - GAMA =SIMP(statut='o',typ='R'), - A0_PC =SIMP(statut='o',typ='R'), - A1_PC =SIMP(statut='f',typ='R'), - A2_PC =SIMP(statut='f',typ='R'), - ALPHA0_PC =SIMP(statut='f',typ='R'), - ALPHA1_PC =SIMP(statut='f',typ='R'), - ALPHA2_PC =SIMP(statut='f',typ='R'), - ALPHA3_PC =SIMP(statut='f',typ='R'), - ALPHA_S =SIMP(statut='f',typ='R'), - ), - SURF_ETAT_NSAT =FACT(statut='f', - E_CHAR =SIMP(statut='o',typ='R'), - E_DECHAR =SIMP(statut='o',typ='R'), - XN =SIMP(statut='f',typ='R'), - RF =SIMP(statut='f',typ='R'), - EV_KB =SIMP(statut='f',typ='R'), - EV_XM =SIMP(statut='f',typ='R'), - EV_A =SIMP(statut='f',typ='R'), - EV_B =SIMP(statut='f',typ='R'), - EV_CT =SIMP(statut='f',typ='R'), - EV_SIGB =SIMP(statut='f',typ='R'), - D_E_T =SIMP(statut='f',typ='R'), - D_E_SUCC =SIMP(statut='f',typ='R'), - ANG_FRT =SIMP(statut='o',typ='R'), - COHE =SIMP(statut='o',typ='R'), - D_COEH_SUCC =SIMP(statut='f',typ='R'), - ANG_FRT_ULT =SIMP(statut='f',typ='R'), - SUCC_ULTM =SIMP(statut='f',typ='R'), - RESI_TRAC =SIMP(statut='f',typ='R'), - A_SURF_SATU =SIMP(statut='f',typ='R'), - B_SURF_SATU =SIMP(statut='f',typ='R'), - C_SURF_SATU =SIMP(statut='f',typ='R'), - D_SURF_SATU =SIMP(statut='f',typ='R'), + ELAS_HYPER =FACT(statut='f', + regles=(UN_PARMI('K','NU'),), + C10 =SIMP(statut='f',typ='R',defaut=0.0), + C01 =SIMP(statut='o',typ='R'), + C20 =SIMP(statut='f',typ='R',defaut=0.0), + K =SIMP(statut='f',typ='R'), + RHO =SIMP(statut='f',typ='R',defaut=0.0), + NU =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0), ), ELAS_COQUE =FACT(statut='f', regles=(EXCLUS('MEMB_L','M_LLLL',), @@ -9278,12 +9332,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, E_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0), ), CABLE =FACT(statut='f', - E =SIMP(statut='o',typ='R'), EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), ), # # comportement mécanique non linéaire @@ -9381,17 +9430,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, EPSI_0 =SIMP(statut='o',typ='R'), M =SIMP(statut='o',typ='R'), ), - CHABOCHE =FACT(statut='f', - R_I =SIMP(statut='o',typ='R'), - R_0 =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - W =SIMP(statut='o',typ='R'), - A1 =SIMP(statut='o',typ='R'), - A2 =SIMP(statut='o',typ='R'), - C1 =SIMP(statut='o',typ='R'), - C2 =SIMP(statut='o',typ='R'), - ), CIN1_CHAB =FACT(statut='f', R_0 =SIMP(statut='o',typ='R'), R_I =SIMP(statut='f',typ='R'), @@ -9494,7 +9532,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), POLY_CFC =FACT(statut='f', - TEXTURE =SIMP(statut='o',typ=(tabl_texture) ), + TEXTURE =SIMP(statut='o',typ=(table_sdaster) ), DL =SIMP(statut='f',typ='R'), DA =SIMP(statut='f',typ='R'), N =SIMP(statut='o',typ='R'), @@ -9510,7 +9548,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, C2 =SIMP(statut='o',typ='R'), ), POLY_CFC_FO =FACT(statut='f', - TEXTURE =SIMP(statut='o',typ=(tabl_texture) ), + TEXTURE =SIMP(statut='o',typ=(table_sdaster) ), DL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), DA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), @@ -9609,6 +9647,18 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), + IRRAD3M=FACT(statut='f', + R02 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSILON_U=SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + AI0 =SIMP(statut='o',typ='R',val_min=0.), + ETAI_S =SIMP(statut='o',typ='R',val_min=0.), + R =SIMP(statut='o',typ='R',val_min=0.), + ALPHA =SIMP(statut='o',typ='R',val_min=0.), + PHI0 =SIMP(statut='o',typ='R',val_min=0.), + KAPPA =SIMP(statut='f',typ='R',val_min=0.,defaut=0.8), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","IRRA") ), + ), ZIRC_EPRI =FACT(statut='f', FLUX_PHI =SIMP(statut='o',typ='R'), R_P =SIMP(statut='o',typ='R'), @@ -9620,49 +9670,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - OHNO =FACT(statut='f', - R_I =SIMP(statut='o',typ='R'), - R_0 =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - PHI =SIMP(statut='o',typ='R'), - A1 =SIMP(statut='o',typ='R'), - A2 =SIMP(statut='o',typ='R'), - A3 =SIMP(statut='o',typ='R'), - A4 =SIMP(statut='o',typ='R'), - A5 =SIMP(statut='o',typ='R'), - GAMMA1 =SIMP(statut='o',typ='R'), - GAMMA2 =SIMP(statut='o',typ='R'), - GAMMA3 =SIMP(statut='o',typ='R'), - GAMMA4 =SIMP(statut='o',typ='R'), - GAMMA5 =SIMP(statut='o',typ='R'), - M1 =SIMP(statut='o',typ='R'), - M2 =SIMP(statut='o',typ='R'), - M3 =SIMP(statut='o',typ='R'), - M4 =SIMP(statut='o',typ='R'), - M5 =SIMP(statut='o',typ='R'), - ), - OHNO_FO =FACT(statut='f', - R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PHI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - GAMMA1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - GAMMA2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - GAMMA3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - GAMMA4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - GAMMA5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), - ), LMARC =FACT(statut='f', DE_0 =SIMP(statut='o',typ='R'), R_0 =SIMP(statut='o',typ='R'), @@ -9773,6 +9780,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, KZ =SIMP(statut='o',typ='R'), KRX =SIMP(statut='o',typ='R'), KRZ =SIMP(statut='o',typ='R'), + R_P0 =SIMP(statut='f',typ='R',defaut= 1.E+4 ), ), DIS_CONTACT =FACT(statut='f', RIGI_NOR =SIMP(statut='f',typ='R' ), @@ -9803,6 +9811,33 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, C_PRAGER_MZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ), ), + DIS_GRICRA =FACT(statut='f', + KN_AX =SIMP(statut='o',typ='R' ), + KT_AX =SIMP(statut='o',typ='R' ), + COUL_AX =SIMP(statut='o',typ='R' ), + F_SER =SIMP(statut='f',typ='R' ), + F_SER_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ET_AX =SIMP(statut='f',typ='R',defaut=1.e-7 ), + ET_ROT =SIMP(statut='f',typ='R',defaut=1.e-7 ), + ANG1 =SIMP(statut='f',typ='R' ), + ANG2 =SIMP(statut='f',typ='R' ), + PEN1 =SIMP(statut='f',typ='R' ), + PEN2 =SIMP(statut='f',typ='R' ), + PEN3 =SIMP(statut='f',typ='R' ), + ANG1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANG2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PEN3_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles=(EXCLUS('ANG1','ANG1_FO',), + UN_PARMI('ANG1','ANG1_FO',), + EXCLUS('F_SER','F_SER_FO',), + UN_PARMI('F_SER','F_SER_FO',), + PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',), + PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',), + ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ), + ), NADAI_B =FACT(statut='f', F_C =SIMP(statut='o',typ='R'), F_T =SIMP(statut='o',typ='R'), @@ -10143,7 +10178,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, # comportement métallurgique # META_ACIER =FACT(statut='f', - TRC =SIMP(statut='o',typ=(tabl_trc) ), + TRC =SIMP(statut='o',typ=(table_sdaster) ), AR3 =SIMP(statut='o',typ='R'), ALPHA =SIMP(statut='o',typ='R'), MS0 =SIMP(statut='o',typ='R'), @@ -10312,8 +10347,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE # ET LIQU_AD_GAZ_VAPE -# POUR LES LOIS DE COUPLAGE LIQU_SATU_GAT ET LIQU_NSAT_GAT -# ON NE MODIFIE RIEN # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE : # 1 --> LIQU_SATU # 2 --> GAZ @@ -10321,8 +10354,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, # 4 --> LIQU_VAPE_GAZ # 5 --> LIQU_GAZ # 6 --> LIQU_GAZ_ATM -# 7 --> LIQU_SATU_GAT -# 8 --> LIQU_NSAT_GAT # 9 --> LIQU_AD_GAZ_VAPE # ================================================================================= COMP_THM = SIMP(statut='f', typ='TXM', @@ -10332,8 +10363,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, "LIQU_GAZ_ATM" , "LIQU_VAPE_GAZ" , "LIQU_VAPE" , - "LIQU_SATU_GAT" , - "LIQU_NSAT_GAT" , "LIQU_AD_GAZ_VAPE" , ) ), # ================================================================================= @@ -11358,254 +11387,79 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), ), ), -# ================================================================================= - b_liqusatugat = BLOC(condition = "COMP_THM == 'LIQU_SATU_GAT' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU_GAT", - THM_LIQU =FACT(statut='f', - RHO =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_HENRY =SIMP(statut='f',typ='R'), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), +# courbes et coefficients associés à la fatigue et au dommage +# + FATIGUE =FACT(statut='f', + regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), + PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), + PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), + ENSEMBLE('A_BASQUIN','BETA_BASQUIN'), + ENSEMBLE('A0','A1','A2','A3','SL'), + PRESENT_PRESENT('A0','E_REFE'), + ENSEMBLE('D0','TAU0'),), + WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_BASQUIN =SIMP(statut='f',typ='R'), + BETA_BASQUIN =SIMP(statut='f',typ='R'), + A0 =SIMP(statut='f',typ='R'), + A1 =SIMP(statut='f',typ='R'), + A2 =SIMP(statut='f',typ='R'), + A3 =SIMP(statut='f',typ='R'), + SL =SIMP(statut='f',typ='R'), + MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_REFE =SIMP(statut='f',typ='R'), + D0 =SIMP(statut='f',typ='R'), + TAU0 =SIMP(statut='f',typ='R'), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ), ), - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + DOMMA_LEMAITRE =FACT(statut='f', + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + CISA_PLAN_CRIT =FACT(statut='f', + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE", + "DANG_VAN_MODI_AC", + "DANG_VAN_MODI_AV", + "DOMM_MAXI", + "FATEMI_SOCIE", + ) ), + + b_critere_matake =BLOC(condition="CRITERE=='MATAKE'", + fr="Cisaillement plan critique critère de matake", + MATAKE_A =SIMP(statut='o',typ='R'), + MATAKE_B =SIMP(statut='o',typ='R'), + COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", + fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", + D_VAN_A =SIMP(statut='o',typ='R'), + D_VAN_B =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_crit_domm_maxi =BLOC(condition="CRITERE=='DOMM_MAXI'", + fr="Critère pour chargement non périodique : domm_maxi", + DOMM_A =SIMP(statut='o',typ='R'), + DOMM_B =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_critere_fate_soci =BLOC(condition="CRITERE=='FATEMI_SOCIE'", + fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable", + FATSOC_A =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), ), - THM_AIR_DISS = FACT(statut='f', - CP = SIMP(statut='f',typ='R'), - COEF_HENRY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",),), - ), - THM_INIT =FACT(statut='f', - TEMP =SIMP(statut='o',typ='R'), - PRE1 =SIMP(statut='o',typ='R'), - PRE2 =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - PRES_VAPE =SIMP(statut='o',typ='R'), - DEGR_SATU =SIMP(statut='f',typ='R'), - PRES_ATMO =SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 7.0,), - ), - THM_DIFFU =FACT(statut='f', - R_GAZ =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - BIOT_COEF =SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PESA_X =SIMP(statut='f',typ='R'), - PESA_Y =SIMP(statut='f',typ='R'), - 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','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)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICK =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FICK_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), - ), - ), - b_liqunsatgat = BLOC(condition = "COMP_THM == 'LIQU_NSAT_GAT' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_NSAT_GAT", - THM_LIQU =FACT(statut='f', - RHO =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_HENRY =SIMP(statut='f',typ='R'), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), - ), - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), - ), - THM_AIR_DISS = FACT(statut='f', - CP = SIMP(statut='f',typ='R'), - COEF_HENRY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), - ), - THM_INIT =FACT(statut='f', - TEMP =SIMP(statut='o',typ='R'), - PRE1 =SIMP(statut='o',typ='R'), - PRE2 =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - PRES_VAPE =SIMP(statut='o',typ='R'), - DEGR_SATU =SIMP(statut='f',typ='R'), - PRES_ATMO =SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 8.0,), - ), - THM_DIFFU =FACT(statut='f', - R_GAZ =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - BIOT_COEF =SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PESA_X =SIMP(statut='f',typ='R'), - PESA_Y =SIMP(statut='f',typ='R'), - 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','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)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICK =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FICK_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - 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', - regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), - PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), - PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), - ENSEMBLE('A_BASQUIN','BETA_BASQUIN'), - ENSEMBLE('A0','A1','A2','A3','SL'), - PRESENT_PRESENT('A0','E_REFE'), - ENSEMBLE('D0','TAU0'),), - WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_BASQUIN =SIMP(statut='f',typ='R'), - BETA_BASQUIN =SIMP(statut='f',typ='R'), - A0 =SIMP(statut='f',typ='R'), - A1 =SIMP(statut='f',typ='R'), - A2 =SIMP(statut='f',typ='R'), - A3 =SIMP(statut='f',typ='R'), - SL =SIMP(statut='f',typ='R'), - MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_REFE =SIMP(statut='f',typ='R'), - D0 =SIMP(statut='f',typ='R'), - TAU0 =SIMP(statut='f',typ='R'), - VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ), - ), - DOMMA_LEMAITRE =FACT(statut='f', - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), - VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), - ), - CISA_PLAN_CRIT =FACT(statut='f', - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC","DANG_VAN_MODI_AV","DOMM_MAXI") ), - - b_critere_matake =BLOC(condition="CRITERE=='MATAKE'", - fr="Cisaillement plan critique critère de matake", - MATAKE_A =SIMP(statut='o',typ='R'), - MATAKE_B =SIMP(statut='o',typ='R'), - COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", - fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", - D_VAN_A =SIMP(statut='o',typ='R'), - D_VAN_B =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_crit_domm_maxi =BLOC(condition="CRITERE=='DOMM_MAXI'", - fr="Critère pour chargement non périodique : domm_maxi", - DOMM_A =SIMP(statut='o',typ='R'), - DOMM_B =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - ), -# -# autres comportements ... -# - WEIBULL =FACT(statut='f', - M =SIMP(statut='o',typ='R'), - VOLU_REFE =SIMP(statut='o',typ='R'), - SIGM_REFE =SIMP(statut='o',typ='R'), - SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), +# +# autres comportements ... +# + WEIBULL =FACT(statut='f', + M =SIMP(statut='o',typ='R'), + VOLU_REFE =SIMP(statut='o',typ='R'), + SIGM_REFE =SIMP(statut='o',typ='R'), + SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), ), WEIBULL_FO =FACT(statut='f', M =SIMP(statut='o',typ='R'), @@ -11623,13 +11477,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, GC =SIMP(statut='o',typ='R'), SIGM_C =SIMP(statut='f',typ='R'), PENA_ADHERENCE =SIMP(statut='f',typ='R'), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), ), RUPT_FRAG_FO =FACT(statut='f', GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PENA_CONTACT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),defaut=1.), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), RCCM =FACT(statut='f', @@ -11682,6 +11536,19 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), ), ), + HOEK_BROWN =FACT(statut='f', + GAMMA_RUP =SIMP(statut='o',typ='R'), + GAMMA_RES =SIMP(statut='o',typ='R'), + S_END =SIMP(statut='o',typ='R'), + S_RUP =SIMP(statut='o',typ='R'), + M_END =SIMP(statut='o',typ='R'), + M_RUP =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='o',typ='R'), + ALPHAHB =SIMP(statut='o',typ='R'), + PHI_RUP =SIMP(statut='o',typ='R'), + PHI_RES =SIMP(statut='o',typ='R'), + PHI_END =SIMP(statut='f',typ='R'), + ), #### MONOCRISTAL ECOU_VISC1 =FACT(statut='f', @@ -11760,7 +11627,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 30/08/2004 AUTEUR NICOLAS O.NICOLAS +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11780,6 +11647,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, # ====================================================================== DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, reentrant='n', + fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", UIinfo={"groupes":("Matrices/vecteurs",)}, SOUS_STRUC =FACT(statut='o',max='**', NOM =SIMP(statut='o',typ='TXM' ), @@ -11808,7 +11676,7 @@ DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11827,7 +11695,7 @@ DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=nappe_sdaster, - fr="Définition des valeurs d une fonction de deux variables réelles", + fr="Définir une fonction réelle de deux variables réelles", reentrant='n', UIinfo={"groupes":("Fonction",)}, regles=(UN_PARMI('FONCTION','DEFI_FONCTION'), @@ -11852,7 +11720,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=nappe_sdaster, VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11871,7 +11739,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=nappe_sdaster, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=obstacle_sdaster - ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire", + ,fr="Définition d'un obstacle plan perpendiculaire à une structure filaire", reentrant='n', UIinfo={"groupes":("Modélisation",)}, TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", @@ -11937,80 +11805,7 @@ DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op= 2,sd_prod=para_sensi, ang="Value of the parameter"), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 15/11/2004 AUTEUR ASSIRE A.ASSIRE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== -# RESPONSABLE BOITEAU O.BOITEAU - -from Macro.defi_part_feti_ops import defi_part_feti_ops - -DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster, - reentrant='n', - fr="Creation partitionnement en sous-domaines pour FETI", - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - NB_PART =SIMP(statut='o',typ='I'), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), - METHODE =SIMP(statut='o',typ='TXM',into=("PMETIS","KMETIS","AUTRE",), defaut="PMETIS" ), - b_methode =BLOC(condition="METHODE == 'AUTRE'", fr="Autre logiciel", - LOGICIEL =SIMP(statut='f',typ='TXM'), - ), - NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), - INFO =SIMP(statut='f',typ='I',into=(1, 2, 3, 4,5), defaut=1), -); -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== -# RESPONSABLE ASSIRE A.ASSIRE - -DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster, - fr="Creation partitionnement en sous-domaines pour FETI", - docu="U4.23.05",reentrant='n', - UIinfo={"groupes":("Résolution",)}, - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - NOM =SIMP(statut='f',typ='TXM',defaut='SD'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), - DEFI =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma), - GROUP_MA_BORD =SIMP(statut='f',typ=grma), - ), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), - ), -); -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12091,7 +11886,7 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, SPEC_FONC_FORME =FACT(statut='f', regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), ENSEMBLE('INTE_SPEC','FONCTION'),), - INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), + INTE_SPEC =SIMP(statut='f',typ=table_sdaster), FONCTION =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), NOEUD =SIMP(statut='o',typ=no), @@ -12100,7 +11895,7 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, ), SPEC_EXCI_POINT =FACT(statut='f', regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), - INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), + INTE_SPEC =SIMP(statut='f',typ=table_sdaster), GRAPPE_2 =SIMP(statut='f',typ='TXM', into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ), # Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent @@ -12118,7 +11913,7 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 15/02/2005 AUTEUR NICOLAS O.NICOLAS +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12137,7 +11932,7 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, - fr="Définition d un maillage de visualisation", + fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique", reentrant='n', UIinfo={"groupes":("Maillage",)}, regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'), @@ -12194,7 +11989,7 @@ DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 22/11/2004 AUTEUR JMBHH01 J.M.PROIX +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12212,8 +12007,8 @@ DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture, - fr=" ",reentrant='n', +DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=table_sdaster,reentrant='n', + fr="Définir pour un materiau CFC, les orientations cristillographiques et leur système de glissement ", UIinfo={"groupes":("Modélisation",)}, SYST_GLISSEMENT =FACT(statut='o',min=3,max=3, N =SIMP(statut='o',typ='R',min=12,max=12 ), @@ -12225,49 +12020,7 @@ DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture, ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - fr="Calculer la fonction d évolution temporelle de température due à l effet JOULE dans un cable", - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - INST_CC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - INST_CC_FIN =SIMP(statut='f',typ='R',defaut= 1.0E+10), - INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 1.0E+10), - INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 1.0E+10), - TEMP_EXT_POSE =SIMP(statut='f',typ='R',defaut= 15.0E+0), - TEMP_EXT =SIMP(statut='f',typ='R',defaut= 15.0E+0), - TEMP_RESI_REF =SIMP(statut='f',typ='R',defaut= 20.0E+0), - PARA_COND_1D =FACT(statut='f',max='**', - INTE_CC =SIMP(statut='f',typ='R',defaut= 0.0E+0), - INTE_RENC =SIMP(statut='f',typ='R',defaut= 0.0E+0), - A =SIMP(statut='f',typ='R',defaut= 1.0E+0), - SECTION =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE",) ), - RESI_R0 =SIMP(statut='f',typ='R',defaut= 0.0E+0), - RESI_R1 =SIMP(statut='f',typ='R',defaut= 0.E+0), - RHO_CP =SIMP(statut='f',typ='R',defaut= 1.0E+0), - COEF_H =SIMP(statut='f',typ='R',defaut= 40.0E+0), - TEMP_INIT =SIMP(statut='f',typ='R',defaut= 15.0E+0), - ), -) ; - -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12285,9 +12038,10 @@ DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reen # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,reentrant='n', +DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n', UIinfo={"groupes":("Modélisation",)}, - fr="Définition d un diagramme de transformations en refroidissement continu d un acier", + fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier" + +" pour les calculs métallurgiques.", HIST_EXP =FACT(statut='o',max='**', VALE =SIMP(statut='o',typ='R',max='**'), ), @@ -12302,39 +12056,76 @@ DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,reentrant='n', A =SIMP(statut='f',typ='R'), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - fr="Récupération du champ de déplacement interne à une sous-structure", - DEPL_GLOBAL =SIMP(statut='o',typ=cham_no_depl_r), - MAILLE =SIMP(statut='o',typ=ma,), - NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), -) ; -#& MODIF COMMANDE DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION +# COPYRIGHT (C) 1991 - 2004 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. # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + + +from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops + +def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): + self.type_sdprod(RESULTAT,AsType(RESU_INIT)) + self.type_sdprod(MAILLAGE,maillage_sdaster) + return None + + +MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT sans lissage ni interpolation", + + + # SD résultat ,modèle et champs à "éclater" : + RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), + MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), + + # paramètres numériques de la commande : + 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é" ), + + # concepts produits par la commande : + RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), + MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), + + # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + + # Sélection des numéros d'ordre : + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + ) +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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 @@ -12345,23 +12136,14 @@ DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n', # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DETRUIRE=PROC(nom="DETRUIRE",op=-7, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Destruction d un concept utilisateur dans la base GLOBALE", - op_init=ops.detruire, - regles=(UN_PARMI('CONCEPT','OBJET',),), - CONCEPT =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), - ), - OBJET =FACT(statut='f',max='**', - CLASSE =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'), - CHAINE =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - POSITION =SIMP(statut='f',typ='I' ,max='**'), - ), - ALARME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',), - INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ), -); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_sdaster,reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique", + DEPL_GLOBAL =SIMP(statut='o',typ=cham_no_sdaster), + MAILLE =SIMP(statut='o',typ=ma,), + NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12379,26 +12161,27 @@ DETRUIRE=PROC(nom="DETRUIRE",op=-7, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'), - UN_PARMI('GROUP_MA_2','POIN_FIXE'),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - GROUP_MA_1 =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - POIN_FIXE =SIMP(statut='f',typ='R',min=3,max=3), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +DETRUIRE=MACRO(nom="DETRUIRE",op=-7, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX", + op_init=ops.detruire, + regles=(UN_PARMI('CONCEPT','OBJET',),), + CONCEPT =FACT(statut='f',max='**', + regles=(DERIVABLE('NOM'),), + NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter",max='**'), + ), + OBJET =FACT(statut='f',max='**', + CLASSE =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'), + CHAINE =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + POSITION =SIMP(statut='f',typ='I' ,max='**'), + ), + ALARME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',), + INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ), +); +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12416,8 +12199,8 @@ DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant= # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp - ,fr="Calcule la réponse spectrale d une structure linéaire sous une excitation connue par sa DSP", +DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=table_sdaster + ,fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP", reentrant='n', UIinfo={"groupes":("Résolution",)}, BASE_MODALE =FACT(statut='o', @@ -12436,7 +12219,7 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait # ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')", EXCIT =FACT(statut='o', - INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), + INTE_SPEC =SIMP(statut='o',typ=table_sdaster), NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ), MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), @@ -12500,7 +12283,7 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12518,22 +12301,23 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def dyna_line_harm_prod(MATR_MASS,**args): - if AsType(MATR_MASS) == matr_asse_depl_r : return dyna_harmo - if AsType(MATR_MASS) == matr_asse_depl_c : return dyna_harmo - if AsType(MATR_MASS) == matr_asse_pres_c : return acou_harmo - if AsType(MATR_MASS) == matr_asse_gene_r : return harm_gene - if AsType(MATR_MASS) == matr_asse_gene_c : return harm_gene - raise AsException("type de concept resultat non prevu") +def dyna_line_harm_prod(MATR_RIGI,**args): + if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo + elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo + elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo + elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene + elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene + raise AsException("type de concept resultat non prevu") DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, - fr="Réponse dynamique complexe d un système à une excitation harmonique", - reentrant='n', + fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique", + reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'), PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'), PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'), - UN_PARMI('FREQ','LIST_FREQ'),), + UN_PARMI('FREQ','LIST_FREQ'), + CONCEPT_SENSIBLE('ENSEMBLE'),), MODELE =SIMP(statut='f',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='f',typ=cham_mater ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), @@ -12548,10 +12332,14 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire", + RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), + ), EXCIT =FACT(statut='o',max='**', regles=(UN_PARMI('VECT_ASSE','CHARGE'), - UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), - VECT_ASSE =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,vect_asse_gene_r,vect_asse_gene_c ) ), + UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), + ), + VECT_ASSE =SIMP(statut='f',typ=(cham_no_sdaster,vect_asse_gene) ), CHARGE =SIMP(statut='f',typ=char_meca ), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), FONC_MULT_C =SIMP(statut='f',typ=fonction_c ), @@ -12569,30 +12357,31 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, # Rajouter test icompatibilite vect_asse et sensibilite # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation # presents dans le Fortran -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, - fr="Réponse temporelle d un système à une excitation transitoire", + fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque", reentrant='f', UIinfo={"groupes":("Résolution",)}, # regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),), - regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),), + regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'), + CONCEPT_SENSIBLE('ENSEMBLE'),), MODELE =SIMP(statut='f',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='f',typ=cham_mater ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), @@ -12612,8 +12401,8 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, ADAPT =FACT(statut='f', ), ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT',), - PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT'),), + regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT', 'ACCE_INIT'), + PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT', 'ACCE_INIT'),), DYNA_TRANS =SIMP(statut='f',typ=dyna_trans ), b_dyna_trans =BLOC(condition = "DYNA_TRANS != None", regles=(EXCLUS('NUME_INIT','INST_INIT' ),), @@ -12624,8 +12413,9 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), ), - DEPL_INIT =SIMP(statut='f',typ=(cham_no_depl_r) ), - VITE_INIT =SIMP(statut='f',typ=(cham_no_depl_r) ), + DEPL_INIT =SIMP(statut='f',typ=cham_no_sdaster), + VITE_INIT =SIMP(statut='f',typ=cham_no_sdaster), + ACCE_INIT =SIMP(statut='f',typ=cham_no_sdaster), ), EXCIT =FACT(statut='f',max='**', regles=(UN_PARMI('CHARGE','VECT_ASSE'), @@ -12636,7 +12426,7 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, PRESENT_PRESENT('ACCE','VITE','DEPL'), # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), CHARGE =SIMP(statut='f',typ=char_meca ), FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), COEF_MULT =SIMP(statut='f',typ='R' ), @@ -12655,26 +12445,52 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), REAC_VITE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), -# ce n est pas le mot clesolveur standard + SOLVEUR =FACT(statut='d', - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT'", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut=8), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + ), ), + INCREMENT =FACT(statut='o',max='**', regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), PAS =SIMP(statut='f',typ='R' ), b_pas =BLOC(condition = "PAS != None", INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='f',typ='R' ), ), b_list_fonc =BLOC(condition = "LIST_INST != None or FONC_INST != None", regles=(EXCLUS('INST_FIN','NUME_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), + NUME_FIN =SIMP(statut='f',typ='I' ), + INST_FIN =SIMP(statut='f',typ='R' ), ), VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), @@ -12691,13 +12507,13 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), ), SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des param\350tres de sensibilit\351.", + fr="Liste des paramétres de sensibilité.", ang="List of sensitivity parameters", ), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12716,10 +12532,11 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', - fr="Analyse mécanique dynamique non linéaire", + fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire", UIinfo={"groupes":("Résolution",)}, regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',), - UN_PARMI('NEWMARK','HHT','TETA_METHODE', ),), + UN_PARMI('NEWMARK','HHT','TETA_METHODE',), + CONCEPT_SENSIBLE('ENSEMBLE'),), MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='o',typ=cham_mater), MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), @@ -12748,24 +12565,22 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), ), AMOR_MODAL =FACT(statut='f', + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), MODE_MECA =SIMP(statut='f',typ=mode_meca), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - VARI_COMM =FACT(statut='f', - regles=(AU_MOINS_UN('IRRA',),), - IRRA =SIMP(statut='f',typ=evol_varc), - CORROSION =SIMP(statut='f',typ=carte_corr_r), - ), COMP_INCR =C_COMP_INCR(), COMP_ELAS =FACT(statut='f',max='**', RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", - "ELAS_POUTRE_GR","CABLE")), + "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")), ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_HYPER =SIMP(statut='c',typ='I',defaut=1,into=(1,)), ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), @@ -12773,22 +12588,29 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), #------------------------------------------------------------------- b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',), + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',), EXCLUS('EVOL_NOLI','DEPL',), EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','ACCE'), EXCLUS('EVOL_NOLI','SIGM',), EXCLUS('EVOL_NOLI','VARI',), EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), EVOL_NOLI =SIMP(statut='f',typ=evol_noli), NUME_ORDRE =SIMP(statut='f',typ='I'), INST =SIMP(statut='f',typ='R'), @@ -12799,18 +12621,20 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', ),), b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',), + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',), EXCLUS('EVOL_NOLI','DEPL',), EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','ACCE'), EXCLUS('EVOL_NOLI','SIGM',), EXCLUS('EVOL_NOLI','VARI',), EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), EVOL_NOLI =SIMP(statut='f',typ=evol_noli), NUME_ORDRE =SIMP(statut='f',typ='I'), INST =SIMP(statut='f',typ='R'), @@ -12845,8 +12669,8 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', DELTA =SIMP(statut='f',typ='R',defaut= 0.5), ), HHT =FACT(statut='f', - ALPHA =SIMP(statut='f',typ='R' - ,defaut= -0.29999999999999999 ), + ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), + MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), TETA_METHODE =FACT(statut='f', TETA =SIMP(statut='f',typ='R' @@ -12860,6 +12684,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 1. ), SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", @@ -12927,12 +12752,53 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), - RESI_INTE_RELA =SIMP(statut='f',typ='R' - ,defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", - into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), +#------------------------------------------------------------------- + SUIVI_DDL = FACT(statut='f',max=4, + regles=(UN_PARMI('NOEUD','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NUME_SUIVI =SIMP(statut='o',typ='I' ,min=1,max=4), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + into=("DEPL","VITE","ACCE","SIEF_ELGA", + "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1 ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), + POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max=1), + ), + + AFFICHAGE = FACT(statut='f',max=16, + + UNITE = SIMP(statut='f',typ='I',val_min=1), + + LONG_R = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12), + PREC_R = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8), + LONG_I = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12), + + NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD", + into=("STANDARD","MINIMUM", + "ITER_NEWT", + "INCR_TPS", + "RESI_RELA","RELA_NOEU", + "RESI_MAXI","MAXI_NOEU", + "RESI_REFE","REFE_NOEU", + "RELI_ITER","RELI_COEF", + "PILO_PARA", + "LAGR_ECAR","LAGR_INCR","LAGR_ITER", + "MATR_ASSE", + "ITER_DEBO", + "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU", + "CTCC_GEOM","CTCC_FROT","CTCC_CONT", + "SUIV_1","SUIV_2","SUIV_3","SUIV_4", + ), + ), + b_residu = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \ + NOM_COLONNE == 'RESI_MAXI' or\ + NOM_COLONNE == 'RESI_REFE' or\ + NOM_COLONNE == 'CTCD_GEOM' or\ + NOM_COLONNE == 'STANDARD' ", + INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + ), ), #------------------------------------------------------------------- ARCHIVAGE =FACT(statut='f', @@ -12966,6 +12832,16 @@ into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU"," MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), POINT =SIMP(statut='f',typ='I' ,max='**'), ), +#------------------------------------------------------------------- + CRIT_FLAMB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3), + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10.), + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), + ), + MODE_VIBR =FACT(statut='f',min=1,max=1, + MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE") ), + NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3), + ), #------------------------------------------------------------------- SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité", @@ -13004,14 +12880,11 @@ into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU"," R =SIMP(statut='f',typ='R',defaut= 1000.), ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), ), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), #------------------------------------------------------------------- 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 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13029,322 +12902,63 @@ into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU"," # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp, +DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_sdaster, fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire", reentrant='n', UIinfo={"groupes":("Résolution",)}, BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), EXCIT =FACT(statut='o', - INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), + INTE_SPEC_GENE =SIMP(statut='o',typ=table_sdaster), ), OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 12/04/2005 AUTEUR PBADEL P.BADEL +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. +# COPYRIGHT (C) 1991 - 2001 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. # ====================================================================== -#& RESPONSABLE -DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 70,sd_prod=evol_noli,reentrant='f', - fr="Analyse mecanique dynamique explicite", - regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), - ), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - CHARGE =SIMP(statut='o',typ=char_meca), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max=3), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - AMOR_MODAL =FACT(statut='f', - MODE_MECA =SIMP(statut='f',typ=mode_meca), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - PROJ_MODAL =FACT(statut='f', - MODE_MECA =SIMP(statut='f',typ=mode_meca), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - ), - COMP_INCR =C_COMP_INCR(), - COMP_ELAS =FACT(statut='f',max='**', - RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", - into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", - "ELAS_POUTRE_GR","CABLE")), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), -#------------------------------------------------------------------- - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','VITE'), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), -#------------------------------------------------------------------- - INCREMENT =FACT(statut='o', - regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), - EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", - into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), - NUME_INST_INIT =SIMP(statut='f',typ='I'), - INST_INIT =SIMP(statut='f',typ='R'), - NUME_INST_FIN =SIMP(statut='f',typ='I'), - INST_FIN =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), - SUBD_PAS_MINI =SIMP(statut='f',typ='R'), - COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), - OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), - NOM_CHAM =SIMP(statut='f',typ='TXM',), - NOM_CMP =SIMP(statut='f',typ='TXM',), - VALE =SIMP(statut='f',typ='R'), - ), -#------------------------------------------------------------------- - NEWMARK =FACT(statut='d', - ALPHA =SIMP(statut='f',typ='R',defaut= 0.25), - DELTA =SIMP(statut='f',typ='R',defaut= 0.5), - ), - NEWTON =FACT(statut='c', - 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', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), - ), - b_gcpc =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), -#------------------------------------------------------------------- - RECH_LINEAIRE =FACT(statut='c', - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), - ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), - PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), - RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), - RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), - RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), - ), - PILOTAGE =FACT(statut='c', - regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), - ETA_PILO_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_MIN =SIMP(statut='f',typ='R'), - ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), - PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), - ), - CONVERGENCE =FACT(statut='d', - regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), - SIGM_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), - RESI_INTE_RELA =SIMP(statut='f',typ='R' - ,defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", - into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), - ), -#------------------------------------------------------------------- - ARCHIVAGE =FACT(statut='f', - regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), - EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NUME_INIT =SIMP(statut='f',typ='I'), - DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")), - ), - OBSERVATION =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), - PRESENT_PRESENT('MAILLE','POINT'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - -into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), - LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PAS_OBSE =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - POINT =SIMP(statut='f',typ='I' ,max='**'), - ), -#------------------------------------------------------------------- - SOLV_NON_LOCAL =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - ), - LAGR_NON_LOCAL =FACT(statut='f', - ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), - RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), - RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), - R =SIMP(statut='f',typ='R',defaut= 1000.), - ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), - ), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, - fr="Réponse dynamique transitoire en coordonnées généralisées par recombinaison modale", - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), - PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), - METHODE =SIMP(statut='f',typ='TXM',defaut="EULER", - into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ), - MASS_GENE =SIMP(statut='o',typ=matr_asse_gene_r ), - RIGI_GENE =SIMP(statut='o',typ=matr_asse_gene_r ), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ), - MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,), - - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'), - EXCLUS('RESU_GENE','VITE_INIT_GENE'),), - RESU_GENE =SIMP(statut='f',typ=tran_gene ), - b_resu_gene =BLOC(condition = "RESU_GENE != None", - INST_INIT =SIMP(statut='f',typ='R' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), - VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), +DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, + fr="Calcul de la réponse dynamique transitoire d'un système amorti ou non en coordonées généralisées" + +" par superposition modale ou par sous structuration", + reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), + PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), + METHODE =SIMP(statut='f',typ='TXM',defaut="EULER", + into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ), + MASS_GENE =SIMP(statut='o',typ=matr_asse_gene_r ), + RIGI_GENE =SIMP(statut='o',typ=matr_asse_gene_r ), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ), + MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,), + + ETAT_INIT =FACT(statut='f', + regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'), + EXCLUS('RESU_GENE','VITE_INIT_GENE'),), + RESU_GENE =SIMP(statut='f',typ=tran_gene ), + b_resu_gene =BLOC(condition = "RESU_GENE != None", + INST_INIT =SIMP(statut='f',typ='R' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene ), + VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene ), ), INCREMENT =FACT(statut='o',max='**', INST_INIT =SIMP(statut='f',typ='R' ), @@ -13376,7 +12990,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, EXCLUS('MULT_APPUI','CORR_STAT'), PRESENT_ABSENT('MULT_APPUI','COEF_MULT'), PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), + VECT_GENE =SIMP(statut='f',typ=vect_asse_gene ), NUME_MODE =SIMP(statut='f',typ='I' ), FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), COEF_MULT =SIMP(statut='f',typ='R' ), @@ -13395,10 +13009,13 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, D_FONC_DT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), CHOC =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ), - PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), - PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), + EXCLUS('NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), + PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), INTITULE =SIMP(statut='f',typ='TXM' ), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma), NOEUD_1 =SIMP(statut='f',typ=no), NOEUD_2 =SIMP(statut='f',typ=no), GROUP_NO_1 =SIMP(statut='f',typ=grno), @@ -13433,8 +13050,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, ), FLAMBAGE =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), - PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), + EXCLUS('NOEUD_2','GROUP_NO_2'),), NOEUD_1 =SIMP(statut='f',typ=no), NOEUD_2 =SIMP(statut='f',typ=no), GROUP_NO_1 =SIMP(statut='f',typ=grno), @@ -13454,9 +13070,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, ), ANTI_SISM =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - UN_PARMI('NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), - PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), + UN_PARMI('NOEUD_2','GROUP_NO_2'),), NOEUD_1 =SIMP(statut='f',typ=no), NOEUD_2 =SIMP(statut='f',typ=no), GROUP_NO_1 =SIMP(statut='f',typ=grno), @@ -13508,7 +13122,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13529,6 +13143,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, # RESPONSABLE VABHHTS J.PELLET ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, UIinfo={"groupes":("Impression",)}, + fr="Engendre des tests pour la non régression du code (pour développeurs)", regles=(UN_PARMI('TOUT','CO'),), UNITE =SIMP(statut='f',typ='I',defaut=8), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), @@ -13537,7 +13152,7 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5"), PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-5"), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13555,14 +13170,15 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="", +EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183, + fr="Exécute un logiciel ou une commande système depuis Aster", UIinfo={"groupes":("Impression",)}, LOGICIEL =SIMP(statut='f',typ='TXM' ), ARGUMENT =FACT(statut='f',max='**', NOM_PARA =SIMP(statut='f',typ='TXM' ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 14/10/2005 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13588,7 +13204,7 @@ def extr_mode_prod(FILTRE_MODE,**args): raise AsException("type de concept resultat non prevu") EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, - reentrant='n', + reentrant='n',fr="Extraire séléctivement des modes des structures de données modales", UIinfo={"groupes":("Résolution",)}, FILTRE_MODE =FACT(statut='o',max='**', regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),), @@ -13604,7 +13220,11 @@ EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), ), b_crit_extr =BLOC(condition = "CRIT_EXTR != None", - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),), + SEUIL =SIMP(statut='f',typ='R'), + SEUIL_X =SIMP(statut='f',typ='R'), + SEUIL_Y =SIMP(statut='f',typ='R'), + SEUIL_Z =SIMP(statut='f',typ='R'), ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), @@ -13613,7 +13233,7 @@ EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13650,6 +13270,9 @@ def extr_resu_prod(RESULTAT,**args): EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f', UIinfo={"groupes":("Résultats et champs",)}, + fr="Extraire des champs au sein d'une SD Résultat", + regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(), + DERIVABLE('RESULTAT'),), RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli, mult_elas,fourier_elas ) ), @@ -13682,56 +13305,7 @@ EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f', TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. -# ====================================================================== -def extr_table_prod(TYPE_RESU,**args): - if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r - raise AsException("type de concept resultat non prevu") - -EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ), - - TABLE =SIMP(statut='o',typ=table_sdaster), - - NOM_PARA =SIMP(statut='o',typ='TXM'), - - FILTRE =FACT(statut='f',min=1,max='**', - NOM_PARA =SIMP(statut='o',typ='TXM'), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - VALE_K =SIMP(statut='f',typ='TXM'),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13757,7 +13331,7 @@ def fact_grad_prod(MATR_ASSE,**args): FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod, UIinfo={"groupes":("Résolution",)}, - fr="Préconditionnement pour résolution par gradient conjugué", + fr="Construire une matrice de préconditionnement pour une résolution par gradient conjugué", reentrant='n', MATR_ASSE =SIMP(statut='o', typ=(matr_asse_depl_r,matr_asse_temp_r, @@ -13766,7 +13340,77 @@ FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod, NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS + +from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops + +MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, + docu="U7.04.41",UIinfo={"groupe":("Impression",)}, + fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.", + ang="Print values for the fiability software", +# +# 1. Le niveau d'information +# + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +# +# 2. Impression de la valeur de la cible +# +# 2.1. ==> La table contenant la valeur à imprimer +# + TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster, + fr="Table contenant la valeur cible.", + ang="Table which includes the target value."), +# +# 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table +# + NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM', + fr="Nom du paramètre associé à la valeur cible.", + ang="Name of the parameter connected to the target value."), +# +# 3. Impressions des valeurs des éventuels gradients +# + GRADIENTS = FACT(statut='f',min=1,max='**', +# +# 3.1. ==> La table contenant la valeur à imprimer +# + TABLE = SIMP(statut='o',typ=table_sdaster, + fr="Table contenant le gradient.", + ang="Table which includes the gradient."), +# +# 3.2. ==> Le paramètre sensible +# + PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom), + fr="Paramètre sensible associé au gradient.", + ang="Sensitivity parameter connected to the gradient."), +# +# 3.3. ==> Le nom du paramètre associé au gradient dans cette table +# + NOM_PARA = SIMP(statut='o',typ='TXM', + fr="Nom du paramètre associé au gradient.", + ang="Name of the parameter connected to the gradient."), +# + ), +# +); +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13794,7 +13438,8 @@ def fact_ldlt_prod(MATR_ASSE,**args): if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c raise AsException("type de concept resultat non prevu") -FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en place ou hors place", +FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod, + fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires", reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), @@ -13818,7 +13463,7 @@ FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13836,7 +13481,7 @@ FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude", +FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE", UIinfo={"groupes":("Gestion du travail",)}, FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', typ='TXM',defaut="NON",into=("OUI","NON",) ), @@ -13848,7 +13493,7 @@ FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), UNITE =SIMP(statut='f',typ='I',defaut=6), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13867,11 +13512,11 @@ FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, - reentrant='n', + reentrant='n',fr="Crée une fonction constante paramètrée par l'abscisse curviligne", UIinfo={"groupes":("Fonction",)}, TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), ) ; -#& MODIF COMMANDE DATE 22/11/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13901,10 +13546,11 @@ def form_pyth_ops(self,d): FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5, sd_prod=formule,UIinfo={"groupes":("Fonction",)}, + fr="Définit une formule réelle à partir de son expression mathématique", VALE =SIMP(statut='f',typ='TXM'), NOM_PARA =SIMP(statut='o',typ='TXM',max='**'), ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13927,7 +13573,7 @@ GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster, fr="Génération de la fonction temporelle à partir d une matrice interspectrale", reentrant='n', UIinfo={"groupes":("Fonction",)}, - INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), + INTE_SPEC =SIMP(statut='o',typ=table_sdaster), NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee", @@ -13941,76 +13587,6 @@ GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster, 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 -# 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. -# ====================================================================== -# RESPONSABLE CAMBIER S.CAMBIER -GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27,sd_prod=matr_asse_gene_r, - fr="Generateur de matrice aleatoire", - reentrant='n', - UIinfo={"groupes":("Fonction",)}, - MATR_MOYEN = SIMP(statut='o', typ=matr_asse_gene_r), - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), - INIT_ALEA =SIMP(statut='f',typ='I'), -) ; - -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# 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. -# ====================================================================== -# RESPONSABLE CAMBIER S.CAMBIER -GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op= 28,sd_prod=table_sdaster, - fr="Generateur de variable aleatoire", - reentrant='n', - UIinfo={"groupes":("Fonction",)}, - TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), - b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", - VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), - ), - b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - ), - b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), - ), - INIT_ALEA =SIMP(statut='f',typ='I'), -) ; - #& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -14037,7 +13613,7 @@ IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158, VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14056,7 +13632,7 @@ IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114, - UIinfo={"groupes":("Fonction",)}, + UIinfo={"groupes":("Fonction",)},fr="Ecrit le résultat d'une analyse modale au format du code CLASSI", regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ', 'LIST_ORDRE' ),), UNITE_CLASSI =SIMP(statut='o',typ='I' ), @@ -14080,473 +13656,46 @@ IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114, ), AMOR =SIMP(statut='o',typ='R',max='**'), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET IMPR_CO=PROC(nom="IMPR_CO",op=17, UIinfo={"groupes":("Impression",)}, - fr="Impression du contenu d un concept utilisateur (pour développeur)", - regles=(UN_PARMI('CO','CHAINE', ),), - UNITE =SIMP(statut='f',typ='I',defaut=8), - NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(0,1,2) ), + fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)", + regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),), + + UNITE =SIMP(statut='f',typ='I',defaut=8), + NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ), ATTRIBUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), CONTENU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), - BASE =SIMP(statut='f',typ='TXM',defaut="G",into=("","G","V","L") ), - CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'), + BASE =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ), + CONCEPT =FACT(statut='f',max='**', + regles=(DERIVABLE('NOM'),), + NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter",max='**'),), CHAINE =SIMP(statut='f',typ='TXM'), POSITION =SIMP(statut='f',typ='I',defaut=1), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), ) ; -#& 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 -# 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. -# ====================================================================== -# RESPONSABLE GNICOLAS G.NICOLAS -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.", -# -# 1. Le niveau d'information -# - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -# -# 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." ), -# -# 3. Le nom local du fichier de configuration HOMARD -# - UNITE_CONF =SIMP(statut='o',typ='I'), -# -# 4. Le nom local du fichier de données HOMARD -# - UNITE_DONN =SIMP(statut='f',typ='I'), -# -# 5. Gestion des éléments autres que des simplexes -# 0 : autres elements refuses (defaut) -# 1 : raffinement sur les simplexes, mais autres acceptes -# 2 : tous -# - NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2), - fr="Type d'éléments acceptés.", - ang="Type of authorized elements." ), -# -# 6. Le type de traitement : -# - TRAITEMENT =FACT(statut='o', -# -# 6.1. TROIS CHOIX EXCLUSIFS : -# -# A. ADAPTATION PAR UN INDICATEUR D'ERREUR, AVEC TROIS VARIANTES : -# . RAFFINEMENT ET DERAFFINEMENT -# . RAFFINEMENT SEUL -# . DERAFFINEMENT SEUL -# B. ADAPTATION UNIFORME, AVEC DEUX VARIANTES : -# . RAFFINEMENT SEUL -# . DERAFFINEMENT SEUL -# . RIEN : LE MAILLAGE EST LE MEME A LA SORTIE ET A L'ENTREE -# C. INFORMATION SUR UN MAILLAGE -# - regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION'),), - ADAPTATION =SIMP(statut='f',typ='TXM', - fr="Adaptation libre", - ang="Free adaptation", - into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ), - UNIFORME =SIMP(statut='f',typ='TXM', - fr="Adaptation uniforme", - ang="Uniforme adaptation", - into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ), - INFORMATION =SIMP(statut='f',typ='TXM', - fr="Information sur un maillage", - ang="Information on a mesh", - into=("OUI",) ), -# -# 6.2. LES CONTRAINTES : -# -# 6.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT : -# A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART -# B. LE NOM MED DU MAILLAGE D'ENTREE -# C. LE NOM MED DE L'INDICATEUR D'ERREUR -# D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART -# E. LA MISE A JOUR DE SOLUTION -# F. LE NOM MED DU MAILLAGE DE SORTIE -# REMARQUE : IL FAUT DES CRITERES, MAIS ON NE SAIT PAS LESQUELS -# -# 6.2.2. POUR DE L'ADAPTATION UNIFORME -# IL FAUT : -# A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART -# B. LE NOM MED DU MAILLAGE DE SORTIE -# IL NE FAUT PAS : -# A. LE NOM MED DE L'INDICATEUR D'ERREUR -# B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR -# C. LES CRITERES -# REMARQUE : A L'ITERATION 0, OU AUX ITERATIONS SUIVANTES SI MAJ DE SOLUTION, -# IL FAUT LE NOM MED DU MAILLAGE D'ENTREE -# -# 6.2.3. POUR DE L'INFORMATION : -# IL FAUT : -# A. LE NOM MED DU MAILLAGE D'ENTREE -# IL NE FAUT PAS : -# A. LE NOM MED DE L'INDICATEUR D'ERREUR -# B. LE NOM DE LA COMPOSANTE DE L'INDICATEUR D'ERREUR -# C. LES CRITERES -# D. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART -# E. LA MISE A JOUR DE SOLUTION -# - b_maillage_initial =BLOC(condition = "( INFORMATION != None ) or ( ADAPTATION != None ) ", - fr="Nom MED du maillage en entrée", - ang="MED name of the in-mesh", - NOM_MED_MAILLAGE_N =SIMP(statut='o',typ='TXM',), - ) , -# - b_maillage_initial_uniforme =BLOC(condition = "( UNIFORME != None ) ", - fr="Nom MED du maillage en entrée", - ang="MED name of the in-mesh", - NOM_MED_MAILLAGE_N =SIMP(statut='f',typ='TXM',), - ) , -# - 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" ), - ) , -# - b_indicateur_d_erreur =BLOC(condition = "ADAPTATION != None", - fr="Indicateur d'erreur", - ang="Error indicator", - 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 de l'indicateur d'erreur.", - ang="MED name of error indicator.",), - COMPOSANTE =SIMP(statut='o',typ='TXM', - fr="Nom de la composante de l'indicateur d'erreur retenue.", - ang="Name of the selected component of the error indicator.",), - NUME_ORDRE =SIMP(statut='f',typ='I', - fr="Numero d'ordre de l'indicateur.", - ang="Rank number of the error indicator.",), - INST =SIMP(statut='f',typ='R', - fr="Instant de l'indicateur.", - ang="Instant of the error indicator.",), - 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 l'indicateur.", - ang="Conceipt wich contains the error indicator.",), - NOM_CHAM =SIMP(statut='f',typ='TXM', - fr="Nom du champ dans le résultat de l'indicateur.", - ang="Name of the field of the error indicator.",), - ) , -# - b_critere_de_raffinement =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" , - fr="Critère de raffinement.", - ang="Refinement threshold.", - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),), - CRIT_RAFF_ABS =SIMP(statut='f',typ='R', - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_RAFF_REL =SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), - CRIT_RAFF_PE =SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), - ) , -# - b_critere_de_deraffinement =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" , - fr="Critère de déraffinement.", - ang="Unrefinement threshold.", - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),), - CRIT_DERA_ABS =SIMP(statut='f',typ='R' , - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_DERA_REL =SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), - CRIT_DERA_PE =SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), - ) , -# - b_niveau_maximum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or \ - ( UNIFORME == 'RAFFINEMENT' )" , - NIVE_MAX =SIMP(statut='f',typ='I', - fr="Niveau maximum de profondeur de raffinement", - ang="Maximum level for refinement"), - ) , -# - b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \ - ( UNIFORME == 'DERAFFINEMENT' )" , - NIVE_MIN =SIMP(statut='f',typ='I', - fr="Niveau minimum de déraffinement", - ang="Minimum level for unrefinement" ), - ) , -# -# 6.3. Le suivi de frontiere eventuel : -# - NOM_MED_MAILLAGE_FRONTIERE =SIMP(statut='f',typ='TXM', - fr="Nom MED du maillage de la frontiere à suivre", - ang="MED name of the boundary mesh" ), -# - b_frontiere_1 =BLOC ( condition = "NOM_MED_MAILLAGE_FRONTIERE != None" , - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupes définissant la frontière", - ang="Groups which define the boundary" ), - ) , -# - ), -# -# 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.", - ang="Mesh analysis.", -# -# 5 CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) : -# A. NOMBRE DES ELEMENTS -# B. QUALITE DES ELEMENTS -# C. INTERPENETRATION DES ELEMENTS -# D. CONNEXITE DU MAILLAGE -# E. TAILLE DES DIFFERENTS SOUS-DOMAINES -# - regles=(AU_MOINS_UN('NOMBRE','QUALITE','INTERPENETRATION','CONNEXITE','TAILLE'),), -# - NOMBRE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), - fr="Nombre de noeuds et éléments du maillage", - ang="Number of nodes and elements in the mesh" ), -# - QUALITE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Qualité du maillage", - ang="Mesh quality" ), -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Controle de la non interpénétration des éléments.", - ang="Overlapping checking." ), -# - CONNEXITE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Connexité du maillage.", - ang="Mesh connexity." ), -# - TAILLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# - ), -# -) ; -#& MODIF COMMANDE DATE 15/11/2004 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== -# RESPONSABLE MCOURTOI M.COURTOIS -from Macro.impr_fonction_ops import impr_fonction_ops - -IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None, - fr="Impression de fonctions sur fichiers, les valeurs ayant été récupérées par RECU_FONCTION", - UIinfo={"groupes":("Fonction",)}, - FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', - into=("TABLEAU","AGRAF","XMGRACE",),), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", - fr="Mots-clés propres à AGRAF", - UNITE =SIMP(statut='o',typ='I',defaut=25, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, - fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), - ), - # unite pour TABLEAU dans le bloc de mise en forme spécifique - - COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", - regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), - FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), - fr="Fonction réelle ou complexe", ), - LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, - fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), - FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), - fr="Fonction abscisses d'une fonction paramétrique",), - ABSCISSE =SIMP(statut='f',typ='R',max='**', - fr="Valeurs des abscisses", ), - b_fonction =BLOC(condition = "FONCTION != None", - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_fonction_c =BLOC(condition = "AsType(FONCTION) == fonction_c", - fr="Fonction complexe définie par le mot-clé fonction", - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - ), - b_list_resu =BLOC(condition = "LIST_RESU != None", - LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), - ), - b_fonc_x =BLOC(condition = "FONC_X != None", - FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_vale_resu =BLOC(condition = "ABSCISSE != None", - ORDONNEE =SIMP(statut='o',typ='R',max='**', - fr="Valeurs des ordonnées"), - ), - - # le bloc n'est pas activé (vide) car position n'est pas pris en compte - b_forme =BLOC(condition = "FORMAT != 'TABLEAU'", - fr="Données de mise en forme de la fonction (cf. doc)", - ), - LEGENDE =SIMP(statut='f',typ='TXM', - fr="Légende associée à la fonction" ), - STYLE =SIMP(statut='f',typ='I',val_min=0, - fr="Style de la ligne représentant la fonction",), - COULEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Couleur associée à la fonction",), - MARQUEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Type du marqueur associé à la fonction",), - FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, - fr="Fréquence d impression du marqueur associé à la fonction", ), - # fin bloc b_forme - TRI =SIMP(statut='f',typ='TXM',defaut="N", - fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", - into=("N","X","Y","XY","YX") ), - ), - # Mise en page du tableau ou du graphique - b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", - fr="Mots-clés propres au format Tableau", - UNITE =SIMP(statut='o',typ='I',defaut=8, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', - fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), - COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', - fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), - DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère de debut de ligne"), - FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', - fr="Caractère de fin de ligne"), - ), - b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", - fr="Mise en page du graphique", - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des abscisses"), - BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des ordonnées"), - ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les abscisses" ), - ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les ordonnées" ), - GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage vertical" ), - GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage horizontal" ), - LEGENDE_X =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des abscisses" ), - LEGENDE_Y =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des ordonnées" ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 17/05/2005 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14565,7 +13714,7 @@ IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, - fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire", + fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT", UIinfo={"groupes":("Impression",)}, FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), UNITE =SIMP(statut='f',typ='I',defaut=8), @@ -14580,22 +13729,20 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, EXCLUS('TOUT_CHAM','NOM_CHAM'), EXCLUS('TOUT_PARA','NOM_PARA'),), # faut-il faire des blocs selon le type de RESU_GENE - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene_r, tran_gene, mode_gene, harm_gene)), + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - b_prec_crit =BLOC(condition = "LIST_FREQ != None or FREQ != None", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", into=("RELATIF","ABSOLU") ), - ), TOUT_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), NUME_CMP_GENE =SIMP(statut='f',typ='I',max='**'), TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), @@ -14607,7 +13754,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14627,7 +13774,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, # ====================================================================== IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, UIinfo={"groupes":("Impression",)}, - fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)", + fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)", ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM', into=("DISQUE","MEMOIRE","REPERTOIRE", "OBJET","ATTRIBUT","SYSTEME") ), @@ -14662,7 +13809,7 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, ), COMMENTAIRE =SIMP(statut='f',typ='TXM' ), ) ; -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14682,6 +13829,7 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, # ====================================================================== IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, UIinfo={"groupes":("Impression",)}, + fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D PLEXUS ou CADYRO", MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ), @@ -14720,7 +13868,7 @@ IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, ), ) ; -#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHLV L.VIVAN +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14739,7 +13887,7 @@ IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159, - fr="Impression des matrices élémentaires et des matrices assemblées", + fr="Imprimer sur un fichier au format IDEAS ou RESULTAT des matrices élémentaires et assemblées", UIinfo={"groupes":("Impression",)}, regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),), # ====================================================================== @@ -14791,7 +13939,7 @@ IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159, ), # ====================================================================== ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14811,13 +13959,14 @@ IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159, # ====================================================================== IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162, UIinfo={"groupes":("Impression",)}, + fr="Impression des données d'entrée pour une étude sismique avec MISS3D", regles=(UN_PARMI('INST_INIT','FREQ_INIT'), PRESENT_PRESENT('INST_INIT','INST_FIN'), PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),), MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), EXCIT =FACT(statut='f',max='**', regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), COEF_MULT =SIMP(statut='f',typ='R' ), ), @@ -14836,53 +13985,7 @@ IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162, INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== -# RESPONSABLE D6BHHAM A.M.DONORE -# -IMPR_OAR =PROC(nom="IMPR_OAR",op= 40, - fr="Impression au format OAR", - UIinfo={"groupes":("Impression",)}, - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - MAILLE =SIMP(statut='o',typ=ma ,validators=NoRepeat(),max=2 ), - NOEUD =SIMP(statut='o',typ=no ,validators=NoRepeat() ), - - CHARGE =FACT(statut='o',max='**', - - NUM_CHAR =SIMP(statut='o',typ='I'), - TEMP_NOEUD =SIMP(statut='f',typ='R',defaut=20.), - TYPE =SIMP(statut='f',typ='TXM',defaut="DILA", - into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ), - NATURE =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE", - into=("PRIMAIRE","SECONDAIRE","TOTAL") ), - SIGNE =SIMP(statut='f',typ='TXM',defaut="S", - into=("S","NS") ), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!! - ), - - - UNITE =SIMP(statut='f',typ='I',defaut=38), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 12/04/2005 AUTEUR CIBHHPD L.SALMONA +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14902,7 +14005,7 @@ IMPR_OAR =PROC(nom="IMPR_OAR",op= 40, # ====================================================================== IMPR_RESU=PROC(nom="IMPR_RESU",op=39, UIinfo={"groupes":("Impression",)}, - fr="Impression du résultat d un calcul (différents formats)", + fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)", MODELE =SIMP(statut='f',typ=modele_sdaster), FORMAT =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT", @@ -14951,10 +14054,15 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39, b_sensibilite =BLOC(condition="RESULTAT != None", fr="Définition des paramètres de sensibilité", ang="Definition of sensitivity parameters", + regles=(DERIVABLE('RESULTAT'),), SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"),), +# b_partie =BLOC(condition="""((AsType(RESULTAT)==dyna_harmo) or +# (AsType(CHAM_GD)!=carte_sdaster)) and ((FORMAT=='CASTEM') or (FORMAT=='GMSH'))""", + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), +# ), b_extrac =BLOC(condition="RESULTAT != None", fr="extraction d un champ de grandeur", regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'), @@ -15005,8 +14113,8 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39, ), ### b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ - ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""", - fr="sélection des entités toplogiques", + ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", + fr="sélection des entités topologiques", TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), @@ -15068,7 +14176,7 @@ IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de val PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2 ), ) ; -#& MODIF COMMANDE DATE 15/11/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15091,7 +14199,8 @@ from Macro.impr_table_ops import impr_table_ops IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None, UIinfo={"groupes":("Impression",)}, - fr="Impression d un concept de type table_sdaster", + fr="Impression du contenu d'une table dans un fichier", + regles=(DERIVABLE("TABLE"),), TABLE =SIMP(statut='o',typ=table_sdaster), SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", @@ -15200,7 +14309,7 @@ INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include, UNITE = SIMP(statut='o',typ='I'), INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15220,7 +14329,7 @@ INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include, # ====================================================================== INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14, UIinfo={"groupes":("Modélisation",)}, - fr=" ", + fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ", sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0, NOM_AFNOR =SIMP(statut='o',typ='TXM' ), TYPE_MODELE =SIMP(statut='o',typ='TXM',into=("REF","PAR") ), @@ -15238,151 +14347,28 @@ 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 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # 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. +# COPYRIGHT (C) 1991 - 2001 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. # ====================================================================== -# RESPONSABLE D6BHHJP J.P.LEFEBVRE -INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, - fr="Récupère différentes informations propres à l'exécution en cours", - reentrant='n', - UIinfo={"groupes":("Gestion du travail",)}, - - regles=(), - 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 24/05/2005 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -from Macro.info_fonction_ops import info_fonction_ops -def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): - if (RMS != None): return table_sdaster - if (MAX != None): return table_sdaster - if (NOCI_SEISME != None): return table_sdaster - if (ECART_TYPE != None): return table_sdaster - if (NORME != None): return table_sdaster - raise AsException("type de concept resultat non prevu") - -INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod - ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe", - reentrant='n', - UIinfo={"groupes":("Fonction",)}, - regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), - RMS =FACT(statut='f',fr="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" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), - ), - NOCI_SEISME =FACT(statut='f', - regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), - FONCTION =SIMP(statut='f',typ=fonction_sdaster ), - SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), - b_option_f =BLOC(condition="""FONCTION !=None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**', - into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", - "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), - b_amor =BLOC(condition="""OPTION=="TOUT" or OPTION=="INTE_SPEC" """, - AMOR_REDUIT =SIMP(statut='o',typ='R'), ),), - b_option_n =BLOC(condition="""SPEC_OSCI !=None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), - NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), - AMOR_REDUIT =SIMP(statut='o',typ='R'), ), - INST_INIT =SIMP(statut='f',typ='R'), - INST_FIN =SIMP(statut='f',typ='R'), - COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PESANTEUR =SIMP(statut='f',typ='R',defaut= 9.81E+0 ), - FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), - FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), - BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), - b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - ), - MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), - ), - NORME =FACT(statut='f',fr="Norme L2 d'une fonction", - FONCTION =SIMP(statut='o', typ=nappe_sdaster), - ), - ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", - 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" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), - ), - 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 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -# RESPONSABLE G8BHHXD X.DESROCHES -INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, - UIinfo={"groupes":("Post traitements",)}, - fr="Définition d une courbe sur un maillage 2D",reentrant='n', +# RESPONSABLE G8BHHXD X.DESROCHES +INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, + UIinfo={"groupes":("Post traitements",)}, + fr="Définition d'une courbe dans un maillage 2D",reentrant='n', MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), @@ -15443,7 +14429,7 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15464,7 +14450,7 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, # RESPONSABLE G8BHHXD X.DESROCHES INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, UIinfo={"groupes":("Post traitements",)}, - fr="Définition d un chemin sur un maillage 3D",reentrant='n', + fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n', MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), @@ -15482,7 +14468,7 @@ INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15505,18 +14491,13 @@ def lire_champ_prod(TYPE_CHAM=None,**args): # homologue dans macr_adap_mail import string # - if TYPE_CHAM[0:5] == "NOEU_" : return eval("cham_no_"+string.lower(TYPE_CHAM[5:])) - if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl - if TYPE_CHAM[0:5] == "ELEM_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) - if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl - if TYPE_CHAM[0:5] == "ELNO_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) - if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl - if TYPE_CHAM[0:5] == "ELGA_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) + if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster + if TYPE_CHAM[0:2] == "EL" : return cham_elem raise AsException("type de concept resultat non prevu") LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, - fr="Lire un champ dans un fichier et le stocker dans un concept.", - reentrant='n', + fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.", + reentrant='n',UIinfo={"groupe":("Résultats et champs",)}, MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), UNITE =SIMP(statut='f',typ='I',defaut= 81,), @@ -15551,7 +14532,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 20/09/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15579,7 +14560,8 @@ def lire_fonction_prod(self,TYPE,**args): raise AsException("type de concept resultat non prevu") LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod, - fr="Lecture d une fonction ou d une nappe dans un fichier ", + fr="Lit les valeurs réelles dans un fichier de données représentant une fonction et" + +" crée un concept de type fonction ou nappe", reentrant='n', UIinfo={"groupes":("Fonction",)}, FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), @@ -15614,7 +14596,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 20/09/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15635,8 +14617,8 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti 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", +LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=table_sdaster, + 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' ), @@ -15651,7 +14633,7 @@ LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_int 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 +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15671,7 +14653,7 @@ LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_int # ====================================================================== # RESPONSABLE VABHHTS J.PELLET LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, - fr="Lecture d'un fichier de maillage", + fr="Crée un maillage par lecture d'un fichier au format Aster ou Med", ang="Readings of a mesh file", reentrant='n', UIinfo={"groupes":("Maillage",)}, @@ -15709,7 +14691,7 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), # ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15733,7 +14715,7 @@ def lire_miss_3d_prod(TYPE_RESU,**args): raise AsException("type de concept resultat non prevu") LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod, - fr="Restitution au format MISS3D d une évolution harmonique ou transitoire", + fr="Restituer sur base physique une réponse harmonique ou transitoire issue de MISS3D", reentrant='n', UIinfo={"groupes":("Maillage",)}, MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), @@ -15742,7 +14724,7 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod, TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15761,7 +14743,7 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, - fr=" ", + fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS", reentrant='n', UIinfo={"groupes":("Maillage",)}, regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), @@ -15782,7 +14764,7 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 11/05/2005 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 03/10/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15846,8 +14828,9 @@ def l_nom_cham_pas_elga(): return ( ) LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', - UIinfo={"groupes":("Maillage",)}, - fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight", + UIinfo={"groupes":("Résultats et champs",)}, + fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED," + +" des champs et les stocker dans une SD résultat", # 0) mots clés généraux : @@ -15903,6 +14886,7 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', POSI_ORDRE =SIMP(statut='o',typ='I',min=2,max=2), POSI_NUME_MODE =SIMP(statut='f',typ='I',min=2,max=2), POSI_MASS_GENE =SIMP(statut='f',typ='I',min=2,max=2), + POSI_AMOR_GENE =SIMP(statut='f',typ='I',min=2,max=2), POSI_INST =SIMP(statut='f',typ='I',min=2,max=2), POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2), NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),), @@ -15953,53 +14937,7 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', ), ), ) ; -#& MODIF COMMANDE DATE 16/06/2004 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. -# ====================================================================== - -from Macro.lire_table_ops import lire_table_ops - -def lire_table_prod(self,TYPE_TABLE,**args): - if TYPE_TABLE == "TABLE" : return table_sdaster - if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom - 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 - raise AsException("type de concept resultat non prevu") - -LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod, - fr="Lecture d un concept de type table", - UIinfo={"groupes":("Maillage",)}, - UNITE =SIMP(statut='o',typ='I' ), - FORMAT =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"), - NUME_TABLE =SIMP(statut='f',typ='I',defaut=1), - TYPE_TABLE =SIMP(statut='f',typ='TXM',defaut="TABLE", - into=("TABLE", - "TABL_CARA_GEOM", - "TABL_POST_RELE", - "TABL_POST_USUR", - "TABL_POST_ALEA" ) ), - SEPARATEUR =SIMP(statut='o',typ='TXM'), - PARA =SIMP(statut='f',typ='TXM',max='**'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - ) ; - -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16019,312 +14957,426 @@ LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod, # ====================================================================== # RESPONSABLE GNICOLAS G.NICOLAS + from Macro.macr_adap_mail_ops import macr_adap_mail_ops def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args): - maillage_np1=ADAPTATION['MAILLAGE_NP1'] +# +# 0. Typage des structures produites +# + maillage_np1=args['MAILLAGE_NP1'] self.type_sdprod(maillage_np1,maillage_sdaster) +# + if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) : + maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE'] + self.type_sdprod(maillage_np1_annexe,maillage_sdaster) +# if MAJ_CHAM == None:return None # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP for ch in MAJ_CHAM: t=ch['TYPE_CHAM'] - if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_no_"+string.lower(t[5:]))) - if t == "ELEM_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) - if t[0:5] == "ELEM_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) - if t == "ELNO_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) - if t[0:5] == "ELNO_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) - if t == "ELGA_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) - if t[0:5] == "ELGA_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) + if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster) + if t[0:2] == "EL": self.type_sdprod(ch['CHAM_MAJ'],cham_elem) return None + 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", + docu="U7.03.01-b",UIinfo={"groupe":("Maillage",)}, # # 1. Le niveau d'information # - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), # # 2. Version de HOMARD # - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1", - into=("V7_1", "V7_N", "V7_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_2", + into=("V8_2", "V8_N", "V8_N_PERSO"), + fr="Version de HOMARD", + ang="HOMARD release"), # -# 3. Langue des messages issus de HOMARD +# 3. Langue des messages produits par 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." ), + LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", + into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), + fr="Langue des messages produits par HOMARD.", + ang="Language for HOMARD messages." ), # -# 4. Gestion des éléments autres que des simplexes -# 0 : autres elements refuses -# 1 : raffinement sur les simplexes, mais autres acceptes -# 2 : tous (defaut) +# 4. Les maillages +# 4.1. Quel que soit le type de traitement, il faut donner : +# A. Le concept du maillage initial (entree) +# B. Le concept du maillage final (sortie) # - 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." ), + MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, + fr="Maillage avant adaptation", + ang="Mesh before adaptation" ), # -# 5. Le type de traitement : + MAILLAGE_NP1 = SIMP(statut='o',typ=CO, + fr="Maillage apres adaptation", + ang="Mesh after adaptation" ), # - ADAPTATION =FACT(statut='o', - fr="Type d'adaptation", - ang="Type of adaptation", +# 4.2. Eventuellement, on peut produire un maillage annexe +# Actuellement, c'est le maillage n+1, mais de degré différent. # -# 5.1. Deux choix d'adaptation exclusifs : + MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO, + fr="Maillage annexe apres adaptation", + ang="Additional mesh after adaptation" ), # -# 5.1. -# A. Selon un indicateur d'erreur, avec trois variantes : -# . Raffinement et deraffinement -# . Raffinement seul -# . Deraffinement seul -# B. Uniforme, avec trois variantes : -# . Raffinement seul -# . Deraffinement seul -# . Rien : le maillage est le meme a la sortie et a l'entree +# 5. Le pilotage de l'adaptation, avec les variantes suivantes : +# . Raffinement et deraffinement, selon un champ d'indicateurs d'erreur +# . Raffinement seul, selon un champ d'indicateurs d'erreur +# . Deraffinement seul, selon un champ d'indicateurs d'erreur +# . Raffinement uniforme : toutes les mailles sont divisées +# . Deraffinement uniforme : toutes les mailles sont regroupées +# . Rien : le maillage est le meme a la sortie et a l'entree # - regles=( - UN_PARMI('LIBRE','UNIFORME'), - ), - LIBRE = SIMP(statut='f',typ='TXM', - into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT"), - fr="Adaptation selon un indicateur d'erreur.", - ang="Adaptation among an error indicator" ), - UNIFORME = SIMP(statut='f',typ='TXM', - into=("RAFFINEMENT","DERAFFINEMENT","RIEN"), - fr="Adaptation uniforme.", - ang="Uniform adaptation" ), + ADAPTATION = SIMP(statut='f',typ='TXM', + into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT","RAFFINEMENT_ZONE", \ + "RAFFINEMENT_UNIFORME","DERAFFINEMENT_UNIFORME","RIEN"), + fr="Pilotage de l'adaptation : selon un indicateur d'erreur ou uniforme.", + ang="Adaptation control : among an error indicator or uniform" ), # -# 5.2. Quel que soit le type de traitement, il faut donner : -# A. Le concept du maillage initial -# B. Le concept du maillage final +# 6. Pour de l'adaptation libre, il faut un indicateur d'erreur # - MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage avant adaptation", - ang="Mesh before adaptation" ), - MAILLAGE_NP1 = SIMP(statut='o',typ=CO, - fr="Maillage apres adaptation", - ang="Mesh after adaptation" ), + b_indicateur_d_erreur = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') or \ + (ADAPTATION == 'DERAFFINEMENT') " , + fr="Pour une adaptation libre, choix de l'indicateur d'erreur ou d'une zone à raffiner", + ang="For free adaptation, selection of error indicator or zone", # -# 5.3. Pour de l'adaptation libre, il faut l'indicateur d'erreur + regles=(UN_PARMI('CHAM_GD','RESULTAT_N')), # +# 6.1. Repérage de la zone à raffiner à l'aide d'un indicateur # - b_indicateur_d_erreur =BLOC( condition = " LIBRE != None " , - fr="Choix de l'indicateur d'erreur", - ang="Selection of error indicator", +# 6.1.1. Sous forme de champ de grandeur # -# 5.3.1. Le nom du concept resultat_sdaster + CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, + fr="Champ de grandeur Code_Aster contenant l'indicateur d'erreur", + ang="Code_Aster champ de grandeur with error indicator" ), # - RESULTAT_N = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) , - fr="Concept resultat Code_Aster contenant l'indicateur d'erreur", - ang="Result with error indicator" ), +# 6.1.2. Sous forme de concept resultat_sdaster # -# 5.3.2. Le champ d'indicateur d'erreur + RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) , + fr="Concept resultat Code_Aster contenant l'indicateur d'erreur", + ang="Code_Aster result with error indicator" ), # - INDICATEUR = SIMP(statut='o',typ='TXM', - fr="Champ de l'indicateur d'erreur", - ang="Error indicator field" ), + b_champ_indicateur = BLOC(condition="(RESULTAT_N != None)", + INDICATEUR = SIMP(statut='o',typ='TXM', + fr="Champ de l'indicateur d'erreur dans le résultat", + ang="Error indicator field in the result structure" ), + ), # -# 5.3.3. La composante retenue +# 6.1.3. La composante retenue # - NOM_CMP_INDICA = SIMP(statut='o',typ='TXM', - fr="Composante retenue", - ang="Selected component" ), + b_composante = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ", + fr="Choix de la composante pour l'indicateur", + ang="Component selection for error indicator", # -# 5.3.4. Le paramètre temporel pour l'indicateur + NOM_CMP_INDICA = SIMP(statut='o',typ='TXM', + fr="Composante retenue pour l'indicateur d'erreur", + ang="Selected component for error indicator" ), # - regles=(EXCLUS('NUME_ORDRE','INST'),), + ), # -# 5.3.4.1. Soit le numero d'ordre +# 6.1.4. Le paramètre temporel pour l'indicateur # - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numero d ordre", - ang="Rank" ), + b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)", + fr="Choix éventuel du paramètre temporel pour l'indicateur", + ang="Time selection for error indicator (option)", # -# 5.3.4.2. Soit l'instant -# 5.3.4.2.1. Sa valeur + regles=(EXCLUS('NUME_ORDRE','INST'),), # - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), +# 6.1.4.1. Soit le numero d'ordre # -# 5.3.4.2.2. La précision du choix de l'instant + NUME_ORDRE = SIMP(statut='f',typ='I', + fr="Numero d ordre", + ang="Rank" ), # - 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" ),), +# 6.1.4.2. Soit l'instant +# 6.1.4.2.1. Sa valeur # - ) , + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), # -# 5.4. Les criteres pour de l'adaptation libre : -# absolu, relatif, en proportion d'entite -# 5.4.1. Pour le raffinement : -# - b_critere_de_raffinement =BLOC( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) " , - fr="Critère de raffinement.", - ang="Refinement threshold.", - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),), - CRIT_RAFF_ABS = SIMP(statut='f',typ='R', - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_RAFF_REL = SIMP(statut='f',typ='R', - 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 : fraction entre 0 et 1", - ang="Percentage of elements : ratio between 0 and 1" ), - ) , +# 6.1.4.2.2. La précision du choix de l'instant # -# 5.4.2. Pour le deraffinement : -# - b_critere_de_deraffinement =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) " , - fr="Critère de déraffinement.", - ang="Unrefinement threshold.", - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),), - CRIT_DERA_ABS = SIMP(statut='f',typ='R' , - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_DERA_REL = SIMP(statut='f',typ='R', - 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 : fraction entre 0 et 1", - ang="Percentage of elements : ratio between 0 and 1" ), - ) , + b_precision = BLOC(condition="(INST != None)", + fr="Choix de la précision du choix de l'instant", + ang="Selection for instant choice", + 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" ), + ), # -# 5.5. Les niveaux extremes pour le maillage adapte -# 5.5.1. Pour le raffinement : + ), +# + ) , # - b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \ - ( UNIFORME == 'RAFFINEMENT' ) " , +# 7. Les criteres pour de l'adaptation libre avec un indicateur d'erreur : +# absolu, relatif, en proportion d'entite +# 7.1. Pour le raffinement : +# + b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') " , + fr="Critère de raffinement.", + ang="Refinement threshold.", +# + regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),), +# + CRIT_RAFF_ABS = SIMP(statut='f',typ='R', + fr="Critère absolu", + ang="Absolute threshold" ), + CRIT_RAFF_REL = SIMP(statut='f',typ='R', + fr="Critère relatif : fraction réelle 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 : fraction réelle entre 0. et 1.", + ang="Percentage of elements : ratio between 0. and 1." ), + ) , +# +# 7.2. Pour le deraffinement : +# + b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'DERAFFINEMENT') " , + fr="Critère de déraffinement.", + ang="Unrefinement threshold.", +# + regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),), +# + CRIT_DERA_ABS = SIMP(statut='f',typ='R' , + fr="Critère absolu", + ang="Absolute threshold" ), + CRIT_DERA_REL = SIMP(statut='f',typ='R', + fr="Critère relatif : fraction réelle 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 : fraction réelle entre 0. et 1.", + ang="Percentage of elements : ratio between 0. and 1." ), + ) , +# +# 8. Pour de l'adaptation par zone, définitions des zones +# Remarque : on impose le 3D +# + b_zone = BLOC( condition = " (ADAPTATION == 'RAFFINEMENT_ZONE') " , + fr="Pour une adaptation selon une zone à raffiner", + ang="For adaptation among zone", + ZONE = FACT(statut='f',max='**', + fr="Définition de zones à raffiner.", + ang="Refined zone definition.", +# + regles=(AU_MOINS_UN('X_MINI','X_CENTRE'), + EXCLUS('X_MINI','X_CENTRE',), + PRESENT_PRESENT('X_MINI','X_MAXI','Y_MINI','Y_MAXI','Z_MINI','Z_MAXI'), + PRESENT_PRESENT('X_CENTRE','Y_CENTRE','Z_CENTRE','RAYON'),), +# +# 6.2.1. Une boite parallelepipedique +# + X_MINI = SIMP(statut='f',typ='R', + fr="Abscisse minimum de la boite", + ang="Minimum X for the box"), + X_MAXI = SIMP(statut='f',typ='R', + fr="Abscisse maximum de la boite", + ang="Maximum X for the box"), +# + Y_MINI = SIMP(statut='f',typ='R', + fr="Orodnnée minimum de la boite", + ang="Minimum Y for the box"), + Y_MAXI = SIMP(statut='f',typ='R', + fr="Abscisse maximum de la boite", + ang="Maximum Y for the box"), +# + Z_MINI = SIMP(statut='f',typ='R', + fr="Cote minimum de la boite", + ang="Minimum Z for the box"), + Z_MAXI = SIMP(statut='f',typ='R', + fr="Cote maximum de la boite", + ang="Maximum Z for the box"), +# +# 6.2.2. Une sphere +# + X_CENTRE = SIMP(statut='f',typ='R', + fr="Abscisse du centre de la sphere", + ang="X for the center of the sphere"), + Y_CENTRE = SIMP(statut='f',typ='R', + fr="Ordonnee du centre de la sphere", + ang="Y for the center of the sphere"), + Z_CENTRE = SIMP(statut='f',typ='R', + fr="Cote du centre de la sphere", + ang="Z for the center of the sphere"), + RAYON = SIMP(statut='f',typ='R', + fr="Rayon de la sphere", + ang="Radius of the sphere"), +# + ) , +# + ) , +# +# 9. Les niveaux extremes pour le maillage adapte +# 9.1. Pour le raffinement : +# + b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'RAFFINEMENT') or \ + (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ + (ADAPTATION == 'RAFFINEMENT_ZONE') " , fr="Niveau maximum de profondeur de raffinement", ang="Maximum level for refinement", - NIVE_MAX = SIMP(statut='f',typ='I' ), - ) , + NIVE_MAX = SIMP(statut='f',typ='I', + fr="Niveau maximum de profondeur de raffinement", + ang="Maximum level for refinement"), + ) , # -# 5.5.2. Pour le deraffinement : +# 9.2. Pour le deraffinement : # - b_niveau_minimum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) or \ - ( UNIFORME == 'DERAFFINEMENT' ) " , + b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ + (ADAPTATION == 'DERAFFINEMENT') or \ + (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , fr="Niveau minimum de profondeur de déraffinement", ang="Minimum level for unrefinement", - NIVE_MIN = SIMP(statut='f',typ='I' ), - ) , -# - ), + NIVE_MIN = SIMP(statut='f',typ='I', + fr="Niveau minimum de profondeur de déraffinement", + ang="Minimum level for unrefinement"), + ) , # -# 6. Suivi d'une frontiere +# 10. Suivi d'une frontiere # - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, fr="Maillage de la frontiere à suivre", ang="Boundary mesh" ), # - b_frontiere =BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Groupes définissant la frontière", - ang="Groups which define the boundary", - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), - ) , + b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Information complémentaire sur la frontière", + ang="Further information about boundary", # -# 7. Mise à jour de champs sur le nouveau maillage + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Liste des groupes de mailles définissant la frontière", + ang="Mesh groups which define the boundary" ), # - MAJ_CHAM =FACT(statut='f',max='**', - fr="Mise à jour de champs sur le nouveau maillage.", - ang="Updating of fields over the new mesh.", + ) , # -# 7.1. Le nom du champ qui contiendra le resultat de la mise a jour +# 11. Mise à jour de champs sur le nouveau maillage # - CHAM_MAJ = SIMP(statut='o',typ=CO, - fr="Nom du champ qui contiendra le champ mis à jour", - ang="Name of the field for the updated field"), + MAJ_CHAM = FACT(statut='f',max='**', + fr="Mise à jour de champs sur le nouveau maillage.", + ang="Updating of fields over the new mesh.", # -# 7.2. Le type du champ qui contiendra le resultat de la mise a jour +# 11.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour # - TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(), - fr="Type du champ qui contiendra le champ mis à jour", - ang="Type of the field for the updated field" ), + CHAM_MAJ = SIMP(statut='o',typ=CO, + fr="Nom du champ de grandeur qui contiendra le champ mis à jour", + ang="Name of the field for the updated field"), # -# 7.3. Le nom du resultat du champ a interpoler +# 11.2. Le type du champ qui contiendra le resultat de la mise a jour # - RESULTAT = SIMP(statut='o', - typ=(evol_elas,evol_noli,evol_ther), - fr="Resultat contenant le champ à mettre à jour", - ang="Result with field to be updated" ), + TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(), + fr="Type du champ qui contiendra le champ mis à jour", + ang="Type of the field for the updated field" ), # -# 7.4. Le nom du champ a interpoler +# 11.3. Le champ a interpoler # - NOM_CHAM = SIMP(statut='o',typ='TXM', - fr="Nom du champ à mettre à jour", - ang="Name of the field to be updated" ), + regles=(UN_PARMI('CHAM_GD','RESULTAT')), # -# 7.5. Le paramètre temporel pour le champ a interpoler +# 11.3.1. Sous forme de champ de grandeur # - regles=(EXCLUS('NUME_ORDRE','INST'),), + CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, + fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour", + ang="Champ de grandeur with field to be updated" ), # -# 7.5.1. Soit le numero d'ordre +# 11.3.2. Sous forme de champ dans un resultat # - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numero d ordre du champ à mettre à jour", - ang="Rank of the field to be updated" ), + RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), + fr="Resultat contenant le champ à mettre à jour", + ang="Result with field to be updated" ), # -# 7.5.2. Soit l'instant -# 7.5.2.1. Sa valeur + NOM_CHAM = SIMP(statut='f',typ='TXM', + fr="Nom du champ à mettre à jour", + ang="Name of the field to be updated" ), # - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), +# 11.4. Le paramètre temporel pour le champ a interpoler # -# 7.5.2.2. La précision du choix de l'instant + b_parametre_temporel = BLOC(condition="(RESULTAT != None)", + fr="Choix éventuel du paramètre temporel pour l'indicateur", + ang="Time selection for error indicator (option)", # - 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" ),), - ), + regles=(EXCLUS('NUME_ORDRE','INST'),), +# +# 11.4.1. Soit le numero d'ordre +# + NUME_ORDRE = SIMP(statut='f',typ='I', + fr="Numero d ordre du champ à mettre à jour", + ang="Rank of the field to be updated" ), +# +# 11.4.2. Soit l'instant +# 11.4.2.1. Sa valeur +# + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), +# +# 11.4.2.2. La précision du choix de l'instant +# + b_precision = BLOC(condition="(INST != None)", + fr="Choix de la précision du choix de l'instant", + ang="Selection for instant choice", +# + 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" ), +# + ), +# + ), + ), # -# 8. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres -# 8.1. Nombre de noeuds et éléments +# 12. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres +# 12.1. Nombre de noeuds et éléments # - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), fr="Nombre de noeuds et éléments du maillage", ang="Number of nodes and éléments in the mesh" ), # -# 8.2. Determination de la qualité des éléments du maillage +# 12.2. Determination de la qualité des éléments du maillage # - QUALITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + QUALITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Qualité du maillage", ang="Mesh quality" ), # -# 8.3. Connexite du maillage +# 12.3. Connexite du maillage # - CONNEXITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + CONNEXITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Connexité du maillage.", ang="Mesh connexity." ), # -# 8.4. Taille des sous-domaines du maillage +# 12.4. Taille des sous-domaines du maillage # - TAILLE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + TAILLE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Tailles des sous-domaines du maillage.", ang="Sizes of mesh sub-domains." ), # -# 8.5. Controle de la non-interpenetration des éléments +# 12.5. Controle de la non-interpenetration des éléments # - INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + INTERPENETRATION= SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Controle de la non interpénétration des éléments.", ang="Overlapping checking." ), # -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +# 13. Gestion des éléments autres que ceux compatibles avec HOMARD +# "REFUSER" : ils sont refuses (defaut) +# "IGNORER" : ils sont ignorés +# + ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"), + fr="Acceptation d'éléments incompatibles avec HOMARD", + ang="Incompatible elements for HOMARD" ), +# +) ; +#& MODIF COMMANDE DATE 07/10/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16354,7 +15406,7 @@ def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU return evol_noli MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod, - fr=" ", + fr="Réalise l'analyse thermomécanique du coude dont le maillage a été concu par MACR_ASCOUF_MAIL", reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), @@ -16413,12 +15465,23 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), + RESI_INTE_RELA =SIMP(statut='f',typ='R' + ,defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), SOLVEUR =FACT(statut='d', @@ -16449,11 +15512,6 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), - RESI_INTE_RELA =SIMP(statut='f',typ='R' - ,defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), NEWTON =FACT(statut='d', @@ -16529,7 +15587,7 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 17/08/2004 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16550,8 +15608,8 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma # RESPONSABLE F1BHHAJ J.ANGLES from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster, - fr=" ",reentrant='n', - UIinfo={"groupes":("Outils métier",)}, + fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)", + UIinfo={"groupes":("Outils métier",)},reentrant='n', regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), @@ -16677,7 +15735,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=ma INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 07/10/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16709,8 +15767,8 @@ def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_ return evol_noli MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod, - fr=" ",reentrant='n', - UIinfo={"groupes":("Outils métier",)}, + fr="Réalise un calcul prédéfini de piquages sains ou fissurés ainsi que les post-traitements associés ", + UIinfo={"groupes":("Outils métier",)},reentrant='n', regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', @@ -16782,12 +15840,22 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_ COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut=1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut=0), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), THETA_3D =FACT(statut='f',max='**', @@ -16830,10 +15898,6 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_ RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), - RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut=1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut=0), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), NEWTON =FACT(statut='d', @@ -16894,7 +15958,7 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_ TITRE =SIMP(statut='f',typ='TXM'), ) -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16917,7 +15981,7 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_ from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n', - fr=" ", + fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)", UIinfo={"groupes":("Outils métier",)}, EXEC_MAILLAGE =FACT(statut='o', @@ -16991,165 +16055,89 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=mail INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. +# COPYRIGHT (C) 1991 - 2001 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. # ====================================================================== - -from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops - -def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER, - CHAR_THER,CHAR_MECA,RESU_THER,**args): - if MODELE_THER != None: - self.type_sdprod(MODELE_THER,modele_sdaster) - if MODELE_MECA != None: - self.type_sdprod(MODELE_MECA,modele_sdaster) - if RESU_THER != None: - self.type_sdprod(RESU_THER,evol_ther) - if CHAM_MATER != None: - self.type_sdprod(CHAM_MATER,cham_mater) - if CHAR_THER != None: - for m in CHAR_THER: - self.type_sdprod(m['CHARGE'],char_ther) - if CHAR_MECA != None: - for m in CHAR_MECA: - self.type_sdprod(m['CHARGE'],char_meca) - return evol_noli - - -MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC", - op=macr_cabri_calc_ops, - sd_prod=macr_cabri_calc_prod, - fr="Calcul d'une jonction boulonnée de tuyauterie", - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,), - AFFE_MATERIAU = FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA',),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ='TXM',into=( - "BRIDE", - "GOUJON", - "ROND", - "ECROU", - "JOINT",) ), - MATER = SIMP(statut='o',typ=mater_sdaster), - TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ), - ), - CHAM_MATER = SIMP(statut = 'f',typ=CO,), - MODELE_THER= SIMP(statut = 'f',typ=CO,), - - DEFI_CHAR_THER = FACT(statut ='d', - TEMP_INIT = SIMP(statut='d',typ='R',defaut= 25.,), - COEF_H_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - COEF_H_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - TEMP_EXT_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - CHAR_THER = FACT(statut = 'f',max=4, - CHARGE = SIMP(statut='o',typ=CO), - TYPE = SIMP(statut='o',typ='TXM', - into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON", - "BRIDE_JOINT"),) - ), - - RESU_THER = SIMP(statut = 'f',typ=CO,), - - - MODELE_MECA= SIMP(statut = 'f',typ=CO,), - - DEFI_CHAR_MECA = FACT(statut='o', - PRETENS = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - PRES_REP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - EFFE_FOND = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), - ), - - CHAR_MECA = FACT(statut = 'f',max=11, - CHARGE = SIMP(statut='o',typ=CO), - TYPE = SIMP(statut='o',typ='TXM', - into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT", - "BLOC_LAT_ALES","BLOC_LAT_NALES", - "PLAN_TUBE", - "PRES_FLU","EFFET_FOND", - "CONT_JOINT", - "DEFO_THER", - "SERR_ECROU_1","SERR_ECROU_2",),) - ), - - RELATION = SIMP(statut='f',typ='TXM', - into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),), - - SOLVEUR = FACT(statut='d', - METHODE = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ), - b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - RENUM = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - NPREC = SIMP(statut='d',typ='I',defaut=8), - STOP_SINGULIER = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - ), - INCREMENT = FACT(statut='f', - regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), - EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", - into=("CHRONOLOGIQUE",) ), - NUME_INST_INIT =SIMP(statut='f',typ='I'), - INST_INIT =SIMP(statut='f',typ='R'), - NUME_INST_FIN =SIMP(statut='f',typ='I'), - INST_FIN =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), - SUBD_PAS_MINI =SIMP(statut='f',typ='R'), - COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), - OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), - NOM_CHAM =SIMP(statut='f',typ='TXM',), - NOM_CMP =SIMP(statut='f',typ='TXM',), - VALE =SIMP(statut='f',typ='R'), - ), - NEWTON =FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), - PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ), - 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), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ), - CONVERGENCE =FACT(statut='d', - regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), - SIGM_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", - into=("IMPLICITE",)), - ), - ); - -#& MODIF COMMANDE DATE 07/02/2005 AUTEUR MABBAS M.ABBAS +MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, + fr="Définition d'un macro élément pour analyse modale ou harmonique par sous structuration dynamique", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),), + BASE_MODALE =SIMP(statut='o',typ=base_modale ), + MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r ), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ", + "DIAG_MASS") ), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration", + regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), + ENSEMBLE('DEFINITION','EXTERIEUR'),), + DEFINITION =FACT(statut='f', + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), + INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ), + NMAX_CAS =SIMP(statut='f',typ='I',defaut=10), + NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10), + ), + EXTERIEUR =FACT(statut='f', + regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + RIGI_MECA =FACT(statut='f', + ), + MASS_MECA =FACT(statut='f', + ), + CAS_CHARGE =FACT(statut='f',max='**', + NOM_CAS =SIMP(statut='o',typ='TXM'), + SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',defaut=0.E+0), + ), +) ; +#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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 @@ -17164,234 +16152,93 @@ MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC", # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +# RESPONSABLE D6BHHAM A.M.DONORE +# +IMPR_OAR =PROC(nom="IMPR_OAR",op= 40, + fr="Impression au format OAR", + UIinfo={"groupes":("Impression",)}, + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + MAILLE =SIMP(statut='o',typ=ma ,validators=NoRepeat(),max=2 ), + NOEUD =SIMP(statut='o',typ=no ,validators=NoRepeat() ), -from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops + CHARGE =FACT(statut='o',max='**', -MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL", - op=macr_cabri_mail_ops, - sd_prod=maillage_sdaster, - fr="maillage d'une jonction boulonnée de tuyauterie", - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - EXEC_MAILLAGE = FACT(statut='o', - LOGICIEL = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),), - UNITE_DATG = SIMP(statut = 'f',typ='I',defaut=70,), - UNITE_MGIB = SIMP(statut = 'f',typ='I',defaut=19,), - NIVE_GIBI = SIMP(statut = 'f',typ='I',defaut=10, - into = (3,4,5,6,7,8,9,10,11), - ), - ), - RAFF_MAILLAGE = FACT(statut = 'd', - NB_RADIAL = SIMP(statut = 'f',typ='I',defaut=2,), - NB_CIRCONF = SIMP(statut = 'f',typ='I',defaut=3,), - NB_VERTICAL = SIMP(statut = 'f',typ='I',defaut=6,), - NB_ALESAGE = SIMP(statut = 'f',typ='I',defaut=5,), - ), - VERI_MAIL = FACT(statut='d', - VERIF = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - APLAT = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - GEOM_BRID = FACT(statut = 'o', - NORME = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),), - b_bride_iso = BLOC(condition = "NORME == 'OUI'", - TYPE = SIMP(statut='o',typ='TXM', - into=('A','AA','B','B1','C','D','D1','E','F', - 'FF','G','GG','H','H1','I','J','J1', - 'K','L','L1','M','N','O','P','S','T','W'), - ), - ), - b_bride_niso = BLOC(condition = "NORME == 'NON'", - TUBU_D_EXT = SIMP(statut='o',typ='R',), - TUBU_H = SIMP(statut='o',typ='R',), - BRID_D_EXT = SIMP(statut='o',typ='R',), - BRID_D_INT = SIMP(statut='o',typ='R',), - BRID_H = SIMP(statut='o',typ='R',), - BRID_D_CONGE = SIMP(statut='o',typ='R',), - BRID_R_CONGE = SIMP(statut='o',typ='R',), - BRID_D_EPAUL = SIMP(statut='o',typ='R',), - BRID_H_EPAUL = SIMP(statut='o',typ='R',), - BRID_D_ALESAG = SIMP(statut='o',typ='R',), - BRID_P_ALESAG = SIMP(statut='o',typ='R',), - BRID_H_ALESAG = SIMP(statut='o',typ='R',), - GOUJ_N_GOUJON = SIMP(statut='o',typ='I',), - GOUJ_D_GOUJON = SIMP(statut='o',typ='R',), - GOUJ_E_FILET = SIMP(statut='o',typ='R',), - GOUJ_D_RONDEL = SIMP(statut='o',typ='R',), - GOUJ_E_RONDEL = SIMP(statut='o',typ='R',), - GOUJ_D_ECROU = SIMP(statut='o',typ='R',), - GOUJ_E_ECROU = SIMP(statut='o',typ='R',), - ETAN_E_JOINT = SIMP(statut='o',typ='R',), - ), - ), - IMPRESSION = FACT(statut='d', - UNITE = SIMP(statut='f',typ='I'), - FORMAT = SIMP(statut='f',typ='TXM',defaut="ASTER", - into=("ASTER","CASTEM","IDEAS"), - ), - b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'", - NIVE_GIBI = SIMP(statut='f',typ='I',defaut=10,into=(3,10),), - ), - b_impr_ideas = BLOC(condition = "FORMAT == 'IDEAS'", - VERSION = SIMP(statut='f',typ='I',defaut=5,into=(4,5),), - ), - ), - ); - -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2003 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. -# ====================================================================== -# RESPONSABLE JMBHH01 J.M.PROIX - -from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops + NUM_CHAR =SIMP(statut='o',typ='I'), + TEMP_NOEUD =SIMP(statut='f',typ='R',defaut=20.), + TYPE =SIMP(statut='f',typ='TXM',defaut="DILA", + into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ), + NATURE =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE", + into=("PRIMAIRE","SECONDAIRE","TOTAL") ), + SIGNE =SIMP(statut='f',typ='TXM',defaut="S", + into=("S","NS") ), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!! + ), -MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=tabl_cara_geom, - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="caractéristiques d'une section transversale de poutre à partir d'un maillage 2D", - regles=(EXCLUS('SYME_X','GROUP_MA_BORD'), - EXCLUS('SYME_Y','GROUP_MA_BORD'),), - - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 20 ), - ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), - fr="Point par rapport auquel sont calculées les inerties"), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - SYME_X =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"), - SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"), - - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"), - - GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), - - b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None", - fr=" calcul des carac. mecaniques", - NOEUD =SIMP(statut='f',typ=no,max='**', - fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"), - GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupes de mailles linéiques bordant des trous dans la section"), - ), - - b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", - fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", - regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), - LONGUEUR =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"), - MATERIAU =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"), - LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), - fr="type de conditions aux limites sur le plancher supérieur" ), - ), - ) -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND + UNITE =SIMP(statut='f',typ='I',defaut=38), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 25/04/2006 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== - - -from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops - -def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): - self.type_sdprod(RESULTAT,AsType(RESU_INIT)) - self.type_sdprod(MAILLAGE,maillage_sdaster) - return None - - -MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - fr="permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT.", - - - # SD résultat ,modèle et champs à "éclater" : - RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), - MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), - - # paramètres numériques de la commande : - 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é" ), - - # concepts produits par la commande : - RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), - MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), - - # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - - # Sélection des numéros d'ordre : - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - ) -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== -MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, - fr="Définition d un macro élément pour analyse modale ou harmonique par sous structuration dynamique", - reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),), - BASE_MODALE =SIMP(statut='o',typ=base_modale ), - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ", - "DIAG_MASS") ), + +DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition des caratéristiques d'une fissure avec X-FEM", + + MODELE =SIMP(statut='o',typ=modele_sdaster), + DEFI_FISS =FACT(statut='o',max=01, + regles =(UN_PARMI('GROUP_MA_FISS','FONC_LT'), + ENSEMBLE('FONC_LT','FONC_LN'), + ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), + FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + GROUP_MA_FISS =SIMP(statut='f',typ=grma,max=01), + GROUP_MA_FOND =SIMP(statut='f',typ=grma), + ), + GROUP_MA_ENRI =SIMP(statut='o',typ=grma,max=01), + RAYON_ENRI =SIMP(statut='f',typ='R',defaut=0.E+0), + ORIE_FOND =FACT(statut='f',max=01, + PFON_INI =SIMP(statut='o',typ='R',max=03), + VECT_ORIE =SIMP(statut='o',typ='R',max=03), + PT_ORIGIN =SIMP(statut='o',typ='R',max=03), + ), + CONTACT =FACT(statut='f',max=01, + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",) ), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG4","FPG6","FPG7",) ), + COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), + MODL_AXIS =SIMP(statut='f',typ='TXM',into=("NON",)), + ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), + CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + ALGO_LAGR =SIMP(statut='f',typ='TXM',defaut="VERSION1",into=("NON","VERSION1","VERSION2" , ) ), + COEF_ECHELLE =SIMP(statut='f',typ='R',defaut=1.E+6), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramères du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',), + ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), + COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), + SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -17409,110 +16256,98 @@ MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', - UIinfo={"groupes":("Matrices/vecteurs",)}, - fr="Définition d un macro-élément pour l analyse statique par sous structuration", - regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), - ENSEMBLE('DEFINITION','EXTERIEUR'),), - DEFINITION =FACT(statut='f', - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), - INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ), - NMAX_CAS =SIMP(statut='f',typ='I',defaut=10), - NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10), - ), - EXTERIEUR =FACT(statut='f', - regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - RIGI_MECA =FACT(statut='f', - ), - MASS_MECA =FACT(statut='f', - ), - CAS_CHARGE =FACT(statut='f',max='**', - NOM_CAS =SIMP(statut='o',typ='TXM'), - SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',defaut=0.E+0), - ), -) ; -#& MODIF COMMANDE DATE 07/10/2004 AUTEUR GNICOLAS G.NICOLAS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 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. -# ====================================================================== # RESPONSABLE GNICOLAS G.NICOLAS -from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops +from Macro.macr_adap_mail_ops import macr_adap_mail_ops -MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, - docu="U7.04.41", - fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.", - ang="Print values for the fiability software", +MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops, + docu="U7.03.02-b",UIinfo={"groupe":("Maillage",)}, + fr="Donner des informations sur un maillage.", + ang="To give information about a mesh.", # # 1. Le niveau d'information # - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), # -# 2. Impression de la valeur de la cible +# 2. Version de HOMARD # -# 2.1. ==> La table contenant la valeur à imprimer + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_2", + into=("V8_2", "V8_N", "V8_N_PERSO"), + fr="Version de HOMARD", + ang="HOMARD release"), # - TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster, - fr="Table contenant la valeur cible.", - ang="Table which includes the target value."), +# 3. Langue des messages issus de HOMARD # -# 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table + 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." ), # - NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM', - fr="Nom du paramètre associé à la valeur cible.", - ang="Name of the parameter connected to the target value."), +# 4. Le nom du maillage a analyser # -# 3. Impressions des valeurs des éventuels gradients + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, + fr="Maillage à analyser.", + ang="Mesh to be checked." ), # - GRADIENTS = FACT(statut='f',min=1,max='**', +# 5. Suivi d'une frontiere # -# 3.1. ==> La table contenant la valeur à imprimer + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + fr="Maillage de la frontiere à suivre", + ang="Boundary mesh" ), # - TABLE = SIMP(statut='o',typ=table_sdaster, - fr="Table contenant le gradient.", - ang="Table which includes the gradient."), + b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Information complémentaire sur la frontière", + ang="Further information about boundary", # -# 3.2. ==> Le paramètre sensible + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupes de mailles définissant la frontière", + ang="Mesh groups which define the boundary" ), # - PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom), - fr="Paramètre sensible associé au gradient.", - ang="Sensitivity parameter connected to the gradient."), + ) , # -# 3.3. ==> Le nom du paramètre associé au gradient dans cette table +# 6. Les options ; par defaut, on controle tout +# 6.1. Nombre de noeuds et elements # - NOM_PARA = SIMP(statut='o',typ='TXM', - fr="Nom du paramètre associé au gradient.", - ang="Name of the parameter connected to the gradient."), + NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + fr="Nombre de noeuds et éléments du maillage", + ang="Number of nodes and elements in the mesh" ), # - ), +# 6.2. Determination de la qualite des elements du maillage # -); -#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS + QUALITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + fr="Qualité du maillage", + ang="Mesh quality" ), +# +# 6.3. Connexite du maillage +# + CONNEXITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + fr="Connexité du maillage.", + ang="Mesh connexity." ), +# +# 6.4. Taille des sous-domaines du maillage +# + TAILLE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + fr="Tailles des sous-domaines du maillage.", + ang="Sizes of mesh sub-domains." ), +# +# 6.5. Controle de la non-interpenetration des elements +# + INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), + fr="Controle de la non interpénétration des éléments.", + ang="Overlapping checking." ), +# +# 7. Gestion des éléments autres que ceux compatibles avec HOMARD +# "REFUSER" : ils sont refuses (defaut) +# "IGNORER" : ils sont ignorés +# + ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"), + fr="Acceptation d'éléments incompatibles avec HOMARD", + ang="Incompatible elements for HOMARD" ), +) ; +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2003 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 @@ -17527,368 +16362,3378 @@ MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, # 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 +# RESPONSABLE ASSIRE A.ASSIRE -from Macro.macr_fiabilite_ops import macr_fiabilite_ops +from Macro.calc_precont_ops import calc_precont_ops + +# =========================================================================== +# CATALOGUE DE LA MACRO "CALC_PRECONT" +# ----------------------------------------- +# USAGE : +# +# +# =========================================================================== + +CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli, + fr="Imposer la tension définie par le BPEL dans les cables", + reentrant='f',UIinfo={"groupe":("Modélisation",)}, + reuse =SIMP(statut='f',typ='evol_noli'), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), + CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), + INCREMENT =FACT(statut='o', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ), + + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), + 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), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + RECH_LINEAIRE =FACT(statut='f', + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ), + CONVERGENCE =FACT(statut='d', + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), + ), + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(carte_sdaster,cham_elem)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + LAGR_NON_LOCAL =FACT(statut='f', + ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), + RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), + RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), + R =SIMP(statut='f',typ='R',defaut= 1000.), + ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + ), + PARM_THETA =SIMP(statut='f',typ='R' + ,defaut= 1. ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + ), + + COMP_INCR =C_COMP_INCR(), + ) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 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. +# ====================================================================== + +DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n', + fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte" + +" (utilisée par la macro DEFI_CABLE_BP)", + UIinfo={"groupes":("Modélisation",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), + DEFI_CABLE =FACT(statut='o',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), + MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + ), + TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), + TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RELAXATION =FACT(statut='f',min=0, + R_J =SIMP(statut='o',typ='R',val_min=0.E+0 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + CONE =FACT(statut='f',min=0, + RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), + PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), + ), +) ; +#& MODIF COMMANDE DATE 04/04/2006 AUTEUR CIBHHLV L.VIVAN +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # -#==== -# 1. Le retour : une liste de rééls. -#==== -# -def macr_fiabilite_prod ( self , **args ): - return listr8_sdaster -# -#==== -# 2. L'entete -#==== -# -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.", -# -#==== -# 3. Le niveau d'information -#==== -# - INFO = SIMP(statut="f",typ="I",defaut=1,into=(1,2)), -# -#==== -# 4. Nom et Version du logiciel de fiabilité -#==== -# - LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO", - into=("MEFISTO",), - fr="Nom du logiciel de fiabilité.", - ang="Fiability software name."), -# - VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2", - into=("V3_2", "V3_N"), - fr="Version du logiciel de fiabilité.", - ang="Fiability software release."), +# 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. # -#==== -# 5. Les entrees-sorties du calcul ASTER déterministe -#==== -# -# 5.1. ==> Le jeu de commandes déterministe +# 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES + +from Macro.macro_elas_mult_ops import macro_elas_mult_ops + +def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ): + if isinstance(NUME_DDL,CO) : + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + else: + self.type_sdprod(NUME_DDL,NUME_DDL.__class__) + if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas + if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas + raise AsException("type de concept resultat non prevu") + +MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Calculer les réponses statiques linéaires pour différents cas de charges ou modes de Fourier", + regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), + CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), + CAS_CHARGE =FACT(statut='o',max='**', + regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), + UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + MODE_FOURIER =SIMP(statut='f',typ='I' ), + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), + CHAR_MECA =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + CHAR_CINE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", + "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL", + "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA", + "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC", + "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI", + "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA", + "ERZ2_ELEM_SIGM","VNOR_ELEM_DEPL","ERRE_ELNO_ELEM","SIRE_ELNO_DEPL", + "ERRE_ELEM_SIGM","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI", + "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM", + "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL", + "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ), + NUME_COUCHE =SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), + b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", + fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 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. +# ====================================================================== +# RESPONSABLE D6BHHJP J.P.LEFEBVRE +def DEFIC_prod(self,ACTION,UNITE,**args): + if ACTION == "ASSOCIER" or ACTION == "RESERVER": + if UNITE != None : + return + else : + return entier + elif ACTION == "LIBERER" : + return + else : + raise AsException("ACTION non prevue : %s" % ACTION) + +DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique", + + ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"), + + 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"), + ), + 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"), + ), + ), + + b_reserver =BLOC(condition = "ACTION == 'RESERVER'", + fr="Paramètres pour la réservation de l'unité 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",),defaut="ASCII"), + ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), + ), + + 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), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + ), + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + ) +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - UNITE_ESCL = SIMP(statut="o",typ="I", - fr="Unité logique associée aux commandes du calcul ASTER déterministe.", - ang="Logical unit for the commands of the ASTER deterministic calculation."), +# 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. # -# 5.2. ==> Le destin des messages produits par ASTER +# 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. +# ====================================================================== + +from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops + +def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): + self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) + if FORC_AJOU != None: + for m in FORC_AJOU: + self.type_sdprod(m['VECTEUR'],vect_asse_gene) + + return None + +MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod, + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des matrices de masse, d'amortissement" + +" ou de rigidité ajoutés", + regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'), + AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), + EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'), + EXCLUS('MONO_APPUI','MODE_STAT',), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), + GROUP_MA_INTERF =SIMP(statut='o',typ=grma), + MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), + FLUIDE =FACT(statut='o',max='**', + RHO =SIMP(statut='o',typ='R'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma), + ), + DDL_IMPO =FACT(statut='o',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO'), + UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + PRES_FLUIDE =SIMP(statut='f',typ='R'), + PRES_SORTIE =SIMP(statut='f',typ='R'), + ), + ECOULEMENT =FACT(statut='f', + GROUP_MA_1 =SIMP(statut='o',typ=grma), + GROUP_MA_2 =SIMP(statut='o',typ=grma), + VNOR_1 =SIMP(statut='o',typ='R'), + VNOR_2 =SIMP(statut='f',typ='R'), + POTENTIEL =SIMP(statut='f',typ=evol_ther), + ), + MODE_MECA =SIMP(statut='f',typ=mode_meca), + DEPL_IMPO =SIMP(statut='f',typ=cham_no_sdaster), + MODELE_GENE =SIMP(statut='f',typ=modele_gene), + NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene), + DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2), + MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), + MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), + MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),), + FORC_AJOU =FACT(statut='f',max='**', + DIRECTION =SIMP(statut='o',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VECTEUR =SIMP(statut='o',typ=CO), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non iversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), +) +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER", - into=("AUCUN", "DERNIER", "TOUS"), - fr="Quels messages ASTER récupérer.", - ang="Which ASTER messages must be kept."), +# 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. # -#==== -# 6. Options -#==== -# 6.1. ==> Générales -# -# 6.1.1. ==> La valeur du seuil -# - SEUIL = SIMP(statut="o",typ="R",max=1, - fr="Le seuil de défaillance.", - ang="Failure threshold."), -# -# 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que -# la défaillance a lieu au dessus d'un seuil maximum ou -# en dessous d'un seuil minimum -# - SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1, - into=("MINIMUM","MAXIMUM"), - fr="Que faut-il ne pas dépasser : un maximum ou un minimum.", - ang="What is the failure threshold : maximum or minimum."), -# -# 6.2. ==> Pour MEFISTO -# -### en attente de résolution de AL 2004-006 (1/2) b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'", -# -# 6.2.1. ==> Pilotage de la recherche du point de conception -# - RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI", - into=("OUI","NON"), - fr="Pour trouver le point de conception.", - ang="To find the design point."), +# 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. +# ====================================================================== + +from Macro.macro_matr_asse_ops import macro_matr_asse_ops + +def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args): + if not MATR_ASSE: raise AsException("Impossible de typer les concepts resultats") + if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") + if isinstance(NUME_DDL,CO) : + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + else: + self.type_sdprod(NUME_DDL,NUME_DDL.__class__) + for m in MATR_ASSE: + opti=m['OPTION'] + + if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" , + "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA", + "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R", + "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r + + if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c + + if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" , + "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r + + if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c + + self.type_sdprod(m['MATRICE'],t) + return None + +MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops, + UIinfo={"groupes":("Matrices/vecteurs",)}, + sd_prod=macro_matr_asse_prod, + fr="Calcul des matrices assemblées (rigidité, masse, amortissement,...) ", + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + INST =SIMP(statut='f',typ='R',defaut=0.), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), + NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT", + into=("LDLT","MULT_FRONT","GCPC","MUMPS")), + RENUM =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")), + ), + + MATR_ASSE =FACT(statut='o',max='**', + MATRICE =SIMP(statut='o',typ=CO), + OPTION =SIMP(statut='o',typ='TXM', + into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", + "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", + "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", + "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR", + "RIGI_THER","MASS_THER", + "RIGI_ACOU","MASS_ACOU","AMOR_ACOU", + "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",) + ), + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", + SIEF_ELGA =SIMP(statut='o',typ=cham_elem), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'", + THETA =SIMP(statut='o',typ=theta_geom), + PROPAGATION =SIMP(statut='f',typ='R'), + ), + + b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + ), # fin MATR_ASSE + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 20/03/2006 AUTEUR ACBHHCD G.DEVESA +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'", +# 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. # - EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2, - fr="Précision du test d'arret sur les points itératifs dans l'espace standard.", - ang="Precision of stop test for iterative points in standard space."), +# 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. +# ====================================================================== + +from Macro.macro_miss_3d_ops import macro_miss_3d_ops + +MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops, + fr="Préparation des données puis exécution du logiciel MISS3D", + UIinfo={"groupes":("Matrices/vecteurs",)}, + OPTION =FACT(statut='o', + regles=(UN_PARMI('TOUT','MODULE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + MODULE =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")), + ), + PROJET =SIMP(statut='o',typ='TXM'), + REPERTOIRE =SIMP(statut='f',typ='TXM'), + VERSION =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"), + UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25), + UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26), + UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27), + UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), + UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=0), + PARAMETRE =FACT(statut='f', + regles=(PRESENT_PRESENT('FREQ_MIN','FREQ_MAX','FREQ_PAS'), + PRESENT_PRESENT('CONTR_NB','CONTR_LISTE'), + PRESENT_PRESENT('LFREQ_NB','LFREQ_LISTE'), + PRESENT_PRESENT('OFFSET_MAX','OFFSET_NB'), + PRESENT_PRESENT('SPEC_MAX','SPEC_NB'),), + FREQ_MIN =SIMP(statut='f',typ='R'), + FREQ_MAX =SIMP(statut='f',typ='R'), + FREQ_PAS =SIMP(statut='f',typ='R'), + Z0 =SIMP(statut='f',typ='R'), + SURF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"), + RFIC =SIMP(statut='f',typ='R'), + FICH_RESU_IMPE =SIMP(statut='f',typ='TXM'), + FICH_RESU_FORC =SIMP(statut='f',typ='TXM'), + DREF =SIMP(statut='f',typ='R'), + ALGO =SIMP(statut='f',typ='TXM',into=("DEPL","REGU")), + OFFSET_MAX =SIMP(statut='f',typ='R'), + OFFSET_NB =SIMP(statut='f',typ='I'), + SPEC_MAX =SIMP(statut='f',typ='R'), + SPEC_NB =SIMP(statut='f',typ='I'), + ISSF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"), + FICH_POST_TRAI =SIMP(statut='f',typ='TXM'), + CONTR_NB =SIMP(statut='f',typ='I'), + CONTR_LISTE =SIMP(statut='f',typ='R',max='**'), + LFREQ_NB =SIMP(statut='f',typ='I'), + LFREQ_LISTE =SIMP(statut='f',typ='R',max='**'), + ), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2, - fr="Précision du test d'arret sur la proximité de la surface d'état limite.", - ang="Precision of stop test for limit state surface."), +# 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. # - TAU = SIMP(statut="f",typ="R",defaut=5.0E-1, - fr="Paramètre de la méthode de minimisation.", - ang="Parameter for the minimization method."), +# 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. +# ====================================================================== + +from Macro.macro_mode_meca_ops import macro_mode_meca_ops + +MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca, + reentrant='n',fr="Lancer une succession de calculs de modes propres réels", + UIinfo={"groupes":("Résolution",)}, + MATR_A =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_B =SIMP(statut='o',typ=matr_asse_depl_r ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +# ce mot cle ne devrait il pas etre dans calc_freq + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", + into=("TRI_DIAG","JACOBI","SORENSEN",) ), + b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", + PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), + NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), + NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", + PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), + NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), + PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ), + b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", + PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), + PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="SANS", + into=("MODE_RIGIDE","SANS") ), + CALC_FREQ =FACT(statut='d',min=0, + regles=(UN_PARMI('FREQ','FREQ_MAX'), + PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'), + PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'), + EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + FREQ =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ), + FREQ_MIN =SIMP(statut='f',typ='R' ), + FREQ_MAX =SIMP(statut='f',typ='R' ), + NB_BLOC_FREQ =SIMP(statut='f',typ='I' ), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), + SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ), + STOP_FREQ_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ), + ), + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), + STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + NORM_MODE =FACT(statut='o',max='**', + MASS_INER =SIMP(statut='o',typ=table_sdaster), + NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", + into=("MASS_GENE","RIGI_GENE","EUCL", + "EUCL_TRAN","TRAN","TRAN_ROTA") ), + INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), + ), + FILTRE_MODE =FACT(statut='f', + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", + into=("MASS_EFFE_UN","MASS_GENE") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + IMPRESSION =FACT(statut='d', + TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", + into=("MASS_EFFE_UN","MASS_GENE",) ), + ), +) ; +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - OMEGA = SIMP(statut="f",typ="R",defaut=1.0E-4, - fr="Paramètre de la méthode de minimisation.", - ang="Parameter for the minimization method."), +# 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. # - ITER_MAX = SIMP(statut="f",typ="I",defaut=50, - fr="Nombre maximum d'itérations.", - ang="Maximum number of iterations."), - ), -# -# 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance -# - METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI", - into=("OUI","NON"), - fr="Recherche de la probabilité de défaillance avec la méthode FORM.", - ang="Research of failure probability with FORM method."), -# - METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON", - into=("OUI","NON"), - fr="Recherche de la probabilité de défaillance avec la méthode SORM.", - ang="Research of failure probability with SORM method."), -# - TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON", - into=("OUI","NON"), - fr="Recherche de la probabilité de défaillance avec le tirage d'importance.", - ang="Research of failure probability with ."), -# - b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'", -# - NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3, - fr="Nombre de simulations pour le tirage d'importance.", - ang="Number of simulation for."), +# 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. +# ====================================================================== + +from Macro.macro_proj_base_ops import macro_proj_base_ops + +def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ): + if MATR_ASSE_GENE != None: + for m in MATR_ASSE_GENE: + self.type_sdprod(m['MATRICE'],matr_asse_gene_r) + if VECT_ASSE_GENE != None: + for v in VECT_ASSE_GENE: + self.type_sdprod(v['VECTEUR'],vect_asse_gene) + return None + +MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops, + regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE')), + UIinfo={"groupes":("Matrices/vecteurs",)}, + sd_prod=macro_proj_base_prod, + fr="Projection des matrices et/ou vecteurs assemblés sur une base (modale ou de RITZ)", + BASE =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ), + NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), + PROFIL =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ), + MATR_ASSE_GENE =FACT(statut='f',max='**', + MATRICE =SIMP(statut='o',typ=CO,), + regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),), + MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), + MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + ), + VECT_ASSE_GENE =FACT(statut='f',max='**', + VECTEUR =SIMP(statut='o',typ=CO,), + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # -# 6.2.3. ==> Création d'une surface de réponse polynomiale +# 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. +# ====================================================================== +MAJ_CATA=PROC(nom="MAJ_CATA",op=20, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Compilation des catalogues de commandes et d'éléments", + + ELEMENT =FACT(statut='f',), + +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - POLYNOME_TAYLOR = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),), - HGRAD = SIMP(statut="f",typ="R",defaut=1.0E-2, - fr="Pas incrémental pour le calcul des gradients.", - ang="Step for calculation of gradients."), - HHESS = SIMP(statut="f",typ="R",defaut=1.0E-2, - fr="Pas incrémental pour le calcul des dérivées secondes.", - ang="Step for calculation of second derivatives."), +# 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. # -# 6.2.4. ==> Recherche d'un plan d'expérience +# 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, + fr="Résoudre un problème de mécanique statique linéaire",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(EXCLUS("INST","LIST_INST"), + AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), + CONCEPT_SENSIBLE('ENSEMBLE'),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater, + fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", + ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), + CARA_ELEM =SIMP(statut='f',typ=cara_elem, + fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...", + ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST_FIN =SIMP(statut='f',typ='R'), + OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1, + fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.", + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS") ), + + b_feti =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1", + PARTITION =SIMP(statut='o',typ=sd_feti_sdaster), + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.), + NMAX_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), + TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ), + NB_REORTHO_DD =SIMP(statut='f',typ='I',defaut=0,val_min=0), + NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0), + PRE_COND =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ), + SCALING =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ), + VERIF_SDFETI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + TEST_CONTINU =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.), + INFO_FETI =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'), + STOCKAGE_GI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ), + NB_SD_PROC0 =SIMP(statut='f',typ='I',defaut=0,val_min=0), + ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut=8), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + ), + ), + 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 +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - PLAN_EXPERIENCE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), - fr="Construction d'un plan d'expérience.", - ang="Construction of an experiment plan."), +# 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. # - b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'", +# 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS +MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129, + UIinfo={"groupes":("Fonction",)}, + fr="Mémorisation des noms des concepts dérivés.", + ang="Memorisation of the names of the sensitive concepts.", + + regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),), + + NOM=FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),), + + NOM_SD=SIMP(statut='o',typ='TXM', + fr="Nom de la structure de base", + ang="Name of the basic structure"), + + PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom), + fr="Nom du paramètre sensible", + ang="Name of the sensitive parameter"), + + NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ", + fr="Nom de la structure composée", + ang="Name of the built structure"), + + MOT_FACT=SIMP(statut='f',typ='TXM',max='**', + fr="Liste des mots clés facteurs concernés par la dérivation", + ang="Factor keyword list involved in derivation"), + + MOT_CLE=SIMP(statut='f',typ='TXM',max='**', + fr="Liste des mots clés concernés par la dérivation", + ang="Keyword list involved in derivation"), + + VALEUR=SIMP(statut='f',typ='TXM',max='**', + fr="Liste des objets concernés par la dérivation", + ang="Object list involved in derivation"), + + ), + + NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster, + fr="Nom de la fonction nulle", + ang="Name of the zero fonction"), + + NOM_UN =SIMP(statut='f',typ=fonction_sdaster, + fr="Nom de la fonction unité", + ang="Name of the one fonction"), + +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - ALPHA = SIMP(statut="f",typ="R",defaut=2.0E-1, - fr="Plan d'expérience : maille du plan de type composite centré.", - ang="Experiment plane : mesh centered composite."), +# 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. # - BETA = SIMP(statut="f",typ="R",defaut=4.0E-1, - fr="Plan d'expérience : maille du plan de type factoriel.", - ang="Experiment plane : mesh factor."), -# - ), -# -# 6.2.5. ==> Les tests -# 6.2.5.1. ==> Test de la sphere -# - T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), - fr="Test de la sphère.", - ang="Sphere test."), -# - b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'", -# - METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE", - into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"), - fr="Type de méthode.", - ang="Method."), -# - NB_POINT = SIMP(statut="f",typ="I",max=1,defaut=60, - fr="Nombre de points de la sphere.", - ang="Number of points over the sphere.") - ), -# -# 6.2.5.2. ==> Test du maximum fort -# - T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), - fr="Test du maximum fort.", - ang="Strong maximum test."), -# - b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'", -# - COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0, - fr="Cosinus de l'angle d'exclusion.", - ang="Cosine of angle of exclusion."), -# - DPROB = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1, - fr="Fraction d'iso-densité de probabilité de défaillance.", - ang="Fraction.") -# - ), -# -# 6.2.5.3. ==> Test du hessien -# - T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), - fr="Test du hessien.", - ang="Hessian test."), -# -# 6.2.6. ==> Les correlations entre les variables -# - MATRICE = SIMP(statut="o",typ="R",max="**", - fr="Matrice de corrélation entre les variables.", - ang="Correlation matrix."), -# -### en attente de résolution de AL 2004-006 (2/2) ), -# -#==== -# 7. Definition des paramètres -#==== -# - VARIABLE = FACT(statut="o",min=1,max="**", -# -# 7.1. ==> Nom de la variable -# - NOM = SIMP(statut="o",typ="TXM", - fr="Nom de la variable, identique au nom de concept PARA_SENSI.", - ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."), -# -# 7.2. ==> Loi de distribution -# - LOI = SIMP(statut="o",typ="TXM", - into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"), - fr="Choix de la loi", - ang="Law."), -# -# 7.2.1. ==> Loi normale -# - b_normale=BLOC(condition="LOI=='NORMALE'", +# 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. +# ====================================================================== +MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, + fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir" + +" d'une base de modes propres réels", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + BASE_MODALE =SIMP(statut='o',typ=base_modale ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ), + NB_SECTEUR =SIMP(statut='o',typ='I' ), + LIAISON =FACT(statut='o', + DROITE =SIMP(statut='o',typ='TXM' ), + GAUCHE =SIMP(statut='o',typ='TXM' ), + AXE =SIMP(statut='f',typ='TXM' ), + ), + VERI_CYCL =FACT(statut='f', + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), + DIST_REFE =SIMP(statut='f',typ='R' ), + ), + CALCUL =FACT(statut='o', + TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" + ,into=("PLUS_PETITE","CENTRE","BANDE") ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + FREQ =SIMP(statut='o',typ='R',), + ), + b_bande =BLOC(condition = "OPTION == 'BANDE'", + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), + ), +# NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MOY = SIMP(statut="o",typ="R",max=1, - fr="Valeur moyenne.", - ang="Mean value."), +# 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. # - ECART_TYPE = SIMP(statut="o",typ="R",max=1, - fr="Ecart type.", - ang="Standard deviation."), +# 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. +# ====================================================================== +def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ): + if TYPE_RESU == "MODE_FLAMB" : return mode_flamb + if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c + if AsType(MATR_A) == matr_asse_depl_r : return mode_meca + if AsType(MATR_A) == matr_asse_pres_r : return mode_acou + if AsType(MATR_A) == matr_asse_gene_r : return mode_gene + raise AsException("type de concept resultat non prevu") + +MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod + ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + regles=(CONCEPT_SENSIBLE('ENSEMBLE'),), + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_C =SIMP(statut='f',typ=matr_asse_depl_r ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", + into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ), + b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", + + OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), + fr="Choix de l option pour estimer les valeurs propres" ), + FREQ =SIMP(statut='o',typ='R',max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), + NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ), + NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ), + + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), + ), + ), + b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", + CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", + + OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), + fr="Choix de l option pour estimer les valeurs propres" ), + CHAR_CRIT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), + NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ), + PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ), + NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ), + PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ), + + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), + ), + ), + CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", + OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), + PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, + fr="Valeur limite admise pour l ereur a posteriori des modes" ), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), + b_sensibilite =BLOC(condition = "SENSIBILITE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + EXCIT =FACT(statut='f',max='**',), # que pour NMDOME + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # -# 7.2.2. ==> Loi lognormale +# 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. +# ====================================================================== +def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ): + if TYPE_RESU == "MODE_FLAMB" : return mode_flamb + if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c + if AsType(MATR_A) == matr_asse_depl_r : return mode_meca + if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c + if AsType(MATR_A) == matr_asse_pres_r : return mode_acou + if AsType(MATR_A) == matr_asse_gene_r : return mode_gene + raise AsException("type de concept resultat non prevu") + +MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_prod, + fr="Calcul des modes propres par itérations simultanées ; valeurs propres et" + +" modes propres réels ou complexes", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + regles=(CONCEPT_SENSIBLE('ENSEMBLE'),), + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", + into=("TRI_DIAG","JACOBI","SORENSEN") ), + b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", + PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), + NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), + NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), + ), + b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", + PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), + NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), + PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ), + b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", + PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), + NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), + PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ), + ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", + into=("MODE_FLAMB","DYNAMIQUE"), + fr="Type d analyse" ), + OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), + fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), + + b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", + CALC_FREQ =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des valeurs propres les plus proches d une valeur donnée", + CHAR_CRIT =SIMP(statut='o',typ='R', + fr="Charge critique autour de laquelle on cherche les charges critiques propres"), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des valeurs propres dans une bande donnée", + CHAR_CRIT =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, + fr="Valeur des deux charges critiques délimitant la bande de recherche"), + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), + fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), + regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + ), + ), + + b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + CALC_FREQ =FACT(statut='d',min=0, + OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), + fr="Choix de l option et par conséquent du shift du problème modal" ), + b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_centre =BLOC(condition = "OPTION == 'CENTRE'", + fr="Recherche des valeurs propres les plus proches d une valeur donnée", + FREQ =SIMP(statut='o',typ='R', + fr="Fréquence autour de laquelle on cherche les fréquences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), + ), + b_bande =BLOC(condition = "(OPTION == 'BANDE')", + fr="Recherche des valeurs propres dans une bande donnée", + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, + fr="Valeur des deux fréquences délimitant la bande de recherche"), + ), + APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), + fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), + regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), + DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), + COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), + SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + ), + ), + + VERI_MODE =FACT(statut='d',min=0, + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), + SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, + fr="Valeur limite admise pour l ereur a posteriori des modes" ), + STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), + b_sensibilite =BLOC(condition = "SENSIBILITE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + EXCIT =FACT(statut='f',max='**',), # que pour NMDOME + ), + STOP_FREQ_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args): + if (MODE_STAT != None) : return mode_stat_depl + if (PSEUDO_MODE !=None) : return mode_stat_acce + if (FORCE_NODALE != None) : return mode_stat_forc + raise AsException("type de concept resultat non prevu") +MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod, + fr="Calcul de modes statiques pour un déplacement, une force ou une accélération unitaire imposé", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), + regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),), + MODE_STAT =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), + UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + FORCE_NODALE =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), + UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + PSEUDO_MODE =FACT(statut='f',max='**', + regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), + AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), + DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + b_dir =BLOC(condition = "DIRECTION != None", + NOM_DIR =SIMP(statut='f',typ='TXM' ),), + b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None", + regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, + reentrant='f', + fr="Définir la base modale d'une structure sous écoulement", + UIinfo={"groupes":("Matrices/vecteurs",)}, +# la commande modi_base _modale : reentrant = f ou o + regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),), + BASE =SIMP(statut='o',typ=mode_meca ), + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), + NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + AMOR_UNIF =SIMP(statut='f',typ='R' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, + fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant," + +" à l'application d'une pression, à la modélisation du contact,...", + reentrant='o', + UIinfo={"groupes":("Maillage",)}, + 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_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + 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_FISSURE','DEFORME','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + 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_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE',), + 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_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'), + EXCLUS('ROTATION','MODI_BASE'), + EXCLUS('SYMETRIE','ROTATION'), + EXCLUS('SYMETRIE','TRANSLATION'), + EXCLUS('SYMETRIE','MODI_BASE'), + EXCLUS('SYMETRIE','ECHELLE'), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + + ORIE_FISSURE =FACT(statut='f', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + + DEFORME =FACT(statut='f', + OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), + DEPL =SIMP(statut='o',typ=cham_no_sdaster ), + b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", + GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), + GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), + ), + + EQUE_PIQUA =FACT(statut='f', + GROUP_NO =SIMP(statut='o',typ=grno), + E_BASE =SIMP(statut='o',typ='R' ), + DEXT_BASE =SIMP(statut='o',typ='R' ), + L_BASE =SIMP(statut='o',typ='R' ), + L_CHANF =SIMP(statut='o',typ='R' ), + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), + H_SOUD =SIMP(statut='o',typ='R' ), + ANGL_SOUD =SIMP(statut='o',typ='R' ), + JEU_SOUD =SIMP(statut='o',typ='R' ), + E_CORP =SIMP(statut='o',typ='R' ), + DEXT_CORP =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='o',typ='R' ), + RAFF_MAIL =SIMP(statut='o',typ='TXM' ), + X_MAX =SIMP(statut='o',typ='R' ), + ), + ORIE_PEAU_2D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + ORIE_PEAU_3D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),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='**', + regles=(EXCLUS('NOEUD','GROUP_NO'), + PRESENT_PRESENT('NOEUD','VECT_NORM'), + PRESENT_PRESENT('GROUP_NO','VECT_NORM'),), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + VECT_NORM =SIMP(statut='f',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + ), + b_modele =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)", + MODELE =SIMP(statut='o',typ=modele_sdaster ), + ), + PLAQ_TUBE =FACT(statut='f', + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + ), + TUBE_COUDE =FACT(statut='f', + ANGLE =SIMP(statut='o',typ='R' ), + R_CINTR =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + ), + 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=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), + VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), + ), + ECHELLE =SIMP(statut='f',typ='R',), + TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), + ROTATION =FACT(statut='f',max='**', + POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), + ANGL =SIMP(statut='o',typ='R',defaut= 0.E+0 ), + regles=(EXCLUS('DIR','POIN_2'),), + POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), + DIR =SIMP(statut='f',typ='R',min=2,max=3), + ), + SYMETRIE =FACT(statut='f',max='**', + fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", + POINT =SIMP(statut='o',typ='R',min=2,max=3, + fr="Point appartenant à la droite ou au plan."), + AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, + fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), + AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, + fr="2nd vecteur appartenant du plan."), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster, + fr="Calculer les obstacles dans les systèmes guidage-tube après usure",reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'), + PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),), + V_USUR_TUBE =SIMP(statut='f',typ='R',max='**'), + V_USUR_OBST =SIMP(statut='f',typ='R',max='**'), + TABL_USURE =SIMP(statut='f',typ=table_sdaster), + INST =SIMP(statut='f',typ='R'), + OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), + GUIDE =SIMP(statut='o',typ=obstacle_sdaster), + CRAYON =SIMP(statut='f',typ=obstacle_sdaster), + R_MOBILE =SIMP(statut='f',typ='R'), + PERCEMENT =SIMP(statut='f',typ='R',defaut=1), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 12/09/2005 AUTEUR CIBHHLV L.VIVAN +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +def modi_repere_prod(RESULTAT,**args): + if AsType(RESULTAT) == evol_elas : return evol_elas + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == evol_ther : return evol_ther + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if AsType(RESULTAT) == dyna_harmo : return dyna_harmo + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_flamb : return mode_flamb + if AsType(RESULTAT) == mult_elas : return mult_elas + if AsType(RESULTAT) == base_modale : return base_modale + raise AsException("type de concept resultat non prevu") + +MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Calcule des résultats dans le repère cylindrique", + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca, + evol_noli,mult_elas, + evol_ther,base_modale,mode_flamb) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + + MODI_CHAM =FACT(statut='o',max='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TYPE_CHAM =SIMP(statut='o',typ='TXM', + into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), + b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), + b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), + b_tors_3d =BLOC(condition = "TYPE_CHAM=='TORS_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), + b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), + b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", + NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), + ), + DEFI_REPERE =FACT(statut='o', + regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),), + REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR", + into=("UTILISATEUR","CYLINDRIQUE"),), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +def norm_mode_prod(MODE,**args ): + if AsType(MODE) == mode_meca : return mode_meca + if AsType(MODE) == mode_meca_c : return mode_meca_c + if AsType(MODE) == mode_flamb : return mode_flamb + raise AsException("type de concept resultat non prevu") + +NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, + fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur", + reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'), + CONCEPT_SENSIBLE('SEPARE'), + DERIVABLE('MODE'),), + MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), + NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...", + into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ), + NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"), + b_noeud =BLOC(condition = "NOEUD != None", + NOM_CMP =SIMP(statut='o',typ='TXM' ), + ), + AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + MASS_INER =SIMP(statut='f',typ=table_sdaster), + MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", + NOEUD =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"), + NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ), + SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), + fr="Choix du signe" ), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", + regles=(UN_PARMI('MATR_RIGI','MODELE'),), + MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, + typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + b_modele =BLOC(condition = "MODELE != None", + CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), + ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", + RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), + ), + b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + b_mumps =BLOC(condition="METHODE=='MUMPS'",fr="paramètres associés à la méthode MUMPS", + RENUM =SIMP(statut='f',typ='TXM',into=("SANS",),defaut="SANS" ), + ), + b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué", + RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), + ), + INFO =SIMP(statut='f',typ='I',into=(1,2)), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, + fr="Etablissement de la numérotation des ddl d'un modèle établi en coordonnées généralisées", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=UN_PARMI('MODELE_GENE','BASE'), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + b_modele_gene =BLOC(condition = "MODELE_GENE != None", + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ), + ), + BASE =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ), + b_base =BLOC(condition = "BASE != None", + STOCKAGE =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ), + NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), + ), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=table_sdaster, + fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers", + reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), + INTE_SPEC =SIMP(statut='o',typ=table_sdaster), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ), + NOEUD_I =SIMP(statut='f',typ=no,max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("DIAG",) ), + b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ), + ), + b_noeud_i =BLOC(condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no,max='**'), + NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ), + NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ), + ), + DEPASSEMENT =FACT(statut='f',max='**', + fr="Loi de dépassement d un seuil pendant une durée donnée", + regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), + VALE_MIN =SIMP(statut='f',typ='R' ), + VALE_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + DUREE =SIMP(statut='f',typ='R',defaut= 1. ), + ), + RAYLEIGH =FACT(statut='f',max='**', + fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite", + regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), + VALE_MIN =SIMP(statut='f',typ='R' ), + VALE_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + ), + GAUSS =FACT(statut='f',max='**', + fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande", + regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), + VALE_MIN =SIMP(statut='f',typ='R' ), + VALE_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + ), + VANMARCKE =FACT(statut='f',max='**', + fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)", + regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), + VALE_MIN =SIMP(statut='f',typ='R' ), + VALE_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + DUREE =SIMP(statut='f',typ='R',defaut= 10. ), + ), + MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster, + fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL", + reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), + RESU_GENE =SIMP(statut='o',typ=tran_gene ), + CHOC =FACT(statut='f',max='**', + fr="Analyse des non linéarités de choc", + INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), + INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), + NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), + SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ), + NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ), + ), + RELA_EFFO_DEPL =FACT(statut='f', + fr="Analyse des relationsnon linéaires effort-déplacement", + NOEUD =SIMP(statut='o',typ=no), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", + + regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT', + 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE', + 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL', + 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','INTEGRALE'), + ), + + MASS_INER = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), + ), + b_mass_iner = BLOC(condition = "( MASS_INER != None )", + fr="calcul de la masse, les inerties et le centre de gravité", + regles=(EXCLUS('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas, + fourier_elas,dyna_trans) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',), + NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), + NOM_CAS = SIMP(statut='f',typ='TXM',), + ), + + ENER_POT = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_pot = BLOC(condition = "( ENER_POT != None )", + fr="calcul de l'énergie potentielle de déformation", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + ANGLE = SIMP(statut='f',typ='I',defaut=0), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_CIN = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + OPTION = SIMP(statut='f',typ='TXM', + into=("MASS_MECA","MASS_MECA_DIAG"), + defaut="MASS_MECA" ), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_cin = BLOC(condition = "( ENER_CIN != None )", + fr="calcul de l'énergie cinétique", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + ANGLE = SIMP(statut='f',typ='I',defaut=0), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_ELAS = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", + fr="calcul de l'énergie de déformation élastique", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + ENER_TOTALE = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", + fr="calcul de l'énergie de déformation totale", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INTEGRALE = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NOM_CHAM = SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), + NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + ), + b_integrale = BLOC(condition = "( INTEGRALE != None )", + fr="calcul de la moyenne d'une composante", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + RESULTAT = SIMP(statut='o',typ=(evol_noli,evol_ther,evol_elas) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + WEIBULL = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + OPTION = SIMP(statut='f',typ='TXM', + into=("SIGM_ELGA","SIGM_ELMOY"), + defaut="SIGM_ELGA"), + CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + COEF_MULT = SIMP(statut='f',typ='R',defaut=1.), + ), + b_weibull = BLOC(condition = "( WEIBULL != None )", + fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(evol_noli) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + RICE_TRACEY = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + OPTION = SIMP(statut='f',typ='TXM', + into=("SIGM_ELGA","SIGM_ELMOY"), + defaut="SIGM_ELGA"), + LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )", + fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine", + regles=(UN_PARMI('CHAM_GD','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), + RESULTAT = SIMP(statut='f',typ=(evol_noli) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INDIC_ENER = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + INDIC_SEUIL = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ), + b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CHAR_LIMITE = FACT(statut='f',min=0, + CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") + ), + b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", + fr="post-traitement du calcul de la charge limite", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + RESULTAT = SIMP(statut='o',typ=(evol_noli) ), + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CARA_GEOM = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), + ), + b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", + fr="calcul des caractéristiques géométriques d'un section de poutre", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + CARA_POUTRE = FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA'), + ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + CARA_GEOM = SIMP(statut='o',typ=table_sdaster), + RT = SIMP(statut='f',typ='R'), + LAPL_PHI = SIMP(statut='f',typ=evol_ther), + LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), + LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), + LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), + LONGUEUR = SIMP(statut='f',typ='R'), + MATERIAU = SIMP(statut='f',typ=mater_sdaster), + OPTION = SIMP(statut='f',typ='TXM', + into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), + ), + b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", + fr="calcul des caractéristiques mécaniques d'un section de poutre", + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + AIRE_INTERNE = FACT(statut='f',max='**', + GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", + fr="calcul de l'aire d'un trou dans un maillage 2D", + MODELE = SIMP(statut='f',typ=modele_sdaster), + ), + + TRAV_EXT = FACT(statut='f',), + b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", + fr="calcul du travail des efforts extérieurs", + RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + ) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - b_lognormale=BLOC(condition="LOI=='LOGNORMALE'", +# 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. # - VALE_MIN = SIMP(statut="o",typ="R",max=1, - fr="Valeur minimale.", - ang="Minimal value."), +# 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. +# ====================================================================== +POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire", + regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), + PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'), + UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ), + MOMENT_SPEC_0 =SIMP(statut='f',typ='R'), + MOMENT_SPEC_2 =SIMP(statut='f',typ='R'), + MOMENT_SPEC_4 =SIMP(statut='f',typ='R'), + TABL_POST_ALEA =SIMP(statut='f',typ=table_sdaster), + COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")), + DUREE =SIMP(statut='f',typ='R',defaut= 1.), + CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), + DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)), + MATER =SIMP(statut='o',typ=mater_sdaster), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MOY = SIMP(statut="f",typ="R",max=1, - fr="Valeur moyenne dans l'espace de la loi normale.", - ang="Mean value in the space of the normal law."), +# 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. # - ECART_TYPE = SIMP(statut="f",typ="R",max=1, - fr="Ecart type dans l'espace de la loi normale.", - ang="Standard deviation in the space of the normal law."), +# 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. +# ====================================================================== +POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement", + + CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")), + + b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'", + regles=(PRESENT_PRESENT('CORR_KE','MATER'), + PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), + PRESENT_PRESENT('DOMMAGE','MATER'),), + HISTOIRE = FACT(statut='o', + regles=(UN_PARMI('SIGM','EPSI'),), + SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), + COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")), + DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + COEF_MULT = FACT(statut='f', + KT = SIMP(statut='o',typ='R'),), + CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", + "TAHERI_MANSON","TAHERI_MIXTE")), + MATER = SIMP(statut='f',typ=mater_sdaster), + CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), + TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), + TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), + ), + + b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'", + HISTOIRE = FACT(statut='o', + SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), + CRITERE = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER",)), + MATER = SIMP(statut='o',typ=mater_sdaster), + COEF_CORR = SIMP(statut='f',typ='R'), + ), + + b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", + HISTOIRE = FACT(statut='o', + SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), + MATER = SIMP(statut='o',typ=mater_sdaster), + CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR GALENNE E.GALENNE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MOY_PHY = SIMP(statut="f",typ="R",max=1, - fr="Valeur moyenne dans l'espace physique.", - ang="Mean value in the physical space."), +# 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. # - ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1, - fr="Ecart type dans l'espace physique.", - ang="Standard deviation in the physical space."), +# 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. +# ====================================================================== +# RESPONSABLE GALENNE E.GALENNE +from Macro.post_k1_k2_k3_ops import post_k1_k2_k3_ops +POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3",op=post_k1_k2_k3_ops,sd_prod=table_sdaster, + fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par extrapolation des sauts de déplacements" + +" sur les lèvres de la fissure", + reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + + regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'), + PRESENT_PRESENT('RESULTAT','FOND_FISS'),), + + MODELISATION =SIMP(statut='o',typ='TXM', + into=("3D","AXIS","D_PLAN","C_PLAN"), + fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"), + FOND_FISS =SIMP(statut='f',typ=fond_fiss), + b_fond_fiss =BLOC (condition="(FOND_FISS!= None)", + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"), + NB_NOEUD_COUPE= SIMP(statut='f',typ='I' ,defaut=5 ), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ) + ), + MATER =SIMP(statut='o',typ=mater_sdaster, + fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli), + fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"), + TABL_DEPL_SUP =SIMP(statut='f',typ=table_sdaster, + fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"), + TABL_DEPL_INF =SIMP(statut='f',typ=table_sdaster, + fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"), + ABSC_CURV_MAXI=SIMP(statut='f',typ='R', + fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"), + PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + VECT_K1 =SIMP(statut='o',typ='R',max=3, + fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# 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. # - regles=(AU_MOINS_UN("VALE_MOY" ,"VALE_MOY_PHY"), - AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"), - EXCLUS ("VALE_MOY" ,"VALE_MOY_PHY"), - EXCLUS ("VALE_MOY" ,"ECART_TYPE_PHY"), - EXCLUS ("ECART_TYPE","VALE_MOY_PHY"), - EXCLUS ("ECART_TYPE","ECART_TYPE_PHY")), +# 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. +# +# +# ====================================================================== # -# 7.2.3. ==> Loi uniforme +POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster, + fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA", + reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + MATER_REV = SIMP(statut='o',typ=mater_sdaster), + EPAIS_REV = SIMP(statut='o',typ='R'), + FISSURE = FACT(statut='o', + DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), + PROFONDEUR = SIMP(statut='o',typ='R'), + LONGUEUR = SIMP(statut='o',typ='R'), + ORIENTATION = SIMP(statut='o',typ='TXM', + into=("CIRC","LONGI"),), + ), + K1D = FACT(statut='o',max='**', + TABL_MECA_REV = SIMP(statut='o',typ=(table_sdaster)), + TABL_MECA_MDB = SIMP(statut='o',typ=(table_sdaster)), + TABL_THER = SIMP(statut='o',typ=(table_sdaster)), + INTITULE = SIMP(statut='o',typ='TXM' ), + ), + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); +#& MODIF COMMANDE DATE 13/03/2006 AUTEUR CIBHHLV L.VIVAN +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - b_uniforme=BLOC(condition="LOI=='UNIFORME'", +# 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 PARTIC # - VALE_MIN = SIMP(statut="o",typ="R",max=1, - fr="Valeur minimale.", - ang="Minimal value."), +# 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster, + fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)", + reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), + +# ====================================================================== + b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE_ZH210") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + + TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", + regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),), + NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, + fr="nombre d occurences réelles de ce transitoire" ), + TABL_RESU_MECA =SIMP(statut='o',typ=table_sdaster, + fr="relevé des contraintes sur le chemin"), + TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, + fr="résultat sous chargement thermique seul" ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), + ), + ), + ), + +# ====================================================================== + b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", + regles=(UN_PARMI('MX','MX_TUBU'),), + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + MX =SIMP(statut='f',typ='R',fr="moment suivant x", ), + MX_TUBU =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ), + b_1_tenseur =BLOC( condition = "MX != None", + FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), + FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), + FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), + MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), + MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), + ), + b_2_tenseurs =BLOC( condition = "MX_TUBU != None", + FX_TUBU =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ), + FY_TUBU =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ), + FZ_TUBU =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ), + MY_TUBU =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ), + MZ_TUBU =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ), + FX_CORP =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ), + FY_CORP =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ), + FZ_CORP =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ), + MX_CORP =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ), + MY_CORP =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ), + MZ_CORP =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ), + ), + + ), + RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", + regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),), + TABL_MX =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX"), + TABL_MX_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX_TUBU"), + b_1_tenseur =BLOC( condition = "TABL_MX != None", + TABL_FX =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX"), + TABL_FY =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY"), + TABL_FZ =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ"), + TABL_MY =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY"), + TABL_MZ =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ"), + ), + b_2_tenseurs =BLOC( condition = "TABL_MX_TUBU != None", + TABL_FX_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX_TUBU"), + TABL_FY_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY_TUBU"), + TABL_FZ_TUBU =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"), + TABL_MY_TUBU =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY_TUBU"), + TABL_MZ_TUBU =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"), + TABL_FX_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FX_CORP"), + TABL_FY_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FY_CORP"), + TABL_FZ_CORP =SIMP(statut='f',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire FZ_CORP"), + TABL_MX_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MX_CORP"), + TABL_MY_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MY_CORP"), + TABL_MZ_CORP =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire MZ_CORP"), + ), + TABL_PRES =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes pour chargement unitaire de pression"), + ), + + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes sous chargement thermique seul" ), + ), + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), + NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ), + NUME_PASSAGE =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ), + NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), + CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), + PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), + PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), + TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), + TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), + ), + ), +# ====================================================================== + b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", + + OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", + regles=(UN_PARMI('CHAM_GD','RESULTAT'),), + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), + b_extrac =BLOC(condition="RESULTAT != None", + fr="extraction d un champ de grandeur", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',), + INST =SIMP(statut='f',typ='R',), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + b_acce_reel =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ), + ), + ), + ), + INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), + K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), + C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), + K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), + C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), + K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', + fr="liste des mailles ou sont affectés les indices de contraintes"), + b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), + fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), + ), + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des températures sur la section"), + TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des moyennes sur la section"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + ), + ), + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", + NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), + NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), + NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), + NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), + COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), + NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ), + NUME_PASSAGE =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ), + NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), + CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), + CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), + PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), + PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), + TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), + TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), + ), + ), +) ; +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE +# ====================================================================== +# CONFIGURATION MANAGEMENT OF EDF VERSION +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MAX = SIMP(statut="o",typ="R",max=1, - fr="Valeur maximale.", - ang="Maximal value."), +# 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f', + fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)" + +" ou pour les exprimer dans d'autres repères", + UIinfo={"groupes":("Post traitements",)}, + + ACTION =FACT(statut='o',max='**', + regles=(UN_PARMI('RESULTAT','CHAM_GD'),), + + OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","EXTREMA"),validators=NoRepeat(),max=2), + INTITULE =SIMP(statut='o',typ='TXM'), + + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster, + cham_elem,),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans, + mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, + mult_elas,fourier_elas,dyna_harmo,acou_harmo)), + + b_sensibilite =BLOC(condition="RESULTAT != None", + fr="Définition des paramètres de sensibilité", + ang="Definition of sensitivity parameters", + regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(), + DERIVABLE('RESULTAT'),), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + ), + + b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE', + 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ), + NOM_CHAM =SIMP(statut='o',typ='TXM' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + ), + + b_extrema =BLOC(condition="OPERATION == 'EXTREMA'", + fr="recherche de MIN MAX", + regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + + b_autre =BLOC(condition="OPERATION != 'EXTREMA'", + fr="extraction et moyenne", + regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), + EXCLUS('CHEMIN','GROUP_NO'), + EXCLUS('CHEMIN','NOEUD'), + PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'), + UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'), + PRESENT_PRESENT('TRAC_DIR','DIRECTION'), + ENSEMBLE('MOMENT','POINT'), + PRESENT_PRESENT('MOMENT','RESULTANTE'), + PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), + EXCLUS('TRAC_DIR','TRAC_NOR'), + PRESENT_PRESENT('ORIGINE','AXE_Z'),), + + CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)), + ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ), + RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), + + MOMENT =SIMP(statut='f',typ='TXM',max='**'), + POINT =SIMP(statut='f',typ='R',max='**'), + + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", + into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), + ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), + ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), + + TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), + TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + + VECT_Y =SIMP(statut='f',typ='R',max='**'), + MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), + + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # -# 7.2.4. ==> Loi normale tronquée +# 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. # - b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'", +# 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. +# ====================================================================== +POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f', + UIinfo={"groupes":("Post traitements",)}, + fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure", + regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), + PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), + PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), + TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ETAT_INIT =FACT(statut='f', + TABL_USURE =SIMP(statut='f',typ=table_sdaster), + INST_INIT =SIMP(statut='f',typ='R'), + ), + RESU_GENE =SIMP(statut='f',typ=tran_gene), + NOEUD =SIMP(statut='f',typ=no,), + INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), + INST_FIN =SIMP(statut='f',typ='R'), + NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), + PUIS_USURE =SIMP(statut='f',typ='R'), + LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), + b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", + regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R'), + ), + OBSTACLE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R'), + ), + SECTEUR =FACT(statut='f',max='**', + CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", + "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", + "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), + COEF_USUR_MOBILE=SIMP(statut='f',typ='R'), + COEF_USUR_OBST =SIMP(statut='f',typ='R'), + ANGL_INIT =SIMP(statut='f',typ='R'), + ANGL_FIN =SIMP(statut='f',typ='R'), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'", + regles=(UN_PARMI('MOBILE','MATER_USURE'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_FNOR =SIMP(statut='f',typ='R'), + COEF_VTAN =SIMP(statut='f',typ='R'), + COEF_USURE =SIMP(statut='f',typ='R'), + COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), + COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), + ), + OBSTACLE =FACT(statut='f', + COEF_FNOR =SIMP(statut='f',typ='R' ), + COEF_VTAN =SIMP(statut='f',typ='R' ), + COEF_USURE =SIMP(statut='o',typ='R'), + COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), + COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + FNOR_MAXI =SIMP(statut='f',typ='R' ), + VTAN_MAXI =SIMP(statut='f',typ='R' ), + ), + b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'", + regles=(UN_PARMI('MOBILE','MATER_USURE'), + EXCLUS('MATER_USURE','OBSTACLE'), + EXCLUS('MOBILE','USURE_OBST'),), + MOBILE =FACT(statut='f', + COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), + COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), + COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), + COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), + ), + OBSTACLE =FACT(statut='f', + COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), + COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), + COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), + COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), + ), + MATER_USURE =SIMP(statut='f',typ='TXM'), + USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), + ), + b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'", + TABL_USURE =SIMP(statut='o',typ=table_sdaster), + INST =SIMP(statut='f',typ='R'), + ), + CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", + "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", + "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), + RAYON_MOBILE =SIMP(statut='f',typ='R'), + RAYON_OBST =SIMP(statut='f',typ='R'), + LARGEUR_OBST =SIMP(statut='f',typ='R'), + ANGL_INCLI =SIMP(statut='f',typ='R'), + ANGL_ISTHME =SIMP(statut='f',typ='R'), + ANGL_IMPACT =SIMP(statut='f',typ='R'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MOY = SIMP(statut="o",typ="R",max=1, - fr="Valeur moyenne de la loi normale complète.", - ang="Mean value for the entire normal law."), +# 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. # - ECART_TYPE = SIMP(statut="o",typ="R",max=1, - fr="Ecart type de la loi normale complète.", - ang="Standard deviation for the entire normal law."), +# 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. +# ====================================================================== +POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Déterminer l'état adapté ou accommodé par la méthode de Zarka-Casier d'une structure sous" + +" chargement cyclique élastique affine ou non", + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)), + ), + EVOL_ELAS =SIMP(statut='o',typ=evol_elas), + b_evol_elas =BLOC(condition="EVOL_ELAS != None", + regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + ), + TEMP_ZAC =SIMP(statut='f',typ='R',defaut=0.0E+0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + b_evol_noli =BLOC(condition="EVOL_NOLI != None", + INST_MAX =SIMP(statut='o',typ='R'), + ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + +) ; +#& MODIF COMMANDE DATE 16/01/2006 AUTEUR D6BHHJP J.P.LEFEBVRE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - VALE_MIN = SIMP(statut="o",typ="R",max=1, - fr="Valeur minimale.", - ang="Minimal value."), +# 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. # - VALE_MAX = SIMP(statut="o",typ="R.",max=1, - fr="Valeur maximale.", - ang="Maximal value."), +# 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. +# ====================================================================== +POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n', + fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX ou HDF de sa base globale", + sd_prod = ops.POURSUITE, + UIinfo={"groupes":("Gestion du travail",)}, + op_init = ops.POURSUITE_context,fichier_ini = 1, + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), + PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', + into=("OUI","NON"),defaut="OUI"), + IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", + statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), + BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", + statut='f',min=1,max=2, + FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'), + TITRE =SIMP(statut='f',typ='TXM'), + CAS =SIMP(statut='f',typ='TXM'), + NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), + LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), + LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), + ), + IMPRESSION =FACT(statut='f',min=1,max=3, + FICHIER =SIMP(statut='o',typ='TXM'), + UNITE =SIMP(statut='o',typ='I'), + ), + CATALOGUE =FACT(statut='f',min=1,max=10, + FICHIER =SIMP(statut='o',typ='TXM'), + TITRE =SIMP(statut='f',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, + ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'), + ), + DEBUG =FACT(fr="option de déboggage reservée aux développeurs", + statut='f',min=1,max=1, + JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + JEVEUX =SIMP(fr="force les déchargement sur disque", + statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), + ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", + statut='f',typ='TXM',into=('TEST',)), + ), + MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1, + GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'), + TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1), + TAILLE =SIMP(statut='f',typ='I'), + TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), + PARTITION =SIMP(statut='f',typ='R' ), + ), + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), + VALE =SIMP(statut='f',typ='I',val_min=0), + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur en pourcentage du temps maximum bornée à 180 secondes + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) + ), + CODE =FACT("définition d un nom pour l'esemble d'une étude", + statut='f',min=1,max=1, + NOM =SIMP(statut='o',typ='TXM'), + UNITE =SIMP(statut='f',typ='I',defaut=15), + ), +) ; +#& MODIF COMMANDE DATE 22/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== + +# RESPONSABLE MCOURTOI M.COURTOIS + +from Macro.test_fichier_ops import test_fichier_ops + +TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops, + UIinfo={"groupes":("Impression",)}, + fr="Tester la non régression de fichiers produits par des commandes aster", + FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), + NB_CHIFFRE =SIMP(statut='o',typ='I',), # defaut=6 pas de defaut, il faut + EPSILON =SIMP(statut='o',typ='R',), # defaut=1.E-12 se poser la question ! + 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") ), + + b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # -# 7.3. ==> Paramètres de calcul -# 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja +# 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. +# ====================================================================== +PRE_GIBI=PROC(nom="PRE_GIBI",op=49, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier de maillage GIBI au format Aster", + UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - regles=(EXCLUS("POINT_INI","POINT_CONCEPT"), - EXCLUS("POINT_REF","POINT_CONCEPT"),), +# 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. # -# 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme. -# Si on ne le fait pas, le programme prendra la valeur moyenne. +# 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. +# ====================================================================== + +PRE_GMSH=PROC(nom="PRE_GMSH",op=47, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier de maillage GMSH au format Aster", + UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - POINT_INI = SIMP(statut="f",typ="R",max=1, - fr="Point de démarrage de l'algorithme itératif.", - ang="Initial point for iterative process."), +# 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. # -# 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser. -# Si on ne le fait pas, le programme prendra la valeur moyenne. +# 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. +# ====================================================================== +PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, + UIinfo={"groupes":("Gestion du travail",)}, + fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster", + UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), + CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), +) ; +#& MODIF COMMANDE DATE 15/05/2006 AUTEUR ASSIRE A.ASSIRE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== + +from Macro.stanley_ops import stanley_ops + +STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None, + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + fr="Outil de post-traitement interactif Stanley ", + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,mode_stat,dyna_harmo,dyna_trans) ), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + DISPLAY =SIMP(statut='f',typ='TXM'), + UNITE_VALIDATION=SIMP(statut='c',typ='I',val_min=10,val_max=90, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"), + +) ; +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - POINT_REF = SIMP(statut="f",typ="R",max=1, - fr="Point de référence de l'algorithme itératif.", - ang="Reference point for iterative process."), +# 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. # -# 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception +# 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. +# ====================================================================== + +PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster, + fr="Effectuer le produit d'une matrice par un vecteur", + reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. # - POINT_CONCEPT = SIMP(statut="f",typ="R",max=1, - fr="Point de conception.", - ang="Design point."), +# 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. # -# 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre +# 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ): + if AsType(RESULTAT) == evol_ther : return evol_ther + if AsType(RESULTAT) == evol_elas : return evol_elas + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == evol_char : return evol_char + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_stat_depl : return mode_stat_depl + if AsType(RESULTAT) == base_modale : return base_modale + if CHAM_NO_REFE != None : return cham_no_sdaster + raise AsException("type de concept resultat non prevu") + +PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Projeter les champs aux noeuds d'une SD résultat de type evol_xxx sur un autre maillage", # - GRADIENT = SIMP(statut="o",typ="TXM",max=1, - into=("OUI","NON"), - fr="ASTER calcule directement le gradient.", - ang="ASTER computes the gradient for this parameter."), + METHODE =SIMP(statut='f',typ='TXM',defaut="ELEM", + into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ), + b_nuage =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')", + fr="Lissage d'un nuage de points", + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + CHAM_NO_REFE =SIMP(statut='o',typ=cham_no_sdaster), + ), + b_elem =BLOC(condition="METHODE=='ELEM'", + fr="Utilisation des fonctions de forme du maillage initial", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), + EXCLUS('TOUT_CHAM','NOM_CHAM',), + CONCEPT_SENSIBLE('SEPARE'), + REUSE_SENSIBLE(), + DERIVABLE('RESULTAT'),), + RESULTAT =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,dyna_trans,evol_char, + mode_meca,mode_stat_depl,base_modale) ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters",), + MODELE_1 =SIMP(statut='o',typ=modele_sdaster), + MODELE_2 =SIMP(statut='o',typ=modele_sdaster), - b_gradient=BLOC(condition="GRADIENT=='NON'", - INCREMENT = SIMP(statut="o",typ="R",max=1, - fr="Incrément dans la direction.", - ang="Direction increment."), - ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ), -# -); -#& MODIF COMMANDE DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS +# POUR IMPOSER LA NUMEROTATION DES DDLS : +# ------------------------------------------------------------------ + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ), + + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + DISTANCE_MAX =SIMP(statut='f',typ='R', + fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), + fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), + + PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", + fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger" + +" les champs par zéro la ou la projection ne donne pas de valeurs."), + + ), + + VIS_A_VIS =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), + AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), + TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -17906,179 +19751,86 @@ MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, # 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 - -from Macro.macr_adap_mail_ops import macr_adap_mail_ops +def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r + if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r + if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c + if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c + raise AsException("type de concept resultat non prevu") -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.", -# -# 1. Le niveau d'information -# - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -# -# 2. Version de HOMARD -# - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1", - into=("V7_1", "V7_N", "V7_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), -# -# 3. 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." ), -# -# 4. Gestion des éléments autres que des simplexes -# 0 : autres elements refusés -# 1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés -# 2 : tous (defaut) -# - 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" ), -# -# 5. Le nom du maillage a analyser -# - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage à analyser.", - ang="Mesh to be checked." ), -# -# 6. Suivi d'une frontiere -# - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, - fr="Maillage de la frontiere à suivre", - ang="Boundary mesh" ), -# - b_frontiere =BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Groupes définissant la frontière", - ang="Groups which define the boundary", - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), - ) , -# -# 7. Les options ; par defaut, on ne fait que les nombres -# 7.1. Nombre de noeuds et elements -# - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), - fr="Nombre de noeuds et éléments du maillage", - ang="Number of nodes and elements in the mesh" ), -# -# 7.2. Determination de la qualite des elements du maillage -# - QUALITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Qualité du maillage", - ang="Mesh quality" ), -# -# 7.3. Connexite du maillage -# - CONNEXITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Connexité du maillage.", - ang="Mesh connexity." ), -# -# 7.4. Taille des sous-domaines du maillage -# - TAILLE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# -# 7.5. Controle de la non-interpenetration des elements -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Controle de la non interpénétration des éléments.", - ang="Overlapping checking." ), -# +PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, + fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), + MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), ) ; -#& MODIF COMMANDE DATE 14/02/2005 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. -# ====================================================================== - -from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops -MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - fr="extraction d un résultat sur des lignes de coupes définies par 2 points ou un group_no", - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ), -# extraction des résultats - b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique", - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ), - ), - b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='TEMP' ), - ), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - LIGN_COUPE =FACT(statut='o',max='**', - regles=(UN_PARMI('NB_POINTS','GROUP_NO'),), - INTITULE =SIMP(statut='f',typ='TXM',), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),), - NB_POINTS =SIMP(statut='f',typ='I'), - b_nbpts = BLOC(condition = "NB_POINTS != None", - COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), - COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3), ), - ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # 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. +# COPYRIGHT (C) 1991 - 2001 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. # ====================================================================== - -from Macro.macr_recal_ops import macr_recal_ops - -def macr_recal_prod(self,**args ): - return listr8_sdaster +def proj_mesu_modal_prod(MODELE_MESURE,**args): + vale=MODELE_MESURE['MESURE'] + if AsType(vale) == dyna_trans : return tran_gene + if AsType(vale) == dyna_harmo : return harm_gene + if AsType(vale) == mode_meca : return mode_gene +# if AsType(vale) == mode_meca_c : return mode_gene_c + if AsType(vale) == base_modale : return mode_gene + raise AsException("type de concept resultat non prevu") -MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops, +PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, + sd_prod=proj_mesu_modal_prod, + reentrant='n', UIinfo={"groupes":("Résultats et champs",)}, - sd_prod=macr_recal_prod, - fr="Réalise le recalage de modèles Aster", - UNITE_ESCL =SIMP(statut='o',typ='I'), - RESU_EXP =SIMP(statut='o',typ=assd,max='**'), - POIDS =SIMP(statut='f',typ=assd,max='**'), - RESU_CALC =SIMP(statut='o',typ=assd,max='**'), - LIST_PARA =SIMP(statut='o',typ=assd,max='**'), - ITER_MAXI =SIMP(statut='f',typ='I',defaut=10), - RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3), - UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), - PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.001), - GRAPHIQUE =FACT(statut='d', - UNITE =SIMP(statut='f',typ='I',defaut=90), - INTERACTIF =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),) -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND + fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection", + + MODELE_CALCUL =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), + ), + MODELE_MESURE =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ), + ), + CORR_MANU =FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), + NOEU_CALCUL =SIMP(statut='f',typ=no), + NOEU_MESURE =SIMP(statut='f',typ=no), + ), + RESOLUTION =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), + b_svd =BLOC(condition="METHODE=='SVD'", + EPS=SIMP(statut='f',typ='R',defaut=0. ), + ), + REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), + b_regul =BLOC(condition="REGUL!='NON'", + regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), + COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), + COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + ), + ), + + ); +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18096,72 +19848,28 @@ MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -# RESPONSABLE G8BHHXD X.DESROCHES - -from Macro.macro_elas_mult_ops import macro_elas_mult_ops - -def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ): - if isinstance(NUME_DDL,CO) : - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - else: - self.type_sdprod(NUME_DDL,NUME_DDL.__class__) - if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas - if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas - raise AsException("type de concept resultat non prevu") - -MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), - CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), - CAS_CHARGE =FACT(statut='o',max='**', - regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), - UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - MODE_FOURIER =SIMP(statut='f',typ='I' ), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHAR_MECA =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - CHAR_CINE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", - "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL", - "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA", - "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC", - "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI", - "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA", - "ERRE_ELEM_NOZ2","VNOR_ELEM_DEPL","ERRE_ELNO_ELGA","SIRE_ELNO_DEPL", - "ERRE_ELGA_NORE","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI", - "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL", - "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ), - NUME_COUCHE =SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), - b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), +PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=table_sdaster,reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ", + regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), + ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),), + SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + FREQ_INIT =SIMP(statut='f',typ='R',val_min=0.E+0 ), + FREQ_FIN =SIMP(statut='f',typ='R',val_min=0.E+0 ), + NB_POIN =SIMP(statut='f',typ='I' ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")), + GROUP_MA =SIMP(statut='f',typ=grma), +# Quel est le type attendu derriere MODELE_INTERFACE + MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), + VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), + ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18180,92 +19888,64 @@ MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops - -def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): - self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) - if FORC_AJOU != None: - for m in FORC_AJOU: - self.type_sdprod(m['VECTEUR'],vect_asse_gene_r) - - return None - -MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod, +PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene, + fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)", + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), - EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - EXCLUS('MONO_APPUI','MODE_STAT',), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), - GROUP_MA_INTERF =SIMP(statut='o',typ=grma), - MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), - FLUIDE =FACT(statut='o',max='**', - RHO =SIMP(statut='o',typ='R'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma), - MAILLE =SIMP(statut='f',typ=ma), - ), - DDL_IMPO =FACT(statut='o',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - PRES_FLUIDE =SIMP(statut='f',typ='R'), - PRES_SORTIE =SIMP(statut='f',typ='R'), - ), - ECOULEMENT =FACT(statut='f', - GROUP_MA_1 =SIMP(statut='o',typ=grma), - GROUP_MA_2 =SIMP(statut='o',typ=grma), - VNOR_1 =SIMP(statut='o',typ='R'), - VNOR_2 =SIMP(statut='f',typ='R'), - POTENTIEL =SIMP(statut='f',typ=evol_ther), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - DEPL_IMPO =SIMP(statut='f',typ=cham_no_depl_r), - MODELE_GENE =SIMP(statut='f',typ=modele_gene), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2), - MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), - MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), - MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), - MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),), - FORC_AJOU =FACT(statut='f',max='**', - DIRECTION =SIMP(statut='o',typ='R',max=3), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VECTEUR =SIMP(statut='o',typ=CO), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non iversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), -) -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET + regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), + VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), +) ; +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster, + fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), + RESU =FACT(statut='o',max='**', + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), + AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), + EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + TEMPE =SIMP(statut='f',typ='R' ), + LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), + CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ), + INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), + ) ; +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18283,86 +19963,229 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro # 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 +def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None, + RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None, + TYPE_RESU=None,**args): + if AsType(RESULTAT) == dyna_harmo : return fonction_c + if AsType(RESU_GENE) == harm_gene : return fonction_c +# On ne sait pas interpreter les deux conditions suivantes + if TABLE != None : + if TYPE_RESU != None : + if TYPE_RESU == "FONCTION_C" : return fonction_c + if TYPE_RESU == "FONCTION" : return fonction_sdaster + else: + return fonction_sdaster + if RESU_GENE != None : return fonction_sdaster + if BASE_ELAS_FLUI != None : return fonction_sdaster + if RESULTAT != None : return fonction_sdaster + if CHAM_GD != None : return fonction_sdaster + if OBSTACLE != None : return fonction_sdaster + raise AsException("type de concept resultat non prevu") -from Macro.macro_matr_asse_ops import macro_matr_asse_ops - -def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args): - if not MATR_ASSE: raise AsException("Impossible de typer les concepts resultats") - if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") - if isinstance(NUME_DDL,CO) : - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - else: - self.type_sdprod(NUME_DDL,NUME_DDL.__class__) - for m in MATR_ASSE: - opti=m['OPTION'] - - if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" , - "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA", - "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R", - "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r - - if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c +RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod, + fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre", + reentrant='f', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),), - if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" , - "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r + CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster, + cham_elem,),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ), + RESU_GENE =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)), + TABLE =SIMP(statut='f',typ=table_sdaster), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), + OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), - if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c +# ======= SENSIBILITE ================================================= + b_sensibilite =BLOC(condition="RESULTAT != None", + fr="Définition des paramètres de sensibilité", + ang="Definition of sensitivity parameters", + regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(), + DERIVABLE('RESULTAT'),), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"),), +# ======= ACCES A LA SD RESULTAT ================================================= + b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)", + fr="acces a une SD résultat", +# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), + ), + ), +# ======= BASE_ELAS_FLUI ================================================= + b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", + fr="Récupération de la fonction à partir d un concept melasflu", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='o',typ='I' ), + PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), + PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), + ), - self.type_sdprod(m['MATRICE'],t) - return None +# ======= TABLE ================================================= + b_table = BLOC ( condition = "TABLE != None", + fr="Récupération de la fonction à partir d un concept table", + regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'), + PRESENT_PRESENT('PARA_X','PARA_Y'),), + PARA_X =SIMP(statut='f',typ='TXM', + fr="1ère colonne de la table qui définit la fonction à récupérer", ), + PARA_Y =SIMP(statut='f',typ='TXM', + fr="2ème colonne de la table qui définit la fonction à récupérer", ), + NOM_PARA_TABL =SIMP(statut='f',typ='TXM',into=("FONCTION",), + fr="Nom du paramètre de la table à qui est associé la fonction" ), + b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None", + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ), + ), -MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops, - UIinfo={"groupes":("Matrices/vecteurs",)}, - sd_prod=macro_matr_asse_prod, - fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - INST =SIMP(statut='f',typ='R',defaut=0.), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), - NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT", - into=("LDLT","MULT_FRONT","GCPC","MUMPS")), - RENUM =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")), + FILTRE =FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM' ), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R' ), + VALE_I =SIMP(statut='f',typ='I' ), + VALE_C =SIMP(statut='f',typ='C' ), + VALE_K =SIMP(statut='f',typ='TXM' ),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), ), - MATR_ASSE =FACT(statut='o',max='**', - MATRICE =SIMP(statut='o',typ=CO), - OPTION =SIMP(statut='o',typ='TXM', - into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", - "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", - "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", - "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR", - "RIGI_THER","MASS_THER", - "RIGI_ACOU","MASS_ACOU","AMOR_ACOU", - "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",) - ), +# ======= RESULTAT ================================================= + b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT", + regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + b_cham = BLOC ( condition = "NOM_CHAM != None", + regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), + PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), + PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), + EXCLUS('GROUP_MA','MAILLE'), + EXCLUS('GROUP_NO','NOEUD'),), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I' ), + ), + ), - b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), +# ======= RESU_GENE ================================================= + b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene", + fr="Récupération d'une fonction à partir d un concept TRAN_GENE", + regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ), + NOEUD_CHOC =SIMP(statut='f',typ=no), + GROUP_NO_CHOC =SIMP(statut='f',typ=grno), + b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')", + regles=(UN_PARMI('GROUP_NO','NOEUD'), + EXCLUS('MULT_APPUI','CORR_STAT'),), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), + ), + b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)", + regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),), + PARA_X =SIMP(statut='o',typ='TXM', + into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), + PARA_Y =SIMP(statut='o',typ='TXM', + into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + INTITULE =SIMP(statut='f',typ='TXM' ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + ), + ), + b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", + fr="Récupération d'une fonction à partir d un concept HARM_GENE", + regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + b_cham = BLOC ( condition = "NOM_CHAM != None", + regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), + NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + b_cmp = BLOC ( condition = "NOM_CMP != None", + regles=(UN_PARMI('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), ), - - b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", - SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + ), + b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene", + fr="Récupération d'une fonction à partir d un concept MODE_GENE", + regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + b_cham = BLOC ( condition = "NOM_CHAM != None", + regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), + NUME_CMP_GENE =SIMP(statut='f',typ='I' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + b_cmp = BLOC ( condition = "NOM_CMP != None", + regles=(UN_PARMI('NOEUD','GROUP_NO'), + UN_PARMI('SQUELETTE','SOUS_STRUC'),), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + SQUELETTE =SIMP(statut='f',typ=squelette ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), ), + ), + ), - b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'", - THETA =SIMP(statut='o',typ=theta_geom), - PROPAGATION =SIMP(statut='f',typ='R'), - ), +# ======= CHAM_GD ================================================= + b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD", + regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), + PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), + PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), + EXCLUS('GROUP_MA','MAILLE'), + EXCLUS('GROUP_NO','NOEUD'),), + NOM_CMP =SIMP(statut='o',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I' ), + ), - b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), +# ======= OBSTACLE ================================================= + b_obstacle = BLOC ( condition = "OBSTACLE != None", + fr="Choix du repère", + REPERE =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ), + ), - ), # fin MATR_ASSE +# ======= SURCHARGE DES ATTRIBUTS ================================================= + NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), + NOM_RESU =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=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18380,25 +20203,47 @@ MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== - -from Macro.macro_miss_3d_ops import macro_miss_3d_ops - -MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ", - UIinfo={"groupes":("Matrices/vecteurs",)}, - OPTION =FACT(statut='o', - regles=(UN_PARMI('TOUT','MODULE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - MODULE =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")), - ), - PROJET =SIMP(statut='o',typ='TXM'), - REPERTOIRE =SIMP(statut='f',typ='TXM'), - VERSION =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"), - UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25), - UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26), - UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27), - UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), +RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats" + +" en coordonnées généralisées", + RESU_GENE =SIMP(statut='o',typ=tran_gene ), + INST =SIMP(statut='o',typ='R' ), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, + fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue" + +" dans une autre SD pour celles qui le permettent", + UIinfo={"groupes":("Résultats et champs",)},reentrant='n', + CO =SIMP(statut='o',typ=assd), + regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), + NOM_TABLE =SIMP(statut='f',typ='TXM' ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18417,79 +20262,52 @@ MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ", # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -from Macro.macro_mode_meca_ops import macro_mode_meca_ops +RESO_GRAD=OPER(nom="RESO_GRAD",op= 84,sd_prod=cham_no_sdaster, + fr="Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné", + reentrant='f', + UIinfo={"groupes":("Résolution",)}, + MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), + MATR_FACT =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + REPRISE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1E-6 ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET -MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca, - reentrant='n', +RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=cham_no_sdaster,reentrant='f', + fr="Résoudre par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT", UIinfo={"groupes":("Résolution",)}, - MATR_A =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_B =SIMP(statut='o',typ=matr_asse_depl_r ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -# ce mot cle ne devrait il pas etre dans calc_freq - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN",) ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS", - into=("MODE_RIGIDE","SANS") ), - CALC_FREQ =FACT(statut='d',min=0, - regles=(UN_PARMI('FREQ','FREQ_MAX'), - PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'), - PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'), - EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - FREQ =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ), - FREQ_MIN =SIMP(statut='f',typ='R' ), - FREQ_MAX =SIMP(statut='f',typ='R' ), - NB_BLOC_FREQ =SIMP(statut='f',typ='I' ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ), - STOP_FREQ_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ), - ), - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - NORM_MODE =FACT(statut='o',max='**', - MASS_INER =SIMP(statut='o',typ=tabl_mass_iner ), - NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", - into=("MASS_GENE","RIGI_GENE","EUCL", - "EUCL_TRAN","TRAN","TRAN_ROTA") ), - INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), - ), - FILTRE_MODE =FACT(statut='f', - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - IMPRESSION =FACT(statut='d', - TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE",) ), - ), + MATR_FACT =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, + matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), + CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), + # RESI_RELA : précision utilisée si SOLVEUR=MUMPS + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.e-6), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 20/03/2006 AUTEUR ACBHHCD G.DEVESA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18507,39 +20325,81 @@ MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_ # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +# RESPONSABLE BOYERE E.BOYERE +def rest_base_phys_prod(RESU_GENE,RESU_PHYS,RESULTAT,**args ): + if AsType(RESU_GENE) == tran_gene : return dyna_trans + if AsType(RESU_GENE) == mode_gene : return mode_meca + if AsType(RESU_GENE) == mode_cycl : return mode_meca + if AsType(RESU_GENE) == harm_gene : return dyna_harmo + if AsType(RESU_PHYS) == evol_noli : return dyna_trans + if AsType(RESULTAT) == evol_elas : return evol_elas + if AsType(RESULTAT) == evol_noli : return evol_noli + if AsType(RESULTAT) == evol_char : return evol_char + if AsType(RESULTAT) == dyna_trans : return dyna_trans + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_stat_depl : return mode_stat_depl + if AsType(RESULTAT) == base_modale : return base_modale + raise AsException("type de concept resultat non prevu") -from Macro.macro_proj_base_ops import macro_proj_base_ops - -def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ): - if MATR_ASSE_GENE != None: - for m in MATR_ASSE_GENE: - self.type_sdprod(m['MATRICE'],matr_asse_gene_r) - if VECT_ASSE_GENE != None: - for v in VECT_ASSE_GENE: - self.type_sdprod(v['VECTEUR'],vect_asse_gene_r) - return None +REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op= 75,sd_prod=rest_base_phys_prod, + fr="Restituer dans la base physique des résultats en coordonnées généralisées", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(UN_PARMI('RESU_GENE','RESU_PHYS','RESULTAT'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), + EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'), +# Doc U à revoir + EXCLUS('MULT_APPUI','CORR_STAT'), + EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'), + EXCLUS('CORR_STAT','NOEUD','GROUP_NO'), + EXCLUS('NOEUD','GROUP_NO'), + PRESENT_PRESENT('RESU_PHYS','BASE_MODALE'), + PRESENT_PRESENT('RESULTAT','SQUELETTE'), + PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char, + mode_meca,mode_stat_depl,base_modale) ), + + RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ), + RESU_PHYS =SIMP(statut='f',typ=evol_noli ), + BASE_MODALE =SIMP(statut='f',typ=(base_modale,mode_meca) ), + NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE", + into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL", + "SIGM_ELNO_DEPL","FORC_NODA",) ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), -MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops, - UIinfo={"groupes":("Matrices/vecteurs",)}, - sd_prod=macro_proj_base_prod, - fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs", - BASE =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), - PROFIL =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ), - MATR_ASSE_GENE =FACT(statut='f',max='**', - MATRICE =SIMP(statut='o',typ=CO,), - MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - ), - VECT_ASSE_GENE =FACT(statut='f',max='**', - VECTEUR =SIMP(statut='o',typ=CO,), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene_r), + CYCLIQUE =FACT(statut='f',max='**', + NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + NUME_DIAMETRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + RESULTAT2 =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char, + mode_meca,mode_stat_depl,base_modale) ), ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + SQUELETTE =SIMP(statut='f',typ=squelette ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + SECTEUR =SIMP(statut='f',typ='I',defaut= 1 ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18557,14 +20417,33 @@ MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -MAJ_CATA=PROC(nom="MAJ_CATA",op=20, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Compilation des catalogues de commandes et d éléments", - - ELEMENT =FACT(statut='f',), - +REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_sdaster, + reentrant='n', + fr="Calculer la réponse d'une structure dans la base physique", + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), + NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), + INTE_SPEC_GENE =SIMP(statut='o',typ=table_sdaster), + NOEUD =SIMP(statut='o',typ=no ,max='**'), + MAILLE =SIMP(statut='f',typ=ma ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7, + into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL", + "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ), + EXCIT =FACT(statut='f', + NOEUD =SIMP(statut='o',typ=no ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + ), + MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), + OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", + into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18582,296 +20461,330 @@ MAJ_CATA=PROC(nom="MAJ_CATA",op=20, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, - fr="Analyse mécanique statique linéaire",reentrant='f', +# RESPONSABLE MABBAS M.ABBAS +STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, + fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique," + +" d'une structure en non linéaire", + reentrant='f', UIinfo={"groupes":("Résolution",)}, - regles=(EXCLUS("INST","LIST_INST"), - AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ), + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'), + CONCEPT_SENSIBLE('ENSEMBLE'),), MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater, - fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", - ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), - CARA_ELEM =SIMP(statut='f',typ=cara_elem, - fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...", - ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."), - TITRE =SIMP(statut='f',typ='TXM',max='**'), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), ), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST_FIN =SIMP(statut='f',typ='R'), - OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1, - fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.", - ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters"), - + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + ), + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',max='**', + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", + into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", + "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")), + ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_HYPER =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + INCREMENT =FACT(statut='o', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", + into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), + NUME_INST_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + NUME_INST_FIN =SIMP(statut='f',typ='I'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',), + NOM_CMP =SIMP(statut='f',typ='TXM',), + VALE =SIMP(statut='f',typ='R'), + ), + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), + 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', + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), + PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), + ), + PILOTAGE =FACT(statut='f', + regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ETA_PILO_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_MIN =SIMP(statut='f',typ='R'), + ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), + PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 1. ), SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS") ), - - b_feti =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1", - PARTITION =SIMP(statut='o',typ=sd_feti_sdaster), - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.), - NMAX_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), - TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ), - NB_REORTHO_DD =SIMP(statut='f',typ='I',defaut=0,val_min=0), - PRE_COND =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ), - SCALING =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ), - VERIF_SDFETI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TEST_CONTINU =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.), - INFO_FETI =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFF'), - STOCKAGE_GI =SIMP(statut='f',typ='TXM',defaut="CAL",into=("OUI","NON","CAL") ), - ), - + METHODE=SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","FETI") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), ), - - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), ), - - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ", + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut=8), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), + ), + b_feti =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1", + PARTITION =SIMP(statut='o',typ=sd_feti_sdaster), + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.), + NMAX_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), + TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ), + NB_REORTHO_DD =SIMP(statut='f',typ='I',defaut=0,val_min=0), + NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0), + PRE_COND =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ), + SCALING =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ), + VERIF_SDFETI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + TEST_CONTINU =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.), + INFO_FETI =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'), + STOCKAGE_GI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ), + NB_SD_PROC0 =SIMP(statut='f',typ='I',defaut=0,val_min=0), + ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + ARCHIVAGE =FACT(statut='f', + regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), + EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), + NUME_INIT =SIMP(statut='f',typ='I'), + DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA", + "VARI_NON_LOCAL","LANL_ELGA")), + ), + OBSERVATION =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA", + "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU","VALE_CONT")), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PAS_OBSE =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),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 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -# RESPONSABLE GNICOLAS G.NICOLAS -MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129, - UIinfo={"groupes":("Fonction",)}, - fr="Mémorisation des noms des concepts dérivés.", - ang="Memorisation of the names of the sensitive concepts.", - - regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),), - - NOM=FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),), - - NOM_SD=SIMP(statut='o',typ='TXM', - fr="Nom de la structure de base", - ang="Name of the basic structure"), - - PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom), - fr="Nom du paramètre sensible", - ang="Name of the sensitive parameter"), - - NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ", - fr="Nom de la structure composée", - ang="Name of the built structure"), - - MOT_FACT=SIMP(statut='f',typ='TXM',max='**', - fr="Liste des mots clés facteurs concernés par la dérivation", - ang="Factor keyword list involved in derivation"), - - MOT_CLE=SIMP(statut='f',typ='TXM',max='**', - fr="Liste des mots clés concernés par la dérivation", - ang="Keyword list involved in derivation"), - - VALEUR=SIMP(statut='f',typ='TXM',max='**', - fr="Liste des objets concernés par la dérivation", - ang="Object list involved in derivation"), - ), + SUIVI_DDL = FACT(statut='f',max=4, + regles=(UN_PARMI('NOEUD','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NUME_SUIVI =SIMP(statut='o',typ='I' ,min=1,max=4), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + into=("DEPL","VITE","ACCE","SIEF_ELGA", + "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1 ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), + POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max=1), + ), - NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster, - fr="Nom de la fonction nulle", - ang="Name of the zero fonction"), + AFFICHAGE = FACT(statut='f',max=16, - NOM_UN =SIMP(statut='f',typ=fonction_sdaster, - fr="Nom de la fonction unité", - ang="Name of the one fonction"), + UNITE = SIMP(statut='f',typ='I',val_min=1), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, - fr="Modes propres d une structure à répétitivité cyclique à partir d une base de modes propres réels", - reentrant='n', - UIinfo={"groupes":("Résolution",)}, - BASE_MODALE =SIMP(statut='o',typ=base_modale ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ), - NB_SECTEUR =SIMP(statut='o',typ='I' ), - LIAISON =FACT(statut='o', - DROITE =SIMP(statut='o',typ='TXM' ), - GAUCHE =SIMP(statut='o',typ='TXM' ), - AXE =SIMP(statut='f',typ='TXM' ), - ), - VERI_CYCL =FACT(statut='f', - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), - DIST_REFE =SIMP(statut='f',typ='R' ), - ), - CALCUL =FACT(statut='o', - TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" - ,into=("PLUS_PETITE","CENTRE","BANDE") ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - FREQ =SIMP(statut='o',typ='R',), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), - ), -# NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ), + LONG_R = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12), + PREC_R = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8), + LONG_I = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12), + + NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD", + into=("STANDARD","MINIMUM", + "ITER_NEWT", + "INCR_TPS", + "RESI_RELA","RELA_NOEU", + "RESI_MAXI","MAXI_NOEU", + "RESI_REFE","REFE_NOEU", + "RELI_ITER","RELI_COEF", + "PILO_PARA", + "LAGR_ECAR","LAGR_INCR","LAGR_ITER", + "MATR_ASSE", + "ITER_DEBO", + "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU", + "CTCC_GEOM","CTCC_FROT","CTCC_CONT", + "SUIV_1","SUIV_2","SUIV_3","SUIV_4","ITER_FETI", + ), + ), + b_residu = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \ + NOM_COLONNE == 'RESI_MAXI' or\ + NOM_COLONNE == 'RESI_REFE' or\ + NOM_COLONNE == 'CTCD_GEOM' or\ + NOM_COLONNE == 'STANDARD' ", + INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + ), ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; -#& MODIF COMMANDE DATE 20/10/2004 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ): - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c - if AsType(MATR_A) == matr_asse_depl_r : return mode_meca - if AsType(MATR_A) == matr_asse_pres_r : return mode_acou - if AsType(MATR_A) == matr_asse_gene_r : return mode_gene - raise AsException("type de concept resultat non prevu") -MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod - ,fr="Modes propres par itérations inverses ; valeurs propres et modes réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution",)}, - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_C =SIMP(statut='f',typ=matr_asse_depl_r ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ), - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - FREQ =SIMP(statut='o',typ='R',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ), - NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), - ), + + CRIT_FLAMB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3), + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10), + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), ), - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - CHAR_CRIT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ), - - NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité", + ang="List of sensitivity parameters"), + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), - ), - CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", - OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), - PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des param\350tres de sensibilit\351.", - ang="List of sensitivity parameters", - ), - b_sensibilite =BLOC(condition = "SENSIBILITE != None", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - EXCIT =FACT(statut='f',max='**',), # que pour NMDOME - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), -) ; -#& MODIF COMMANDE DATE 21/03/2005 AUTEUR DURAND C.DURAND + LAGR_NON_LOCAL =FACT(statut='f', + ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), + RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), + RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), + R =SIMP(statut='f',typ='R',defaut= 1000.), + ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + ) + +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -18889,129 +20802,248 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ): - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c - if AsType(MATR_A) == matr_asse_depl_r : return mode_meca - if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c - if AsType(MATR_A) == matr_asse_pres_r : return mode_acou - if AsType(MATR_A) == matr_asse_gene_r : return mode_gene - raise AsException("type de concept resultat non prevu") - -MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_prod, - fr="Modes propres par itérations simultanées ; valeurs propres et modes propres réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution",)}, - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN") ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), +# RESPONSABLE MCOURTOI M.COURTOIS +TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135, + fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence", + UIinfo={"groupes":("Impression",)}, + TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + VALEUR =FACT(statut='f',max='**', + fr="Tester la valeur d une fonction ou d une nappe", + regles=(UN_PARMI('VALE_REFE','VALE_REFE_C',), + DERIVABLE('FONCTION'),), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), + VALE_PARA =SIMP(statut='o',typ='R' ,validators=NoRepeat(),max=2), + VALE_REFE =SIMP(statut='f',typ='R' ), + VALE_REFE_C =SIMP(statut='f',typ='C' ), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence", + defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence", + defaut= 1.E-3 ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), + b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + ), ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), + ATTRIBUT =FACT(statut='f',max='**', + fr="Tester la valeur d un attribut d une fonction ou d''une nappe", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), + PARA =SIMP(statut='f',typ='R' ), + CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ATTR =SIMP(statut='o',typ='TXM', + into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL", + "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ), + ATTR_REFE =SIMP(statut='o',typ='TXM' ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), + b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + ), ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ), + TABL_INTSP =FACT(statut='f',max='**', + fr="Tester la valeur d une fonction contenue dans une table interspectrale", + regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), + INTE_SPEC =SIMP(statut='o',typ=table_sdaster), + NOEUD_I =SIMP(statut='f',typ=no), + NUME_ORDRE_I =SIMP(statut='f',typ='I' ), + b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", + NUME_ORDRE_J =SIMP(statut='o',typ='I' ), + ), + b_noeud_i = BLOC (condition = "NOEUD_I != None", + NOEUD_J =SIMP(statut='o',typ=no), + NOM_CMP_I =SIMP(statut='o',typ='TXM' ), + NOM_CMP_J =SIMP(statut='o',typ='TXM' ), + ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + VALE_PARA =SIMP(statut='o',typ='R' ), + VALE_REFE_C =SIMP(statut='o',typ='C' ), + CRITERE =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence", + defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence", + defaut= 1.E-3 ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), + b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + ), ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("MODE_FLAMB","DYNAMIQUE"), - fr="Type d analyse" ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), - fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), +) ; +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE +# RESPONSABLE VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# +# +# ====================================================================== +TEST_RESU=PROC(nom="TEST_RESU",op=23, + UIinfo={"groupes":("Impression",)}, + fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence", + regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET')), - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - CHAR_CRIT =SIMP(statut='o',typ='R', - fr="Charge critique autour de laquelle on cherche les charges critiques propres"), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnée", - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - ), + CHAM_NO =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'), + EXCLUS('NOEUD','GROUP_NO'), + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'), + UN_PARMI('VALE','VALE_I','VALE_C'),), + CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), + NOEUD =SIMP(statut='f',typ=no ), + GROUP_NO =SIMP(statut='f',typ=grno ), + NOM_CMP =SIMP(statut='f',typ='TXM'), + TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER")), + VERSION =SIMP(statut='f',typ='TXM'), + ), + + CHAM_ELEM =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','TYPE_TEST',), + EXCLUS('NOEUD','GROUP_NO','POINT'), + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT('GROUP_NO','NOM_CMP'), + PRESENT_PRESENT('POINT','NOM_CMP'), + UN_PARMI('VALE','VALE_I','VALE_C'), ), + CHAM_GD =SIMP(statut='o',typ=cham_elem), + MAILLE =SIMP(statut='f',typ=ma), + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), + VALE =SIMP(statut='f',typ='R' ), + VALE_I =SIMP(statut='f',typ='I' ), + VALE_C =SIMP(statut='f',typ='C' ), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER") ), + VERSION =SIMP(statut='f',typ='TXM' ), + ), + + RESU =FACT(statut='f',max='**', + regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'), + UN_PARMI('NOM_CHAM','PARA'), + PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'), + PRESENT_PRESENT('NOM_CMP','NOM_CHAM'), + EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'), + PRESENT_PRESENT('NOEUD','NOM_CMP'), + PRESENT_PRESENT('GROUP_NO','NOM_CMP'), + PRESENT_PRESENT('POINT','NOM_CMP'), + UN_PARMI('VALE','VALE_I','VALE_C'), + DERIVABLE('RESULTAT'),), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + FREQ =SIMP(statut='f',typ='R'), + NUME_MODE =SIMP(statut='f',typ='I'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ANGL =SIMP(statut='f',typ='R'), + PARA =SIMP(statut='f',typ='TXM'), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + MAILLE =SIMP(statut='f',typ=ma ,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), + POINT =SIMP(statut='f',typ='I'), + SOUS_POINT =SIMP(statut='f',typ='I'), + TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2), + PRECISION =SIMP(statut='f',typ='R',max=2), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER",) ), + VERSION =SIMP(statut='f',typ='TXM' ), ), - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, - fr="Valeur des deux fréquences délimitant la bande de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), + GENE =FACT(statut='f',max='**', + regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,), + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), + b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene", + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + ), + b_mode =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)", + regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), + UN_PARMI('NOM_CHAM','PARA'), + PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='f',typ='I'), + PARA =SIMP(statut='f',typ='TXM'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + NUME_MODE =SIMP(statut='f',typ='I'), + FREQ =SIMP(statut='f',typ='R'), + ), + b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", + regles=(UN_PARMI('NUME_ORDRE','INST') ,), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), ), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2), + PRECISION =SIMP(statut='f',typ='R',max=2), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER",) ), + VERSION =SIMP(statut='f',typ='TXM' ), ), - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des param\350tres de sensibilit\351.", - ang="List of sensitivity parameters", - ), - b_sensibilite =BLOC(condition = "SENSIBILITE != None", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - EXCIT =FACT(statut='f',max='**',), # que pour NMDOME + OBJET =FACT(statut='f',max='**', + regles=(UN_PARMI('S_I','S_R','RESUME',), + UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),), + NOM =SIMP(statut='o',typ='TXM'), + S_R =SIMP(statut='f',typ='R'), + S_I =SIMP(statut='f',typ='I'), + RESUME =SIMP(statut='f',typ='I'), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER",) ), + VERSION =SIMP(statut='f',typ='TXM' ), ), - STOP_FREQ_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - 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 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -19029,239 +21061,329 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args): - if (MODE_STAT != None) : return mode_stat_depl - if (PSEUDO_MODE !=None) : return mode_stat_acce - if (FORCE_NODALE != None) : return mode_stat_forc - raise AsException("type de concept resultat non prevu") -MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod, - fr="Calcul de modes statiques", - reentrant='n', - UIinfo={"groupes":("Résolution",)}, - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),), - MODE_STAT =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - FORCE_NODALE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), +# RESPONSABLE VABHHTS J.PELLET +TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, + UIinfo={"groupes":("Impression",)}, + fr="Tester une cellule ou une colonne d'une table", + regles=(UN_PARMI('VALE','VALE_I','VALE_C', ), + DERIVABLE('TABLE'),), +# concept table_sdaster à tester + TABLE =SIMP(statut='o',typ=table_sdaster), + + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), + FILTRE =FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM' ), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R' ), + VALE_I =SIMP(statut='f',typ='I' ), + VALE_C =SIMP(statut='f',typ='C' ), + VALE_K =SIMP(statut='f',typ='TXM' ),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), ), - PSEUDO_MODE =FACT(statut='f',max='**', - regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), - AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - b_dir =BLOC(condition = "DIRECTION != None", - NOM_DIR =SIMP(statut='f',typ='TXM' ),), - b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None", - regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), + TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), + NOM_PARA =SIMP(statut='o',typ='TXM' ), + VALE =SIMP(statut='f',typ='R' ), + VALE_I =SIMP(statut='f',typ='I' ), + VALE_C =SIMP(statut='f',typ='C' ), + VALE_ABS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.2E-3 ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), + b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ), - 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 +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== -MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, - reentrant='f', - UIinfo={"groupes":("Matrices/vecteurs",)}, -# la commande modi_base _modale : reentrant = f ou o - regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),), - BASE =SIMP(statut='o',typ=mode_meca ), - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - AMOR_UNIF =SIMP(statut='f',typ='R' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Résoudre un problème thermique linéaire stationnaire ou transitoire", + regles=(CONCEPT_SENSIBLE('ENSEMBLE'),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + INCREMENT =FACT(statut='f', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster ), + NUME_INIT =SIMP(statut='f',typ='I'), + NUME_FIN =SIMP(statut='f',typ='I'), + ), + TEMP_INIT =FACT(statut='f', + regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), + STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + EVOL_THER =SIMP(statut='f',typ=evol_ther), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + VALE =SIMP(statut='f',typ='R'), + NUME_INIT =SIMP(statut='f',typ='I'), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters", + ), + SENS_INIT =FACT(statut='f', + regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),), + STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + EVOL_THER =SIMP(statut='f',typ=evol_ther), + NUME_INIT =SIMP(statut='f',typ='I'), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), + ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), + ARCHIVAGE =FACT(statut='f', + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", + into=("RELATIF","ABSOLU")), + PAS_ARCH =SIMP(statut='f',typ='I'), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',into=("VARI",)), + ), TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2)), ) ; -#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 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. +# 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. +# 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. +# 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. # ====================================================================== -# RESPONSABLE G8BHHXD X.DESROCHES -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_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_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - 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_FISSURE','DEFORME','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - 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_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE',), - 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_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'), - EXCLUS('ROTATION','MODI_BASE'), - EXCLUS('SYMETRIE','ROTATION'), - EXCLUS('SYMETRIE','TRANSLATION'), - EXCLUS('SYMETRIE','MODI_BASE'), - EXCLUS('SYMETRIE','ECHELLE'), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - - ORIE_FISSURE =FACT(statut='f', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - - DEFORME =FACT(statut='f', - OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), - DEPL =SIMP(statut='o',typ=cham_no_depl_r ), - b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", - GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), - GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), +THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" + +" stationnaire ou transitoire" , + regles=(CONCEPT_SENSIBLE('ENSEMBLE'),), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), + COMP_THER_NL =FACT(statut='d',max='**', + RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", + into=("THER_NL", + "THER_HYDR", + "SECH_GRANGER", + "SECH_MENSI", + "SECH_BAZANT", + "SECH_NAPPE" + ) ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), - - EQUE_PIQUA =FACT(statut='f', - GROUP_NO =SIMP(statut='o',typ=grno), - E_BASE =SIMP(statut='o',typ='R' ), - DEXT_BASE =SIMP(statut='o',typ='R' ), - L_BASE =SIMP(statut='o',typ='R' ), - L_CHANF =SIMP(statut='o',typ='R' ), - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), - H_SOUD =SIMP(statut='o',typ='R' ), - ANGL_SOUD =SIMP(statut='o',typ='R' ), - JEU_SOUD =SIMP(statut='o',typ='R' ), - E_CORP =SIMP(statut='o',typ='R' ), - DEXT_CORP =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='o',typ='R' ), - RAFF_MAIL =SIMP(statut='o',typ='TXM' ), - X_MAX =SIMP(statut='o',typ='R' ), + EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_ther), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - ORIE_PEAU_2D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + INCREMENT =FACT(statut='f', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + NUME_INIT =SIMP(statut='f',typ='I'), + NUME_FIN =SIMP(statut='f',typ='I'), ), - ORIE_PEAU_3D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + TEMP_INIT =FACT(statut='f', + regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), + STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), + EVOL_THER =SIMP(statut='f',typ=evol_ther), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + VALE =SIMP(statut='f',typ='R'), + NUME_INIT =SIMP(statut='f',typ='I'), ), - ORIE_SHB8 =FACT(statut='f',max=1, - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + NEWTON =FACT(statut='d', + REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), ), - ORIE_NORM_COQUE =FACT(statut='f',max='**', - regles=(EXCLUS('NOEUD','GROUP_NO'), - PRESENT_PRESENT('NOEUD','VECT_NORM'), - PRESENT_PRESENT('GROUP_NO','VECT_NORM'),), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - VECT_NORM =SIMP(statut='f',typ='R',max=3), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), + CONVERGENCE =FACT(statut='d', + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), ), - b_modele =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)", - MODELE =SIMP(statut='o',typ=modele_sdaster ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters", ), - PLAQ_TUBE =FACT(statut='f', - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Parametres relatifs a la non inversibilité de la matrice a factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I' ,defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R' ,defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I' ,defaut= 0 ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ), - TUBE_COUDE =FACT(statut='f', - ANGLE =SIMP(statut='o',typ='R' ), - R_CINTR =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ), + ARCHIVAGE =FACT(statut='f', + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),), + LIST_ARCH =SIMP(statut='f',typ=(listis_sdaster) ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + PAS_ARCH =SIMP(statut='f',typ='I'), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',into=("VARI",)), ), - 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=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), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2, + into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 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. +# ====================================================================== +THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, + fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" + +" stationnaire avec chargement mobile", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='c',typ=cara_elem ), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_ther ), + FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - MODI_BASE =FACT(statut='f', - VECT_X =SIMP(statut='o',typ='R',min=2,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), + TEMP_INIT =FACT(statut='f', + EVOL_THER =SIMP(statut='f',typ=evol_ther ), + NUME_INIT =SIMP(statut='f',typ='I',defaut= 0 ), ), - ECHELLE =SIMP(statut='f',typ='R',), - TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), - ROTATION =FACT(statut='f',max='**', - POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), - ANGL =SIMP(statut='o',typ='R',defaut= 0.E+0 ), - regles=(EXCLUS('DIR','POIN_2'),), - POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), - DIR =SIMP(statut='f',typ='R',min=2,max=3), + CONVERGENCE =FACT(statut='d', + CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - SYMETRIE =FACT(statut='f',max='**', - fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", - POINT =SIMP(statut='o',typ='R',min=2,max=3, - fr="Point appartenant à la droite ou au plan."), - AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, - fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), - AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, - fr="2nd vecteur appartenant du plan."), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 05/07/2004 AUTEUR GENIAUT S.GENIAUT + + + +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2003 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 @@ -19276,266 +21398,360 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +def extr_table_prod(TYPE_RESU,**args): + if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r + raise AsException("type de concept resultat non prevu") -MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", +EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Extraire d'une table la matrice de masse généralisée assemblée", + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ), - MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), + TABLE =SIMP(statut='o',typ=table_sdaster), + + NOM_PARA =SIMP(statut='o',typ='TXM'), + + FILTRE =FACT(statut='f',min=1,max='**', + NOM_PARA =SIMP(statut='o',typ='TXM'), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_K =SIMP(statut='f',typ='TXM'),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 28/02/2006 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 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. # ====================================================================== -MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster, - fr=" ",reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'), - PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),), - V_USUR_TUBE =SIMP(statut='f',typ='R',max='**'), - V_USUR_OBST =SIMP(statut='f',typ='R',max='**'), - TABL_USURE =SIMP(statut='f',typ=tabl_post_usur), - INST =SIMP(statut='f',typ='R'), - OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), - GUIDE =SIMP(statut='o',typ=obstacle_sdaster), - CRAYON =SIMP(statut='f',typ=obstacle_sdaster), - R_MOBILE =SIMP(statut='f',typ='R'), - PERCEMENT =SIMP(statut='f',typ='R',defaut=1), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +# RESPONSABLE CAMBIER S.CAMBIER +from Macro.gene_vari_alea_ops import gene_vari_alea_ops,gene_vari_alea_init +GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA", + op_init=gene_vari_alea_init,op=gene_vari_alea_ops, + sd_prod=reel,reentrant='n', + fr="Générer une réalisation d'une variable aléatoire réelle de loi de probabilité donnée (Gamma ou Exponentielle)", + UIinfo={"groupes":("Fonction",)}, + TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), + b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", + VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), + ), + b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + ), + b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1,val_min=0.), + ), + INIT_ALEA =SIMP(statut='f',typ='I'), +) +#& MODIF COMMANDE DATE 11/07/2005 AUTEUR CAMBIER S.CAMBIER # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 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. # ====================================================================== -# RESPONSABLE JMBHH01 J.M.PROIX -def modi_repere_prod(RESULTAT,**args): - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == evol_ther : return evol_ther - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if AsType(RESULTAT) == dyna_harmo : return dyna_harmo - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == mode_flamb : return mode_flamb - if AsType(RESULTAT) == mult_elas : return mult_elas - if AsType(RESULTAT) == base_modale : return base_modale +# RESPONSABLE CAMBIER S.CAMBIER +def gene_matr_alea_prod(MATR_MOYEN,**args ): + if (AsType(MATR_MOYEN) == matr_asse_gene_r ) : return matr_asse_gene_r + if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna raise AsException("type de concept resultat non prevu") -MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Impression des resultats dans un repere cylindrique", - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca, - evol_noli,mult_elas, - evol_ther,base_modale,mode_flamb) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), +GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27, +#sd_prod=matr_asse_gene_r, +sd_prod=gene_matr_alea_prod, + fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique", + reentrant='n', + UIinfo={"groupes":("Matrice",)}, + MATR_MOYEN = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)), + +# cas matrice generalisee + b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)", + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , + fr="coefficient de variation de la matrice a generer" ), + ), +# cas macr_elem_dyna + b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)", + fr="cas macr_elem_dyna (sous-structuratio)", + COEF_VAR_RIGI = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , + fr="coefficient de variation de la matrice de raideur" ), + COEF_VAR_MASS = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , + fr="coefficient de variation de la matrice de masse" ), + COEF_VAR_AMOR = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , + fr="coefficient de variation de la matrice d'amortissement" ),), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), + INIT_ALEA =SIMP(statut='f',typ='I'), +) ; + +#& MODIF COMMANDE DATE 03/04/2006 AUTEUR MCOURTOI M.COURTOIS +# 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. +# ====================================================================== - MODI_CHAM =FACT(statut='o',max='**', - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TYPE_CHAM =SIMP(statut='o',typ='TXM', - into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),), - NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), - b_tors_3d =BLOC(condition = "TYPE_CHAM=='TORS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - ), - DEFI_REPERE =FACT(statut='o', - regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),), - REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR", - into=("UTILISATEUR","CYLINDRIQUE"),), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 11/08/2004 AUTEUR A3BHHAE H.ANDRIAMBOLOLONA +from Macro.lire_table_ops import lire_table_ops + +LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=table_sdaster, + fr="Lecture d'un fichier contenant une table", + UIinfo={"groupes":("Table",)}, + UNITE =SIMP(statut='o',typ='I' ), + FORMAT =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"), + NUME_TABLE =SIMP(statut='f',typ='I',defaut=1), + SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' '), + PARA =SIMP(statut='f',typ='TXM',max='**'), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + ) ; + +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR GALENNE E.GALENNE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 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. # ====================================================================== -def norm_mode_prod(MODE,**args ): - if AsType(MODE) == mode_meca : return mode_meca - if AsType(MODE) == mode_meca_c : return mode_meca_c - if AsType(MODE) == mode_flamb : return mode_flamb - raise AsException("type de concept resultat non prevu") -NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, - fr="Normalisation de modes propres", - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),), - MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), - NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...", - into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ), - NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"), - b_noeud =BLOC(condition = "NOEUD != None", - NOM_CMP =SIMP(statut='o',typ='TXM' ), +from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops + +MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur des lignes de coupe définies" + +" par deux points et un intervalle", + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ), +# extraction des résultats + b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ), ), - AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), - MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", - NOEUD =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ), - SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), - fr="Choix du signe" ), + b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='TEMP' ), ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des param\350tres de sensibilit\351.", - ang="List of sensitivity parameters", + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + regles=(EXCLUS('GROUP_MA','MAILLE'),), + LIGN_COUPE =FACT(statut='o',max='**', + regles=(UN_PARMI('NB_POINTS','GROUP_NO'),), + INTITULE =SIMP(statut='f',typ='TXM',), + GROUP_NO =SIMP(statut='f',typ=grno), + NB_POINTS =SIMP(statut='f',typ='I'), + b_nbpts = BLOC(condition = "NB_POINTS != None", + COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), + COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3), + VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),), ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET + + +#& MODIF COMMANDE DATE 08/11/2005 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 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. # ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", - regles=(UN_PARMI('MATR_RIGI','MODELE'),), - MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, - typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - b_modele =BLOC(condition = "MODELE != None", - CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), - ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), - b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", - RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_mumps =BLOC(condition="METHODE=='MUMPS'",fr="paramètres associés à la méthode MUMPS", - RENUM =SIMP(statut='f',typ='TXM',into=("SANS",),defaut="SANS" ), - ), - b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2)), + +from Macro.macr_recal_ops import macr_recal_ops + +def macr_recal_prod(self,**args ): + return listr8_sdaster + +MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops, + UIinfo={"groupes":("Résultats et champs",)}, + sd_prod=macr_recal_prod, + fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux" + +" ou sur d'autres résultats de calculs", + UNITE_ESCL =SIMP(statut='o',typ='I'), + RESU_EXP =SIMP(statut='o',typ=assd,max='**'), + POIDS =SIMP(statut='f',typ=assd,max='**'), + RESU_CALC =SIMP(statut='o',typ=assd,max='**'), + LIST_PARA =SIMP(statut='o',typ=assd,max='**'), + ITER_MAXI =SIMP(statut='f',typ='I',defaut=10), + RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3), + UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), + PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.001), + GRAPHIQUE =FACT(statut='d', + UNITE =SIMP(statut='f',typ='I',defaut=90), + FORMAT =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT")), + INTERACTIF =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),), + INFO =SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), ) ; -#& MODIF COMMANDE DATE 18/04/2005 AUTEUR NICOLAS O.NICOLAS +#& 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 -# 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. +# 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. # ====================================================================== -NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, - fr="Etablissement de la numérotation des ddl d un modèle établi en coordonnées généralisées", +# RESPONSABLE D6BHHJP J.P.LEFEBVRE +INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, + fr="Récupère différentes informations propres à l'exécution en cours", reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=UN_PARMI('MODELE_GENE','BASE'), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - b_modele_gene =BLOC(condition = "MODELE_GENE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ), - ), - BASE =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ), - b_base =BLOC(condition = "BASE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - ), + UIinfo={"groupes":("Gestion du travail",)}, + + regles=(), + 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 09/05/2005 AUTEUR REZETTE C.REZETTE +#& MODIF COMMANDE DATE 03/01/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX + +from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops + +MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=table_sdaster, + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Calculer les caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section", + regles=(EXCLUS('SYME_X','GROUP_MA_BORD'), + EXCLUS('SYME_Y','GROUP_MA_BORD'),), + + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 20 ), + ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), + fr="Point par rapport auquel sont calculées les inerties"), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + SYME_X =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"), + SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"), + + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"), + + GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), + + b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None", + fr=" calcul des carac. mecaniques", + + NOEUD =SIMP(statut='f',typ=no,max='**', + fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"), + GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="groupes de mailles linéiques bordant des trous dans la section"), + ), + + b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", + fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", + regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), + LONGUEUR =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"), + MATERIAU =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"), + LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), + fr="type de conditions aux limites sur le plancher supérieur" ), + ), + ) +#& MODIF COMMANDE DATE 07/02/2005 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2003 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 @@ -19550,2246 +21766,1137 @@ NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=resultat_sdaster, - reentrant='n',UIinfo={"groupes":("Post traitements",)}, - fr="expression des champs DEPL et SIEF_ELGA sur le maillage fissuré", - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - MODELE = SIMP(statut='o',typ=modele_sdaster,), - RESULTAT = SIMP(statut='o',typ=resultat_sdaster), - NOM_CHAM = SIMP(statut='o',typ='TXM',into=("DEPL","SIEF_ELGA"),) -); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea, - fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers", - reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), - INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ), - NOEUD_I =SIMP(statut='f',typ=no,max='**'), - OPTION =SIMP(statut='f',typ='TXM',into=("DIAG",) ), - b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ), - ), - b_noeud_i =BLOC(condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max='**'), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ), - ), - DEPASSEMENT =FACT(statut='f',max='**', - fr="Loi de dépassement d un seuil pendant une durée donnée", - regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), - VALE_MIN =SIMP(statut='f',typ='R' ), - VALE_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - DUREE =SIMP(statut='f',typ='R',defaut= 1. ), - ), - RAYLEIGH =FACT(statut='f',max='**', - fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite", - regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), - VALE_MIN =SIMP(statut='f',typ='R' ), - VALE_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - ), - GAUSS =FACT(statut='f',max='**', - fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande", - regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), - VALE_MIN =SIMP(statut='f',typ='R' ), - VALE_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - ), - VANMARCKE =FACT(statut='f',max='**', - fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)", - regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), - VALE_MIN =SIMP(statut='f',typ='R' ), - VALE_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - DUREE =SIMP(statut='f',typ='R',defaut= 10. ), - ), - MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ), - 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 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna, - fr="Post-traitements en coordonnées généralisées issus de DYNA_TRAN_MODAL", - reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), - RESU_GENE =SIMP(statut='o',typ=tran_gene ), - CHOC =FACT(statut='f',max='**', - fr="Analyse des non linéarités de choc", - INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), - INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ), - NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ), - ), - RELA_EFFO_DEPL =FACT(statut='f', - fr="Analyse des relationsnon linéaires effort-déplacement", - NOEUD =SIMP(statut='o',typ=no), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - ), - 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 -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -# RESPONSABLE G8BHHXD X.DESROCHES -def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,TRAV_EXT,WEIBULL, - CARA_GEOM,CARA_POUTRE,RICE_TRACEY,CHAR_LIMITE, - INDIC_ENER,INDIC_SEUIL,ENER_ELAS,ENER_TOTALE, - AIRE_INTERNE,**args ): - if MASS_INER != None : return tabl_mass_iner - if ENER_POT != None : return tabl_ener_pot - if ENER_CIN != None : return tabl_ener_cin - if TRAV_EXT != None : return tabl_trav_ext - if WEIBULL != None : return tabl_weibull - if CARA_GEOM != None : return tabl_cara_geom - if CARA_POUTRE != None : return tabl_cara_geom - if RICE_TRACEY != None : return tabl_rice_tracey - if CHAR_LIMITE != None : return tabl_char_limite - if INDIC_ENER != None : return tabl_indic_ener - if INDIC_SEUIL != None : return tabl_indic_seuil - if ENER_ELAS != None : return tabl_ener_elas - if ENER_TOTALE != None : return tabl_ener_totale - if AIRE_INTERNE != None : return tabl_aire_int - raise AsException("type de concept resultat_sdaster non prevu") - -POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", - regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT', - 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE', - 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL', - 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'), - ), +from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops - MASS_INER = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), - ), - b_mass_iner = BLOC(condition = "( MASS_INER != None )", - fr="calcul de la masse, les inerties et le centre de gravité", - regles=(EXCLUS('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")), - CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas, - fourier_elas,dyna_trans) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',), - NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), - NOM_CAS = SIMP(statut='f',typ='TXM',), - ), +MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL", + op=macr_cabri_mail_ops, + sd_prod=maillage_sdaster, + fr="maillage d'une jonction boulonnée de tuyauterie", + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + EXEC_MAILLAGE = FACT(statut='o', + LOGICIEL = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),), + UNITE_DATG = SIMP(statut = 'f',typ='I',defaut=70,), + UNITE_MGIB = SIMP(statut = 'f',typ='I',defaut=19,), + NIVE_GIBI = SIMP(statut = 'f',typ='I',defaut=10, + into = (3,4,5,6,7,8,9,10,11), + ), + ), + RAFF_MAILLAGE = FACT(statut = 'd', + NB_RADIAL = SIMP(statut = 'f',typ='I',defaut=2,), + NB_CIRCONF = SIMP(statut = 'f',typ='I',defaut=3,), + NB_VERTICAL = SIMP(statut = 'f',typ='I',defaut=6,), + NB_ALESAGE = SIMP(statut = 'f',typ='I',defaut=5,), + ), + VERI_MAIL = FACT(statut='d', + VERIF = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + APLAT = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + GEOM_BRID = FACT(statut = 'o', + NORME = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),), + b_bride_iso = BLOC(condition = "NORME == 'OUI'", + TYPE = SIMP(statut='o',typ='TXM', + into=('A','AA','B','B1','C','D','D1','E','F', + 'FF','G','GG','H','H1','I','J','J1', + 'K','L','L1','M','N','O','P','S','T','W'), + ), + ), + b_bride_niso = BLOC(condition = "NORME == 'NON'", + TUBU_D_EXT = SIMP(statut='o',typ='R',), + TUBU_H = SIMP(statut='o',typ='R',), + BRID_D_EXT = SIMP(statut='o',typ='R',), + BRID_D_INT = SIMP(statut='o',typ='R',), + BRID_H = SIMP(statut='o',typ='R',), + BRID_D_CONGE = SIMP(statut='o',typ='R',), + BRID_R_CONGE = SIMP(statut='o',typ='R',), + BRID_D_EPAUL = SIMP(statut='o',typ='R',), + BRID_H_EPAUL = SIMP(statut='o',typ='R',), + BRID_D_ALESAG = SIMP(statut='o',typ='R',), + BRID_P_ALESAG = SIMP(statut='o',typ='R',), + BRID_H_ALESAG = SIMP(statut='o',typ='R',), + GOUJ_N_GOUJON = SIMP(statut='o',typ='I',), + GOUJ_D_GOUJON = SIMP(statut='o',typ='R',), + GOUJ_E_FILET = SIMP(statut='o',typ='R',), + GOUJ_D_RONDEL = SIMP(statut='o',typ='R',), + GOUJ_E_RONDEL = SIMP(statut='o',typ='R',), + GOUJ_D_ECROU = SIMP(statut='o',typ='R',), + GOUJ_E_ECROU = SIMP(statut='o',typ='R',), + ETAN_E_JOINT = SIMP(statut='o',typ='R',), + ), + ), + IMPRESSION = FACT(statut='d', + UNITE = SIMP(statut='f',typ='I'), + FORMAT = SIMP(statut='f',typ='TXM',defaut="ASTER", + into=("ASTER","CASTEM","IDEAS"), + ), + b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'", + NIVE_GIBI = SIMP(statut='f',typ='I',defaut=10,into=(3,10),), + ), + b_impr_ideas = BLOC(condition = "FORMAT == 'IDEAS'", + VERSION = SIMP(statut='f',typ='I',defaut=5,into=(4,5),), + ), + ), + ); - ENER_POT = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_pot = BLOC(condition = "( ENER_POT != None )", - fr="calcul de l'énergie potentielle de déformation", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), +#& MODIF COMMANDE DATE 16/05/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 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. +# ====================================================================== +#& RESPONSABLE +DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 70,sd_prod=evol_noli,reentrant='f',UIinfo={"groupe":("Résolution",)}, + fr="Calcul de l'évolution dynamique d'une structure dont la géométrie ou le matériau ont un comportement" + +" non linéaire, par une méthode explicite sur les accélérations ", + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),UN_PARMI('DIFF_CENT','TCHAMWA'),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + MASS_DIAG =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + EXCIT =FACT(statut='o',max='**', + regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), + ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + CHARGE =SIMP(statut='o',typ=char_meca), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), ), - - ENER_CIN = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - OPTION = SIMP(statut='f',typ='TXM', - into=("MASS_MECA","MASS_MECA_DIAG"), - defaut="MASS_MECA" ), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_cin = BLOC(condition = "( ENER_CIN != None )", - fr="calcul de l'énergie cinétique", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + AMOR_MODAL =FACT(statut='f', + MODE_MECA =SIMP(statut='o',typ=mode_meca), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - - ENER_ELAS = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", - fr="calcul de l'énergie de déformation élastique", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + PROJ_MODAL =FACT(statut='f',max='**', + MODE_MECA =SIMP(statut='o',typ=mode_meca), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), + MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), ), - - ENER_TOTALE = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", - fr="calcul de l'énergie de déformation totale", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + EXCIT_GENE =FACT(statut='f', + FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), + VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), ), - - WEIBULL = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM', - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - COEF_MULT = SIMP(statut='f',typ='R',defaut=1.), - ), - b_weibull = BLOC(condition = "( WEIBULL != None )", - fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',max='**', + RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", + into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", + "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")), + ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_HYPER =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), +#------------------------------------------------------------------- + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','ACCE'), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), + VARI =SIMP(statut='f',typ=cham_elem), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_sdaster), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), +#------------------------------------------------------------------- + INCREMENT =FACT(statut='o', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", + into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), + NUME_INST_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + NUME_INST_FIN =SIMP(statut='f',typ='I'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',), + NOM_CMP =SIMP(statut='f',typ='TXM',), + VALE =SIMP(statut='f',typ='R'), ), - - RICE_TRACEY = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM', - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )", - fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), +#------------------------------------------------------------------- + DIFF_CENT =FACT(statut='f', ), - - INDIC_ENER = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + TCHAMWA =FACT(statut='f', + PHI =SIMP(statut='f',typ='R',defaut= 1.05), ), - - INDIC_SEUIL = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + NEWTON =FACT(statut='c', + 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), ), - - CHAR_LIMITE = FACT(statut='f',min=0, - CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") - ), - b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", - fr="post-traitement du calcul de la charge limite", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 1. ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), + ), + b_gcpc =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), - - CARA_GEOM = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), - ), - b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", - fr="calcul des caractéristiques géométriques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), +#------------------------------------------------------------------- + RECH_LINEAIRE =FACT(statut='c', + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), + PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), ), - - CARA_POUTRE = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CARA_GEOM = SIMP(statut='f',typ=tabl_cara_geom), - RT = SIMP(statut='f',typ='R'), - LAPL_PHI = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), - LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), - LONGUEUR = SIMP(statut='f',typ='R'), - MATERIAU = SIMP(statut='f',typ=mater_sdaster), - OPTION = SIMP(statut='f',typ='TXM', - into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), - ), - b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", - fr="calcul des caractéristiques mécaniques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + PILOTAGE =FACT(statut='c', + regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ETA_PILO_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_MIN =SIMP(statut='f',typ='R'), + ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), + PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), + ), + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), + RESI_INTE_RELA =SIMP(statut='f',typ='R' + ,defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), ), +#------------------------------------------------------------------- + AFFICHAGE = FACT(statut='f',max=16, - AIRE_INTERNE = FACT(statut='f',max='**', - GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + UNITE = SIMP(statut='f',typ='I',val_min=1), + + LONG_R = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12), + PREC_R = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8), + LONG_I = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12), + + NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD", + into=("STANDARD","MINIMUM", + "ITER_NEWT", + "INCR_TPS", + "RESI_RELA","RELA_NOEU", + "RESI_MAXI","MAXI_NOEU", + "RESI_REFE","REFE_NOEU", + "RELI_ITER","RELI_COEF", + "PILO_PARA", + "LAGR_ECAR","LAGR_INCR","LAGR_ITER", + "MATR_ASSE", + "ITER_DEBO", + "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU", + "CTCC_GEOM","CTCC_FROT","CTCC_CONT", + "SUIV_1","SUIV_2","SUIV_3","SUIV_4", + ), ), - b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", - fr="calcul de l'aire d'un trou dans un maillage 2D", - MODELE = SIMP(statut='f',typ=modele_sdaster), + b_residu = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \ + NOM_COLONNE == 'RESI_MAXI' or\ + NOM_COLONNE == 'RESI_REFE' or\ + NOM_COLONNE == 'CTCD_GEOM' or\ + NOM_COLONNE == 'STANDARD' ", + INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + ), + ), +#------------------------------------------------------------------- + ARCHIVAGE =FACT(statut='f', + regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), + EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), + NUME_INIT =SIMP(statut='f',typ='I'), + DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")), ), + OBSERVATION =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - TRAV_EXT = FACT(statut='f',), - b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", - fr="calcul du travail des efforts extérieurs", - RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), +into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PAS_OBSE =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POINT =SIMP(statut='f',typ='I' ,max='**'), ), - - 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 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire", - regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), - PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'), - UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ), - MOMENT_SPEC_0 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_2 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_4 =SIMP(statut='f',typ='R'), - TABL_POST_ALEA =SIMP(statut='f',typ=tabl_post_alea), - COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")), - DUREE =SIMP(statut='f',typ='R',defaut= 1.), - CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)), - MATER =SIMP(statut='o',typ=mater_sdaster), - TITRE =SIMP(statut='f',typ='TXM',max='**'), +#------------------------------------------------------------------- + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + ), + LAGR_NON_LOCAL =FACT(statut='f', + ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), + RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), + RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), + R =SIMP(statut='f',typ='R',defaut= 1000.), + ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + ), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 07/10/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2003 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. # ====================================================================== -POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - fr="Calcul du dommage subi par une structure soumise à une histoire de chargement", - CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")), +from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops + +def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER, + CHAR_THER,CHAR_MECA,RESU_THER,**args): + if MODELE_THER != None: + self.type_sdprod(MODELE_THER,modele_sdaster) + if MODELE_MECA != None: + self.type_sdprod(MODELE_MECA,modele_sdaster) + if RESU_THER != None: + self.type_sdprod(RESU_THER,evol_ther) + if CHAM_MATER != None: + self.type_sdprod(CHAM_MATER,cham_mater) + if CHAR_THER != None: + for m in CHAR_THER: + self.type_sdprod(m['CHARGE'],char_ther) + if CHAR_MECA != None: + for m in CHAR_MECA: + self.type_sdprod(m['CHARGE'],char_meca) + return evol_noli - b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'", - regles=(PRESENT_PRESENT('CORR_KE','MATER'), - PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), - PRESENT_PRESENT('DOMMAGE','MATER'),), - HISTOIRE = FACT(statut='o', - regles=(UN_PARMI('SIGM','EPSI'),), - SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT = FACT(statut='f', - KT = SIMP(statut='o',typ='R'),), - CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", - "TAHERI_MANSON","TAHERI_MIXTE")), - MATER = SIMP(statut='f',typ=mater_sdaster), - CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), - TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), - TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), - b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'", - HISTOIRE = FACT(statut='o', - SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - CRITERE = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER",)), - MATER = SIMP(statut='o',typ=mater_sdaster), - COEF_CORR = SIMP(statut='f',typ='R'), - ), +MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC", + op=macr_cabri_calc_ops, + sd_prod=macr_cabri_calc_prod, + fr="Calcul thermo-mécanique d'une jonction boulonnée de tuyauterie", + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,), + AFFE_MATERIAU = FACT(statut='o',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA',),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ='TXM',into=( + "BRIDE", + "GOUJON", + "ROND", + "ECROU", + "JOINT",) ), + MATER = SIMP(statut='o',typ=mater_sdaster), + TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ), + ), + CHAM_MATER = SIMP(statut = 'f',typ=CO,), + MODELE_THER= SIMP(statut = 'f',typ=CO,), + + DEFI_CHAR_THER = FACT(statut ='d', + TEMP_INIT = SIMP(statut='d',typ='R',defaut= 25.,), + COEF_H_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + COEF_H_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + TEMP_EXT_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CHAR_THER = FACT(statut = 'f',max=4, + CHARGE = SIMP(statut='o',typ=CO), + TYPE = SIMP(statut='o',typ='TXM', + into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON", + "BRIDE_JOINT"),) + ), - b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", - HISTOIRE = FACT(statut='o', - SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), - MATER = SIMP(statut='o',typ=mater_sdaster), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), + RESU_THER = SIMP(statut = 'f',typ=CO,), + + + MODELE_MECA= SIMP(statut = 'f',typ=CO,), + + DEFI_CHAR_MECA = FACT(statut='o', + PRETENS = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + PRES_REP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + EFFE_FOND = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + ), + + CHAR_MECA = FACT(statut = 'f',max=11, + CHARGE = SIMP(statut='o',typ=CO), + TYPE = SIMP(statut='o',typ='TXM', + into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT", + "BLOC_LAT_ALES","BLOC_LAT_NALES", + "PLAN_TUBE", + "PRES_FLU","EFFET_FOND", + "CONT_JOINT", + "DEFO_THER", + "SERR_ECROU_1","SERR_ECROU_2",),) + ), + + RELATION = SIMP(statut='f',typ='TXM', + into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),), + + SOLVEUR = FACT(statut='d', + METHODE = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ), + b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", + fr="Paramètres de la méthode multi frontale", + RENUM = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + NPREC = SIMP(statut='d',typ='I',defaut=8), + STOP_SINGULIER = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + ), + INCREMENT = FACT(statut='f', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", + into=("CHRONOLOGIQUE",) ), + NUME_INST_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + NUME_INST_FIN =SIMP(statut='f',typ='I'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',), + NOM_CMP =SIMP(statut='f',typ='TXM',), + VALE =SIMP(statut='f',typ='R'), + ), + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ), + 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), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("IMPLICITE",)), + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ), + ); - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 01/02/2005 AUTEUR GALENNE E.GALENNE +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2003 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. # ====================================================================== -# RESPONSABLE GALENNE E.GALENNE - -POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k, - fr="Calcul des FIC par extrapolation du champ de déplacements sur les lèvres de la fissure", - reentrant='n', - UIinfo={"groupes":("Post traitements",)}, +CREA_TABLE=OPER(nom="CREA_TABLE",op= 36,sd_prod=table_sdaster, + fr="Création d'une table à partir d'une fonction ou de deux listes", + reentrant='f',UIinfo={"groupes":("Table",)}, - regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'), - PRESENT_PRESENT('RESULTAT','FOND_FISS'),), + regles=(EXCLUS('FONCTION','LISTE'),), - MODELISATION =SIMP(statut='o',typ='TXM', - into=("3D","AXIS","D_PLAN","C_PLAN"), - fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - b_fond_fiss =BLOC (condition="(FOND_FISS!= None)", - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ) - ), - MATER =SIMP(statut='o',typ=mater_sdaster, - fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli), - fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"), - TABL_DEPL_SUP =SIMP(statut='f',typ=tabl_post_rele, - fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"), - TABL_DEPL_INF =SIMP(statut='f',typ=tabl_post_rele, - fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"), - ABSC_CURV_MAXI=SIMP(statut='f',typ='R', - fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"), - PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - VECT_K1 =SIMP(statut='o',typ='R',max=3, - fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"), - TITRE =SIMP(statut='f',typ='TXM',max='**'), + LISTE=FACT(statut='f',max='**', + fr="Creation d'une table a partir de listes", + regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), + PARA =SIMP(statut='o',typ='TXM'), + TYPE_K =SIMP(statut='f',typ='TXM',defaut='K8', + into=('K8','K16','K24')), + NUME_LIGN=SIMP(statut='f',typ='I',max='**'), + LISTE_I =SIMP(statut='f',typ='I',max='**'), + LISTE_R =SIMP(statut='f',typ='R',max='**'), + LISTE_K =SIMP(statut='f',typ='TXM', max='**'), + ), + FONCTION=FACT(statut='f', + fr="Creation d'une table a partir d'une fonction", + FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)), + PARA=SIMP(statut='f',typ='TXM',min=2,max=2), + ), + b_fonction = BLOC(condition='FONCTION != None', + regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(), + DERIVABLE('FONCTION'),), + SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + ), + TITRE=SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE + + + +#& MODIF COMMANDE DATE 04/10/2005 AUTEUR REZETTE C.REZETTE # 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. +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS + +from Macro.macr_fiabilite_ops import macr_fiabilite_ops + +# +#==== +# 1. Le retour : une liste de rééls. +#==== +# +def macr_fiabilite_prod ( self , **args ): + return listr8_sdaster +# +#==== +# 2. L'entete +#==== +# +MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, + docu="U7.03.31",UIinfo={"groupe":("Post traitements",)}, + sd_prod=macr_fiabilite_prod, + fr="Calcule les probabiltés de dépassement de seuil (mécanique de fiabilité).", + ang="Fiability mechanics.", +# +#==== +# 3. Le niveau d'information +#==== +# + INFO = SIMP(statut="f",typ="I",defaut=1,into=(1,2)), +# +#==== +# 4. Nom et Version du logiciel de fiabilité +#==== +# + LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO", + into=("MEFISTO",), + fr="Nom du logiciel de fiabilité.", + ang="Fiability software name."), +# + VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2", + into=("V3_2", "V3_N"), + fr="Version du logiciel de fiabilité.", + ang="Fiability software release."), +# +#==== +# 5. Les entrees-sorties du calcul ASTER déterministe +#==== +# +# 5.1. ==> Le jeu de commandes déterministe +# + UNITE_ESCL = SIMP(statut="o",typ="I", + fr="Unité logique associée aux commandes du calcul ASTER déterministe.", + ang="Logical unit for the commands of the ASTER deterministic calculation."), +# +# 5.2. ==> Le destin des messages produits par ASTER +# + MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER", + into=("AUCUN", "DERNIER", "TOUS"), + fr="Quels messages ASTER récupérer.", + ang="Which ASTER messages must be kept."), +# +#==== +# 6. Options +#==== +# 6.1. ==> Générales +# +# 6.1.1. ==> La valeur du seuil +# + SEUIL = SIMP(statut="o",typ="R",max=1, + fr="Le seuil de défaillance.", + ang="Failure threshold."), +# +# 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que +# la défaillance a lieu au dessus d'un seuil maximum ou +# en dessous d'un seuil minimum +# + SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1, + into=("MINIMUM","MAXIMUM"), + fr="Que faut-il ne pas dépasser : un maximum ou un minimum.", + ang="What is the failure threshold : maximum or minimum."), +# +# 6.2. ==> Pour MEFISTO +# +### en attente de résolution de AL 2004-006 (1/2) b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'", +# +# 6.2.1. ==> Pilotage de la recherche du point de conception +# + RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI", + into=("OUI","NON"), + fr="Pour trouver le point de conception.", + ang="To find the design point."), +# + b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'", +# + EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Précision du test d'arret sur les points itératifs dans l'espace standard.", + ang="Precision of stop test for iterative points in standard space."), +# + EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Précision du test d'arret sur la proximité de la surface d'état limite.", + ang="Precision of stop test for limit state surface."), +# + TAU = SIMP(statut="f",typ="R",defaut=5.0E-1, + fr="Paramètre de la méthode de minimisation.", + ang="Parameter for the minimization method."), +# + OMEGA = SIMP(statut="f",typ="R",defaut=1.0E-4, + fr="Paramètre de la méthode de minimisation.", + ang="Parameter for the minimization method."), +# + ITER_MAX = SIMP(statut="f",typ="I",defaut=50, + fr="Nombre maximum d'itérations.", + ang="Maximum number of iterations."), + ), +# +# 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance +# + METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec la méthode FORM.", + ang="Research of failure probability with FORM method."), +# + METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec la méthode SORM.", + ang="Research of failure probability with SORM method."), +# + TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec le tirage d'importance.", + ang="Research of failure probability with ."), +# + b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'", +# + NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3, + fr="Nombre de simulations pour le tirage d'importance.", + ang="Number of simulation for."), # -# 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. -# -# -# ====================================================================== +# 6.2.3. ==> Création d'une surface de réponse polynomiale # -POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=tabl_post_beta, - fr="Calcul des FIC par la méthode K_BETA", - reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - MATER_REV = SIMP(statut='o',typ=mater_sdaster), - EPAIS_REV = SIMP(statut='o',typ='R'), - FISSURE = FACT(statut='o', - DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), - PROFONDEUR = SIMP(statut='o',typ='R'), - LONGUEUR = SIMP(statut='o',typ='R'), - ORIENTATION = SIMP(statut='o',typ='TXM', - into=("CIRC","LONGI"),), - ), - K1D = FACT(statut='o',max='**', - TABL_MECA_REV = SIMP(statut='o',typ=(tabl_post_rele)), - TABL_MECA_MDB = SIMP(statut='o',typ=(tabl_post_rele)), - TABL_THER = SIMP(statut='o',typ=(tabl_post_rele)), - INTITULE = SIMP(statut='o',typ='TXM' ), - ), - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); -#& MODIF COMMANDE DATE 09/05/2005 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, - reentrant='n',UIinfo={"groupes":("Maillage",)}, - fr="maillage fissuré pour le post-traitement des éléments XFEM", - MODELE = SIMP(statut='o',typ=modele_sdaster), - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); -#& MODIF COMMANDE DATE 21/03/2005 AUTEUR CIBHHLV L.VIVAN -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + POLYNOME_TAYLOR = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),), + HGRAD = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Pas incrémental pour le calcul des gradients.", + ang="Step for calculation of gradients."), + HHESS = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Pas incrémental pour le calcul des dérivées secondes.", + ang="Step for calculation of second derivatives."), # -# 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 PARTIC +# 6.2.4. ==> Recherche d'un plan d'expérience # -# 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. -# ====================================================================== -# RESPONSABLE JMBHH01 J.M.PROIX -POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm, - fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)", - reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), - -# ====================================================================== - b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE_ZH210") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - - TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", - regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),), - NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, - fr="nombre d occurences réelles de ce transitoire" ), - TABL_RESU_MECA =SIMP(statut='o',typ=table_sdaster, - fr="relevé des contraintes sur le chemin"), - TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, - fr="résultat sous chargement thermique seul" ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - ), - ), - ), - -# ====================================================================== - b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), - FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), - FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), - FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), - MX =SIMP(statut='o',typ='R',fr="moment suivant x", ), - MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), - MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), - ), - RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", - TABL_FX =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX"), - TABL_FY =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY"), - TABL_FZ =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ"), - TABL_MX =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX"), - TABL_MY =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY"), - TABL_MZ =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ"), - TABL_PRES =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire de pression"), - ), - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes sous chargement thermique seul" ), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - ), -# ====================================================================== - b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", - - OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - regles=(UN_PARMI('CHAM_GD','RESULTAT'),), - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - b_extrac =BLOC(condition="RESULTAT != None", - fr="extraction d un champ de grandeur", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',), - INST =SIMP(statut='f',typ='R',), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - b_acce_reel =BLOC(condition="(INST != None)", - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ), - ), - ), - ), - INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), - K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), - C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), - K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), - C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), - K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', - fr="liste des mailles ou sont affectés les indices de contraintes"), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), - fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), - ), - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des températures sur la section"), - TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des moyennes sur la section"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - ), -) ; -#& MODIF COMMANDE DATE 07/10/2004 AUTEUR GNICOLAS G.NICOLAS -# ====================================================================== -# CONFIGURATION MANAGEMENT OF EDF VERSION -# COPYRIGHT (C) 1991 - 2001 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. + PLAN_EXPERIENCE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Construction d'un plan d'expérience.", + ang="Construction of an experiment plan."), +# + b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'", +# + ALPHA = SIMP(statut="f",typ="R",defaut=2.0E-1, + fr="Plan d'expérience : maille du plan de type composite centré.", + ang="Experiment plane : mesh centered composite."), +# + BETA = SIMP(statut="f",typ="R",defaut=4.0E-1, + fr="Plan d'expérience : maille du plan de type factoriel.", + ang="Experiment plane : mesh factor."), # -# 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. -# ====================================================================== -# RESPONSABLE G8BHHXD X.DESROCHES -POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - ACTION =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), - EXCLUS('CHEMIN','GROUP_NO'), - EXCLUS('CHEMIN','NOEUD'), - PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'), - UN_PARMI('RESULTAT','CHAM_GD'), - UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'), - PRESENT_PRESENT('TRAC_DIR','DIRECTION'), - ENSEMBLE('MOMENT','POINT'), - PRESENT_PRESENT('MOMENT','RESULTANTE'), - PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), - EXCLUS('TRAC_DIR','TRAC_NOR'), - PRESENT_PRESENT('ORIGINE','AXE_Z'),), - INTITULE =SIMP(statut='o',typ='TXM'), - CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), - CHAM_GD =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r, - cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r, - cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur, - cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c, - cham_elem_sief_c,cham_elem_epsi_c,cham_no_facy_r)), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans, - mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, - mult_elas,fourier_elas,dyna_harmo,acou_harmo)), - b_sensibilite =BLOC(condition="RESULTAT != None", - fr="Définition des paramètres de sensibilité", - ang="Definition of sensitivity parameters", - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters"),), - - b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE', - 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ), - NOM_CHAM =SIMP(statut='o',typ='TXM' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - ), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)), - ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ), - RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), - MOMENT =SIMP(statut='f',typ='TXM',max='**'), - POINT =SIMP(statut='f',typ='R',max='**'), - - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", - into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), - ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), - ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), - - TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), - TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - - VECT_Y =SIMP(statut='f',typ='R',max='**'), - MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE"),validators=NoRepeat(),max=2), - ), - 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 -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 6.2.5. ==> Les tests +# 6.2.5.1. ==> Test de la sphere # -# 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. + T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test de la sphère.", + ang="Sphere test."), # -# 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. -# ====================================================================== -POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli, - fr=" ",reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - DEF_EQUI =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="UTO_2_3", - into=("UTO_2_3",) ), - EPAIS =SIMP(statut='o',typ='R'), - LONG_FISS =SIMP(statut='o',typ='R'), - LONG_LIGA_INT =SIMP(statut='o',typ='R'), - DEXT =SIMP(statut='o',typ='R'), - TEMP_ANALYSE =SIMP(statut='f',typ='R'), - ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'", # -# 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. + METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE", + into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"), + fr="Type de méthode.", + ang="Method."), # -# 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. -# ====================================================================== -POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - fr="Calcul des volumes d'usure et des profondeurs d'usure", - regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), - PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), - PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), - TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ETAT_INIT =FACT(statut='f', - TABL_USURE =SIMP(statut='f',typ=tabl_post_usur), - INST_INIT =SIMP(statut='f',typ='R'), - ), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - NOEUD =SIMP(statut='f',typ=no,), - INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), - INST_FIN =SIMP(statut='f',typ='R'), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - PUIS_USURE =SIMP(statut='f',typ='R'), - LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), - b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", - regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - SECTEUR =FACT(statut='f',max='**', - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - COEF_USUR_MOBILE=SIMP(statut='f',typ='R'), - COEF_USUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INIT =SIMP(statut='f',typ='R'), - ANGL_FIN =SIMP(statut='f',typ='R'), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R'), - COEF_VTAN =SIMP(statut='f',typ='R'), - COEF_USURE =SIMP(statut='f',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - OBSTACLE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R' ), - COEF_VTAN =SIMP(statut='f',typ='R' ), - COEF_USURE =SIMP(statut='o',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - FNOR_MAXI =SIMP(statut='f',typ='R' ), - VTAN_MAXI =SIMP(statut='f',typ='R' ), - ), - b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'", - TABL_USURE =SIMP(statut='o',typ=tabl_post_usur), - INST =SIMP(statut='f',typ='R'), - ), - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - RAYON_MOBILE =SIMP(statut='f',typ='R'), - RAYON_OBST =SIMP(statut='f',typ='R'), - LARGEUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INCLI =SIMP(statut='f',typ='R'), - ANGL_ISTHME =SIMP(statut='f',typ='R'), - ANGL_IMPACT =SIMP(statut='f',typ='R'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + NB_POINT = SIMP(statut="f",typ="I",max=1,defaut=60, + fr="Nombre de points de la sphere.", + ang="Number of points over the sphere.") + ), # -# 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. +# 6.2.5.2. ==> Test du maximum fort # -# 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. -# ====================================================================== -POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_meca), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)), - ), - EVOL_ELAS =SIMP(statut='o',typ=evol_elas), - b_evol_elas =BLOC(condition="EVOL_ELAS != None", - regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - ), - TEMP_ZAC =SIMP(statut='f',typ='R',defaut=0.0E+0), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - b_evol_noli =BLOC(condition="EVOL_NOLI != None", - INST_MAX =SIMP(statut='o',typ='R'), - ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - -) ; -#& MODIF COMMANDE DATE 22/03/2005 AUTEUR D6BHHJP J.P.LEFEBVRE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test du maximum fort.", + ang="Strong maximum test."), # -# 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. + b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'", # -# 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. -# ====================================================================== -POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude", - sd_prod = ops.POURSUITE, - UIinfo={"groupes":("Gestion du travail",)}, - op_init = ops.POURSUITE_context,fichier_ini = 1, - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - BASE =FACT(fr="définition des parmètres associés aux bases JEVEUX", - statut='f',min=1,max=3, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - IMPRESSION =FACT(statut='f',min=1,max=3, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='o',typ='I'), - ), - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TES',)), - ), - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1, - GESTION =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'), - TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1), - TAILLE =SIMP(statut='f',typ='I'), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - PARTITION =SIMP(statut='f',typ='R' ), - ), - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), - VALE =SIMP(statut='f',typ='I',val_min=0), - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur en pourcentage du temps maximum bornée à 180 secondes - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) - ), - CODE =FACT("définition d un nom pour l'esemble d'une étude", - statut='f',min=1,max=1, - NOM =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I',defaut=15), - ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0, + fr="Cosinus de l'angle d'exclusion.", + ang="Cosine of angle of exclusion."), # -# 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. + DPROB = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1, + fr="Fraction d'iso-densité de probabilité de défaillance.", + ang="Fraction.") # -# 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. -# ====================================================================== -PRE_GIBI=PROC(nom="PRE_GIBI",op=49, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d un fichier de maillage GIBI", - UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 6.2.5.3. ==> Test du hessien # -# 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. -# ====================================================================== - -PRE_GMSH=PROC(nom="PRE_GMSH",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d un fichier universel GMSH au format Aster", - UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test du hessien.", + ang="Hessian test."), # -# 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. +# 6.2.6. ==> Les correlations entre les variables # -# 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. -# ====================================================================== -PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster", - UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), - CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + MATRICE = SIMP(statut="f",typ="R",max="**", + fr="Matrice de corrélation entre les variables.", + ang="Correlation matrix."), # -# 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. +### en attente de résolution de AL 2004-006 (2/2) ), # -# 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. -# ====================================================================== -def prod_matr_cham_prod(MATR_ASSE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return cham_no_depl_c - if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r - if AsType(MATR_ASSE) == matr_asse_pres_c : return cham_no_pres_c - raise AsException("type de concept resultat non prevu") - -PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod, - fr="Effectuer le produit d une matrice par un vecteur", - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ), - 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 21/03/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +#==== +# 7. Definition des paramètres +#==== # -# 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. + VARIABLE = FACT(statut="o",min=1,max="**", # -# 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. -# ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ): - if AsType(RESULTAT) == evol_ther : return evol_ther - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == evol_char : return evol_char - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == mode_stat_depl : return mode_stat_depl - if AsType(RESULTAT) == base_modale : return base_modale - if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r - if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c - if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c - if AsType(CHAM_NO_REFE) == cham_no_temp_r : return cham_no_temp_r - if AsType(CHAM_NO_REFE) == cham_no_epsi_r : return cham_no_epsi_r - if AsType(CHAM_NO_REFE) == cham_no_sief_r : return cham_no_sief_r - if AsType(CHAM_NO_REFE) == cham_no_flux_r : return cham_no_flux_r - raise AsException("type de concept resultat non prevu") - -PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage", +# 7.1. ==> Nom de la variable # - METHODE =SIMP(statut='f',typ='TXM',defaut="ELEM", - into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ), - b_nuage =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')", - fr="Lissage d'un nuage de points", - CHAM_NO =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r, - cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)), - CHAM_NO_REFE =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r, - cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)), - ), - b_elem =BLOC(condition="METHODE=='ELEM'", - fr="Utilisation des fonctions de forme du maillage initial", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), - EXCLUS('TOUT_CHAM','NOM_CHAM',), ), - RESULTAT =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,evol_char,mode_meca,mode_stat_depl,base_modale) ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters",), - MODELE_1 =SIMP(statut='o',typ=modele_sdaster), - MODELE_2 =SIMP(statut='o',typ=modele_sdaster), - - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - b_modele_gene =BLOC(condition = "AsType(RESULTAT) == mode_meca", - RIGI_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - MASS_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - AMOR_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - ), - ), - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - - 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 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + NOM = SIMP(statut="o",typ="TXM", + fr="Nom de la variable, identique au nom de concept PARA_SENSI.", + ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."), +# +# 7.2. ==> Loi de distribution # -# 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. + LOI = SIMP(statut="o",typ="TXM", + into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"), + fr="Choix de la loi", + ang="Law."), # -# 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. -# ====================================================================== -def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r - if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c - if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c - raise AsException("type de concept resultat non prevu") - -PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, - fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), - MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), -) ; - -#& MODIF COMMANDE DATE 15/02/2005 AUTEUR NICOLAS O.NICOLAS -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 7.2.1. ==> Loi normale # -# 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. + b_normale=BLOC(condition="LOI=='NORMALE'", # -# 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. -# ====================================================================== -def proj_mesu_modal_prod(MODELE_MESURE,**args): - vale=MODELE_MESURE['MESURE'] - if AsType(vale) == dyna_trans : return tran_gene - if AsType(vale) == dyna_harmo : return harm_gene - if AsType(vale) == mode_meca : return mode_gene -# if AsType(vale) == mode_meca_c : return mode_gene_c - if AsType(vale) == base_modale : return mode_gene - raise AsException("type de concept resultat non prevu") - -PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, - sd_prod=proj_mesu_modal_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Calcul de coordonnees generalisees de mesure experimentale relatives a une base de projection", - - MODELE_CALCUL =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), - ), - MODELE_MESURE =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ), - ), - CORR_MANU =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), - NOEU_CALCUL =SIMP(statut='f',typ=no), - NOEU_MESURE =SIMP(statut='f',typ=no), - ), - RESOLUTION =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), - b_svd =BLOC(condition="METHODE=='SVD'", - EPS=SIMP(statut='f',typ='R',defaut=0. ), - ), - REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), - b_regul =BLOC(condition="REGUL!='NON'", - regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), - COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - ), - ), - - ); -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + VALE_MOY = SIMP(statut="o",typ="R",max=1, + fr="Valeur moyenne.", + ang="Mean value."), # -# 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. + ECART_TYPE = SIMP(statut="o",typ="R",max=1, + fr="Ecart type.", + ang="Standard deviation."), # -# 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. -# ====================================================================== -PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - fr="Projection d un ou plusieurs spectres de turbulenc sur un ensemble de bases modales ", - regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), - ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),), - SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_depl_r ), - FREQ_INIT =SIMP(statut='f',typ='R',val_min=0.E+0 ), - FREQ_FIN =SIMP(statut='f',typ='R',val_min=0.E+0 ), - NB_POIN =SIMP(statut='f',typ='I' ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")), - GROUP_MA =SIMP(statut='f',typ=grma), -# Quel est le type attendu derriere MODELE_INTERFACE - MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), - ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 7.2.2. ==> Loi lognormale # -# 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. -# ====================================================================== -def vect_asse_gene_prod(VECT_ASSE,VECT_ASSE_GENE,**args): - if AsType(VECT_ASSE) == cham_no_depl_r : return vect_asse_gene_r - if AsType(VECT_ASSE_GENE) == vect_asse_gene_r : return vect_asse_gene_r - if AsType(VECT_ASSE) == cham_no_depl_c : return vect_asse_gene_c - if AsType(VECT_ASSE_GENE) == vect_asse_gene_c : return vect_asse_gene_c - raise AsException("type de concept resultat non prevu") - -PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene_prod, - fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c) ), - VECT_ASSE_GENE =SIMP(statut='f',typ=(vect_asse_gene_r,vect_asse_gene_c) ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + b_lognormale=BLOC(condition="LOI=='LOGNORMALE'", # -# 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. + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), # -# 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. -# ====================================================================== -RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib, - fr=" ",reentrant='n', - UIinfo={"groupes":("Post traitements",)}, - LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), - RESU =FACT(statut='o',max='**', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), - EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - TEMPE =SIMP(statut='f',typ='R' ), - LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), - CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ), - INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), - ) ; -#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + VALE_MOY = SIMP(statut="f",typ="R",max=1, + fr="Valeur moyenne dans l'espace de la loi normale.", + ang="Mean value in the space of the normal law."), +# + ECART_TYPE = SIMP(statut="f",typ="R",max=1, + fr="Ecart type dans l'espace de la loi normale.", + ang="Standard deviation in the space of the normal law."), +# + VALE_MOY_PHY = SIMP(statut="f",typ="R",max=1, + fr="Valeur moyenne dans l'espace physique.", + ang="Mean value in the physical space."), +# + ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1, + fr="Ecart type dans l'espace physique.", + ang="Standard deviation in the physical space."), +# + regles=(AU_MOINS_UN("VALE_MOY" ,"VALE_MOY_PHY"), + AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"), + EXCLUS ("VALE_MOY" ,"VALE_MOY_PHY"), + EXCLUS ("VALE_MOY" ,"ECART_TYPE_PHY"), + EXCLUS ("ECART_TYPE","VALE_MOY_PHY"), + EXCLUS ("ECART_TYPE","ECART_TYPE_PHY")), +# + ), +# +# 7.2.3. ==> Loi uniforme +# + b_uniforme=BLOC(condition="LOI=='UNIFORME'", +# + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), +# + VALE_MAX = SIMP(statut="o",typ="R",max=1, + fr="Valeur maximale.", + ang="Maximal value."), +# + ), +# +# 7.2.4. ==> Loi normale tronquée +# + b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'", +# + VALE_MOY = SIMP(statut="o",typ="R",max=1, + fr="Valeur moyenne de la loi normale complète.", + ang="Mean value for the entire normal law."), +# + ECART_TYPE = SIMP(statut="o",typ="R",max=1, + fr="Ecart type de la loi normale complète.", + ang="Standard deviation for the entire normal law."), # -# 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. + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), # -# 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. -# ====================================================================== -# RESPONSABLE MCOURTOI M.COURTOIS -def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None, - RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None, - TYPE_RESU=None,**args): - if AsType(RESULTAT) == dyna_harmo : return fonction_c -# On ne sait pas interpreter les deux conditions suivantes - if TABLE != None : - if TYPE_RESU != None : - if TYPE_RESU == "FONCTION_C" : return fonction_c - if TYPE_RESU == "FONCTION" : return fonction_sdaster - else: - return fonction_sdaster - if RESU_GENE != None : return fonction_sdaster - if BASE_ELAS_FLUI != None : return fonction_sdaster - if RESULTAT != None : return fonction_sdaster - if CHAM_GD != None : return fonction_sdaster - if OBSTACLE != None : return fonction_sdaster - raise AsException("type de concept resultat non prevu") - -RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod, - fr="Extraire sous forme d une fonction, l évolution temporelle d une composante d un champ ou d une table", - reentrant='n', - UIinfo={"groupes":("Fonction",)}, - regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),), - - CHAM_GD =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_elem_sief_r, - cham_elem_vari_r,cham_elem_epsi_r,cham_elem_flux_r, - cham_elem_pres_r,) ), - RESULTAT =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ), - RESU_GENE =SIMP(statut='f',typ=tran_gene), -# concept table à créer - TABLE =SIMP(statut='f',typ=table_sdaster), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), - OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), - - b_tran_gene = BLOC ( condition = "RESU_GENE != None", - fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE", - regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'), - EXCLUS('MULT_APPUI','CORR_STAT'),), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), - PARA_X =SIMP(statut='f',typ='TXM' ), - PARA_Y =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - INTITULE =SIMP(statut='f',typ='TXM' ), - ), - b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", - fr="Récupération de la fonction à partir d un concept melasflu", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='o',typ='I' ), - PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), - PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), - ), - b_table = BLOC ( condition = "TABLE != None",fr="Récupération de la fonction à partir d un concept table", - regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'), - PRESENT_PRESENT('PARA_X','PARA_Y'),), - PARA_X =SIMP(statut='f',typ='TXM', - fr="1ère colonne de la table qui définit la fonction à récupérer", ), - PARA_Y =SIMP(statut='f',typ='TXM', - fr="2ème colonne de la table qui définit la fonction à récupérer", ), - NOM_PARA_TABL =SIMP(statut='f',typ='TXM',into=("FONCTION",), - fr="Nom du paramètre de la table à qui est associé la fonction" ), - b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None", - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ), - ), - - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - VALE_K =SIMP(statut='f',typ='TXM' ),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), -# RESULTAT - b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT", - regles=( -# A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI -# UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'), - AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC','NOM_PARA_RESU'), - PRESENT_PRESENT('MAILLE','NOM_CMP'), - PRESENT_PRESENT('GROUP_MA','NOM_CMP'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'), - EXCLUS('POINT','NOEUD'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'), - EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'), - UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), - NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), - ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - NOEUD_CHOC =SIMP(statut='f',typ=no), - GROUP_NO_CHOC =SIMP(statut='f',typ=grno), - ), -# RESU_GENE - b_resu_gene = BLOC ( condition = "RESU_GENE != None", fr="Opérandes en cas de RESU_GENE", -# A voir par Mathieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI -# regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), - ), - b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ", - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'), - PRESENT_PRESENT('MAILLE','NOM_CMP'), - PRESENT_PRESENT('GROUP_MA','NOM_CMP'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'), - EXCLUS('POINT','NOEUD'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'), - EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - NOEUD_CHOC =SIMP(statut='f',typ=no), - GROUP_NO_CHOC =SIMP(statut='f',typ=grno), - ), - ), -# CHAM_GD - b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD", - - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'), - PRESENT_PRESENT('MAILLE','NOM_CMP'), - PRESENT_PRESENT('GROUP_MA','NOM_CMP'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'), - EXCLUS('POINT','NOEUD'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'), - EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - NOEUD_CHOC =SIMP(statut='f',typ=no), - GROUP_NO_CHOC =SIMP(statut='f',typ=grno), - ), - b_obstacle = BLOC ( condition = "OBSTACLE != None", - fr="Choix du repère", - REPERE =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ), - ), -### - NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), - NOM_RESU =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=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; -#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. + VALE_MAX = SIMP(statut="o",typ="R.",max=1, + fr="Valeur maximale.", + ang="Maximal value."), # -# 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. -# ====================================================================== -RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene_r,reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées", - RESU_GENE =SIMP(statut='o',typ=tran_gene ), - INST =SIMP(statut='o',typ='R' ), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 7.3. ==> Paramètres de calcul +# 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja # -# 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. + regles=(EXCLUS("POINT_INI","POINT_CONCEPT"), + EXCLUS("POINT_REF","POINT_CONCEPT"),), # -# 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. -# ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, - fr=" ",reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - CO =SIMP(statut='o',typ=assd), - regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), - NOM_TABLE =SIMP(statut='f',typ='TXM' ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme. +# Si on ne le fait pas, le programme prendra la valeur moyenne. # -# 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. + POINT_INI = SIMP(statut="f",typ="R",max=1, + fr="Point de démarrage de l'algorithme itératif.", + ang="Initial point for iterative process."), # -# 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. -# ====================================================================== -def reso_grad_prod(MATR_ASSE,**args ): - if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r - if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r - if AsType(MATR_ASSE) == matr_asse_pres_r : return cham_no_pres_r - raise AsException("type de concept resultat non prevu") +# 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser. +# Si on ne le fait pas, le programme prendra la valeur moyenne. +# + POINT_REF = SIMP(statut="f",typ="R",max=1, + fr="Point de référence de l'algorithme itératif.", + ang="Reference point for iterative process."), +# +# 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception +# + POINT_CONCEPT = SIMP(statut="f",typ="R",max=1, + fr="Point de conception.", + ang="Design point."), +# +# 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre +# + GRADIENT = SIMP(statut="o",typ="TXM",max=1, + into=("OUI","NON"), + fr="ASTER calcule directement le gradient.", + ang="ASTER computes the gradient for this parameter."), -RESO_GRAD=OPER(nom="RESO_GRAD",op= 84,sd_prod=reso_grad_prod, - fr="Résolution par la méthode du gradient conjugué préconditionné", - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), - CHAM_NO =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r ) ), - CHAM_CINE =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r ) ), - MATR_FACT =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - REPRISE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1E-6 ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET + b_gradient=BLOC(condition="GRADIENT=='NON'", + INCREMENT = SIMP(statut="o",typ="R",max=1, + fr="Incrément dans la direction.", + ang="Direction increment."), + ), + + ), +# +); +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# RESPONSABLE JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2004 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. # ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -def reso_ldlt_prod(CHAM_NO,**args ): - if AsType(CHAM_NO) == cham_no_temp_r : return cham_no_temp_r - if AsType(CHAM_NO) == cham_no_depl_r : return cham_no_depl_r - if AsType(CHAM_NO) == cham_no_pres_r : return cham_no_pres_r - if AsType(CHAM_NO) == cham_no_temp_c : return cham_no_temp_c - if AsType(CHAM_NO) == cham_no_depl_c : return cham_no_depl_c - if AsType(CHAM_NO) == cham_no_pres_c : return cham_no_pres_c - raise AsException("type de concept resultat non prevu") +DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, + fr="Définir le comportement d'un monocristal ou d'un polycristal", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),), -RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=reso_ldlt_prod,reentrant='f', - fr="Résolution en place ou hors place d un système factorisé", - UIinfo={"groupes":("Résolution",)}, - MATR_FACT =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r, - cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ), - CHAM_CINE =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ), - # RESI_RELA : précision utilisée si SOLVEUR=MUMPS - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.e-6), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS + 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"), + ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), + ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), + ELAS =SIMP(statut='f', typ='TXM', max=1, + 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'),), + ), + + + 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 30/08/2005 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2004 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. # ====================================================================== -# RESPONSABLE BOYERE E.BOYERE -def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ): - if AsType(RESU_GENE) == tran_gene : return dyna_trans - if AsType(RESU_GENE) == mode_gene : return mode_meca - if AsType(RESU_GENE) == mode_cycl : return mode_meca - if AsType(RESU_GENE) == harm_gene : return dyna_harmo - if AsType(RESULTAT) == mode_meca : return mode_meca - raise AsException("type de concept resultat non prevu") +# RESPONSABLE ASSIRE A.ASSIRE -REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op= 75,sd_prod=rest_base_phys_prod, - fr="Restituer dans la base physique des résultats en coordonnées généralisées", - reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(UN_PARMI('RESU_GENE','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), - EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'), -# Doc U à revoir - EXCLUS('MULT_APPUI','CORR_STAT'), - EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'), - EXCLUS('CORR_STAT','NOEUD','GROUP_NO'), - EXCLUS('NOEUD','GROUP_NO'), - PRESENT_PRESENT('RESULTAT','SQUELETTE'), - PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),), - RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene ) ), - RESULTAT =SIMP(statut='f',typ=mode_meca ), +from Macro.defi_part_feti_ops import defi_part_feti_ops + +DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster, + reentrant='n',UIinfo={"groupe":("Maillage",)}, + fr="Creation partitionnement en sous-domaines pour FETI", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + NB_PART =SIMP(statut='o',typ='I',val_min=2), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), + + # Methode de partitionnement + METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE", - into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL", - "SIGM_ELNO_DEPL","FORC_NODA",) ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), + LOGICIEL =SIMP(statut='f',typ='TXM'), - SQUELETTE =SIMP(statut='f',typ=squelette ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - SECTEUR =SIMP(statut='f',typ='I',defaut= 1 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE + # Corrige les problemes possibles de non-connexite des sous-domaines + CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), + + # Permet de grouper des mailles dans un meme sous-doamine + GROUPAGE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + ), + # Permet d'appliquer des poids sur certaines mailles + POIDS_MAILLES =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + POIDS =SIMP(statut='f',typ='I',val_min=2), + ), + # Prefixe pour le nom des group_ma definissant les sous-domaines + NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), + + # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) + TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), + + # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords + # Note : le calcul FETI sera impossible + b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", + NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), + ), + + INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), +); +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2004 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. # ====================================================================== -REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp, - reentrant='n', - UIinfo={"groupes":("Matrices/vecteurs",)}, - regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), - NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), - INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), - NOEUD =SIMP(statut='o',typ=no ,max='**'), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7, - into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL", - "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ), - MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ), - EXCIT =FACT(statut='f', - NOEUD =SIMP(statut='o',typ=no ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), +# RESPONSABLE ASSIRE A.ASSIRE + +DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster, + fr="Creation partitionnement en sous-domaines pour FETI", + docu="U4.23.05",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + NOM =SIMP(statut='f',typ='TXM',defaut='SD'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), + DEFI =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma), + GROUP_MA_BORD =SIMP(statut='f',typ=grma), ), - MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), - OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", - into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), + ), +); +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG @@ -21807,299 +22914,291 @@ REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp, # 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 +from Macro.impr_fonction_ops import impr_fonction_ops -from Macro.stanley_ops import stanley_ops - -STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None, - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - fr="Outil de post-traitement interactif Stanley ", - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), -) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -# RESPONSABLE PBADEL P.BADEL -STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, - fr="Analyse mécanique statique non linéaire", - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - ), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - ), - VARI_COMM =FACT(statut='f', - regles=(AU_MOINS_UN('IRRA','CORROSION'),), - IRRA =SIMP(statut='f',typ=evol_varc), - CORROSION =SIMP(statut='f',typ=carte_corr_r), - ), - COMP_INCR =C_COMP_INCR(), - COMP_ELAS =FACT(statut='f',max='**', - RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", - into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", - "ELAS_POUTRE_GR","CABLE")), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), - VARI =SIMP(statut='f',typ=cham_elem_vari_r), - VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - INCREMENT =FACT(statut='o', - regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), - EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", - into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), - NUME_INST_INIT =SIMP(statut='f',typ='I'), - INST_INIT =SIMP(statut='f',typ='R'), - NUME_INST_FIN =SIMP(statut='f',typ='I'), - INST_FIN =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), - SUBD_PAS_MINI =SIMP(statut='f',typ='R'), - COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), - OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), - NOM_CHAM =SIMP(statut='f',typ='TXM',), - NOM_CMP =SIMP(statut='f',typ='TXM',), - VALE =SIMP(statut='f',typ='R'), - ), - NEWTON =FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), - 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', - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), - ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), - PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), - RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), - RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), - RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), +IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None, + fr="Imprime le contenu d'objets de type fonction ou liste de réels dans un fichier destiné à un traceur de courbe", + UIinfo={"groupes":("Fonction",)}, + FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', + into=("TABLEAU","AGRAF","XMGRACE",),), + b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), ), - PILOTAGE =FACT(statut='f', - regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), - ETA_PILO_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_MIN =SIMP(statut='f',typ='R'), - ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), - PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - CONVERGENCE =FACT(statut='d', - regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), - SIGM_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - RESI_INTE_RELA =SIMP(statut='f',typ='R' - ,defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", - into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", + fr="Mots-clés propres à AGRAF", + UNITE =SIMP(statut='o',typ='I',defaut=25, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, + fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), ), - PARM_THETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + # unite pour TABLEAU dans le bloc de mise en forme spécifique + + COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", + regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), + FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), + fr="Fonction réelle ou complexe", ), + LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, + fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), + FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), + fr="Fonction abscisses d'une fonction paramétrique",), + ABSCISSE =SIMP(statut='f',typ='R',max='**', + fr="Valeurs des abscisses", ), + b_fonction =BLOC(condition = "FONCTION != None", + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + b_fonction_c =BLOC(condition = "AsType(FONCTION) == fonction_c", + fr="Fonction complexe définie par le mot-clé fonction", + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), + b_list_resu =BLOC(condition = "LIST_RESU != None", + LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + b_fonc_x =BLOC(condition = "FONC_X != None", + FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), + b_vale_resu =BLOC(condition = "ABSCISSE != None", + ORDONNEE =SIMP(statut='o',typ='R',max='**', + fr="Valeurs des ordonnées"), ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + + # le bloc n'est pas activé (vide) car position n'est pas pris en compte + b_forme =BLOC(condition = "FORMAT != 'TABLEAU'", + fr="Données de mise en forme de la fonction (cf. doc)", + ), + LEGENDE =SIMP(statut='f',typ='TXM', + fr="Légende associée à la fonction" ), + STYLE =SIMP(statut='f',typ='I',val_min=0, + fr="Style de la ligne représentant la fonction",), + COULEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Couleur associée à la fonction",), + MARQUEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Type du marqueur associé à la fonction",), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, + fr="Fréquence d impression du marqueur associé à la fonction", ), + # fin bloc b_forme + TRI =SIMP(statut='f',typ='TXM',defaut="N", + fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", + into=("N","X","Y","XY","YX") ), ), - ARCHIVAGE =FACT(statut='f', - regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), - EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NUME_INIT =SIMP(statut='f',typ='I'), - DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA", - "VARI_NON_LOCAL","LANL_ELGA")), + # Mise en page du tableau ou du graphique + b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", + fr="Mots-clés propres au format Tableau", + UNITE =SIMP(statut='o',typ='I',defaut=8, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', + fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), + COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', + fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), + DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère de debut de ligne"), + FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', + fr="Caractère de fin de ligne"), ), - OBSERVATION =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), - PRESENT_PRESENT('MAILLE','POINT'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA", - "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), - LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PAS_OBSE =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", + fr="Mise en page du graphique", + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des abscisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des ordonnées"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les abscisses" ), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les ordonnées" ), + GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage vertical" ), + GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage horizontal" ), + LEGENDE_X =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des abscisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des ordonnées" ), ), - CRIT_FLAMB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3), - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10), - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 06/07/2005 AUTEUR GENIAUT S.GENIAUT +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 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. +# ====================================================================== + +MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", + + MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,), + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,), + CRITERE =SIMP(statut='f',typ='R',defaut=1.1E-4), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), + +) ; +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=resultat_sdaster, + reentrant='n',UIinfo={"groupes":("Post traitements",)}, + fr="Calcul des champs DEPL et SIEF_ELGA sur le maillage fissuré", + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + MODELE = SIMP(statut='o',typ=modele_sdaster,), + RESULTAT = SIMP(statut='o',typ=resultat_sdaster), + NOM_CHAM = SIMP(statut='o',typ='TXM',into=("DEPL","SIEF_ELGA"),) +); +#& MODIF COMMANDE DATE 22/06/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, + reentrant='n',UIinfo={"groupes":("Maillage",)}, + fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM", + MODELE = SIMP(statut='o',typ=modele_sdaster), + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); +#& MODIF COMMANDE DATE 24/05/2005 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +from Macro.info_fonction_ops import info_fonction_ops +def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): + if (RMS != None): return table_sdaster + if (MAX != None): return table_sdaster + if (NOCI_SEISME != None): return table_sdaster + if (ECART_TYPE != None): return table_sdaster + if (NORME != None): return table_sdaster + raise AsException("type de concept resultat non prevu") + +INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod + ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe", + reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), + RMS =FACT(statut='f',fr="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" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité", - ang="List of sensitivity parameters"), - SOLV_NON_LOCAL =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - LAGR_NON_LOCAL =FACT(statut='f', - ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), - RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), - RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), - R =SIMP(statut='f',typ='R',defaut= 1000.), - ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + NOCI_SEISME =FACT(statut='f', + regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), + FONCTION =SIMP(statut='f',typ=fonction_sdaster ), + SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), + b_option_f =BLOC(condition="""FONCTION !=None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**', + into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", + "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), + b_amor =BLOC(condition="""OPTION=="TOUT" or OPTION=="INTE_SPEC" """, + AMOR_REDUIT =SIMP(statut='o',typ='R'), ),), + b_option_n =BLOC(condition="""SPEC_OSCI !=None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), + NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), + AMOR_REDUIT =SIMP(statut='o',typ='R'), ), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PESANTEUR =SIMP(statut='f',typ='R',defaut= 9.81E+0 ), + FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), + FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',max='**'), + NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), + BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), + b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - ) ; -#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN + ), + MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), + ), + NORME =FACT(statut='f',fr="Norme L2 d'une fonction", + FONCTION =SIMP(statut='o', typ=nappe_sdaster), + ), + ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", + 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" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) +#& MODIF COMMANDE DATE 10/05/2006 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -22114,607 +23213,418 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +# -*- coding: iso-8859-1 -*- # RESPONSABLE MCOURTOI M.COURTOIS -from Macro.test_fichier_ops import test_fichier_ops +def calc_table_prod(self, TABLE, **kargs): + """Typage du concept produit. + """ + typ_table = AsType(TABLE) + if issubclass(typ_table, table_sdaster): + return typ_table + raise AsException("type de concept resultat non prevu") -TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops, - UIinfo={"groupes":("Impression",)}, - - UNITE =SIMP(statut='f',typ='I',defaut=8), - 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") ), +from Macro.calc_table_ops import calc_table_ops - b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", - VERSION =SIMP(statut='f',typ='TXM' ), +CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod, + fr="Opérations sur une table", + reentrant='f', + regles=(DERIVABLE('TABLE'),), + TABLE = SIMP(statut='o',typ=table_sdaster), + ACTION = FACT(statut='o', max='**', + fr = "Suite des opérations à effectuer sur la table", + OPERATION = SIMP(statut='o', typ='TXM', + into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'OPER',)), + + b_filtre = BLOC(condition="OPERATION == 'FILTRE'", + fr="Sélectionne les lignes de la table vérifiant un critère", + NOM_PARA = SIMP(statut='o',typ='TXM'), + CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ", + into=('EQ','NE','GT','LT','GE','LE','REGEXP', + 'VIDE','NON_VIDE','MAXI','ABS_MAXI','MINI','ABS_MINI'),), + b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE = SIMP(statut='f',typ='R'), + VALE_I = SIMP(statut='f',typ='I'), + VALE_C = SIMP(statut='f',typ='C'), + VALE_K = SIMP(statut='f',typ='TXM'), + ), + b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'", + VALE_K = SIMP(statut='f',typ='TXM'), + ), + b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')", + CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + ), + + b_extr = BLOC(condition="OPERATION == 'EXTR'", + fr="Extrait une ou plusieurs colonnes de la table", + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + fr="Noms des colonnes à extraire"), + ), + + b_renomme = BLOC(condition="OPERATION == 'RENOMME'", + fr="Renomme un ou plusieurs paramètres de la table", + NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2, + fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",), + ), + + b_tri = BLOC(condition="OPERATION == 'TRI'", + fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres", + NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + ORDRE = SIMP(statut='f',typ='TXM',defaut="CROISSANT", + into=("CROISSANT","DECROISSANT") ), + ), + + b_comb = BLOC(condition="OPERATION == 'COMB'", + fr="Combine deux tables ayant éventuellement des paramètres communs", + TABLE = SIMP(statut='o',typ=table_sdaster, + fr="Table dont les colonnes vont venir surcharger la table initiale"), + NOM_PARA = SIMP(statut='f',typ='TXM',max='**', + fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\ + "pour que les colonnes soient combinées"), + ), + + b_oper = BLOC(condition="OPERATION == 'OPER'", + fr="Applique une formule dans laquelle les variables sont les paramètres de la table", + FORMULE = SIMP(statut='o',typ=formule, + fr="Formule à appliquer aux colonnes de la table"), + NOM_PARA = SIMP(statut='o',typ='TXM', + fr="Nom de la nouvelle colonne"), + ), ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + + SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),max=1, + fr="Paramètre de sensibilité", + ang="Sensitivity parameter"), + TITRE = SIMP(statut='f',typ='TXM',max='**', + fr="Titre de la table produite"), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) -#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -# RESPONSABLE MCOURTOI M.COURTOIS -TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction", - UIinfo={"groupes":("Impression",)}, - UNITE =SIMP(statut='f',typ='I',defaut=8), - TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - VALEUR =FACT(statut='f',max='**', - fr="Tester la valeur d une fonction ou d une nappe", - regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), - VALE_PARA =SIMP(statut='o',typ='R' ,validators=NoRepeat(),max=2), - VALE_REFE =SIMP(statut='f',typ='R' ), - VALE_REFE_C =SIMP(statut='f',typ='C' ), - CRITERE =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence", - defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence", - defaut= 1.E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), - b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", - VERSION =SIMP(statut='f',typ='TXM' ), - ), - ), - ATTRIBUT =FACT(statut='f',max='**', - fr="Tester la valeur d un attribut d une fonction ou d''une nappe", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - PARA =SIMP(statut='f',typ='R' ), - CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ATTR =SIMP(statut='o',typ='TXM', - into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL", - "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ), - ATTR_REFE =SIMP(statut='o',typ='TXM' ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), - b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", - VERSION =SIMP(statut='f',typ='TXM' ), - ), - ), - TABL_INTSP =FACT(statut='f',max='**', - fr="Tester la valeur d une fonction contenue dans une table interspectrale", - regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), - NOEUD_I =SIMP(statut='f',typ=no), - NUME_ORDRE_I =SIMP(statut='f',typ='I' ), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I' ), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no), - NOM_CMP_I =SIMP(statut='o',typ='TXM' ), - NOM_CMP_J =SIMP(statut='o',typ='TXM' ), - ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - VALE_PARA =SIMP(statut='o',typ='R' ), - VALE_REFE_C =SIMP(statut='o',typ='C' ), - CRITERE =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence", - defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence", - defaut= 1.E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), - b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", - VERSION =SIMP(statut='f',typ='TXM' ), - ), - ), -) ; -#& MODIF COMMANDE DATE 09/05/2005 AUTEUR CIBHHLV L.VIVAN -# RESPONSABLE VABHHTS J.PELLET +#& MODIF COMMANDE DATE 30/08/2005 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# -# +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -TEST_RESU=PROC(nom="TEST_RESU",op=23, - UIinfo={"groupes":("Impression",)}, - fr="Extraction d une valeur et comparaison à une valeur de référence", - regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET')), - UNITE =SIMP(statut='f',typ='I',defaut=8), +# RESPONSABLE ASSIRE A.ASSIRE - CHAM_NO =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'), - EXCLUS('NOEUD','GROUP_NO'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'), - UN_PARMI('VALE','VALE_I','VALE_C'),), - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - NOEUD =SIMP(statut='f',typ=no ), - GROUP_NO =SIMP(statut='f',typ=grno ), - NOM_CMP =SIMP(statut='f',typ='TXM'), - TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER")), - VERSION =SIMP(statut='f',typ='TXM'), - ), +DEFI_PART_PA_OPS=OPER(nom="DEFI_PART_PA_OPS",op=29,sd_prod=sd_feti_sdaster, + fr="Creation partitionnement en sous-domaines pour FETI", + docu="U4.00.00",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster)), + NB_PART =SIMP(statut='o',typ='I',), - CHAM_ELEM =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','TYPE_TEST',), - EXCLUS('NOEUD','GROUP_NO','POINT'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'), - UN_PARMI('VALE','VALE_I','VALE_C'), ), - CHAM_GD =SIMP(statut='o',typ=cham_elem_sdaster), - MAILLE =SIMP(statut='f',typ=ma), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER") ), - VERSION =SIMP(statut='f',typ='TXM' ), - ), + # Methode de partitionnement + METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ), + + LOGICIEL =SIMP(statut='f',typ='TXM'), - RESU =FACT(statut='f',max='**', - regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'), - PRESENT_PRESENT('NOM_CMP','NOM_CHAM'), - EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'), - UN_PARMI('VALE','VALE_I','VALE_C') ,), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), - fr="Paramètre de sensibilité.", - ang="Sensitivity parameter"), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - FREQ =SIMP(statut='f',typ='R'), - NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ANGL =SIMP(statut='f',typ='R'), - PARA =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - POINT =SIMP(statut='f',typ='I'), - SOUS_POINT =SIMP(statut='f',typ='I'), - TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2), - PRECISION =SIMP(statut='f',typ='R',max=2), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER",) ), - VERSION =SIMP(statut='f',typ='TXM' ), - ), + # Corrige les problemes possibles de non-connexite des sous-domaines + CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), + + # Permet de grouper des mailles dans un meme sous-doamine + GROUPAGE =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + ), + # Permet d'appliquer des poids sur certaines mailles + POIDS_MAILLES =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,), + POIDS =SIMP(statut='f',typ='I'), + ), + # Prefixe pour le nom des group_ma definissant les sous-domaines + NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), + + # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) + TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), + + # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords + # Note : le calcul FETI sera impossible + b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", + NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), + ), + + INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), - GENE =FACT(statut='f',max='**', - regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,), - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene_r, tran_gene, mode_gene, harm_gene)), - b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene_r", - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - ), - b_mode =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)", - regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='f',typ='I'), - PARA =SIMP(statut='f',typ='TXM'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - NUME_MODE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", - regles=(UN_PARMI('NUME_ORDRE','INST') ,), - NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - ), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2), - PRECISION =SIMP(statut='f',typ='R',max=2), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER",) ), - VERSION =SIMP(statut='f',typ='TXM' ), - ), +); +#& MODIF COMMANDE DATE 13/02/2006 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# ====================================================================== - OBJET =FACT(statut='f',max='**', - regles=(UN_PARMI('S_I','S_R','RESUME',), - UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),), - NOM =SIMP(statut='o',typ='TXM'), - S_R =SIMP(statut='f',typ='R'), - S_I =SIMP(statut='f',typ='I'), - RESUME =SIMP(statut='f',typ='I'), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER",) ), - VERSION =SIMP(statut='f',typ='TXM' ), - ), +MAC_MODES=OPER(nom="MAC_MODES",op= 141,sd_prod=table_sdaster, + fr="Normalisation de modes propres", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + BASE_1 =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ), + BASE_2 =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ), + MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), + 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 08/11/2005 AUTEUR ACBHHCD G.DEVESA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -# RESPONSABLE VABHHTS J.PELLET -TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, - UIinfo={"groupes":("Impression",)}, - regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),), - UNITE =SIMP(statut='f',typ='I',defaut=8), -# concept table_sdaster à tester - TABLE =SIMP(statut='o',typ=table_sdaster), - - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), - fr="Paramètre de sensibilité.", - ang="Sensitivity parameter"), - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - VALE_K =SIMP(statut='f',typ='TXM' ),), +LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c, + fr="Création d une matrice assemblée à partir de base modale", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + BASE =SIMP(statut='o',typ=base_modale ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + FREQ_EXTR =SIMP(statut='o',typ='R',max=1), + UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), +) ; - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), - NOM_PARA =SIMP(statut='o',typ='TXM' ), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.2E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), - b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", - VERSION =SIMP(statut='f',typ='TXM' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - ), +#& MODIF COMMANDE DATE 21/02/2006 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene, + fr="Création d un vecteur assemblé à partir de base modale", + reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + BASE =SIMP(statut='o',typ=base_modale ), + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + FREQ_EXTR =SIMP(statut='o',typ='R',max=1), + NOM_CMP =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"), + UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30), ) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET + +#& MODIF COMMANDE DATE 22/05/2006 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2006 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. # ====================================================================== -THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Analyse thermique linéaire stationnaire ou transitoire", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - INCREMENT =FACT(statut='f', - LIST_INST =SIMP(statut='o',typ=listr8_sdaster ), - NUME_INIT =SIMP(statut='f',typ='I'), - NUME_FIN =SIMP(statut='f',typ='I'), - ), - TEMP_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_temp_r), - VALE =SIMP(statut='f',typ='R'), - NUME_INIT =SIMP(statut='f',typ='I'), - ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters", - ), - SENS_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - NUME_INIT =SIMP(statut='f',typ='I'), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), - ), - ), - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), - ARCHIVAGE =FACT(statut='f', - regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),), - LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), +CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster, + fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité" + +" et les facteurs d'intensité de contraintes.", + reentrant='f', + UIinfo={"groupes":("Post traitements",)}, + regles=(UN_PARMI('RESULTAT','DEPL'), + PRESENT_PRESENT('VITE','ACCE'), + EXCLUS('COMP_ELAS','COMP_INCR'), + CONCEPT_SENSIBLE("ENSEMBLE"), + REUSE_SENSIBLE(), + DERIVABLE('RESULTAT'),), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + + THETA =FACT(statut='o', + THETA =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),), + + b_theta =BLOC(condition="THETA == None",fr="calcul de theta", + regles=(UN_PARMI('R_INF','R_INF_FO'), + EXCLUS('MODULE','MODULE_FO'), + UN_PARMI('FOND_FISS','FISSURE'), + PRESENT_PRESENT('R_INF','R_SUP'), + PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), + R_INF =SIMP(statut='f',typ='R'), + R_SUP =SIMP(statut='f',typ='R'), + MODULE =SIMP(statut='f',typ='R'), + DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FOND_FISS =SIMP(statut='f',typ=fond_fiss,max=1), + FISSURE =SIMP(statut='f',typ=fiss_xfem,max=1),), + ), + + DEPL =SIMP(statut='f',typ=cham_no_sdaster), + VITE =SIMP(statut='f',typ=cham_no_sdaster), + ACCE =SIMP(statut='f',typ=cham_no_sdaster), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),), + + b_extrac =BLOC(condition="RESULTAT != None",fr="extraction d un champ", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', + 'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ',),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", - into=("RELATIF","ABSOLU")), - PAS_ARCH =SIMP(statut='f',typ='I'), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',into=("VARI",)), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + + b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; -#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. -# ====================================================================== -THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Analyse thermique non linéaire stationnaire ou transitoire" , - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), - COMP_THER_NL =FACT(statut='d',max='**', - RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", - into=("THER_NL", - "THER_HYDR", - "SECH_GRANGER", - "SECH_MENSI", - "SECH_BAZANT", - "SECH_NAPPE" - ) ), + SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), + + COMP_ELAS =FACT(statut='f', + RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", + into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ), + ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), + ELAS_VMIS_LINE =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), + ELAS_VMIS_TRAC =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ), regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - INCREMENT =FACT(statut='f', - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - NUME_INIT =SIMP(statut='f',typ='I'), - NUME_FIN =SIMP(statut='f',typ='I'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + ), + COMP_INCR =FACT(statut='f', + RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", + into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ), + ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), + VMIS_ISOT_TRAC =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), + VMIS_ISOT_LINE =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ), - TEMP_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_temp_r), - VALE =SIMP(statut='f',typ='R'), - NUME_INIT =SIMP(statut='f',typ='I'), + ETAT_INIT =FACT(statut='f', + SIGM =SIMP(statut='f',typ=cham_elem), + DEPL =SIMP(statut='f',typ=cham_no_sdaster), ), - NEWTON =FACT(statut='d', - REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), + + LISSAGE =FACT(statut='d', + DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ), + LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE"),), + LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO"),), ), - CONVERGENCE =FACT(statut='d', - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + + OPTION =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G', + into=("CALC_G","CALC_G_GLOB","CALC_K_G","K_G_MODA","G_MAX","G_MAX_GLOB","G_BILI", + "G_BILI_GLOB","G_LAGR","G_LAGR_GLOB"),), + + b_g_max =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')", + BORNES =FACT(statut='o',max='**', + NUME_ORDRE =SIMP(statut='o',typ='I'), + VALE_MIN =SIMP(statut='o',typ='R'), + VALE_MAX =SIMP(statut='o',typ='R'), + ), ), + PROPAGATION =SIMP(statut='f',typ='R'), + THETA_LAGR =SIMP(statut='f',typ=theta_geom), + DIRE_THETA_LAGR =SIMP(statut='f',typ=cham_no_sdaster), SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters", - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Parametres relatifs a la non inversibilité de la matrice a factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I' ,defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R' ,defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I' ,defaut= 0 ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), - ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - ), - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ), - ARCHIVAGE =FACT(statut='f', - regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),), - LIST_ARCH =SIMP(statut='f',typ=(listis_sdaster) ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - PAS_ARCH =SIMP(statut='f',typ='I'), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',into=("VARI",)), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2, - into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), -) ; -#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +); +#& MODIF COMMANDE DATE 09/05/2006 AUTEUR MASSIN P.MASSIN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 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. +# COPYRIGHT (C) 1991 - 2006 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. # ====================================================================== -THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, - fr="Thermique non lineaire en repere mobile", - reentrant='n', - UIinfo={"groupes":("Résolution",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='c',typ=cara_elem ), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther ), - FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - TEMP_INIT =FACT(statut='f', - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_INIT =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d', - CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), - b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), - NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - - +PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Propagation de fissure avec X-FEM", + + MODELE =SIMP(statut='o',typ=modele_sdaster), + + TABLE =SIMP(statut='o',typ=table_sdaster), + + LOI_PROPA =FACT(statut='o',max=01, + LOI =SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), + b_paris =BLOC( condition = "LOI=='PARIS'", + C =SIMP(statut='o',typ='R',), + M =SIMP(statut='o',typ='R',),), + ), + GROUP_MA_ENRI =SIMP(statut='o',typ=grma,max=01), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; diff --git a/Aster/Cata/cataSTA8c_clefs_docu b/Aster/Cata/cataSTA8c_clefs_docu new file mode 100644 index 00000000..1967bad1 --- /dev/null +++ b/Aster/Cata/cataSTA8c_clefs_docu @@ -0,0 +1,204 @@ +AFFE_CARA_ELEM:U4.42.01-h +AFFE_CHAR_ACOU:U4.44.04-g +AFFE_CHAR_CINE_F:U4.44.03-g +AFFE_CHAR_CINE:U4.44.03-g +AFFE_CHAR_MECA:U4.44.01-h +AFFE_CHAR_MECA_F:U4.44.01-h +AFFE_CHAR_MECA_C:U4.44.05-e +AFFE_CHAR_THER_F:U4.44.02-h +AFFE_CHAR_THER:U4.44.02-h +AFFE_MATERIAU:U4.43.03-h +AFFE_MODELE:U4.41.01-h +AIDE:U4.02.01-h +ASSE_MAILLAGE:U4.23.03-g +ASSE_MATRICE:U4.61.22-h +ASSE_MATR_GENE:U4.65.04-f +ASSE_VECTEUR:U4.61.23-h +ASSE_VECT_GENE:U4.65.05-f +CALC_AMOR_MODAL:U4.52.13-f +CALC_CHAM_ELEM:U4.81.03-h +CALC_CHAR_CINE:U4.61.03-g +CALC_CHAR_SEISME:U4.63.01-g +CALC_ELEM:U4.81.01-h +CALC_FATIGUE:U4.83.02-e +CALC_FLUI_STRU:U4.66.02-f +CALC_FONCTION:U4.32.04-h +CALC_FONC_INTERP:U4.32.01-f +CALC_FORC_AJOU:U4.66.03-b +CALC_G_LOCAL_T:U4.82.04-g +CALC_G_THETA_T:U4.82.03-g +CALC_INTE_SPEC:U4.36.03-g +CALC_MATR_AJOU:U4.66.01-e +CALC_MATR_ELEM:U4.61.01-h +CALC_META:U4.85.01-c +CALC_NO:U4.81.02-g +CALC_PRECONT:U4.42.05-a +CALC_THETA:U4.82.02-f +CALC_VECT_ELEM:U4.61.02-h +COMB_CHAM_ELEM:U4.72.03-g +COMB_CHAM_NO:U4.72.02-h +COMB_FOURIER:U4.83.31-e +COMB_MATR_ASSE:U4.72.01-h +COMB_SISM_MODAL:U4.84.01-f +COMP_INCR:U4.51.11-a +CREA_CHAMP:U4.72.04-c +CREA_MAILLAGE:U4.23.02-e +CREA_RESU:U4.44.12-f +CREA_TABLE:U4.33.02-a +DEBUT:U4.11.01-h +DEFI_BASE_MODALE:U4.64.02-g +DEFI_CABLE_BP:U4.42.04-c +DEFI_COMPOR:U4.43.06-a +DEFI_CONSTANTE:U4.31.01-h +DEFI_COQU_MULT:U4.42.03-g +DEFI_FICHIER:U4.12.03-a +DEFI_FISS_XFEM:U4.82.08-a +DEFI_FLUI_STRU:U4.25.01-f +DEFI_FONCTION:U4.31.02-h +DEFI_FONC_ELEC:U4.mk.10-g +DEFI_FONC_FLUI:U4.35.01-e +DEFI_FOND_FISS:U4.82.01-g +DEFI_GROUP:U4.22.01-g +DEFI_INTERF_DYNA:U4.64.01-g +DEFI_INTE_SPEC:U4.36.02-g +DEFI_LIST_ENTI:U4.34.02-h +DEFI_LIST_REEL:U4.34.01-h +DEFI_MAILLAGE:U4.23.01-g +DEFI_MATERIAU:U4.43.01-h +DEFI_MODELE_GENE:U4.65.02-f +DEFI_NAPPE:U4.31.03-h +DEFI_OBSTACLE:U4.44.21-g +DEFI_PARA_SENSI:U4.31.06-b +DEFI_SPEC_TURB:U4.44.31-e +DEFI_SQUELETTE:U4.24.01-h +DEFI_TEXTURE:U4.43.05-c +DEFI_THER_JOULE:U4.mk.20-f +DEFI_TRC:U4.43.04-g +DEPL_INTERNE:U4.62.02-g +DETRUIRE:U4.14.01-f +DIST_LIGN_3D:U4.mk.30-f +DYNA_ALEA_MODAL:U4.53.22-g +DYNA_LINE_HARM:U4.53.11-g +DYNA_LINE_TRAN:U4.53.02-h +DYNA_NON_LINE:U4.53.01-g +DYNA_SPEC_MODAL:U4.53.23-e +DYNA_TRAN_EXPLI:U4.53.03-a +DYNA_TRAN_MODAL:U4.53.21-g +ENGENDRE_TEST:U4.92.11-d +EXEC_LOGICIEL:U7.00.01-c +EXTR_MODE:U4.52.12-e +EXTR_RESU:U4.71.04-d +EXTR_TABLE:U4.71.05-a +FACT_GRAD:U4.55.03-g +FACT_LDLT:U4.55.01-h +FIN:U4.11.02-h +FONC_FLUI_STRU:U4.35.02-e +FORMULE:U4.31.05-f +GENE_FONC_ALEA:U4.36.05-g +GENE_MATR_ALEA:U4.36.06-b +GENE_VARI_ALEA:U4.36.07-b +IMPR_CLASSI:U7.04.21-c +IMPR_CO:U4.91.11-h +IMPR_COURBE:U4.33.01-e +IMPR_FICO_HOMA:U7.04.01-c +IMPR_FONCTION:U4.33.01-f +IMPR_GENE:U4.91.02-e +IMPR_JEVEUX:U4.91.21-h +IMPR_MACR_ELEM:U7.04.33-e +IMPR_MATRICE:U7.04.32-e +IMPR_MISS_3D:U7.04.11-e +IMPR_OAR:U7.04.51-a +IMPR_RESU:U4.91.01-h +IMPR_STURM:U4.52.01-h +IMPR_TABLE:U4.91.03-e +INCLUDE:U4.13.01-g +INCLUDE_MATERIAU:U4.43.02-c +INFO_EXEC_ASTER:U4.13.04-a +INTE_MAIL_2D:U4.81.11-g +INTE_MAIL_3D:U4.81.12-g +LIRE_CHAMP:U7.02.02-c +LIRE_FONCTION:U4.32.02-g +LIRE_INTE_SPEC:U4.36.01-g +LIRE_MAILLAGE:U4.21.01-h +LIRE_MISS_3D:U7.02.31-e +LIRE_PLEXUS:U7.02.11-c +LIRE_RESU:U7.02.01-e +LIRE_TABLE:U7.02.03-b +MACRO_CARA_POUTRE:U4.42.02-d +MACRO_ELAS_MULT:U4.51.02-e +MACRO_MATR_AJOU:U4.66.11-d +MACRO_MATR_ASSE:U4.61.21-e +MACRO_MISS_3D:U7.03.11-c +MACRO_MODE_MECA:U4.52.02-e +MACRO_PROJ_BASE:U4.63.11-e +MACR_ADAP_MAIL:U7.03.01-c +MACR_ASCOUF_CALC:U4.cf.20-c +MACR_ASCOUF_MAIL:U4.cf.10-c +MACR_ASPIC_CALC:U4.pc.20-c +MACR_ASPIC_MAIL:U4.pc.10-c +MACR_CABRI_CALC:U4.cb.20-a +MACR_CABRI_MAIL:U4.cb.10-a +MACR_CARA_POUTRE:U4.42.02-e +MACR_ECLA_PG:U4.44.14-a +MACR_ELEM_DYNA:U4.65.01-f +MACR_ELEM_STAT:U4.62.01-g +MACR_FIABILITE:U7.03.31-a +MACR_FIAB_IMPR:U7.04.41-a +MACR_INFO_MAIL:U7.03.02-c +MACR_LIGN_COUPE:U4.81.13-b +MACR_RECAL:U4.73.02-b +MAJ_CATA:U4.15.01-f +MECA_STATIQUE:U4.51.01-h +MEMO_NOM_SENSI:U4.31.07-b +MODE_ITER_CYCL:U4.52.05-g +MODE_ITER_INV:U4.52.04-h +MODE_ITER_SIMULT:U4.52.03-g +MODE_STATIQUE:U4.52.14-g +MODI_BASE_MODALE:U4.66.21-e +MODI_MAILLAGE:U4.23.04-e +MODI_MODELE_XFEM:U4.41.11-a +MODI_OBSTACLE:U4.44.22-c +MODI_REPERE:U4.74.01-b +NORM_MODE:U4.52.11-g +NUME_DDL:U4.61.11-h +NUME_DDL_GENE:U4.65.03-f +POST_DYNA_ALEA:U4.84.04-f +POST_DYNA_MODA_T:U4.84.02-f +POST_ELEM:U4.81.22-f +POST_FATIGUE:U4.83.01-e +POST_FATI_ALEA:U4.84.03-e +POST_K1_K2_K3:U4.82.05-c +POST_K_BETA:U4.82.07-b +POST_RCCM:U4.83.11-e +POST_RELEVE_T:U4.81.21-f +POST_USURE:U4.84.05-f +POST_ZAC:U4.83.21-d +POURSUITE:U4.11.03-h +PRE_GIBI:U7.01.11-h +PRE_GMSH:U7.01.31-b +PRE_IDEAS:U7.01.01-h +PROD_MATR_CHAM:U4.72.06-d +PROJ_CHAMP:U4.72.05-e +PROJ_MATR_BASE:U4.63.12-g +PROJ_MESU_MODAL:U4.73.01-c +PROJ_SPEC_BASE:U4.63.14-e +PROJ_VECT_BASE:U4.63.13-g +RECA_WEIBULL:U4.82.06-c +RECU_FONCTION:U4.32.03-g +RECU_GENE:U4.71.03-g +RECU_TABLE:U4.71.02-c +RESO_GRAD:U4.55.04-g +RESO_LDLT:U4.55.02-h +REST_BASE_PHYS:U4.63.21-g +REST_SPEC_PHYS:U4.63.22-e +SENSIBILITE:U4.50.02-b +SOLVEUR:U4.50.01-e +STANLEY:U4.81.31-b +STAT_NON_LINE:U4.51.03-g +TEST_FICHIER:U4.92.04-a +TEST_FONCTION:U4.92.02-g +TEST_RESU:U4.92.01-h +TEST_TABLE:U4.92.03-d +THER_LINEAIRE:U4.54.01-h +THER_NON_LINE:U4.54.02-f +THER_NON_LINE_MO:U4.54.03-d