From 7abc606c9e5d4e3bb49a7a70125be1003f9ae0d7 Mon Sep 17 00:00:00 2001 From: eficas <> Date: Mon, 10 Mar 2003 15:36:23 +0000 Subject: [PATCH] =?utf8?q?CCAR:=20Mise=20=C3=A0=20jour=20de=20Noyau,=20Val?= =?utf8?q?idation=20et=20Catalogue=20pour=20la=20version=207.0.13=20d'Aste?= =?utf8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Aster/Cata/Macro/calc_precont_ops.py | 471 + Aster/Cata/Macro/macr_cara_poutre_ops.py | 690 + Aster/Cata/Macro/macr_lign_coupe_ops.py | 7 +- Aster/Cata/Macro/macr_recal_ops.py | 103 +- Aster/Cata/Macro/macro_elas_mult_ops.py | 29 +- Aster/Cata/Macro/macro_matr_asse_ops.py | 5 +- Aster/Cata/Macro/macro_miss_3d_ops.py | 9 +- Aster/Cata/Macro/macro_mode_meca_ops.py | 5 +- Aster/Cata/Macro/macro_proj_base_ops.py | 5 +- Aster/Cata/Macro/reca_algo.py | 185 +- Aster/Cata/Macro/reca_interp.py | 18 +- Aster/Cata/Macro/reca_message.py | 87 +- Aster/Cata/Macro/recal.py | 132 +- Aster/Cata/cata_STA7.py | 17803 +++++++++++++++++++++ Aster/Cata/ops.py | 122 +- Aster/editeur.ini | 3 +- Ihm/I_PROC_ETAPE.py | 1 - Noyau/N_CR.py | 53 +- Noyau/N_MACRO_ETAPE.py | 4 +- Noyau/N_PROC_ETAPE.py | 3 +- Noyau/properties.py | 15 +- Validation/V_ETAPE.py | 13 +- Validation/V_MACRO_ETAPE.py | 13 +- Validation/V_MCSIMP.py | 5 +- 24 files changed, 19555 insertions(+), 226 deletions(-) create mode 100644 Aster/Cata/Macro/calc_precont_ops.py create mode 100644 Aster/Cata/Macro/macr_cara_poutre_ops.py create mode 100755 Aster/Cata/cata_STA7.py diff --git a/Aster/Cata/Macro/calc_precont_ops.py b/Aster/Cata/Macro/calc_precont_ops.py new file mode 100644 index 00000000..d9acffa4 --- /dev/null +++ b/Aster/Cata/Macro/calc_precont_ops.py @@ -0,0 +1,471 @@ +#@ MODIF calc_precont_ops Macro DATE 04/03/2003 AUTEUR ASSIRE A.ASSIRE +# 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 ASSIRE A.ASSIRE + +def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT, + CABLE_BP,CABLE_BP_INACTIF, + COMP_INCR,ETAT_INIT,NEWTON,RECH_LINEAIRE, + CONVERGENCE,INCREMENT,SOLVEUR,SOLV_NON_LOCAL, + LAGR_NON_LOCAL,PARM_THETA,INFO,TITRE,**args): + + + """ + Ecriture de la macro CALC_PRECONT + """ + import Numeric + import os + import sys + import types + import copy + import aster + import string + from Accas import _F + from Noyau.N_utils import AsType + ier=0 + + # On importe les definitions des commandes a utiliser dans la macro + AFFE_MODELE = self.get_cmd('AFFE_MODELE') + CREA_CHAMP = self.get_cmd('CREA_CHAMP') + AFFE_CHAR_MECA = self.get_cmd('AFFE_CHAR_MECA') + DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL') + STAT_NON_LINE = self.get_cmd('STAT_NON_LINE') + CALC_NO = self.get_cmd('CALC_NO') + CREA_CHAMP = self.get_cmd('CREA_CHAMP') + DEFI_FONCTION = self.get_cmd('DEFI_FONCTION') + RECU_TABLE = self.get_cmd('RECU_TABLE') + DEFI_MATERIAU = self.get_cmd('DEFI_MATERIAU') + AFFE_MATERIAU = self.get_cmd('AFFE_MATERIAU') + + # La macro compte pour 1 dans la numerotation des commandes + self.icmd=1 + + # Le concept sortant (de type evol_noli) est nomme RES dans + # le contexte de la macro + + self.DeclareOut('RES',self.sd) + + # ------------------------------------------------------------- + # 1. CREATION DES MOTS-CLES ET CONCEPTS POUR LES STAT_NON_LINE + # ------------------------------------------------------------ + + + # 1.1 Recuperation de la liste d'instants, de l'instant initial et final + # Creation de la nouvelle liste d'instants + # ---------------------------------------------------------- + + dIncrement=INCREMENT.cree_dict_valeurs(INCREMENT.mc_liste) + + __prec = dIncrement['PRECISION'] + __L0 = dIncrement['LIST_INST'] + __L1 = __L0.LIST_VALEURS(); + + # Traitement de l'etat initial + if ETAT_INIT: + dEtatInit=ETAT_INIT.cree_dict_valeurs(ETAT_INIT.mc_liste) + for i in dEtatInit.keys(): + if dEtatInit[i]==None : del dEtatInit[i] + + __EVINIT = dEtatInit['EVOL_NOLI'] + else : + dEtatInit=None + + # Test de la presence de reuse= + if self.reuse == None: + dReuse=None + else : + dReuse='RES' + + # Teste si INST_INIT est donné ou bien recalcule __TMIN + if dIncrement['INST_INIT'] == None: + if self.reuse == None: + __TMIN = __L1[0] + else: + __dico = __EVINIT.LIST_VARI_ACCES() + __TMIN = __dico['INST'][-1] + else: + __TMIN = dIncrement['INST_INIT'] + + # Teste si INST_FIN est donné ou bien recalcule __TMAX + if dIncrement['INST_FIN'] == None: + __TMAX = __L1[-1] + else: + __TMAX = dIncrement['INST_FIN'] + + # Teste si INST_INIT est bien plus petit que INST_FIN + if __TMAX <= __TMIN: + print 'ERREUR : INST_FIN PLUS PETIT QUE INST_INIT' + sys.exit(1) + + # Cree la liste d'instant __L2 allant de __TMIN a __TMAX et contenant + # un instant supplementaire __TINT + __L2=[] + for m in __L1: + if m>=__TMIN and m<=__TMAX: + __L2.append(m) + + __TINT = (9.*__L2[-1] + __L2[-2])/10. + __L2[-1:-1] = [__TINT] + + # __LST0 est la liste d'instants utilisée pour l'etape 1 + __LST0=DEFI_LIST_REEL( DEBUT = __TMIN, + INTERVALLE = _F(JUSQU_A = __TMAX, NOMBRE = 1),) + + # __LST et __FCT sont utilisés pour les etapes 2 et 3 + __LST=DEFI_LIST_REEL(VALE=__L2,); + __FCT=DEFI_FONCTION(INTERPOL=('LIN','LIN'), + NOM_PARA='INST', + VALE=(__TMIN,0.0,__TINT,1.0,__TMAX,1.0),); + + for i in dIncrement.keys(): + if dIncrement[i]==None : del dIncrement[i] + dIncrement['LIST_INST']= __LST + dIncrement['INST_FIN'] = __TINT + + + + # 1.2 Recuperation des parametres pour STAT_NON_LINE + # ------------------------------------------------------- + + dNewton=NEWTON.cree_dict_valeurs(NEWTON.mc_liste) + for i in dNewton.keys(): + if dNewton[i]==None : del dNewton[i] + + dConvergence=CONVERGENCE.cree_dict_valeurs(CONVERGENCE.mc_liste) + for i in dConvergence.keys(): + if dConvergence[i]==None : del dConvergence[i] + + dSolveur=SOLVEUR.cree_dict_valeurs(SOLVEUR.mc_liste) + for i in dSolveur.keys(): + if dSolveur[i]==None : del dSolveur[i] + + if RECH_LINEAIRE: + dRech_lin=RECH_LINEAIRE.cree_dict_valeurs(RECH_LINEAIRE.mc_liste) + for i in dRech_lin.keys(): + if dRech_lin[i]==None : del dRech_lin[i] + else : + dRech_lin=None + + if SOLV_NON_LOCAL: + dSolv_nonloc=SOLV_NON_LOCAL.cree_dict_valeurs(SOLV_NON_LOCAL.mc_liste) + for i in dSolv_nonloc.keys(): + if dSolv_nonloc[i]==None : del dSolv_nonloc[i] + else : + dSolv_nonloc=None + + if LAGR_NON_LOCAL: + dLagr_nonloc=LAGR_NON_LOCAL.cree_dict_valeurs(LAGR_NON_LOCAL.mc_liste) + for i in dLagr_nonloc.keys(): + if dLagr_nonloc[i]==None : del dLagr_nonloc[i] + else : + dLagr_nonloc=None + + + + # 1.3 Creation des mots-cles pour les 3 AFFE_CHAR_MECA + # Recuperation des cables dans les concepts CABLE_BP + # et CABLE_BP_INACTIF + # ------------------------------------------------------ + + motscles={} + motscles['RELA_CINE_BP']=[] + motscle2={} + motscle2['RELA_CINE_BP']=[] + motscle3={} + motscle3['RELA_CINE_BP']=[] + __GROUP_MA_A=[] + Result = [[None]*1] + for m in CABLE_BP: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscles['RELA_CINE_BP'].append(_F(CABLE_BP=m, + SIGM_BPEL = 'OUI', + RELA_CINE = 'NON',) ) + motscle2['RELA_CINE_BP'].append(_F(CABLE_BP=m, + SIGM_BPEL = 'NON', + RELA_CINE = 'OUI',) ) + motscle3['RELA_CINE_BP'].append(_F(CABLE_BP=m, + SIGM_BPEL = 'OUI', + RELA_CINE = 'OUI',) ) + + # Creation de __GROUP_MA_A : liste des noms des cables contenus + # dans chaque concept CABLE_BP = cables a activer + __TCAB = RECU_TABLE(CO=m,NOM_TABLE='CABLE_BP'); + __nb = 0 + while 1: + try: + Result[__nb][0] = __TCAB['NOM_CABLE',__nb+1] + __CAB = __TCAB['NOM_CABLE',__nb+1] + if __nb == 0: + __GROUP_MA_A.append(__CAB) + else: + i = 0 + # enlève les doublons + for m in __GROUP_MA_A: + i=i+1 + if __CAB == m: + break + if i == len(__GROUP_MA_A): + __GROUP_MA_A.append(__CAB) + + __nb = __nb + 1 + Result.append([None]*1) + # Si on a lu toutes les valeurs alors on sort de la boucle + except KeyError: + break + + # Creation de __GROUP_MA_I : liste des noms des cables contenus + # dans chaque CABLE_BP_INACTIF + # __GROUP_MA_CABLE = liste des cables actifs et inactifs + Result = [[None]*1] + __GROUP_MA_I=[] + + if CABLE_BP_INACTIF: + for m in CABLE_BP_INACTIF: + __TCA0 = RECU_TABLE(CO=m,NOM_TABLE='CABLE_BP'); + __nb = 0 + while 1: + try: + Result[__nb][0] = __TCA0['NOM_CABLE',__nb+1] + __CA0 = __TCA0['NOM_CABLE',__nb+1] + if __nb == 0: + __GROUP_MA_I.append(__CA0) + else: + i = 0 + # enlève les doublons + for m in __GROUP_MA_I: + i=i+1 + if __CA0 == m: + break + if i == len(__GROUP_MA_I): + __GROUP_MA_I.append(__CA0) + + __nb = __nb + 1 + Result.append([None]*1) + # Si on a lu toutes les valeurs alors on sort de la boucle + except KeyError: + break + motscle6={} + motscle6['RELA_CINE_BP']=[] + for m in CABLE_BP_INACTIF: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscle6['RELA_CINE_BP'].append(_F(CABLE_BP=m, + SIGM_BPEL = 'NON', + RELA_CINE = 'OUI',) ) + + __GROUP_MA_CABLES = __GROUP_MA_A + __GROUP_MA_I + + + # 1.4 Creation des mots-clés facteurs COMP_INCR + # pour étape 2 (dComp_incr0) et étape 3 (dComp_incr1) + # ------------------------------------------------------ + + if COMP_INCR.__class__.__name__=='MCList' : + dComp_incr=[] + for j in COMP_INCR : + dComp_incr.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dComp_incr[-1].keys(): + if dComp_incr[-1][i]==None : del dComp_incr[-1][i] + + elif COMP_INCR.__class__.__name__=='MCFACT' : + dComp_incr=[] + dComp_incr.append(COMP_INCR.cree_dict_valeurs(COMP_INCR.mc_liste)) + for i in dComp_incr[-1].keys(): + if dComp_incr[-1][i]==None : del dComp_incr[-1][i] + + dComp_incr0=copy.copy(dComp_incr) + dComp_incr1=copy.copy(dComp_incr) + + dComp_incr0.append(_F(RELATION='SANS',GROUP_MA=__GROUP_MA_CABLES) ) + if __GROUP_MA_I: + dComp_incr1.append(_F(RELATION='SANS',GROUP_MA=__GROUP_MA_I) ) + + + # 1.5 Modele contenant uniquement les cables de precontrainte + # --------------------------------------------------------- + + __MOD = string.ljust(MODELE.nom,8) + __MOD =__MOD+'.MODELE .NOMA ' + __MAIL = aster.getvectjev(__MOD) + + __M_CA=AFFE_MODELE( MAILLAGE=__MAIL[0], + AFFE =_F( GROUP_MA = __GROUP_MA_A, + PHENOMENE = 'MECANIQUE', + MODELISATION = 'BARRE') ) + + + # 1.6 Blocage de tous les noeuds des cables actifs + # -------------------------------------------------- + + __B_CA=AFFE_CHAR_MECA(MODELE=__M_CA, + DDL_IMPO= _F( GROUP_MA = __GROUP_MA_A, + DX = 0., + DY = 0., + DZ = 0.),) + + + # 1.7 Chargements concernant les cables + # ------------------------------------- + __C_CN=AFFE_CHAR_MECA(MODELE=__M_CA,**motscles) + __C_CA=AFFE_CHAR_MECA(MODELE=MODELE,**motscle2) + __C_CT=AFFE_CHAR_MECA(MODELE=MODELE,**motscle3) + if CABLE_BP_INACTIF: + __C_CI=AFFE_CHAR_MECA(MODELE=MODELE,**motscle6) + + + + # ------------------------------------------------------------- + # 2. CALCULS + # ------------------------------------------------------------ + + + #------------------------------------------------------------------- + # 2.1 Premiere etape : calcul sur le(s) cable(s) et + # recuperation des __F_CAs aux noeuds + # on travaile entre tmin et tmax + #------------------------------------------------------------------- + + __EV1=STAT_NON_LINE( + MODELE = __M_CA, + CHAM_MATER = CHAM_MATER, + CARA_ELEM = CARA_ELEM, + EXCIT =(_F(CHARGE = __B_CA), + _F(CHARGE = __C_CN),), + COMP_INCR =_F( RELATION = 'ELAS', + DEFORMATION = 'PETIT', + TOUT = 'OUI'), + INCREMENT =_F(LIST_INST = __LST0, + PRECISION = __prec), + SOLVEUR = dSolveur, + PARM_THETA = PARM_THETA, + INFO =INFO, + TITRE = TITRE, ) + + __EV1 = CALC_NO( reuse = __EV1, + RESULTAT = __EV1, + MODELE = __M_CA, + CARA_ELEM= CARA_ELEM, + EXCIT=(_F(CHARGE = __B_CA), + _F(CHARGE = __C_CN), ), + GROUP_MA = __GROUP_MA_A, + OPTION = 'FORC_NODA' ) + + __REA = CREA_CHAMP ( + TYPE_CHAM = 'NOEU_DEPL_R', + OPERATION = 'EXTR', + RESULTAT = __EV1, + NOM_CHAM = 'FORC_NODA', + INST = __TMAX); + + __REAC = CREA_CHAMP (TYPE_CHAM='NOEU_DEPL_R', + OPERATION = 'ASSE', + MODELE = MODELE, + ASSE= _F(GROUP_MA=__GROUP_MA_A, + CHAM_GD=__REA, + COEF_R = -1.), ) + + __F_CA=AFFE_CHAR_MECA(MODELE=__M_CA, + VECT_ASSE = __REAC ) + + + + #----------------------------------------------------------------------- + # 2.2 Deuxieme etape : application de la precontrainte sur le beton + # en desactivant les cables + #----------------------------------------------------------------------- + + # Regeneration des mots-cles EXCIT passés en argument de la macro + if EXCIT.__class__.__name__=='MCList' : + 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] + + elif EXCIT.__class__.__name__=='MCFACT' : + dExcit=[] + dExcit.append(EXCIT.cree_dict_valeurs(EXCIT.mc_liste)) + for i in dExcit[-1].keys(): + if dExcit[-1][i]==None : del dExcit[-1][i] + + if CABLE_BP_INACTIF: + dExcit.append(_F(CHARGE=__C_CI),) + + # Creation du mots-cle EXCIT pour le STAT_NON_LINE + dExcit1=copy.copy(dExcit) + dExcit1.append(_F(CHARGE=__C_CA),) + dExcit1.append(_F(CHARGE = __F_CA, + FONC_MULT=__FCT ),) + + RES=STAT_NON_LINE( + MODELE =MODELE, + CARA_ELEM =CARA_ELEM, + CHAM_MATER = CHAM_MATER, + COMP_INCR=dComp_incr0, + INCREMENT=dIncrement, + ETAT_INIT = dEtatInit, + NEWTON =dNewton, + CONVERGENCE=dConvergence, + RECH_LINEAIRE = dRech_lin, + SOLVEUR = dSolveur, + SOLV_NON_LOCAL = dSolv_nonloc, + LAGR_NON_LOCAL = dLagr_nonloc, + ARCHIVAGE = _F(INST = __TINT), + PARM_THETA = PARM_THETA, + INFO =INFO, + TITRE = TITRE, + EXCIT = dExcit1, + ) + + # Recuperation du dernier numero d'ordre pour pouvoir l'écraser dans RES + __dico2 = RES.LIST_VARI_ACCES() + __no = __dico2['NUME_ORDRE'][-1] + + + #----------------------------------------------------------------------- + # 2.2 Troisieme etape : on remet la tension dans les cables + #----------------------------------------------------------------------- + + # Creation du mots-cles EXCIT pour le STAT_NON_LINE + dExcit2=copy.copy(dExcit) + dExcit2.append(_F(CHARGE=__C_CT,) ) + + # Calcul sur un seul pas (de __TINT a __TMAX) + RES=STAT_NON_LINE( reuse = RES, + ETAT_INIT = _F(EVOL_NOLI =RES), + MODELE = MODELE, + CHAM_MATER = CHAM_MATER, + CARA_ELEM = CARA_ELEM, + COMP_INCR=dComp_incr1, + INCREMENT=_F(LIST_INST = __LST, + PRECISION = __prec), + NEWTON =dNewton, + RECH_LINEAIRE = dRech_lin, + CONVERGENCE=dConvergence, + SOLVEUR = dSolveur, + SOLV_NON_LOCAL = dSolv_nonloc, + LAGR_NON_LOCAL = dLagr_nonloc, + ARCHIVAGE = _F(NUME_INIT = __no, + DETR_NUME_SUIV = 'OUI' ), + PARM_THETA = PARM_THETA, + INFO =INFO, + TITRE = TITRE, + EXCIT =dExcit2, + ) + + return ier + diff --git a/Aster/Cata/Macro/macr_cara_poutre_ops.py b/Aster/Cata/Macro/macr_cara_poutre_ops.py new file mode 100644 index 00000000..9bc59c66 --- /dev/null +++ b/Aster/Cata/Macro/macr_cara_poutre_ops.py @@ -0,0 +1,690 @@ +#@ MODIF macr_cara_poutre_ops Macro DATE 28/01/2003 AUTEUR JMBHH01 J.M.PROIX +# 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 + +def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD, + GROUP_MA,ORIG_INER,**args): + """ + Ecriture de la macro MACR_CARA_POUTRE + """ + import types + from Accas import _F + 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 + LIRE_MAILLAGE =self.get_cmd('LIRE_MAILLAGE') + DEFI_GROUP =self.get_cmd('DEFI_GROUP') + CREA_MAILLAGE =self.get_cmd('CREA_MAILLAGE') + AFFE_MODELE =self.get_cmd('AFFE_MODELE') + DEFI_MATERIAU =self.get_cmd('DEFI_MATERIAU') + AFFE_MATERIAU =self.get_cmd('AFFE_MATERIAU') + DEFI_FONCTION =self.get_cmd('DEFI_FONCTION') + DEFI_CONSTANTE =self.get_cmd('DEFI_CONSTANTE') + AFFE_CHAR_THER =self.get_cmd('AFFE_CHAR_THER') + AFFE_CHAR_THER_F=self.get_cmd('AFFE_CHAR_THER_F') + THER_LINEAIRE =self.get_cmd('THER_LINEAIRE') + CALC_VECT_ELEM =self.get_cmd('CALC_VECT_ELEM') + CALC_MATR_ELEM =self.get_cmd('CALC_MATR_ELEM') + NUME_DDL =self.get_cmd('NUME_DDL') + ASSE_VECTEUR =self.get_cmd('ASSE_VECTEUR') + POST_ELEM =self.get_cmd('POST_ELEM') + # 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 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 +# + __nomlma=LIRE_MAILLAGE(UNITE=UNITE_MAILLAGE,) + + __nomamo=AFFE_MODELE(MAILLAGE=__nomlma, + AFFE=_F(TOUT='OUI', + PHENOMENE='MECANIQUE', + MODELISATION='D_PLAN',), ) + + __nomdma=DEFI_MATERIAU(ELAS=_F(E=1.0,NU=0.,RHO=1.0),) + + + __nomama=AFFE_MATERIAU(MAILLAGE=__nomlma, + AFFE=_F(TOUT='OUI', + MATER=__nomdma,), ) + +# --- CALCUL DES CARACTERISTIQUES GEOMETRIQUES DE LA SECTION : +# ------------------------------------------------------ + + motsimps={} + if GROUP_MA : motsimps['GROUP_MA'] = GROUP_MA + if SYME_X : motsimps['SYME_X'] = SYME_X + 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 ) + +# nb : si GROUP_MA n existe pas : le mot clé est ignoré + +# +# ================================================================== +# --- = CALCUL DE LA CONSTANTE DE TORSION SUR TOUT LE MAILLAGE = +# --- = OU DU CENTRE DE TORSION/CISAILLEMENT = +# --- = DES COEFFICIENTS DE CISAILLEMENT = +# --- = ET DE L INERTIE DE GAUCHISSEMENT = +# --- = ON CREE UN MODELE PLAN 2D THERMIQUE REPRESENTANT LA SECTION = +# --- = DE LA POUTRE CAR ON A A RESOUDRE DES E.D.P. AVEC DES LAPLACIENS= +# ================================================================== + + 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 : +# --------------------------------------------------------- + motscles={} + if type(GROUP_MA_BORD)==types.StringType: + motscles['CREA_GROUP_NO']=_F(GROUP_MA=GROUP_MA_BORD,) + else: + motscles['CREA_GROUP_NO']=[] + for grma in GROUP_MA_BORD: + motscles['CREA_GROUP_NO'].append(_F(GROUP_MA=grma,)) + __nomlma=DEFI_GROUP(reuse=__nomlma, + MAILLAGE=__nomlma, + **motscles) + + +# --- CREATION D UN MAILLAGE IDENTIQUE AU PREMIER A CECI PRES +# --- QUE LES COORDONNEES SONT EXPRIMEES DANS LE REPERE PRINCIPAL +# --- D INERTIE DONT L ORIGINE EST LE CENTRE DE GRAVITE DE LA SECTION : +# --------------------------------------------------------------- + + __nomapi=CREA_MAILLAGE(MAILLAGE=__nomlma, + REPERE=_F(TABLE=nomres, + NOM_ORIG='CDG', ), ) + +# --- AFFECTATION DU PHENOMENE 'THERMIQUE' AU MODELE EN VUE DE +# --- LA CONSTRUCTION D UN OPERATEUR LAPLACIEN SUR CE MODELE : +# ------------------------------------------------------ + + __nomoth=AFFE_MODELE(MAILLAGE=__nomapi, + AFFE=_F(TOUT='OUI', + PHENOMENE='THERMIQUE', + MODELISATION='PLAN',), ) + +# --- POUR LA CONSTRUCTION DU LAPLACIEN, ON DEFINIT UN +# --- PSEUDO-MATERIAU DONT LES CARACTERISTIQUES THERMIQUES SONT : +# --- LAMBDA = 1, RHO*CP = 0 : +# ---------------------- + + __nomath=DEFI_MATERIAU(THER=_F(LAMBDA=1.0,RHO_CP=0.,),) + +# --- DEFINITION D UN CHAM_MATER A PARTIR DU MATERIAU PRECEDENT : +# --------------------------------------------------------- + + __chmath=AFFE_MATERIAU(MAILLAGE=__nomapi, + AFFE=_F(TOUT='OUI', + MATER=__nomath,), ) + +# +# ------------------------------------------------------------ +# --- - CALCUL DE LA CONSTANTE DE TORSION PAR RESOLUTION - +# --- - D UN LAPLACIEN AVEC UN TERME SOURCE EGAL A -2 - +# --- - L INCONNUE ETANT NULLE SUR LE CONTOUR DE LA SECTION : - +# --- - LAPLACIEN(PHI) = -2 DANS LA SECTION - +# --- - PHI = 0 SUR LE CONTOUR : - +# ------------------------------------------------------------ +# +# --- ON IMPOSE LA VALEUR 0 A L INCONNUE SCALAIRE SUR LE CONTOUR +# --- DE LA SECTION +# --- ET ON A UN TERME SOURCE EGAL A -2 DANS TOUTE LA SECTION : +# ------------------------------------------------------- + + motscles={} + if args.has_key('GROUP_MA_INTE'): + if args['GROUP_MA_INTE'] != None : + motscles['LIAISON_UNIF']=_F(GROUP_MA=args['GROUP_MA_INTE'],DDL='TEMP'), + __chart1=AFFE_CHAR_THER(MODELE=__nomoth, + TEMP_IMPO =_F(GROUP_NO=GROUP_MA_BORD, + TEMP=0. ), + SOURCE =_F(TOUT='OUI', + SOUR=2.0), + **motscles ) + +# --- POUR CHAQUE TROU DE LA SECTION : +# --- .ON A IMPOSE QUE PHI EST CONSTANT SUR LE CONTOUR INTERIEUR +# --- EN FAISANT LE LIAISON_UNIF DANS LE AFFE_CHAR_THER PRECEDENT +# --- .ON IMPOSE EN PLUS D(PHI)/DN = 2*AIRE(TROU)/L(TROU) +# --- OU D/DN DESIGNE LA DERIVEE PAR RAPPORT A LA +# --- NORMALE ET L DESIGNE LA LONGUEUR DU BORD DU TROU : +# ------------------------------------------------------- + + if args.has_key('GROUP_MA_INTE'): + lgmaint=args['GROUP_MA_INTE'] + if lgmaint != None : + __tbaire=POST_ELEM(MODELE=__nomoth, + AIRE_INTERNE=_F(GROUP_MA_BORD=args['GROUP_MA_INTE'],), ) + + motscles={} + motscles['FLUX_REP']=[] + + if type(lgmaint)==types.StringType: + motscles['FLUX_REP']=_F(GROUP_MA=args['GROUP_MA_INTE'],CARA_TORSION=__tbaire) + else: + motscles['FLUX_REP']=[] + for grma in lgmaint: + motscles['FLUX_REP'].append(_F(GROUP_MA=grma,CARA_TORSION=__tbaire),) + __chart2=AFFE_CHAR_THER(MODELE=__nomoth,**motscles) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -2 +# --- AVEC PHI = 0 SUR LE CONTOUR : +# ---------------------------------------- + + motscles={} + motscles['EXCIT']=[_F(CHARGE=__chart1,),] + if args.has_key('GROUP_MA_INTE'): + if lgmaint != None : + motscles['EXCIT'].append(_F(CHARGE=__chart2,)) + __tempe1=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + SOLVEUR=_F(STOP_SINGULIER='NON',), + **motscles ) + +# +# ---------------------------------------------- +# --- - CALCUL DU CENTRE DE TORSION/CISAILLEMENT - +# --- - ET DES COEFFICIENTS DE CISAILLEMENT : - +# ---------------------------------------------- +# +# --- POUR LE CALCUL DES CONSTANTES DE CISAILLEMENT, ON VA DEFINIR +# --- UN PREMIER TERME SOURCE, SECOND MEMBRE DE L EQUATION DE LAPLACE +# --- PAR UNE FONCTION EGALE A Y : +# -------------------------- + + __fnsec1=DEFI_FONCTION(NOM_PARA='X', + VALE=(0.,0.,10.,10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', + ) + + __fnsec0=DEFI_CONSTANTE(VALE=0.,) + +# --- LE TERME SOURCE CONSTITUANT LE SECOND MEMBRE DE L EQUATION +# --- DE LAPLACE EST PRIS EGAL A Y DANS TOUTE LA SECTION : +# -------------------------------------------------- + + + motscles={} + if args.has_key('NOEUD'): + motscles['TEMP_IMPO']=(_F(NOEUD=args['NOEUD'],TEMP=__fnsec0)) + __chart2=AFFE_CHAR_THER_F(MODELE=__nomoth, + SOURCE=_F(TOUT='OUI', + SOUR=__fnsec1,), + **motscles ) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -Y +# --- AVEC D(PHI)/D(N) = 0 SUR LE CONTOUR : +# ------------------------------------------------ + + __tempe2=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + EXCIT=_F(CHARGE=__chart2,), + SOLVEUR=_F(STOP_SINGULIER='NON',), + ) + +# --- POUR LE CALCUL DES CONSTANTES DE CISAILLEMENT, ON VA DEFINIR +# --- UN PREMIER TERME SOURCE, SECOND MEMBRE DE L EQUATION DE LAPLACE +# --- PAR UNE FONCTION EGALE A Z : +# -------------------------- + + __fnsec2=DEFI_FONCTION(NOM_PARA='Y', + VALE=(0.,0.,10.,10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', + ) + +# --- LE TERME SOURCE CONSTITUANT LE SECOND MEMBRE DE L EQUATION +# --- DE LAPLACE EST PRIS EGAL A Z DANS TOUTE LA SECTION : +# -------------------------------------------------- + + motscles={} + if args.has_key('NOEUD'): + motscles['TEMP_IMPO']=_F(NOEUD=args['NOEUD'],TEMP=__fnsec0) + __chart3=AFFE_CHAR_THER_F(MODELE=__nomoth, + SOURCE=_F(TOUT='OUI', + SOUR=__fnsec2,), + **motscles) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -Z +# --- AVEC D(PHI)/D(N) = 0 SUR LE CONTOUR : +# ------------------------------------------------ + + __tempe3=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + EXCIT=_F(CHARGE=__chart3,), + SOLVEUR=_F(STOP_SINGULIER='NON',), + ) + +# --- CALCUL DE LA CONSTANTE DE TORSION : +# --------------------------------- + + motscles={} + if args.has_key('GROUP_MA_INTE'): + lgmaint=args['GROUP_MA_INTE'] + if lgmaint != None : + motscles['CARA_POUTRE']=_F(CARA_GEOM=nomres, + LAPL_PHI=__tempe1, + TOUT='OUI', + OPTION='CARA_TORSION', + GROUP_MA_INTE=args['GROUP_MA_INTE'],) + else: + motscles['CARA_POUTRE']=_F(CARA_GEOM=nomres, + LAPL_PHI=__tempe1, + TOUT='OUI', + OPTION='CARA_TORSION', ) + nomres=POST_ELEM(reuse=nomres, + 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',), ) + +# +# ------------------------------------------------------------ +# --- - CALCUL DE L INERTIE DE GAUCHISSEMENT PAR RESOLUTION DE - +# --- - LAPLACIEN(OMEGA) = 0 DANS LA SECTION - +# --- - AVEC D(OMEGA)/D(N) = Z*NY-Y*NZ SUR LE - +# --- - CONTOUR DE LA SECTION - +# --- - NY ET NZ SONT LES COMPOSANTES DU VECTEUR N NORMAL - +# --- - A CE CONTOUR - +# --- - ET SOMME_S(OMEGA.DS) = 0 - +# --- - OMEGA EST LA FONCTION DE GAUCHISSEMENT - +# --- - L INERTIE DE GAUCHISSEMENT EST SOMME_S(OMEGA**2.DS) - +# ------------------------------------------------------------ +# +# --- CREATION D UN MAILLAGE DONT LES COORDONNEES SONT EXPRIMEES +# --- DANS LE REPERE PRINCIPAL D INERTIE MAIS AVEC COMME ORIGINE +# --- LE CENTRE DE TORSION DE LA SECTION, ON VA DONC UTILISER +# --- LE MAILLAGE DE NOM NOMAPI DONT LES COORDONNEES SONT +# --- EXPRIMEES DANS LE REPERE PRINCIPAL D'INERTIE, L'ORIGINE +# --- ETANT LE CENTRE DE GRAVITE DE LA SECTION (QUI EST DONC +# --- A CHANGER) : +# ---------- + + __nomapt=CREA_MAILLAGE(MAILLAGE=__nomapi, + REPERE=_F(TABLE=nomres, + NOM_ORIG='TORSION',) ) + +# --- AFFECTATION DU PHENOMENE 'THERMIQUE' AU MODELE EN VUE DE +# --- LA CONSTRUCTION D UN OPERATEUR LAPLACIEN SUR CE MODELE : +# ------------------------------------------------------ + + __nomot2=AFFE_MODELE(MAILLAGE=__nomapt, + AFFE=_F(TOUT='OUI', + PHENOMENE='THERMIQUE', + MODELISATION='PLAN', ) ) + +# --- DEFINITION D UN CHAM_MATER A PARTIR DU MATERIAU PRECEDENT : +# --------------------------------------------------------- + + __chmat2=AFFE_MATERIAU(MAILLAGE=__nomapt, + AFFE=_F(TOUT='OUI', + MATER=__nomath, ), ) + +# --- POUR LE CALCUL DE L INERTIE DE GAUCHISSEMENT, ON VA DEFINIR +# --- LA COMPOSANTE SELON Y DU FLUX A IMPOSER SUR LE CONTOUR +# --- PAR UNE FONCTION EGALE A -X : +# --------------------------- + + __fnsec3=DEFI_FONCTION(NOM_PARA='X', + VALE=(0.,0.,10.,-10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', + ) + +# --- POUR LE CALCUL DE L INERTIE DE GAUCHISSEMENT, ON VA DEFINIR +# --- LA COMPOSANTE SELON X DU FLUX A IMPOSER SUR LE CONTOUR +# --- PAR UNE FONCTION EGALE A Y : +# -------------------------- + + __fnsec4=DEFI_FONCTION(NOM_PARA='Y', + VALE=(0.,0.,10.,10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', + ) + +# --- DANS LE BUT D IMPOSER LA RELATION LINEAIRE ENTRE DDLS +# --- SOMME_SECTION(OMEGA.DS) = 0 ( CETTE CONDITION +# --- VENANT DE L EQUATION D EQUILIBRE SELON L AXE DE LA POUTRE +# --- N = 0, N ETANT L EFFORT NORMAL) +# --- ON CALCULE LE VECTEUR DE CHARGEMENT DU A UN TERME SOURCE EGAL +# --- A 1., LES TERMES DE CE VECTEUR SONT EGAUX A +# --- SOMME_SECTION(NI.DS) ET SONT DONC LES COEFFICIENTS DE +# --- LA RELATION LINEAIRE A IMPOSER. +# --- ON DEFINIT DONC UN CHARGEMENT DU A UN TERME SOURCE EGAL A 1 : +# ----------------------------------------------------------- + + __chart4=AFFE_CHAR_THER(MODELE=__nomot2, + SOURCE=_F(TOUT='OUI', + SOUR=1.0), ) + +# --- ON CALCULE LE VECT_ELEM DU AU CHARGEMENT PRECEDENT +# --- IL S AGIT DES VECTEURS ELEMENTAIRES DONT LE TERME +# --- AU NOEUD COURANT I EST EGAL A SOMME_SECTION(NI.DS) : +# -------------------------------------------------- + + __vecel=CALC_VECT_ELEM(CHARGE=__chart4, + OPTION='CHAR_THER' + ) + +# --- ON CALCULE LE MATR_ELEM DES MATRICES ELEMENTAIRES +# --- DE CONDUCTIVITE UNIQUEMENT POUR GENERER LE NUME_DDL +# --- SUR-LEQUEL S APPUIERA LE CHAMNO UTILISE POUR ECRIRE LA +# --- RELATION LINEAIRE ENTRE DDLS : +# ---------------------------- + + __matel=CALC_MATR_ELEM(MODELE=__nomot2, + CHAM_MATER=__chmat2, + CHARGE=__chart4, + OPTION='RIGI_THER',) + +# --- ON DEFINIT LE NUME_DDL ASSOCIE AU MATR_ELEM DEFINI +# --- PRECEDEMMENT POUR CONSTRUIRE LE CHAMNO UTILISE POUR ECRIRE LA +# --- RELATION LINEAIRE ENTRE DDLS : +# ---------------------------- + + __numddl=NUME_DDL(MATR_RIGI=__matel, + METHODE='LDLT', ) + +# --- ON CONSTRUIT LE CHAMNO QUI VA ETRE UTILISE POUR ECRIRE LA +# --- RELATION LINEAIRE ENTRE DDLS : +# ---------------------------- + + __chamno=ASSE_VECTEUR(VECT_ELEM=__vecel, + NUME_DDL=__numddl, ) + +# --- ON IMPOSE LA RELATION LINEAIRE ENTRE DDLS +# --- SOMME_SECTION(OMEGA.DS) = 0 ( CETTE CONDITION +# --- VENANT DE L EQUATION D EQUILIBRE SELON L AXE DE LA POUTRE +# --- N = 0, N ETANT L EFFORT NORMAL) +# --- POUR IMPOSER CETTE RELATION ON PASSE PAR LIAISON_CHAMNO, +# --- LES TERMES DU CHAMNO (I.E. SOMME_SECTION(NI.DS)) +# --- SONT LES COEFFICIENTS DE LA RELATION LINEAIRE : +# --------------------------------------------- + + __chart5=AFFE_CHAR_THER(MODELE=__nomot2, + LIAISON_CHAMNO=_F(CHAM_NO=__chamno, + COEF_IMPO=0.), ) + +# --- LE CHARGEMENT EST UN FLUX REPARTI NORMAL AU CONTOUR +# --- DONT LES COMPOSANTES SONT +Z (I.E. +Y) ET -Y (I.E. -X) +# --- SELON LA DIRECTION NORMALE AU CONTOUR : +# ------------------------------------- + + __chart6=AFFE_CHAR_THER_F(MODELE=__nomot2, + FLUX_REP=_F(GROUP_MA=GROUP_MA_BORD, + FLUX_X =__fnsec4, + FLUX_Y =__fnsec3,), ) + +# --- RESOLUTION DE LAPLACIEN(OMEGA) = 0 +# --- AVEC D(OMEGA)/D(N) = Z*NY-Y*NZ SUR LE CONTOUR DE LA SECTION +# --- ET SOMME_SECTION(OMEGA.DS) = 0 ( CETTE CONDITION +# --- VENANT DE L EQUATION D EQUILIBRE SELON L AXE DE LA POUTRE +# --- N = 0, N ETANT L EFFORT NORMAL) : +# ------------------------------- + + __tempe4=THER_LINEAIRE(MODELE=__nomot2, + CHAM_MATER=__chmat2, + EXCIT=(_F(CHARGE=__chart5,), + _F(CHARGE=__chart6,),), + SOLVEUR=_F(METHODE='LDLT', + RENUM='SANS', + STOP_SINGULIER='NON',), ) + +# --- CALCUL DE L INERTIE DE GAUCHISSEMENT : +# ------------------------------------- + + nomres=POST_ELEM(reuse=nomres, + MODELE=__nomot2, + CHAM_MATER=__chmat2, + CARA_POUTRE=_F(CARA_GEOM=nomres, + LAPL_PHI=__tempe4, + TOUT='OUI', + OPTION='CARA_GAUCHI'), ) + +# +# ================================================================== +# --- = CALCUL DE LA CONSTANTE DE TORSION SUR CHAQUE GROUPE = +# --- = ET DU CENTRE DE TORSION/CISAILLEMENT = +# --- = DES COEFFICIENTS DE CISAILLEMENT = +# ================================================================== +# + + + if GROUP_MA_BORD and GROUP_MA: + + if type(GROUP_MA_BORD)==types.StringType : + l_group_ma_bord=[GROUP_MA_BORD,] + else: + l_group_ma_bord= GROUP_MA_BORD + if type(GROUP_MA)==types.StringType : + l_group_ma=[GROUP_MA,] + else: + l_group_ma= GROUP_MA + + if args.has_key('NOEUD'): + if type(args['NOEUD'])==types.StringType : + l_noeud=[args['NOEUD'],] + else: + 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 + 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 + + for i in range(0,len(l_group_ma_bord)): + +# --- TRANSFORMATION DES GROUP_MA EN GROUP_NO SUR-LESQUELS +# --- ON POURRA APPLIQUER DES CONDITIONS DE TEMPERATURE IMPOSEE : +# --------------------------------------------------------- + + __nomlma=DEFI_GROUP(reuse=__nomlma, + MAILLAGE=__nomlma, + CREA_GROUP_NO=_F(GROUP_MA=l_group_ma_bord[i],) ) + + +# --- CREATION D UN MAILLAGE IDENTIQUE AU PREMIER A CECI PRES +# --- QUE LES COORDONNEES SONT EXPRIMEES DANS LE REPERE PRINCIPAL +# --- D INERTIE DONT L ORIGINE EST LE CENTRE DE GRAVITE DE LA SECTION : +# --------------------------------------------------------------- + + __nomapi=CREA_MAILLAGE(MAILLAGE=__nomlma, + REPERE=_F(TABLE=nomres, + NOM_ORIG='CDG', + GROUP_MA=l_group_ma[i], ), ) + +# --- AFFECTATION DU PHENOMENE 'THERMIQUE' AU MODELE EN VUE DE +# --- LA CONSTRUCTION D UN OPERATEUR LAPLACIEN SUR CE MODELE : +# ------------------------------------------------------ + + __nomoth=AFFE_MODELE(MAILLAGE=__nomapi, + AFFE=_F(GROUP_MA=l_group_ma[i], + PHENOMENE='THERMIQUE', + MODELISATION='PLAN', ) ) + +# --- POUR LA CONSTRUCTION DU LAPLACIEN, ON DEFINIT UN +# --- PSEUDO-MATERIAU DONT LES CARACTERISTIQUES THERMIQUES SONT : +# --- LAMBDA = 1, RHO*CP = 0 : +# ---------------------- + + __nomath=DEFI_MATERIAU(THER=_F(LAMBDA=1.0, + RHO_CP=0.0, ), ) + +# --- DEFINITION D UN CHAM_MATER A PARTIR DU MATERIAU PRECEDENT : +# --------------------------------------------------------- + + __chmath=AFFE_MATERIAU(MAILLAGE=__nomapi, + AFFE=_F(TOUT='OUI', + MATER=__nomath ), ) + +# +# ------------------------------------------------------------ +# --- - CALCUL DE LA CONSTANTE DE TORSION PAR RESOLUTION - +# --- - D UN LAPLACIEN AVEC UN TERME SOURCE EGAL A -2 - +# --- - L INCONNUE ETANT NULLE SUR LE CONTOUR DE LA SECTION : - +# --- - LAPLACIEN(PHI) = -2 DANS LA SECTION - +# --- - PHI = 0 SUR LE CONTOUR : - +# ------------------------------------------------------------ +# +# --- ON IMPOSE LA VALEUR 0 A L INCONNUE SCALAIRE SUR LE CONTOUR +# --- DE LA SECTION +# --- ET ON A UN TERME SOURCE EGAL A -2 DANS TOUTE LA SECTION : +# ------------------------------------------------------- + + __chart1=AFFE_CHAR_THER(MODELE=__nomoth, + TEMP_IMPO=_F(GROUP_NO=l_group_ma_bord[i], + TEMP=0.0 ), + SOURCE=_F(TOUT='OUI', + SOUR=2.0 ) ) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -2 +# --- AVEC PHI = 0 SUR LE CONTOUR : +# ---------------------------------------- + + __tempe1=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + EXCIT=_F(CHARGE=__chart1, ), + SOLVEUR=_F(STOP_SINGULIER='NON',) ) + +# +# ---------------------------------------------- +# --- - CALCUL DU CENTRE DE TORSION/CISAILLEMENT - +# --- - ET DES COEFFICIENTS DE CISAILLEMENT : - +# ---------------------------------------------- +# +# --- POUR LE CALCUL DES CONSTANTES DE CISAILLEMENT, ON VA DEFINIR +# --- UN PREMIER TERME SOURCE, SECOND MEMBRE DE L EQUATION DE LAPLACE +# --- PAR UNE FONCTION EGALE A Y : +# -------------------------- + + __fnsec1=DEFI_FONCTION(NOM_PARA='X', + VALE=(0.,0.,10.,10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', ) + + __fnsec0=DEFI_CONSTANTE(VALE=0.,) + +# --- LE TERME SOURCE CONSTITUANT LE SECOND MEMBRE DE L EQUATION +# --- DE LAPLACE EST PRIS EGAL A Y DANS TOUTE LA SECTION : +# -------------------------------------------------- + + __chart2=AFFE_CHAR_THER_F(MODELE=__nomoth, + TEMP_IMPO=_F(NOEUD=l_noeud[i], + TEMP=__fnsec0), + SOURCE=_F(TOUT='OUI', + SOUR=__fnsec1) ) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -Y +# --- AVEC D(PHI)/D(N) = 0 SUR LE CONTOUR : +# ------------------------------------------------ + + __tempe2=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + EXCIT=_F(CHARGE=__chart2, ), + SOLVEUR=_F(STOP_SINGULIER='NON',) ) + +# --- POUR LE CALCUL DES CONSTANTES DE CISAILLEMENT, ON VA DEFINIR +# --- UN PREMIER TERME SOURCE, SECOND MEMBRE DE L EQUATION DE LAPLACE +# --- PAR UNE FONCTION EGALE A Z : +# -------------------------- + + __fnsec2=DEFI_FONCTION(NOM_PARA='Y', + VALE=(0.,0.,10.,10.), + PROL_DROITE='LINEAIRE', + PROL_GAUCHE='LINEAIRE', ) + +# --- LE TERME SOURCE CONSTITUANT LE SECOND MEMBRE DE L EQUATION +# --- DE LAPLACE EST PRIS EGAL A Z DANS TOUTE LA SECTION : +# -------------------------------------------------- + + __chart3=AFFE_CHAR_THER_F(MODELE=__nomoth, + TEMP_IMPO=_F(NOEUD=l_noeud[i], + TEMP=__fnsec0), + SOURCE=_F(TOUT='OUI', + SOUR=__fnsec2) ) + +# --- RESOLUTION DE LAPLACIEN(PHI) = -Z +# --- AVEC D(PHI)/D(N) = 0 SUR LE CONTOUR : +# ------------------------------------------------ + + __tempe3=THER_LINEAIRE(MODELE=__nomoth, + CHAM_MATER=__chmath, + EXCIT=_F(CHARGE=__chart3, ), + SOLVEUR=_F(STOP_SINGULIER='NON',) ) + +# --- 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, + 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' ), ) + + return ier + diff --git a/Aster/Cata/Macro/macr_lign_coupe_ops.py b/Aster/Cata/Macro/macr_lign_coupe_ops.py index 98e17cfa..7ad07a7b 100644 --- a/Aster/Cata/Macro/macr_lign_coupe_ops.py +++ b/Aster/Cata/Macro/macr_lign_coupe_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_lign_coupe_ops Macro DATE 28/08/2002 AUTEUR DURAND C.DURAND +#@ MODIF macr_lign_coupe_ops Macro DATE 20/01/2003 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -76,7 +76,7 @@ def crea_mail_lig_coup(lignes): nbp_lig_coupe = lignes[i][2] for j in range(nbp_lig_coupe-1): nbma=nbma+1 - resu=resu+' M'+str(nbma) + resu=resu+' M'+str(nbma)+'\n' resu=resu+'\n' resu=resu+'FINSF\n' resu=resu+'FIN\n' @@ -105,7 +105,8 @@ def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,MODELE, POST_RELEVE_T =self.get_cmd('POST_RELEVE_T') # La macro compte pour 1 dans la numerotation des commandes - self.icmd=1 + #self.icmd=1 + self.set_icmd(1) lignes=[] for m in LIGN_COUPE : diff --git a/Aster/Cata/Macro/macr_recal_ops.py b/Aster/Cata/Macro/macr_recal_ops.py index d2115425..f48536b5 100644 --- a/Aster/Cata/Macro/macr_recal_ops.py +++ b/Aster/Cata/Macro/macr_recal_ops.py @@ -1,4 +1,4 @@ -#@ MODIF macr_recal_ops Macro DATE 24/09/2002 AUTEUR PABHHHH N.TARDIEU +#@ MODIF macr_recal_ops Macro DATE 31/01/2003 AUTEUR PABHHHH N.TARDIEU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -22,8 +22,21 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, LIST_PARA, RESU_CALC, GRAPHIQUE, **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 Numeric import copy import types import Macro @@ -33,18 +46,26 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, LIST_PARA, RESU_CALC, from Macro.reca_message import * from Macro.reca_algo import * from Macro.reca_interp import * - ier=0 # La macro compte pour 1 dans l'execution des commandes - self.icmd=1 + #self.icmd=1 + self.set_icmd(1) + self.DeclareOut('nomres',self.sd) - # Gestion des erreurs de syntaxe - texte_erreur = gestion(UNITE_ESCL,LIST_PARA,RESU_CALC,RESU_EXP) + #_____________________________________________ + # + # GESTION DES ERREURS DE SYNTAXE + #_____________________________________________ + texte_erreur = gestion(UNITE_ESCL,LIST_PARA,RESU_CALC,RESU_EXP,GRAPHIQUE,UNITE_RESU) if (texte_erreur != ""): ier=ier+1 self.cr.fatal(texte_erreur) + return ier - # On declare toutes les commandes Aster + #_____________________________________________ + # + # DECLARATION DE TOUTES LES COMMANDES ASTER + #_____________________________________________ for k,v in cata.__dict__.items() : if type(v)==types.InstanceType: if v.__class__.__name__ in ('OPER','MACRO'): @@ -52,8 +73,13 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, LIST_PARA, RESU_CALC, self.current_context['_F']=cata.__dict__['_F'] self.g_context['EXTRACT']=EXTRACT - #initialisation + #_____________________________________________ + # + # INITIALISATIONS + #_____________________________________________ iter = 0 + restant,temps_iter=0.,0. + restant,temps_iter,err=temps_CPU(self,restant,temps_iter) para,val,borne_inf,borne_sup = transforme_list_Num(LIST_PARA,RESU_EXP) val_init = copy.copy(val) L_init = calcul_F(self,UNITE_ESCL,para,val,RESU_CALC) @@ -68,39 +94,56 @@ def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, LIST_PARA, RESU_CALC, A = Simul.sensibilite(self,UNITE_ESCL,L_init,val,para,RESU_CALC,PARA_DIFF_FINI,UNITE_RESU) A = Dim.adim_sensi(A) l = lambda_init(Numeric.matrixmultiply(Numeric.transpose(A),A)) - gradient_init =calcul_gradient(A,erreur) #utile pour le test de convergence, on prend les valeurs dimensionner - residu = test_convergence(gradient_init,erreur,A) - Mess.affiche_result_iter(iter,J,val,residu,UNITE_RESU) + gradient_init =calcul_gradient(A,erreur) #utile pour le test de convergence, on prend les valeurs dimensionnées + residu = test_convergence(gradient_init,erreur,A,Numeric.zeros(len(gradient_init),Numeric.Float)) + Mess.affiche_result_iter(iter,J,val,residu,Numeric.array([]),UNITE_RESU) + # On teste un manque de temps CPU + restant,temps_iter,err=temps_CPU(self,restant,temps_iter) + if (err==1): + ier=ier+1 + return ier - #boucle principale de l'algo + #_____________________________________________ + # + # BOUCLE PRINCIPALE DE L'ALGORITHME + #_____________________________________________ epsilon = 10.*RESI_GLOB_RELA - while((residu > RESI_GLOB_RELA) & (iter RESI_GLOB_RELA) & (iter10000): + l=abs(10000.*emin-emax)/10001. return l #----------------------------------------- -def Levenberg(val,A,erreur,l): - #on resoud un systeme lineaire afin que l'on puisse réactualiser les valeurs des parametres - dim_val = len(val) - id = Numeric.identity(dim_val) - delta = LinearAlgebra.solve_linear_equations(Numeric.matrixmultiply(Numeric.transpose(A),A) +l*id ,-1*Numeric.matrixmultiply(Numeric.transpose(A),erreur)) - return delta - -def test_bornes(l,val,d,borne_inf,borne_sup): - test=1 - for i in range(len(val)): - if((val[i] + d[i] < borne_inf[i]) or (val[i] + d[i] > borne_sup[i])): - test = 0 - if (test == 0): - l= l*2 - return test,l - -def actualise_lambda(l,new_J,J): - if (new_J1.E+9): + return 0.,0.,0 + # Indique une execution en batch else: - l = l*10. + restant=TEMPS + # Initialisation + if (restant_old==0.): + temps_iter=-1. + else: + # Première mesure + if (temps_iter_old==-1.): + temps_iter=(restant_old-restant) + # Mesure courante + else: + 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") + return restant,temps_iter,err + + + + +def Levenberg_bornes(self,val,Dim,val_init,borne_inf,borne_sup,A,erreur,l,ul_out): + # on resoud le système par contraintes actives: + # Q.dval + s + d =0 + # soumis à : + # borne_inf < dval < borne_sup + # 0 < s + # s.(borne_inf - dval)=0 + # s.(borne_sup - dval)=0 + dim = len(val) + id = Numeric.identity(dim) + # Matrice du système + Q=Numeric.matrixmultiply(Numeric.transpose(A),A) +l*id + # Second membre du système + d=Numeric.matrixmultiply(Numeric.transpose(A),erreur) + # Ens. de liaisons actives + Act=Numeric.array([]) + k=0 + done=0 + # Increment des parametres + dval=Numeric.zeros(dim,Numeric.Float) + while done <1 : + k=k+1 + I=Numeric.ones(dim) + for i in Act: + I[i]=0 + I=Numeric.nonzero(Numeric.greater(I,0)) + s=Numeric.zeros(dim,Numeric.Float) + for i in Act: + # test sur les bornes (on stocke si on est en butée haute ou basse) + if (val[i]+dval[i]>=borne_sup[i]): + dval[i]=borne_sup[i]-val[i] + s[i]=1. + if (val[i]+dval[i]<=borne_inf[i]): + 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)))) + for i in Numeric.arange(len(I)): + dval[I[i]]=xi[i]*val_init[I[i]] + if (len(Act)!=0): + # s(Av)=-d(Act)-Q(Act,:).dval + sa=-take(d,Act)-Numeric.dot(take(Q,Act),Dim.adim(dval)) + for i in range(len(Act)): + if (s[Act[i]]==-1.): + s[Act[i]]=-sa[i] + else: + s[Act[i]]=sa[i] + # Nouvel ens. de liaisons actives + Act=Numeric.concatenate((Numeric.nonzero(Numeric.greater(dval,borne_sup-val)),Numeric.nonzero(Numeric.less(dval,borne_inf-val)),Numeric.nonzero(Numeric.greater(s,0.)))) + done=(max(val+dval-borne_sup)<=0)&(min(val+dval-borne_inf)>=0)&(min(s)>=0.0) + # Pour éviter le cyclage + if (k>50): + try: + l=l*2 + Q=Numeric.matrixmultiply(Numeric.transpose(A),A) +l*id + k=0 + except: + res=open(os.getcwd()+'/fort.'+str(ul_out),'a') + res.write('\n\nQ = \n'+Numeric.array2string(Q-l*id,array_output=1,separator=',')) + res.write('\n\nd = '+Numeric.array2string(d,array_output=1,separator=',')) + res.write('\n\nval = '+Numeric.array2string(val,array_output=1,separator=',')) + 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") + return + newval=copy.copy(val+dval) + return newval,s,l,Act + + +def actualise_lambda(l,val,new_val,A,erreur,new_J,old_J): + dim = len(val) + id = Numeric.identity(dim) + # Matrice du système + Q=Numeric.matrixmultiply(Numeric.transpose(A),A) +l*id + # Second membre du système + d=Numeric.matrixmultiply(Numeric.transpose(A),erreur) + old_Q=0.5*Numeric.dot(Numeric.transpose(val),Numeric.dot(Q,val))+Numeric.dot(Numeric.transpose(val),d) + new_Q=0.5*Numeric.dot(Numeric.transpose(new_val),Numeric.dot(Q,new_val))+Numeric.dot(Numeric.transpose(new_val),d) + # Ratio de la décroissance réelle et de l'approx. quad. + try: + R=(old_J-new_J)/(old_Q-new_Q) + if (R<0.25): + l = l*10. + elif (R>0.75): + l = l/15. + except ZeroDivisionError: + if (old_J>new_J): + l = l*10. + else: + l = l/10. return l -def test_convergence(gradient_init,erreur,A): - gradient = calcul_gradient(A,erreur) +def test_convergence(gradient_init,erreur,A,s): + gradient = calcul_gradient(A,erreur)+s epsilon = Numeric.dot(gradient,gradient)/Numeric.dot(gradient_init,gradient_init) epsilon = epsilon**0.5 return epsilon -#fonction appellée quand la convergence est atteinte -#on calcule le Hessien et les valeurs propres et vecteurs propre associés à l'inverse du Hessien -# a est la sensibilite -#le hessien=At*A -def calcul_etat_final(A,iter,max_iter,prec,residu,Messg,ul_out): +# fonction appellée quand la convergence est atteinte +# on calcule le Hessien et les valeurs propres et vecteurs +# propre associés au Hessien +# A = sensibilite +# At*A = hessien +def calcul_etat_final(para,A,iter,max_iter,prec,residu,Messg,ul_out): if ((iter < max_iter) or (residu < prec)): Hessien = Numeric.matrixmultiply(Numeric.transpose(A),A) valeurs_propres,vecteurs_propres = LinearAlgebra.eigenvectors(Hessien) - Messg.affiche_calcul_etat_final(Hessien,valeurs_propres,vecteurs_propres,ul_out) + sensible=Numeric.nonzero(Numeric.greater(abs(valeurs_propres/max(abs(valeurs_propres))),1.E-1)) + insensible=Numeric.nonzero(Numeric.less(abs(valeurs_propres/max(abs(valeurs_propres))),1.E-2)) + Messg.affiche_calcul_etat_final(para,Hessien,valeurs_propres,vecteurs_propres,sensible,insensible,ul_out) + + + + + diff --git a/Aster/Cata/Macro/reca_interp.py b/Aster/Cata/Macro/reca_interp.py index 675e9027..48aac07e 100644 --- a/Aster/Cata/Macro/reca_interp.py +++ b/Aster/Cata/Macro/reca_interp.py @@ -1,4 +1,4 @@ -#@ MODIF reca_interp Macro DATE 24/09/2002 AUTEUR PABHHHH N.TARDIEU +#@ MODIF reca_interp Macro DATE 13/01/2003 AUTEUR PABHHHH N.TARDIEU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -118,10 +118,11 @@ class Sim_exp : L_J[i] = L_J[i]/L_J_init[i] except ZeroDivisionError: fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') - fic.write('\012 Problème de division par zéro dans la normalisation de la fonctionnelle.') - fic.write('\012 Une des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine :'+ str(L_J_init)) + 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.close() - FIN() + 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 J = Numeric.sum(L_J) J = J/len(L_J) @@ -134,7 +135,7 @@ class Sim_exp : L_A.append(Numeric.zeros((len(self.resu_exp[i]),len(val)),Numeric.Float) ) #calcul de la sensibilité fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') - fic.write('\012Calcul de la sensibilité par rapport à :') + fic.write('\nCalcul de la sensibilité par rapport à :') fic.close() for k in range(len(val)): #pour une colone de A h = val[k]*pas @@ -151,10 +152,11 @@ class Sim_exp : L_A[j][i,k] = -1*(F_interp[j][i] - F_perturbe_interp[j][i])/h except ZeroDivisionError: fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') - fic.write('\012 Probleme de division par zéro dans le calcul de la matrice de sensiblité') - fic.write('\012 Le parametre '+para[k]+'est nul ou plus petit que la précision machine') + 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() - FIN() + 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 #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/Macro/reca_message.py b/Aster/Cata/Macro/reca_message.py index 8068d9ef..68e33a47 100644 --- a/Aster/Cata/Macro/reca_message.py +++ b/Aster/Cata/Macro/reca_message.py @@ -1,4 +1,4 @@ -#@ MODIF reca_message Macro DATE 24/09/2002 AUTEUR PABHHHH N.TARDIEU +#@ MODIF reca_message Macro DATE 13/01/2003 AUTEUR PABHHHH N.TARDIEU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -17,7 +17,7 @@ # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -import os +import os,Numeric #=========================================================================================== # AFFICHAGE DES MESSAGES @@ -29,43 +29,84 @@ class Message : self.nom_para = para self.res_exp = resu_exp res=open(os.getcwd()+'/fort.'+str(ul_out),'a') - res.write(' MACR_RECAL V1.0 \012\012\012') + res.write(' MACR_RECAL V1.1 \n\n\n') res.close() - def affiche_result_iter(self,iter,J,val,residu,ul_out): + def affiche_result_iter(self,iter,J,val,residu,Act,ul_out): res=open(os.getcwd()+'/fort.'+str(ul_out),'a') - res.write('\012=======================================================\012') - res.write('Iteration '+str(iter)+' :\012') - res.write('\012=> Fonctionnelle = '+str(J)) - res.write('\012=> Résidu = '+str(residu)) - res.write('\012=> Paramètres = ') + res.write('\n=======================================================\n') + res.write('Iteration '+str(iter)+' :\n') + res.write('\n=> Fonctionnelle = '+str(J)) + res.write('\n=> Résidu = '+str(residu)) + res.write('\n=> Paramètres = ') for i in range(len(val)): - res.write('\012 '+ self.nom_para[i]+' = '+str(val[i]) ) - res.write('\012=======================================================\012\012') + res.write('\n '+ self.nom_para[i]+' = '+str(val[i]) ) + if (len(Act)!=0): + if (len(Act)==1): + res.write('\n\n Le paramètre ') + else: + res.write('\n\n Les paramètres ') + for i in Act: + res.write(self.nom_para[i]+' ') + if (len(Act)==1): + res.write('\n est en butée sur un bord de leur domaine admissible.') + else: + res.write('\n sont en butée sur un bord de leur domaine admissible.') + res.write('\n=======================================================\n\n') res.close() - def affiche_etat_final_convergence(self,iter,max_iter,prec,residu,ul_out): + def affiche_etat_final_convergence(self,iter,max_iter,prec,residu,Act,ul_out): res=open(os.getcwd()+'/fort.'+str(ul_out),'a') if ((iter < max_iter) or (residu < prec)): - res.write('\012=======================================================\012') + res.write('\n=======================================================\n') res.write(' CONVERGENCE ATTEINTE ') - res.write('\012=======================================================\012') + if (len(Act)!=0): + res.write("\n\n ATTENTION : L'OPTIMUM EST ATTEINT AVEC ") + res.write("\n DES PARAMETRES EN BUTEE SUR LE BORD ") + res.write("\n DU DOMAINE ADMISSIBLE ") + res.write('\n=======================================================\n') res.close() else: - res.write("\012=======================================================\012") + res.write("\n=======================================================\n") res.write(' CONVERGENCE NON ATTEINTE ') - res.write("\012 Le nombre maximal d'itération ("+str(max_iter)+") a été dépassé") - res.write('\012=======================================================\012') + res.write("\n Le nombre maximal d'itération ("+str(max_iter)+") a été dépassé") + res.write('\n=======================================================\n') res.close() - def affiche_calcul_etat_final(self,Hessien,valeurs_propres,vecteurs_propres,ul_out): + + def affiche_calcul_etat_final(self,para,Hessien,valeurs_propres,vecteurs_propres,sensible,insensible,ul_out): res=open(os.getcwd()+'/fort.'+str(ul_out),'a') - res.write('\012Hessien adimensionnel de la fonctionnelle cout: \012') - res.write(str(Hessien)) - res.write('\012\012Valeurs propres du Hessien:\012') + res.write('\n\nValeurs propres du Hessien:\n') res.write(str( valeurs_propres)) - res.write('\012\012Vecteurs propres associés:\012') - res.write(str(vecteurs_propres)) + res.write('\n\nVecteurs propres associés:\n') + res.write(str( vecteurs_propres)) + res.write('\n\n --------') + res.write('\n\nOn peut en déduire que :') + # Paramètres sensibles + if (len(sensible)!=0): + res.write('\n\nLes combinaisons suivantes de paramètres sont prépondérantes pour votre calcul :\n') + k=0 + for i in sensible: + k=k+1 + colonne=vecteurs_propres[:,i] + numero=Numeric.nonzero(Numeric.greater(abs(colonne/max(abs(colonne))),1.E-1)) + res.write('\n '+str(k)+') ') + for j in numero: + res.write('%+3.1E ' %colonne[j]+'* '+para[j]+' ') + res.write('\n associée à la valeur propre %3.1E \n' %valeurs_propres[i]) + # Paramètres insensibles + if (len(insensible)!=0): + res.write('\n\nLes combinaisons suivantes de paramètres sont insensibles pour votre calcul :\n') + k=0 + for i in insensible: + k=k+1 + colonne=vecteurs_propres[:,i] + numero=Numeric.nonzero(Numeric.greater(abs(colonne/max(abs(colonne))),1.E-1)) + res.write('\n '+str(k)+') ') + for j in numero: + res.write('%+3.1E ' %colonne[j]+'* '+para[j]+' ') + res.write('\n associée à la valeur propre %3.1E \n' %valeurs_propres[i]) + res.close() diff --git a/Aster/Cata/Macro/recal.py b/Aster/Cata/Macro/recal.py index 70932cd1..01ee9db0 100644 --- a/Aster/Cata/Macro/recal.py +++ b/Aster/Cata/Macro/recal.py @@ -1,4 +1,4 @@ -#@ MODIF recal Macro DATE 24/09/2002 AUTEUR PABHHHH N.TARDIEU +#@ MODIF recal Macro DATE 31/01/2003 AUTEUR PABHHHH N.TARDIEU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -30,10 +30,13 @@ from Accas import _F import os -#=========================================================================================== +#_____________________________________________ +# # DIVERS UTILITAIRES POUR LA MACRO +#_____________________________________________ + -#transforme_list_Num tranforme transforme les donneés entrées par l'utilsateur en tableau Numeric +# Transforme les donneés entrées par l'utilsateur 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) @@ -45,7 +48,6 @@ def transforme_list_Num(parametres,res_exp): val_para[i] = parametres[i][1] borne_inf[i] = parametres[i][2] borne_sup[i] = parametres[i][3] - return para,val_para,borne_inf,borne_sup def mes_concepts(list_concepts=[],base=None): @@ -60,16 +62,16 @@ def mes_concepts(list_concepts=[],base=None): return tuple(list_concepts) -def detr_concepts(objet): - liste_concepts=mes_concepts(base=objet.parent) +def detr_concepts(self): + liste_concepts=mes_concepts(base=self.parent) for e in liste_concepts: nom = string.strip(e) - DETRUIRE( CONCEPT =objet.g_context['_F'](NOM = nom)) - if objet.jdc.g_context.has_key(nom) : del objet.jdc.g_context[nom] + DETRUIRE( CONCEPT =self.g_context['_F'](NOM = nom)) + if self.jdc.g_context.has_key(nom) : del self.jdc.g_context[nom] del(liste_concepts) -def calcul_F(objet,UL,para,val,reponses): +def calcul_F(self,UL,para,val,reponses): fic = open('fort.'+str(UL),'r') #On stocke le contenu de fort.UL dans la variable fichier qui est un string fichier=fic.read() @@ -77,19 +79,19 @@ def calcul_F(objet,UL,para,val,reponses): fichiersauv=copy.copy(fichier) fic.close() - #L est une liste ou l'on va stocker le fichier modifié + #Fichier_Resu est une liste ou l'on va stocker le fichier modifié #idée générale :on délimite des 'blocs' dans fichier #on modifie ou non ces blocs suivant les besoins - #on ajoute ces blocs dans la liste L - L=[] + #on ajoute ces blocs dans la liste Fichier_Resu + Fichier_Resu=[] try: #cherche l'indice de DEBUT() index_deb=string.index(fichier,'DEBUT(') - while( fichier[index_deb]!='\012'): + while( fichier[index_deb]!='\n'): index_deb=index_deb+1 + #on restreind fichier en enlevant 'DEBUT();' fichier = fichier[index_deb+1:] - #on restreind fichier en enlevant 'DEBUT();' except : #on va dans l'except si on a modifié le fichier au moins une fois pass @@ -97,8 +99,8 @@ def calcul_F(objet,UL,para,val,reponses): try: #cherche l'indice de FIN() index_fin = string.index(fichier,'FIN(') + #on restreind fichier en enlevant 'FIN();' fichier = fichier[:index_fin] - #on restreind fichier en enlevant 'FIN();' except : #on va dans l'except si on a modifié le fichier au moins une fois index_retour = string.index(fichier,'RETOUR') @@ -119,17 +121,17 @@ def calcul_F(objet,UL,para,val,reponses): #on va délimiter les blocs intermédiaires entre chaque para "utiles" à l'optimsation - bloc_inter ='\012' + bloc_inter ='\n' for i in range(len(para)-1): j = index_para[i] k = index_para[i+1] - while(fichier[j]!= '\012'): + while(fichier[j]!= '\n'): j=j+1 - bloc_inter=bloc_inter + fichier[j:k] + '\012' + bloc_inter=bloc_inter + fichier[j:k] + '\n' #on veut se placer sur le premier retour chariot que l'on trouve sur la ligne du dernier para i = index_last_para - while(fichier[i] != '\012'): + while(fichier[i] != '\n'): i = i + 1 index_last_para = i #on délimite les blocs suivants: @@ -137,44 +139,44 @@ def calcul_F(objet,UL,para,val,reponses): post_bloc = fichier[ index_last_para+ 1:] #fichier après dernier parametre #on ajoute dans L tous ce qui est avant le premier paramètre - L.append(pre_bloc) - #On ajoute à L tous ce qui est entre les parametres - L.append(bloc_inter) + Fichier_Resu.append(pre_bloc) #On ajoute la nouvelle valeur des parametres dim_para=len(para) for j in range(dim_para): - L.append(para[j]+'='+str(val[j]) + ';' + '\012') + Fichier_Resu.append(para[j]+'='+str(val[j]) + ';' + '\n') + #On ajoute à Fichier_Resu tous ce qui est entre les parametres + Fichier_Resu.append(bloc_inter) - L.append(post_bloc) + Fichier_Resu.append(post_bloc) #-------------------------------------------------------------------------------- #on va ajouter la fonction EXTRACT #et on stocke les réponses calculées dans la liste Lrep #qui va etre retournée par la fonction calcul_F - objet.g_context['Lrep'] = [] - L.append('Lrep=[]'+'\012') + self.g_context['Lrep'] = [] + Fichier_Resu.append('Lrep=[]'+'\n') for i in range(len(reponses)): - L.append('F = EXTRACT('+str(reponses[i][0])+','+"'"+str(reponses[i][1])+"'"+','+"'"+str(reponses[i][2])+"'"+')'+'\012') - L.append('Lrep.append(F)'+'\012') + Fichier_Resu.append('F = EXTRACT('+str(reponses[i][0])+','+"'"+str(reponses[i][1])+"'"+','+"'"+str(reponses[i][2])+"'"+')'+'\n') + Fichier_Resu.append('Lrep.append(F)'+'\n') #on ajoute à RETOUR - L.append('RETOUR();\012') + Fichier_Resu.append('RETOUR();\n') #ouverture du fichier fort.3 et mise a jour de celui ci x=open('fort.'+str(UL),'w') - x.writelines('from Accas import _F \012from Cata.cata import * \012') - x.writelines(L) + x.writelines('from Accas import _F \nfrom Cata.cata import * \n') + x.writelines(Fichier_Resu) x.close() - del(L) + del(Fichier_Resu) del(pre_bloc) del(post_bloc) del(fichier) - INCLUDE(UNITE = str(UL)) - detr_concepts(objet) + INCLUDE(UNITE = UL) + detr_concepts(self) # on remet le fichier dans son etat initial x=open('fort.'+str(UL),'w') x.writelines(fichiersauv) x.close() - return objet.g_context['Lrep'] + return self.g_context['Lrep'] #---------------------------------------------------------- @@ -210,7 +212,11 @@ def EXTRACT(Table,Para,Champ): return F -#------------------------------------------- +#_____________________________________________ +# +# IMPRESSIONS GRAPHIQUES +#_____________________________________________ + def graphique(L_F,res_exp,reponses,iter,UL_out,interactif): graphe=[] impr=Gnuplot.Gnuplot() @@ -238,8 +244,10 @@ def graphique(L_F,res_exp,reponses,iter,UL_out,interactif): impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) -#=========================================================================================== +#_____________________________________________ +# # CONTROLE DES ENTREES UTILISATEUR +#_____________________________________________ def erreur_de_type(code_erreur,X): #code_erreur ==0 --> X est une liste @@ -249,13 +257,13 @@ def erreur_de_type(code_erreur,X): txt="" if(code_erreur == 0 ): if type(X) is not types.ListType: - txt="\012Cette entrée: " +str(X)+" n'est pas une liste valide" + txt="\nCette entrée: " +str(X)+" n'est pas une liste valide" if(code_erreur == 1 ): if type(X) is not types.StringType: - txt="\012Cette entrée: " +str(X)+" n'est pas une chaine de caractère valide ; Veuillez la ressaisir en lui appliquant le type char de python" + txt="\nCette entrée: " +str(X)+" n'est pas une chaine de caractère valide ; Veuillez la ressaisir en lui appliquant le type char de python" if(code_erreur == 2 ): if type(X) is not types.FloatType: - txt="\012Cette entrée: " +str(X)+" n'est pas une valeur float valide ; Veuillez la ressaisir en lui appliquant le type float de python" + txt="\nCette entrée: " +str(X)+" n'est pas une valeur float valide ; Veuillez la ressaisir en lui appliquant le type float de python" return txt @@ -265,10 +273,10 @@ def erreur_dimension(PARAMETRES,REPONSES): txt="" for i in range(len(PARAMETRES)): if (len(PARAMETRES[i]) != 4): - txt=txt + "\012La sous-liste de la variable paramètre numéro " + str(i+1)+" n'est pas de longueur 4" + txt=txt + "\nLa sous-liste de la variable paramètre numéro " + str(i+1)+" n'est pas de longueur 4" for i in range(len(REPONSES)): if (len(REPONSES[i]) != 3): - txt=txt + "\012La sous-liste de la variable réponse numéro " + str(i+1)+" n'est pas de longueur 3" + txt=txt + "\nLa sous-liste de la variable réponse numéro " + str(i+1)+" n'est pas de longueur 3" return txt @@ -277,7 +285,7 @@ def compare__dim_rep__dim_RESU_EXP(REPONSES,RESU_EXP): # pour éviter l'arret du programme txt="" if( len(REPONSES) != len(RESU_EXP)): - txt="\012Vous avez entré " +str(len(REPONSES))+ " réponses et "+str(len(RESU_EXP))+ " expériences ; On doit avoir autant de réponses que de résultats expérimentaux" + txt="\nVous avez entré " +str(len(REPONSES))+ " réponses et "+str(len(RESU_EXP))+ " expériences ; On doit avoir autant de réponses que de résultats expérimentaux" return txt @@ -289,10 +297,10 @@ def verif_fichier(UL,PARAMETRES,REPONSES): fic=fichier.read() for i in range(len(PARAMETRES)): if((string.find(fic,PARAMETRES[i][0])==-1) or ((string.find(fic,PARAMETRES[i][0]+'=')==-1) and (string.find(fic,PARAMETRES[i][0]+' ')==-1))): - txt=txt + "\012Le paramètre "+PARAMETRES[i][0]+" que vous avez entré pour la phase d'optimisation n'a pas été trouvé dans votre fichier de commandes ASTER" + txt=txt + "\nLe paramètre "+PARAMETRES[i][0]+" que vous avez entré pour la phase d'optimisation n'a pas été trouvé dans votre fichier de commandes ASTER" for i in range(len(REPONSES)): if((string.find(fic,REPONSES[i][0])==-1) or ((string.find(fic,REPONSES[i][0]+'=')==-1) and (string.find(fic,REPONSES[i][0]+' ')==-1))): - txt=txt + "\012La réponse "+REPONSES[i][0]+" que vous avez entrée pour la phase d optimisation n'a pas été trouvée dans votre fichier de commandes ASTER" + txt=txt + "\nLa réponse "+REPONSES[i][0]+" que vous avez entrée pour la phase d'optimisation n'a pas été trouvée dans votre fichier de commandes ASTER" return txt @@ -300,27 +308,46 @@ def verif_valeurs_des_PARAMETRES(PARAMETRES): #On verifie que pour chaque PARAMETRES de l'optimisation # les valeurs entrées par l'utilisateur sont telles que : # val_infPARAMETRES[i][3]): - txt=txt + "\012La borne inférieure "+str(PARAMETRES[i][2])+" de "+PARAMETRES[i][0]+ "est plus grande que sa borne supérieure"+str(PARAMETRES[i][3]) + txt=txt + "\nLa borne inférieure "+str(PARAMETRES[i][2])+" de "+PARAMETRES[i][0]+ "est plus grande que sa borne supérieure"+str(PARAMETRES[i][3]) #verification de l'encadrement de val_init for i in range(len(PARAMETRES)): if( (PARAMETRES[i][1] < PARAMETRES[i][2]) or (PARAMETRES[i][1] > PARAMETRES[i][3])): - txt=txt + "\012La valeur initiale "+str(PARAMETRES[i][1])+" de "+PARAMETRES[i][0]+ " n'est pas dans l'intervalle [borne_inf,born_inf]=["+str(PARAMETRES[i][2])+" , "+str(PARAMETRES[i][3])+"]" + txt=txt + "\nLa valeur initiale "+str(PARAMETRES[i][1])+" de "+PARAMETRES[i][0]+ " n'est pas dans l'intervalle [borne_inf,born_inf]=["+str(PARAMETRES[i][2])+" , "+str(PARAMETRES[i][3])+"]" #verification que val_init !=0 for i in range(len(PARAMETRES)): if (PARAMETRES[i][1] == 0. ): - txt=txt + "\012Problèmes de valeurs initiales pour le paramètre "+PARAMETRES[i][0]+" : ne pas donner de valeur initiale nulle mais un ordre de grandeur." + txt=txt + "\nProblème de valeurs initiales pour le paramètre "+PARAMETRES[i][0]+" : ne pas donner de valeur initiale nulle mais un ordre de grandeur." + #verification que borne_sup !=0 + for i in range(len(PARAMETRES)): + if (PARAMETRES[i][3] == 0. ): + txt=txt + "\nProblème de borne supérieure pour le paramètre "+PARAMETRES[i][0]+" : ne pas donner de valeur strictement nulle." + #verification que borne_inf !=0 + for i in range(len(PARAMETRES)): + if (PARAMETRES[i][2] == 0. ): + txt=txt + "\nProblème de borne inférieure pour le paramètre "+PARAMETRES[i][0]+" : ne pas donner de valeur strictement nulle." return txt +def verif_UNITE(GRAPHIQUE,UNITE_RESU): + # On vérifie que les unités de résultat et + # de graphique sont différentes + txt="" + GRAPHE_UL_OUT=GRAPHIQUE['UNITE'] + if (GRAPHE_UL_OUT==UNITE_RESU): + txt=txt + "\nLes unités logiques des fichiers de résultats graphiques et de résultats d'optimisation sont les memes." + return txt + -def gestion(UL,PARAMETRES,REPONSES,RESU_EXP): +def gestion(UL,PARAMETRES,REPONSES,RESU_EXP,GRAPHIQUE,UNITE_RESU): #Cette methode va utiliser les methodes de cette classe declarée ci_dessus #test est un boolean: test=0 -> pas d'erreur # test=1 -> erreur détectée @@ -368,6 +395,9 @@ def gestion(UL,PARAMETRES,REPONSES,RESU_EXP): #verifiaction des valeurs des PARAMETRES entrées par l'utilisteur texte = texte + verif_valeurs_des_PARAMETRES(PARAMETRES) + #verifiaction des unités logiques renseignées par l'utilisateur + texte = texte + verif_UNITE(GRAPHIQUE,UNITE_RESU) + return texte diff --git a/Aster/Cata/cata_STA7.py b/Aster/Cata/cata_STA7.py new file mode 100755 index 00000000..8f93c5b8 --- /dev/null +++ b/Aster/Cata/cata_STA7.py @@ -0,0 +1,17803 @@ +#& MODIF ENTETE DATE 11/02/2003 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. +# ====================================================================== +import Accas +from Accas import * +from Accas import _F +import string + +import ops + +try: + import aster +except: + pass + +# +__version__="$Name: $" +__Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $" +# +JdC = JDC_CATA(code='ASTER', + execmodul=None, + regles = (AU_MOINS_UN('DEBUT','POURSUITE'), + AU_MOINS_UN('FIN'), + A_CLASSER(('DEBUT','POURSUITE'),'FIN'))) +# Type le plus general +class entier (ASSD):pass +class reel (ASSD):pass +class complexe(ASSD):pass +class chaine (ASSD):pass + + +# 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 cara_pout (ASSD):pass +class cham_mater (ASSD):pass +class char_acou (ASSD):pass +class char_cine_acou (ASSD):pass +class char_cine_meca (ASSD):pass +class char_cine_ther (ASSD):pass +class char_meca (ASSD):pass +class char_ther (ASSD):pass +class courbe (ASSD):pass +class fond_fiss (ASSD):pass +class interf_dyna_clas(ASSD):pass +class interspfact (ASSD):pass +class listis (ASSD):pass +class liste (ASSD):pass +class macr_elem_dyna (ASSD):pass +class macr_elem_stat (ASSD):pass +class mater (ASSD):pass +class melasflu (ASSD):pass +class modele (ASSD):pass +class modele_gene (ASSD):pass +class nume_ddl (ASSD):pass +class nume_ddl_gene (ASSD):pass +class obstacle (ASSD):pass +class spectre (ASSD):pass +class surface (ASSD):pass +class tran_gene (ASSD):pass +class type_flui_stru (ASSD):pass +class valeur (ASSD):pass + + +# liste : +#-------------------------------- +class listr8 (ASSD): + def LIST_VALEURS(self) : + """ retourne la liste des valeurs [ val1, ...] """ + vale=string.ljust(self.get_name(),19)+'.VALE' + return list(aster.getvectjev(vale)) + + + +# maillage : +#-------------------------------- +class maillage(ASSD): + def LIST_GROUP_NO(self) : + """ retourne la liste des groupes de noeuds sous la forme : + [ (gno1, nb noeuds gno1), ...] """ + return aster.GetMaillage(self.get_name(), "GROUP_NO") + def LIST_GROUP_MA(self) : + """ retourne la liste des groupes de mailles sous la forme : + [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ + return aster.GetMaillage(self.get_name(), "GROUP_MA") + + +class squelette (maillage):pass + + +# cham_gd (carte,cham_no,cham_elem) +#-------------------------------- + +class cham_gd(ASSD):pass + +# cham_gd/carte : +#-------------------------------- +class carte(cham_gd):pass +class carte_dbel_r (carte):pass +class carte_depl_c (carte):pass +class carte_depl_f (carte):pass +class carte_depl_r (carte):pass +class carte_durt_r (carte):pass +class carte_ener_r (carte):pass +class carte_epsi_r (carte):pass +class carte_erreur (carte):pass +class carte_flux_r (carte):pass +class carte_g_depl_r (carte):pass +class carte_geom_r (carte):pass +class carte_hydr_r (carte):pass +class carte_inst_r (carte):pass +class carte_inte_r (carte):pass +class carte_irra_r (carte):pass +class carte_meta_r (carte):pass +class carte_neut_f (carte):pass +class carte_neut_r (carte):pass +class carte_pres_r (carte):pass +class carte_sief_r (carte):pass +class carte_sour_r (carte):pass +class carte_temp_f (carte):pass +class carte_temp_r (carte):pass +class carte_var2_r (carte):pass +class carte_vnor_c (carte):pass + + +# cham_gd/cham_elem : +#-------------------------------- +class cham_elem(cham_gd):pass +class cham_elem_crit_r(cham_elem):pass +class cham_elem_dbel_r(cham_elem):pass +class cham_elem_depl_c(cham_elem):pass +class cham_elem_depl_f(cham_elem):pass +class cham_elem_depl_r(cham_elem):pass +class cham_elem_dommag(cham_elem):pass +class cham_elem_durt_r(cham_elem):pass +class cham_elem_ener_r(cham_elem):pass +class cham_elem_epsi_c(cham_elem):pass +class cham_elem_epsi_r(cham_elem):pass +class cham_elem_erreur(cham_elem):pass +class cham_elem_facy_r(cham_elem):pass +class cham_elem_flux_r(cham_elem):pass +class cham_elem_g_depl(cham_elem):pass +class cham_elem_geom_r(cham_elem):pass +class cham_elem_hydr_r(cham_elem):pass +class cham_elem_inst_r(cham_elem):pass +class cham_elem_inte_r(cham_elem):pass +class cham_elem_irra_r(cham_elem):pass +class cham_elem_meta_r(cham_elem):pass +class cham_elem_neut_f(cham_elem):pass +class cham_elem_neut_r(cham_elem):pass +class cham_elem_pres_r(cham_elem):pass +class cham_elem_sief_c(cham_elem):pass +class cham_elem_sief_r(cham_elem):pass +class cham_elem_sour_r(cham_elem):pass +class cham_elem_spma_r(cham_elem):pass +class cham_elem_temp_f(cham_elem):pass +class cham_elem_temp_r(cham_elem):pass +class cham_elem_vari_r(cham_elem):pass +class cham_elem_vnor_c(cham_elem):pass + + +# cham_gd/cham_no : +#-------------------------------- +class cham_no(cham_gd):pass +class cham_no_dbel_r (cham_no):pass +class cham_no_depl_c (cham_no):pass +class cham_no_depl_f (cham_no):pass +class cham_no_depl_r (cham_no):pass +class cham_no_durt_r (cham_no):pass +class cham_no_ener_r (cham_no):pass +class cham_no_epsi_r (cham_no):pass +class cham_no_erreur (cham_no):pass +class cham_no_flux_r (cham_no):pass +class cham_no_g_depl_r (cham_no):pass +class cham_no_geom_r (cham_no):pass +class cham_no_hydr_r (cham_no):pass +class cham_no_inst_r (cham_no):pass +class cham_no_inte_r (cham_no):pass +class cham_no_irra_r (cham_no):pass +class cham_no_meta_r (cham_no):pass +class cham_no_neut_f (cham_no):pass +class cham_no_neut_r (cham_no):pass +class cham_no_pres_c (cham_no):pass +class cham_no_pres_r (cham_no):pass +class cham_no_sief_r (cham_no):pass +class cham_no_sour_r (cham_no):pass +class cham_no_spma_r (cham_no):pass +class cham_no_temp_c (cham_no):pass +class cham_no_temp_f (cham_no):pass +class cham_no_temp_r (cham_no):pass +class cham_no_vanl_r (cham_no):pass +class cham_no_var2_r (cham_no):pass +class cham_no_vnor_c (cham_no):pass + + +# resultat : (evol,mode_stat,mode_meca) +#-------------------------------- + +class resultat(ASSD): + def LIST_CHAMPS (self) : + return aster.GetResu(self.get_name(), "CHAMPS") + def LIST_NOM_CMP (self) : + return aster.GetResu(self.get_name(), "COMPOSANTES") + def LIST_VARI_ACCES (self) : + return aster.GetResu(self.get_name(), "VARI_ACCES") + +class acou_harmo (resultat):pass +class base_modale (resultat):pass +class comb_fourier (resultat):pass +class dyna_harmo (resultat):pass +class dyna_trans (resultat):pass +class fourier_elas (resultat):pass +class harm_gene (resultat):pass +class mode_acou (resultat):pass +class mode_cycl (resultat):pass +class mode_flamb (resultat):pass +class mode_gene (resultat):pass +class mult_elas (resultat):pass +class theta_geom (resultat):pass + +# resultat/evol : +#-------------------------------- +class evol(resultat):pass +class evol_char(evol):pass +class evol_elas(evol):pass +class evol_noli(evol):pass +class evol_ther(evol):pass +class evol_varc(evol):pass + +# resultat/mode_stat : +#-------------------------------- +class mode_stat(resultat):pass +class mode_stat_depl(mode_stat):pass +class mode_stat_acce(mode_stat):pass +class mode_stat_forc(mode_stat):pass + + +# resultat/mode_meca : +#-------------------------------- +class mode_meca(resultat):pass +class mode_meca_c(mode_meca):pass + + +# fonction : +#-------------------------------- +class fonction(fonction): + def LIST_VALEURS(self) : + """ retourne la liste des valeurs [ val1, ...] """ + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + lbr=[] + for i in range(len(lbl)/2): + lbr.append(lbl[i]) + lbr.append(lbl[len(lbl)/2+i]) + return lbr +class para_sensi(fonction):pass +class fonction_c(fonction): + def LIST_VALEURS(self) : + """ retourne la liste des valeurs [ val1, ...] """ + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + lbr=[] + for i in range(len(lbl)/3): + lbr.append(lbl[i]) + lbr.append(lbl[len(lbl)/3+i*2]) + lbr.append(lbl[len(lbl)/3+i*2+1]) + return lbr + + +# matr_asse : +#-------------------------------- +class matr_asse(ASSD):pass +class matr_asse_depl_c(matr_asse):pass +class matr_asse_depl_r(matr_asse):pass +class matr_asse_gene_r(matr_asse):pass +class matr_asse_gene_c(matr_asse):pass +class matr_asse_pres_c(matr_asse):pass +class matr_asse_pres_r(matr_asse):pass +class matr_asse_temp_c(matr_asse):pass +class matr_asse_temp_r(matr_asse):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 : (tabl_fonc) +#-------------------------------- + +class table(ASSD): + def __getitem__(self,key): + requete=string.ljust(key[0],24) + tblp=string.ljust(self.get_name(),19)+'.TBLP' + tabnom=list(aster.getvectjev(tblp)) + for i in range(len(tabnom)) : + if tabnom[i]==requete: break + resu=aster.getvectjev(tabnom[i+2]) + if key[1]>len(resu) : raise KeyError + else : return resu[key[1]-1] + +class tabl_aire_int (table):pass +class tabl_calc_g_loca(table):pass +class tabl_calc_g_th (table):pass +class tabl_cara_geom (table):pass +class tabl_char_limite(table):pass +class tabl_ener_elas (table):pass +class tabl_ener_pot (table):pass +class tabl_ener_cin (table):pass +class tabl_trav_ext (table):pass +class tabl_ener_totale(table):pass +class tabl_indic_ener (table):pass +class tabl_indic_seuil(table):pass +class tabl_intsp (table):pass +class tabl_mass_iner (table):pass +class tabl_post_alea (table):pass +class tabl_post_beta (table):pass +class tabl_post_dyna (table):pass +class tabl_post_f_alea(table):pass +class tabl_post_fatig (table):pass +class tabl_post_gouj2e(table):pass +class tabl_post_k (table):pass +class tabl_post_rccm (table):pass +class tabl_post_rele (table):pass +class tabl_post_simpli(table):pass +class tabl_post_usur (table):pass +class tabl_reca_weib (table):pass +class tabl_rice_tracey(table):pass +class tabl_texture (table):pass +class tabl_trc (table):pass +class tabl_weibull (table):pass + +# table/tabl_fonc +#-------------------------------- +class tabl_fonc (table):pass +class tabl_fonc_max (tabl_fonc):pass +class tabl_fonc_noci (tabl_fonc):pass +class tabl_fonc_rms (tabl_fonc):pass + + +# vect_asse : +#-------------------------------- +class vect_asse(ASSD):pass +class vect_asse_gene(vect_asse):pass + + +# 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 04/03/2003 AUTEUR ASSIRE A.ASSIRE +# 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 C_COMP_INCR() : return FACT(statut='f',min=1,max='**', + RELATION =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC", + into=( "ELAS", + "VMIS_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ECMI_TRAC", + "VMIS_ECMI_LINE", + "LABORD_1D", + "ENDO_FRAGILE", + "ENDO_ISOT_BETON", + "MAZARS", + "RUPT_FRAG", + "BARENBLATT", + "META_P_IL", + "META_P_IL_PT", + "META_P_IL_RE", + "META_P_IL_PT_RE", + "META_V_IL", + "META_V_IL_PT", + "META_V_IL_RE", + "META_V_IL_PT_RE", + "META_P_INL", + "META_P_INL_PT", + "META_P_INL_RE", + "META_P_INL_PT_RE", + "META_V_INL", + "META_V_INL_PT", + "META_V_INL_RE", + "META_V_INL_PT_RE", + "META_P_CL", + "META_P_CL_PT", + "META_P_CL_RE", + "META_P_CL_PT_RE", + "META_V_CL", + "META_V_CL_PT", + "META_V_CL_RE", + "META_V_CL_PT_RE", + "VMIS_CINE_LINE", + "VISC_TAHERI", + "CHABOCHE", + "VISCOCHAB", + "VISC_CIN1_CHAB", + "VISC_CIN2_CHAB", + "POLY_CFC", + "LMARC", + "ROUSSELIER", + "ROUSS_PR", + "ROUSS_VISC", + "VMIS_POU_LINE", + "VMIS_POU_FLEJOU", + "COULOMB", + "ARME", + "ASSE_CORN", + "NORTON_HOFF", + "LEMAITRE", + "ZIRC_CYRA2", + "ZIRC_EPRI", + "ASSE_COMBU", + "VENDOCHAB", + "NADAI_B", + "DIS_CONTACT", + "DIS_CHOC", + "DIS_GOUJ2E_PLAS", + "DIS_GOUJ2E_ELAS", + "GRILLE_ISOT_LINE", + "GRILLE_CINE_LINE", + "GRILLE_PINTO_MEN", + "PINTO_MENEGOTTO", + "CJS", + "CAM_CLAY", + "LAIGLE", + "OHNO", + "GRANGER_FP", + "GRANGER_FP_V", + "BAZANT_FD", + "BETON_UMLV_FP", + "BETON_DOUBLE_DP", + "KIT_HM", + "KIT_HHM", + "KIT_THH", + "KIT_THV", + "KIT_THM", + "KIT_THHM", + "VMIS_ASYM_LINE", + "ELAS_THM", + "SURF_ETAT_NSAT", + "SURF_ETAT_SATU", + "CAM_CLAY_THM", + "KIT_DDI", + "SANS", + ) ), + ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + SANS =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VMIS_ISOT_LINE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VMIS_ECMI_TRAC =SIMP(statut='c',typ='I',defaut=8,into=(8,)), + VMIS_ECMI_LINE =SIMP(statut='c',typ='I',defaut=8,into=(8,)), + LABORD_1D =SIMP(statut='c',typ='I',defaut=5,into=(5,)), + ENDO_FRAGILE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + MAZARS =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + RUPT_FRAG =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + BARENBLATT =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + META_P_IL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_IL_PT =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_IL_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_IL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_IL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_IL_PT =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_IL_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_IL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_INL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_INL_PT =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_INL_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_INL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_INL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_INL_PT =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_INL_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_V_INL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + META_P_CL =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + META_P_CL_PT =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + META_P_CL_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + META_P_CL_PT_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + META_V_CL =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + META_V_CL_PT =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + 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,)), + 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,)), + LMARC =SIMP(statut='c',typ='I',defaut=20,into=(20,)), + VISC_TAHERI =SIMP(statut='c',typ='I',defaut=9,into=(9,)), + ROUSSELIER =SIMP(statut='c',typ='I',defaut=9,into=(9,)), + ROUSS_PR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + 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,)), + COULOMB =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + ASSE_CORN =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + 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,)), + ZIRC_CYRA2 =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ZIRC_EPRI =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ASSE_COMBU =SIMP(statut='c',typ='I',defaut=5,into=(5,)), + NADAI_B =SIMP(statut='c',typ='I',defaut=34,into=(34,)), + VENDOCHAB =SIMP(statut='c',typ='I',defaut=10,into=(10,)), + GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)), + GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)), + 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_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,)), + CJS =SIMP(statut='c',typ='I',defaut=16,into=(16,)), + CAM_CLAY =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LAIGLE =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + OHNO =SIMP(statut='c',typ='I',defaut=32,into=(32,)), + GRANGER_FP =SIMP(statut='c',typ='I',defaut=55,into=(55,)), + GRANGER_FP_V =SIMP(statut='c',typ='I',defaut=55,into=(55,)), + BAZANT_FD =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + KIT_HM =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + KIT_HHM =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + KIT_THH =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + KIT_THV =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + KIT_THM =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + KIT_THHM =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + VMIS_ASYM_LINE =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + BETON_UMLV_FP =SIMP(statut='c',typ='I',defaut=20,into=(20,)), + + RELATION_KIT =SIMP(statut='f',typ='TXM',max='**', + into=( +# MECA + "ELAS", + "CJS", + "CAM_CLAY", + "LAIGLE", + "ELAS_THM", + "SURF_ETAT_NSAT", + "SURF_ETAT_SATU", + "CAM_CLAY_THM", +# THMC + "GAZ", + "LIQU_SATU", + "LIQU_SATU_GAT", + "LIQU_GAZ_ATM", + "LIQU_VAPE_GAZ", + "LIQU_VAPE", + "LIQU_NSAT_GAT", + "LIQU_GAZ", +# THER + "THER_HOMO", + "THER_POLY", +# HYDR + "HYDR_UTIL", + "HYDR", +# MECA_META + "ACIER", + "ZIRC", +# MECA KIT_DDI + "VMIS_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ISOT_CINE", + "GRANGER_FP", + "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,)), + GAZ =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + LIQU_SATU =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LIQU_SATU_GAT =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LIQU_GAZ_ATM =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_VAPE_GAZ =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + LIQU_VAPE =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + LIQU_NSAT_GAT =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_GAZ =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + THER_HOMO =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + THER_POLY =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + HYDR_UTIL =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + HYDR =SIMP(statut='c',typ='I',defaut=0,into=(0,)), + 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",)), + ALGO_C_PLAN =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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ) ; +#& MODIF COMMANDE DATE 07/01/2003 AUTEUR JMBHH01 J.M.PROIX +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, + fr="Affectation de caractéristiques à des éléments de structure", + docu="U4.42.01-g3",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','MASSIF', + 'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),), + MODELE =SIMP(statut='o',typ=modele ), + INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), + VERIF =SIMP(statut='f',typ='TXM',max='**',into=("MAILLE","NOEUD") ), + + POUTRE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + SECTION =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ), + CARA_SECT =SIMP(statut='f',typ=(cara_pout) ), + TUYAU_NCOU =SIMP(statut='f',typ='I',min=1,max=10,defaut=3), + TUYAU_NSEC =SIMP(statut='f',typ='I',min=1,max=32,defaut=16), + b_generale =BLOC( condition = "SECTION=='GENERALE'", + CARA =SIMP(statut='o',typ='TXM',max='**', + into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", + "AI","JG","IYR2","IZR2","A1", + "IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", + "RZ1","RT1","AI1","JG1","IYR21","IZR21","A2", + "IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", + "RZ2","RT2","AI2","JG2","IYR22","IZR22","H", + "HZ","HY","EP","EPY","EPZ","H1","HZ1","HY1", + "EP1","EPY1","EPZ1","H2","HZ2","HY2","EP2", + "EPY2","EPZ2","R","R1","R2") ), + VALE =SIMP(statut='o',typ='R',max='**'), + VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ), + ), + b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", + CARA =SIMP(statut='o',typ='TXM',max='**', + into=("H","EP","HY","HZ","EPY","EPZ", + "H1","HZ1","HY1","EP1","EPY1","EPZ1", + "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), + VALE =SIMP(statut='o',typ='R',max='**'), + VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE","AFFINE"),defaut="HOMOTHETIQUE"), + ), + b_cercle =BLOC( condition = "SECTION=='CERCLE'", + CARA =SIMP(statut='o',typ='TXM',max='**', + into=("R","EP","R1","R2","EP1","EP2") ), + VALE =SIMP(statut='o',typ='R',max='**'), + VARI_SECT =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ), + MODI_METRIQUE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + FCX =SIMP(statut='f',typ=(fonction) ), + ), + + BARRE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + SECTION =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), + b_generale =BLOC( condition = "SECTION=='GENERALE'", + CARA =SIMP(statut='o',typ='TXM',into=("A",) ), + VALE =SIMP(statut='o',typ='R' ), + ), + b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", + CARA =SIMP(statut='o',typ='TXM',into=("H","HZ","HY","EPY","EPZ","EP"),max=6 ), + VALE =SIMP(statut='o',typ='R',max=6 ), + ), + b_cercle =BLOC( condition = "SECTION=='CERCLE'", + CARA =SIMP(statut='o',typ='TXM',max=2,into=("R","EP") ), + VALE =SIMP(statut='o',typ='R',max=2 ), + ), + FCX =SIMP(statut='f',typ=(fonction) ), + ), + + COQUE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA' ), + PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + EPAIS =SIMP(statut='o',typ='R' ), + ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2), + A_CIS =SIMP(statut='c',typ='R',defaut= 0.8333333E0), + COEF_RIGI_DRZ =SIMP(statut='f',typ='R',defaut= 1.0E-5 ), + COQUE_NCOU =SIMP(statut='f',typ='I',defaut= 1 ), + EXCENTREMENT =SIMP(statut='f',typ='R' ), + INER_ROTA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MODI_METRIQUE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + CABLE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + N_INIT =SIMP(statut='f',typ='R',defaut= 5000. ), + SECTION =SIMP(statut='f',typ='R' ), + FCX =SIMP(statut='f',typ=(fonction) ), + ), + + DISCRET =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST =SIMP(statut='f',typ='R' ), + CARA =SIMP(statut='o',typ='TXM',max='**', + into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L", + "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N","M_TR_D_N","M_T_N", + "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L", + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L") ), + VALE =SIMP(statut='o',typ='R',max='**'), + ), + + ORIENTATION =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + CARA =SIMP(statut='o',typ='TXM', + into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ), + VALE =SIMP(statut='o',typ='R',max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-4 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + + DEFI_ARC =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE', + 'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'), + PRESENT_PRESENT('ORIE_ARC','RAYON'), + EXCLUS('COEF_FLEX','COEF_FLEX_XY'), + EXCLUS('COEF_FLEX','COEF_FLEX_XZ'), + EXCLUS('INDI_SIGM','INDI_SIGM_XY'), + EXCLUS('INDI_SIGM','INDI_SIGM_XZ'), + PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'), + PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ORIE_ARC =SIMP(statut='f',typ='R'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,max=1), + POIN_TANG =SIMP(statut='f',typ='R',max='**'), + NOEUD_POIN_TANG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno,max=1), + RAYON =SIMP(statut='f',typ='R'), + COEF_FLEX =SIMP(statut='f',typ='R'), + INDI_SIGM =SIMP(statut='f',typ='R'), + COEF_FLEX_XY =SIMP(statut='f',typ='R'), + INDI_SIGM_XY =SIMP(statut='f',typ='R'), + COEF_FLEX_XZ =SIMP(statut='f',typ='R'), + INDI_SIGM_XZ =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") ), + ), + + MASSIF =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('ANGL_REP','ANGL_AXE'), + EXCLUS('ANGL_REP','ANGL_AXE'), + EXCLUS('ANGL_REP','ORIG_AXE'), + PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ANGL_REP =SIMP(statut='f',typ='R',max=3), + ANGL_AXE =SIMP(statut='f',typ='R',max=2), + ORIG_AXE =SIMP(statut='f',typ='R',max=3), + ), + + POUTRE_FLUI =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + B_T =SIMP(statut='o',typ='R'), + B_N =SIMP(statut='o',typ='R'), + B_TN =SIMP(statut='o',typ='R',defaut= 0.E+0 ), + A_FLUI =SIMP(statut='o',typ='R'), + A_CELL =SIMP(statut='o',typ='R'), + COEF_ECHELLE =SIMP(statut='o',typ='R'), + ), + + GRILLE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + EXCLUS('ANGL_REP','ORIG_AXE'), + ENSEMBLE('ORIG_AXE','AXE')), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + SECTION_L =SIMP(statut='o',typ='R'), + ANGL_REP =SIMP(statut='f',typ='R',max=2), + ANGL_L =SIMP(statut='f',typ='R'), + POUR_CENT_L =SIMP(statut='f',typ='R'), + POUR_CENT_T =SIMP(statut='f',typ='R'), + EXCENTREMENT =SIMP(statut='f',typ='R'), + ORIG_AXE =SIMP(statut='f',typ='R',max='**'), + AXE =SIMP(statut='f',typ='R',max='**'), + COEF_RIGI_DRZ =SIMP(statut='f',typ='R',defaut= 1.0E-10 ), + GRILLE_NCOU =SIMP(statut='f',typ='I',defaut= 1,min=1,max=1 ), + ), + + RIGI_PARASOL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'), + UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),), + GROUP_MA =SIMP(statut='o',typ=ma,max='**'), + FONC_GROUP =SIMP(statut='f',typ=(fonction) ), + COEF_GROUP =SIMP(statut='f',typ='R',max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + CARA =SIMP(statut='o',typ='TXM',max='**',into=("K_TR_D_N","A_TR_D_N") ), + VALE =SIMP(statut='o',typ='R',max='**'), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + COOR_CENTRE =SIMP(statut='f',typ='R',max='**'), + ), + + ASSE_GRIL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + CARA =SIMP(statut='o',typ='TXM',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',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'), + PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),), + + NOM =SIMP(statut='f',typ='TXM'), + + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + + TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_SECT =SIMP(statut='f',typ=grma,max='**'), + MAILLE_SECT =SIMP(statut='f',typ=ma,max='**'), + + MAILLAGE_SECT =SIMP(statut='o',typ=maillage), + COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), + ), + + + AFFE_FIBRE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + + NOM =SIMP(statut='f',typ='TXM'), + + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + + CARA =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)), + VALE =SIMP(statut='o',typ='R',max='**'), + COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), + ), + + +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, + fr="Affectation de charges et conditions aux limites acoustiques constantes", + docu="U4.44.04-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),), + MODELE =SIMP(statut='o',typ=modele ), + VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRES_IMPO =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + VITE_FACE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + VNOR =SIMP(statut='o',typ='C' ), + ), + IMPE_FACE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + IMPE =SIMP(statut='o',typ='C' ), + ), + LIAISON_UNIF =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,**args): + if MECA_IMPO != None : return char_cine_meca + if THER_IMPO != None : return char_cine_ther + if ACOU_IMPO != None : return char_cine_acou + 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", + docu="U4.44.03-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'), + EXCLUS('MECA_IMPO','THER_IMPO'), + EXCLUS('MECA_IMPO','ACOU_IMPO'), + EXCLUS('THER_IMPO','ACOU_IMPO'),), + MODELE =SIMP(statut='o',typ=modele ), + MECA_IMPO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','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_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,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' ), + ), + THER_IMPO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + TEMP_SUP =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + TEMP_INF =SIMP(statut='f',typ='R' ), + ), + ACOU_IMPO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args): + if MECA_IMPO != None : return char_cine_meca + 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", + docu="U4.44.03-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'), + EXCLUS('MECA_IMPO','THER_IMPO'),), + MODELE =SIMP(statut='o',typ=modele ), + MECA_IMPO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','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_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DX =SIMP(statut='f',typ=fonction ), + DY =SIMP(statut='f',typ=fonction ), + DZ =SIMP(statut='f',typ=fonction ), + DRX =SIMP(statut='f',typ=fonction ), + DRY =SIMP(statut='f',typ=fonction ), + DRZ =SIMP(statut='f',typ=fonction ), + GRX =SIMP(statut='f',typ=fonction ), + PRES =SIMP(statut='f',typ=fonction ), + TEMP =SIMP(statut='f',typ=fonction ), + PHI =SIMP(statut='f',typ=fonction ), + ), + THER_IMPO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + TEMP_SUP =SIMP(statut='f',typ=fonction ), + TEMP =SIMP(statut='f',typ=fonction ), + TEMP_INF =SIMP(statut='f',typ=fonction ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 04/03/2003 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. +# ====================================================================== +# 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", + docu="U4.44.01-g3",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', + 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', + 'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE', + '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', + 'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE', + 'LIAISON_MAIL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE', + 'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE'), + EXCLUS('PRES_CALCULEE','EVOL_CHAR'),), + 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) ), + 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 ), + 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 ) ), + 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), + b_rotation =BLOC ( condition = "ROTATION != None", + CENTRE =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),), + + DDL_IMPO =FACT(statut='f',min=1,max='**', + 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'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,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' ), + ), + + + + DDL_POUTRE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'), + UN_PARMI('VECT_Y','ANGL_VRIL'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,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' ), +# définition du repère local + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R',max=1), +# restriction sur les mailles servant à définir le repère local + GROUP_MA =SIMP(statut='f',typ=grma,max=1), + MAILLE =SIMP(statut='f',typ=ma,max=1), + ), + + + + FACE_IMPO =FACT(statut='f',min=1,max='**', + 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'), + EXCLUS('DNOR','DY'), + EXCLUS('DNOR','DZ'), + EXCLUS('DNOR','DRX'), + EXCLUS('DNOR','DRY'), + EXCLUS('DNOR','DRZ'), + EXCLUS('DTAN','DX'), + EXCLUS('DTAN','DY'), + EXCLUS('DTAN','DZ'), + EXCLUS('DTAN','DRX'), + EXCLUS('DTAN','DRY'), + EXCLUS('DTAN','DRZ'),), +# rajout d'un mot clé REPERE :/ LOCAL /GLOBAL + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,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' ), + DNOR =SIMP(statut='f',typ='R' ), + DTAN =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' ), + ), + + LIAISON_DDL =FACT(statut='f',fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds", + min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + ), + + LIAISON_OBLIQUE =FACT(statut='f',fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique", + min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'), + UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + ANGL_NAUT =SIMP(statut='o',typ='R',max=3), + 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' ), + ), + + LIAISON_GROUP =FACT(statut='f',fr="Définir des relations linéaires entre certains ddls de couples de noeuds", + min=1,max='**', + 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'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=no,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DDL_1 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + + LIAISON_MAIL =FACT(statut='f',min=1,max='**', + 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'),), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no,max='**'), + TRAN =SIMP(statut='f',typ='R',max=3 ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), + CENTRE =SIMP(statut='f',typ='R',max=3 ), + DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), + ), + + + LIAISON_SOLIDE =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + 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", min=1,max='**', + 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") ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + CARA_ELEM =SIMP(statut='f',typ=(cara_elem) ), + AXE_POUTRE =SIMP(statut='f',typ='R',max=3), + ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ), + ), + + LIAISON_UNIF =FACT(statut='f',fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds", + min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), + + LIAISON_CHAMNO =FACT(statut='f',fr="définir une relation linéaire entre tous les ddls d'un concept cham_nno", + min=1,max='**', +# type de cham_no CO() + CHAM_NO =SIMP(statut='o',typ=cham_no), #CO() + COEF_IMPO =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), + + CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",min=1,max='**', + regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'),), + APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", + into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), + RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), + LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), + METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", + into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ), + PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", + fr="Paramètres de la méthode des contraintes actives (contact uniquement)", + regles=(EXCLUS('DIST_2','COEF_IMPO'), + EXCLUS('DIST_1','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + COEF_IMPO =SIMP(statut='f',typ='R'), + COEF_MULT_2 =SIMP(statut='f',typ='R'), + VECT_NORM_2 =SIMP(statut='f',typ='R',max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + DIST_1 =SIMP(statut='f',typ='R'), + DIST_2 =SIMP(statut='f',typ='R'), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),), + b_lagrangien =BLOC(condition = "METHODE == 'LAGRANGIEN' ", + fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DIST_1 =SIMP(statut='f',typ='R'), + DIST_2 =SIMP(statut='f',typ='R'), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), + ),), + b_penalisation =BLOC(condition = "METHODE == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + E_N =SIMP(statut='f',typ='R'), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DIST_1 =SIMP(statut='f',typ='R'), + DIST_2 =SIMP(statut='f',typ='R'), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + E_T =SIMP(statut='f',typ='R', + fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"), + COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), + ),), + b_continue =BLOC(condition = "METHODE == 'CONTINUE' ", + fr="Paramètres de la méthode continue (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")), + COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), + MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), + 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), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + 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),),), + ), + + FORCE_NODALE =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + ), + + FORCE_FACE =FACT(statut='f',fr="Appliquer des forces surfaciques sur une face d'éléments volumiques", + min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_ARETE =FACT(statut='f',fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque", + min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_CONTOUR =FACT(statut='f',fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER", + min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + ), + + FORCE_INTERNE =FACT(statut='f',fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique", + min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + ), + + PRES_REP =FACT(statut='f',fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D", + min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('PRES','CISA_2D' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='f',typ='R' ), + CISA_2D =SIMP(statut='f',typ='R' ), + ), + + EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA_INT =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='o',typ='R' ), + ), + + EPSI_INIT =FACT(statut='f',fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D", + min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX', + 'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + EPXX =SIMP(statut='f',typ='R' ), + EPYY =SIMP(statut='f',typ='R' ), + EPZZ =SIMP(statut='f',typ='R' ), + EPXY =SIMP(statut='f',typ='R' ), + EPXZ =SIMP(statut='f',typ='R' ), + EPYZ =SIMP(statut='f',typ='R' ), + EPX =SIMP(statut='f',typ='R' ), + KY =SIMP(statut='f',typ='R' ), + KZ =SIMP(statut='f',typ='R' ), + EXX =SIMP(statut='f',typ='R' ), + EYY =SIMP(statut='f',typ='R' ), + EXY =SIMP(statut='f',typ='R' ), + KXX =SIMP(statut='f',typ='R' ), + KYY =SIMP(statut='f',typ='R' ), + KXY =SIMP(statut='f',typ='R' ), + ), + + ARLEQUIN =FACT(statut='f',min=1,max='**', + GROUP_MA_1 =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA_2 =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA_COLL =SIMP(statut='o',typ=grma,max='**'), + CARA_ELEM =SIMP(statut='f',typ=(cara_elem) ), + regles =(UN_PARMI('POIDS_1','POIDS_2'),), + POIDS_1 =SIMP(statut='f',typ='R'), + POIDS_2 =SIMP(statut='f',typ='R'), + ), + + FORCE_POUTRE =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'), + PRESENT_ABSENT('FX','N','VY','VZ'), + PRESENT_ABSENT('FY','N','VY','VZ'), + PRESENT_ABSENT('FZ','N','VY','VZ'), + PRESENT_ABSENT('N','FX','FY','FZ'), + PRESENT_ABSENT('VY','FX','FY','FZ'), + PRESENT_ABSENT('VZ','FX','FY','FZ'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ), +# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + + N =SIMP(statut='f',typ='R' ), + VY =SIMP(statut='f',typ='R' ), + VZ =SIMP(statut='f',typ='R' ), + + ), + + FORCE_TUYAU =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='f',typ='R' ), + ), + + FORCE_COQUE =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",min=1,max='**', + 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'), + PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'), + PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), +# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + + F1 =SIMP(statut='f',typ='R' ), + F2 =SIMP(statut='f',typ='R' ), + F3 =SIMP(statut='f',typ='R' ), + MF1 =SIMP(statut='f',typ='R' ), + MF2 =SIMP(statut='f',typ='R' ), + + PRES =SIMP(statut='f',typ='R' ), + PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ), + ), + + + LIAISON_COQUE =FACT(statut='f',min=1,max='**', + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + RELA_CINE_BP =FACT(statut='f',min=1,max='**', + 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', + fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé", + min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','POSITION'), + EXCLUS('FX','POSITION'), + EXCLUS('FY','POSITION'), + EXCLUS('FZ','POSITION'),), +# trop de regles : les blocs conditionnels permettent d en suprimer + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + + FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FY =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + + POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ), + b_para =BLOC ( condition = "POSITION == 'PARA'", + regles=(UN_PARMI('TRANS','DIST'),), + TRANS =SIMP(statut='f',typ='R',max=3), + DIST =SIMP(statut='f',typ='R' ), + b_point2 =BLOC ( condition = "DIST != None", + POINT2 =SIMP(statut='o',typ='R',max=3), + ), + ), + b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')", + POINT1 =SIMP(statut='o',typ='R',max=3), + POINT2 =SIMP(statut='o',typ='R',max=3), + ), + ), + + + + + INTE_ELEC =FACT(statut='f',fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire", + min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'), + EXCLUS('TRANS','SYME'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + TRANS =SIMP(statut='f',typ='R',max='**'), + SYME =SIMP(statut='f',typ='R',max='**'), + ), + + + IMPE_FACE =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + IMPE =SIMP(statut='o',typ='R' ), + ), + + VITE_FACE =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + VNOR =SIMP(statut='o',typ='R' ), + ), + + + + ONDE_FLUI =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='o',typ='R' ), + ), + + FLUX_THM_REP =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUN =SIMP(statut='f',typ='R' ), + FLUN_HYDR1 =SIMP(statut='f',typ='R' ), + FLUN_HYDR2 =SIMP(statut='f',typ='R' ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, + fr="Affectation de charges et conditions aux limites mécaniques complexes", + docu="U4.44.05-d2",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),), + MODELE =SIMP(statut='o',typ=modele ), + VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + DDL_IMPO =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DX =SIMP(statut='f',typ='C' ), + DY =SIMP(statut='f',typ='C' ), + DZ =SIMP(statut='f',typ='C' ), + DRX =SIMP(statut='f',typ='C' ), + DRY =SIMP(statut='f',typ='C' ), + DRZ =SIMP(statut='f',typ='C' ), + GRX =SIMP(statut='f',typ='C' ), + PRES =SIMP(statut='f',typ='C' ), + PHI =SIMP(statut='f',typ='C' ), + ), + FORCE_POUTRE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), + PRESENT_ABSENT('FX','N','VY','VZ',), + PRESENT_ABSENT('FY','N','VY','VZ',), + PRESENT_ABSENT('FZ','N','VY','VZ',), + PRESENT_ABSENT('N','FX','FY','FZ',), + PRESENT_ABSENT('VY', 'FX','FY','FZ',), + PRESENT_ABSENT('VZ','FX','FY','FZ', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), + FX =SIMP(statut='f',typ='C' ), + FY =SIMP(statut='f',typ='C' ), + FZ =SIMP(statut='f',typ='C' ), + N =SIMP(statut='f',typ='C' ), + VY =SIMP(statut='f',typ='C' ), + VZ =SIMP(statut='f',typ='C' ), + ), + LIAISON_DDL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD', ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='C' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 26/11/2002 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 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", + docu="U4.44.01-g3",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', + 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', + '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'),), + 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 ), + + DDL_IMPO =FACT(statut='f',min=1,max='**', + 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'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DX =SIMP(statut='f',typ=(fonction) ), + DY =SIMP(statut='f',typ=(fonction) ), + DZ =SIMP(statut='f',typ=(fonction) ), + DRX =SIMP(statut='f',typ=(fonction) ), + DRY =SIMP(statut='f',typ=(fonction) ), + DRZ =SIMP(statut='f',typ=(fonction) ), + GRX =SIMP(statut='f',typ=(fonction) ), + PRES =SIMP(statut='f',typ=(fonction) ), + PHI =SIMP(statut='f',typ=(fonction) ), + TEMP =SIMP(statut='f',typ=(fonction) ), + PRE1 =SIMP(statut='f',typ=(fonction) ), + PRE2 =SIMP(statut='f',typ=(fonction) ), + ), + + FACE_IMPO =FACT(statut='f',min=1,max='**', + 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'), + EXCLUS('DNOR','DY'), + EXCLUS('DNOR','DZ'), + EXCLUS('DNOR','DRX'), + EXCLUS('DNOR','DRY'), + EXCLUS('DNOR','DRZ'), + EXCLUS('DTAN','DX'), + EXCLUS('DTAN','DY'), + EXCLUS('DTAN','DZ'), + EXCLUS('DTAN','DRX'), + EXCLUS('DTAN','DRY'), + EXCLUS('DTAN','DRZ'),), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DX =SIMP(statut='f',typ=(fonction) ), + DY =SIMP(statut='f',typ=(fonction) ), + DZ =SIMP(statut='f',typ=(fonction) ), + DRX =SIMP(statut='f',typ=(fonction) ), + DRY =SIMP(statut='f',typ=(fonction) ), + DRZ =SIMP(statut='f',typ=(fonction) ), + GRX =SIMP(statut='f',typ=(fonction) ), + PRES =SIMP(statut='f',typ=(fonction) ), + PHI =SIMP(statut='f',typ=(fonction) ), + TEMP =SIMP(statut='f',typ=(fonction) ), + PRE1 =SIMP(statut='f',typ=(fonction) ), + PRE2 =SIMP(statut='f',typ=(fonction) ), + DNOR =SIMP(statut='f',typ=(fonction) ), + DTAN =SIMP(statut='f',typ=(fonction) ), + ), + + LIAISON_DDL =FACT(statut='f',min=1,max='**', + fr="Définir 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='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction) ), + ), + + LIAISON_OBLIQUE =FACT(statut='f',min=1,max='**', + fr="Définir des relations linéaires entre certains ddls de couples de noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD'), + UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + ANGL_NAUT =SIMP(statut='o',typ='R',max=3), + DX =SIMP(statut='f',typ=(fonction) ), + DY =SIMP(statut='f',typ=(fonction) ), + DZ =SIMP(statut='f',typ=(fonction) ), + DRX =SIMP(statut='f',typ=(fonction) ), + DRY =SIMP(statut='f',typ=(fonction) ), + DRZ =SIMP(statut='f',typ=(fonction) ), + ), + + LIAISON_GROUP =FACT(statut='f',min=1,max='**', + fr="Définir des relations linéaires 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'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DDL_1 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='o',typ='TXM',max='**'), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction) ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + + CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",min=1,max='**', + regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'),), + APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", + into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), + RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), + LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), + METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", + into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ), + PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + b_active =BLOC(condition = "METHODE == 'CONTRAINTE' ", + fr="Paramètres de la méthode des contraintes actives (contact uniquement)", + regles=(EXCLUS('DIST_2','COEF_IMPO'), + EXCLUS('DIST_1','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + COEF_IMPO =SIMP(statut='f',typ='R'), + COEF_MULT_2 =SIMP(statut='f',typ='R'), + VECT_NORM_2 =SIMP(statut='f',typ='R',max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + DIST_1 =SIMP(statut='f',typ=(fonction)), + DIST_2 =SIMP(statut='f',typ=(fonction)), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),), + b_lagrangien =BLOC(condition = "METHODE == 'LAGRANGIEN' ", + fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DIST_1 =SIMP(statut='f',typ=(fonction)), + DIST_2 =SIMP(statut='f',typ=(fonction)), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), + ),), + b_penalisation =BLOC(condition = "METHODE == 'PENALISATION' ", + fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + E_N =SIMP(statut='f',typ='R'), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")), + 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'),), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DIST_1 =SIMP(statut='f',typ=(fonction)), + DIST_2 =SIMP(statut='f',typ=(fonction)), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + E_T =SIMP(statut='f',typ='R', + fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"), + COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut=0.E+0), + ),), + b_continue =BLOC(condition = "METHODE == 'CONTINUE' ", + fr="Paramètres de la méthode continue (contact avec ou sans frottement)", + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")), + COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), + MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), + 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), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',max=1), + 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),),), + ), + + LIAISON_UNIF =FACT(statut='f',min=1,max='**', + fr="Imposer une meme valeur (inconnue) a des ddls d un emsemble de noeuds", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), + + LIAISON_SOLIDE =FACT(statut='f',min=1,max='**', + fr="Modéliser une partie indéformable d une structure", + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), + ), + + + + FORCE_NODALE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + MX =SIMP(statut='f',typ=(fonction) ), + MY =SIMP(statut='f',typ=(fonction) ), + MZ =SIMP(statut='f',typ=(fonction) ), + ANGL_NAUT =SIMP(statut='f',typ=(fonction),max=3 ), + ), + + FORCE_FACE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + ), + FORCE_ARETE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + MX =SIMP(statut='f',typ=(fonction) ), + MY =SIMP(statut='f',typ=(fonction) ), + MZ =SIMP(statut='f',typ=(fonction) ), + ), + FORCE_CONTOUR =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + MX =SIMP(statut='f',typ=(fonction) ), + MY =SIMP(statut='f',typ=(fonction) ), + MZ =SIMP(statut='f',typ=(fonction) ), + ), + + FORCE_INTERNE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + ), + + PRES_REP =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('PRES','CISA_2D'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='f',typ=(fonction) ), + CISA_2D =SIMP(statut='f',typ=(fonction) ), + ), + + EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA_INT =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='o',typ=(fonction) ), + ), + + EPSI_INIT =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + EPXX =SIMP(statut='f',typ=(fonction) ), + EPYY =SIMP(statut='f',typ=(fonction) ), + EPZZ =SIMP(statut='f',typ=(fonction) ), + EPXY =SIMP(statut='f',typ=(fonction) ), + EPXZ =SIMP(statut='f',typ=(fonction) ), + EPYZ =SIMP(statut='f',typ=(fonction) ), + ), + + FORCE_POUTRE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'), + PRESENT_ABSENT('FX','N','VY','VZ'), + PRESENT_ABSENT('FY','N','VY','VZ'), + PRESENT_ABSENT('FZ','N','VY','VZ'), + PRESENT_ABSENT('N','FX','FY','FZ'), + PRESENT_ABSENT('VY','FX','FY','FZ'), + PRESENT_ABSENT('VZ','FX','FY','FZ'),), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + N =SIMP(statut='f',typ=(fonction) ), + VY =SIMP(statut='f',typ=(fonction) ), + VZ =SIMP(statut='f',typ=(fonction) ), + ), + + FORCE_TUYAU =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PRES =SIMP(statut='f',typ=(fonction) ), + ), + + FORCE_COQUE =FACT(statut='f',min=1,max='**', + 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'), + PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), + PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'), + PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), +# rajout d un mot cle REPERE : / GLOBAL / LOCAL + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FX =SIMP(statut='f',typ=(fonction) ), + FY =SIMP(statut='f',typ=(fonction) ), + FZ =SIMP(statut='f',typ=(fonction) ), + MX =SIMP(statut='f',typ=(fonction) ), + MY =SIMP(statut='f',typ=(fonction) ), + MZ =SIMP(statut='f',typ=(fonction) ), + F1 =SIMP(statut='f',typ=(fonction) ), + F2 =SIMP(statut='f',typ=(fonction) ), + F3 =SIMP(statut='f',typ=(fonction) ), + MF1 =SIMP(statut='f',typ=(fonction) ), + MF2 =SIMP(statut='f',typ=(fonction) ), + PRES =SIMP(statut='f',typ=(fonction) ), + PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL", + into=("SUP","INF","MOY","MAIL") ), + ), + + LIAISON_COQUE =FACT(statut='f',min=1,max='**', + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), + ), + + + VITE_FACE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + VNOR =SIMP(statut='o',typ=(fonction) ), + ), + IMPE_FACE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + PRESENT_ABSENT('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + IMPE =SIMP(statut='o',typ=(fonction) ), + ), + ONDE_PLANE =FACT(statut='f',min=1,max='**', + DIRECTION =SIMP(statut='o',typ='R',max='**'), + TYPE_ONDE =SIMP(statut='o',typ='TXM' ), + FONC_SIGNAL =SIMP(statut='o',typ=(fonction) ), + DIST_ORIG =SIMP(statut='o',typ='R' ), + ), + + + + FLUX_THM_REP =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUN =SIMP(statut='f',typ=(fonction) ), + FLUN_HYDR1 =SIMP(statut='f',typ=(fonction) ), + FLUN_HYDR2 =SIMP(statut='f',typ=(fonction) ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther, + fr=" ", + docu="",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + regles=(AU_MOINS_UN('CARA_TORSION', ),), + MODELE =SIMP(statut='o',typ=modele ), + VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON") ), + CARA_TORSION =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther + ,fr="Affectation de charges et conditions aux limites thermiques constantes", + docu="U4.44.02-g2",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + 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) ), + + TEMP_IMPO =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + TEMP =SIMP(statut='f',typ='R'), + TEMP_INF =SIMP(statut='f',typ='R'), + TEMP_SUP =SIMP(statut='f',typ='R'), ), + + FLUX_REP =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_PRESENT('CARA_TORSION','GROUP_MA'), + AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + 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 ), + ), + + + RAYONNEMENT =FACT(statut='f',min=1,max='**', + fr="Attention, exprimer les températures en Celsius si rayonnement", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + SIGMA =SIMP(statut='o',typ='R'), + EPSILON =SIMP(statut='o',typ='R'), + TEMP_EXT =SIMP(statut='o',typ='R'), + ), + + ECHANGE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), + ENSEMBLE('COEF_H','TEMP_EXT',), + ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), + ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + COEF_H =SIMP(statut='f',typ='R'), + TEMP_EXT =SIMP(statut='f',typ='R'), + COEF_H_INF =SIMP(statut='f',typ='R'), + TEMP_EXT_INF =SIMP(statut='f',typ='R'), + COEF_H_SUP =SIMP(statut='f',typ='R'), + TEMP_EXT_SUP =SIMP(statut='f',typ='R'), + ), + + SOURCE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('SOUR','SOUR_CALCULEE',), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + SOUR =SIMP(statut='f',typ='R'), + SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem_sour_r) ), + ), + + GRAD_TEMP_INIT =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUX_X =SIMP(statut='f',typ='R' ), + FLUX_Y =SIMP(statut='f',typ='R' ), + FLUX_Z =SIMP(statut='f',typ='R' ), + ), + + LIAISON_DDL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD', ),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**', + into=("TEMP","TEMP_INF","TEMP_SUP") ), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + ), + + LIAISON_GROUP =FACT(statut='f',min=1,max='**', + 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'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP") ), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP",) ), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ='R' ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max='**'), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + ), + + LIAISON_MAIL =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), + AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL', + 'NOEUD_ESCL'),), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no,max='**'), + TRAN =SIMP(statut='f',typ='R',max='**' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**' ), + CENTRE =SIMP(statut='f',typ='R',max='**' ), + ), + + ECHANGE_PAROI =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + COEF_H =SIMP(statut='f',typ='R'), + TRAN =SIMP(statut='f',typ='R',min=2,max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',min=1,max=3), + CENTRE =SIMP(statut='f',typ='R',min=2,max=3), + ), + + LIAISON_UNIF =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP") ), + ), + + LIAISON_CHAMNO =FACT(statut='f',min=1,max='**', + CHAM_NO =SIMP(statut='o',typ=cham_no),# CO()# "il faut definir une structure de donnee generique chamno" + COEF_IMPO =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + CONVECTION =FACT(statut='f',min=1,max='**', + VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), + ), + + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +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, ...)", + docu="U4.44.02-g2",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) ), + + TEMP_IMPO =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'), + PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + EVOL_THER =SIMP(statut='f',typ=(evol_ther) ), + DDL =SIMP(statut='f',typ='TXM',into=("TEMP",) ), + TEMP =SIMP(statut='f',typ=(fonction) ), + TEMP_INF =SIMP(statut='f',typ=(fonction) ), + TEMP_SUP =SIMP(statut='f',typ=(fonction) ), + ), + + FLUX_REP =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUN =SIMP(statut='f',typ=(fonction) ), + FLUN_INF =SIMP(statut='f',typ=(fonction) ), + FLUN_SUP =SIMP(statut='f',typ=(fonction) ), + FLUX_X =SIMP(statut='f',typ=(fonction) ), + FLUX_Y =SIMP(statut='f',typ=(fonction) ), + FLUX_Z =SIMP(statut='f',typ=(fonction) ), + ), + + FLUX_NL =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUN =SIMP(statut='o',typ=(fonction) ), + ), + + + RAYONNEMENT =FACT(statut='f',min=1,max='**', + fr="Attention, exprimer les températures en Celsius si rayonnement", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + SIGMA =SIMP(statut='o',typ=(fonction) ), + EPSILON =SIMP(statut='o',typ=(fonction) ), + TEMP_EXT =SIMP(statut='o',typ=(fonction) ), + ), + + + + ECHANGE =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), + ENSEMBLE('COEF_H','TEMP_EXT'), + ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), + ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + COEF_H =SIMP(statut='f',typ=(fonction) ), + TEMP_EXT =SIMP(statut='f',typ=(fonction) ), + COEF_H_INF =SIMP(statut='f',typ=(fonction) ), + TEMP_EXT_INF =SIMP(statut='f',typ=(fonction) ), + COEF_H_SUP =SIMP(statut='f',typ=(fonction) ), + TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction) ), + ), + + + SOURCE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + SOUR =SIMP(statut='o',typ=(fonction) ), + ), + + GRAD_TEMP_INIT =FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), + PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + FLUX_X =SIMP(statut='f',typ=(fonction) ), + FLUX_Y =SIMP(statut='f',typ=(fonction) ), + FLUX_Z =SIMP(statut='f',typ=(fonction) ), + ), + + ECHANGE_PAROI =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'), + UN_PARMI('GROUP_MA_2','MAILLE_2'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + COEF_H =SIMP(statut='o',typ=(fonction) ), + TRAN =SIMP(statut='f',typ='R',min=2,max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',min=1,max=3), + CENTRE =SIMP(statut='f',typ='R',min=2,max=3), + ), + + LIAISON_DDL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ), + COEF_MULT =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction) ), + ), + + LIAISON_GROUP =FACT(statut='f',min=1,max='**', + 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'), + EXCLUS('GROUP_MA_1','NOEUD_2'), + EXCLUS('GROUP_NO_1','GROUP_MA_2'), + EXCLUS('GROUP_NO_1','MAILLE_2'), + EXCLUS('MAILLE_1','GROUP_NO_2'), + EXCLUS('MAILLE_1','NOEUD_2'), + EXCLUS('NOEUD_1','GROUP_MA_2'), + EXCLUS('NOEUD_1','MAILLE_2'), + EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), + GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP") ), + COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), + DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP") ), + COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), + COEF_IMPO =SIMP(statut='o',typ=(fonction) ), + SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRAN =SIMP(statut='f',typ='R',max='**'), + ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + ), + + LIAISON_UNIF =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", + into=("TEMP","TEMP_INF","TEMP_SUP") ), + ), + + CONVECTION =FACT(statut='f',min=1,max='**', + VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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", + docu="U4.43.03-f",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + MAILLAGE =SIMP(statut='o',typ=maillage), + MODELE =SIMP(statut='f',typ=modele), + AFFE =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + MATER =SIMP(statut='o',typ=mater), + TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", + 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) ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + VERIF =SIMP(statut='f',typ='TXM',max=2,into=("MAILLE","NOEUD") ), + AFFE_SOUS_STRUC =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('TOUT','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), + ), + AFFE =FACT(statut='f',min=1,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,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD =SIMP(statut='f',typ=no,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', 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", + "APPUI_REP", + "ASSE_GRIL", + "AXIS", + "AXIS_FLUI_STRU", + "AXIS_FLUIDE", + "AXIS_FOURIER", + "AXIS_HHM", + "AXIS_HM", + "AXIS_INCO", + "AXIS_SI", + "AXIS_THH", + "AXIS_THHM", + "AXIS_THM", + "AXIS_GRAD_VARI", + "AXIS_FISSURE", + "BARRE", + "2D_BARRE", + "C_PLAN", + "C_PLAN_SI", + "C_PLAN_GRAD_EPSI", + "C_PLAN_GRAD_VARI", + "CABLE", + "CABLE_POULIE", + "COQUE_3D", + "COQUE_AXIS", + "COQUE_C_PLAN", + "COQUE_D_PLAN", + "D_PLAN", + "D_PLAN_GRAD_EPSI", + "D_PLAN_GRAD_VARI", + "PLAN_FISSURE", + "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_HHMD", + "AXIS_HMD", + "AXIS_THHD", + "AXIS_THVD", + "AXIS_THHMD", + "AXIS_THMD", + "D_PLAN_HHMD", + "D_PLAN_HMD", + "D_PLAN_THHD", + "D_PLAN_THVD", + "D_PLAN_THHMD", + "D_PLAN_THMD", + "DIS_T", + "DIS_TR", + "DKT", + "DST", + "FLUI_STRU", + "GRILLE", + "POU_C_T", + "POU_D_E", + "POU_D_EM", + "POU_D_T", + "POU_D_T_GD", + "POU_D_TG", + "POU_D_TGM", + "Q4G", + "TUYAU_3M", + "TUYAU_6M" + ) ) ), + + b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", + fr="modelisations thermiques", + MODELISATION =SIMP(statut='o',typ='TXM',into=( + "3D", + "3D_DIAG", + "AXIS", + "AXIS_DIAG", + "AXIS_FOURIER", + "COQUE", + "COQUE_AXIS", + "COQUE_PLAN", + "PLAN", + "PLAN_DIAG", + ),),), + + b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'", + fr="modelisations acoustiques", + MODELISATION =SIMP(statut='o',typ='TXM',into=( + "3D", + "PLAN" + ), ),), + + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +AIDE=PROC(nom="AIDE",op=42,docu="U4.02.01-g1", + UIinfo={"groupes":("Modélisation",)}, + fr="Interrogation sur le catalogue des commandes et les concepts produits", + regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + TYPE_ELEM =FACT(fr="couple type_elem option", + statut='f',min=1,max=1, + INITEL =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON",) ), + ), + CONCEPT =FACT(statut='f',min=1,max='**', + NOM =SIMP(fr="liste des noms de concept", + statut='f',typ='TXM',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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage, + fr="Assembler deux maillages sous un seul nom", + docu="U4.23.03-e",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + MAILLAGE =SIMP(statut='o',typ=maillage,min=2,max=2 ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r, + fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée", + docu="U4.65.04-d",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def asse_matrice_prod(MATR_ELEM,**args): + if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r + if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c + if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r + if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c + 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",docu="U4.61.22-f",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) ), + NUME_DDL =SIMP(statut='o',typ=nume_ddl), + 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 09/10/2002 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. +# ====================================================================== +ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, + fr="Assemblage de vecteurs de chargement en coordonnées généralisées", + docu="U4.65.05-d",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), + CHAR_SOUS_STRUC =FACT(statut='o',min=1,max='**', + SOUS_STRUC =SIMP(statut='o',typ='TXM' ), + VECT_ASSE =SIMP(statut='o',typ=cham_no_depl_r ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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",docu="U4.61.23-f",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), + NUME_DDL =SIMP(statut='o',typ=nume_ddl ), + INFO =SIMP(statut='f',typ='I',into=(1,2,) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8, + fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G", + docu="U4.52.13-c",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + ENER_SOL =FACT(statut='o',min=1,max=1, + regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'), + PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'), +# Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ') + PRESENT_PRESENT('KRX','KRY'), + PRESENT_PRESENT('KRX','KRZ'), + PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'), + PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'), + PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),), + METHODE =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + GROUP_NO_RADIER =SIMP(statut='f',typ=grno,max='**'), + GROUP_MA_RADIER =SIMP(statut='f',typ=grma,max='**'), + FONC_GROUP =SIMP(statut='f',typ=fonction ), + COEF_GROUP =SIMP(statut='f',typ='R',max='**'), + KX =SIMP(statut='o',typ='R' ), + KY =SIMP(statut='o',typ='R' ), + KZ =SIMP(statut='o',typ='R' ), + KRX =SIMP(statut='f',typ='R' ), + KRY =SIMP(statut='f',typ='R' ), + KRZ =SIMP(statut='f',typ='R' ), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + COOR_CENTRE =SIMP(statut='f',typ='R',max=3), + ), + AMOR_INTERNE =FACT(statut='o',min=1,max=1, + ENER_POT =SIMP(statut='o',typ=tabl_ener_pot ), + GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), + ), + AMOR_SOL =FACT(statut='o',min=1,max=1, + AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FONC_AMOR_GEO =SIMP(statut='o',typ=fonction,max='**' ), + HOMOGENE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +def calc_cham_elem_prod(OPTION,**args): + +# options mecaniques + if OPTION == "DEGE_ELNO_DEPL" : return cham_elem_epsi_r + if OPTION == "ECIN_ELEM_DEPL" : return cham_elem_ener_r + if OPTION == "EFGE_ELNO_CART" : return cham_elem_sief_r + if OPTION == "EFGE_ELNO_DEPL" : return cham_elem_sief_r + if OPTION == "ENDO_ELNO_SIGM" : return cham_elem_sief_r + if OPTION == "EPOT_ELEM_DEPL" : return cham_elem_ener_r + if OPTION == "ENEL_ELGA" : return cham_elem_ener_r + if OPTION == "ENEL_ELNO_ELGA" : return cham_elem_ener_r + if OPTION == "EPSI_ELNO_DEPL" : return cham_elem_epsi_r + if OPTION == "EQUI_ELGA_EPSI" : return cham_elem_epsi_r + if OPTION == "EQUI_ELGA_SIGM" : return cham_elem_sief_r + if OPTION == "EQUI_ELNO_EPSI" : return cham_elem_epsi_r + if OPTION == "EQUI_ELNO_SIGM" : return cham_elem_sief_r + if OPTION == "PRES_DBEL_DEPL" : return cham_elem_dbel_r + if OPTION == "SIEF_ELGA_DEPL" : return cham_elem_sief_r + if OPTION == "SIEF_ELGA_LAGR" : return cham_elem_sief_r + if OPTION == "SIGM_ELNO_CART" : return cham_elem_sief_r + if OPTION == "SIGM_ELNO_DEPL" : return cham_elem_sief_r + if OPTION == "SIGM_ELNO_LAGR" : return cham_elem_sief_r + if OPTION == "SIPO_ELNO_DEPL" : return cham_elem_sief_r + +# options thermiques + + if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r + if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r + if OPTION == "SOUR_ELGA_ELEC" : return cham_elem_sour_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", + docu="U4.81.03-g1",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + +# +# +# introduire un mot cle de type modelisation : mécanique,thermique,... +# + + OPTION =SIMP(statut='o',typ='TXM', + into=("DEGE_ELNO_DEPL","ECIN_ELEM_DEPL","EFGE_ELNO_CART", + "EFGE_ELNO_DEPL","ENDO_ELNO_SIGM","EPOT_ELEM_DEPL", + "ENEL_ELGA", "ENEL_ELNO_ELGA","EPSI_ELNO_DEPL", + "EQUI_ELGA_EPSI","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI", + "EQUI_ELNO_SIGM","PRES_DBEL_DEPL","SIEF_ELGA_DEPL", + "SIEF_ELGA_LAGR","SIGM_ELNO_CART","SIGM_ELNO_DEPL", + "SIGM_ELNO_LAGR","SIPO_ELNO_DEPL", + "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC", + "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG", + "COOR_ELGA"), ), + + b_dege_elno_depl =BLOC(condition="OPTION=='DEGE_ELNO_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + PLAN =SIMP(statut='o',typ='TXM',defaut="MAIL", into=("SUP","INF","MOY","MAIL"), ), + ), + + b_ecin_elem_depl =BLOC(condition="OPTION=='ECIN_ELEM_DEPL'", + regles=(UN_PARMI('VITE','DEPL',),ENSEMBLE('DEPL','FREQ',),), + FREQ =SIMP(statut='f',typ='R'), + VITE =SIMP(statut='f',typ=cham_no_depl_r), + DEPL =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c)), + ), + + b_efge_elno_cart =BLOC(condition="OPTION=='EFGE_ELNO_CART'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + PLAN =SIMP(statut='o',typ='TXM',defaut="MAIL", into=("SUP","INF","MOY","MAIL"), ), + ), + + b_efge_elno_depl =BLOC(condition="OPTION=='EFGE_ELNO_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + PLAN =SIMP(statut='o',typ='TXM',defaut="MAIL", into=("SUP","INF","MOY","MAIL"), ), + ), + + b_endo_elno_sigm =BLOC(condition="OPTION=='ENDO_ELNO_SIGM'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_epot_elem_depl =BLOC(condition="OPTION=='EPOT_ELEM_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + ), + + b_enel_elga =BLOC(condition="OPTION=='ENEL_ELGA'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_enel_elno_elga =BLOC(condition="OPTION=='ENEL_ELNO_ELGA'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_epsi_elno_depl =BLOC(condition="OPTION=='EPSI_ELNO_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + ), + + b_equi_elga_epsi =BLOC(condition="OPTION=='EQUI_ELGA_EPSI'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_epsi_r,) ), + ), + + b_equi_elga_sigm =BLOC(condition="OPTION=='EQUI_ELGA_SIGM'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_equi_elno_epsi =BLOC(condition="OPTION=='EQUI_ELNO_EPSI'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_epsi_r,) ), + ), + + b_equi_elno_sigm =BLOC(condition="OPTION=='EQUI_ELNO_SIGM'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_pres_dbel_depl =BLOC(condition="OPTION=='PRES_DBEL_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_c,)), + ), + + b_sief_elga_depl =BLOC(condition="OPTION=='SIEF_ELGA_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + ), + + b_sief_elga_lagr =BLOC(condition="OPTION=='SIEF_ELGA_LAGR'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + THETA =SIMP(statut='o',typ=(theta_geom,)), + PROPAGATION =SIMP(statut='f',typ='R',defaut=0.E+0), + ), + + b_sigm_elno_cart =BLOC(condition="OPTION=='SIGM_ELNO_CART'", + CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r,) ), + ), + + b_sigm_elno_depl =BLOC(condition="OPTION=='SIGM_ELNO_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,) ), + ), + + b_sigm_elno_lagr =BLOC(condition="OPTION=='SIGM_ELNO_LAGR'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + THETA =SIMP(statut='o',typ=(theta_geom,)), + PROPAGATION =SIMP(statut='f',typ='R',defaut=0.E+0), + ), + + b_sipo_elno_depl =BLOC(condition="OPTION=='SIPO_ELNO_DEPL'", + DEPL =SIMP(statut='o',typ=(cham_no_depl_r,)), + ), + + b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP','SOUR_ELGA_ELEC',)", + TEMP =SIMP(statut='o',typ=(cham_no_temp_r,)), + ), + + b_acoustique =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)", + PRES =SIMP(statut='o',typ=(cham_no_pres_c,)), + ), + + + + EXCIT =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('FONC_MULT','COEF_MULT', ),), + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)), + FONC_MULT =SIMP(statut='f',typ=fonction), + 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), + 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 09/10/2002 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. +# ====================================================================== +# 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, + fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)", + docu="U4.61.03-e",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + NUME_DDL =SIMP(statut='o',typ=nume_ddl ), + CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ) ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 calc_char_seisme_prod(MATR_MASS,**args ): + if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r + raise AsException("type de concept resultat non prevu") + +CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod, + docu="U4.63.01-e",reentrant='n', + 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" ), + DIRECTION =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), + b_mode_stat =BLOC ( condition = "MODE_STAT != None", + regles=(UN_PARMI('NOEUD','GROUP_NO' ),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 28/01/2003 AUTEUR JMBHH01 J.M.PROIX +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +def calc_elem_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu") + +CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,docu="U4.81.01-g3",reentrant='f', + UIinfo={"groupes":("Post traitements",)}, + fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )", + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca, + mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc, + evol_noli,mult_elas,fourier_elas, + evol_ther,base_modale, + acou_harmo,mode_acou,mode_flamb) , + 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'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + + INST =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + LIST_FREQ =SIMP(statut='f',typ=listr8), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + LIST_ORDRE =SIMP(statut='f',typ=listis), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',fr="le calcul ne sera effectué que sur ces mailles là",typ=grma,max='**'), + MAILLE =SIMP(statut='f',fr="le calcul ne sera effectué que sur ces mailles là",typ=ma,max='**'), + +# options pour des resultats lineaire + + b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\ + mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\ + mult_elas,fourier_elas,base_modale,mode_flamb)", + fr="options mecaniques lineaires", + TYPE_OPTION =SIMP(statut='f',typ='TXM',max=1,defaut='TOUTES',fr="type d'options mecaniques lineaires", + into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","DERIVEES", + "INDI_ERRE","AUTRES","TOUTES"), + ), + b_toutes=BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas", + OPTION =SIMP(statut='f',typ='TXM',max='**',defaut="SIEF_ELNO_ELGA", + # contraintes + into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", + "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART", + "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO", + # déformations + "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL", + "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL", + # ENER + "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", + # CRIT + "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO", + # derivees + "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI", + # autres + "VNOR_ELEM_DEPL","VALE_NCOU_MAXI","PRES_DBEL_DEPL"),), + + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numero de couche dans l'épaisseur de la coque ou du tuyau" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la coque, ou de la couche" ), + ANGLE =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice"), + NOM_CHAM =SIMP(statut='f',typ='TXM',max=1,fr="nom du champ pour VALE_NCOU_MAXI", ), + NOM_CMP =SIMP(statut='f',typ='TXM',max=1,fr="nom de la composante pour VALE_NCOU_MAXI", ), + PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"), + fr="Plan de calcul pour les plaques excentrées" ), + + + EXCIT =FACT(statut='f',min=1,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'),), + CHARGE =SIMP(statut='o',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT_C =SIMP(statut='f',typ=fonction_c), + COEF_MULT =SIMP(statut='f',typ='R'), + COEF_MULT_C =SIMP(statut='f',typ='C'), + PHAS_DEG =SIMP(statut='f',typ='R'), + PUIS_PULS =SIMP(statut='f',typ='I'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), + + + ), +# fin bloc b_toutes + + b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'", + fr="options de contraintes elasticite 2D et 3D", + OPTION =SIMP(statut='f',typ='TXM',max='**',defaut='SIEF_ELNO_ELGA', + fr="option de calcul des contraintes", + into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),), + + b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'SIEF_ELGA_DEPL' in OPTION ) ", + fr="charge contenant les temperatures ou autre charge", + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_meca ),), + ), + ), + + b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'", + fr="options de contraintes elasticite poutres, coques, tuyaux", + OPTION =SIMP(statut='o',typ='TXM',max='**',defaut='SIEF_ELNO_ELGA', + fr="option de calcul des contraintes ou efforts generalises", + into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO", + "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART", + "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),), + + b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\ + 'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'SIEF_ELGA_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'SIPO_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'EFGE_ELNO_DEPL' in OPTION ) ", + fr="charge contenant les temperatures ou les efforts répartis (poutres) ou autre", + EXCIT =FACT(statut='o',min=1,max='**', + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='o',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT_C =SIMP(statut='f',typ=fonction_c), + COEF_MULT =SIMP(statut='f',typ='R'), + COEF_MULT_C =SIMP(statut='f',typ='C'), + PHAS_DEG =SIMP(statut='f',typ='R'), + PUIS_PULS =SIMP(statut='f',typ='I'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), + ), + + b_niv_couche = BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL',) or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_DEPL' in OPTION) ", + + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la coque, ou de la couche" ), + ), + + b_sigtuyo = BLOC( condition = "OPTION == 'SIGM_ELNO_TUYO' or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_TUYO' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 , + fr="numero de couche dans l'épaisseur du tuyau" ), + ANGLE =SIMP(statut='f',typ='I',defaut= 0,fr="angle en degres à partir de la génératrice" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la couche" ), + ), + b_plan_excentrement =BLOC( condition = "OPTION=='EFGE_ELNO_DEPL' or \ + (type(OPTION)==type(()) and 'EFGE_ELNO_DEPL' in OPTION)", + fr="Plan de calcul des efforts pour les plaques avec excentrement", + PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"), + fr="Plan de calcul des efforts pour les plaques avec excentrement",), + + ), + ), +# fin bloc contraintes struct + + b_epsi =BLOC( condition = "TYPE_OPTION=='EPSI'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL", + "DEGE_ELNO_DEPL",), + ), + b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \ + (type(OPTION)==type(()) and 'EPSI_ELNO_DEPL' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la coque, ou de la couche" ), + ) , + b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL') or \ + (type(OPTION)==type(()) and 'EPSI_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'EPSI_ELGA_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'EPME_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'EPME_ELGA_DEPL' in OPTION ) ", + fr="charge contenant les temperatures", + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + ), + b_ener =BLOC( condition = "TYPE_OPTION=='ENER'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA", + "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",), + ), + b_charge =BLOC( condition = "OPTION in ('EPOT_ELEM_DEPL','ECIN_ELEM_DEPL','ENEL_ELGA','ENEL_ELNO_ELGA',) or \ + (type(OPTION)==type(()) and 'EPOT_ELEM_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'ENEL_ELGA' in OPTION ) or \ + (type(OPTION)==type(()) and 'ENEL_ELNO_ELGA' in OPTION ) or \ + (type(OPTION)==type(()) and 'ECIN_ELEM_DEPL' in OPTION ) ", + fr="charge contenant les temperatures", + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + ), + + b_crit =BLOC( condition = "TYPE_OPTION=='CRIT'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT", + ) ), + b_niv_couche = BLOC( condition = "OPTION in ('CRIT_ELNO_RUPT','EQUI_ELNO_SIGM') or \ + (type(OPTION)==type(()) and 'EQUI_ELNO_SIGM' in OPTION) or \ + (type(OPTION)==type(()) and 'CRIT_ELNO_RUPT' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la coque, ou de la couche" ), + ), + EXCIT =FACT(statut='f',min=1,max='**',fr="charge contenant les temperatures", + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + + b_derivees =BLOC( condition = "TYPE_OPTION=='DERIVEES'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI", + ) ),), + + b_autres =BLOC( condition = "TYPE_OPTION=='AUTRES'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("VALE_NCOU_MAXI","PRES_DBEL_DEPL","VNOR_ELEM_DEPL", + ) ), + b_maxi =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \ + (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)", + NOM_CHAM =SIMP(statut='o',typ='TXM',max=1,fr="Nom du champ pour VALE_NCOU_MAXI" ), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1,fr="Nom de la composante pour VALE_NCOU_MAXI"),), + ), + + b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", + OPTION =SIMP(statut='o',typ='TXM',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',min=1,max='**',fr="charge contenant les temperatures", + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + ), +# fin bloc lineaire + + +# statique ou dynamique non lineaire : evol_noli + b_noli =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options evol noli", + TYPE_OPTION =SIMP(statut='f',typ='TXM',max=1,defaut='TOUTES', + into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT", + "VARI","INDI_ERRE","TOUTES","AUTRES"), + ), + b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas", + OPTION =SIMP(statut='f',typ='TXM',max='**', + into=( "SIEF_ELNO_ELGA", + "SIGM_ELNO_TUYO","SIGM_ELNO_COQU", + "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART", + # EPSI + "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL", + "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL", + "DEGE_ELNO_DEPL", + "EPSP_ELNO","EPSP_ELGA", + "EPGR_ELNO","EPGR_ELGA", + "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT", + # CRIT + "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", + "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "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_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"), + ), + NORME =SIMP(statut='f',typ='TXM',defaut="VMIS", + into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"), + fr="Type de norme pour les options RADI_ et DCHA_"), + + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche pour coques et tuyaux" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche" ), + ANGLE =SIMP(statut='f',typ='I',defaut= 0 ,fr="angle de dépouillement pour les tuyaux"), + NOM_CHAM =SIMP(statut='f',typ='TXM',max=1,fr="Nom du champ pour VALE_NCOU_MAXI"), + NOM_CMP =SIMP(statut='f',typ='TXM',max=1,fr="Nom de la composante pour VALE_NCOU_MAXI"), + PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ), + + EXCIT =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='o',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT_C =SIMP(statut='f',typ=fonction_c), + COEF_MULT =SIMP(statut='f',typ='R'), + COEF_MULT_C =SIMP(statut='f',typ='C'), + PHAS_DEG =SIMP(statut='f',typ='R'), + PUIS_PULS =SIMP(statut='f',typ='I'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), + ), + + b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'", + fr="options de contraintes non lin 2D et 3D", + OPTION =SIMP(statut='o',typ='TXM',max='**', + # contraintes + into=( "SIEF_ELNO_ELGA",),), + ), + + b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'", + fr="options de contraintes non lin poutres, coques", + OPTION =SIMP(statut='o',typ='TXM',max='**', + # contraintes + into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU", + "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),), + b_sigcoqu = BLOC( condition = "OPTION in ('SIGM_ELNO_COQU',) or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_COQU' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numéro de couche dans l'épaisseur de la coque" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche" ), + ), + b_sigtuyo = BLOC( condition = "OPTION in ('SIGM_ELNO_TUYO',) or \ + (type(OPTION)==type(()) and 'SIGM_ELNO_TUYO' in OPTION)", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numéro de couche dans l'épaisseur du tuyau" ), + ANGLE =SIMP(statut='f',typ='I',defaut= 0, + fr="angle de dépouillement pour les tuyaux, en degres" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche"), + ), + ), + + b_epsi =BLOC( condition = "TYPE_OPTION=='EPSI'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL", + "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL", + "EPSP_ELNO","EPSP_ELGA","EPGR_ELNO","EPGR_ELGA", + "DEGE_ELNO_DEPL",), + ), + b_niv_couche = BLOC( condition = "OPTION =='EPSI_ELNO_DEPL' or \ + (type(OPTION)==type(()) and 'EPSI_ELNO_DEPL' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numero de couche dans l'épaisseur de la coque (coques multicouches)" ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="position dans l'épaisseur de la coque, ou de la couche" ), + ) , + EXCIT =FACT(statut='f',min=1,max='**',fr="charge contenant les temperatures", + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + + b_vari =BLOC( condition = "TYPE_OPTION=='VARI'", + fr="Calcul et extraction des variables internes", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU",), + ), + b_varcoqu = BLOC( condition = "OPTION in ('VARI_ELNO_COQU',) or \ + (type(OPTION)==type(()) and 'VARI_ELNO_COQU' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numéro de couche dans l'épaisseur de la coque"), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche" ), + ), + b_vartuyo = BLOC( condition = "OPTION in ('VARI_ELNO_TUYO',) or \ + (type(OPTION)==type(()) and 'VARI_ELNO_TUYO' in OPTION) ", + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1, + fr="numéro de couche dans l'épaisseur de tuyau" ), + ANGLE =SIMP(statut='f',typ='I',defaut= 0, + fr="angle de dépouillement pour les tuyaux, en degres"), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche" ), + ), + ), + + b_ener =BLOC( condition = "TYPE_OPTION=='ENER'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",), + ), + EXCIT =FACT(statut='f',min=1,max='**',fr="charge contenant les temperatures", + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + + b_crit =BLOC( condition = "TYPE_OPTION=='CRIT'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT", + "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF", + ) ), + NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1,fr="numéro de couche dans l'épaisseur de la coque"), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point d'intégration dans la couche" ), + ), + + b_autres =BLOC( condition = "TYPE_OPTION=='AUTRES'", + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("VALE_NCOU_MAXI",) ), + b_maxi =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \ + (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)", + NOM_CHAM =SIMP(statut='o',typ='TXM',max=1,fr="Nom du champ pour VALE_NCOU_MAXI" ), + NOM_CMP =SIMP(statut='o',typ='TXM',max=1,fr="Nom de la composante pour VALE_NCOU_MAXI"),), + ), + + + b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", + OPTION =SIMP(statut='o',typ='TXM',max='**',defaut="ERRE_ELGA_NORE", + into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", + ) ), + 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\ + (type(OPTION)==type(()) and 'RADI_ELNO_SIGM' in OPTION) or\ + (type(OPTION)==type(()) and 'RADI_ELGA_SIGM' in OPTION) ", + NORME =SIMP(statut='f',typ='TXM',defaut="VMIS", + into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ), + ), + ), + ), +# fin bloc evol_noli + +# thermique : evol_ther + b_ther =BLOC( condition = "AsType(RESULTAT) == evol_ther",fr="options thermiques", + OPTION =SIMP(statut='f',typ='TXM',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",),), + EXCIT =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='o',typ=char_ther ), + FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT_C =SIMP(statut='f',typ=fonction_c), + COEF_MULT =SIMP(statut='f',typ='R'), + COEF_MULT_C =SIMP(statut='f',typ='C'), + PHAS_DEG =SIMP(statut='f',typ='R'), + PUIS_PULS =SIMP(statut='f',typ='I'), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),), + ), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"), + fr="choix du point de calcul dans l'épaisseur des coques" ), + + ), + +# acoustique + b_acou =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques", + OPTION =SIMP(statut='f',typ='TXM',max='**', + into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG", + "INTE_ELNO_ACTI","INTE_ELNO_REAC", + ),), + EXCIT =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='o',typ=char_acou ), + FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT_C =SIMP(statut='f',typ=fonction_c), + COEF_MULT =SIMP(statut='f',typ='R'), + COEF_MULT_C =SIMP(statut='f',typ='C'), + PHAS_DEG =SIMP(statut='f',typ='R'), + 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),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 20/01/2003 AUTEUR F1BHHAJ J.ANGLES +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +def calc_fatigue_prod(TYPE_CALCUL,**args): + if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag + if TYPE_CALCUL == "FATIGUE_MULTI" : return cham_elem_facy_r + 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.", + docu="U4.83.02-c", + UIinfo={"groupes":("Post traitements",)}, + + TYPE_CALCUL = SIMP(statut='o',typ='TXM', + into=("CUMUL_DOMMAGE","FATIGUE_MULTI",) ), + + b_cumul_domma =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'", + fr="Calcul d un champ de dommage subi par une structure.", + regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), + OPTION =SIMP(statut='o',typ='TXM', + into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM", + "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI", + "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ), + HISTOIRE =FACT(statut='o',min=1,max=1, + RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, + evol_noli) ), + EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", + into=("VMIS_SG","INVA_2_SG") ), + ), + DOMMAGE =SIMP(statut='o',typ='TXM', + into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON", + "TAHERI_MIXTE",) ), + MATER =SIMP(statut='o',typ=(mater) ), + TAHERI_NAPPE =SIMP(statut='f',typ=(fonction) ), + TAHERI_FONC =SIMP(statut='f',typ=(fonction) ), + ), + + b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'", + fr="Plan critique dans le cas de la fatigue multiaxiale a grand nombre de cycles.", + RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN") ), + METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu, + docu="U4.66.02-d",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + VITE_FLUI =FACT(statut='o',min=1,max=1, + 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' ), + ), + BASE_MODALE =FACT(statut='o',min=1,max=1, + + regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),), + 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' ), + ), + TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ), + IMPRESSION =FACT(statut='f',min=1,max=1, + fr="Choix des informations à imprimer dans le fichier RESULTAT", + PARA_COUPLAGE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=fonction, + docu="U4.32.01-e1",reentrant='f', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('VALE_R','LIST_PARA'),), + FONCTION =SIMP(statut='o',typ=fonction ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + VALE_R =SIMP(statut='f',typ='R',max='**'), + LIST_PARA =SIMP(statut='f',typ=listr8 ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG","INT") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE","INTERPRE") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE","INTERPRE") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), +) ; +#& MODIF COMMANDE DATE 09/12/2002 AUTEUR CIBHHLV L.VIVAN +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE MCOURTOI M.COURTOIS +def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,RMS,NOCI_SEISME,MAX,COMB,COMB_C,ENVELOPPE, + SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,LISS_ENVELOP,NORME, **args): + if (RMS != None) : return tabl_fonc_rms + if (MAX != None) : return tabl_fonc_max + if (NOCI_SEISME != None): return tabl_fonc_noci + if (INTEGRE != None) : return fonction + if (DERIVE != None) : return fonction + if (COMB != None) : return fonction + if (ENVELOPPE != None) : return fonction + if (EXTRACTION != None) : return fonction + if (SPEC_OSCI != None) : return fonction + if (COMB_C != None) : return fonction_c + if (COMPOSE != None) : return fonction + if (ASSE != None) : return fonction + if (FFT != None) : + vale=FFT.get_child('FONCTION').get_valeur() + if (AsType(vale) == fonction ) : return fonction_c + if (AsType(vale) == fonction_c) : return fonction + if (CORR_ACCE != None) : return fonction + if (LISS_ENVELOP != None) : return fonction + if (PUISSANCE != None) : return fonction + if (NORME != None) : return table + raise AsException("type de concept resultat non prevu") + +CALC_FONCTION=OPER(nom="CALC_FONCTION",op= 91,sd_prod=calc_fonction_prod + ,fr="Opérations mathématiques sur des concepts de type fonction", + docu="U4.32.04-f2",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','COMB_C','ENVELOPPE','RMS', + 'NOCI_SEISME','COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE', + 'NORME','LISS_ENVELOP'),), + FFT =FACT(statut='f',min=1,max=1,fr="Calcul de la transformee de Fourier ou de son inverse", + FONCTION =SIMP(statut='o',typ=(fonction,fonction_c) ) + ), + DERIVE =FACT(statut='f',min=1,max=1,fr="Calcul de la dérivée d une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ), + FONCTION =SIMP(statut='o',typ=fonction ), + ), + INTEGRE =FACT(statut='f',min=1,max=1,fr="Calcul de l intégrale d une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction), + COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), + ), + RMS =FACT(statut='f',min=1,max=1,fr="Calcul de la valeur RMS d une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction ), + 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 ), + ), + NOCI_SEISME =FACT(statut='f',min=1,max=1, + FONCTION =SIMP(statut='f',typ=fonction ), + SPEC_OSCI =SIMP(statut='f',typ=fonction ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",max='**', + into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", + "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",) ), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + NATURE =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") ), + 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 ), + AMOR_REDUIT =SIMP(statut='f',typ='R'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + LISS_ENVELOP = FACT(statut='f',min=1,max=1,fr="Lissage d une enveloppe", + FONCTION =SIMP(statut='o',typ=fonction ), + 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 ), + AMOR_ECH =SIMP(statut='f',typ='R',max='**'), + ), + ), + SPEC_OSCI =FACT(statut='f',min=1,max=1,fr="Calcul du spectre d oscillateur", + METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ), + FONCTION =SIMP(statut='o',typ=fonction ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + FREQ =SIMP(statut='f',typ='R',max='**'), + NORME =SIMP(statut='f',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ), + NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), + NATURE_FONC =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), + ), + MAX =FACT(statut='f',min=1,max=1,fr="Calcul des extrémas locaux d une fonction", + FONCTION =SIMP(statut='o',typ=fonction ), + ), + COMB =FACT(statut='f',min=1,max='**',fr="Calcul d une combinaison linéaire réelle de fonctions", + FONCTION =SIMP(statut='o',typ=fonction ), + COEF =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), + ), + COMB_C =FACT(statut='f',min=1,max='**',fr="Calcul d une combinaison linéaire complexe de fonctions", + regles=(UN_PARMI('COEF_R','COEF_C'),), + FONCTION =SIMP(statut='o',typ=(fonction, fonction_c) ), + COEF_R =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), + COEF_C =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ), + ), + b_comb =BLOC ( condition = " (COMB != None) or (COMB_C != None)", + LIST_PARA =SIMP(statut='f',typ=listr8 ), + ), + COMPOSE =FACT(statut='f',min=1,max=1,fr="Calcul de la composition de deux fonctions FONC_RESU(FONC_PARA)", + FONC_RESU =SIMP(statut='o',typ=fonction), + FONC_PARA =SIMP(statut='o',typ=fonction), + ), + EXTRACTION =FACT(statut='f',min=1,max=1,fr="Opération d extraction sur une fonction complexe", + FONCTION =SIMP(statut='o',typ=fonction_c), + PARTIE =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"), + ), + ENVELOPPE =FACT(statut='f',min=1,max=1,fr="Calcul de l enveloppe d une famille de fonctions", + FONCTION =SIMP(statut='o',typ=fonction,max='**' ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ), + ), + ASSE =FACT(statut='f',min=1,max=1,fr="Création à partir de la concatenation de fonctions", + FONCTION =SIMP(statut='o',typ=fonction,max='**' ), + SURCHARGE =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")), + ), + CORR_ACCE =FACT(statut='f',min=1,max=1,fr="Correction d un accelerogramme reel", + CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + FONCTION =SIMP(statut='o',typ=fonction ), + ), + PUISSANCE =FACT(statut='f',min=1,max=1,fr="Cacul du carré d'une fonction", + FONCTION =SIMP(statut='o', typ=fonction), + EXPOSANT =SIMP(statut='f', typ='I', defaut=1 ), + ), + NORME =FACT(statut='f',min=1,max=1,fr="Cacul de la norme L2 d'une fonction", + FONCTION =SIMP(statut='o', typ=fonction), + ), + NOM_PARA =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS", + "AMOR","ABSC") ), + 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") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS", + "AMOR","ABSC") ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, + fr="calcul de la force ajoutee ", + docu="U4.66.03-a1",reentrant ='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + + regles=(EXCLUS('MODE_MECA','MODELE_GENE'), + PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'), + UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'), + UN_PARMI('MONO_APPUI','MODE_STAT')), + + MODELE_FLUIDE =SIMP(statut='o',typ=modele ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_ther ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + 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 ), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NUME_MODE_MECA =SIMP(statut='f',typ='I',max='**'), + POTENTIEL =SIMP(statut='f',typ=evol_ther ), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + + DIRECTION =SIMP(statut='o',typ='R',max=3), + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0), ), + + ) ; +#& MODIF COMMANDE DATE 04/02/2003 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. +# ====================================================================== +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",docu="U4.82.04-f3",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + regles=(UN_PARMI('RESULTAT','DEPL'), + 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='o',typ=fond_fiss), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli),), + 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',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + + 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") ), + ), + ), + + CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), + + COMP_ELAS =FACT(statut='f',min=1,max=1, + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + + COMP_INCR =FACT(statut='f',min=1,max=1, + 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,) ), + VMIS_CINE_LINE =SIMP(statut='f',typ='I',defaut=7,into=(7,) ), + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + + ETAT_INIT =FACT(statut='f',min=1,max=1, + 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_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_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", + BORNES =FACT(statut='o',min=1,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), + R_SUP_FO =SIMP(statut='f',typ=fonction), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 04/02/2003 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. +# ====================================================================== +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", + docu="U4.82.03-f2",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + regles=(UN_PARMI('RESULTAT','DEPL'), + EXCLUS('COMP_ELAS','COMP_INCR'),), + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + THETA =SIMP(statut='o',typ=theta_geom), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli),), + + 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',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + + 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") ), + ), + ), + + CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), + + COMP_ELAS =FACT(statut='f',min=1,max=1, + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + COMP_INCR =FACT(statut='f',min=1,max=1, + 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,) ), + VMIS_CINE_LINE =SIMP(statut='f',typ='I',defaut=7,into=(7,) ), + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + ETAT_INIT =FACT(statut='f',min=1,max=1, + 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","CALC_DG",) ), + b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", + BORNES =FACT(statut='o',min=1,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'), + ), + b_calc_dg =BLOC(condition="OPTION=='CALC_DG'", + SENSIBILITE =FACT(statut='f',min=1,max=1, + THETA =SIMP(statut='o',typ=theta_geom ), + ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +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", + docu="U4.36.03-e",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + INST_FIN =SIMP(statut='o',typ='R' ), + DUREE_ANALYSE =SIMP(statut='f',typ='R' ), + DUREE_DECALAGE =SIMP(statut='f',typ='R' ), + NB_POIN =SIMP(statut='o',typ='I' ), + FONCTION =SIMP(statut='o',typ=fonction,max='**' ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +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", + docu="U4.66.01-c",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'), + PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'), + PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),), + MODELE_FLUIDE =SIMP(statut='o',typ=modele ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele ), + 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 ), + 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 ), + AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NUME_MODE_MECA =SIMP(statut='f',typ='I',max='**'), + OPTION =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ), + POTENTIEL =SIMP(statut='f',typ=evol_ther ), + NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), +) ; +#& MODIF COMMANDE DATE 28/11/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def calc_matr_elem_prod(OPTION,**args): + if OPTION == "RIGI_MECA" : return matr_elem_depl_r + if OPTION == "RIGI_FLUI_STRU" : return matr_elem_depl_r + if OPTION == "RIGI_MECA_LAGR" : return matr_elem_depl_r + if OPTION == "MASS_ID_MDEP_R" : return matr_elem_depl_r + if OPTION == "MASS_ID_MDNS_R" : return matr_elem_depl_r + if OPTION == "MASS_ID_MTEM_R" : return matr_elem_temp_r + if OPTION == "MASS_ID_MTNS_R" : return matr_elem_temp_r + if OPTION == "MASS_MECA" : return matr_elem_depl_r + if OPTION == "MASS_FLUI_STRU" : return matr_elem_depl_r + if OPTION == "RIGI_GEOM" : return matr_elem_depl_r + if OPTION == "RIGI_ROTA" : return matr_elem_depl_r + 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 == "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 + if OPTION == "MASS_MECA_DIAG" : return matr_elem_depl_r + if OPTION == "RIGI_ACOU" : return matr_elem_pres_c + if OPTION == "MASS_ACOU" : return matr_elem_pres_c + if OPTION == "AMOR_ACOU" : return matr_elem_pres_c + raise AsException("type de concept resultat non prevu") + +CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod + ,fr="Calcul des matrices élémentaires",docu="U4.61.01-g1",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + 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", + "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", + "RIGI_MECA_LAGR") ), + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", + regles=(AU_MOINS_UN('MODELE','CHARGE' ),), + MODELE =SIMP(statut='f',typ=modele ), + b_modele =BLOC(condition = "MODELE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + CHARGE =SIMP(statut='f',typ=char_meca,max='**' ), + b_charge =BLOC (condition = "CHARGE != None", + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ), + + b_rigi_meca_lagr =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'", + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='f',typ=char_meca,max='**' ), + b_charge =BLOC(condition = "CHARGE != None", + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + THETA =SIMP(statut='o',typ=theta_geom ), + PROPAGATION =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_mass_meca =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')", + regles=(AU_MOINS_UN('MODELE','CHARGE'),), + MODELE =SIMP(statut='f',typ=modele ), + b_modele =BLOC(condition = "MODELE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + ), + CHARGE =SIMP(statut='f',typ=char_meca,max='**' ), + b_charge =BLOC(condition = "CHARGE != None", + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ), + + b_mass_identite =BLOC(condition = "(OPTION in ('MASS_ID_MDEP_R','MASS_ID_MTEM_R','MASS_ID_MDNS_R','MASS_ID_MTNS_R')) ", + MODELE =SIMP(statut='o',typ=modele ), + # j'ajoute ces 2 mot clés inutiles à cause de l'alarme pas assez subtile de MEDOME + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + ), + + b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'", + MODELE =SIMP(statut='o',typ=modele ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + + b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'", + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca,max='**' ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_amor_meca =BLOC(condition = "OPTION=='AMOR_MECA'", + regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), + ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), + MODELE =SIMP(statut='o',typ=modele ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHAM_MATER =SIMP(statut='f',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,max='**' ), + ), + + b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", + MODELE =SIMP(statut='o',typ=modele ), + CHARGE =SIMP(statut='f',typ=char_meca ,max='**' ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + RIGI_MECA =SIMP(statut='o',typ=matr_elem_depl_r ), + ), + + b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'", + regles=(AU_MOINS_UN('MODELE','CHARGE' ),), + MODELE =SIMP(statut='f',typ=modele ), + b_modele =BLOC(condition = "MODELE != None", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + CHARGE =SIMP(statut='f',typ=char_ther,max='**' ), + ), + + b_mass_ther =BLOC(condition = "OPTION=='MASS_THER'", + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + ), + + b_rigi_acou =BLOC(condition = "(OPTION=='RIGI_ACOU') or (OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='f',typ=char_acou ,max='**' ), + ), + + b_rigi_flui =BLOC(condition = "(OPTION=='RIGI_FLUI_STRU') or (OPTION=='MASS_FLUI_STRU')", + MODELE =SIMP(statut='o',typ=modele ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca ,max='**' ), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_impe_meca =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')", + MODELE =SIMP(statut='o',typ=modele ), + CHARGE =SIMP(statut='o',typ=char_meca,max='**' ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,docu="U4.85.01-b1",reentrant='o', + UIinfo={"groupes":("Post traitements",)}, + fr="Calcule la métallurgie a partir du résultat du calcul thermique", + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + RESULTAT =SIMP(statut='o',typ=evol_ther ), + ETAT_INIT =FACT(statut='o',min=1,max=1, + regles=(UN_PARMI('NUME_INIT', 'INST_INIT', 'META_INIT',),), + 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 =SIMP(statut='f',typ=carte_var2_r ), + ), + COMP_INCR =FACT(statut='o',min=1,max='**', + RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ), + ACIER =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), + ZIRC =SIMP(statut='c',typ='I',defaut=3,into=(3,) ), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma), + ), + OPTION =SIMP(statut='f',typ='TXM' + ,into=("META_ELNO_TEMP",) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +def calc_no_prod(RESULTAT,**args): + if AsType(RESULTAT) != None : return AsType(RESULTAT) + raise AsException("type de concept resultat non prevu") + +CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,docu="U4.81.02-f3",reentrant='o', + 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, + mode_stat_forc,evol_ther,evol_noli,base_modale, + mult_elas,fourier_elas,mode_flamb ) ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + fr="Liste des paramètres de sensibilité.", + 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'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + INST =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + LIST_FREQ =SIMP(statut='f',typ=listr8), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + LIST_ORDRE =SIMP(statut='f',typ=listis), + + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("FORC_NODA","REAC_NODA", + "DCHA_NOEU_SIGM", + "DEGE_NOEU_DEPL", + "DETE_NOEU_DLTE", + "DEDE_NOEU_DLDE", + "DESI_NOEU_DLSI", + "DURT_NOEU_META", + "EFGE_NOEU_CART","EFGE_NOEU_DEPL", + "ENDO_NOEU_SINO", + "ENEL_NOEU_ELGA", + "EPMG_NOEU_DEPL", + "EPSA_NOEU", + "EPSG_NOEU" ,"EPSG_NOEU_DEPL", + "EPSI_NOEU_DEPL","EPSI_NOEU_DPGE", + "EPSP_NOEU" ,"EPSP_NOEU_ZAC", + "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM", + "ERRE_NOEU_ELGA", + "FLUX_NOEU_TEMP", + "GRAD_NOEU_THETA", + "HYDR_NOEU_ELGA", + "INTE_NOEU_ACTI","INTE_NOEU_REAC", + "META_NOEU_TEMP", + "PMPB_NOEU_SIEF", + "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL", + "RADI_NOEU_SIGM", + "SIEF_NOEU" ,"SIEF_NOEU_ELGA", + "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL","SIGM_NOEU_DPGE", + "SIGM_NOEU_SIEF","SIGM_NOEU_VARI","SIGM_NOEU_ZAC", + "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF", + "SIRE_NOEU_DEPL", + "VARI_NOEU" ,"VARI_NOEU_ELGA",) ), + + b_forc_reac =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\ + (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""", + MODELE =SIMP(statut='o',typ=modele), + ), + + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='f',min=1,max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ), + FONC_MULT =SIMP(statut='f',typ=fonction), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV") ), + ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), +) ; +#& MODIF COMMANDE DATE 04/03/2003 AUTEUR ASSIRE A.ASSIRE +# 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 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", + docu="",reentrant='f', + reuse =SIMP(statut='f',typ='evol_noli'), + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + CABLE_BP =SIMP(statut='o',typ='TXM',max='**'), + CABLE_BP_INACTIF =SIMP(statut='f',typ='TXM',max='**'), + INCREMENT =FACT(statut='o',min=1,max=1, + LIST_INST =SIMP(statut='o',typ=listr8), + 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',min=1,max=1, + 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',min=1,max=1, + 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',min=1,max=1, + 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 ), + TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), + ETAT_INIT =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), + # A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + SOLV_NON_LOCAL =FACT(statut='f',min=1,max=1, + 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","SANS","DIAG") ), + 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',max=1, + 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',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + ), + + COMP_INCR =C_COMP_INCR(), + ) ; +#& MODIF COMMANDE DATE 04/02/2003 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. +# ====================================================================== +CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,docu="U4.82.02-d",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) ), + THETA_3D =FACT(statut='f',min=1,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,max='**'), + NOEUD =SIMP(statut='f',typ=no,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), + R_INF_FO =SIMP(statut='f',typ=fonction), + R_SUP_FO =SIMP(statut='f',typ=fonction), + ), + 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',min=1,max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,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',min=1,max='**', + MODULE =SIMP(statut='o',typ='R'), + R_INF =SIMP(statut='o',typ='R'), + R_SUP =SIMP(statut='o',typ='R'), + ), + GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + IMPRESSION =FACT(statut='f',min=1,max=1, + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def calc_vect_elem_prod(OPTION,**args): + if OPTION == "CHAR_MECA" : return vect_elem_depl_r + if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r + if OPTION == "CHAR_THER" : return vect_elem_temp_r + if OPTION == "CHAR_ACOU" : return vect_elem_pres_c + if OPTION == "FORC_NODA" : return vect_elem_depl_r + raise AsException("type de concept resultat non prevu") + +CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,docu="U4.61.02-f",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + fr="Calcul des seconds membres élémentaires", + OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU", + "FORC_NODA","CHAR_MECA_LAGR") ), + b_char_meca =BLOC(condition = "OPTION=='CHAR_MECA'", + regles=(AU_MOINS_UN('CHARGE','MODELE'),), + CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + MODELE =SIMP(statut='f',typ=modele), + b_charge =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure", + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + b_modele =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure", + SOUS_STRUC =FACT(statut='o',min=01, + 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,max='**',), + ), + ), + ), + b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + CHARGE =SIMP(statut='o',typ=char_ther,max='**'), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CHARGE =SIMP(statut='o',typ=char_acou,max='**'), + ), + + b_forc_noda =BLOC(condition = "OPTION=='FORC_NODA'", + SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + MODELE =SIMP(statut='f',typ=modele), + ), + + b_meca_lagr =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'", + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + THETA =SIMP(statut='o',typ=theta_geom), + PROPAGATION =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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.get_child('CHAM_ELEM').get_valeur() + elif COMB_C != None: + vale=COMB_C.get_child('CHAM_ELEM').get_valeur() + elif COMB_FOURIER != None: + vale=COMB_FOURIER.get_child('CHAM_ELEM').get_valeur() + 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",docu="U4.72.03-e", + 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',min=1,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 ) ), + ), + COMB_C =FACT(statut='f',min=1,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) ), + ), + COMB_FOURIER =FACT(statut='f',min=1,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 ) ), + ), + ANGL =SIMP(statut='f',typ='R' ), +) ; + +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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.get_child('CHAM_NO').get_valeur()) + 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: + type_mat = AsType(COMB_R.get_child('CHAM_NO').get_valeur()) + 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.get_child('CHAM_NO').get_valeur()) + 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") + + +COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod + ,fr="Combinaison linéaire de champs aux noeuds", + docu="U4.72.02-f",reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),), + COMB_R =FACT(statut='f',min=1,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 ) ), + COEF_R =SIMP(statut='o',typ='R' ), + ), + COMB_C =FACT(statut='f',min=1,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 ) ), + COEF_R =SIMP(statut='f',typ='R' ), + COEF_C =SIMP(statut='f',typ='C' ), + ), + COMB_FOURIER =FACT(statut='f',min=1,max='**', + CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ), + 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") ), + ), + b_angl = BLOC ( condition = "COMB_FOURIER != None", + ANGL =SIMP(statut='o',typ='R' ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, + docu="U4.83.31-c",reentrant='n', + 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',max=5, + into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): + if COMB_C != None: + type_mat = AsType(COMB_C.get_child('MATR_ASSE').get_valeur()) + if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c + if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c + if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c + if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c + elif COMB_R != None: + type_mat = AsType(COMB_R.get_child('MATR_ASSE').get_valeur()) + if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r + if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r + if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r + if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r + elif CALC_AMOR_GENE != None: return matr_asse_gene_r + 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", + docu="U4.72.01-g1",reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),), + COMB_R =FACT(statut='f',min=1,max='**', + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), + MATR_ASSE =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,matr_asse_gene_r,matr_asse_gene_c ) ), + COEF_R =SIMP(statut='o',typ='R' ), + ), + COMB_C =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('COEF_R','COEF_C' ),), + MATR_ASSE =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,matr_asse_gene_r,matr_asse_gene_c ) ), + COEF_R =SIMP(statut='f',typ='R' ), + COEF_C =SIMP(statut='f',typ='C' ), + ), + CALC_AMOR_GENE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),), + MASS_GENE = SIMP(statut='f', typ=matr_asse_gene_r), + RIGI_GENE = SIMP(statut='f', typ=matr_asse_gene_r), + AMOR_REDUIT = SIMP(statut='f',typ='R',max='**'), + LIST_AMOR = SIMP(statut='f',typ=listr8 ), + ), + SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat, + fr="Réponse sismique par recombinaison modale par une méthode spectrale", + docu="U4.84.01-e1",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'), + UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + b_freq =BLOC(condition = "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") ), + ), + MODE_CORR =SIMP(statut='f',typ=mode_stat_acce ), + + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8 ), + AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), + + MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), + CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + + EXCIT =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'), + UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),), + + MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + AXE =SIMP(statut='f',fr="Excitation suivant un seul axe", + typ='R',max=3), + TRI_AXE =SIMP(statut='f',fr="Excitation suivant les trois axes mais avec le meme spectre", + typ='R',max=3), + TRI_SPEC =SIMP(statut='f',fr="Excitation suivant les trois axes avec trois spectres", + typ='TXM',into=("OUI",) ), + b_axe =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe", + SPEC_OSCI =SIMP(statut='o',typ=fonction,max=1 ), + ECHELLE =SIMP(statut='f',typ='R',max=1), + ), + b_tri_axe =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre", + SPEC_OSCI =SIMP(statut='o',typ=fonction,max=1 ), + ECHELLE =SIMP(statut='f',typ='R',max=1), + ), + b_tri_spec =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes avec trois spectres", + SPEC_OSCI =SIMP(statut='o',typ=fonction,min=3,max=3 ), + ECHELLE =SIMP(statut='f',typ='R',min=3,max=3), + ), + NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ), + ), + COMB_MODE =FACT(statut='o',min=1,max=1, + TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ), + DUREE =SIMP(statut='f',typ='R' ), + ), + COMB_DIRECTION =FACT(statut='f',min=1,max=1, + TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ), + ), + COMB_MULT_APPUI =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ), + UN_PARMI('TYPE_COMBI','TYPE' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), + TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), + ), + COMB_DEPL_APPUI=FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','LIST_CAS'), + UN_PARMI('TYPE_COMBI','TYPE' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + LIST_CAS =SIMP(statut='f',typ='I',max='**'), + TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), + TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), + ), + DEPL_MULT_APPUI =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO'), + AU_MOINS_UN('DX','DY','DZ' ),), + NOM_CAS =SIMP(statut='o',typ='TXM',max='**'), + NUME_CAS =SIMP(statut='o',typ='I',max='**'), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,), ), + NOEUD_REFE =SIMP(statut='f',typ=no), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + ), + OPTION =SIMP(statut='o',typ='TXM',max=9, + into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", + "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART", + "SIPO_ELNO_DEPL") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + IMPRESSION =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('TOUT','NIVEAU'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),max=3 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 24/01/2003 AUTEUR CIBHHLV L.VIVAN +# RESPONSABLE VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +def crea_champ_prod(TYPE_CHAM,**args): + if TYPE_CHAM == "CART_DBEL_R" : return carte_dbel_r + if TYPE_CHAM == "CART_DEPL_C" : return carte_depl_c + if TYPE_CHAM == "CART_DEPL_F" : return carte_depl_f + if TYPE_CHAM == "CART_DEPL_R" : return carte_depl_r + if TYPE_CHAM == "CART_DURT_R" : return carte_durt_r + if TYPE_CHAM == "CART_ENER_R" : return carte_ener_r + if TYPE_CHAM == "CART_EPSI_R" : return carte_epsi_r + if TYPE_CHAM == "CART_ERREUR" : return carte_erreur + if TYPE_CHAM == "CART_FLUX_R" : return carte_flux_r + if TYPE_CHAM == "CART_GEOM_R" : return carte_geom_r + if TYPE_CHAM == "CART_G_DEPL_R" : return carte_g_depl_r + if TYPE_CHAM == "CART_HYDR_R" : return carte_hydr_r + if TYPE_CHAM == "CART_INST_R" : return carte_inst_r + if TYPE_CHAM == "CART_INTE_R" : return carte_inte_r + if TYPE_CHAM == "CART_META_R" : return carte_meta_r + if TYPE_CHAM == "CART_NEUT_F" : return carte_neut_f + if TYPE_CHAM == "CART_NEUT_R" : return carte_neut_r + if TYPE_CHAM == "CART_PRES_R" : return carte_pres_r + if TYPE_CHAM == "CART_SIEF_R" : return carte_sief_r + if TYPE_CHAM == "CART_SOUR_R" : return carte_sour_r + if TYPE_CHAM == "CART_TEMP_F" : return carte_temp_f + if TYPE_CHAM == "CART_TEMP_R" : return carte_temp_r + if TYPE_CHAM == "CART_VAR2_R" : return carte_var2_r + if TYPE_CHAM == "CART_VNOR_C" : return carte_vnor_c + if TYPE_CHAM == "NOEU_DBEL_R" : return cham_no_dbel_r + if TYPE_CHAM == "NOEU_DEPL_C" : return cham_no_depl_c + if TYPE_CHAM == "NOEU_DEPL_F" : return cham_no_depl_f + if TYPE_CHAM == "NOEU_DEPL_R" : return cham_no_depl_r + if TYPE_CHAM == "NOEU_DURT_R" : return cham_no_durt_r + if TYPE_CHAM == "NOEU_ENER_R" : return cham_no_ener_r + if TYPE_CHAM == "NOEU_EPSI_R" : return cham_no_epsi_r + if TYPE_CHAM == "NOEU_ERREUR" : return cham_no_erreur + if TYPE_CHAM == "NOEU_FLUX_R" : return cham_no_flux_r + if TYPE_CHAM == "NOEU_GEOM_R" : return cham_no_geom_r + if TYPE_CHAM == "NOEU_G_DEPL_R" : return cham_no_g_depl_r + if TYPE_CHAM == "NOEU_HYDR_R" : return cham_no_hydr_r + if TYPE_CHAM == "NOEU_INST_R" : return cham_no_inst_r + if TYPE_CHAM == "NOEU_INTE_R" : return cham_no_inte_r + if TYPE_CHAM == "NOEU_META_R" : return cham_no_meta_r + if TYPE_CHAM == "NOEU_NEUT_F" : return cham_no_neut_f + if TYPE_CHAM == "NOEU_NEUT_R" : return cham_no_neut_r + if TYPE_CHAM == "NOEU_PRES_R" : return cham_no_pres_r + if TYPE_CHAM == "NOEU_SIEF_R" : return cham_no_sief_r + if TYPE_CHAM == "NOEU_SOUR_R" : return cham_no_sour_r + if TYPE_CHAM == "NOEU_TEMP_F" : return cham_no_temp_f + if TYPE_CHAM == "NOEU_TEMP_R" : return cham_no_temp_r + if TYPE_CHAM == "NOEU_VAR2_R" : return cham_no_var2_r + if TYPE_CHAM == "NOEU_VNOR_C" : return cham_no_vnor_c + if TYPE_CHAM == "ELEM_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELEM_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELEM_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELEM_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELEM_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELEM_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELEM_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELEM_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELEM_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELEM_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELEM_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELEM_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELEM_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELEM_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELEM_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELEM_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELEM_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELEM_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELEM_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELEM_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELEM_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELEM_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELEM_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "ELNO_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELNO_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELNO_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELNO_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELNO_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELNO_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELNO_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELNO_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELNO_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELNO_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELNO_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELNO_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELNO_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELNO_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELNO_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELNO_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELNO_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELNO_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELNO_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELNO_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELNO_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELNO_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELNO_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "ELGA_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELGA_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELGA_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELGA_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELGA_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELGA_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELGA_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELGA_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELGA_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELGA_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELGA_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELGA_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELGA_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELGA_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELGA_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELGA_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELGA_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELGA_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELGA_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELGA_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELGA_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELGA_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELGA_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "CART_IRRA_R" : return carte_irra_r + if TYPE_CHAM == "NOEU_IRRA_R" : return cham_no_irra_r + if TYPE_CHAM == "ELEM_IRRA_R" : return cham_elem_irra_r + if TYPE_CHAM == "ELNO_IRRA_R" : return cham_elem_irra_r + if TYPE_CHAM == "ELGA_IRRA_R" : return cham_elem_irra_r + if TYPE_CHAM == "ELEM_SPMA_R" : return cham_elem_spma_r + raise AsException("type de concept resultat non prevu") + +CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, + fr=" ",docu="U4.72.04-b1",reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + TYPE_CHAM =SIMP(statut='o',typ='TXM', + into=("CART_DBEL_R","NOEU_DBEL_R","ELEM_DBEL_R", + "ELNO_DBEL_R","ELGA_DBEL_R","CART_DEPL_C", + "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","CART_DURT_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", + "CART_EPSI_R","NOEU_EPSI_R","ELEM_EPSI_R", + "ELNO_EPSI_R","ELGA_EPSI_R","CART_ERREUR", + "NOEU_ERREUR","ELEM_ERREUR","ELNO_ERREUR", + "ELGA_ERREUR","CART_FLUX_R","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","CART_G_DEPL_R", + "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R", + "ELGA_G_DEPL_R","CART_HYDR_R","NOEU_HYDR_R", + "ELEM_HYDR_R","ELNO_HYDR_R","ELGA_HYDR_R", + "CART_INST_R","NOEU_INST_R","ELEM_INST_R", + "ELNO_INST_R","ELGA_INST_R","CART_INTE_R", + "NOEU_INTE_R","ELEM_INTE_R","ELNO_INTE_R", + "ELGA_INTE_R","CART_META_R","NOEU_META_R", + "ELEM_META_R","ELNO_META_R","ELGA_META_R", + "CART_NEUT_F","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","CART_PRES_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","CART_SOUR_R", + "NOEU_SOUR_R","ELEM_SOUR_R","ELNO_SOUR_R", + "ELGA_SOUR_R","CART_TEMP_F","NOEU_TEMP_F", + "ELEM_TEMP_F","ELNO_TEMP_F","ELGA_TEMP_F", + "CART_TEMP_R","NOEU_TEMP_R","ELEM_TEMP_R", + "ELNO_TEMP_R","ELGA_TEMP_R","CART_VAR2_R", + "NOEU_VAR2_R","ELEM_VARI_R","ELNO_VARI_R", + "ELGA_VARI_R","CART_VNOR_C","NOEU_VNOR_C", + "ELEM_VNOR_C","ELNO_VNOR_C","ELGA_VNOR_C", + "CART_IRRA_R","NOEU_IRRA_R","ELEM_IRRA_R", + "ELNO_IRRA_R","ELGA_IRRA_R","ELEM_SPMA_R",) ), + +# SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS : +# ------------------------------------------------------------------ + regles=(EXCLUS('NUME_DDL','CHAM_NO',)), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl) ), + CHAM_NO =SIMP(statut='f',typ=(cham_no) ), + + OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ), + + b_affe =BLOC(condition = "OPERATION == 'AFFE'", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage) ), + MODELE =SIMP(statut='f',typ=(modele) ), + b_affe_modele =BLOC(condition = "MODELE != None", + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ), + AFFE =FACT(statut='o',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), + UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + VALE =SIMP(statut='f',typ='R',max='**' ), + VALE_I =SIMP(statut='f',typ='I',max='**' ), + VALE_C =SIMP(statut='f',typ='C',max='**' ), + VALE_F =SIMP(statut='f',typ=fonction,max='**'), + ), + ), + b_asse =BLOC(condition = "OPERATION == 'ASSE'", + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=(maillage) ), + MODELE =SIMP(statut='f',typ=(modele) ), + b_asse_modele =BLOC(condition = "MODELE != None", + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ), + ASSE =FACT(statut='o',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), + PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + CHAM_GD =SIMP(statut='o',typ=(cham_gd)), + 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)), + CHAM_PARA =SIMP(statut='o',typ=(cham_gd),max='**'), + ), + b_disc =BLOC(condition = "OPERATION == 'DISC'", + MODELE =SIMP(statut='f',typ=(modele) ), + PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + CHAM_GD =SIMP(statut='o',typ=(cham_gd)), + ), + b_extr =BLOC(condition = "OPERATION == 'EXTR'", + regles=(UN_PARMI('MAILLAGE','RESULTAT'),), + MAILLAGE =SIMP(statut='f',typ=(maillage) ), + RESULTAT =SIMP(statut='f',typ=(resultat) ), + b_extr_maillage =BLOC(condition = "MAILLAGE != None", + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)), + ), + b_extr_resultat =BLOC(condition = "RESULTAT != None", + regles=(EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'NOEUD_CMP','NOM_CAS','ANGL', ),), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), + NOM_CHAM =SIMP(statut='o',typ='TXM', + into=("DEPL","VITE","ACCE", + "DEPL_ABSOLU","VITE_ABSOLU", + "TEMP","IRRA","ACCE_ABSOLU", + "FORC_NODA","REAC_NODA","EFGE_NOEU_DEPL", + "EFGE_NOEU_CART","EPSI_NOEU_DEPL", + "SIGM_NOEU_DEPL","SIGM_NOEU_CART", + "SIPO_NOEU_DEPL","EQUI_NOEU_SIGM", + "EQUI_NOEU_EPSI","FLUX_NOEU_TEMP", + "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP", + "META_ELGA_TEMP","META_ELNO_TEMP", + "META_NOEU_TEMP","DURT_ELGA_META", + "DURT_ELNO_META","DURT_NOEU_META","SIEF_ELGA", + "SIEF_ELNO_ELGA","SIEF_ELGA_DEPL", + "VARI_ELNO_ELGA","VARI_ELGA","EPOT_ELEM_DEPL", + "ECIN_ELEM_DEPL","SOUR_ELGA_ELEC", + "PRES_ELNO_REEL","PRES_ELNO_IMAG", + "PRES_ELNO_DBEL","INTE_ELNO_ACTI", + "INTE_ELNO_REAC","EFGE_ELNO_DEPL", + "SIGM_ELNO_DEPL","EFGE_ELNO_CART", + "SIGM_ELNO_CART","SIPO_ELNO_DEPL", + "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL", + "EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO", + "EPSP_ELGA","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI", + "ERRE_ELNO_ELGA","ERRE_ELGA_NORE", + "ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "SIGM_NOZ1_ELGA","SIGM_NOZ2_ELGA", + "DEGE_ELNO_DEPL","SIRE_ELNO_DEPL", + "VNOR_ELEM_DEPL","SIEF_ELNO","VARI_ELNO", + "SIEF_NOEU_ELGA","VARI_NOEU_ELGA", + "PRES_NOEU_DBEL","PRES_NOEU_REEL", + "PRES_NOEU_IMAG","INTE_NOEU_ACTI", + "INTE_NOEU_REAC","DCHA_ELGA_SIGM", + "DCHA_ELNO_SIGM","RADI_ELGA_SIGM", + "RADI_ELNO_SIGM","ENDO_ELNO_SIGA", + "ENDO_ELNO_SINO","ENDO_ELNO_SIGM", + "SIGM_ELNO_VARI","SIGM_NOEU_VARI", + "EPME_ELNO_DEPL","EPME_ELGA_DEPL", + "EPME_ELNO_DPGE","EPMG_ELNO_DEPL", + "EPMG_ELGA_DEPL","GRAD_ELGA_THETA", + "GTHE_ELNO_ELGA","GRAD_NOEU_THETA", + "HYDR_ELGA","HYDR_ELNO_ELGA","HYDR_NOEU_ELGA", + "THETA","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF", + "VALE_CONT","VALE_NCOU_MAXI") ), + TYPE_MAXI =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST",) ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + LIST_INST =SIMP(statut='f',typ=(listr8) ), + 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',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ANGL =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",) ), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), + ), + + ), +# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT : +#----------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 07/01/2003 AUTEUR GJBHHEL E.LORENTZ +# 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. +# ====================================================================== +CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage, + docu="U4.23.02-d1",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + regles=(EXCLUS('ECLA_PG','CREA_MAILLE'), + EXCLUS('ECLA_PG','CREA_GROUP_MA'), + EXCLUS('ECLA_PG','DETR_GROUP_MA'), + EXCLUS('ECLA_PG','MODI_MAILLE'), + EXCLUS('ECLA_PG','LINE_QUAD'), + EXCLUS('LINE_QUAD','MODI_MAILLE'), + EXCLUS('LINE_QUAD','CREA_MAILLE'), + EXCLUS('LINE_QUAD','CREA_GROUP_MA'), + EXCLUS('LINE_QUAD','DETR_GROUP_MA'), + ), + MAILLAGE =SIMP(statut='o',typ=maillage ), + CREA_POI1 =FACT(statut='f',min=1,max='**',fr="Création de mailles de type POI1 à partir de noeuds", + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),), + NOM_GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + ), + CREA_MAILLE =FACT(statut='f',min=1,max='**',fr="Duplication de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + PREF_MAILLE =SIMP(statut='o',typ='TXM' ), + PREF_NUME =SIMP(statut='f',typ='I' ), + ), + CREA_GROUP_MA =FACT(statut='f',min=1,max='**',fr="Duplication de mailles et création de groupes de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + NOM =SIMP(statut='o',typ='TXM'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + PREF_MAILLE =SIMP(statut='o',typ='TXM' ), + PREF_NUME =SIMP(statut='f',typ='I' ), + ), + DETR_GROUP_MA =FACT(statut='f',min=1,max=1,fr="Destruction de groupes de mailles", + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0, + fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), + ), + MODI_MAILLE =FACT(statut='f',min=1,max='**',fr="Modification du type de mailles", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=grma,max='**'), + GROUP_MA =SIMP(statut='f',typ=ma,max='**'), + OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4"),fr="Choix de la transformation" ), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + LINE_QUAD =FACT(statut='f',min=01,max=1,fr="Passage linéaire -> quadratique", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=grma,max='**'), + GROUP_MA =SIMP(statut='f',typ=ma,max='**'), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + REPERE =FACT(statut='f',min=1,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="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" ), + b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'", + GROUP_MA =SIMP(statut='f',typ=grma, + fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"), + ), + ), + ECLA_PG =FACT(statut='f',min=1,max=1, + fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss", + MODELE =SIMP(statut='o',typ=modele ), + SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 crea_resu_prod(TYPE_RESU,**args): + if TYPE_RESU == "EVOL_ELAS" : return evol_elas + if TYPE_RESU == "EVOL_NOLI" : return evol_noli + if TYPE_RESU == "EVOL_THER" : return evol_ther + if TYPE_RESU == "MULT_ELAS" : return mult_elas + if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas + if TYPE_RESU == "EVOL_VARC" : return evol_varc + raise AsException("type de concept resultat non prevu") + +CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3",reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", + + 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",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","TEMP","IRRA","HYDR_ELGA",),max=1 ), + AFFE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOM_CAS','NUME_MODE','LIST_INST','INST',),), + CHAM_GD =SIMP(statut='f',typ=(cham_gd)), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + 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',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + NUME_INIT =SIMP(statut='f',typ='I'), + NUME_FIN =SIMP(statut='f',typ='I'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + + b_ecla_pg =BLOC(condition = "OPERATION == 'ECLA_PG'", + + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ), + + ECLA_PG =FACT(statut='f',min=1,max=1, + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), + MODELE_INIT =SIMP(statut='o',typ=modele), + RESU_INIT =SIMP(statut='o',typ=resultat), + MAILLAGE =SIMP(statut='o',typ=maillage), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + ), + ), + + b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'", + + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),max='**' ), + RESU_INIT =SIMP(statut='o',typ=evol_noli), + INST_INIT =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'), + MAILLAGE_INIT =SIMP(statut='o',typ=maillage,), + RESU_FINAL =SIMP(statut='o',typ=evol_noli,), + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage,), + PERM_CHAM =FACT(statut='o',min=1,max=1, + GROUP_MA_FINAL =SIMP(statut='o',typ=grma), + GROUP_MA_INIT =SIMP(statut='o',typ=grma), + TRAN =SIMP(statut='o',typ='R',max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + ), + ), + + b_prol_rtz =BLOC(condition = "OPERATION == 'PROL_RTZ'", + + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ), + + PROL_RTZ =FACT(statut='f',min=1,max=1, + regles=(EXCLUS('INST','LIST_INST'),), + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage,), + TABLE =SIMP(statut='o',typ=tabl_post_rele,fr="Table issue de post_releve_t"), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + 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") ), + ), + 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",),), + REPERE =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),), + ORIGINE =SIMP(statut='o',typ='R',min=3,max=3), + AXE_Z =SIMP(statut='o',typ='R',min=3,max=3), + ), + ), + +) ; +#& MODIF COMMANDE DATE 20/01/2003 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. +# ====================================================================== +DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,docu="U4.11.01-g2",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"), + 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'esemble 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')), + 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'), + ), + ); +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale, + docu="U4.64.02-f1",reentrant='f', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),), + CLASSIQUE =FACT(statut='f',min=1,max=1, + 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',min=1,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',min=1,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 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_CABLE_BP=OPER(nom="DEFI_CABLE_BP",op= 180,sd_prod=cabl_precont, + fr=" ", + docu="U4.42.04-a",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + GROUP_MA_BETON =SIMP(statut='o',typ=grma), + DEFI_CABLE =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), + MAILLE =SIMP(statut='f',typ=ma,min=2,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no,max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,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,max=1, + R_J =SIMP(statut='o',typ='R',val_min=0.E+0 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction, + fr="Définition d une fonction constante", + docu="U4.31.01-f",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + VALE =SIMP(statut='o',typ='R',max=1 ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater,docu="U4.42.03-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition d une coque composite couche par couche", + COUCHE =FACT(statut='o',min=1,max='**', + EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), + MATER =SIMP(statut='o',typ=(mater) ), + ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.E+0, + val_min=-90.E+0,val_max=90.E+0 ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + IMPRESSION =FACT(statut='f',min=1,max=1, + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT",) ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, + docu="U4.25.01-d",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), + FAISCEAU_TRANS =FACT(statut='f',min=1,max='**', + 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 ), + PROF_RHO_F_INT =SIMP(statut='f',typ=fonction ), + PROF_RHO_F_EXT =SIMP(statut='f',typ=fonction ), + NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), + COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), + TYPE_PAS =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ), + TYPE_RESEAU =SIMP(statut='f',typ='I' ), + UNITE_CD =SIMP(statut='f',typ='I',defaut=70), + UNITE_CK =SIMP(statut='f',typ='I',defaut=71), + PAS =SIMP(statut='f',typ='R' ), + ), + GRAPPE =FACT(statut='f',max=1, + regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',), + PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),), +# peut on créer un bloc a partir de la valeur de couplage + COUPLAGE =SIMP(statut='o',typ='TXM',into=("OUI","NON") ), + GRAPPE_2 =SIMP(statut='f',typ='TXM', + into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ), + NOEUD =SIMP(statut='f',typ=no), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MODELE =SIMP(statut='f',typ=modele ), + COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), + RHO_FLUI =SIMP(statut='f',typ='R' ), + UNITE_CA =SIMP(statut='f',typ='I',defaut=70), + UNITE_KA =SIMP(statut='f',typ='I',defaut=71), + ), + FAISCEAU_AXIAL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'), + UN_PARMI('CARA_ELEM','RAYON_TUBE'), + ENSEMBLE('RAYON_TUBE','COOR_TUBE'), + PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'), + ENSEMBLE('CARA_PAROI','VALE_PAROI'), + ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG', + 'COOR_GRILLE','TYPE_GRILLE', ),), +# on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + TRI_GROUP_MA =SIMP(statut='f',typ='TXM' ), + VECT_X =SIMP(statut='f',typ='R',max=3), + PROF_RHO_FLUI =SIMP(statut='f',typ=fonction ), + PROF_VISC_CINE =SIMP(statut='f',typ=fonction ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + RAYON_TUBE =SIMP(statut='f',typ='R' ), + COOR_TUBE =SIMP(statut='f',typ='R',max='**'), + PESANTEUR =SIMP(statut='f',typ='R',min=4,max=4), + RUGO_TUBE =SIMP(statut='f',typ='R' ), + CARA_PAROI =SIMP(statut='f',typ='TXM',max=5, + into=("YC","ZC","R","HY","HZ") ), + VALE_PAROI =SIMP(statut='f',typ='R',max=5), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + LONG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + LARG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + EPAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + RUGO_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), + COEF_DPOR_TYPG =SIMP(statut='f',typ='R',max='**'), + COOR_GRILLE =SIMP(statut='f',typ='R',max='**'), + TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'), + ), + COQUE_COAX =FACT(statut='f',max=1, + MASS_AJOU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + GROUP_MA_INT =SIMP(statut='o',typ=grma), + GROUP_MA_EXT =SIMP(statut='o',typ=grma), + VECT_X =SIMP(statut='o',typ='R',max='**'), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MATER_INT =SIMP(statut='o',typ=mater ), + MATER_EXT =SIMP(statut='o',typ=mater ), + RHO_FLUI =SIMP(statut='o',typ='R' ), + VISC_CINE =SIMP(statut='o',typ='R' ), + RUGOSITE =SIMP(statut='o',typ='R' ), + PDC_MOY_1 =SIMP(statut='o',typ='R' ), + PDC_DYN_1 =SIMP(statut='o',typ='R' ), + PDC_MOY_2 =SIMP(statut='o',typ='R' ), + PDC_DYN_2 =SIMP(statut='o',typ='R' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.mk.10-e",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + fr="Définition d une fonction du temps pour calculer des forces de LAPLACE", + regles=(UN_PARMI('COUR_PRIN','COUR'), + EXCLUS('COUR','COUR_SECO'), ), + FREQ =SIMP(statut='f',typ='R',defaut= 50.), + SIGNAL =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ), + COUR =FACT(statut='f',min=1,max='**', + fr="Définition du courant de court-circuit", + regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'), + UN_PARMI('PHI_CC_2','INTC_CC_2'),), + INTE_CC_1 =SIMP(statut='o',typ='R'), + TAU_CC_1 =SIMP(statut='o',typ='R'), + PHI_CC_1 =SIMP(statut='f',typ='R'), + INTC_CC_1 =SIMP(statut='f',typ='R'), + INTE_CC_2 =SIMP(statut='o',typ='R'), + TAU_CC_2 =SIMP(statut='o',typ='R'), + PHI_CC_2 =SIMP(statut='f',typ='R'), + INTC_CC_2 =SIMP(statut='f',typ='R'), + INST_CC_INIT =SIMP(statut='o',typ='R'), + INST_CC_FIN =SIMP(statut='o',typ='R'), + ), + COUR_PRIN =FACT(statut='f',min=1,max=1, + fr="Définition du courant de court-circuit avec réenclenchement", + regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),), + INTE_CC_1 =SIMP(statut='o',typ='R'), + TAU_CC_1 =SIMP(statut='o',typ='R'), + PHI_CC_1 =SIMP(statut='f',typ='R'), + INTC_CC_1 =SIMP(statut='f',typ='R'), + INTE_RENC_1 =SIMP(statut='f',typ='R'), + TAU_RENC_1 =SIMP(statut='f',typ='R'), + PHI_RENC_1 =SIMP(statut='f',typ='R'), + INST_CC_INIT =SIMP(statut='o',typ='R'), + INST_CC_FIN =SIMP(statut='o',typ='R'), + INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0), + INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + COUR_SECO =FACT(statut='f',min=1,max='**', + fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN", + regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),), + INTE_CC_2 =SIMP(statut='o',typ='R'), + TAU_CC_2 =SIMP(statut='o',typ='R'), + PHI_CC_2 =SIMP(statut='f',typ='R'), + INTC_CC_2 =SIMP(statut='f',typ='R'), + INTE_RENC_2 =SIMP(statut='f',typ='R'), + TAU_RENC_2 =SIMP(statut='f',typ='R'), + PHI_RENC_2 =SIMP(statut='f',typ='R'), + DIST =SIMP(statut='f',typ='R',defaut=1.0E+0), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction, + docu="U4.35.01-c",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + MAILLAGE =SIMP(statut='o',typ=(maillage) ), + NOEUD_INIT =SIMP(statut='o',typ=no), + NOEUD_FIN =SIMP(statut='o',typ=no), + VITE =FACT(statut='o',min=1,max=1, + VALE =SIMP(statut='f',typ='R',defaut= 1. ), + PROFIL =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ), + NB_BAV =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ), + ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN", + into=("NON","LIN","LOG") ), + 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") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE MCOURTOI M.COURTOIS +def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args): + if VALE != None : return fonction + if VALE_C != None : return fonction_c + if VALE_PARA != None : return fonction + if NOEUD_PARA != None : return fonction + 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", + docu="U4.31.02-g3",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),), + NOM_PARA =SIMP(statut='o',typ='TXM', + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","META","FREQ","PULS", + "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT", + "PGAZ","PCAP","VITE") ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + VALE =SIMP(statut='f',typ='R',min=2,max='**', + fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"), + VALE_C =SIMP(statut='f',typ='R',min=2,max='**', + fr ="Fonction complexe définie par une liste de couples"), + VALE_PARA =SIMP(statut='f',typ=listr8, + fr ="Fonction réelle définie par deux concepts de type listr8" ), + b_vale_para =BLOC(condition = "VALE_PARA != None", + VALE_FONC =SIMP(statut='o',typ=listr8 ), + ), + NOEUD_PARA =SIMP(statut='f',typ=no,max='**', + fr ="Fonction réelle définie par une liste de noeuds et un maillage"), + b_noeud_para =BLOC(condition = "NOEUD_PARA != None", + MAILLAGE =SIMP(statut='o',typ=maillage ), + VALE_Y =SIMP(statut='o',typ='R',max='**'), + ), + + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + 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") ), + VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,docu="U4.82.01-e",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="Définition de lèvres et d un fond de fissure en 3D", + regles=(UN_PARMI('FOND','FOND_FERME'), + EXCLUS('FOND_FERME','DTAN_ORIG'), + EXCLUS('FOND_FERME','DTAN_EXTR'), + EXCLUS('FOND_FERME','VECT_GRNO_ORIG'), + EXCLUS('FOND_FERME','VECT_GRNO_EXTR'), + UN_PARMI('LEVRE_SUP','NORMALE'), + EXCLUS('LEVRE_INF','NORMALE'), + ENSEMBLE('DTAN_ORIG','DTAN_EXTR'), + ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'), + EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'), + EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,), + MAILLAGE =SIMP(statut='o',typ=maillage ), + FOND =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), +# à mettre à jour le max vaut-il 1 + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + NOEUD_EXTR =SIMP(statut='f',typ=no,max=1), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,max=1), + ), + FOND_FERME =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + MAILLE_ORIG =SIMP(statut='f',typ=ma,max=1), + GROUP_MA_ORIG =SIMP(statut='f',typ=ma,max=1), + ), + LEVRE_SUP =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('GROUP_MA','MAILLE'),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + LEVRE_INF =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('GROUP_MA','MAILLE', ),), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + NORMALE =SIMP(statut='f',typ='R',max='**'), + DTAN_ORIG =SIMP(statut='f',typ='R',max='**'), + DTAN_EXTR =SIMP(statut='f',typ='R',max='**'), + VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,max=2), + VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,max=2), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 07/01/2003 AUTEUR GJBHHEL E.LORENTZ +# 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 +def defi_group_prod(MAILLAGE,**args): + if AsType(MAILLAGE) == maillage : return maillage + if AsType(MAILLAGE) == squelette : return squelette + raise AsException("type de concept resultat non prevu") + +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", + docu="U4.22.01-f1",reentrant='o', + UIinfo={"groupes":("Maillage",)}, + regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),), + MAILLAGE =SIMP(statut='o',typ=(maillage,squelette) ), + + CREA_GROUP_MA =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), +# quel est le concept attendu deriere NOM + NOM =SIMP(statut='o',typ=grma), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + INTERSEC =SIMP(statut='f',typ=grma,max='**'), + UNION =SIMP(statut='f',typ=grma,max='**'), + DIFFE =SIMP(statut='f',typ=grma,max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE") ), + b_group_ma =BLOC(condition = "GROUP_MA != None", + regles=(EXCLUS('POSITION','NUME_INIT'),), + NUME_INIT =SIMP(statut='f',typ='I'), + POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), + b_nume_init =BLOC(condition = "NUME_INIT != None", + NUME_FIN =SIMP(statut='f',typ='I' ), + ), + ), + b_face_normale =BLOC(condition = "OPTION == 'FACE_NORMALE'", + regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + ANGL_PREC =SIMP(statut='f',typ='R',defaut= 0.5 ), + VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_sphere =BLOC(condition = "OPTION == 'SPHERE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + RAYON =SIMP(statut='o',typ='R' ), + ), + b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + RAYON =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + ), + b_bande =BLOC(condition = "OPTION == 'BANDE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + DIST =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=2), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + ), + ), + CREA_GROUP_NO =FACT(statut='f',min=1,max='**', + regles = ( + AU_MOINS_UN ('TOUT_GROUP_MA','GROUP_MA','NOEUD', + 'INTERSEC','UNION','DIFFE','GROUP_NO','OPTION'), + EXCLUS ('TOUT_GROUP_MA','GROUP_MA','NOEUD','INTERSEC','UNION','DIFFE'),), + TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + + NOEUD =SIMP(statut='f',typ=no,max='**'), + INTERSEC =SIMP(statut='f',typ=grno,max='**'), + UNION =SIMP(statut='f',typ=grno,max='**'), + DIFFE =SIMP(statut='f',typ=grno,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN", + "SEGM_DROI_ORDO","NOEUD_ORDO") ), + b_nom_group_ma =BLOC(condition = "GROUP_MA != None", + NOM =SIMP(statut='f',typ=grma,max='**'), + ), + b_crit_noeud = BLOC(condition = "GROUP_MA != None", + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS", + into=("TOUS","SOMMET","MILIEU","CENTRE"),),), + b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" , + NOM =SIMP(statut='o',typ=geom), + ), + b_group_no =BLOC(condition = "GROUP_NO != None", + regles=(EXCLUS('POSITION','NUME_INIT'),), + NUME_INIT =SIMP(statut='f',typ='I'), + POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), + b_nume_init =BLOC(condition = "NUME_INIT != None", + NUME_FIN =SIMP(statut='f',typ='I' ), + ), + ), + b_env_sphere =BLOC(condition = "OPTION == 'ENV_SPHERE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + RAYON =SIMP(statut='o',typ='R' ), + PRECISION =SIMP(statut='f',typ='R' ), + CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + RAYON =SIMP(statut='o',typ='R' ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + PRECISION =SIMP(statut='f',typ='R' ), + CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + b_env_plan =BLOC(condition = "OPTION == 'PLAN'", + regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), + POINT =SIMP(statut='f',typ='R',max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + VECT_NORMALE =SIMP(statut='f',typ='R',max=3), + PRECISION =SIMP(statut='f',typ='R' ), + CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'", + regles=(UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + NOEUD_EXTR =SIMP(statut='f',typ=no), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno), + PRECISION =SIMP(statut='f',typ='R' ), + CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'", + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + NOEUD_EXTR =SIMP(statut='f',typ=no), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno), + PRECISION =SIMP(statut='f',typ='R' ), + CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + ), + ), + INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, + docu="U4.36.02-f2",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + + DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), + + PAR_FONCTION =FACT(statut='f',min=1,max='**', + NUME_ORDRE_I =SIMP(statut='o',typ='I' ), + NUME_ORDRE_J =SIMP(statut='o',typ='I' ), + FONCTION =SIMP(statut='o',typ=fonction_c ), + ), + KANAI_TAJIMI =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('VALE_R','VALE_C'),), + NUME_ORDRE_I =SIMP(statut='o',typ='I' ), + NUME_ORDRE_J =SIMP(statut='o',typ='I' ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), + PAS =SIMP(statut='f',typ='R',defaut= 1. ), + AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.6 ), + FREQ_MOY =SIMP(statut='f',typ='R',defaut= 5. ), + VALE_R =SIMP(statut='f',typ='R' ), + VALE_C =SIMP(statut='f',typ='C' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + 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") ), + ), + CONSTANT =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('VALE_R','VALE_C'),), + NUME_ORDRE_I =SIMP(statut='o',typ='I' ), + NUME_ORDRE_J =SIMP(statut='o',typ='I' ), + FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), + PAS =SIMP(statut='f',typ='R',defaut= 1. ), + VALE_R =SIMP(statut='f',typ='R' ), + VALE_C =SIMP(statut='f',typ='C' ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + 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") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, + docu="U4.64.01-e",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + NUME_DDL =SIMP(statut='o',typ=nume_ddl ), + INTERFACE =FACT(statut='o',min=1,max='**', + regles=(ENSEMBLE('NOM','TYPE'), +# erreur doc U sur la condition qui suit + UN_PARMI('NOEUD','GROUP_NO'),), + NOM =SIMP(statut='f',typ='TXM' ), + TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + DDL_ACTIF =SIMP(statut='f',typ='TXM',max='**'), + MASQUE =SIMP(statut='f',typ='TXM',max='**'), + ), + FREQ =SIMP(statut='f',typ='R',defaut= 1.), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis, + fr="Définition d une suite croissante d entiers", + docu="U4.34.02-f",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('VALE','DEBUT'), + EXCLUS('VALE','INTERVALLE'),), + VALE =SIMP(statut='f',typ='I',max='**'), + DEBUT =SIMP(statut='f',typ='I'), + INTERVALLE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOMBRE','PAS'),), + JUSQU_A =SIMP(statut='o',typ='I'), + NOMBRE =SIMP(statut='f',typ='I',val_min=1,), + PAS =SIMP(statut='f',typ='I',val_min=1,), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8, + fr="Définition d une suite croissante de réels", + docu="U4.34.01-g1",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('VALE','DEBUT',), + EXCLUS('VALE','INTERVALLE'), + ENSEMBLE('DEBUT','INTERVALLE')), + VALE =SIMP(statut='f',typ='R',max='**'), + DEBUT =SIMP(statut='f',typ='R'), + INTERVALLE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOMBRE','PAS'),), + JUSQU_A =SIMP(statut='o',typ='R'), + NOMBRE =SIMP(statut='f',typ='I'), + PAS =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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage, + fr="Définition d un nouveau maillage à partir de macro éléments", + docu="U4.23.01-e",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + DEFI_MAILLE =FACT(statut='o',min=1,max='**', + MACR_ELEM_STAT =SIMP(statut='o',typ=macr_elem_stat,max='**' ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + TRAN =SIMP(statut='f',typ='R',max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + b_angl_naut =BLOC(condition = "ANGL_NAUT != None", + CENTRE =SIMP(statut='f',typ='R',max=3), + ), + ), + RECO_GLOBAL =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','MAILLE'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + RECO_MAILLE =FACT(statut='f',min=1,max='**', + MAILLE =SIMP(statut='o',typ=ma,max='**'), + GROUP_NO =SIMP(statut='o',typ=grno,max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ), + geometrique =BLOC(condition = "OPTION == 'GEOMETRIQUE'", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + ), + ), + DEFI_NOEUD =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','NOEUD_INIT'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Renommage de tous les noeuds" ), + NOEUD_INIT =SIMP(statut='f',typ=no, + fr="Renommage d un seul noeud"), + b_tout =BLOC(condition = "TOUT != None", + PREFIXE =SIMP(statut='f',typ='TXM' ), + INDEX =SIMP(statut='o',typ='I',max='**'), + ), + b_noeud_init =BLOC(condition = "NOEUD_INIT != None", + MAILLE =SIMP(statut='o',typ=ma), + NOEUD_FIN =SIMP(statut='o',typ=no), + ), + ), + DEFI_GROUP_NO =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('TOUT','MAILLE'), + AU_MOINS_UN('INDEX','GROUP_NO_FIN'), + ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),), +# la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Création de plusieurs groupes de noeuds" ), + MAILLE =SIMP(statut='f',typ=ma, + fr="Création de plusieurs groupes de noeuds"), + GROUP_NO_INIT =SIMP(statut='f',typ=grno, + fr="Création d un seul groupe de noeuds"), + PREFIXE =SIMP(statut='f',typ='TXM' ), + INDEX =SIMP(statut='f',typ='I',max='**'), + GROUP_NO_FIN =SIMP(statut='f',typ=grno), + ), +) ; +#& MODIF COMMANDE DATE 24/02/2003 AUTEUR F6BHHBO P.DEBONNIERES +# 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_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, + fr="Définition des paramètres décrivant le comportement d un matériau", + docu="U4.43.01-g4",reentrant='n', + 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'), + EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'), + EXCLUS('ECRO_LINE','ECRO_LINE_FO'), + EXCLUS('TAHERI','TAHERI_FO'), + EXCLUS('ROUSSELIER','ROUSSELIER_FO'), + PRESENT_PRESENT('ROUSSELIER','TRACTION'), + PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'), + EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'), + EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'), + EXCLUS('VISCOCHAB','VISCOCHAB_FO'), + EXCLUS('POLY_CFC','POLY_CFC_FO'), + EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI'), + EXCLUS('OHNO','OHNO_FO'), + EXCLUS('LMARC','LMARC_FO'), + EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'), + EXCLUS('VENDOCHAB','VENDOCHAB_FO'), + PRESENT_PRESENT('BPEL_ACIER','ELAS'), + EXCLUS('RCCM','RCCM_FO'), + EXCLUS('WEIBULL','WEIBULL_FO'), + PRESENT_PRESENT('CAM_CLAY','ELAS'), + PRESENT_PRESENT('LAIGLE','ELAS'), + EXCLUS('MAZARS','MAZARS_FO'), + PRESENT_PRESENT('BAZANT_FD','ELAS_FO'), + ), + +# +# comportement élastique +# + ELAS =FACT(statut='f',min=0,max=1, + E =SIMP(statut='o',typ='R',val_min=0.E+0), + NU =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0), + 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'), + AMOR_HYST =SIMP(statut='f',typ='R'), + ), + ELAS_FO =FACT(statut='f',min=0,max=1, + regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),), + E =SIMP(statut='o',typ=fonction), + NU =SIMP(statut='o',typ=fonction), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.), + ALPHA =SIMP(statut='f',typ=fonction), + AMOR_ALPHA =SIMP(statut='f',typ=fonction), + AMOR_BETA =SIMP(statut='f',typ=fonction), + AMOR_HYST =SIMP(statut='f',typ=fonction), + 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), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="INST",into=("TEMP","INST",) ), + VERI_P3 =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ), + VERI_P4 =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ), + ), + ELAS_FLUI =FACT(statut='f',min=0,max=1, + E =SIMP(statut='o',typ='R'), + NU =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='o',typ='R'), + PROF_RHO_F_INT =SIMP(statut='o',typ=fonction), + PROF_RHO_F_EXT =SIMP(statut='o',typ=fonction), + COEF_MASS_AJOU =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="ABSC",into=("ABSC",) ), + ), + ELAS_ISTR =FACT(statut='f',min=0,max=1, + E_L =SIMP(statut='o',typ='R'), + E_N =SIMP(statut='o',typ='R'), + NU_LT =SIMP(statut='o',typ='R'), + NU_LN =SIMP(statut='o',typ='R'), + G_LN =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ELAS_ISTR_FO =FACT(statut='f',min=0,max=1, + regles=( + PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), + ), + E_L =SIMP(statut='o',typ=fonction), + E_N =SIMP(statut='o',typ=fonction), + NU_LT =SIMP(statut='o',typ=fonction), + NU_LN =SIMP(statut='o',typ=fonction), + G_LN =SIMP(statut='o',typ=fonction), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.), + ALPHA_L =SIMP(statut='f',typ=fonction), + ALPHA_N =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST")), + ), + ELAS_ORTH =FACT(statut='f',min=0,max=1, + E_L =SIMP(statut='o',typ='R'), + E_T =SIMP(statut='o',typ='R'), + E_N =SIMP(statut='f',typ='R'), + NU_LT =SIMP(statut='o',typ='R'), + NU_LN =SIMP(statut='f',typ='R'), + NU_TN =SIMP(statut='f',typ='R'), + G_LT =SIMP(statut='o',typ='R'), + G_LN =SIMP(statut='f',typ='R'), + G_TN =SIMP(statut='f',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_T =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + XT =SIMP(statut='f',typ='R',defaut= 1. ), + XC =SIMP(statut='f',typ='R',defaut= 1. ), + 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. ), + ), + ELAS_ORTH_FO =FACT(statut='f',min=0,max=1, + regles=( + PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'), + ), + E_L =SIMP(statut='o',typ=fonction), + E_T =SIMP(statut='o',typ=fonction), + E_N =SIMP(statut='o',typ=fonction), + NU_LT =SIMP(statut='o',typ=fonction), + NU_LN =SIMP(statut='o',typ=fonction), + NU_TN =SIMP(statut='o',typ=fonction), + G_LT =SIMP(statut='o',typ=fonction), + G_LN =SIMP(statut='o',typ=fonction), + G_TN =SIMP(statut='o',typ=fonction), + RHO =SIMP(statut='f',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1. ), + ALPHA_L =SIMP(statut='f',typ=fonction), + ALPHA_T =SIMP(statut='f',typ=fonction), + ALPHA_N =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), + ), + ELAS_THM =FACT(statut='f',min=0,max=1, + 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',min=0,max=1, + 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',min=0,max=1, + 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',min=0,max=1, + 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_COQUE =FACT(statut='f',min=0,max=1, + regles=(EXCLUS('MEMB_L','M_LLLL',), + PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', + 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), + PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', + 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL', + 'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ', + 'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ', + 'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ', + 'C_LZTZ','C_TZTZ'),), + MEMB_L =SIMP(statut='f',typ='R'), + MEMB_LT =SIMP(statut='f',typ='R'), + MEMB_T =SIMP(statut='f',typ='R'), + MEMB_G_LT =SIMP(statut='f',typ='R'), + FLEX_L =SIMP(statut='f',typ='R'), + FLEX_LT =SIMP(statut='f',typ='R'), + FLEX_T =SIMP(statut='f',typ='R'), + FLEX_G_LT =SIMP(statut='f',typ='R'), + CISA_L =SIMP(statut='f',typ='R'), + CISA_T =SIMP(statut='f',typ='R'), + M_LLLL =SIMP(statut='f',typ='R'), + M_LLTT =SIMP(statut='f',typ='R'), + M_LLLT =SIMP(statut='f',typ='R'), + M_TTTT =SIMP(statut='f',typ='R'), + M_TTLT =SIMP(statut='f',typ='R'), + M_LTLT =SIMP(statut='f',typ='R'), + F_LLLL =SIMP(statut='f',typ='R'), + F_LLTT =SIMP(statut='f',typ='R'), + F_LLLT =SIMP(statut='f',typ='R'), + F_TTTT =SIMP(statut='f',typ='R'), + F_TTLT =SIMP(statut='f',typ='R'), + F_LTLT =SIMP(statut='f',typ='R'), + MF_LLLL =SIMP(statut='f',typ='R'), + MF_LLTT =SIMP(statut='f',typ='R'), + MF_LLLT =SIMP(statut='f',typ='R'), + MF_TTTT =SIMP(statut='f',typ='R'), + MF_TTLT =SIMP(statut='f',typ='R'), + MF_LTLT =SIMP(statut='f',typ='R'), + MC_LLLZ =SIMP(statut='f',typ='R'), + MC_LLTZ =SIMP(statut='f',typ='R'), + MC_TTLZ =SIMP(statut='f',typ='R'), + MC_TTTZ =SIMP(statut='f',typ='R'), + MC_LTLZ =SIMP(statut='f',typ='R'), + MC_LTTZ =SIMP(statut='f',typ='R'), + FC_LLLZ =SIMP(statut='f',typ='R'), + FC_LLTZ =SIMP(statut='f',typ='R'), + FC_TTLZ =SIMP(statut='f',typ='R'), + FC_TTTZ =SIMP(statut='f',typ='R'), + FC_LTLZ =SIMP(statut='f',typ='R'), + FC_LTTZ =SIMP(statut='f',typ='R'), + C_LZLZ =SIMP(statut='f',typ='R'), + C_LZTZ =SIMP(statut='f',typ='R'), + C_TZTZ =SIMP(statut='f',typ='R'), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + ), + ELAS_COQUE_FO =FACT(statut='f',min=0,max=1, + regles=(EXCLUS('MEMB_L','M_LLLL',), + PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', + 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), + PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', + 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT', + 'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ', + 'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ', + 'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),), + MEMB_L =SIMP(statut='f',typ=fonction), + MEMB_LT =SIMP(statut='f',typ=fonction), + MEMB_T =SIMP(statut='f',typ=fonction), + MEMB_G_LT =SIMP(statut='f',typ=fonction), + FLEX_L =SIMP(statut='f',typ=fonction), + FLEX_LT =SIMP(statut='f',typ=fonction), + FLEX_T =SIMP(statut='f',typ=fonction), + FLEX_G_LT =SIMP(statut='f',typ=fonction), + CISA_L =SIMP(statut='f',typ=fonction), + CISA_T =SIMP(statut='f',typ=fonction), + M_LLLL =SIMP(statut='f',typ=fonction), + M_LLTT =SIMP(statut='f',typ=fonction), + M_LLLT =SIMP(statut='f',typ=fonction), + M_TTTT =SIMP(statut='f',typ=fonction), + M_TTLT =SIMP(statut='f',typ=fonction), + M_LTLT =SIMP(statut='f',typ=fonction), + F_LLLL =SIMP(statut='f',typ=fonction), + F_LLTT =SIMP(statut='f',typ=fonction), + F_LLLT =SIMP(statut='f',typ=fonction), + F_TTTT =SIMP(statut='f',typ=fonction), + F_TTLT =SIMP(statut='f',typ=fonction), + F_LTLT =SIMP(statut='f',typ=fonction), + MF_LLLL =SIMP(statut='f',typ=fonction), + MF_LLTT =SIMP(statut='f',typ=fonction), + MF_LLLT =SIMP(statut='f',typ=fonction), + MF_TTTT =SIMP(statut='f',typ=fonction), + MF_TTLT =SIMP(statut='f',typ=fonction), + MF_LTLT =SIMP(statut='f',typ=fonction), + MC_LLLZ =SIMP(statut='f',typ=fonction), + MC_LLTZ =SIMP(statut='f',typ=fonction), + MC_TTLZ =SIMP(statut='f',typ=fonction), + MC_TTTZ =SIMP(statut='f',typ=fonction), + MC_LTLZ =SIMP(statut='f',typ=fonction), + MC_LTTZ =SIMP(statut='f',typ=fonction), + FC_LLLZ =SIMP(statut='f',typ=fonction), + FC_LLTZ =SIMP(statut='f',typ=fonction), + FC_TTLZ =SIMP(statut='f',typ=fonction), + FC_TTTZ =SIMP(statut='f',typ=fonction), + FC_LTLZ =SIMP(statut='f',typ=fonction), + FC_LTTZ =SIMP(statut='f',typ=fonction), + C_LZLZ =SIMP(statut='f',typ=fonction), + C_LZTZ =SIMP(statut='f',typ=fonction), + C_TZTZ =SIMP(statut='f',typ=fonction), + RHO =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST") ), + ), + APPUI_ELAS =FACT(statut='f',min=0,max=1, + E_N =SIMP(statut='o',typ='R'), + E_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0), + ), + CABLE =FACT(statut='f',min=0,max=1, + 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 +# + TRACTION =FACT(statut='f',min=0,max=1, + SIGM =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + VERI_P3 =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ), + VERI_P4 =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ), + ), + ECRO_LINE =FACT(statut='f',min=0,max=1, + D_SIGM_EPSI =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + ), + ECRO_LINE_FO =FACT(statut='f',min=0,max=1, + D_SIGM_EPSI =SIMP(statut='o',typ=fonction), + SY =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + PRAGER =FACT(statut='f',min=0,max=1, + C =SIMP(statut='o',typ='R'), + ), + PRAGER_FO =FACT(statut='f',min=0,max=1, + C =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + ECRO_FLEJOU =FACT(statut='f',min=0,max=1, + EP =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + SU =SIMP(statut='o',typ='R'), + PUISS =SIMP(statut='o',typ='R'), + ), + TAHERI =FACT(statut='f',min=0,max=1, + R_0 =SIMP(statut='o',typ='R'), + ALPHA =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + C1 =SIMP(statut='o',typ='R'), + C_INF =SIMP(statut='o',typ='R'), + S =SIMP(statut='o',typ='R'), + ), + TAHERI_FO =FACT(statut='f',min=0,max=1, + R_0 =SIMP(statut='o',typ=fonction), + ALPHA =SIMP(statut='o',typ=fonction), + M =SIMP(statut='o',typ=fonction), + A =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + C1 =SIMP(statut='o',typ=fonction), + C_INF =SIMP(statut='o',typ=fonction), + S =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + ROUSSELIER =FACT(statut='f',min=0,max=1, + D =SIMP(statut='o',typ='R'), + SIGM_1 =SIMP(statut='o',typ='R'), + PORO_INIT =SIMP(statut='o',typ='R'), + PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), + D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), + AN =SIMP(statut='f',typ='R',defaut= 0. ), + ), + ROUSSELIER_FO =FACT(statut='f',min=0,max=1, + D =SIMP(statut='o',typ=fonction), + SIGM_1 =SIMP(statut='o',typ=fonction), + PORO_INIT =SIMP(statut='o',typ=fonction), + PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), + PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), + D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), + AN =SIMP(statut='f',typ='R',defaut= 0. ), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + ROUSS_VISC =FACT(statut='f',min=0,max=1, + SIGM_0 =SIMP(statut='o',typ='R'), + EPSI_0 =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + ), + CHABOCHE =FACT(statut='f',min=0,max=1, + 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',min=0,max=1, + R_0 =SIMP(statut='o',typ='R'), + R_I =SIMP(statut='f',typ='R'), + B =SIMP(statut='f',typ='R',defaut= 0.0E+0), + C_I =SIMP(statut='o',typ='R'), + K =SIMP(statut='f',typ='R',defaut= 1.0E+0), + W =SIMP(statut='f',typ='R',defaut= 0.0E+0), + G_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ), + CIN1_CHAB_FO =FACT(statut='f',min=0,max=1, + R_0 =SIMP(statut='o',typ=fonction), + R_I =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + C_I =SIMP(statut='o',typ=fonction), + K =SIMP(statut='o',typ=fonction), + W =SIMP(statut='o',typ=fonction), + G_0 =SIMP(statut='o',typ=fonction), + A_I =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + CIN2_CHAB =FACT(statut='f',min=0,max=1, + R_0 =SIMP(statut='o',typ='R'), + R_I =SIMP(statut='f',typ='R'), + B =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + C1_I =SIMP(statut='o',typ='R'), + C2_I =SIMP(statut='o',typ='R'), + K =SIMP(statut='f',typ='R',defaut= 1.), + W =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + G1_0 =SIMP(statut='o',typ='R'), + G2_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + ), + CIN2_CHAB_FO =FACT(statut='f',min=0,max=1, + R_0 =SIMP(statut='o',typ=fonction), + R_I =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + C1_I =SIMP(statut='o',typ=fonction), + C2_I =SIMP(statut='o',typ=fonction), + K =SIMP(statut='o',typ=fonction), + W =SIMP(statut='o',typ=fonction), + G1_0 =SIMP(statut='o',typ=fonction), + G2_0 =SIMP(statut='o',typ=fonction), + A_I =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + VISCOCHAB =FACT(statut='f',min=0,max=1, + K_0 =SIMP(statut='o',typ='R'), + A_K =SIMP(statut='o',typ='R'), + A_R =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + ALP =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + M_R =SIMP(statut='o',typ='R'), + G_R =SIMP(statut='o',typ='R'), + MU =SIMP(statut='o',typ='R'), + Q_M =SIMP(statut='o',typ='R'), + Q_0 =SIMP(statut='o',typ='R'), + QR_0 =SIMP(statut='o',typ='R'), + ETA =SIMP(statut='o',typ='R'), + C1 =SIMP(statut='o',typ='R'), + M_1 =SIMP(statut='o',typ='R'), + D1 =SIMP(statut='o',typ='R'), + G_X1 =SIMP(statut='o',typ='R'), + G1_0 =SIMP(statut='o',typ='R'), + C2 =SIMP(statut='o',typ='R'), + M_2 =SIMP(statut='o',typ='R'), + D2 =SIMP(statut='o',typ='R'), + G_X2 =SIMP(statut='o',typ='R'), + G2_0 =SIMP(statut='o',typ='R'), + A_I =SIMP(statut='o',typ='R'), + ), + VISCOCHAB_FO =FACT(statut='f',min=0,max=1, + K_0 =SIMP(statut='o',typ=fonction), + A_K =SIMP(statut='o',typ=fonction), + A_R =SIMP(statut='o',typ=fonction), + K =SIMP(statut='o',typ=fonction), + N =SIMP(statut='o',typ=fonction), + ALP =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + M_R =SIMP(statut='o',typ=fonction), + G_R =SIMP(statut='o',typ=fonction), + MU =SIMP(statut='o',typ=fonction), + Q_M =SIMP(statut='o',typ=fonction), + Q_0 =SIMP(statut='o',typ=fonction), + QR_0 =SIMP(statut='o',typ=fonction), + ETA =SIMP(statut='o',typ=fonction), + C1 =SIMP(statut='o',typ=fonction), + M_1 =SIMP(statut='o',typ=fonction), + D1 =SIMP(statut='o',typ=fonction), + G_X1 =SIMP(statut='o',typ=fonction), + G1_0 =SIMP(statut='o',typ=fonction), + C2 =SIMP(statut='o',typ=fonction), + M_2 =SIMP(statut='o',typ=fonction), + D2 =SIMP(statut='o',typ=fonction), + G_X2 =SIMP(statut='o',typ=fonction), + G2_0 =SIMP(statut='o',typ=fonction), + A_I =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + POLY_CFC =FACT(statut='f',min=0,max=1, + TEXTURE =SIMP(statut='o',typ=(tabl_texture) ), + DL =SIMP(statut='f',typ='R'), + DA =SIMP(statut='f',typ='R'), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + TAU_0 =SIMP(statut='o',typ='R'), + Q1 =SIMP(statut='o',typ='R'), + B1 =SIMP(statut='o',typ='R'), + HL =SIMP(statut='o',typ='R'), + Q2 =SIMP(statut='o',typ='R'), + B2 =SIMP(statut='o',typ='R'), + C1 =SIMP(statut='o',typ='R'), + D1 =SIMP(statut='o',typ='R'), + C2 =SIMP(statut='o',typ='R'), + ), + POLY_CFC_FO =FACT(statut='f',min=0,max=1, + TEXTURE =SIMP(statut='o',typ=(tabl_texture) ), + DL =SIMP(statut='o',typ=fonction), + DA =SIMP(statut='o',typ=fonction), + N =SIMP(statut='o',typ=fonction), + K =SIMP(statut='o',typ=fonction), + TAU_0 =SIMP(statut='o',typ=fonction), + Q1 =SIMP(statut='o',typ=fonction), + B1 =SIMP(statut='o',typ=fonction), + HL =SIMP(statut='o',typ=fonction), + Q2 =SIMP(statut='o',typ=fonction), + B2 =SIMP(statut='o',typ=fonction), + C1 =SIMP(statut='o',typ=fonction), + D1 =SIMP(statut='o',typ=fonction), + C2 =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + LEMAITRE =FACT(statut='f',min=0,max=1, + N =SIMP(statut='o',typ='R'), + UN_SUR_K =SIMP(statut='o',typ='R'), + UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ZIRC_CYRA2 =FACT(statut='f',min=0,max=1, + EPSI_FAB =SIMP(statut='o',typ=fonction), + TEMP_RECUIT =SIMP(statut='o',typ=fonction), + FLUX_PHI =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ), + ), + ZIRC_EPRI =FACT(statut='f',min=0,max=1, + FLUX_PHI =SIMP(statut='o',typ='R'), + R_P =SIMP(statut='o',typ='R'), + THETA_MAX =SIMP(statut='o',typ='R'), + ), + LEMAITRE_FO =FACT(statut='f',min=0,max=1, + N =SIMP(statut='o',typ=fonction), + UN_SUR_K =SIMP(statut='o',typ=fonction), + UN_SUR_M =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + GRAN_IRRA =FACT(statut='f',min=0,max=1, + A =SIMP(statut='f',typ='R',defaut= 0.E+0), + B =SIMP(statut='f',typ='R',defaut= 0.E+0), + S =SIMP(statut='f',typ='R',defaut= 0.E+0), + ), + FLU_IRRA =FACT(statut='f',min=0,max=1, + QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PHI_ZERO =SIMP(statut='f',typ='R',defaut= 1.E+20), + L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + OHNO =FACT(statut='f',min=0,max=1, + 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',min=0,max=1, + R_I =SIMP(statut='o',typ=fonction), + R_0 =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + PHI =SIMP(statut='o',typ=fonction), + A1 =SIMP(statut='o',typ=fonction), + A2 =SIMP(statut='o',typ=fonction), + A3 =SIMP(statut='o',typ=fonction), + A4 =SIMP(statut='o',typ=fonction), + A5 =SIMP(statut='o',typ=fonction), + GAMMA1 =SIMP(statut='o',typ=fonction), + GAMMA2 =SIMP(statut='o',typ=fonction), + GAMMA3 =SIMP(statut='o',typ=fonction), + GAMMA4 =SIMP(statut='o',typ=fonction), + GAMMA5 =SIMP(statut='o',typ=fonction), + M1 =SIMP(statut='o',typ=fonction), + M2 =SIMP(statut='o',typ=fonction), + M3 =SIMP(statut='o',typ=fonction), + M4 =SIMP(statut='o',typ=fonction), + M5 =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + LMARC =FACT(statut='f',min=0,max=1, + DE_0 =SIMP(statut='o',typ='R'), + R_0 =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + Y_I =SIMP(statut='o',typ='R'), + Y_0 =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + A_0 =SIMP(statut='o',typ='R'), + RM =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + P =SIMP(statut='o',typ='R'), + P1 =SIMP(statut='o',typ='R'), + P2 =SIMP(statut='o',typ='R'), + M11 =SIMP(statut='o',typ='R'), + M22 =SIMP(statut='o',typ='R'), + M33 =SIMP(statut='o',typ='R'), + M66 =SIMP(statut='o',typ='R'), + N11 =SIMP(statut='o',typ='R'), + N22 =SIMP(statut='o',typ='R'), + N33 =SIMP(statut='o',typ='R'), + N66 =SIMP(statut='o',typ='R'), + Q11 =SIMP(statut='o',typ='R'), + Q22 =SIMP(statut='o',typ='R'), + Q33 =SIMP(statut='o',typ='R'), + Q66 =SIMP(statut='o',typ='R'), + R11 =SIMP(statut='o',typ='R'), + R22 =SIMP(statut='o',typ='R'), + R33 =SIMP(statut='o',typ='R'), + R66 =SIMP(statut='o',typ='R'), + ), + LMARC_FO =FACT(statut='f',min=0,max=1, + DE_0 =SIMP(statut='o',typ=fonction), + R_0 =SIMP(statut='o',typ=fonction), + N =SIMP(statut='o',typ=fonction), + K =SIMP(statut='o',typ=fonction), + Y_I =SIMP(statut='o',typ=fonction), + Y_0 =SIMP(statut='o',typ=fonction), + B =SIMP(statut='o',typ=fonction), + A_0 =SIMP(statut='o',typ=fonction), + RM =SIMP(statut='o',typ=fonction), + M =SIMP(statut='o',typ=fonction), + P =SIMP(statut='o',typ=fonction), + P1 =SIMP(statut='o',typ=fonction), + P2 =SIMP(statut='o',typ=fonction), + M11 =SIMP(statut='o',typ=fonction), + M22 =SIMP(statut='o',typ=fonction), + M33 =SIMP(statut='o',typ=fonction), + M66 =SIMP(statut='o',typ=fonction), + N11 =SIMP(statut='o',typ=fonction), + N22 =SIMP(statut='o',typ=fonction), + N33 =SIMP(statut='o',typ=fonction), + N66 =SIMP(statut='o',typ=fonction), + Q11 =SIMP(statut='o',typ=fonction), + Q22 =SIMP(statut='o',typ=fonction), + Q33 =SIMP(statut='o',typ=fonction), + Q66 =SIMP(statut='o',typ=fonction), + R11 =SIMP(statut='o',typ=fonction), + R22 =SIMP(statut='o',typ=fonction), + R33 =SIMP(statut='o',typ=fonction), + R66 =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + VMIS_POUTRE =FACT(statut='f',min=0,max=1, + NP =SIMP(statut='o',typ='R'), + MEY =SIMP(statut='o',typ='R'), + MPY =SIMP(statut='o',typ='R'), + CAY =SIMP(statut='o',typ='R'), + CBY =SIMP(statut='o',typ='R'), + MEZ =SIMP(statut='o',typ='R'), + MPZ =SIMP(statut='o',typ='R'), + CAZ =SIMP(statut='o',typ='R'), + CBZ =SIMP(statut='o',typ='R'), + MPX =SIMP(statut='o',typ='R'), + ), + VMIS_POUTRE_FO =FACT(statut='f',min=0,max=1, + NP =SIMP(statut='o',typ=fonction), + MEY =SIMP(statut='o',typ=fonction), + MPY =SIMP(statut='o',typ=fonction), + CAY =SIMP(statut='o',typ=fonction), + CBY =SIMP(statut='o',typ=fonction), + MEZ =SIMP(statut='o',typ=fonction), + MPZ =SIMP(statut='o',typ=fonction), + CAZ =SIMP(statut='o',typ=fonction), + CBZ =SIMP(statut='o',typ=fonction), + MPX =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + ARME =FACT(statut='f',min=0,max=1, + KYE =SIMP(statut='o',typ='R'), + DLE =SIMP(statut='o',typ='R'), + KYP =SIMP(statut='o',typ='R'), + DLP =SIMP(statut='o',typ='R'), + KYG =SIMP(statut='o',typ='R'), + ), + ASSE_CORN =FACT(statut='f',min=0,max=1, + NU_1 =SIMP(statut='o',typ='R'), + MU_1 =SIMP(statut='o',typ='R'), + DXU_1 =SIMP(statut='o',typ='R'), + DRYU_1 =SIMP(statut='o',typ='R'), + C_1 =SIMP(statut='o',typ='R'), + NU_2 =SIMP(statut='o',typ='R'), + MU_2 =SIMP(statut='o',typ='R'), + DXU_2 =SIMP(statut='o',typ='R'), + DRYU_2 =SIMP(statut='o',typ='R'), + C_2 =SIMP(statut='o',typ='R'), + KY =SIMP(statut='o',typ='R'), + KZ =SIMP(statut='o',typ='R'), + KRX =SIMP(statut='o',typ='R'), + KRZ =SIMP(statut='o',typ='R'), + ), + DIS_CONTACT =FACT(statut='f',min=0,max=1, + RIGI_NOR =SIMP(statut='f',typ='R' ), + DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + KT_ULTM =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + EFFO_N_INIT =SIMP(statut='f',typ=fonction), + regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),), + RIGI_N_IRRA =SIMP(statut='f',typ=fonction), + RIGI_N_FO =SIMP(statut='f',typ=fonction), + RELA_MZ =SIMP(statut='f',typ=fonction), + C_PRAGER_MZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="DRZ",into=("DRZ",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ), + VERI_P3 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + NADAI_B =FACT(statut='f',min=0,max=1, + F_C =SIMP(statut='o',typ='R'), + F_T =SIMP(statut='o',typ='R'), + CRIT_E_C =SIMP(statut='o',typ='R'), + EPSP_P_C =SIMP(statut='o',typ='R'), + EPSP_R_C =SIMP(statut='o',typ='R'), + EPSI_R_T =SIMP(statut='o',typ='R'), + FAC_T_C =SIMP(statut='o',typ='R'), + ), + BETON_DOUBLE_DP =FACT(statut='f',min=0,max=1, + F_C =SIMP(statut='o',typ=fonction), + F_T =SIMP(statut='o',typ=fonction), + COEF_BIAX =SIMP(statut='o',typ=fonction), + ENER_COMP_RUPT =SIMP(statut='o',typ=fonction), + ENER_TRAC_RUPT =SIMP(statut='o',typ=fonction), + COEF_ELAS_COMP =SIMP(statut='o',typ='R'), + LONG_CARA =SIMP(statut='f',typ='R'), + ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ), + ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="INST",into=("TEMP","INST",) ), + VERI_P3 =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ), + VERI_P4 =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ), + ), + LABORD_1D=FACT(statut='f',min=0 ,max=1, + Y01 =SIMP(statut='o',typ='R'), + Y02 =SIMP(statut='o',typ='R'), + A1 =SIMP(statut='o',typ='R'), + A2 =SIMP(statut='o',typ='R'), + B1 =SIMP(statut='o',typ='R'), + B2 =SIMP(statut='o',typ='R'), + BETA1 =SIMP(statut='o',typ='R'), + BETA2 =SIMP(statut='o',typ='R'), + SIGF =SIMP(statut='o',typ='R'), + ), + MAZARS=FACT(statut='f',min=0 ,max=1, + EPSD0 =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='o',typ='R'), + AC =SIMP(statut='o',typ='R'), + BC =SIMP(statut='o',typ='R'), + AT =SIMP(statut='o',typ='R'), + BT =SIMP(statut='o',typ='R'), + ), + MAZARS_FO=FACT(statut='f',min=0 ,max=1, + EPSD0 =SIMP(statut='o',typ=fonction), + BETA =SIMP(statut='o',typ='R'), + AC =SIMP(statut='o',typ=fonction), + BC =SIMP(statut='o',typ=fonction), + AT =SIMP(statut='o',typ=fonction), + BT =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + VENDOCHAB =FACT(statut='f',min=0,max=1, + S_VP =SIMP(statut='o',typ='R'), + SEDVP1 =SIMP(statut='o',typ='R'), + SEDVP2 =SIMP(statut='o',typ='R'), + N_VP =SIMP(statut='o',typ='R'), + M_VP =SIMP(statut='o',typ='R'), + K_VP =SIMP(statut='o',typ='R'), + R_D =SIMP(statut='o',typ='R'), + A_D =SIMP(statut='o',typ='R'), + K_D =SIMP(statut='o',typ='R'), + ), + VENDOCHAB_FO =FACT(statut='f',min=0,max=1, + S_VP =SIMP(statut='o',typ=fonction), + SEDVP1 =SIMP(statut='o',typ=fonction), + SEDVP2 =SIMP(statut='o',typ=fonction), + N_VP =SIMP(statut='o',typ=fonction), + M_VP =SIMP(statut='o',typ=fonction), + K_VP =SIMP(statut='o',typ=fonction), + R_D =SIMP(statut='o',typ=fonction), + A_D =SIMP(statut='o',typ=fonction), + K_D =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="X",into=("X",) ), + ), + PINTO_MENEGOTTO =FACT(statut='f',min=0,max=1, + SY =SIMP(statut='o',typ='R'), + EPSI_ULTM =SIMP(statut='o',typ='R'), + SIGM_ULTM =SIMP(statut='o',typ='R'), + ELAN =SIMP(statut='f',typ='R',defaut= 4. ), + EPSP_HARD =SIMP(statut='o',typ='R'), + R_PM =SIMP(statut='f',typ='R',defaut= 20. ), + EP_SUR_E =SIMP(statut='f',typ='R'), + A1_PM =SIMP(statut='f',typ='R',defaut= 18.5 ), + A2_PM =SIMP(statut='f',typ='R',defaut= 0.15 ), + A6_PM =SIMP(statut='f',typ='R',defaut= 620. ), + C_PM =SIMP(statut='f',typ='R',defaut= 0.5 ), + A_PM =SIMP(statut='f',typ='R',defaut= 6.0E-3 ), + ), + BPEL_BETON =FACT(statut='f',min=0,max=1, + PERT_FLUA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PERT_RETR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + BPEL_ACIER =FACT(statut='f',min=0,max=1, + RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + MU0_RELAX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SY =SIMP(statut='o',typ='R'), + FROT_COURB =SIMP(statut='o',typ='R'), + FROT_LINE =SIMP(statut='o',typ='R'), + ), + CAM_CLAY =FACT(statut='f',min=0,max=1, + PORO =SIMP(statut='o',typ='R'), + LAMBDA =SIMP(statut='o',typ='R'), + KAPA =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + PRES_CRIT =SIMP(statut='o',typ='R'), + PA =SIMP(statut='o',typ='R'), + ), + CJS =FACT(statut='f',min=0,max=1, + BETA_CJS =SIMP(statut='o',typ='R'), + RM =SIMP(statut='o',typ='R'), + N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + KP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + A_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + B_CJS =SIMP(statut='f',typ='R',defaut= 1.0E+25 ), + C_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GAMMA_CJS =SIMP(statut='o',typ='R'), + MU_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PCO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PA =SIMP(statut='o',typ='R'), + Q_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + R_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ECRO_ASYM_LINE =FACT(statut='f',min=0,max=1, + DC_SIGM_EPSI =SIMP(statut='o',typ='R'), + SY_C =SIMP(statut='o',typ='R'), + DT_SIGM_EPSI =SIMP(statut='o',typ='R'), + SY_T =SIMP(statut='o',typ='R'), + ), + GRANGER_FP =FACT(statut='f',min=0,max=1, + J1 =SIMP(statut='f',typ='R'), + J2 =SIMP(statut='f',typ='R'), + J3 =SIMP(statut='f',typ='R'), + J4 =SIMP(statut='f',typ='R'), + J5 =SIMP(statut='f',typ='R'), + J6 =SIMP(statut='f',typ='R'), + J7 =SIMP(statut='f',typ='R'), + J8 =SIMP(statut='f',typ='R'), + TAUX_1 =SIMP(statut='f',typ='R'), + TAUX_2 =SIMP(statut='f',typ='R'), + TAUX_3 =SIMP(statut='f',typ='R'), + TAUX_4 =SIMP(statut='f',typ='R'), + TAUX_5 =SIMP(statut='f',typ='R'), + TAUX_6 =SIMP(statut='f',typ='R'), + TAUX_7 =SIMP(statut='f',typ='R'), + TAUX_8 =SIMP(statut='f',typ='R'), + QSR_K =SIMP(statut='f',typ='R'), + ), + V_GRANGER_FP =FACT(statut='f',min=0,max=1, + QSR_VEIL =SIMP(statut='f',typ='R'), + FONC_V =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ), + ), + BAZANT_FD =FACT(statut='f',min=0,max=1, + LAM_VISC =SIMP(statut='o',typ='R'), + ), + BETON_UMLV_FP =FACT(statut='f',min=0 ,max=1, + K_RS =SIMP(statut='o',typ='R'), + ETA_RS =SIMP(statut='o',typ='R'), + K_IS =SIMP(statut='o',typ='R'), + ETA_IS =SIMP(statut='o',typ='R'), + K_RD =SIMP(statut='o',typ='R'), + ETA_RD =SIMP(statut='o',typ='R'), + ETA_ID =SIMP(statut='o',typ='R'), + ), +# +# comportement thermique +# + THER_NL =FACT(statut='f',min=0,max=1, + regles=(UN_PARMI('BETA','RHO_CP', ),), + LAMBDA =SIMP(statut='o',typ=fonction), + BETA =SIMP(statut='f',typ=fonction), + RHO_CP =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + THER_HYDR =FACT(statut='f',min=0,max=1, + LAMBDA =SIMP(statut='o',typ=fonction), + BETA =SIMP(statut='f',typ=fonction), + AFFINITE =SIMP(statut='o',typ=fonction), + CHALHYDR =SIMP(statut='o',typ='R'), + QSR_K =SIMP(statut='o',typ='R'), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("HYDR",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ), + ), + THER =FACT(statut='f',min=0,max=1, + LAMBDA =SIMP(statut='o',typ='R'), + RHO_CP =SIMP(statut='f',typ='R'), + ), + THER_FO =FACT(statut='f',min=0,max=1, + LAMBDA =SIMP(statut='o',typ=fonction), + RHO_CP =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ), + ), + THER_ORTH =FACT(statut='f',min=0,max=1, + LAMBDA_L =SIMP(statut='o',typ='R'), + LAMBDA_T =SIMP(statut='o',typ='R'), + LAMBDA_N =SIMP(statut='f',typ='R'), + RHO_CP =SIMP(statut='f',typ='R'), + ), + THER_COQUE =FACT(statut='f',min=0,max=1, + COND_LMM =SIMP(statut='o',typ='R'), + COND_TMM =SIMP(statut='o',typ='R'), + COND_LMP =SIMP(statut='o',typ='R'), + COND_TMP =SIMP(statut='o',typ='R'), + COND_LPP =SIMP(statut='o',typ='R'), + COND_TPP =SIMP(statut='o',typ='R'), + COND_LSI =SIMP(statut='o',typ='R'), + COND_TSI =SIMP(statut='o',typ='R'), + COND_NMM =SIMP(statut='o',typ='R'), + COND_NMP =SIMP(statut='o',typ='R'), + COND_NPP =SIMP(statut='o',typ='R'), + COND_NSI =SIMP(statut='o',typ='R'), + CMAS_MM =SIMP(statut='f',typ='R'), + CMAS_MP =SIMP(statut='f',typ='R'), + CMAS_PP =SIMP(statut='f',typ='R'), + CMAS_SI =SIMP(statut='f',typ='R'), + ), + THER_COQUE_FO =FACT(statut='f',min=0,max=1, + COND_LMM =SIMP(statut='o',typ=fonction), + COND_TMM =SIMP(statut='o',typ=fonction), + COND_LMP =SIMP(statut='o',typ=fonction), + COND_TMP =SIMP(statut='o',typ=fonction), + COND_LPP =SIMP(statut='o',typ=fonction), + COND_TPP =SIMP(statut='o',typ=fonction), + COND_LSI =SIMP(statut='o',typ=fonction), + COND_TSI =SIMP(statut='o',typ=fonction), + COND_NMM =SIMP(statut='o',typ=fonction), + COND_NMP =SIMP(statut='o',typ=fonction), + COND_NPP =SIMP(statut='o',typ=fonction), + COND_NSI =SIMP(statut='o',typ=fonction), + CMAS_MM =SIMP(statut='f',typ=fonction), + CMAS_MP =SIMP(statut='f',typ=fonction), + CMAS_PP =SIMP(statut='f',typ=fonction), + CMAS_SI =SIMP(statut='f',typ=fonction), + ), + SECH_GRANGER =FACT(statut='f',min=0,max=1, + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + QSR_K =SIMP(statut='o',typ='R'), + TEMP_0_C =SIMP(statut='o',typ='R'), + ), + SECH_MENSI =FACT(statut='f',min=0,max=1, + A =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + ), + SECH_BAZANT =FACT(statut='f',min=0,max=1, + D1 =SIMP(statut='o',typ='R'), + ALPHA_BAZANT =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + ), + SECH_NAPPE =FACT(statut='f',min=0,max=1, + FONCTION =SIMP(statut='o',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="TSEC",into=("TSEC",) ), + ), +# +# comportement métallurgique +# + META_ACIER =FACT(statut='f',min=0,max=1, + TRC =SIMP(statut='o',typ=(tabl_trc) ), + AR3 =SIMP(statut='o',typ='R'), + ALPHA =SIMP(statut='o',typ='R'), + MS0 =SIMP(statut='o',typ='R'), + AC1 =SIMP(statut='o',typ='R'), + AC3 =SIMP(statut='o',typ='R'), + TAUX_1 =SIMP(statut='o',typ='R'), + TAUX_3 =SIMP(statut='o',typ='R'), + LAMBDA0 =SIMP(statut='f',typ='R'), + QSR_K =SIMP(statut='f',typ='R'), + D10 =SIMP(statut='f',typ='R'), + WSR_K =SIMP(statut='f',typ='R'), + ), + META_ZIRC =FACT(statut='f',min=0,max=1, + TDEQ =SIMP(statut='o',typ='R'), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + TDC =SIMP(statut='o',typ='R'), + AC =SIMP(statut='o',typ='R'), + M =SIMP(statut='o',typ='R'), + QSR_K =SIMP(statut='f',typ='R'), + TDR =SIMP(statut='o',typ='R'), + AR =SIMP(statut='o',typ='R'), + BR =SIMP(statut='o',typ='R'), + ), + DURT_META =FACT(statut='f',min=0,max=1, + F1_DURT =SIMP(statut='o',typ='R'), + F2_DURT =SIMP(statut='o',typ='R'), + F3_DURT =SIMP(statut='o',typ='R'), + F4_DURT =SIMP(statut='o',typ='R'), + C_DURT =SIMP(statut='o',typ='R'), + ), + ELAS_META =FACT(statut='f',min=0,max=1, + E =SIMP(statut='o',typ='R'), + NU =SIMP(statut='o',typ='R'), + F_ALPHA =SIMP(statut='o',typ='R'), + C_ALPHA =SIMP(statut='o',typ='R'), + PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), + EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), + F1_SY =SIMP(statut='f',typ='R'), + F2_SY =SIMP(statut='f',typ='R'), + F3_SY =SIMP(statut='f',typ='R'), + F4_SY =SIMP(statut='f',typ='R'), + C_SY =SIMP(statut='f',typ='R'), + SY_MELANGE =SIMP(statut='f',typ=fonction), + F1_S_VP =SIMP(statut='f',typ='R'), + F2_S_VP =SIMP(statut='f',typ='R'), + F3_S_VP =SIMP(statut='f',typ='R'), + F4_S_VP =SIMP(statut='f',typ='R'), + C_S_VP =SIMP(statut='f',typ='R' ), + S_VP_MELANGE =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="META",into=("META",)), + ), + ELAS_META_FO =FACT(statut='f',min=0,max=1, + regles=( + PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'), + PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'), + ), + E =SIMP(statut='o',typ=fonction), + NU =SIMP(statut='o',typ=fonction), + F_ALPHA =SIMP(statut='o',typ=fonction), + C_ALPHA =SIMP(statut='o',typ=fonction), + PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), + EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), + TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), + F1_SY =SIMP(statut='f',typ=fonction), + F2_SY =SIMP(statut='f',typ=fonction), + F3_SY =SIMP(statut='f',typ=fonction), + F4_SY =SIMP(statut='f',typ=fonction), + C_SY =SIMP(statut='f',typ=fonction), + SY_MELANGE =SIMP(statut='f',typ=fonction), + F1_S_VP =SIMP(statut='f',typ=fonction), + F2_S_VP =SIMP(statut='f',typ=fonction), + F3_S_VP =SIMP(statut='f',typ=fonction), + F4_S_VP =SIMP(statut='f',typ=fonction), + C_S_VP =SIMP(statut='f',typ=fonction), + S_VP_MELANGE =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="META",into=("META",)), + ), + META_ECRO_LINE =FACT(statut='f',min=0,max=1, + F1_D_SIGM_EPSI =SIMP(statut='f',typ=fonction), + F2_D_SIGM_EPSI =SIMP(statut='f',typ=fonction), + F3_D_SIGM_EPSI =SIMP(statut='f',typ=fonction), + F4_D_SIGM_EPSI =SIMP(statut='f',typ=fonction), + C_D_SIGM_EPSI =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + META_TRACTION =FACT(statut='f',min=0,max=1, + SIGM_F1 =SIMP(statut='f',typ=fonction), + SIGM_F2 =SIMP(statut='f',typ=fonction), + SIGM_F3 =SIMP(statut='f',typ=fonction), + SIGM_F4 =SIMP(statut='f',typ=fonction), + SIGM_C =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",)), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + META_VISC_FO =FACT(statut='f',min=0,max=1, + F1_ETA =SIMP(statut='f',typ=fonction), + F1_N =SIMP(statut='f',typ=fonction), + F1_C =SIMP(statut='f',typ=fonction), + F1_M =SIMP(statut='f',typ=fonction), + F2_ETA =SIMP(statut='f',typ=fonction), + F2_N =SIMP(statut='f',typ=fonction), + F2_C =SIMP(statut='f',typ=fonction), + F2_M =SIMP(statut='f',typ=fonction), + F3_ETA =SIMP(statut='f',typ=fonction), + F3_N =SIMP(statut='f',typ=fonction), + F3_C =SIMP(statut='f',typ=fonction), + F3_M =SIMP(statut='f',typ=fonction), + F4_ETA =SIMP(statut='f',typ=fonction), + F4_N =SIMP(statut='f',typ=fonction), + F4_C =SIMP(statut='f',typ=fonction), + F4_M =SIMP(statut='f',typ=fonction), + C_ETA =SIMP(statut='f',typ=fonction), + C_N =SIMP(statut='f',typ=fonction), + C_C =SIMP(statut='f',typ=fonction), + C_M =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + META_PT =FACT(statut='f',min=0,max=1, + F1_K =SIMP(statut='f',typ='R'), + F2_K =SIMP(statut='f',typ='R'), + F3_K =SIMP(statut='f',typ='R'), + F4_K =SIMP(statut='f',typ='R'), + F1_D_F_META =SIMP(statut='f',typ=fonction), + F2_D_F_META =SIMP(statut='f',typ=fonction), + F3_D_F_META =SIMP(statut='f',typ=fonction), + F4_D_F_META =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="META",into=("META",) ), + ), + META_RE =FACT(statut='f',min=0,max=1, + C_F1_THETA =SIMP(statut='f',typ='R'), + C_F2_THETA =SIMP(statut='f',typ='R'), + C_F3_THETA =SIMP(statut='f',typ='R'), + C_F4_THETA =SIMP(statut='f',typ='R'), + F1_C_THETA =SIMP(statut='f',typ='R'), + F2_C_THETA =SIMP(statut='f',typ='R'), + F3_C_THETA =SIMP(statut='f',typ='R'), + F4_C_THETA =SIMP(statut='f',typ='R'), + ), +# +# comportement fluide +# + FLUIDE =FACT(statut='f',min=0,max=1, + regles=(EXCLUS('CELE_C','CELE_R'),), + RHO =SIMP(statut='o',typ='R'), + CELE_C =SIMP(statut='f',typ='C'), + CELE_R =SIMP(statut='f',typ='R'), + ), + PORO_JOINT =FACT(statut='f',min=0,max=1, + RHO_FLUI =SIMP(statut='o',typ='R'), + ENTRO_FLUI =SIMP(statut='o',typ='R'), + BIOT_M =SIMP(statut='o',typ='R'), + C_0 =SIMP(statut='o',typ='R'), + T_R =SIMP(statut='o',typ='R'), + ALPHA_M =SIMP(statut='o',typ='R'), + LAMBDA_T =SIMP(statut='o',typ='R'), + LAMBDA_H =SIMP(statut='o',typ='R'), + SOURCE_INIT =SIMP(statut='o',typ='R'), + OMEGA_0 =SIMP(statut='o',typ='R'), + ), + THM_LIQU =FACT(statut='f',min=0,max=1, + 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), + D_VISC_TEMP =SIMP(statut='f',typ=fonction), + LAMBDA =SIMP(statut='f',typ=fonction), + D_LAMBDA_TEMP =SIMP(statut='f',typ=fonction), + COEF_HENRY =SIMP(statut='f',typ='R'), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + THM_GAZ =FACT(statut='f',min=0,max=1, + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=fonction), + D_VISC_TEMP =SIMP(statut='f',typ=fonction), + LAMBDA =SIMP(statut='f',typ=fonction), + D_LAMBDA_TEMP =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + THM_VAPE_GAZ =FACT(statut='f',min=0,max=1, + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=fonction), + D_VISC_TEMP =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + ), + THM_INIT =FACT(statut='f',min=0,max=1, + 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'), + ), + THM_DIFFU =FACT(statut='f',min=0,max=1, + 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), + D_SATU_PRES =SIMP(statut='f',typ=fonction), + 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), + PERM_LIQU =SIMP(statut='f',typ=fonction), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=fonction), + PERM_GAZ =SIMP(statut='f',typ=fonction), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=fonction), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=fonction), + FICK =SIMP(statut='f',typ=fonction), + D_FICK_TEMP =SIMP(statut='f',typ=fonction), + D_FICK_GAZ_PRES =SIMP(statut='f',typ=fonction), + LAMBDA =SIMP(statut='f',typ=fonction), + D_LAMBDA_TEMP =SIMP(statut='f',typ=fonction), + SIGMA_T =SIMP(statut='f',typ=fonction), + D_SIGMA_T =SIMP(statut='f',typ=fonction), + PERM_G_INTR =SIMP(statut='f',typ=fonction), + CHAL_VAPO =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="SAT",into=("SAT",) ), + VERI_P3 =SIMP(statut='c',typ='TXM',defaut="PORO",into=("PORO",) ), + VERI_P4 =SIMP(statut='c',typ='TXM',defaut="PGAZ",into=("PGAZ",) ), + VERI_P5 =SIMP(statut='c',typ='TXM',defaut="PCAP",into=("PCAP",) ), + ), +# +# courbes et coefficients associés à la fatigue et au dommage +# + FATIGUE =FACT(statut='f',min=0,max=1, + 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), + 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), + E_REFE =SIMP(statut='f',typ='R'), + D0 =SIMP(statut='f',typ='R'), + TAU0 =SIMP(statut='f',typ='R'), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="SIGM",into=("SIGM",) ), + VERI_P2 =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",) ), + ), + DOMMA_LEMAITRE =FACT(statut='f',min=0,max=1, + S =SIMP(statut='o',typ=fonction), + EPSP_SEUIL =SIMP(statut='o',typ='R'), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + CISA_PLAN_CRIT =FACT(statut='f',min=0,max=1, + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN") ), + + 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'", + fr="cisaillement plan critique critère de Dang Van", + 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), + ), + ), +# +# autres comportements ... +# + WEIBULL =FACT(statut='f',min=0,max=1, + 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',min=0,max=1, + M =SIMP(statut='o',typ='R'), + VOLU_REFE =SIMP(statut='o',typ='R'), + SIGM_CNV =SIMP(statut='o',typ='R'), + SIGM_REFE =SIMP(statut='o',typ=fonction), + SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + CONTACT =FACT(statut='f',min=0,max=1, + E_N =SIMP(statut='o',typ='R'), + E_T =SIMP(statut='f',typ='R',defaut= 0.E+0), + COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0), + ), + NON_LOCAL =FACT(statut='f',min=0,max=1, + LONG_CARA =SIMP(statut='o',typ='R'), + COEF_RIGI_MINI =SIMP(statut='f',typ='R'), + ), + RUPT_FRAG =FACT(statut='f',min=0,max=1, + GC =SIMP(statut='o',typ='R'), + SIGM_C =SIMP(statut='f',typ='R'), + SAUT_C =SIMP(statut='f',typ='R'), + ), + RCCM =FACT(statut='f',min=0,max=1, + SY_02 =SIMP(statut='f',typ='R'), + SM =SIMP(statut='f',typ='R'), + SU =SIMP(statut='f',typ='R'), + SC =SIMP(statut='f',typ='R'), + SH =SIMP(statut='f',typ='R'), + N_KE =SIMP(statut='f',typ='R'), + M_KE =SIMP(statut='f',typ='R'), + ), + RCCM_FO =FACT(statut='f',min=0,max=1, + SY_02 =SIMP(statut='f',typ=fonction), + SM =SIMP(statut='f',typ=fonction), + SU =SIMP(statut='f',typ=fonction), + S =SIMP(statut='f',typ=fonction), + N_KE =SIMP(statut='f',typ=fonction), + M_KE =SIMP(statut='f',typ=fonction), + VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), + ), + LAIGLE =FACT(statut='f',min=0,max=1, + GAMMA_ULT =SIMP(statut='o',typ='R'), + GAMMA_E =SIMP(statut='o',typ='R'), + M_ULT =SIMP(statut='o',typ='R'), + M_E =SIMP(statut='o',typ='R'), + A_E =SIMP(statut='o',typ='R'), + M_PIC =SIMP(statut='o',typ='R'), + A_PIC =SIMP(statut='o',typ='R'), + ETA =SIMP(statut='o',typ='R'), + SIGMA_C =SIMP(statut='o',typ='R'), + GAMMA =SIMP(statut='o',typ='R'), + KSI =SIMP(statut='o',typ='R'), + GAMMA_CJS =SIMP(statut='o',typ='R'), + SIGMA_P1 =SIMP(statut='o',typ='R'), + PA =SIMP(statut='o',typ='R'), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, + docu="U4.65.02-d",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + SOUS_STRUC =FACT(statut='o',min=1,max='**', + NOM =SIMP(statut='o',typ='TXM' ), + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + TRANS =SIMP(statut='f',typ='R',max=3), + ), + LIAISON =FACT(statut='o',min=1,max='**', + SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), + INTERFACE_1 =SIMP(statut='o',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), + INTERFACE_2 =SIMP(statut='o',typ='TXM' ), + ), + VERIF =FACT(statut='f',min=1,max='**', +# dans la doc U stop_erreur est obligatoire + STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=fonction, + fr="Définition des valeurs d une fonction de deux variables réelles", + docu="U4.31.03-g1",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('FONCTION','DEFI_FONCTION'), + EXCLUS('FONCTION','NOM_PARA_FONC',), + ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),), + NOM_PARA =SIMP(statut='o',typ='TXM',into=("TEMP","INST","X","Y","Z","FREQ","PULS", + "AMOR","EPAIS","TSEC","HYDR","SECH", + "SAT", "PGAZ","PCAP" + ) ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + PARA =SIMP(statut='o',typ='R',max='**'), + FONCTION =SIMP(statut='f',typ=fonction,max='**' ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ", + "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ), + DEFI_FONCTION =FACT(statut='f',max='**', + VALE =SIMP(statut='o',typ='R',max='**'), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + 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") ), + ), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + 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") ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=obstacle + ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire", + docu="U4.44.21-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", + into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET", + "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT", + "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900", + "GUID_B_CARTE_900","GUID_C_CARTE_900", + "GUID_D_CARTE_900","GUID_E_CARTE_900", + "GUID_F_CARTE_900","GUID_A_CARTE_1300", + "GUID_B_CARTE_1300","GUID_C_CARTE_1300", + "GUID_D_CARTE_1300","GUID_E_CARTE_1300", + "GUID_F_CARTE_1300","GUID_A_CARSP_900", + "GUID_B_CARSP_900","GUID_C_CARSP_900", + "GUID_D_CARSP_900","GUID_E_CARSP_900", + "GUID_F_CARSP_900","GUID_A_CARSP_1300", + "GUID_B_CARSP_1300","GUID_C_CARSP_1300", + "GUID_D_CARSP_1300","GUID_E_CARSP_1300", + "GUID_F_CARSP_1300","GUID_A_GCONT_900", + "GUID_B_GCONT_900","GUID_C_GCONT_900", + "GUID_D_GCONT_900","GUID_E_GCONT_900", + "GUID_F_GCONT_900","GUID_A_GCONT_1300", + "GUID_B_GCONT_1300","GUID_C_GCONT_1300", + "GUID_D_GCONT_1300","GUID_E_GCONT_1300", + "GUID_F_GCONT_1300","GUID_A_GCOMB_900", + "GUID_B_GCOMB_900","GUID_C_GCOMB_900", + "GUID_D_GCOMB_900","GUID_E_GCOMB_900", + "GUID_F_GCOMB_900","GUID_A_GCOMB_1300", + "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300", + "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300", + "GUID_F_GCOMB_1300",) ), + VALE =SIMP(statut='f',typ='R',max='**'), + VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS +DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op= 2,sd_prod=para_sensi, + fr="Définition d'un paramètre de sensibilité", + ang="Definition of a sensitive parameter", + docu="U4.31.06-a1",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + NOM_RESU =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU", + fr="Nom du concept créé", + ang="Name of the concept"), + VALE =SIMP(statut='o',typ='R',max=1, + fr="Valeur du parametre", + ang="Value of the parameter"), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre, + fr="Définition d'un spectre d'excitation turbulente", + docu="U4.44.31-c",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3', + 'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2', + 'SPEC_FONC_FORME','SPEC_EXCI_POINT'),), + SPEC_LONG_COR_1 =FACT(statut='f',max=1, + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + VISC_CINE =SIMP(statut='o',typ='R' ), + ), + SPEC_LONG_COR_2 =FACT(statut='f',max=1, + regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.1 ), + PHI0 =SIMP(statut='f',typ='R',defaut= 1.5E-3 ), + BETA =SIMP(statut='f',typ='R',defaut= 2.7 ), + ), + SPEC_LONG_COR_3 =FACT(statut='f',max=1, + regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.2 ), + PHI0_1 =SIMP(statut='f',typ='R',defaut= 5.E-3 ), + BETA_1 =SIMP(statut='f',typ='R',defaut= 0.5 ), + PHI0_2 =SIMP(statut='f',typ='R',defaut= 4.E-5 ), + BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ), + ), + SPEC_LONG_COR_4 =FACT(statut='f',max=1, + regles=(ENSEMBLE('BETA','GAMMA'),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + TAUX_VIDE =SIMP(statut='o',typ='R' ), + BETA =SIMP(statut='f',typ='R',defaut= 2. ), + GAMMA =SIMP(statut='f',typ='R',defaut= 4. ), + ), + SPEC_CORR_CONV_1=FACT(statut='f',max=1, + LONG_COR_1 =SIMP(statut='o',typ='R' ), + LONG_COR_2 =SIMP(statut='f',typ='R' ), + VITE_FLUI =SIMP(statut='o',typ='R' ), + RHO_FLUI =SIMP(statut='o',typ='R' ), + FREQ_COUP =SIMP(statut='f',typ='R' ), + K =SIMP(statut='f',typ='R',defaut= 5.8E-3 ), + D_FLUI =SIMP(statut='o',typ='R' ), + COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), + COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), + METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", + into=("AU_YANG","GENERALE","CORCOS") ), + ), + SPEC_CORR_CONV_2=FACT(statut='f',max=1, + FONCTION =SIMP(statut='o',typ=fonction ), + VITE_FLUI =SIMP(statut='o',typ='R' ), + FREQ_COUP =SIMP(statut='f',typ='R' ), + METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", + into=("AU_YANG","GENERALE","CORCOS",) ), + COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), + COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), + ), + SPEC_FONC_FORME =FACT(statut='f',max=1, + regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), + ENSEMBLE('INTE_SPEC','FONCTION'),), + INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), + FONCTION =SIMP(statut='f',typ=fonction,max='**'), + GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), + NOEUD =SIMP(statut='o',typ=no), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MODELE =SIMP(statut='o',typ=modele ), + ), + SPEC_EXCI_POINT =FACT(statut='f',max=1, + regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), + INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), + 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 + b_inte_spec =BLOC(condition = "INTE_SPEC != None", + NATURE =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ), + ANGL =SIMP(statut='o',typ='R',max='**'), + NOEUD =SIMP(statut='o',typ=no,max='**'), + ), + b_grappe_2 =BLOC(condition = "GRAPPE_2 != None", + RHO_FLUI =SIMP(statut='o',typ='R' ), + NOEUD =SIMP(statut='o',typ=no), + ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + MODELE =SIMP(statut='o',typ=modele ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, + fr="Définition d un maillage de visualisation", + docu="U4.24.01-e",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'), + PRESENT_PRESENT('MODE_CYCL','SECTEUR'), + EXCLUS('SOUS_STRUC','SECTEUR'), + PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'), + PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),), + MODE_CYCL =SIMP(statut='f',typ=mode_cycl ), + MODELE_GENE =SIMP(statut='f',typ=modele_gene ), + SQUELETTE =SIMP(statut='f',typ=squelette ), + RECO_GLOBAL =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('TOUT','GROUP_NO_1'), + PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'), + PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'), + PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'), + PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),), + TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + DIST_REFE =SIMP(statut='f',typ='R' ), + ), + NOM_GROUP_MA =FACT(statut='f',min=1,max='**', + NOM =SIMP(statut='o',typ='TXM' ), + SOUS_STRUC =SIMP(statut='o',typ='TXM' ), + GROUP_MA =SIMP(statut='o',typ=grma), + ), + EXCLUSIF =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + MAILLAGE =SIMP(statut='f',typ=maillage ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + TRANS =SIMP(statut='f',typ='R',min=3,max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), + SOUS_STRUC =FACT(statut='f',min=1,max='**', + NOM =SIMP(statut='f',typ='TXM' ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + SECTEUR =FACT(statut='f',min=1,max='**', + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture, + fr=" ",docu="U4.43.05-a",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + SYST_GLISSEMENT =FACT(statut='o',min=3,max=3, + N =SIMP(statut='o',typ='R',min=12,max=12 ), + L =SIMP(statut='o',typ='R',max='**' ), + ), + PLAN =FACT(statut='o',min=40,max=40, + ANGL_NAUT =SIMP(statut='o',typ='R',max='**' ), + PROPORTION =SIMP(statut='o',typ='R' ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.mk.20-d",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), + 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',min=1,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 09/10/2002 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. +# ====================================================================== +DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,docu="U4.43.04-e",reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition d un diagramme de transformations en refroidissement continu d un acier", + HIST_EXP =FACT(statut='o',min=1,max='**', + VALE =SIMP(statut='o',typ='R',max='**'), + ), + TEMP_MS =FACT(statut='o',min=1,max='**', + SEUIL =SIMP(statut='o',typ='R'), + AKM =SIMP(statut='o',typ='R'), + BKM =SIMP(statut='o',typ='R'), + TPLM =SIMP(statut='o',typ='R'), + ), + GRAIN_AUST =FACT(statut='f',min=1,max='**', + DREF =SIMP(statut='f',typ='R'), + A =SIMP(statut='f',typ='R'), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 defi_valeur_prod(self,IS=None,R8=None,TX=None,C8=None,LS=None): + if IS != None : return entier + if R8 != None : return reel + if TX != None : return chaine + if C8 != None : return complexe + if LS != None : return liste + raise AsException("type de concept resultat non prevu") + +DEFI_VALEUR=MACRO(nom="DEFI_VALEUR",op=-4,sd_prod=defi_valeur_prod, + fr="Affectation d une valeur à une variable Superviseur", + docu="U4.31.04-f1",reentrant='f', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('IS','R8','TX','C8','LS'),), + IS =SIMP(statut='f',typ='I',max='**'), + R8 =SIMP(statut='f',typ='R',max='**'), + TX =SIMP(statut='f',typ='TXM',max='**'), + C8 =SIMP(statut='f',typ='C',max='**'), + LS =SIMP(statut='f',typ='L',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEFUFI=PROC(nom="DEFUFI",op=21,docu="U4.12.01-d", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Modification / ajout d une unité logique en sortie en complément de celles définies dans DEBUT", + IMPRESSION =FACT(statut='o',min=1,max='**', + NOM =SIMP(statut='o',typ='TXM',max='**'), + UNITE =SIMP(statut='o',typ='I' ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,docu="U4.62.02-e",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,max=1), + NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +DETRUIRE=PROC(nom="DETRUIRE",op=-7,docu="U4.14.01-d", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Destruction d un concept utilisateur dans la base GLOBALE", + op_init=ops.detruire, + CONCEPT =FACT(statut='o',min=01, + NOM =SIMP(statut='o',typ=assd,max='**'), + ), +); +#& MODIF COMMANDE DATE 13/01/2003 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. +# ====================================================================== +DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction,docu="U4.mk.30-d",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), + 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',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + LIST_ORDRE =SIMP(statut='f',typ=listis), + 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,max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,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 14/10/2002 AUTEUR BOYERE E.BOYERE +# 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_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", + docu="U4.53.22-d",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + BASE_MODALE =FACT(statut='o',min=1,max=1, + regles=(UN_PARMI('NUME_ORDRE','BANDE'),), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + BANDE =SIMP(statut='f',typ='R',max=2), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + b_bande =BLOC(condition = "BANDE != None", + AMOR_UNIF =SIMP(statut='o',typ='R' ), + ), + b_nume_ordre =BLOC(condition = "NUME_ORDRE != None", + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + ), + ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), + EXCIT =FACT(statut='o',min=1,max=1, + regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'), + EXCLUS('CHAM_NO','NOEUD'),), + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), + MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), +# dans la doc U il y a plus de choix pour GRANDEUR + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), + INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ), +# Toutes les regles ne semblent pas avoir été ecrites dans la doc U + NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**'), + NOEUD_I =SIMP(statut='f',typ=no,max='**'), + 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='**'), + ), + CHAM_NO =SIMP(statut='f',typ=cham_no), + NOEUD =SIMP(statut='f',typ=no,max='**'), + b_noeud =BLOC(condition = "NOEUD != None", + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + ), + ), + REPONSE =FACT(statut='f',min=1,max=1, + regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),), + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), + FREQ_MIN =SIMP(statut='f',typ='R' ), + FREQ_MAX =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + b_defaut_freq =BLOC(condition = "FREQ_MIN == NONE", + FREQ_EXCIT =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ), + NB_POIN_MODE =SIMP(statut='f',typ='I',defaut= 50 ), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 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 + 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", + docu="U4.53.11-e",reentrant='n', + 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'),), + MODELE =SIMP(statut='f',typ=modele ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), + MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c + ,matr_asse_gene_r,matr_asse_gene_c ) ), + MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8 ), + MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), + NOM_CHAM =SIMP(statut='f',typ='TXM',max=3,into=("DEPL","VITE","ACCE") ), + EXCIT =FACT(statut='o',min=1,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_pres_c,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 ), + COEF_MULT_C =SIMP(statut='f',typ='C' ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + COEF_MULT =SIMP(statut='f',typ='R' ), + PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), +) ; +# 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 09/10/2002 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_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, + fr="Réponse temporelle d un système à une excitation transitoire", + docu="U4.53.02-g1",reentrant='f', + UIinfo={"groupes":("Résolution",)}, +# regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),), + regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),), + MODELE =SIMP(statut='f',typ=modele ), + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), + NEWMARK =FACT(statut='f',min=1,max=1, + ALPHA =SIMP(statut='f',typ='R',defaut= 0.25 ), + DELTA =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + WILSON =FACT(statut='f',min=1,max=1, + THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), + ), + DIFF_CENTRE =FACT(statut='f',min=1,max=1, + ), + ADAPT =FACT(statut='f',min=1,max=1, + ), + ETAT_INIT =FACT(statut='f',min=1,max=1, + regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT',), + PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT'),), + DYNA_TRANS =SIMP(statut='f',typ=dyna_trans ), + b_dyna_trans =BLOC(condition = "DYNA_TRANS != None", + regles=(EXCLUS('NUME_INIT','INST_INIT' ),), + NUME_INIT =SIMP(statut='f',typ='I' ), + INST_INIT =SIMP(statut='f',typ='R' ), + b_inst_init =BLOC(condition = "INST_INIT != None", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + 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) ), + ), + EXCIT =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('CHARGE','VECT_ASSE'), + EXCLUS('CHARGE','COEF_MULT'), + EXCLUS('FONC_MULT','COEF_MULT'), + EXCLUS('ACCE','COEF_MULT'), + PRESENT_ABSENT('ACCE','FONC_MULT'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),), + VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), + CHARGE =SIMP(statut='f',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + COEF_MULT =SIMP(statut='f',typ='R' ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ACCE =SIMP(statut='f',typ=fonction ), + VITE =SIMP(statut='f',typ=fonction ), + DEPL =SIMP(statut='f',typ=fonction ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + ), + AMOR_MODAL =FACT(statut='f',min=1,max=1, + 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="NON",into=("OUI","NON") ), + ), +# ce n est pas le mot clesolveur standard + SOLVEUR =FACT(statut='d',min=1,max=1, + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + 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 ), + ), + INCREMENT =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),), + LIST_INST =SIMP(statut='f',typ=listr8 ), + FONC_INST =SIMP(statut='f',typ=fonction ), + 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' ), + ), + 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' ), + ), + VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), + COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), + COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.33334 ), + PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), + NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), + PAS_CALCUL =SIMP(statut='f',typ='I',defaut= 1 ), + ), + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),), + LIST_ARCH =SIMP(statut='f',typ=listis ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","VITE","ACCE") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 31/01/2003 AUTEUR PBADEL P.BADEL +# 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_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', + fr="Analyse mécanique dynamique non linéaire",docu="U4.53.01-f2", + UIinfo={"groupes":("Résolution",)}, + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',), + UN_PARMI('NEWMARK','HHT', ),), + MODELE =SIMP(statut='o',typ=modele), + 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',min=1,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), + DEPL =SIMP(statut='f',typ=fonction), + ACCE =SIMP(statut='f',typ=fonction), + VITE =SIMP(statut='f',typ=fonction), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + ), + AMOR_MODAL =FACT(statut='f',min=1,max=1, + 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") ), + ), + VARI_COMM =FACT(statut='f', + regles=(AU_MOINS_UN('IRRA',),), + IRRA =SIMP(statut='f',typ=evol_varc), + ), + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',min=1,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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), +#------------------------------------------------------------------- + ETAT_INIT =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8), + 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='f',min=1,max=1, + ALPHA =SIMP(statut='f',typ='R',defaut= 0.25), + DELTA =SIMP(statut='f',typ='R',defaut= 0.5), + ), + HHT =FACT(statut='f',min=1,max=1, + ALPHA =SIMP(statut='f',typ='R' + ,defaut= -0.29999999999999999 ), + ), + NEWTON =FACT(statut='d',min=1,max=1, + 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), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), + ), + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), +#------------------------------------------------------------------- + RECH_LINEAIRE =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), + ), + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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 ), + TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), +#------------------------------------------------------------------- + OPTION =SIMP(statut='f',typ='TXM',max='**',defaut="ELNO", + into=("SIEF_ELNO_ELGA","VARI_ELNO_ELGA","EFGE_ELNO_CART","ELNO","SANS") ), + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), + EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), + LIST_INST =SIMP(statut='f',typ=(listr8) ), + INST =SIMP(statut='f',typ='R',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',max='**', + into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")), + ), + OBSERVATION =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',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), + LIST_INST =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',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,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + POINT =SIMP(statut='f',typ='I',max='**'), + ), +#------------------------------------------------------------------- + SOLV_NON_LOCAL =FACT(statut='f',min=1,max=1, + 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","SANS","DIAG") ), + 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',max=1, + 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 09/10/2002 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_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp, + fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire", + docu="U4.53.23-c",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu ), + EXCIT =FACT(statut='o',max=1, + INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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", + docu="U4.53.21-f1",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 ), + 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',min=1,max=1, + 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',min=1,max='**', + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='o',typ='R' ), + PAS =SIMP(statut='f',typ='R' ), + VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), + COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), + COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), + PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6 ), + NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), + NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), + ), + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),), + LIST_ARCH =SIMP(statut='f',typ=listis ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + ), + + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 20 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + LAMBDA =SIMP(statut='f',typ='R',defaut= 10. ), + + EXCIT =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'), + PRESENT_ABSENT('NUME_MODE','VECT_GENE','COEF_MULT'), + 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 ), + NUME_MODE =SIMP(statut='f',typ='I' ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ACCE =SIMP(statut='f',typ=fonction ), + VITE =SIMP(statut='f',typ=fonction ), + DEPL =SIMP(statut='f',typ=fonction ), + MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), + DIRECTION =SIMP(statut='f',typ='R',max='**'), + b_loca =BLOC(condition= "DIRECTION != None", + regles=(EXCLUS('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + ), + CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + D_FONC_DT =SIMP(statut='f',typ=fonction ), + D_FONC_DT2 =SIMP(statut='f',typ=fonction ), + ), + CHOC =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ), + PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), + PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), + INTITULE =SIMP(statut='f',typ='TXM' ), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=obstacle ), + ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), + NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), + SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), + SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + AMOR_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + + LAME_FLUIDE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_lame =BLOC(condition="LAME_FLUIDE=='OUI'", + ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + CHI =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DELTA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ), + VERI_CHOC =FACT(statut='f',min=1,max='**', + STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + FLAMBAGE =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), + PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), + PRESENT_ABSENT('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), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + OBSTACLE =SIMP(statut='o',typ=obstacle ), + ORIG_OBST =SIMP(statut='f',typ='R',max='**'), + NORM_OBST =SIMP(statut='o',typ='R',max='**'), + ANGL_VRIL =SIMP(statut='f',typ='R' ), + JEU =SIMP(statut='f',typ='R',defaut= 1. ), + DIST_1 =SIMP(statut='f',typ='R' ), + DIST_2 =SIMP(statut='f',typ='R' ), + REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), + RIGI_NOR =SIMP(statut='f',typ='R' ), + FNOR_CRIT =SIMP(statut='f',typ='R' ), + FNOR_POST_FL =SIMP(statut='f',typ='R' ), + RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), + ), + ANTI_SISM =FACT(statut='f',min=1,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'),), + NOEUD_1 =SIMP(statut='f',typ=no), + NOEUD_2 =SIMP(statut='f',typ=no), + GROUP_NO_1 =SIMP(statut='f',typ=grno), + GROUP_NO_2 =SIMP(statut='f',typ=grno), + RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), + ), + RELA_EFFO_DEPL =FACT(statut='f',min=1,max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=fonction ), + ), + RELA_TRANSIS =FACT(statut='f',min=1,max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=fonction ), + ), + RELA_EFFO_VITE =FACT(statut='f',min=1,max='**', + NOEUD =SIMP(statut='o',typ=no), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + NOM_CMP =SIMP(statut='f',typ='TXM' ), + RELATION =SIMP(statut='o',typ=fonction ), + ), + b_itmi =BLOC(condition = "METHODE=='ITMI'", + regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), + CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + NB_MODE =SIMP(statut='f',typ='I' ), + NB_MODE_FLUI =SIMP(statut='f',typ='I' ), + NB_MODE_DIAG =SIMP(statut='f',typ='I' ), + TS_REG_ETAB =SIMP(statut='f',typ='R' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + IMPRESSION =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('TOUT','NIVEAU'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='f',typ='R' ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + ) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,docu="U4.92.11-b", + UIinfo={"groupes":("Impression",)}, + regles=(UN_PARMI('TOUT','CO'),), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + CO =SIMP(statut='f',typ=assd,max='**'), + TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5"), + PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-5"), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",docu="U7.00.01-a", + UIinfo={"groupes":("Impression",)}, + LOGICIEL =SIMP(statut='f',typ='TXM' ), + ARGUMENT =FACT(statut='f',min=1,max='**', + NOM_PARA =SIMP(statut='f',typ='TXM' ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 extr_mode_prod(FILTRE_MODE,**args): + vale=FILTRE_MODE[0]['MODE'] + if AsType(vale) == mode_meca : return mode_meca + if AsType(vale) == mode_meca_c : return mode_meca_c + if AsType(vale) == mode_gene : return mode_gene + raise AsException("type de concept resultat non prevu") + +EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, + docu="U4.52.12-c",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + FILTRE_MODE =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),), + MODE =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NUME_MODE_EXCLU =SIMP(statut='f',typ='I',max='**'), + FREQ_MIN =SIMP(statut='f',typ='R' ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ), + b_freq_min =BLOC(condition = "FREQ_MIN != None", + FREQ_MAX =SIMP(statut='o',typ='R' ), + 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 ), + ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + IMPRESSION =FACT(statut='f',min=1,max=1, + CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +def extr_resu_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) == acou_harmo : return acou_harmo + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_acou : return mode_acou + if AsType(RESULTAT) == mode_stat : return mode_stat + if AsType(mode_stat) == mode_stat_depl : return mode_stat_depl + if AsType(mode_stat) == mode_stat_acce : return mode_stat_acce + if AsType(mode_stat) == mode_stat_forc : return mode_stat_forc + if AsType(RESULTAT) == mult_elas : return mult_elas + if AsType(RESULTAT) == fourier_elas : return fourier_elas + raise AsException("type de concept resultat non prevu") + +EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,docu="U4.71.04-c2",reentrant='f', + UIinfo={"groupes":("Résultats et champs",)}, + 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 ) ), + + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=( UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE', + 'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE', + 'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ), + EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ), ), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',max='**'), + NOM_CHAM =SIMP(statut='f',typ='TXM',max='**'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),defaut="RELATIF"), + LIST_ARCH =SIMP(statut='f',typ=listis), + PAS_ARCH =SIMP(statut='f',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 fact_grad_prod(MATR_ASSE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r + if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r + if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r + raise AsException("type de concept resultat non prevu") + +FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,docu="U4.55.03-e", + UIinfo={"groupes":("Résolution",)}, + fr="Préconditionnement pour résolution par gradient conjugué", + reentrant='n', + MATR_ASSE =SIMP(statut='o', + typ=(matr_asse_depl_r,matr_asse_temp_r, + matr_asse_pres_r) ), + PRE_COND =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +FACT_INTE_SPEC=OPER(nom="FACT_INTE_SPEC",op= 117,sd_prod=interspfact, + fr="Factorisation d une matrice interspectrale hermitienne", + docu="U4.36.04-e",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(ENSEMBLE('FREQ_FIN','NB_POIN'),), +# regle non indiquée dans la doc U + INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + FREQ_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + FREQ_FIN =SIMP(statut='f',typ='R' ), + NB_POIN =SIMP(statut='f',typ='I',defaut= 0 ), + SUR_ECHAN =SIMP(statut='f',typ='R',defaut= 1. ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def fact_ldlt_prod(MATR_ASSE,**args): + if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r + if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c + if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r + if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c + if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r + 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", + docu="U4.55.01-f",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), + EXCLUS('BLOC_FIN','DDL_FIN'),), + MATR_ASSE =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) ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + NPREC =SIMP(statut='f',typ='I',defaut=8,val_min=0,), + PRE_COND =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ), + BLOC_DEBUT =SIMP(statut='f',typ='I',val_min=1,), + DDL_DEBUT =SIMP(statut='f',typ='I',val_min=1,), + BLOC_FIN =SIMP(statut='f',typ='I',val_min=1,), + DDL_FIN =SIMP(statut='f',typ='I',val_min=1,), +# + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), +# + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# NEW 5.3.23 +FERMER=PROC(nom="FERMER",op= 10,fr=" ", + docu="U4.12.02-a", + UIinfo={"groupes":("Gestion du travail",)}, + UNITE =SIMP(statut='o',typ='I',max='**' ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude", + docu="U4.11.02-f", + UIinfo={"groupes":("Gestion du travail",)}, + RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE", + statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + PERFORMANCE =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ", + statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données", + statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), + FICHIER =SIMP(statut='f',typ='TXM',defaut="MESSAGE"), +) ; +#& MODIF COMMANDE DATE 15/10/2002 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. +# ====================================================================== +FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction, + docu="U4.35.02-c",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), +) ; +#& MODIF COMMANDE DATE 20/01/2003 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. +# ====================================================================== +FORMULE = FORM( nom='FORMULE',op=ops.build_formule,sd_prod=fonction, + fr="Définition d une fonction",reentrant = 'n', + regles=(UN_PARMI('REEL','ENTIER','COMPLEXE'),), + REEL = SIMP(typ = 'shell',max=1), + ENTIER = SIMP(typ = 'shell',max=1), + COMPLEXE = SIMP(typ = 'shell',max=1), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=tabl_fonc, + fr="Génération de la fonction temporelle à partir d une matrice interspectrale factorisée", + docu="U4.36.05-e",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + INTE_SPEC_FACT =SIMP(statut='o',typ=interspfact ), + INIT_ALEA =SIMP(statut='f',typ='I',defaut= 12312745 ), + NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ), + NB_POIN =SIMP(statut='f',typ='I' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27,sd_prod=matr_asse_gene_r, + fr="Generateur de matrice aleatoire", + docu="U4.36.06",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + MATR_MOYEN = SIMP(statut='o', typ=matr_asse_gene_r), + DELTA = SIMP(statut='f', typ='R', defaut=0.1), + INIT = SIMP(statut='f', typ='TXM', into=("OUI","NON"),defaut="NON"), +) ; + +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op= 28,sd_prod=table, + fr="Generateur de variable aleatoire", + docu="U4.36.07",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="EXP_TRONQUEE"), + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + DELTA = SIMP(statut='f', typ='R', defaut=0.1), + A = SIMP(statut='f', typ='R', defaut=-1.), + B = SIMP(statut='f', typ='R', defaut=1.), + INIT = SIMP(statut='f', typ='TXM', into=("OUI","NON"),defaut="NON"), +) ; + +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158, + fr="Impression des charges mécaniques de type ddl imposés et relations linéaires entre les ddl", + docu="U7.04.31-c", + UIinfo={"groupes":("Fonction",)}, + FICHIER =SIMP(statut='f',typ='TXM' ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + CHARGE =SIMP(statut='o',typ=char_meca,max='**', ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,docu="U7.04.21-a", + UIinfo={"groupes":("Fonction",)}, + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ', + 'LIST_ORDRE' ),), + UNITE_CLASSI =SIMP(statut='o',typ='I' ), + MODE_MECA =SIMP(statut='o',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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", + into=("RELATIF","ABSOLU") ), + ), + IMPRESSION =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO', ),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + AMOR =SIMP(statut='o',typ='R',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +IMPR_CO=PROC(nom="IMPR_CO",op=17,docu="U4.91.11-f", + UIinfo={"groupes":("Impression",)}, + fr="Impression du contenu d un concept utilisateur (pour développeur)", + regles=(UN_PARMI('CO','CHAINE', ),), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(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,max='**'), + CHAINE =SIMP(statut='f',typ='TXM'), + POSITION =SIMP(statut='f',typ='I',defaut=1), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE MCOURTOI M.COURTOIS +IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers", + docu="U4.33.01-e2", + UIinfo={"groupes":("Fonction",)}, + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + FORMAT =SIMP(statut='f',typ='TXM',position='global' + ,into=("AGRAF","EXCEL","POSTSCRIPT","RESULTAT","COMMANDE","SEISME") ), + b_agraf_post =BLOC(condition = "(FORMAT=='AGRAF') or (FORMAT=='POSTSCRIPT')",fr="Mots-clés communs AGRAF et POSTCRIPT", + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2,fr="Intervalles de variation des abcisses"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),fr="Type d'échelle pour les abcisses" ), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2,fr="Intervalles de variation des ordonnées"), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),fr="Type d'échelle pour les ordonnées" ), + ), + b_agraf =BLOC(condition = "(FORMAT=='AGRAF')",fr="Mots-clés propres à AGRAF", + TITRE_GRAPHIQUE =SIMP(statut='f',typ='TXM',fr="Titre associé au graphique" ), + COMMENTAIRE =SIMP(statut='f',typ='TXM',max='**',fr="Commentaires associés au graphique"), + LEGENDE_X =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des abcisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des ordonnées" ), + FREQ_GRILLE_X =SIMP(statut='f',typ='I',defaut= 0,fr="Fréquence de tracage du quadrillage vertical" ), + FREQ_GRILLE_Y =SIMP(statut='f',typ='I',defaut= 0,fr="Fréquence de tracage du quadrillage horizontal" ), + ), + b_excel = BLOC(condition = "(FORMAT=='EXCEL')",fr="Mots-clés propres au format Excel", + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2,fr="Intervalles de variation des abcisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2,fr="Intervalles de variation des ordonnées"), + ), + b_post = BLOC ( condition = "(FORMAT=='POSTSCRIPT')",fr="Mots-clés propres à POSTCRIPT", + TITRE =SIMP(statut='f',typ='TXM',fr="Titre associé au graphique" ), + LABEL_X =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des abcisses" ), + LABEL_Y =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des ordonnées" ), + SORTIE =SIMP(statut='f',typ='TXM',defaut="COULEUR",into=("MONOCHROME","COULEUR"),fr="Type d impression" ), + DATE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de la date" ), + GRILLE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression du quadrillage" ), + AXE_ZERO_X =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de l axe x égal zéro" ), + AXE_ZERO_Y =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de l axe y égal zéro" ), + PRESENTATION =SIMP(statut='f',typ='TXM',defaut="PAYSAGE",into=("PAYSAGE","PORTRAIT"), + fr="Disposition du graphique sur la feuille" ), + FENETRE =SIMP(statut='f',typ='TXM',defaut="RECTANGLE",into=("CARREE","RECTANGLE"), + fr="Forme de la fenetre contenant le graphique" ), + ), + COURBE =FACT(statut='o',min=1,max='**',fr="Définition de la courbe à tracer", + regles=(UN_PARMI('FONCTION','LIST_RESU','TABLE','FONC_X','RESU_GENE'),), + FONCTION =SIMP(statut='f',typ=(fonction, fonction_c), + fr="Fonction réelle ou complexe", ), + LIST_RESU =SIMP(statut='f',typ=listr8, + fr="Liste des ordonnees d une fonction réelle définie par deux listes", ), +# creer le type table + TABLE =SIMP(statut='f',typ=table, + fr="Nom de la table dont 2 colonnes définissent la fonction",), + FONC_X =SIMP(statut='f',typ=fonction, + fr="Fonction abscisses d une fonction paramétrique",), + RESU_GENE =SIMP(statut='f',typ=tran_gene, ), + b_fonction =BLOC(condition = "FONCTION != None", + LIST_PARA =SIMP(statut='f',typ=listr8 ), + ), + 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 ), + ), + b_table =BLOC(condition = "TABLE != None", + PARA_X =SIMP(statut='o',typ='TXM', + fr="Paramètre de la table associé aux abcisses de la fonction à tracer" ), + PARA_Y =SIMP(statut='o',typ='TXM', + fr="Paramètre de la table associé aux ordonnées de la fonction à tracer" ), + ), + b_fonc_x =BLOC(condition = "FONC_X != None", + FONC_Y =SIMP(statut='o',typ=fonction,fr="Fonction ordonnées d une fonction paramétrique" ), + PARA =SIMP(statut='f',typ='TXM',defaut="FONC_X",into=("FONC_X","FONC_Y"), + fr="Permutation des roles des deux fonctions" ), + LIST_PARA =SIMP(statut='f',typ=listr8 ), + ), + b_resu_gene =BLOC(condition = "RESU_GENE != None", + regles=(UN_PARMI('NOEUD_CHOC','GROUP_NO_CHOC'),), + NOEUD_CHOC =SIMP(statut='f',typ=no), + GROUP_NO_CHOC =SIMP(statut='f',typ=grno), + PARA_X =SIMP(statut='o',typ='TXM'), + PARA_Y =SIMP(statut='o',typ='TXM'), + LIST_PARA =SIMP(statut='f',typ=listr8 ), + SOUS_STRUC =SIMP(statut='f',typ='TXM' ), + INTITULE =SIMP(statut='f',typ='TXM' ), + ), + + + LEGENDE =SIMP(statut='f',typ='TXM',fr="Légende associée à la courbe" ), + STYLE =SIMP(statut='f',typ='TXM',defaut="LIGNE",fr="Style de la ligne représentant la courbe", + into=("LIGNE","POINTILLE","POINT","POINT_RELIE") ), + COULEUR =SIMP(statut='f',typ='TXM',fr="Couleur associée à la courbe", + into=("NOIR","ROUGE","VERT_FONCE","BLEU", + "MAGENTA","CYAN","VERT","SIENNE","ORANGE", + "POURPRE","JAUNE","DAIM","TURQUOISE","VIOLET", + "BRUN","CORAIL","MARRON","MAUVE","MARRON_CLAIR") ), + MARQUEUR =SIMP(statut='f',typ='TXM',fr="Type du marqueur associé à la courbe", + into=("POINT_F","CARRE_F","TRIANGLE_F", + "LOSANGE_F","ETOILE_F","FUSEE_F","POINT", + "CARRE","TRIANGLE","LOSANGE","ETOILE","FUSEE", + "PLUS","X","CERCLE","CERCLE_P","CARRE_P", + "LOSANGE_P","CERCLE_P_X","LOSANGE_P_X", + "CERCLE_X","CARRE_X","LOSANGE_X") ), + b_agraf =BLOC(condition = "(FORMAT=='AGRAF')",fr="Mots-clés propres à AGRAF", + TRI =SIMP(statut='f',typ='TXM',defaut="N", + fr="Choix du tri effectué sur les abcisses ou sur les ordonnées", + into=("N","X","Y","XY","YX") ), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut= 0, + fr="Fréquence d impression du marqueur associé à la courbe", ), + ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS +IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", + 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. LE REPERTOIRE OU AURA LIEU LE CALCUL HOMARD +# + REP =SIMP(statut='f',typ='TXM'), +# +# 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. L'UNITE LOGIQUE D'ECRITURE DU FICHIER DE CONFIGURATION HOMARD +# + UNITE =SIMP(statut='f',typ='I',defaut= 71 ), +# +# 5. LE TYPE DE TRAITEMENT : +# + TRAITEMENT =FACT(statut='o',min=1,max=1, +# +# 5.1. QUATRE CHOIX EXCLUSIFS : +# +# 5.1.1. +# 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 +# D. MISE A JOUR DE SOLUTIONS +# + regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION','MAJSOLUTION'),), + 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="Adaptation libre", + ang="Free adaptation", + into=("OUI",) ), + MAJSOLUTION =SIMP(statut='f',typ='TXM', + fr="Mise à jour de solutions", + ang="Solution updating", + into=("OUI",) ), +# +# 5.1.2. LES CONTRAINTES : +# +# 5.1.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 +# +# 5.1.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 +# +# 5.1.2.3. POUR DE LA MISE A JOUR DE SOLUTION : +# IL FAUT : +# A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART +# B. 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 +# +# +# 5.1.2.4. 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 ) or \ + ( MAJSOLUTION != 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_maj_champ =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) or \ + ( MAJSOLUTION != None ) ", + fr="Nom MED du maillage en sortie, numero d'iteration et mise à jour de champs", + ang="MED name of the out-mesh, iteration rank and field updating", + NITER =SIMP(statut='o',typ='I', + fr="Numéro d'itération.", + ang="Iteration number." ), + NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM', + fr="Nom MED du maillage en sortie", + ang="MED name of the out-mesh" ), + MAJ_CHAM =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + fr="Mise à jour de champs", + ang="Field updating" ), + ) , +# + b_indicateur_d_erreur =BLOC(condition = "ADAPTATION != None", + fr="Indicateur d'erreur", + ang="Error indicator", + regles=(AU_MOINS_UN('NUMORD_INDICA','NOM_RESU_INDICA'), + EXCLUS('NUMORD_INDICA','NOM_RESU_INDICA'), + PRESENT_PRESENT('NUMORD_INDICA','NUMPT_INDICA'), + PRESENT_PRESENT('NOM_RESU_INDICA','NOM_CHAM_INDICA'),), + NOM_MED_INDICA =SIMP(statut='o',typ='TXM', + fr="Nom MED de l'indicateur d'erreur.", + ang="MED name of error indicator.",), + NOM_CMP_INDICA =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.",), + NUMORD_INDICA =SIMP(statut='f',typ='I', + fr="Numero d'ordre de l'indicateur.", + ang="Rank number of the error indicator.",), + NUMPT_INDICA =SIMP(statut='f',typ='I', + fr="Numero du pas de temps de l'indicateur.", + ang="Time step number of the error indicator.",), + NOM_RESU_INDICA =SIMP(statut='f',typ='TXM', + fr="Concept contenant l'indicateur.", + ang="Conceipt wich contains the error indicator.",), + NOM_CHAM_INDICA =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' )" , + fr="Niveau maximum de profondeur de raffinement", + ang="Maximum level for refinement", + NIVE_MAX =SIMP(statut='f',typ='I' ), + ) , +# + b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \ + ( UNIFORME == 'DERAFFINEMENT' )" , + fr="Niveau minimum de déraffinement", + ang="Minimum level for unrefinement", + NIVE_MIN =SIMP(statut='f',typ='I' ), + ) , +# + ), +# +# 6. L'ANALYSE DU MAILLAGE +# + ANALYSE =FACT(statut='f',min=1,max=1, + fr="Analyse du maillage.", + ang="Mesh analysis.", +# +# 6.1. 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 09/10/2002 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. +# ====================================================================== +IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, + fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire", + docu="U4.91.02-c", + UIinfo={"groupes":("Impression",)}, + GENE =FACT(statut='o',min=1,max='**', + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'), + EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'), + EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE', + 'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'), + EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'), + 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, tran_gene, mode_gene, harm_gene)), + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), + FICHIER =SIMP(statut='f',typ='TXM' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8 ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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", + 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") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',max='**'), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-f", + UIinfo={"groupes":("Impression",)}, + fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)", + ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM', + into=("DISQUE","MEMOIRE","REPERTOIRE", + "OBJET","ATTRIBUT","SYSTEME") ), + b_objet =BLOC(condition = "(ENTITE=='OBJET')", + NOMOBJ =SIMP(fr="nom d'objet",statut='f',typ='TXM' ), + NUMOC =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ), + NOMOC =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ), + ), + b_attribut =BLOC(condition = "(ENTITE=='ATTRIBUT')", + NOMOBJ =SIMP(fr="nom de collection",statut='f',typ='TXM' ), + NOMATR =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM', + into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG', + '$$LONO','$$LUTI','$$NUM') ), + ), + b_systeme =BLOC(condition = "(ENTITE=='SYSTEME')", + CLASSE =SIMP(statut='o',typ='TXM',into=('G','V','L') ), + NOMATR =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM', + into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$ETAT', + '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG', + '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX', + '$$TLEC','$$TECR','$$IADM','$$ACCE') ), + ), + b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')", + CLASSE =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '), + ), + b_disque =BLOC(condition = "(ENTITE=='DISQUE')", + CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '), + ), + IMPRESSION =FACT(statut='f',min=1,max=1, + NOM =SIMP(statut='f',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I'), + ), + COMMENTAIRE =SIMP(statut='f',typ='TXM' ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, + docu="U7.04.33-d1", + UIinfo={"groupes":("Impression",)}, + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + FICHIER =SIMP(statut='f',typ='TXM' ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", + into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ), + b_ideas =BLOC(condition = "FORMAT == 'PLEXUS'", + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + ), + b_plexus =BLOC(condition = "FORMAT == 'IDEAS'", + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + ), + b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'", + UNITE =SIMP(statut='f',typ='I',defaut= 26 ), + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), + GROUP_MA_INTERF =SIMP(statut='o',typ=grma,max='**'), +# Ces trois mots cles sont-ils dans le bon bloc et avec le bon statut + GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'), + IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_cadyro =BLOC(condition = "FORMAT == 'CADYRO'", + SQUELETTE =SIMP(statut='f',typ=squelette ), + UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ), + UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 28 ), + IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159, + fr="Impression des matrices élémentaires et des matrices assemblées", + docu="U7.04.32-c", + UIinfo={"groupes":("Impression",)}, + regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),), + + MATR_ELEM =FACT(statut='f',min=1,max='**', + FICHIER =SIMP(statut='f',typ='TXM' ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", + into=("IDEAS","RESULTAT") ), + b_format =BLOC(condition = "FORMAT == 'IDEAS'", + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + ), +# créer les types matr_elem et vect_elem + MATRICE =SIMP(statut='o',typ=(matr_elem, vect_elem)), +# Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + GRAIN =SIMP(statut='f',typ='TXM',defaut="VALEUR", + into=("VALEUR","NOEUD","MAILLE") ), + NB_CHIFFRE =SIMP(statut='f',typ='I',defaut= 4 ), + ), + MATR_ASSE =FACT(statut='f',min=1,max='**', + FICHIER =SIMP(statut='f',typ='TXM' ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", + into=("IDEAS","RESULTAT") ), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), +# créer le type matr_elem + MATRICE =SIMP(statut='o',typ=matr_asse), +# Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE", + into=("SOUS_MATRICE","LIGNE","COLONNE") ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + GRAIN =SIMP(statut='f',typ='TXM',defaut="VALEUR", + into=("VALEUR","NOEUD") ), + NB_CHIFFRE =SIMP(statut='f',typ='I',defaut= 4 ), + VALE_ZERO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162, + docu="U7.04.11-c", + UIinfo={"groupes":("Impression",)}, + 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',min=1,max='**', + regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),), + VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + COEF_MULT =SIMP(statut='f',typ='R' ), + ), + EXCIT_SOL =FACT(statut='f',min=1,max='**', + DIRECTION =SIMP(statut='o',typ='R',max='**'), + FONC_SIGNAL =SIMP(statut='f',typ=fonction ), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","VITE","ACCE","FORC",) ), + ), + INST_INIT =SIMP(statut='f',typ='R' ), + INST_FIN =SIMP(statut='f',typ='R' ), + FREQ_INIT =SIMP(statut='f',typ='R' ), + FREQ_FIN =SIMP(statut='f',typ='R' ), + PAS =SIMP(statut='o',typ='R' ), + UNITE =SIMP(statut='f',typ='I',defaut= 26 ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/12/2002 AUTEUR PABHHHH N.TARDIEU +# 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. +# ====================================================================== +IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", + UIinfo={"groupes":("Impression",)}, + fr="Impression du résultat d un calcul (différents formats)", + MODELE =SIMP(statut='f',typ=modele), + RESU =FACT(statut='o',min=1,max='**', + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","GMSH") ), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="version post traitement de GMSH", + VERSION =SIMP(statut='f',typ='R',defaut=1.0,into=(1.0,1.2)), + ), + + regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'), + EXCLUS('CHAM_GD','RESULTAT'),), + MAILLAGE =SIMP(statut='f',typ=(maillage,squelette)), + INFO_MAILLAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + CHAM_GD =SIMP(statut='f',typ=cham_gd), + RESULTAT =SIMP(statut='f',typ=resultat),# CO() sd a creer !!! + + 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),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"),), + + b_extrac =BLOC(condition="RESULTAT != None", + fr="extraction d un champ de grandeur", + regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'), + EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', + 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),), + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), + NOM_CHAM =SIMP(statut='f',typ='TXM',max='**'), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), + ANGL =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + + b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + + b_parametres =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""", + regles=(EXCLUS('TOUT_PARA','NOM_PARA'),), + INFO_RESU =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + FORM_TABL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ), + ), + + b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ + ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'ENSIGHT')or(FORMAT == 'MED'))""", + fr="sélection des composantes", + regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), + TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + ), + + b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""", + fr="sélection des composantes et des entités toplogiques", + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ), + + b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ + ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", + fr="sélection des entités toplogiques", + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ), + + b_valeurs =BLOC(condition="(FORMAT == 'RESULTAT')", + fr="sélection sur les valeurs", + VALE_MAX =SIMP(statut='f',typ='TXM',into=("OUI",) ), + VALE_MIN =SIMP(statut='f',typ='TXM',into=("OUI",) ), + BORNE_SUP =SIMP(statut='f',typ='R'), + BORNE_INF =SIMP(statut='f',typ='R'), + IMPR_COOR =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5"), + ), + + SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), + FICHIER =SIMP(statut='f',typ='TXM'), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné", + docu="U4.52.01-f", + UIinfo={"groupes":("Résolution",)}, + MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), + MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"), + fr="Type d analyse" ), + b_dynamique =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + fr="Recheche du nombre de fréquences propres", + FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ), + FREQ_MAX =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ), + ), + b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", + fr="Recherche du nombre de charges critiques", + CHAR_CRIT_MIN =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ), + CHAR_CRIT_MAX =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ), + ), + NPREC_SOLVEUR =SIMP(statut='f',typ='I',defaut= 8 ), + NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + 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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +IMPR_TABLE=PROC(nom="IMPR_TABLE",op=155,docu="U4.91.03-d2", + UIinfo={"groupes":("Impression",)}, + fr="Impression d un concept de type table", + TABLE =SIMP(statut='o',typ=table), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT", ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL", + into=("EXCEL","AGRAF","MOT_CLE","TABLEAU","ASTER") ), + 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 ), + ), + TRI =FACT(statut='f',min=1,max=1, + NOM_PARA =SIMP(statut='o',typ='TXM',max='**'), + ORDRE =SIMP(statut='f',typ='TXM',max='**',defaut="CROISSANT", + into=("CROISSANT","DECROISSANT") ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + PAGINATION =SIMP(statut='f',typ='TXM',max='**'), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5"), + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE", + into=("MODULE_PHASE","REEL_IMAG") ), + NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",)), + IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), +) ; +#& MODIF COMMANDE DATE 20/01/2003 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. +# ====================================================================== +INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,docu="U4.13.01-e", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Débranchement vers un fichier de commandes secondaires", + sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1, + UNITE = SIMP(statut='o',typ='I'), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +); +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,docu="U4.43.02-a", + UIinfo={"groupes":("Modélisation",)}, + fr=" ", + 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") ), + VARIANTE =SIMP(statut='o',typ='TXM', + into=("A","B","C","D","E","F","G","H","I","J", + "K","L","M","N","O","P","Q","R","S","T","U","V", + "W","X","Y","Z",) ), + TYPE_VALE =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ), + NOM_MATER =SIMP(statut='o',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I',defaut= 32 ), + EXTRACTION =FACT(statut='f',min=1,max=99, + COMPOR =SIMP(statut='o',typ='TXM' ), + TEMP_EVAL =SIMP(statut='o',typ='R' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 AUTEUR D6BHHJP J.P.LEFEBVRE +# 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 D6BHHJP J.P.LEFEBVRE +INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table, + fr="Récupère différentes informations propres à l'exécution en cours", + docu="U4.00.00-a1",reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + + regles=(), + LISTE_INFO =SIMP(statut='o',typ='TXM',max='**', + into=("CPU_RESTANT","CPU",),), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe,docu="U4.81.11-e", + UIinfo={"groupes":("Post traitements",)}, + fr="Définition d une courbe sur un maillage 2D",reentrant='n', + + MAILLAGE =SIMP(statut='o',typ=(maillage) ), + + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), + AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'), + PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'), + PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'), + PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'), + EXCLUS('DEFI_CHEMIN','DEFI_ARC'),), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + + DEFI_SEGMENT =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_EXTR =SIMP(statut='f',typ=no,max=1), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,max=1), + ), + + DEFI_ARC =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), + UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'), + PRESENT_PRESENT('RAYON','SECTEUR'),), + CENTRE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,max=1), + RAYON =SIMP(statut='f',typ='R',max=1,val_min=0.E+0), + SECTEUR =SIMP(statut='f',typ='R',min=2,max=2, + val_min=-180.E+0,val_max=180E+0), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), + NOEUD_EXTR =SIMP(statut='f',typ=no,max=1), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,max=1), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", + into=("RELATIF","ABSOLU",) ), + ), + + DEFI_CHEMIN =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + ), + + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface,docu="U4.81.12-e", + UIinfo={"groupes":("Post traitements",)}, + fr="Définition d un chemin sur un maillage 3D",reentrant='n', + MAILLAGE =SIMP(statut='o',typ=maillage), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + DEFI_SEGMENT =FACT(statut='o',min=1,max='**', + regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), + UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), + ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + EXTREMITE =SIMP(statut='f',typ='R',min=3,max=3), + NOEUD_EXTR =SIMP(statut='f',typ=no,max=1), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,max=1), + ), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 24/02/2003 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 lire_champ_prod(TYPE_CHAM=None,**args): + if TYPE_CHAM == "NOEU_DBEL_R" : return cham_no_dbel_r + if TYPE_CHAM == "NOEU_DEPL_C" : return cham_no_depl_c + if TYPE_CHAM == "NOEU_DEPL_F" : return cham_no_depl_f + if TYPE_CHAM == "NOEU_DEPL_R" : return cham_no_depl_r + if TYPE_CHAM == "NOEU_DURT_R" : return cham_no_durt_r + if TYPE_CHAM == "NOEU_ENER_R" : return cham_no_ener_r + if TYPE_CHAM == "NOEU_EPSI_R" : return cham_no_epsi_r + if TYPE_CHAM == "NOEU_ERREUR" : return cham_no_erreur + if TYPE_CHAM == "NOEU_FLUX_R" : return cham_no_flux_r + if TYPE_CHAM == "NOEU_GEOM_R" : return cham_no_geom_r + if TYPE_CHAM == "NOEU_G_DEPL_R" : return cham_no_g_depl_r + if TYPE_CHAM == "NOEU_HYDR_R" : return cham_no_hydr_r + if TYPE_CHAM == "NOEU_INST_R" : return cham_no_inst_r + if TYPE_CHAM == "NOEU_INTE_R" : return cham_no_inte_r + if TYPE_CHAM == "NOEU_META_R" : return cham_no_meta_r + if TYPE_CHAM == "NOEU_NEUT_F" : return cham_no_neut_f + if TYPE_CHAM == "NOEU_NEUT_R" : return cham_no_neut_r + if TYPE_CHAM == "NOEU_PRES_R" : return cham_no_pres_r + if TYPE_CHAM == "NOEU_SIEF_R" : return cham_no_sief_r + if TYPE_CHAM == "NOEU_SOUR_R" : return cham_no_sour_r + if TYPE_CHAM == "NOEU_TEMP_F" : return cham_no_temp_f + if TYPE_CHAM == "NOEU_TEMP_R" : return cham_no_temp_r + if TYPE_CHAM == "NOEU_VAR2_R" : return cham_no_var2_r + if TYPE_CHAM == "NOEU_VNOR_C" : return cham_no_vnor_c + if TYPE_CHAM == "ELEM_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELEM_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELEM_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELEM_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELEM_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELEM_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELEM_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELEM_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELEM_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELEM_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELEM_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELEM_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELEM_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELEM_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELEM_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELEM_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELEM_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELEM_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELEM_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELEM_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELEM_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELEM_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELEM_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "ELNO_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELNO_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELNO_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELNO_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELNO_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELNO_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELNO_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELNO_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELNO_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELNO_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELNO_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELNO_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELNO_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELNO_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELNO_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELNO_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELNO_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELNO_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELNO_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELNO_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELNO_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELNO_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELNO_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "ELGA_DBEL_R" : return cham_elem_dbel_r + if TYPE_CHAM == "ELGA_DEPL_C" : return cham_elem_depl_c + if TYPE_CHAM == "ELGA_DEPL_F" : return cham_elem_depl_f + if TYPE_CHAM == "ELGA_DEPL_R" : return cham_elem_depl_r + if TYPE_CHAM == "ELGA_DURT_R" : return cham_elem_durt_r + if TYPE_CHAM == "ELGA_ENER_R" : return cham_elem_ener_r + if TYPE_CHAM == "ELGA_EPSI_R" : return cham_elem_epsi_r + if TYPE_CHAM == "ELGA_ERREUR" : return cham_elem_erreur + if TYPE_CHAM == "ELGA_FLUX_R" : return cham_elem_flux_r + if TYPE_CHAM == "ELGA_GEOM_R" : return cham_elem_geom_r + if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM == "ELGA_HYDR_R" : return cham_elem_hydr_r + if TYPE_CHAM == "ELGA_INST_R" : return cham_elem_inst_r + if TYPE_CHAM == "ELGA_INTE_R" : return cham_elem_inte_r + if TYPE_CHAM == "ELGA_META_R" : return cham_elem_meta_r + if TYPE_CHAM == "ELGA_NEUT_F" : return cham_elem_neut_f + if TYPE_CHAM == "ELGA_NEUT_R" : return cham_elem_neut_r + if TYPE_CHAM == "ELGA_PRES_R" : return cham_elem_pres_r + if TYPE_CHAM == "ELGA_SIEF_R" : return cham_elem_sief_r + if TYPE_CHAM == "ELGA_SOUR_R" : return cham_elem_sour_r + if TYPE_CHAM == "ELGA_TEMP_F" : return cham_elem_temp_f + if TYPE_CHAM == "ELGA_TEMP_R" : return cham_elem_temp_r + if TYPE_CHAM == "ELGA_VARI_R" : return cham_elem_vari_r + if TYPE_CHAM == "ELGA_VNOR_C" : return cham_elem_vnor_c + if TYPE_CHAM == "NOEU_IRRA_R" : return cham_no_irra_r + if TYPE_CHAM == "ELEM_IRRA_R" : return cham_elem_irra_r + if TYPE_CHAM == "ELNO_IRRA_R" : return cham_elem_irra_r + if TYPE_CHAM == "ELGA_IRRA_R" : return cham_elem_irra_r + 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.", + docu="U7.02.02-b3",reentrant='n', + MAILLAGE =SIMP(statut='o',typ=maillage,), + FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), + UNITE =SIMP(statut='f',typ='I',defaut= 81,), + b_format =BLOC(condition = "FORMAT == 'MED'", + regles=(UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), + PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),), + NOM_MED =SIMP(statut='o',typ='TXM', ), + NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**',), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**',), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**',), + NUME_PT =SIMP(statut='f',typ='I',max='**',), + NOM_MAIL_MED = SIMP(statut='f',typ='TXM',), + ), + TYPE_CHAM =SIMP(statut='o',typ='TXM', + into=("NOEU_DBEL_R", "ELEM_DBEL_R", "ELNO_DBEL_R", "ELGA_DBEL_R", + "NOEU_DEPL_C", "ELEM_DEPL_C", "ELNO_DEPL_C", "ELGA_DEPL_C", + "NOEU_DEPL_F", "ELEM_DEPL_F", "ELNO_DEPL_F", "ELGA_DEPL_F", + "NOEU_DEPL_R", "ELEM_DEPL_R", "ELNO_DEPL_R", "ELGA_DEPL_R", + "NOEU_DURT_R", "ELEM_DURT_R", "ELNO_DURT_R", "ELGA_DURT_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", + "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", + "NOEU_META_R", "ELEM_META_R", "ELNO_META_R", "ELGA_META_R", + "NOEU_NEUT_F", "ELEM_NEUT_F", "ELNO_NEUT_F", "ELGA_NEUT_F", + "NOEU_NEUT_R", "ELEM_NEUT_R", "ELNO_NEUT_R", "ELGA_NEUT_R", + "NOEU_PRES_R", "ELEM_PRES_R", "ELNO_PRES_R", "ELGA_PRES_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", + "NOEU_TEMP_F", "ELEM_TEMP_F", "ELNO_TEMP_F", "ELGA_TEMP_F", + "NOEU_TEMP_R", "ELEM_TEMP_R", "ELNO_TEMP_R", "ELGA_TEMP_R", + "NOEU_VAR2_R", "ELEM_VARI_R", "ELNO_VARI_R", "ELGA_VARI_R", + "NOEU_VNOR_C", "ELEM_VNOR_C", "ELNO_VNOR_C", "ELGA_VNOR_C", + "NOEU_IRRA_R", "ELEM_IRRA_R", "ELNO_IRRA_R", "ELGA_IRRA_R",) ), + b_modele =BLOC(condition = "TYPE_CHAM[0:2] == 'EL'", + MODELE =SIMP(statut='o',typ=modele, ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +LIRE_FONCTION=OPER(nom="LIRE_FONCTION",op= 83,sd_prod=fonction, + fr="Lecture d une fonction dans un fichier ", + docu="U4.32.02-f1",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + UNITE =SIMP(statut='o',typ='I' ), + NOM_PARA =SIMP(statut='f',typ='TXM', + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), + 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") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM', + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), + INFO =SIMP(statut='f',typ='I',defaut= 2,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp, + fr="Lecture sur un fichier externe de fonctions complexes pour créer une matrice interspectrale", + docu="U4.36.01-f2",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + UNITE =SIMP(statut='o',typ='I' ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), + NOM_PARA =SIMP(statut='f',typ='TXM', + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), + 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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage, + fr="Lecture d'un fichier de maillage", + ang="Readings of a mesh file", + docu="U4.21.01-g1",reentrant='n', + UIinfo={"groupes":("Maillage",)}, +# + UNITE =SIMP(statut='f',typ='I',defaut= 20 ), +# + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), + fr="Format du fichier : ASTER ou MED.", + ang="Format of the file : ASTER or MED.",), +# + ABSC_CURV =FACT(statut='f',min=0,max=1, + TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), +# + VERI_MAIL =FACT(statut='d',min=1,max=1, + VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), +# + b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " , + fr="Informations complémentaires pour la lecture MED.", + ang="Further information for MED readings.", +# +# Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel +# le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer. +# + NOM_MED = SIMP(statut='f',typ='TXM', + fr="Nom du maillage dans le fichier MED.", + ang="Name of the mesh into the MED file.",), +# + INFO_MED = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +# + ) , +# + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +# +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +def lire_miss_3d_prod(TYPE_RESU,**args): + if TYPE_RESU == "TRANS" : return dyna_trans + if TYPE_RESU == "HARMO" : return dyna_harmo + 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", + docu="U7.02.31-c",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), + UNITE =SIMP(statut='f',typ='I',defaut= 27 ), + NOM =SIMP(statut='f',typ='TXM' ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, + fr=" ", + docu="U7.02.11-a",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)), + MAIL_PLEXUS =SIMP(statut='o',typ=maillage ), + MAILLAGE =SIMP(statut='o',typ=maillage ), + MODELE =SIMP(statut='o',typ=modele ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8 ), + b_prec_crit =BLOC(condition = "LIST_INST != None or INST != None", + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", + into=("RELATIF","ABSOLU") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 03/03/2003 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +def lire_resu_prod(TYPE_RESU,**args): + if TYPE_RESU == "EVOL_CHAR" : return evol_char + if TYPE_RESU == "EVOL_THER" : return evol_ther + if TYPE_RESU == "EVOL_ELAS" : return evol_elas + if TYPE_RESU == "EVOL_NOLI" : return evol_noli + if TYPE_RESU == "DYNA_TRANS" : return dyna_trans + if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo + if TYPE_RESU == "HARM_GENE" : return harm_gene + if TYPE_RESU == "MODE_MECA" : return mode_meca + raise AsException("type de concept resultat non prevu") + +LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,docu="U7.02.01-d2",reentrant='n', + UIinfo={"groupes":("Maillage",)}, + fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight", + + +# 0 mots clés généraux : +#---------------------- + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA", + "DYNA_TRANS","DYNA_HARMO","HARM_GENE","EVOL_CHAR") ), + + FORMAT =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ), + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + + regles=(UN_PARMI('MAILLAGE','MODELE'),), + MAILLAGE =SIMP(statut='f',typ=maillage), + MODELE =SIMP(statut='f',typ=modele), + + NB_VARI =SIMP(statut='f',typ='I' ), + + +# 1 blocs selon le format choisi : +#--------------------------------- + +# 1-1 ideas dataset-58 : +# --------- + b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + ), + b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\ + (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ), + REDEFI_ORIENT=FACT(statut='f',max='**', + regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),), + CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ), + DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,), + NOEUD =SIMP(statut='f',typ=no,max='**'),), + ), + +# 1-2 ideas : +# --------- + b_ideas =BLOC(condition="FORMAT=='IDEAS'", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), + FORMAT_IDEAS =FACT(statut='f',max='**', + regles=(UN_PARMI('POSI_INST','POSI_FREQ'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**',into=("TEMP","DEPL","VITE","ACCE","PRES","VARI_ELNO", + "SIEF_ELNO","EPSA_ELNO","TEMP_PEAU","VITE_VENT", + "FVOL_3D","FVOL_2D","FSUR_3D","FSUR_2D") ), + NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ), + RECORD_3 =SIMP(statut='f',typ='I',max=10), + RECORD_6 =SIMP(statut='f',typ='I',max=10), + RECORD_9 =SIMP(statut='f',typ='I',max=10), + 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_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='**'),), + ), +# 1-3 ensight : +# ------------- + b_ensight =BLOC(condition="FORMAT=='ENSIGHT'", + NOM_FICHIER =SIMP(statut='f',typ='TXM'), + ), +# 1-4 med : +# --------- + b_med =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED", +# regles=(UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), +# PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),), + NOM_MED =SIMP(statut='o',typ='TXM', + fr="Nom du champ dans le fichier MED.", + ang="Name of the field in the MED file." ), + NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Les composantes ont le meme nom dans MED et ASTER.", + ang="The names of the components are the same in ASTER and MED." ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**', + fr="Nom des composantes dans ASTER.", + ang="Names of the components in ASTER" ), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', + fr="Nom des composantes dans MED.", + ang="Names of the components in MED" ), +# Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel +# le maillage associé au champ y a été enregistré. Par défaut, on prendra le premier maillage. + NOM_MAIL_MED =SIMP(statut='f',typ='TXM', + fr="Nom du maillage dans le fichier MED.", + ang="Name of the mesh into the MED file.",), + UNITE =SIMP(statut='f',typ='I',defaut= 81, + fr="Le fichier est : fort.n.", + ang="File is : fort.n" ), + ), + + +# 2 blocs selon le type du résultat : +#--------------------------------- + b_evol_elas =BLOC(condition="TYPE_RESU=='EVOL_ELAS'", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("DEPL",) ), + ), + b_evol_ther =BLOC(condition="TYPE_RESU=='EVOL_THER'", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("TEMP","TEMP_PEAU") ), + ), + b_evol_char =BLOC(condition="TYPE_RESU=='EVOL_CHAR'", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("PRES","VITE_VENT", + "FVOL_3D","FVOL_2D", + "FSUR_3D","FSUR_2D") ), + ), + b_evol_noli =BLOC(condition="TYPE_RESU=='EVOL_NOLI'", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("DEPL","VITE","ACCE","VARI_ELNO", + "SIEF_ELNO","EPSA_ELNO") ), + ), + b_mode_meca =BLOC(condition="TYPE_RESU=='MODE_MECA'", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("DEPL",) + ), + MATR_A =SIMP(statut='f',typ=matr_asse_depl_r,min=1,max=1,), + MATR_B =SIMP(statut='f',typ=matr_asse_depl_r,min=1,max=1,), + ), + b_dyna =BLOC(condition="((TYPE_RESU=='DYNA_TRANS') or (TYPE_RESU=='DYNA_HARMO') or\ + (TYPE_RESU=='HARM_GENE')) and (FORMAT!='IDEAS_DS58')", + NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + into=("DEPL","VITE","ACCE",) ), + ), + + +# 3 autres blocs : +#--------------------------------- + b_extrac =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat", + regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + LIST_ORDRE =SIMP(statut='f',typ=listis), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8), + + 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-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +def lire_table_prod(TYPE_TABLE,**args): + if TYPE_TABLE == "TABLE" : return table + 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=OPER(nom="LIRE_TABLE",op=29,sd_prod=lire_table_prod, + docu="U7.02.03",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'), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + ) ; +#& MODIF COMMANDE DATE 24/02/2003 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS +def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args): + mail1=ADAPTATION['MAILLAGE_N'] + self.type_sdprod(mail1,maillage) + mail2=ADAPTATION['MAILLAGE_NP1'] + self.type_sdprod(mail2,maillage) + if MAJ_CHAM == None:return None + for ch in MAJ_CHAM: + t=ch['TYPE_CHAM'] + if t == 'NOEU_TEMP_R':self.type_sdprod(ch['CHAM_MAJ'],cham_no_temp_r) + if t == 'NOEU_DEPL_R':self.type_sdprod(ch['CHAM_MAJ'],cham_no_depl_r) + return None + +MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, + fr="Adapter un maillage avec le logiciel HOMARD.", + ang="Mesh adaptation with HOMARD software.", + docu="U7.03.01-b2", +# +# 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="V5_5", + into=("V5_5", "V5_N", "V5_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. LE TYPE DE TRAITEMENT : +# + ADAPTATION =FACT(statut='o',min=01,max=01, + fr="Type d'adaptation", + ang="Type of adaptation", +# +# 4.1. DEUX CHOIX D'ADAPTATION EXCLUSIFS : +# +# 4.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 +# + 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" ), +# +# 4.2. QUEL QUE SOIT LE TYPE DE TRAITEMENT, IL FAUT DONNER : +# A. LE CONCEPT DU MAILLAGE INITIAL +# B. LE CONCEPT DU MAILLAGE FINAL +# + MAILLAGE_N = SIMP(statut='o',typ=(CO,maillage), + fr="Maillage avant adaptation", + ang="Mesh before adaptation" ), + MAILLAGE_NP1 = SIMP(statut='o',typ=(CO,maillage), + fr="Maillage apres adaptation", + ang="Mesh after adaptation" ), +# +# 4.3. POUR DE L'ADAPTATION LIBRE, IL FAUT L'INDICATEUR D'ERREUR +# +# + b_indicateur_d_erreur =BLOC( condition = " LIBRE != None " , + fr="Indicateur d'erreur", + ang="Error indicator", +# +# 4.3.1. LE NOM DU CONCEPT RESULTAT +# + RESULTAT_N = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) , + fr="Resultat contenant l'indicateur d'erreur", + ang="Result with error indicator" ), +# +# 4.3.2. LE CHAMP D'INDICATEUR D'ERREUR +# + INDICATEUR = SIMP(statut='o',typ='TXM', + fr="Champ de l'indicateur d'erreur", + ang="Error indicator field" ), +# +# 4.3.3. LA COMPOSANTE RETENUE +# + NOM_CMP_INDICA = SIMP(statut='o',typ='TXM', + fr="Composante retenue", + ang="Selected component" ), +# +# 4.3.4. LE NUMERO D'ORDRE +# + NUME_ORDRE = SIMP(statut='f',typ='I' , + fr="Numero d ordre", + ang="Rank" ), + ) , +# +# 4.4. LES CRITERES POUR DE L'ADAPTATION LIBRE : +# ABSOLU, RELATIF, EN PROPORTION D'ENTITE +# 4.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", + ang="Relative threshold" ), + CRIT_RAFF_PE = SIMP(statut='f',typ='R', + fr="Pourcentage d'éléments", + ang="Percentage of elements" ), + ) , +# +# 4.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", + ang="Relative threshold" ), + CRIT_DERA_PE = SIMP(statut='f',typ='R', + fr="Pourcentage d'éléments", + ang="Percentage of elements" ), + ) , +# +# 4.5. LES NIVEAUX EXTREMES POUR LE MAILLAGE ADAPTE +# 4.5.1. POUR LE RAFFINEMENT : +# + b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \ + ( UNIFORME == 'RAFFINEMENT' ) " , + fr="Niveau maximum de profondeur de raffinement", + ang="Maximum level for refinement", + NIVE_MAX = SIMP(statut='f',typ='I' ), + ) , +# +# 4.5.2. POUR LE DERAFFINEMENT : +# + b_niveau_minimum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) or \ + ( UNIFORME == 'DERAFFINEMENT' ) " , + fr="Niveau minimum de profondeur de déraffinement", + ang="Minimum level for unrefinement", + NIVE_MIN = SIMP(statut='f',typ='I' ), + ) , + ), +# +# 5. LA MISE A JOUR DE CHAMPS. +# PAR DEFAUT, RIEN NE SE FAIT +# + MAJ_CHAM =FACT(statut='f',min=01,max='**', + fr="Mise à jour de champs sur le nouveau maillage.", + ang="Updating of fields over the new mesh.", +# +# 5.1. LE NOM DU RESULTAT DU CHAMP A INTERPOLER +# + 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" ), +# +# 5.2. LE NOM DU CHAMP A INTERPOLER +# + NOM_CHAM = SIMP(statut='o',typ='TXM', + fr="Nom du champ à mettre à jour", + ang="Name of the field to be updated" ), +# +# 5.3. LE NUMERO D'ORDRE POUR LE CHAMP A INTERPOLER +# + NUME_ORDRE = SIMP(statut='f',typ='I', + fr="Numero d ordre du champ à mettre à jour", + ang="Rank of the field to be updated" ), +# +# 5.4. LE NOM DU CHAMP QUI CONTIENDRA LE RESULTAT DE LA MISE A JOUR +# + CHAM_MAJ = SIMP(statut='o',typ=(CO,cham_gd), + fr="Nom du champ qui contiendra le champ mis à jour", + ang="Name of the field for the updated field"), +# +# 5.5. LE TYPE DU CHAMP QUI CONTIENDRA LE RESULTAT DE LA MISE A JOUR +# + TYPE_CHAM = SIMP(statut='o',typ='TXM', + into=("NOEU_TEMP_R","NOEU_DEPL_R"), + fr="Type du champ qui contiendra le champ mis à jour", + ang="Type of the field for the updated field" ), + ), +# +# 6. INFORMATION SUR LE MAILLAGE : par defaut, on ne fait que les nombres +# A. NOMBRE DE NOEUDS ET ELEMENTS DU MAILLAGE +# B. QUALITE DES ELEMENTS DU MAILLAGE +# C. CONTROLE DE LA NON INTERPENETRATION DES ELEMENTS DU MAILLAGE +# D. CONNEXITE DU MAILLAGE +# E. TAILLE DES DIFFERENTS SOUS-DOMAINES +# + 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." ), +# + MENAGE = SIMP(statut='f',typ='TXM',into=("MAILLAGE","SOLUTION","TOUT") ), +# +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE F1BHHAJ J.ANGLES +def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args): + self.type_sdprod(MODELE,modele) + if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) + if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) + if FOND_FISS != None:self.type_sdprod(FOND_FISS,fond_fiss) + if CHARGE != None:self.type_sdprod(CHARGE,char_meca) + if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) + return evol_noli + +MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_prod, + fr=" ", + docu="U4.cf.20-b1",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), + + TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', + into=("SAIN", + "FISS_COUDE", + "FISS_AXIS_DEB", + "SOUS_EPAIS_COUDE" + ) ), + + CL_BOL_P2_GV =FACT(statut='f',min=1,max=1, + ANGLE =SIMP(statut='o',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + ), + + MAILLAGE =SIMP(statut='o',typ=maillage ), + MODELE =SIMP(statut='o',typ=(CO,modele)), + CHAM_MATER =SIMP(statut='f',typ=(CO,cham_mater)), + CARA_ELEM =SIMP(statut='f',typ=(CO,cara_elem)), + FOND_FISS =SIMP(statut='f',typ=(CO,fond_fiss)), + CHARGE =SIMP(statut='f',typ=(CO,char_meca)), + RESU_THER =SIMP(statut='f',typ=(CO,evol_ther)), + + AFFE_MATERIAU =FACT(statut='o',min=1,max=3, + regles=(UN_PARMI('TOUT','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ), + MATER =SIMP(statut='o',typ=mater ), + TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + + PRES_REP =FACT(statut='f',min=1,max=1, + PRES =SIMP(statut='o',typ='R' ), + EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + ), + + ECHANGE =FACT(statut='f',min=1,max=1, + COEF_H =SIMP(statut='f',typ=fonction ), + TEMP_EXT =SIMP(statut='f',typ=fonction ), + ), + + TORS_P1 =FACT(statut='f',min=1,max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ='R' ), + FY =SIMP(statut='f',typ='R' ), + FZ =SIMP(statut='f',typ='R' ), + MX =SIMP(statut='f',typ='R' ), + MY =SIMP(statut='f',typ='R' ), + MZ =SIMP(statut='f',typ='R' ), + FONC_MULT =SIMP(statut='f',typ=fonction ), + ), + + COMP_INCR =FACT(statut='f',min=1,max=1, + RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), + VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), + ), + + COMP_ELAS =FACT(statut='f',min=1,max=1, + 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 ,) ), + ), + + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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), + 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 ), + TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), + + NEWTON =FACT(statut='d',min=1,max=1, + 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") ), + REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + + RECH_LINEAIRE =FACT(statut='f',min=1,max=1, + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ), + + INCREMENT =FACT(statut='o',min=1,max=1, + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8), + 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), + ), + + THETA_3D =FACT(statut='f',min=1,max='**', + R_INF =SIMP(statut='o',typ='R' ), + R_SUP =SIMP(statut='o',typ='R' ), + ), + + IMPR_TABLE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ), + PRESENT_PRESENT('TOUT_PARA','ANGLE', ), + PRESENT_PRESENT('TOUT_PARA','R_CINTR', ), + UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),), + NOM_PARA =SIMP(statut='f',typ='TXM',max=4, + into=("TRESCA_MEMBRANE", + "TRESCA_MFLE", + "TRESCA", + "SI_LONG" + "SI_RADI" + "SI_CIRC" + ) ), + TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ANGLE =SIMP(statut='f',typ='R',max='**' ), + R_CINTR =SIMP(statut='f',typ='R',max='**' ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ), + POSI_ANGUL =SIMP(statut='f',typ='R',max='**' ), + TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), + ), + + IMPRESSION =FACT(statut='f',min=1,max=1, + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","ASTER","IDEAS","CASTEM") ), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + ), + + TITRE =SIMP(statut='f',typ='TXM' ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE F1BHHAJ J.ANGLES +MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, + fr=" ",docu="U4.cf.10-b1",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + + regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), + + EXEC_MAILLAGE =FACT(statut='o',min=1,max=1, + LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","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)), + ), + + TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ), + + COUDE =FACT(statut='o',min=1,max=1, + ANGLE =SIMP(statut='o',typ='R' ), + R_CINTR =SIMP(statut='o',typ='R' ), + L_TUBE_P1 =SIMP(statut='o',typ='R' ), + L_TUBE_P2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ), + SYME =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ), + TRANSFORMEE =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), + b_transf_coude =BLOC(condition = "TRANSFORMEE == 'COUDE' ", + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), + ), + b_transf_tube =BLOC(condition = "TRANSFORMEE == 'TUBE' ", + TRAN_EPAIS =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_trans_epais_oui =BLOC(condition = "TRAN_EPAIS == 'OUI' ", + regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'), + UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),), + DEXT_T1 =SIMP(statut='o',typ='R' ), + EPAIS_T1 =SIMP(statut='o',typ='R' ), + EPAIS_T2 =SIMP(statut='o',typ='R' ), + EPAIS_TI =SIMP(statut='f',typ='R' ), + ANGL_TETA1 =SIMP(statut='o',typ='R' ), + ANGL_TETA2 =SIMP(statut='f',typ='R' ), + ABSC_CURV_TRAN =SIMP(statut='f',typ='R' ), + POSI_ANGU_TRAN =SIMP(statut='f',typ='R' ), + ), + b_trans_epais_non =BLOC(condition = "TRAN_EPAIS == 'NON' ", + DEXT =SIMP(statut='o',typ='R' ), + EPAIS =SIMP(statut='o',typ='R' ), + SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), + ), + ), + ), + + SOUS_EPAIS_COUDE=FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), + UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), + TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), + AXE_CIRC =SIMP(statut='f',typ='R' ), + AXE_LONGI =SIMP(statut='o',typ='R' ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R' ), + SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), + NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), + NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), + NB_ELEM_RADI =SIMP(statut='f',typ='I',defaut= 3 ), + EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + SOUS_EPAIS_MULTI=FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), + UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), + TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), + AXE_CIRC =SIMP(statut='f',typ='R' ), + AXE_LONGI =SIMP(statut='o',typ='R' ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), + AZIMUT =SIMP(statut='f',typ='R' ), + SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), + NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), + NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), + EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + + FISS_COUDE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),), + AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), + b_axis_non =BLOC(condition = "AXIS == 'NON' ", + LONGUEUR =SIMP(statut='o',typ='R' ), + ), + b_axis_oui =BLOC(condition = "AXIS == 'OUI' ", + LONGUEUR =SIMP(statut='f',typ='R' ), + ), + PROFONDEUR =SIMP(statut='o',typ='R' ), + ABSC_CURV =SIMP(statut='f',typ='R' ), + POSI_ANGUL =SIMP(statut='f',typ='R' ), + FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ), + AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), + ORIEN =SIMP(statut='o',typ='R', + into=(45.,-45.,90.,0.E+0) ), + NB_TRANCHE =SIMP(statut='o',typ='I' ), + NB_SECTEUR =SIMP(statut='o',typ='I' ), + NB_COURONNE =SIMP(statut='o',typ='I' ), + RAYON_TORE =SIMP(statut='f',typ='R' ), + COEF_MULT_RC2 =SIMP(statut='f',typ='R',defaut= 1. ), + COEF_MULT_RC3 =SIMP(statut='f',typ='R' ), + ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ), + ), + + IMPRESSION =FACT(statut='f',min=1,max='**', + regles=(PRESENT_PRESENT('FICHIER','UNITE'),), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", + into=("ASTER","IDEAS","CASTEM") ), + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + FICHIER =SIMP(statut='f',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I' ), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE F1BHHAJ J.ANGLES +def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args): + if MODELE != None:self.type_sdprod(MODELE,modele) + if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) + if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) + if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss) + if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss) + if CHARGE != None:self.type_sdprod(CHARGE,char_meca) + if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) + return evol_noli + +MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, + fr=" ",docu="U4.pc.20-b2",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), + + TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', + into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB", + "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ), + + TUBULURE =FACT(statut='o',min=1,max=1, + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ), + ), + MAILLAGE =SIMP(statut='o',typ=maillage), + MODELE =SIMP(statut='f',typ=(CO,modele)), + CHAM_MATER =SIMP(statut='f',typ=(CO,cham_mater)), + CARA_ELEM =SIMP(statut='f',typ=(CO,cara_elem)), + FOND_FISS_1 =SIMP(statut='f',typ=(CO,fond_fiss)), + FOND_FISS_2 =SIMP(statut='f',typ=(CO,fond_fiss)), + CHARGE =SIMP(statut='f',typ=(CO,char_meca)), + RESU_THER =SIMP(statut='f',typ=(CO,evol_ther)), + + AFFE_MATERIAU =FACT(statut='o',min=1,max=3, + regles=(UN_PARMI('TOUT','GROUP_MA'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), + GROUP_MA =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ), + MATER =SIMP(statut='o',typ=mater), + TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + RCCM =SIMP(statut='o',typ='TXM',into=("OUI","NON")), + ), + + EQUILIBRE =FACT(statut='o',min=1,max=1, + NOEUD =SIMP(statut='o',typ=no), + ), + + PRES_REP =FACT(statut='o',min=1,max=1, + PRES =SIMP(statut='o',typ='R'), + NOEUD =SIMP(statut='f',typ=no), + EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FONC_MULT =SIMP(statut='f',typ=fonction), + ), + + ECHANGE =FACT(statut='f',min=1,max=1, + COEF_H_TUBU =SIMP(statut='o',typ=fonction), + COEF_H_CORP =SIMP(statut='o',typ=fonction), + TEMP_EXT =SIMP(statut='o',typ=fonction), + ), + + TORS_CORP =FACT(statut='f',min=1,max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + NOEUD =SIMP(statut='o',typ=no), + FX =SIMP(statut='f',typ='R'), + FY =SIMP(statut='f',typ='R'), + FZ =SIMP(statut='f',typ='R'), + MX =SIMP(statut='f',typ='R'), + MY =SIMP(statut='f',typ='R'), + MZ =SIMP(statut='f',typ='R'), + FONC_MULT =SIMP(statut='f',typ=fonction), + ), + + TORS_TUBU =FACT(statut='f',min=1,max=6, + regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), + FX =SIMP(statut='f',typ='R'), + FY =SIMP(statut='f',typ='R'), + FZ =SIMP(statut='f',typ='R'), + MX =SIMP(statut='f',typ='R'), + MY =SIMP(statut='f',typ='R'), + MZ =SIMP(statut='f',typ='R'), + FONC_MULT =SIMP(statut='f',typ=fonction), + ), + + COMP_INCR =FACT(statut='f',min=1,max=1, + RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), + VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), + ), + + COMP_ELAS =FACT(statut='f',min=1,max=1, + 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 ,) ), + ), + + THETA_3D =FACT(statut='f',min=1,max='**', + R_INF =SIMP(statut='o',typ='R'), + R_SUP =SIMP(statut='o',typ='R'), + ), + + OPTION =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ), + BORNES =FACT(statut='f',min=1,max='**', + NUME_ORDRE =SIMP(statut='o',typ='I'), + VALE_MIN =SIMP(statut='o',typ='R'), + VALE_MAX =SIMP(statut='o',typ='R'), + ), + + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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), + 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), + TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), + + NEWTON =FACT(statut='d',min=1,max=1, + REAC_INCR =SIMP(statut='f',typ='I',defaut=1), + PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")), + REAC_ITER =SIMP(statut='f',typ='I',defaut= 0), + ), + + RECH_LINEAIRE =FACT(statut='d',min=1,max=1, + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut=1.0E-3), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut=3), + ), + + INCREMENT =FACT(statut='o',min=1,max=1, + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8), + 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), + ), + + PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), + + IMPRESSION =FACT(statut='f',min=1,max=1, + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","ASTER","CASTEM","IDEAS")), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + b_extrac =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))", + fr="extraction d un champ de grandeur", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',max=3, + into=("DEPL","EQUI_ELNO_SIGM","TEMP")), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + TITRE =SIMP(statut='f',typ='TXM'), +) ; +# debut entete +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE F1BHHAJ J.ANGLES +MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant='n', + fr=" ",docu="U4.pc.10-b1", + UIinfo={"groupes":("Outils métier",)}, + + EXEC_MAILLAGE =FACT(statut='o',min=1,max=1, + LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","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)), + ), + + TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")), + + RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), + + TUBULURE =FACT(statut='o',min=1,max=1, + 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'), + E_TUBU =SIMP(statut='o',typ='R'), + DEXT_TUBU =SIMP(statut='o',typ='R'), + Z_MAX =SIMP(statut='o',typ='R'), + TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), + L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + + SOUDURE =FACT(statut='o',min=1,max=1, + H_SOUD =SIMP(statut='o',typ='R'), + ANGL_SOUD =SIMP(statut='o',typ='R'), + JEU_SOUD =SIMP(statut='o',typ='R'), + ), + + CORPS =FACT(statut='o',min=1,max=1, + E_CORP =SIMP(statut='o',typ='R'), + DEXT_CORP =SIMP(statut='o',typ='R'), + X_MAX =SIMP(statut='o',typ='R'), + ), + + FISS_SOUDURE =FACT(statut='f',min=1,max=1, + TYPE =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")), + AXIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + PROFONDEUR =SIMP(statut='o',typ='R'), + LONGUEUR =SIMP(statut='f',typ='R'), + AZIMUT =SIMP(statut='o',typ='R'), + RAYON_TORE =SIMP(statut='f',typ='R'), + POSITION =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")), + FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")), + LIGA_INT =SIMP(statut='f',typ='R'), + ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.0E+0), + COEF_MULT_RC1 =SIMP(statut='f',typ='R'), + COEF_MULT_RC2 =SIMP(statut='f',typ='R'), + COEF_MULT_RC3 =SIMP(statut='f',typ='R'), + NB_TRANCHE =SIMP(statut='f',typ='I'), + NB_SECTEUR =SIMP(statut='f',typ='I'), + NB_COURONNE =SIMP(statut='f',typ='I'), + ), + + IMPRESSION =FACT(statut='f',min=1,max='**', + regles=(PRESENT_PRESENT('FICHIER','UNITE'),), + FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), + + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + FICHIER =SIMP(statut='f',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 28/01/2003 AUTEUR JMBHH01 J.M.PROIX +# 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=tabl_cara_geom, + docu="U4.42.02-d1",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='**',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,max='**', + fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"), + + GROUP_MA_BORD =SIMP(statut='f',typ=grma,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,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,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 09/10/2002 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. +# ====================================================================== +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", + docu="U4.65.01-e1",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 09/10/2002 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. +# ====================================================================== +MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,docu="U4.62.01-f1",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',min=1,max=1, + MODELE =SIMP(statut='o',typ=modele), + 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',min=1,max=1, + regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + ), + RIGI_MECA =FACT(statut='f',min=1,max=1, + ), + MASS_MECA =FACT(statut='f',min=1,max=1, + BIDO1 =SIMP(statut='f',typ='I',defaut=0), + ), + CAS_CHARGE =FACT(statut='f',min=1,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,max='**'), + INST =SIMP(statut='f',typ='R',defaut=0.E+0), + ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +MACR_GOUJ2E_CALC=MACRO(nom="MACR_GOUJ2E_CALC",op=-23,sd_prod=evol_noli, + fr=" ",docu="U4.gj.20-a",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + MAILLAGE =SIMP(statut='o',typ=maillage), + DEFI_GOUJ =FACT(statut='o',min=1,max=1, + TYPE =SIMP(statut='o',typ='TXM',into=("M33","M64","M90","M115","M155","M180","M186")), + VARIANTE =SIMP(statut='o',typ='TXM',into=("A","B","C","D","E","F","G","H","I","J","K","L","M", + "N","O","P","Q","R","S","T","U","V","W","X","Y","Z")), + FILET_TRONQUE =SIMP(statut='f',typ='I',max='**'), + FILET_TRONQA =SIMP(statut='f',typ='I',max='**'), + FILET_TRONQB =SIMP(statut='f',typ='I',max='**'), + FILET_JEU_HT =SIMP(statut='f',typ='I',max='**'), + FILET_JEU_HTA =SIMP(statut='f',typ='I',max='**'), + FILET_JEU_HTB =SIMP(statut='f',typ='I',max='**'), + ), + EXCIT =FACT(statut='o',min=1,max=1, + TYPE_BLOCAGE =SIMP(statut='o',typ='I',defaut=2,into=(1,2,3)), + FORCE_GOUJ =SIMP(statut='o',typ='R'), + ), + CALCUL =FACT(statut='o',min=1,max=1, + TYPE_CALCUL =SIMP(statut='o',typ='TXM',into=("ELASTIQUE","ELASTOPLASTIQUE")), + NB_INCR =SIMP(statut='o',typ='I'), + ), + IMPRESSION =FACT(statut='f',min=1,max=1, + FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLE", + into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","TABLE")), + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + TITRE =SIMP(statut='f',typ='TXM'), + INFO =SIMP(statut='f',typ='I',defaut=1 ,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +MACR_GOUJ2E_MAIL=MACRO(nom="MACR_GOUJ2E_MAIL",op= -22,sd_prod=maillage, + fr=" ",docu="U4.gj.10-a",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + EXEC_MAILLAGE =FACT(statut='o',min=1,max=1, + LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","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)), + ), + DEFI_GOUJ =FACT(statut='o',min=1,max=1, + TYPE =SIMP(statut='o',typ='TXM',into=("M33","M64","M90","M115","M155","M180","M186")), + VARIANTE =SIMP(statut='o',typ='TXM',into=("A","B","C","D","E","F","G","H","I","J","K","L","M", + "N","O","P","Q","R","S","T","U","V","W","X","Y","Z")), + ), + GEOM_GOUJ_BRID =FACT(statut='o',min=1,max=1, + NB_FILET =SIMP(statut='o',typ='I'), + H_CORP_BRID =SIMP(statut='o',typ='R'), + R_EXT_BRID =SIMP(statut='o',typ='R'), + H_HAUT_BRID =SIMP(statut='f',typ='R',defaut=0.0E+0), + H_BAS_BRID =SIMP(statut='f',typ='R',defaut= 0.0E+0), + FILET_ABST =SIMP(statut='f',typ='I',max='**'), + ), + IMPRESSION =FACT(statut='f',min=1,max=1, + regles=(PRESENT_PRESENT('FICHIER','UNITE'),), + FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", + into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED")), + FICHIER =SIMP(statut='f',typ='TXM'), + UNITE =SIMP(statut='f',typ='I'), + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 08/10/2002 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. +# +# 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 +MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-b2", + 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="V5_5", + into=("V5_5", "V5_N","V5_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. Le nom du maillage a analyser +# + MAILLAGE = SIMP(statut='o',typ=maillage, + fr="Maillage à analyser.", + ang="Mesh to be checked." ), +# +# 5. Les options ; par defaut, on ne fait que les nombres +# 5.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" ), +# +# 5.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" ), +# +# 5.3. Connexite du maillage +# + CONNEXITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), + fr="Connexité du maillage.", + ang="Mesh connexity." ), +# +# 5.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." ), +# +# 5.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." ), +# +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops + +def macr_lign_coupe_prod(self,LIGN_COUPE,**args): + if not LIGN_COUPE: raise AsException("Impossible de typer les concepts resultats") + for m in LIGN_COUPE: + self.type_sdprod(m['TABLE'],table) + return None + + +MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=macr_lign_coupe_prod, + docu="",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + fr="extraction d un résultat sur des lignes de coupes définies par 2 points et un intervalle", + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ), + 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' ), + ), + MODELE =SIMP(statut='o',typ=modele ), + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), + LIGN_COUPE =FACT(statut='o',min=1,max='**', + NB_POINTS =SIMP(statut='o',typ='I'), + COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), + COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3), + TABLE =SIMP(statut='o',typ=(table,CO)), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +from Macro.macr_recal_ops import macr_recal_ops + +def macr_recal_prod(self,**args ): + return listr8 + +MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,docu="U4.73.02", + 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,min = 1, max='**'), + RESU_CALC =SIMP(statut='o',typ=assd,min = 1, max='**'), + LIST_PARA =SIMP(statut='o',typ=assd,min = 1, 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',min=1,max=1, + UNITE =SIMP(statut='f',typ='I',defaut=90), + INTERACTIF =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),) +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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 ): + self.type_sdprod(NUME_DDL,nume_ddl) + 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,docu="U4.51.02-d2",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),), + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl,CO)), + CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'), + CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'), + LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), + CAS_CHARGE =FACT(statut='o',min=1,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,max='**'), + CHAR_CINE =SIMP(statut='f',typ=char_meca,max='**'), + OPTION =SIMP(statut='f',typ='TXM',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',min=1,max=1, + 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 09/10/2002 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 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_depl_r) + self.type_sdprod(MATR_MASS_AJOU,matr_asse_depl_r) + self.type_sdprod(MATR_RIGI_AJOU,matr_asse_depl_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=-13,docu="U4.66.11-c1",sd_prod=macro_matr_ajou_prod, + 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), + 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',min=1,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',min=1,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',min=1,max='**', + 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_asse)), + MATR_RIGI_AJOU =SIMP(statut='f',typ=(CO,matr_asse)), + MATR_AMOR_AJOU =SIMP(statut='f',typ=(CO,matr_asse)), + 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',min=1,max='**', + DIRECTION =SIMP(statut='o',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + VECTEUR =SIMP(statut='o',typ=(CO,vect_asse_gene)), + ), + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+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 09/10/2002 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. +# ====================================================================== + +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") + self.type_sdprod(NUME_DDL,nume_ddl) + 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,docu="U4.61.21-d1", + 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), + 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),max='**'), + INST =SIMP(statut='f',typ='R'), + NUME_DDL =SIMP(statut='o',typ=(nume_ddl,CO)), + SOLVEUR =FACT(statut='d',min=1,max=1, + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT", + into=("LDLT","MULT_FRONT","GCPC")), + RENUM =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")), + ), + MATR_ASSE =FACT(statut='o',min=1,max='**', + MATRICE =SIMP(statut='o',typ=(matr_asse,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",) + ), + SIEF_ELGA =SIMP(statut='f',typ=cham_elem_sief_r), + MODE_FOURIER =SIMP(statut='f',typ='I'), + THETA =SIMP(statut='f',typ=theta_geom), + PROPAGATION =SIMP(statut='f',typ='R'), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== + +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=" ",docu="U7.03.11-a", + UIinfo={"groupes":("Matrices/vecteurs",)}, + OPTION =FACT(statut='o',min=1,max=1, + 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'), + 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), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== + +from Macro.macro_mode_meca_ops import macro_mode_meca_ops + +def macro_mode_meca_prod(self,MATR_A,MATR_B,**args ): + self.type_sdprod(MATR_A,matr_asse_depl_r) + self.type_sdprod(MATR_B,matr_asse_depl_r) + return mode_meca + +MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=macro_mode_meca_prod, + docu="U4.52.02-d1",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MATR_A =SIMP(statut='o',typ=(CO,matr_asse_depl_r) ), + MATR_B =SIMP(statut='o',typ=(CO,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,max=1, + 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,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,max=1, + 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',min=1,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',min=1,max=1, + 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',min=1,max=1, + 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 09/10/2002 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. +# ====================================================================== + +from Macro.macro_proj_base_ops import macro_proj_base_ops + +def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,**args ): + if MATR_ASSE_GENE != None: + for m in MATR_ASSE_GENE: + self.type_sdprod(m['MATRICE'],matr_asse_gene_r) + self.type_sdprod(m['MATR_ASSE'],matr_asse_depl_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,docu="U4.63.11-d1", + 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,base_modale,mode_gene) ), + NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), + MATR_ASSE_GENE =FACT(statut='f',min=1,max='**', + MATRICE =SIMP(statut='o',typ=(CO,matr_asse)), + MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), + MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), + PROFIL =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ), + ), + VECT_ASSE_GENE =FACT(statut='f',min=1,max='**', + VECTEUR =SIMP(statut='o',typ=(CO,vect_asse)), + 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), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +MAJ_CATA=PROC(nom="MAJ_CATA",op=20,docu="U4.15.01-e1", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Compilation des catalogues de commandes et d éléments", + + ELEMENT =FACT(statut='f',min=1,max=1,), + +) ; +#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, + fr="Analyse mécanique statique linéaire",docu="U4.51.01-g1",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + regles=(EXCLUS("INST","LIST_INST"), + AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ), + MODELE =SIMP(statut='o',typ=modele), + 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',min=1,max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=fonction), + 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), + OPTION =SIMP(statut='f',typ='TXM',max='**', + into=("SANS","SIGM_ELNO_DEPL","SIPO_ELNO_DEPL","EFGE_ELNO_DEPL", + "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL", + "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI","EQUI_ELGA_EPSI", + "EQUI_ELNO_EPME","EQUI_ELGA_EPME","DEGE_ELNO_DEPL","EPOT_ELEM_DEPL", + "ENEL_ELGA","ENEL_ELNO_ELGA") ), + NUME_COUCHE =SIMP(statut='f',typ='I',defaut=1), + NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ), + ANGLE =SIMP(statut='f',typ='I',defaut=0), + PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 03/12/2002 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. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS +MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,docu="U4.31.07-a1", + 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' ),), + + 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_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, + fr="Nom de la fonction nulle", + ang="Name of the zero fonction"), + + NOM_UN=SIMP (statut='f',typ=fonction, + fr="Nom de la fonction unité", + ang="Name of the one fonction"), + +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +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", + docu="U4.52.05-e",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',min=1,max=1, + DROITE =SIMP(statut='o',typ='TXM' ), + GAUCHE =SIMP(statut='o',typ='TXM' ), + AXE =SIMP(statut='f',typ='TXM' ), + ), + VERI_CYCL =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NB_DIAM =SIMP(statut='f',typ='I',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',min=1,max=1), + ), + b_bande =BLOC(condition = "OPTION == 'BANDE'", + FREQ =SIMP(statut='o',typ='R',min=2,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 09/10/2002 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", + docu="U4.52.04-g1",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',position='global',typ='TXM',defaut="DYNAMIQUE", + into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ), + b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", + CALC_FREQ =FACT(statut='o',min=1,max=1,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',min=1,max=1,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',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,max=1,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,max=1, + 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" ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 24/02/2003 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. +# ====================================================================== +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", + docu="U4.52.03-f2",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',position='global',typ=matr_asse_depl_r ), + METHODE =SIMP(statut='f',position='global',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',position='global',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,max=1, + 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',min=1,max=1, + fr="Charge critique autour de laquelle on cherche les charges critiques propres"), + ), + 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,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,max=1, + 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',min=1,max=1, + fr="Fréquence autour de laquelle on cherche les fréquences propres"), + AMOR_REDUIT =SIMP(statut='f',typ='R',max=1,), + 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,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,max=1, + 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") ), + ), + 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 09/10/2002 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_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", + docu="U4.52.14-f2",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',min=1,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',min=1,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',min=1,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 09/10/2002 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. +# ====================================================================== +MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, + docu="U4.66.21-c",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 ), + NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), + NUME_ORDRE =SIMP(statut='f',typ='I',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 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND +# REDISTRIBUTION OF THIS FILE. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage, + fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact", + docu="U4.23.04-d1",reentrant='o', + UIinfo={"groupes":("Maillage",)}, + regles=(AU_MOINS_UN('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', + 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE',), + PRESENT_ABSENT('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('DEFORME','ORIE_CONTACT','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('EQUE_PIQUA','ORIE_CONTACT','DEFORME','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_CONTACT','DEFORME','EQUE_PIQUA', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('PLAQ_TUBE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',), + PRESENT_ABSENT('MODI_MAILLE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',), + EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), + EXCLUS('EQUE_PIQUA','TUBE_COUDE'), + EXCLUS('ROTATION','MODI_BASE'),), + MAILLAGE =SIMP(statut='o',typ=maillage ), + + ORIE_CONTACT =FACT(statut='f',min=1,max=1, + GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + ), + + DEFORME =FACT(statut='f',min=1,max=1, + 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,max='**' ), + GROUP_NO_STRU = SIMP(statut='o',typ=grno,max='**' ),), + ), + + EQUE_PIQUA =FACT(statut='f',min=1,max=1, + 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',min=1,max='**', + GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + ), + ORIE_PEAU_3D =FACT(statut='f',min=1,max='**', + GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + ), + ORIE_NORM_COQUE =FACT(statut='f',min=1,max='**', + regles=(EXCLUS('NOEUD','GROUP_NO'), + PRESENT_PRESENT('NOEUD','VECT_NORM'), + PRESENT_PRESENT('GROUP_NO','VECT_NORM'),), + GROUP_MA =SIMP(statut='o',typ=grma,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 ), + ), + PLAQ_TUBE =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + 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',min=1,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,max='**'), + MAILLE_FOND =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_FOND =SIMP(statut='f',typ=grno,max='**'), + NOEUD_FOND =SIMP(statut='f',typ=no,max='**'), + ), + MODI_BASE =FACT(statut='f',min=1,max=1, + 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',min=1,max=1), + TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), + ROTATION =FACT(statut='f',min=1,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), + ), + + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 02/12/2002 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. +# ====================================================================== +MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle, + fr=" ",docu="U4.44.22-a",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), + GUIDE =SIMP(statut='o',typ=obstacle), + CRAYON =SIMP(statut='f',typ=obstacle), + 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 31/01/2003 AUTEUR CIBHHGB G.BERTRAND +# 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,docu="U4.74.01-a3",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',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + + INST =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + LIST_FREQ =SIMP(statut='f',typ=listr8), + + 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',min=1,max='**', + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + TYPE_CHAM =SIMP(statut='o',typ='TXM', max=1, + into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),), + NOM_CHAM =SIMP(statut='o',typ='TXM',max=1 ), + 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',min=1,max=1, + regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),), + REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR", + into=("UTILISATEUR","CYLINDRIQUE"),), + ANGL_NAUT =SIMP(statut='f',typ='R',min=1,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 09/10/2002 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 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", + docu="U4.52.11-e",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' ), + ), + AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), + MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), + MODE_SIGNE =FACT(statut='f',max=1,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" ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl,docu="U4.61.11-g1",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',typ=(matr_elem_depl_r ,matr_elem_depl_c, + matr_elem_temp_r,matr_elem_pres_c),max=100 ), + MODELE =SIMP(statut='f',typ=modele ), + b_modele =BLOC(condition = "MODELE != None", + CHARGE =SIMP(statut='f',max='**',typ=(char_meca,char_ther,char_acou, ),), + ), + 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 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_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 09/10/2002 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. +# ====================================================================== +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", + docu="U4.65.03-e1",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") ), + ), + BASE =SIMP(statut='f',typ=(mode_meca,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 09/10/2002 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. +# ====================================================================== +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", + docu="U4.84.04-d",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',min=1,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',min=1,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',min=1,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',min=1,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 09/10/2002 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. +# ====================================================================== +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", + docu="U4.84.02-d",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',min=1,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',min=1,max=1, + 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 09/10/2002 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. +# ====================================================================== +# 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 non prevu") + +POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3",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'), + ), + + MASS_INER = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + 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),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',max=1), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max=1), + LIST_INST = SIMP(statut='f',typ=listr8), + FREQ = SIMP(statut='f',typ='R',max=1), + LIST_FREQ = SIMP(statut='f',typ=listr8), + NUME_MODE = SIMP(statut='f',typ='I',max=1), + NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,max=2), + NOM_CAS = SIMP(statut='f',typ='TXM',max=1), + ), + + ENER_POT = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + FREQ = SIMP(statut='f',typ='R',max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8), + NUME_MODE = SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',max='**'), + ), + + ENER_CIN = FACT(statut='f',min=1,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,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + FREQ = SIMP(statut='f',typ='R',max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8), + NUME_MODE = SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',max='**'), + ), + + ENER_ELAS = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + ), + b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", + fr="calcul de l'énergie de déformation élastique", + MODELE = SIMP(statut='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + ENER_TOTALE = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + ), + b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", + fr="calcul de l'énergie de déformation totale", + MODELE = SIMP(statut='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + WEIBULL = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + RICE_TRACEY = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + INDIC_ENER = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + ), + b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + INDIC_SEUIL = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + ), + b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", + fr="calcul un indicateur global de perte de proportionnalité du chargement", + MODELE = SIMP(statut='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + CHAR_LIMITE = FACT(statut='f',min=0,max=1, + 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='o',typ=modele), + CHAM_MATER = SIMP(statut='o',typ=cham_mater), + CARA_ELEM = SIMP(statut='f',typ=cara_elem), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),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',max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis), + INST = SIMP(statut='f',typ='R',max='**'), + LIST_INST = SIMP(statut='f',typ=listr8), + ), + + CARA_GEOM = FACT(statut='f',min=1,max='**', + regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE = SIMP(statut='f',typ=ma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,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='o',typ=modele), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + CARA_POUTRE = FACT(statut='f',min=1,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,max='**'), + GROUP_MA_INTE = SIMP(statut='f',typ=grma,max='**'), + CARA_GEOM = SIMP(statut='f',typ=tabl_cara_geom), + 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), + 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='o',typ=modele), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), + ), + + AIRE_INTERNE = FACT(statut='f',min=1,max='**', + GROUP_MA_BORD = SIMP(statut='o',typ=grma,max='**'), + ), + b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", + fr="calcul de l'aire d'un trou dans un maillage 2D", + MODELE = SIMP(statut='o',typ=modele), + ), + + TRAV_EXT = FACT(statut='f',min=1,max=1), + 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 09/10/2002 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. +# ====================================================================== +POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,docu="U4.84.03-c",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), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,docu="U4.83.01-d1",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")), + + 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',min=1,max=1, + regles=(UN_PARMI('SIGM','EPSI'),), + SIGM = SIMP(statut='f',typ=fonction), + EPSI = SIMP(statut='f',typ=fonction),), + 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',min=1,max=1, + 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), + CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), + TAHERI_NAPPE = SIMP(statut='f',typ=fonction), + TAHERI_FONC = SIMP(statut='f',typ=fonction), + CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), + ), + + b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'", + HISTOIRE = FACT(statut='o',min=1,max=1, + SIGM_XX = SIMP(statut='o',typ=fonction), + SIGM_YY = SIMP(statut='o',typ=fonction), + SIGM_ZZ = SIMP(statut='o',typ=fonction), + SIGM_XY = SIMP(statut='o',typ=fonction), + SIGM_XZ = SIMP(statut='f',typ=fonction), + SIGM_YZ = SIMP(statut='f',typ=fonction),), + CRITERE = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER",)), + MATER = SIMP(statut='o',typ=mater), + COEF_CORR = SIMP(statut='f',typ='R'), + ), + + b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", + HISTOIRE = FACT(statut='o',min=1,max=1, + SIGM_XX = SIMP(statut='o',typ=fonction), + SIGM_YY = SIMP(statut='o',typ=fonction), + SIGM_ZZ = SIMP(statut='o',typ=fonction), + SIGM_XY = SIMP(statut='o',typ=fonction), + SIGM_XZ = SIMP(statut='f',typ=fonction), + SIGM_YZ = SIMP(statut='f',typ=fonction), + EPSP = SIMP(statut='o',typ=fonction), + TEMP = SIMP(statut='o',typ=fonction),), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),defaut="LEMAITRE"), + MATER = SIMP(statut='o',typ=mater), + 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 03/12/2002 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. +# ====================================================================== +POST_GOUJ2E=OPER(nom="POST_GOUJ2E",op=187,sd_prod=tabl_post_gouj2e,reentrant='n', + fr=" ",docu="U4.gj.30-a", + UIinfo={"groupes":("Outils métier",)}, + TABLE =SIMP(statut='o',typ=tabl_post_rele), +) ; +#& MODIF COMMANDE DATE 04/02/2003 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. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX +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", + docu="U4.82.05-b2",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + + regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'), + PRESENT_PRESENT('TABL_DEPL_SUP','TABL_DEPL_INF'), + 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), + PRECISION = SIMP(statut='f',typ='R',defaut=0.001), + NOEUD = SIMP(statut='f',typ=no,max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,max='**'), + SANS_NOEUD = SIMP(statut='f',typ=no,max='**'), + SANS_GROUP_NO = SIMP(statut='f',typ=grno,max='**') + ), + MATER =SIMP(statut='o',typ=mater, + 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',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + 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") ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + VECT_K1 =SIMP(statut='o',typ='R',max='**', + 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 09/10/2002 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +# +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", + docu="U4.82.07-a",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + MAILLAGE = SIMP(statut='o',typ=maillage), + MATER_REV = SIMP(statut='o',typ=mater), + EPAIS_REV = SIMP(statut='o',typ='R'), + FISSURE = FACT(statut='o',min=1,max=1, + 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',min=1,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' ), + ), + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); +#& MODIF COMMANDE DATE 09/10/2002 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 PARTIC +# +# 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)", + docu="U4.83.11-d1",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","VALE_INST") ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + OPTION =SIMP(statut='o',typ='TXM',max='**', + into=("PM_PB", + "SN", + "FATIGUE_SPMAX", + "FATIGUE_ZH210", + "FATIGUE_B3200", + "FATIGUE_B3600", + ) ), + b_pm_sn =BLOC(condition="(OPTION == 'PM_PB')or(OPTION == 'SN')or(OPTION == 'FATIGUE_SPMAX')or(OPTION == 'FATIGUE_ZH210')", + MATER =SIMP(statut='o',typ=mater ), + MAILLAGE =SIMP(statut='f',typ=maillage), + SEGMENT =FACT(statut='o',min=1,max='**',fr="Segment sur lequel s effectue le depouillement", + regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), + EXCLUS('CHEMIN','GROUP_NO'), + EXCLUS('CHEMIN','NOEUD'),), + INTITULE =SIMP(statut='f',typ='TXM' ), + CHEMIN =SIMP(statut='f',typ=(courbe,surface),), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno), + b_acce_noeud =BLOC(condition="(NOEUD != None)or(GROUP_NO != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + TRANSITOIRE =FACT(statut='o',min=1,max='**',fr="transitoire à dépouiller", + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli) ), + RESU_SIGM_THER =SIMP(statut='f',typ=(evol_elas,evol_noli),fr="résultat sous chargement thermique seul" ), + NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1,fr="nombre d occurences réelles de ce transitoire" ), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("SIEF_ELNO_ELGA","SIGM_ELNO_DEPL") ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8 ), + 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_3200 =BLOC(condition="(OPTION == 'FATIGUE_B3200')", + MATER =SIMP(statut='o',typ=mater ), + CHAR_MECA =FACT(statut='o',min=1,max='**',fr="Chargements mécaniques", + NUME_CHAR =SIMP(statut='o',typ='I',max=1,fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',max=1,fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',max=1,fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + FX =SIMP(statut='f',typ='R',max=1,fr="effort suivant x", ), + FY =SIMP(statut='f',typ='R',max=1,fr="effort suivant y", ), + FZ =SIMP(statut='f',typ='R',max=1,fr="effort suivant z", ), + MX =SIMP(statut='o',typ='R',max=1,fr="moment suivant x", ), + MY =SIMP(statut='o',typ='R',max=1,fr="moment suivant y", ), + MZ =SIMP(statut='o',typ='R',max=1,fr="moment suivant z", ), + ), + RESU_MECA_UNIT =FACT(statut='o',min=1,max=1,fr="resultats mécaniques unitaires", + TABL_FX =SIMP(statut='f',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire FX"), + TABL_FY =SIMP(statut='f',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire FY"), + TABL_FZ =SIMP(statut='f',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire FZ"), + TABL_MX =SIMP(statut='o',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire MX"), + TABL_MY =SIMP(statut='o',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire MY"), + TABL_MZ =SIMP(statut='o',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire MZ"), + TABL_PRES =SIMP(statut='o',typ=table,max=1, + fr="table relevé des contraintes pour chargement unitaire de pression"), + ), + RESU_THER =FACT(statut='f',min=1,max='**',fr="resultats thermiques", + NUME_RESU_THER =SIMP(statut='o',typ='I',max=1,fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table,max=1, + fr="table relevé des contraintes pour chargement thermique"), + ), + SITUATION =FACT(statut='o',min=1,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_3600 =BLOC(condition="(OPTION == 'FATIGUE_B3600')", + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + MODELE =SIMP(statut='o',typ=modele), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + ZONE_ANALYSE =FACT(statut='o',min=1,max=1,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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + RESU_MECA =FACT(statut='o',min=1,max='**',fr="Chargements mécaniques", + regles=(UN_PARMI('CHAM_GD','RESULTAT'),), + NUME_CHAR =SIMP(statut='o',typ='I',max=1,fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',max=1,fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',max=1,fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + CHAM_GD =SIMP(statut='f',typ=cham_gd), + RESULTAT =SIMP(statut='f',typ=resultat), + 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',max=1,into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max=1), + INST =SIMP(statut='f',typ='R',max=1), + NOEUD_CMP =SIMP(statut='f',typ='TXM',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',min=1,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',max=1,defaut=1.0,fr="indice de contraintes C1 du RCCM"), + K1 =SIMP(statut='f',typ='R',max=1,defaut=1.0,fr="indice de contraintes K1 du RCCM"), + C2 =SIMP(statut='f',typ='R',max=1,defaut=1.0,fr="indice de contraintes C2 du RCCM"), + K2 =SIMP(statut='f',typ='R',max=1,defaut=1.0,fr="indice de contraintes K2 du RCCM"), + C3 =SIMP(statut='f',typ='R',max=1,defaut=0.5,fr="indice de contraintes C3 du RCCM"), + K3 =SIMP(statut='f',typ='R',max=1,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,max='**', + fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), + MAILLE =SIMP(statut='f',typ=ma,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,max='**'), + NOEUD =SIMP(statut='f',typ=no,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',min=1,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',max=1,fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table,max=1, + fr="table relevé des températures sur la section"), + TABL_MOYE_THER =SIMP(statut='o',typ=table,max=1, + fr="table relevé des moyennes sur la section"), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + ), + ), + SITUATION =FACT(statut='o',min=1,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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE G8BHHXD X.DESROCHES +POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81.21-e1",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + ACTION =FACT(statut='o',min=1,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'), + PRESENT_PRESENT('TRAC_DIRECTION','DIRECTION'), + ENSEMBLE('MOMENT','POINT'), + PRESENT_PRESENT('MOMENT','RESULTANTE'), + PRESENT_ABSENT('TOUT_CMP','TRAC_DIRECTION','TRAC_NORMALE'), + PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), + PRESENT_PRESENT('ORIGINE','AXE_Z'),), + INTITULE =SIMP(statut='o',typ='TXM'), + CHEMIN =SIMP(statut='f',typ=(courbe,surface) ), + NOEUD =SIMP(statut='f',typ=no,max='**'), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,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)), + 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),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',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + LIST_MODE =SIMP(statut='f',typ=listis), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + 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='**'), + TRAC_DIRECTION =SIMP(statut='f',typ='TXM',into=("OUI",)), + TRAC_NORMALE =SIMP(statut='f',typ='TXM',into=("OUI",)), + + 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"),max=2), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli, + fr=" ",docu="U4.PS.10-a",reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + MATER =SIMP(statut='o',typ=(mater) ), + DEF_EQUI =FACT(statut='f',min=1,max=1, + METHODE =SIMP(statut='f',typ='TXM',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 02/12/2002 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. +# ====================================================================== +POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1",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',min=1,max=1, + 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,max=1), + 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',min=1,max=1, + COEF_USURE =SIMP(statut='o',typ='R'), + ), + OBSTACLE =FACT(statut='f',min=1,max=1, + COEF_USURE =SIMP(statut='o',typ='R'), + ), + SECTEUR =FACT(statut='f',min=1,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',min=1,max=1, + 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',min=1,max=1, + 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',min=1,max=1, + 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',min=1,max=1, + 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',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + 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 09/10/2002 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. +# ====================================================================== +POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,docu="U4.83.21-b",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), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + FONC_MULT =SIMP(statut='f',typ=fonction), + 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',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',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 20/01/2003 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. +# ====================================================================== +POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude", + docu="U4.11.03-g2",sd_prod = ops.POURSUITE, + UIinfo={"groupes":("Gestion du travail",)}, + op_init = ops.POURSUITE_context,fichier_ini = 1, + 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' ), + ), + 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 21/12/2000 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. +# ====================================================================== +PRE_CHAR_IDEAS=PROC(nom="PRE_CHAR_IDEAS",op=100,docu="U7.01.02-e", + fr="Conversion de conditions aux limites et chargements IDEAS en commandes Aster", + UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), + UNITE_ASTER =SIMP(statut='f',typ='I',defaut=21), + MODELE =SIMP(statut='o',typ=modele), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +PRE_GIBI=PROC(nom="PRE_GIBI",op=49,docu="U7.01.11-f", + 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 13/01/2003 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. +# ====================================================================== + +PRE_GMSH=PROC(nom="PRE_GMSH",op=47,docu="U7.01.01-f", + 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 02/12/2002 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. +# ====================================================================== +PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,docu="U7.01.01-f", + 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 20/01/2003 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. +# ====================================================================== +PROCEDURE=MACRO(nom="PROCEDURE",op=ops.build_procedure, docu="U4.13.03-e", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Nommer le fichier de commandes secondaires", + NOM =SIMP(statut='f',typ='TXM',defaut=" "), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 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", + docu="U4.72.06-b",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 09/10/2002 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. +# ====================================================================== +# 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(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,docu="U4.72.05-d2",reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage", +# + METHODE =SIMP(statut='f',typ='TXM',defaut="NUAGE_DEG_1", + 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) ), + MODELE_1 =SIMP(statut='o',typ=modele), + MODELE_2 =SIMP(statut='o',typ=modele), + + TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',max='**'), + + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis), + INST =SIMP(statut='f',typ='R',max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8), + FREQ =SIMP(statut='f',typ='R',max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8), + ), + + VIS_A_VIS =FACT(statut='f',min=1,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,max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_1 =SIMP(statut='f',typ=no,max='**'), + TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma,max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,max='**'), + NOEUD_2 =SIMP(statut='f',typ=no,max='**'), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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 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)", + docu="U4.63.12-f1",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 ) ), + 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 09/10/2002 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 proj_mesu_modal_prod(MODELE_MESURE,**args): + vale=MODELE_MESURE['NOM_PARA'] + if vale == 'INST' : return tran_gene + if vale == 'FREQ' : return harm_gene + if vale == 'DEFORMEE' : 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, + docu="U4.73.01-a",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',min=1,max=1, + MODELE =SIMP(statut='o',typ=(modele) ), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), + ), + MODELE_MESURE =FACT(statut='o',min=1,max=1, + MODELE =SIMP(statut='o',typ=(modele) ), + MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,) ), + NOM_PARA =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST","FREQ","DEFORMEE",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ), + ), + CORR_MANU =FACT(statut='f',min=1,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',min=1,max=1, + 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',max='**',defaut=0. ), + COEF_PONDER_F =SIMP(statut='f',typ=(fonction),max='**' ), + ), + ), + + ); +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,docu="U4.63.14-c",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,max='**' ), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + 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), + 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 09/10/2002 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. +# ====================================================================== +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)", + docu="U4.63.13-f1",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 ) ), + 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 ), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib, + fr=" ",docu="U4.82.06-a",reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + LIST_PARA =SIMP(statut='o',typ='TXM',max='**',into=("SIGM_REFE","M",) ), + RESU =FACT(statut='o',min=1,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) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + TEMPE =SIMP(statut='f',typ='R' ), + LIST_INST_RUPT =SIMP(statut='o',typ='R',max='**' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), + INST =SIMP(statut='f',typ='R',max='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8) ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,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 09/10/2002 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. +# ====================================================================== +# 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 + else: + return fonction + if RESU_GENE != None : return fonction + if BASE_ELAS_FLUI != None : return fonction + if RESULTAT != None : return fonction + if CHAM_GD != None : return fonction + if OBSTACLE != None : return fonction + 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", + docu="U4.32.03-f2",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,cham_elem_meta_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), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu), + REPERE =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ), + OBSTACLE =SIMP(statut='f',typ=obstacle), + + 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), + 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 ), + 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',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',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.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' ), + NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8 ), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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',max=2,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',max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',max='**'), + LIST_INST =SIMP(statut='f',typ=listr8 ), + FREQ =SIMP(statut='f',typ='R',max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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',max=2,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), + ), +### + NOM_PARA =SIMP(statut='f',typ='TXM', + into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", + "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC") ), + 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 09/10/2002 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. +# ====================================================================== +RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,docu="U4.71.03-e",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 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table, + fr=" ",docu="U4.71.02-b2",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 09/10/2002 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 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") + +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é", + docu="U4.55.04-e",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 09/10/2002 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. +# ====================================================================== +# 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") + +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é",docu="U4.55.02-f", + 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) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# 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") + +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", + docu="U4.63.21-e",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 ), + + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), + TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), + INST =SIMP(statut='f',typ='R',max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8 ), + FREQ =SIMP(statut='f',typ='R',max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8 ), + 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',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,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + + ACCE_MONO_APPUI =SIMP(statut='f',typ=fonction), + DIRECTION =SIMP(statut='f',typ='R',max='**' ), + + 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 09/10/2002 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. +# ====================================================================== +REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp, + docu="U4.63.22-c",reentrant='n', + UIinfo={"groupes":("Matrices/vecteurs",)}, + regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + MODE_MECA =SIMP(statut='f',typ=mode_meca ), + BANDE =SIMP(statut='f',typ='R',min=2,max=2 ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), + INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), + NOEUD =SIMP(statut='o',typ=no,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOM_CHAM =SIMP(statut='o',typ='TXM',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',max=1, + 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 20/01/2003 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. +# ====================================================================== +RETOUR=MACRO(nom="RETOUR",op= -2,docu="U4.13.02-e", + UIinfo={"groupes":("Gestion du travail",)}, + fr="Retour au fichier de commandes appelant", +) ; +#& MODIF COMMANDE DATE 11/02/2003 AUTEUR PBADEL P.BADEL +# 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", + docu="U4.51.03-f4",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),), + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + FONC_MULT =SIMP(statut='f',typ=fonction), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + ), + VARI_COMM =FACT(statut='f', + regles=(AU_MOINS_UN('IRRA',),), + IRRA =SIMP(statut='f',typ=evol_varc), + ), + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',min=1,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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + ETAT_INIT =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8), + 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',min=1,max=1, + 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',min=1,max=1, + 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',min=1,max=1, + 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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), + ), + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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 ), + TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), + PARM_THETA =SIMP(statut='f',typ='R' + ,defaut= 1. ), + SOLVEUR =FACT(statut='d',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), + EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), + LIST_INST =SIMP(statut='f',typ=(listr8) ), + INST =SIMP(statut='f',typ='R',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',max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA", + "VARI_NON_LOCAL","LANL_ELGA")), + ), + OBSERVATION =FACT(statut='f',min=1,max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',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), + LIST_INST =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',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,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + POINT =SIMP(statut='f',typ='I',max='**'), + ), + SOLV_NON_LOCAL =FACT(statut='f',min=1,max=1, + 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","SANS","DIAG") ), + 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',max=1, + 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 09/10/2002 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. +# ====================================================================== +# 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", + docu="U4.92.02-f2", + UIinfo={"groupes":("Impression",)}, + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + VALEUR =FACT(statut='f',min=1,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 ), + NOM_PARA =SIMP(statut='f',typ='TXM',max=2), + VALE_PARA =SIMP(statut='o',typ='R',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',min=1,max='**', + fr="Tester la valeur d un attribut d une fonction ou d''une nappe", + FONCTION =SIMP(statut='o',typ=fonction ), + 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',min=1,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 13/01/2003 AUTEUR VABHHTS J.PELLET +# 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,docu="U4.92.01-g3", + 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','OBJET')), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + + CHAM_NO =FACT(statut='f',min=1,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), + NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + 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'), + ), + + CHAM_ELEM =FACT(statut='f',min=1,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),# CO() + MAILLE =SIMP(statut='f',typ=ma),# CO() + POINT =SIMP(statut='f',typ='I' ), + SOUS_POINT =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no),# CO() + GROUP_NO =SIMP(statut='f',typ=grno),# CO() + 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' ), + ), + + RESU =FACT(statut='f',min=1,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), + 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',max='**' ), + 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'), + 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' ), + ), + + OBJET =FACT(statut='f',max='**', + regles=(UN_PARMI('INDICE','S_I','S_R','RESUME',), + UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),), + NOM =SIMP(statut='o',typ='TXM'), + INDICE =SIMP(statut='f',typ='I'), + NUM_OBJ =SIMP(statut='f',typ='I'), + 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' ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, + docu="U4.92.03-c1", + UIinfo={"groupes":("Impression",)}, + regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),), + FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), +# concept table à créer + TABLE =SIMP(statut='o',typ=table), + + 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.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' ), + ), +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-g2",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Analyse thermique linéaire stationnaire ou transitoire", + MODELE =SIMP(statut='o',typ=modele), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), + FONC_MULT =SIMP(statut='f',typ=fonction), + ), + INCREMENT =FACT(statut='f',min=1,max=1, + LIST_INST =SIMP(statut='o',typ=listr8 ), + NUME_INIT =SIMP(statut='f',typ='I'), + NUME_FIN =SIMP(statut='f',typ='I'), + ), + TEMP_INIT =FACT(statut='f',min=1,max=1, + 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),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters", + ), + SENS_INIT =FACT(statut='f',min=1,max=1, + 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',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), + ARCHIVAGE =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),), + LIST_ARCH =SIMP(statut='f',typ=listis), + LIST_INST =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',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 09/10/2002 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. +# ====================================================================== +THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02-e2",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + fr="Analyse thermique non linéaire stationnaire ou transitoire" , + MODELE =SIMP(statut='o',typ=(modele) ), + CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), + CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), + COMP_THER_NL =FACT(statut='d',min=1,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,max='**'), + MAILLE =SIMP(statut='f',typ=ma,max='**'), + ), + EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_ther), + FONC_MULT =SIMP(statut='f',typ=fonction), + ), + INCREMENT =FACT(statut='f',min=1,max=1, + LIST_INST =SIMP(statut='o',typ=listr8), + NUME_INIT =SIMP(statut='f',typ='I'), + NUME_FIN =SIMP(statut='f',typ='I'), + ), + TEMP_INIT =FACT(statut='f',min=1,max=1, + 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'), + ), + NEWTON =FACT(statut='d',min=1,max=1, + 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 ), + ), + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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 ), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters", + ), + SOLVEUR =FACT(statut='d',min=1,max=1, + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + 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","SANS","DIAG") ), + 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 ), + ), +# A quoi sert eps + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + 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',min=1,max=1, + regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),), + LIST_ARCH =SIMP(statut='f',typ=(listis) ), + LIST_INST =SIMP(statut='f',typ=(listr8) ), + INST =SIMP(statut='f',typ='R',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',max='**', + into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + +) ; +#& MODIF COMMANDE DATE 09/10/2002 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. +# ====================================================================== +THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, + fr="Thermique non lineaire en repere mobile", + docu="U4.54.03-b",reentrant='f', + UIinfo={"groupes":("Résolution",)}, + MODELE =SIMP(statut='o',typ=modele ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='c',typ=cara_elem ), + EXCIT =FACT(statut='o',min=1,max='**', + CHARGE =SIMP(statut='o',typ=char_ther ), + FONC_MULT =SIMP(statut='c',typ=fonction ), + ), + TEMP_INIT =FACT(statut='f',min=1,max=1, + EVOL_THER =SIMP(statut='f',typ=evol_ther ), + NUME_INIT =SIMP(statut='f',typ='I',defaut= 0 ), + ), + CONVERGENCE =FACT(statut='d',min=1,max=1, + 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',min=1,max=1, + 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","SANS","DIAG") ), + 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 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+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) ), +) ; + + + diff --git a/Aster/Cata/ops.py b/Aster/Cata/ops.py index eecdc442..80eda873 100644 --- a/Aster/Cata/ops.py +++ b/Aster/Cata/ops.py @@ -1,4 +1,4 @@ -#@ MODIF ops Cata DATE 23/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF ops Cata DATE 20/01/2003 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -24,6 +24,7 @@ import string,linecache,os,traceback,re # Modules Eficas import Accas from Accas import ASSD +from Noyau.N_FONCTION import fonction try: import aster @@ -34,25 +35,61 @@ try: except: pass -def DEBUT(self,PAR_LOT,**args): +def DEBUT(self,PAR_LOT,CODE,**args): """ Fonction sdprod de la macro DEBUT """ self.jdc.set_par_lot(PAR_LOT) + if CODE!=None : + self.jdc.fico=CODE.valeur['NOM'] + else: + self.jdc.fico=None + +def build_debut(self,**args): + """ + Fonction ops pour la macro DEBUT + """ + if self.jdc.par_lot == 'NON' : + self.jdc._Build() + # On execute la fonction debut pour initialiser les bases + # Cette execution est indispensable avant toute autre action sur ASTER + # op doit etre un entier car la fonction debut appelle GCECDU qui demande + # le numero de l'operateur associé (getoper) + self.definition.op=0 + self.set_icmd(1) + lot,ier=self.codex.debut(self,1) + # On remet op a None juste apres pour eviter que la commande DEBUT + # ne soit executée dans la phase d'execution + self.definition.op=None + return ier -def POURSUITE(self,PAR_LOT,**args): +def POURSUITE(self,PAR_LOT,CODE,**args): """ Fonction sdprod de la macro POURSUITE """ self.jdc.set_par_lot(PAR_LOT) + if CODE!=None : + self.jdc.fico=CODE.valeur['NOM'] + else: + self.jdc.fico=None if self.codex and os.path.isfile("glob.1"): # Le module d'execution est accessible et glob.1 est present + # Pour eviter de rappeler plusieurs fois la sequence d'initialisation + # on memorise avec l'attribut fichier_init que l'initialisation + # est réalisée if hasattr(self,'fichier_init'):return self.fichier_init='glob.1' self.jdc.initexec() + # le sous programme fortran appelé par self.codex.poursu demande le numero + # de l'operateur (GCECDU->getoper), on lui donne la valeur 0 + self.definition.op=0 lot,ier,lonuti,concepts=self.codex.poursu(self,1) - self.icmd=lonuti - #print "Fin de debut",ier,lot,lonuti + # Par la suite pour ne pas executer la commande pendant la phase + # d'execution on le remet à None + self.definition.op=None + # On demande la numerotation de la commande POURSUITE avec l'incrément + # lonuti pour qu'elle soit numérotée à la suite des commandes existantes. + self.set_icmd(lonuti) pos=0 d={} while pos+80 < len(concepts)+1: @@ -60,6 +97,7 @@ def POURSUITE(self,PAR_LOT,**args): concep=concepts[pos+8:pos+24] nomcmd=concepts[pos+24:pos+40] statut=concepts[pos+40:pos+48] + print nomres,concep,nomcmd,statut if nomres[0] not in (' ','.','&') and statut != '&DETRUIT': exec nomres+'='+string.lower(concep)+'()' in self.parent.g_context,d pos=pos+80 @@ -88,6 +126,15 @@ def POURSUITE_context(self,d): for v in self.g_context.values(): if isinstance(v,ASSD) : self.jdc.sds.append(v) +def build_poursuite(self,**args): + """ + Fonction ops pour la macro POURSUITE + """ + # Pour POURSUITE on ne modifie pas la valeur initialisee dans ops.POURSUITE + # Il n y a pas besoin d executer self.codex.poursu (c'est deja fait dans + # la fonction sdprod de la commande (ops.POURSUITE)) + return 0 + def INCLUDE(self,UNITE,**args): """ Fonction sd_prod pour la macro INCLUDE @@ -97,12 +144,8 @@ def INCLUDE(self,UNITE,**args): self.unite=UNITE if self.jdc and self.jdc.par_lot == 'NON': - # On est en mode commande par commande - # On teste la validite de la commande avec interruption eventuelle - cr=self.report() - self.parent.cr.add(cr) - if not cr.estvide(): - raise EOFError + # On est en mode commande par commande, on appelle la methode speciale + self.Execute_alone() self.make_include(unite=UNITE) @@ -113,6 +156,18 @@ def INCLUDE_context(self,d): for k,v in self.g_context.items(): d[k]=v +def build_include(self,**args): + """ + Fonction ops de la macro INCLUDE appelée lors de la phase de Build + """ + # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) + # le numero de la commande n est pas utile en phase de construction + # La macro INCLUDE ne sera pas numérotée (incrément=None) + self.set_icmd(None) + icmd=0 + ier=self.codex.opsexe(self,icmd,-1,1) + return ier + def detruire(self,d): """ Cette fonction est la fonction op_init de la PROC DETRUIRE @@ -128,6 +183,9 @@ def detruire(self,d): if d.has_key(e):del d[e] if self.jdc.sds_dict.has_key(e):del self.jdc.sds_dict[e] else: + if isinstance(mcs,fonction): + cr=self.parent.report() + cr.fatal("la destruction d'une FORMULE est impossible" ) if isinstance(mcs,ASSD): sd.append(mcs) mcs=mcs.nom @@ -231,15 +289,39 @@ def INCLUDE_MATERIAU(self,NOM_AFNOR,TYPE_MODELE,VARIANTE,TYPE_VALE,NOM_MATER, # Il faut auparavant l'enregistrer aupres du module linecache (utile pour nommage.py) linecache.cache[f]=0,0,string.split(self.text,'\n'),f if self.jdc.par_lot == 'NON': - # On est en mode commande par commande - # On teste la validite de la commande avec interruption eventuelle - cr=self.report() - self.parent.cr.add(cr) - if not cr.estvide(): - raise EOFError - # Et en plus il faut executer la fonction ops014 avant les sous - # commandes car le prefixe PRFXCO doit etre initialise dans le Fortran - self.codex.opsexe(self,0,-1,-self.definition.op) + # On est en mode commande par commande, on appelle la methode speciale + self.Execute_alone() self.make_contexte(f,self.text) +def build_formule(self,**args): + """ + Fonction ops de la macro FORMULE appelée lors de la phase de Build + """ + from Build import B_utils + for mc in self.mc_liste: + if mc.nom in ('REEL','ENTIER','COMPLEXE'): + texte= self.sd.get_name()+ string.strip(mc.valeur) + mc.valeur=B_utils.ReorganisationDe(texte,80) + # ATTENTION : FORMULE est une des rares commandes qui a besoin de + # connaitre son numero d execution avant d etre construite + self.set_icmd(1) + # La macro formule doit etre executee. Seules les macros qui ont + # un numero d'op sont executees lors des phases suivantes + self.definition.op = -5 + ier=self.codex.opsexe(self,self.icmd,-1,-self.definition.op) + return ier + +def build_procedure(self,**args): + """ + Fonction ops de la macro PROCEDURE appelée lors de la phase de Build + """ + ier=0 + # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) + # le numero de la commande n est pas utile en phase de construction + # On ne numérote pas une macro PROCEDURE (incrément=None) + self.set_icmd(None) + icmd=0 + ier=self.codex.opsexe(self,icmd,-1,3) + return ier + diff --git a/Aster/editeur.ini b/Aster/editeur.ini index c9e1a9e7..2b3bd9ef 100644 --- a/Aster/editeur.ini +++ b/Aster/editeur.ini @@ -40,6 +40,7 @@ rep_mat="bidon" catalogues = ( #('ASTER','v5',os.path.join(rep_cata,'cata_STA5.py'),'asterv5'), - ('ASTER','v6',os.path.join(rep_cata,'cata_STA6.py'),'python','defaut'), + ('ASTER','v6',os.path.join(rep_cata,'cata_STA6.py'),'python'), + ('ASTER','v7',os.path.join(rep_cata,'cata_STA7.py'),'python','defaut'), ) diff --git a/Ihm/I_PROC_ETAPE.py b/Ihm/I_PROC_ETAPE.py index b4ebb72d..5b866332 100644 --- a/Ihm/I_PROC_ETAPE.py +++ b/Ihm/I_PROC_ETAPE.py @@ -85,7 +85,6 @@ class PROC_ETAPE(I_ETAPE.ETAPE): raise AsException("Etape ",self.nom,'ligne : ',self.appel[0], 'fichier : ',self.appel[1],e) except EOFError: - self.reset_current_step() raise except : l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2]) diff --git a/Noyau/N_CR.py b/Noyau/N_CR.py index a3e231eb..5be765e7 100644 --- a/Noyau/N_CR.py +++ b/Noyau/N_CR.py @@ -1,4 +1,4 @@ -#@ MODIF N_CR Noyau DATE 29/05/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_CR Noyau DATE 20/01/2003 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -190,7 +190,7 @@ class CR : -def justify_text(texte='',cesure=50): +def justify_text_old(texte='',cesure=50): """ Prend la chaine de caractères 'texte' et la retourne avec un retour chariot tous les 'cesure' caractères s'il y a lieu (le retour chariot est placé dans un blanc @@ -219,7 +219,7 @@ def justify_text(texte='',cesure=50): texte_justifie = texte_justifie + string.strip(new_text) + '\n' return texte_justifie[0:-1] -def encadre_message(texte,motif): +def encadre_message_old(texte,motif): """ Retourne la chaine de caractères texte entourée d'un cadre formés d'éléments 'motif' @@ -239,3 +239,50 @@ def encadre_message(texte,motif): +separateurs=(' ',',','/') +def split(ligne,cesure): + ligne= string.rstrip(ligne) + if len(ligne) <= cesure : + return ligne + else: + coupure=cesure + while ligne[coupure] not in separateurs and coupure > 0: + coupure = coupure - 1 + if coupure == 0: + # Il faut augmenter la cesure + coupure =cesure + while ligne[coupure] not in separateurs and coupure < len(ligne)-1 : + coupure = coupure + 1 + if coupure == len(ligne)-1: + return ligne + else: + return ligne[:coupure+1]+ '\n' + split(ligne[coupure+1:],cesure) + +def justify_text(texte='',cesure=50): + texte = string.strip(texte) + liste_lignes = string.split(texte,'\n') + l=[split(l,cesure) for l in liste_lignes] + texte_justifie=string.join(l,'\n') + return texte_justifie + +def encadre_message(texte,motif): + """ + Retourne la chaine de caractères texte entourée d'un cadre formés + d'éléments 'motif' + """ + texte = justify_text(texte,cesure=80) + lignes = string.split(texte,'\n') + longueur = 0 + for ligne in lignes : + ligne=string.rstrip(ligne) + if len(ligne)> longueur : longueur = len(ligne) + longueur = longueur + 4 + txt = motif*longueur+'\n' + for ligne in lignes : + txt = txt + motif + ' '+ligne+' '*(longueur-len(motif+ligne)-2)+motif+'\n' + txt = txt + motif*longueur+'\n' + return txt + + + + diff --git a/Noyau/N_MACRO_ETAPE.py b/Noyau/N_MACRO_ETAPE.py index d51031d1..757f3a0e 100644 --- a/Noyau/N_MACRO_ETAPE.py +++ b/Noyau/N_MACRO_ETAPE.py @@ -1,4 +1,4 @@ -#@ MODIF N_MACRO_ETAPE Noyau DATE 23/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_MACRO_ETAPE Noyau DATE 06/01/2003 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -380,7 +380,7 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): # En effet une commande avec reutilisation d'un concept verifie que le nom de # la variable a gauche du signe = est le meme que celui du concept reutilise. # Lorsqu'une telle commande apparait dans une macro, on supprime cette verification. - if etape.sdnom[0] == '_': + if (etape.sdnom == '' or etape.sdnom[0] == '_'): etape.sdnom=sd.nom else: # On est dans le cas de la creation d'un nouveau concept diff --git a/Noyau/N_PROC_ETAPE.py b/Noyau/N_PROC_ETAPE.py index c055c246..adce3fe8 100644 --- a/Noyau/N_PROC_ETAPE.py +++ b/Noyau/N_PROC_ETAPE.py @@ -1,4 +1,4 @@ -#@ MODIF N_PROC_ETAPE Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF N_PROC_ETAPE Noyau DATE 20/01/2003 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -103,7 +103,6 @@ class PROC_ETAPE(N_ETAPE.ETAPE): raise AsException("Etape ",self.nom,'ligne : ',self.appel[0], 'fichier : ',self.appel[1],e) except EOFError: - self.reset_current_step() raise except : l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2]) diff --git a/Noyau/properties.py b/Noyau/properties.py index a3170c0f..c8d3ade9 100644 --- a/Noyau/properties.py +++ b/Noyau/properties.py @@ -1,8 +1,7 @@ -#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR +#@ MODIF properties Noyau DATE 27/03/2002 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# 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 @@ -16,9 +15,9 @@ # 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. +# +# # ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "6.3.20" -date = "10/10/2002" +version = "6.2.24" +date = "15/03/2002" + diff --git a/Validation/V_ETAPE.py b/Validation/V_ETAPE.py index 0136bb74..eb37b685 100644 --- a/Validation/V_ETAPE.py +++ b/Validation/V_ETAPE.py @@ -1,4 +1,4 @@ -#@ MODIF V_ETAPE Validation DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_ETAPE Validation DATE 06/01/2003 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -151,11 +151,12 @@ class ETAPE(V_MCCOMPO.MCCOMPO): if AsType(self.reuse) != sd_prod: if cr == 'oui' : self.cr.fatal('Type de concept reutilise incompatible avec type produit') valid= 0 - if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom: - # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom) - if cr == 'oui' : - self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom)) - valid= 0 + if self.sdnom!='': + if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom: + # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom) + if cr == 'oui' : + self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom)) + valid= 0 if valid:self.sd=self.reuse else: if sd_prod == None:# Pas de concept retourné diff --git a/Validation/V_MACRO_ETAPE.py b/Validation/V_MACRO_ETAPE.py index d2b175ff..1ceca1e5 100644 --- a/Validation/V_MACRO_ETAPE.py +++ b/Validation/V_MACRO_ETAPE.py @@ -1,4 +1,4 @@ -#@ MODIF V_MACRO_ETAPE Validation DATE 09/10/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_MACRO_ETAPE Validation DATE 06/01/2003 AUTEUR ASSIRE A.ASSIRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -157,11 +157,12 @@ class MACRO_ETAPE(V_ETAPE.ETAPE): if AsType(self.reuse) != sd_prod: if cr == 'oui' : self.cr.fatal('Type de concept reutilise incompatible avec type produit') valid=0 - if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom: - # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom) - if cr == 'oui' : - self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom)) - valid= 0 + if self.sdnom!='': + if self.sdnom[0] != '_' and self.reuse.nom != self.sdnom: + # Le nom de la variable de retour (self.sdnom) doit etre le meme que celui du concept reutilise (self.reuse.nom) + if cr == 'oui' : + self.cr.fatal('Concept reutilise : le nom de la variable de retour devrait etre %s et non %s' %(self.reuse.nom,self.sdnom)) + valid= 0 if valid:self.sd=self.reuse else: if sd_prod == None:# Pas de concept retourné diff --git a/Validation/V_MCSIMP.py b/Validation/V_MCSIMP.py index 462147d5..b80e670d 100644 --- a/Validation/V_MCSIMP.py +++ b/Validation/V_MCSIMP.py @@ -1,4 +1,4 @@ -#@ MODIF V_MCSIMP Validation DATE 27/03/2002 AUTEUR DURAND C.DURAND +#@ MODIF V_MCSIMP Validation DATE 20/01/2003 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -235,6 +235,9 @@ class MCSIMP: else: print "Objet non reconnu dans is_complexe %s" %`valeur` return 0 + # Pour permettre l'utilisation de complexes Python + #elif type(valeur) == types.ComplexType: + #return 1 elif type(valeur) != types.TupleType : return 0 else: -- 2.39.2