From f722cccabbb0033c02c271e334bd117f10c3c732 Mon Sep 17 00:00:00 2001 From: eficas <> Date: Tue, 17 May 2005 10:23:53 +0000 Subject: [PATCH] *** empty log message *** --- Aster/Cata/cataSTA74/Macro/__init__.py | 22 + Aster/Cata/cataSTA74/Macro/ajout_quad_gmsh.py | 252 + .../Cata/cataSTA74/Macro/calc_precont_ops.py | 468 + .../Cata/cataSTA74/Macro/defi_cable_bp_ops.py | 313 + .../cataSTA74/Macro/defi_part_feti_ops.py | 182 + .../Cata/cataSTA74/Macro/fiabilite_fichier.py | 335 + .../Cata/cataSTA74/Macro/fiabilite_mefisto.py | 448 + .../Cata/cataSTA74/Macro/impr_fonction_ops.py | 393 + Aster/Cata/cataSTA74/Macro/impr_table_ops.py | 232 + .../Cata/cataSTA74/Macro/lire_fonction_ops.py | 254 + .../cataSTA74/Macro/lire_inte_spec_ops.py | 122 + Aster/Cata/cataSTA74/Macro/lire_table_ops.py | 173 + .../cataSTA74/Macro/macr_adap_mail_ops.py | 727 + .../cataSTA74/Macro/macr_ascouf_calc_ops.py | 677 + .../cataSTA74/Macro/macr_ascouf_mail_ops.py | 2849 +++ .../cataSTA74/Macro/macr_aspic_calc_ops.py | 821 + .../cataSTA74/Macro/macr_aspic_mail_ops.py | 845 + .../cataSTA74/Macro/macr_cabri_calc_ops.py | 542 + .../cataSTA74/Macro/macr_cabri_mail_dat.py | 630 + .../cataSTA74/Macro/macr_cabri_mail_ops.py | 461 + .../cataSTA74/Macro/macr_cara_poutre_ops.py | 816 + .../Cata/cataSTA74/Macro/macr_ecla_pg_ops.py | 71 + .../cataSTA74/Macro/macr_fiab_impr_ops.py | 110 + .../cataSTA74/Macro/macr_fiabilite_ops.py | 324 + .../cataSTA74/Macro/macr_lign_coupe_ops.py | 173 + Aster/Cata/cataSTA74/Macro/macr_recal_ops.py | 162 + .../cataSTA74/Macro/macro_cara_poutre_ops.py | 684 + .../cataSTA74/Macro/macro_elas_mult_ops.py | 275 + .../cataSTA74/Macro/macro_matr_ajou_ops.py | 260 + .../cataSTA74/Macro/macro_matr_asse_ops.py | 160 + .../Cata/cataSTA74/Macro/macro_miss_3d_ops.py | 76 + .../cataSTA74/Macro/macro_mode_meca_ops.py | 139 + .../cataSTA74/Macro/macro_proj_base_ops.py | 63 + Aster/Cata/cataSTA74/Macro/pre_gmsh_ops.py | 61 + Aster/Cata/cataSTA74/Macro/reca_algo.py | 260 + Aster/Cata/cataSTA74/Macro/reca_interp.py | 180 + Aster/Cata/cataSTA74/Macro/reca_message.py | 115 + Aster/Cata/cataSTA74/Macro/recal.py | 379 + Aster/Cata/cataSTA74/Macro/stanley_ops.py | 66 + .../Cata/cataSTA74/Macro/test_fichier_ops.py | 195 + Aster/Cata/cataSTA74/__init__.py | 6 + .../Cata/{cata_STA7.py => cataSTA74/cata.py} | 2 +- Aster/Cata/cataSTA74/ops.py | 432 + Aster/Cata/cata_STA5.py | 11451 ---------- Aster/Cata/{cata_STA6.py => cata_STA8.py} | 18206 ++++++++++------ Aster/Cata/ops.py | 20 +- Aster/editeur.ini | 4 +- 47 files changed, 27576 insertions(+), 17860 deletions(-) create mode 100644 Aster/Cata/cataSTA74/Macro/__init__.py create mode 100644 Aster/Cata/cataSTA74/Macro/ajout_quad_gmsh.py create mode 100644 Aster/Cata/cataSTA74/Macro/calc_precont_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/defi_cable_bp_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/defi_part_feti_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/fiabilite_fichier.py create mode 100644 Aster/Cata/cataSTA74/Macro/fiabilite_mefisto.py create mode 100644 Aster/Cata/cataSTA74/Macro/impr_fonction_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/impr_table_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/lire_fonction_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/lire_inte_spec_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/lire_table_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_adap_mail_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_ascouf_calc_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_ascouf_mail_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_aspic_calc_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_aspic_mail_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_cabri_calc_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_cabri_mail_dat.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_cabri_mail_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_cara_poutre_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_ecla_pg_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_fiab_impr_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_fiabilite_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_lign_coupe_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macr_recal_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_cara_poutre_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_elas_mult_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_matr_ajou_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_matr_asse_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_miss_3d_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_mode_meca_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/macro_proj_base_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/pre_gmsh_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/reca_algo.py create mode 100644 Aster/Cata/cataSTA74/Macro/reca_interp.py create mode 100644 Aster/Cata/cataSTA74/Macro/reca_message.py create mode 100644 Aster/Cata/cataSTA74/Macro/recal.py create mode 100644 Aster/Cata/cataSTA74/Macro/stanley_ops.py create mode 100644 Aster/Cata/cataSTA74/Macro/test_fichier_ops.py create mode 100644 Aster/Cata/cataSTA74/__init__.py rename Aster/Cata/{cata_STA7.py => cataSTA74/cata.py} (99%) create mode 100644 Aster/Cata/cataSTA74/ops.py delete mode 100644 Aster/Cata/cata_STA5.py rename Aster/Cata/{cata_STA6.py => cata_STA8.py} (52%) diff --git a/Aster/Cata/cataSTA74/Macro/__init__.py b/Aster/Cata/cataSTA74/Macro/__init__.py new file mode 100644 index 00000000..e12f1800 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/__init__.py @@ -0,0 +1,22 @@ +#@ MODIF __init__ Macro DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== +print 74 diff --git a/Aster/Cata/cataSTA74/Macro/ajout_quad_gmsh.py b/Aster/Cata/cataSTA74/Macro/ajout_quad_gmsh.py new file mode 100644 index 00000000..e0d64393 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/ajout_quad_gmsh.py @@ -0,0 +1,252 @@ +#@ MODIF ajout_quad_gmsh Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + + +# script PYTHON de modification d'un fichier de maillage GMSH (*.msh) +# pour transformer les mailles lineiques en mailles quadratiques +# SEG2->SEG3 / TRIA3->TRIA6 / QUAD4->QUAD8, +# TETRA4 -> TETRA10 / PENTA6 -> PENTA15 / PYRAM5 -> PYRAM13 + +def ajout_quad_gmsh(texte): + + import os,sys,copy + + try: +# construction du dictionnaire nom du noeud / coordonnees : dict_no +# construction de la liste des noeuds : l_no + + typ_mail={} + typ_mail['LI']=['1'] + typ_mail['2D']=['2','3'] + typ_mail['3D']=['4','5','6','7'] + typ_mail['PO']=['15'] + + texte_eclate=texte.split('\n') + nbno=int(texte_eclate[texte_eclate.index('$NOD')+1]) + l_no=texte_eclate[texte_eclate.index('$NOD')+2:texte_eclate.index('$ENDNOD')] + dict_no={} + for i in texte_eclate[texte_eclate.index('$NOD')+2:texte_eclate.index('$ENDNOD')]: + cc=i.split(' ') + dict_no[cc[0]]=[] + for j in cc[1:]:dict_no[cc[0]].append(float(j)) + + l_el1=texte_eclate[texte_eclate.index('$ELM')+2:texte_eclate.index('$ENDELM')] + nbel =texte_eclate[texte_eclate.index('$ELM')+1] + + +# construction du dictionnaire : element / liste des aretes de l'element : elems_aretes +# et de son inverse : aretes / elements contenant cette arete : aretes_elems + + aretes_elems={} + elems_aretes={} + l_el=[] + for elem in l_el1 : + connec0=elem.split(' ')[5:] + while '' in connec0 : connec0.remove('') + aa=elem.split(' ')[:4] + +# attention : indicateur de type de maille : ajouter 7 pour passer +# de TRIA3 a TRIA6, de SEG2 a SEG3, de QUAD4 a QUAD8 (voir inigms.f) + +# si maille POI1, on ne fait rien + + if aa[1] not in typ_mail['PO'] : typel=str(int(aa[1])+7) + else : typel=aa[1] + nom_elem=aa[0]+' '+typel+' '+aa[2]+' '+aa[3] + segments=[] + +# traitement des mailles lineaires : un seul segment + if aa[1] in typ_mail['LI']: + segments.append([int(connec0[0]),int(connec0[1])]) + +# traitement des mailles planes (TRI3 QUA4) : on cree les segments en prenant les noeuds consecutivement, puis on ferme + elif aa[1] in typ_mail['2D']: + for i in range(len(connec0)-1) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[-1]),int(connec0[0])]) + +# traitement des mailles TETRA4 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif aa[1]=='4': + for i in range(0,2) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[2]),int(connec0[0])]) + for i in range(0,3) : segments.append([int(connec0[3]),int(connec0[i])]) + +# traitement des mailles HEXA8 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif aa[1]=='5': + for i in range(0,3) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[3]),int(connec0[0])]) + for i in range(4,7) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[7]),int(connec0[4])]) + for i in range(0,4) : segments.append([int(connec0[i]),int(connec0[i+4])]) + +# traitement des mailles PENTA6 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif aa[1]=='6': + for i in range(0,2) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[2]),int(connec0[0])]) + for i in range(3,5) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[5]),int(connec0[3])]) + for i in range(0,3) : segments.append([int(connec0[i]),int(connec0[i+3])]) + +# traitement des mailles PYRA5 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif aa[1]=='7': + for i in range(0,3) : segments.append([int(connec0[i]),int(connec0[i+1])]) + segments.append([int(connec0[3]),int(connec0[0])]) + for i in range(0,4) : segments.append([int(connec0[4]),int(connec0[i])]) + + elems_aretes[nom_elem]=[] + for seg in segments : + elems_aretes[nom_elem].append(copy.copy(seg)) + seg.sort() + for seg in segments : + if aretes_elems.has_key(tuple(seg)):aretes_elems[tuple(seg)].append(nom_elem) + else :aretes_elems[tuple(seg)]=[nom_elem] + l_el.append(nom_elem) + +# construction de la liste complete des aretes + + l_ar=aretes_elems.keys() + l_ar.sort() + +# numero du plus grand noeud : + nmax=int(l_no[-1].split(' ')[0]) + +# nouveau nombre total de noeuds : + ndtot=nbno+len(l_ar) + +# insertion des noeuds milieux dans le dictionnaire "aretes" et la liste "l_no" : + ind=nmax + for i in l_ar: + ind=ind+1 + x=(dict_no[str(i[0])][0]+dict_no[str(i[1])][0])/2 + y=(dict_no[str(i[0])][1]+dict_no[str(i[1])][1])/2 + z=(dict_no[str(i[0])][2]+dict_no[str(i[1])][2])/2 + l_no.append(str(ind)+' '+str(x)+' '+str(y)+' '+str(z)) + for elem in aretes_elems[i]: + for ar in elems_aretes[elem]: + k=copy.copy(ar) + k.sort() + kk=tuple(k) + if i==kk: + ar.insert(1,ind) + +# re-ecriture du fichier avec les noeuds milieux : + + resu='$NOD\n'+str(ndtot)+'\n' + for i in l_no: + resu=resu+i+'\n' + resu=resu+'$ENDNOD\n'+'$ELM\n'+nbel+'\n' + for i in l_el: + aa=i.split(' ')[:4] + if aa[1] not in typ_mail['PO']: + typ=str(int(aa[1])-7) + else : typ=aa[1] + if elems_aretes[i]!=[]: + resu=resu+i + +# traitement des mailles lineaires : d'abord les noeuds sommets, puis le noeud milieu + if typ in typ_mail['LI']: + resu=resu+' 3 ' + for j in elems_aretes[i]: + resu=resu+str(j[0])+' '+str(j[2])+' '+str(j[1])+' ' + +# traitement des mailles planes (TRI3 QUA4) : d'abord les noeuds sommets, puis, dans le meme ordre, les noeuds milieux + elif typ in typ_mail['2D']: + resu=resu+' '+str(len(elems_aretes[i])*2)+' ' + for j in elems_aretes[i]: + resu=resu+str(j[0])+' ' + for j in elems_aretes[i]: + resu=resu+str(j[1])+' ' + +# traitement des mailles TETRA4 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif typ=='4': + resu=resu+' 10 ' + for j in elems_aretes[i][:4]: + resu=resu+str(j[0])+' ' + resu=resu+str(elems_aretes[i][0][1])+' ' + resu=resu+str(elems_aretes[i][1][1])+' ' + resu=resu+str(elems_aretes[i][2][1])+' ' + resu=resu+str(elems_aretes[i][3][1])+' ' + resu=resu+str(elems_aretes[i][4][1])+' ' + resu=resu+str(elems_aretes[i][5][1])+' ' + +# traitement des mailles HEXA8 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif typ=='5': + resu=resu+' 20 ' + for j in elems_aretes[i][:8]: + resu=resu+str(j[0])+' ' + resu=resu+str(elems_aretes[i][0][1])+' ' + resu=resu+str(elems_aretes[i][1][1])+' ' + resu=resu+str(elems_aretes[i][2][1])+' ' + resu=resu+str(elems_aretes[i][3][1])+' ' + + resu=resu+str(elems_aretes[i][8][1])+' ' + resu=resu+str(elems_aretes[i][9][1])+' ' + resu=resu+str(elems_aretes[i][10][1])+' ' + resu=resu+str(elems_aretes[i][11][1])+' ' + + resu=resu+str(elems_aretes[i][4][1])+' ' + resu=resu+str(elems_aretes[i][5][1])+' ' + resu=resu+str(elems_aretes[i][6][1])+' ' + resu=resu+str(elems_aretes[i][7][1])+' ' + +# traitement des mailles PENTA6 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif typ=='6': + resu=resu+' 15 ' + for j in elems_aretes[i][:6]: + resu=resu+str(j[0])+' ' + resu=resu+str(elems_aretes[i][0][1])+' ' + resu=resu+str(elems_aretes[i][1][1])+' ' + resu=resu+str(elems_aretes[i][2][1])+' ' + + resu=resu+str(elems_aretes[i][6][1])+' ' + resu=resu+str(elems_aretes[i][7][1])+' ' + resu=resu+str(elems_aretes[i][8][1])+' ' + + resu=resu+str(elems_aretes[i][3][1])+' ' + resu=resu+str(elems_aretes[i][4][1])+' ' + resu=resu+str(elems_aretes[i][5][1])+' ' + +# traitement des mailles PYRA5 : pour comprendre, voir "fonctions de forme des elements isoparametriques" R3.01.01 + elif typ=='7': + resu=resu+' 13 ' + for j in elems_aretes[i][:4]: + resu=resu+str(j[0])+' ' + resu=resu+str(elems_aretes[i][0][1])+' ' + resu=resu+str(elems_aretes[i][1][1])+' ' + resu=resu+str(elems_aretes[i][2][1])+' ' + + resu=resu+str(elems_aretes[i][6][1])+' ' + resu=resu+str(elems_aretes[i][7][1])+' ' + resu=resu+str(elems_aretes[i][8][1])+' ' + + resu=resu+str(elems_aretes[i][3][1])+' ' + resu=resu+str(elems_aretes[i][4][1])+' ' + resu=resu+str(elems_aretes[i][5][1])+' ' + + else: +# traitement des mailles POI1 : on recopie la connectivite telle quelle, sans ajouter de nouveau noeud + resu=resu+l_el1[l_el.index(i)] + + resu=resu+'\n' + + resu=resu+'$ENDELM\n' + return resu + except : + return 0 diff --git a/Aster/Cata/cataSTA74/Macro/calc_precont_ops.py b/Aster/Cata/cataSTA74/Macro/calc_precont_ops.py new file mode 100644 index 00000000..b345ca86 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/calc_precont_ops.py @@ -0,0 +1,468 @@ +#@ MODIF calc_precont_ops Macro DATE 22/11/2004 AUTEUR LEBOUVIE F.LEBOUVIER +# -*- coding: iso-8859-1 -*- +# 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 copy + import aster + import string + import types + 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[0].cree_dict_valeurs(INCREMENT[0].mc_liste) + + __prec = dIncrement['PRECISION'] + __L0 = dIncrement['LIST_INST'] + __L1 = __L0.Valeurs() + + # Traitement de l'etat initial + if ETAT_INIT: + dEtatInit=ETAT_INIT[0].cree_dict_valeurs(ETAT_INIT[0].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: + ier=ier+1 + self.cr.fatal(""" ERREUR : INST_FIN PLUS PETIT QUE INST_INIT""") + return ier + + # 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[0].cree_dict_valeurs(NEWTON[0].mc_liste) + for i in dNewton.keys(): + if dNewton[i]==None : del dNewton[i] + + dConvergence=CONVERGENCE[0].cree_dict_valeurs(CONVERGENCE[0].mc_liste) + for i in dConvergence.keys(): + if dConvergence[i]==None : del dConvergence[i] + + dSolveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + for i in dSolveur.keys(): + if dSolveur[i]==None : del dSolveur[i] + + if RECH_LINEAIRE: + dRech_lin=RECH_LINEAIRE[0].cree_dict_valeurs(RECH_LINEAIRE[0].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[0].cree_dict_valeurs(SOLV_NON_LOCAL[0].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[0].cree_dict_valeurs(LAGR_NON_LOCAL[0].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 + # ------------------------------------------------------ + if type(CABLE_BP) is not types.NoneType: + if type(CABLE_BP) is not types.TupleType: + CABLE_BP0 = CABLE_BP + CABLE_BP = [] + CABLE_BP.append ( CABLE_BP0 ) + + if type(CABLE_BP_INACTIF) is not types.NoneType: + if type(CABLE_BP_INACTIF) is not types.TupleType: + CABLE_BP_INACTIF0 = CABLE_BP_INACTIF + CABLE_BP_INACTIF = [] + CABLE_BP_INACTIF.append ( CABLE_BP_INACTIF0 ) + + motscles={} + motscles['RELA_CINE_BP']=[] + motscle2={} + motscle2['RELA_CINE_BP']=[] + motscle3={} + motscle3['RELA_CINE_BP']=[] + __GROUP_MA_A=[] + Result = [[None]*1] + for mcabl in CABLE_BP: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscles['RELA_CINE_BP'].append(_F(CABLE_BP=mcabl, + SIGM_BPEL = 'OUI', + RELA_CINE = 'NON',) ) + motscle2['RELA_CINE_BP'].append(_F(CABLE_BP=mcabl, + SIGM_BPEL = 'NON', + RELA_CINE = 'OUI',) ) + motscle3['RELA_CINE_BP'].append(_F(CABLE_BP=mcabl, + 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=mcabl,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 mcabl in CABLE_BP_INACTIF: + __TCA0 = RECU_TABLE(CO=mcabl,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 mcabl in CABLE_BP_INACTIF: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscle6['RELA_CINE_BP'].append(_F(CABLE_BP=mcabl, + 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) + # ------------------------------------------------------ + + 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] + + 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 ' + __LMAIL = aster.getvectjev(__MOD) + __MAIL = string.strip(__LMAIL[0]) + + objma=self.get_sd_avant_etape(__MAIL,self) + + __M_CA=AFFE_MODELE( MAILLAGE=objma, + 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, + 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 + 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] + + 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/cataSTA74/Macro/defi_cable_bp_ops.py b/Aster/Cata/cataSTA74/Macro/defi_cable_bp_ops.py new file mode 100644 index 00000000..3d234d76 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/defi_cable_bp_ops.py @@ -0,0 +1,313 @@ +#@ MODIF defi_cable_bp_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 + +# =========================================================================== +# CORPS DE LA MACRO "DEFI_CABLE_BP" +# ------------------------------------- +# USAGE : +# Entrée : +# - MAILLAGE +# - MODELE +# - CABLE +# - CHAM_MATER +# - CARA_ELEM +# - GROUP_MA_BETON +# - DEFI_CABLE +# - TYPE_ANCRAGE +# - TENSION_INIT +# - RECUL_ANCRAGE +# - RELAXATION +# - CONE +# RAYON +# LONGUEUR +# PRESENT OUI ou NON deux fois +# - TITRE +# - INFO 1 / 2 +# +# =========================================================================== + + + +def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON, + DEFI_CABLE,TYPE_ANCRAGE,TENSION_INIT,RECUL_ANCRAGE, + RELAXATION,CONE,TITRE,INFO,**args): + + """ + Ecriture de la macro DEFI_CABLE_BP + """ + from Accas import _F + import aster,string + ier=0 + + # On importe les definitions des commandes a utiliser dans la macro + DEFI_GROUP = self.get_cmd('DEFI_GROUP') + IMPR_RESU = self.get_cmd('IMPR_RESU') + DEFI_CABLE_OP = self.get_cmd('DEFI_CABLE_OP') + RECU_TABLE = self.get_cmd('RECU_TABLE') + IMPR_TABLE = self.get_cmd('IMPR_TABLE') + IMPR_CO = self.get_cmd('IMPR_CO') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # Le concept sortant (de type char_meca) est nomme CHCABLE dans + # le contexte de la macro + + self.DeclareOut('__DC',self.sd) + + # ---------------------------------------------------------------------------- # + # Début de la Macro : + + motscles={} + + # RECUPERATION DES INFOS DONNEES PAR LE MOT-CLE "CONE" + + if CONE: + dCONE=CONE[0].cree_dict_valeurs(CONE[0].mc_liste) + for i in dCONE.keys(): + if dCONE[i]==None : del dCONE[i] + + RAYON = dCONE['RAYON'] + LONGUEUR = dCONE['LONGUEUR'] + + motscles['CONE']=[] + motscles['CONE'].append( dCONE ) + + + # VERIFICATION QUE LE MAILLAGE EST COHERENT AVEC LE MODELE + + __MAIL = aster.getvectjev( string.ljust(MODELE.nom,8) + '.MODELE .NOMA ' ) + if string.ljust(MAILLAGE.nom,8) != __MAIL[0] : + self.DeclareOut(MAILLAGE.nom,maillage) + print ' ' + print ' # ---------------------------------------------------------------------------' + print ' # DEFI_CABLE_BP - Erreur : LE CONCEPT MAILLAGE RENSEIGNE NE CORRESPOND' + print ' # PAS A CELUI UTILISE DANS LE MODELE !' + print ' # ',MAILLAGE.nom,' - ',__MAIL[0] + print ' # ---------------------------------------------------------------------------' + print ' ' + ier=ier+1 + self.cr.fatal(""" Erreur dans la macro""") + return ier + + + # DEFINITION DU NOM DES GROUP_NO + + __NOM = '_AN_' + __LGNO = MAILLAGE.LIST_GROUP_NO() + __LGN1 = [] + for i in __LGNO : + __LGN1.append( i[0][:len(__NOM)] ) + + __NB = __LGN1.count(__NOM) + +# FIN RECUPERATION DES INFOS DONNEES PAR LE MOT-CLE "CONE" + + + # RECUPERATION DES INFOS DONNEES PAR LE MOT-CLE "DEFI_CABLE" + + dDEFI_CABLE=[] + for j in DEFI_CABLE : + dDEFI_CABLE.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dDEFI_CABLE[-1].keys(): + if dDEFI_CABLE[-1][i]==None : del dDEFI_CABLE[-1][i] + + + # BOUCLE SUR LES FACTEURS DU MOT-CLE "DEFI_CABLE" + + motscles['DEFI_CABLE']=[] + + for i in dDEFI_CABLE: + + # CAS OU L'ON A DEFINI LE MOT-CLE "CONE" + if CONE: + + # CREATION DU PREMIER TUNNEL + + if dCONE['PRESENT'][0] == 'OUI': + __NB = __NB + 1 + __NOM1 = __NOM + str( int(__NB) ) + + motscle2={} + motscle2['CREA_GROUP_NO']=[] + + if i.has_key('GROUP_MA') == 1: + __CAB = i['GROUP_MA'] + motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM1}]} + if i.has_key('MAILLE') == 1: + print ' ' + print ' # ---------------------------------------------------------------------------' + print ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA' + print ' # ---------------------------------------------------------------------------' + print ' ' + ier=ier+1 + self.cr.fatal(""" Erreur dans la macro""") + return ier + if i.has_key('GROUP_NO_ANCRAGE') == 1: + __PC1 = i['GROUP_NO_ANCRAGE'][0] + motscle2['CREA_GROUP_NO'][0]['GROUP_NO_ORIG'] = __PC1 + if i.has_key('NOEUD_ANCRAGE') == 1: + __PC1 = i['NOEUD_ANCRAGE'][0] + motscle2['CREA_GROUP_NO'][0]['NOEUD_ORIG'] = __PC1 + + + DEFI_GROUP( reuse=MAILLAGE, + MAILLAGE=MAILLAGE, + INFO=INFO, + ALARME='NON', + **motscle2 + ) ; + + # CREATION DU DEUXIEME TUNNEL + + if dCONE['PRESENT'][1] == 'OUI': + __NB = __NB + 1 + __NOM2 = __NOM + str( int(__NB) ) + + motscle2={} + motscle2['CREA_GROUP_NO']=[] + + if i.has_key('GROUP_MA') == 1: + __CAB = i['GROUP_MA'] + motscle2= {'CREA_GROUP_NO': [{'LONGUEUR': LONGUEUR, 'RAYON': RAYON, 'OPTION': 'TUNNEL', 'GROUP_MA': [ GROUP_MA_BETON, __CAB ], 'GROUP_MA_AXE': __CAB, 'NOM': __NOM2}]} + if i.has_key('MAILLE') == 1: + print ' ' + print ' # ---------------------------------------------------------------------------' + print ' # DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA' + print ' # ---------------------------------------------------------------------------' + print ' ' + ier=ier+1 + self.cr.fatal(""" Erreur dans la macro""") + return ier + if i.has_key('GROUP_NO_ANCRAGE') == 1: + __PC1 = i['GROUP_NO_ANCRAGE'][1] + motscle2['CREA_GROUP_NO'][0]['GROUP_NO_ORIG'] = __PC1 + if i.has_key('NOEUD_ANCRAGE') == 1: + __PC1 = i['NOEUD_ANCRAGE'][1] + motscle2['CREA_GROUP_NO'][0]['NOEUD_ORIG'] = __PC1 + + DEFI_GROUP( reuse=MAILLAGE, + MAILLAGE=MAILLAGE, + INFO=INFO, + ALARME='NON', + **motscle2 + ) ; + + + # CREATION DES NOUVEAUX FACTEURS DU MOT-CLE "DEFI_CABLE" POUR DEFI_CABLE_BP + + if dCONE['PRESENT'][0] == 'OUI' and dCONE['PRESENT'][1] == 'OUI': + if i.has_key('GROUP_MA') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], + GROUP_NO_FUT=( __NOM1,__NOM2, ), ), ) + if i.has_key('GROUP_MA') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], + GROUP_NO_FUT=( __NOM1,__NOM2, ), ), ) + + if dCONE['PRESENT'][0] == 'OUI' and dCONE['PRESENT'][1] == 'NON': + if i.has_key('GROUP_MA') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], + GROUP_NO_FUT=( __NOM1, ), ), ) + if i.has_key('GROUP_MA') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], + GROUP_NO_FUT=( __NOM1, ), ), ) + + if dCONE['PRESENT'][0] == 'NON' and dCONE['PRESENT'][1] == 'OUI': + if i.has_key('GROUP_MA') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], + GROUP_NO_FUT=( __NOM2, ), ), ) + if i.has_key('GROUP_MA') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], + GROUP_NO_FUT=( __NOM2, ), ), ) + + if dCONE['PRESENT'][0] == 'NON' and dCONE['PRESENT'][1] == 'NON': + if i.has_key('GROUP_MA') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], ), ) + if i.has_key('GROUP_MA') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], ), ) + + + # CAS OU L'ON A PAS DEFINI LE MOT-CLE "CONE" + else: + if i.has_key('GROUP_MA') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], ), ) + + if i.has_key('GROUP_MA') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(GROUP_MA=i['GROUP_MA'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], ), ) + + if i.has_key('MAILLE') == 1 and i.has_key('GROUP_NO_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(MAILLE=i['MAILLE'], + GROUP_NO_ANCRAGE=i['GROUP_NO_ANCRAGE'], ), ) + + if i.has_key('MAILLE') == 1 and i.has_key('NOEUD_ANCRAGE') == 1: + motscles['DEFI_CABLE'].append( _F(MAILLE=i['MAILLE'], + NOEUD_ANCRAGE=i['NOEUD_ANCRAGE'], ), ) + + +# FIN BOUCLE sur i in DEFI_CABLE + + + # LANCEMENT DE DEFI_CABLE_BP + + if RELAXATION: + dRelaxation=RELAXATION[0].cree_dict_valeurs(RELAXATION[0].mc_liste) + for i in dRelaxation.keys(): + if dRelaxation[i]==None : del dRelaxation[i] + + __DC=DEFI_CABLE_OP(MODELE=MODELE, + CHAM_MATER=CHAM_MATER, + CARA_ELEM=CARA_ELEM, + GROUP_MA_BETON=GROUP_MA_BETON, + TYPE_ANCRAGE=TYPE_ANCRAGE, + TENSION_INIT=TENSION_INIT, + RECUL_ANCRAGE=RECUL_ANCRAGE, + RELAXATION=dRelaxation, + INFO=INFO, + **motscles + ); + + else: + + __DC=DEFI_CABLE_OP(MODELE=MODELE, + CHAM_MATER=CHAM_MATER, + CARA_ELEM=CARA_ELEM, + GROUP_MA_BETON=GROUP_MA_BETON, + TYPE_ANCRAGE=TYPE_ANCRAGE, + TENSION_INIT=TENSION_INIT, + RECUL_ANCRAGE=RECUL_ANCRAGE, + INFO=INFO, + **motscles + ); + +# __TCAB = RECU_TABLE(CO=__DC,NOM_TABLE='CABLE_BP'); +# IMPR_TABLE(TABLE=__TCAB); + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/defi_part_feti_ops.py b/Aster/Cata/cataSTA74/Macro/defi_part_feti_ops.py new file mode 100644 index 00000000..bf46f881 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/defi_part_feti_ops.py @@ -0,0 +1,182 @@ +#@ MODIF defi_part_feti_ops Macro DATE 23/11/2004 AUTEUR ASSIRE A.ASSIRE +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE ASSIRE A.ASSIRE + + +# =========================================================================== +# CORPS DE LA MACRO "DEFI_PART_FETI" +# ------------------------------------- +# USAGE : +# MAILLAGE maillage a partitionner +# MODELE modele (facultatif) +# NB_PART nb de sous-domaines +# EXCIT liste des chargements +# METHODE PMETIS, KMETIS ou AUTRE +# LOGICIEL si AUTRE alors on attend un chemin complet vers executable +# NOM_GROUP_MA Un nom de base pour les group_ma contenant les SD +# INFO 1,2 +# +# =========================================================================== +# script PYTHON : appel a Metis et lancement de DEFI_PART_OPS + + +def defi_part_feti_ops(self,MAILLAGE,MODELE,NB_PART,EXCIT,METHODE,NOM_GROUP_MA,INFO,**args): + + import aster, string, sys + + from Accas import _F + from Noyau.N_utils import AsType + + from Utilitai import partition + + # DEBUT DE LA MACRO + ier=0 + + INCLUSE='NON' # On cree des GROUP_MA pour les mailles de bords (pour developpeur) + + # Nom des GROUP_MA générés + NOM_GROUP_MA = string.strip(NOM_GROUP_MA) + NOM_GROUP_MA_BORD = '_' + NOM_GROUP_MA + + # Test sur le nombre de caractères de NOM_GROUP_MA + if ( len(NOM_GROUP_MA)+len(str(NB_PART)) > 7 ): + print '\n\n ERREUR : Afin de pouvoir générer les GROUP_MA, réduisez le nombre \n de caractères de NOM_GROUP_MA à un maximum de :', 7-len(str(NB_PART)) + print '\n\n' + sys.exit(1) + + # Verification que des GROUP_MA ne portent pas deja les memes noms + _lst = [] + for i in MAILLAGE.LIST_GROUP_MA(): + _lst.append( string.strip(i[0]) ) + for i in range(NB_PART): + if ( NOM_GROUP_MA+str(i) in _lst ): + print '\n\n ERREUR : Il existe déjà un GROUP_MA nommé : ', NOM_GROUP_MA+str(i) + print '\n\n' + sys.exit(1) + if ( NOM_GROUP_MA_BORD+str(i) in _lst ): + print '\n\n ERREUR : Il existe déjà un GROUP_MA nommé : ', NOM_GROUP_MA_BORD+str(i) + print '\n\n' + sys.exit(1) + + # Executable du partitionneur + if METHODE=="AUTRE": + exe_metis = arg['LOGICIEL'] + else: + exe_metis = aster.repout() + string.lower(METHODE) + + # On importe les definitions des commandes a utiliser dans la macro + DEFI_PART_OPS = self.get_cmd('DEFI_PART_OPS') + INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER') + DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') + DETRUIRE = self.get_cmd('DETRUIRE') + + # La macro compte pour 1 dans la numerotation des commandes + self.icmd=1 + + # Le concept sortant dans le contexte de la macro + self.DeclareOut('_SDFETI',self.sd) + + # Debut : + print """ + + # --------------------------------------------------------------------------- + # MACRO-COMMANDE : DEFI_PART_FETI + # ---------------- +""" + + # Objet Partition + _part = partition.PARTITION(jdc=self); + + # Recuperation de deux UL libres + _UL=INFO_EXEC_ASTER(LISTE_INFO='UNITE_LIBRE') + ul1=_UL['UNITE_LIBRE',1] + DETRUIRE(CONCEPT=(_F(NOM=_UL),), INFO=1) + DEFI_FICHIER(UNITE=ul1) + _UL=INFO_EXEC_ASTER(LISTE_INFO='UNITE_LIBRE') + ul2=_UL['UNITE_LIBRE',1] + DEFI_FICHIER(ACTION='LIBERER',UNITE=ul1) + + fichier_in = 'fort.' + str(ul1) + fichier_out = 'fort.' + str(ul2) + + # Options de la classe Partition + _part.OPTIONS['exe_metis'] = exe_metis + _part.OPTIONS['fichier_in'] = fichier_in + _part.OPTIONS['fichier_out'] = fichier_out + + + # Partitionnement + if MODELE: + _part.Partitionne_Aster( + MAILLAGE = MAILLAGE, + MODELE = MODELE, + NB_PART = NB_PART, + INFO = INFO, + ); + + elif MAILLAGE: + _part.Partitionne_Aster( + MAILLAGE = MAILLAGE, + NB_PART = NB_PART, + INFO = INFO, + ); + + + # Creation des group_ma dans le maillage Aster + _part.Creation_Group_ma_Aster_par_SD(NOM=NOM_GROUP_MA, NOM2=NOM_GROUP_MA_BORD, INCLUSE=INCLUSE) + + + # Creation de la SDFETI + if MODELE: + _tmp = [] + for i in range(NB_PART): + txt = { 'GROUP_MA': NOM_GROUP_MA + str(i) } + if ( NOM_GROUP_MA_BORD+str(i) in _part.ASTER['GROUP_MA_BORD'] ): + txt['GROUP_MA_BORD'] = NOM_GROUP_MA_BORD + str(i) + _tmp.append( txt ) + + motscle2= {'DEFI': _tmp } + + # Regeneration des mots-cles EXCIT passés en argument de la macro + if EXCIT: + dExcit=[] + for j in EXCIT : + dExcit.append(j.cree_dict_valeurs(j.mc_liste)) + for i in dExcit[-1].keys(): + if dExcit[-1][i]==None : del dExcit[-1][i] + motscle2['EXCIT']=dExcit + + _SDFETI=DEFI_PART_OPS(NOM='SDD', + MODELE=MODELE, + INFO=1, + **motscle2 + ); + else: + _SDFETI=None + + + # Fin : + print """ + + % FIN MACRO-COMMANDE: DEFI_PART_FETI + +""" + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/fiabilite_fichier.py b/Aster/Cata/cataSTA74/Macro/fiabilite_fichier.py new file mode 100644 index 00000000..1462a5ec --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/fiabilite_fichier.py @@ -0,0 +1,335 @@ +#@ MODIF fiabilite_fichier Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 +# +class fiabilite_fichier : +# + """ Classe des fichiers de données des logiciels fiabilistes + Cette classe a été mise au point pour le couplage entre + Code_ASTER et MEFISTO, mais pourrait servir ailleurs. + """ +# +# +#==== +# 1. Le constructeur +#==== +# +# + def __init__ ( self, jdc, Rep_Calc_LOGICIEL_global, nomfic, info = 1 ) : +# +# jdc : le jeu de commandes en cours de traitement +# + self.jdc = jdc +# +# Rep_Calc_LOGICIEL_global : le répertoire d'exécution du logiciel de fiabilité +# + self.Rep_Calc_LOGICIEL_global = Rep_Calc_LOGICIEL_global +# +# nomfic : nom local du fichier à créer +# + self.nomfic = nomfic +# +# messages_erreur : messages d'erreur +# + self.messages_erreur = { 0 : "Tout va bien", + 1 : "==> Ce fichier est inconnu.", + 2 : "==> Ce type d'ouverture est inconnu.", + 10 : "==> Problème à l'ouverture.", + 11 : "==> Problème à la fermeture.", + 20 : "==> Problème à l'impression." } +# +# info : niveau d'information au sens ASTER +# + self.info = info +# +# ligne_sep : ligne de séparation +# + self.ligne_sep = "=========================================================" + self.ligne_commentaire = "#" + self.ligne_sep + "\n" +# + if info >= 2 : + print "Création du fichier : "+self.nomfic +# +#==== +# 2. Ouverture du fichier +#==== +# + def Ouvre_Fichier ( self, type_ouvr ) : +# +# 2.0. ==> Préalables +# + """ + Ouvre le fichier en lecture ou écriture. + 0 : tout s'est bien passé + 1 : on veut ouvrir en lecture un fichier qui n'existe pas + 2 : le mode d'ouverture est inconnu + 10 : impossible d'ouvrir + """ +# + import os +# +# 2.1. ==> Le nom global du fichier +# + self.nomfic_global = os.path.join(self.Rep_Calc_LOGICIEL_global,self.nomfic) +# +# 2.2. ==> Controles +# + erreur = 0 +# + if ( type_ouvr == "w" or type_ouvr == "r" ) : +# + if ( type_ouvr == "r" ) : + if not os.path.isfile(self.nomfic_global) : + erreur = 1 + + else : +# + self.jdc.cr.warn("Type d'ouverture : "+type_ouvr) + erreur = 2 +# +# 2.3. ==> Ouverture vraie +# + if not erreur : +# + erreur_partiel = [0] + try : + self.fic = open( self.nomfic_global, type_ouvr ) + except os.error,erreur_partiel : + self.jdc.cr.warn("Code d'erreur de open : " + str(erreur_partiel[0]) + " : " + erreur_partiel[1]) + erreur = 10 +# +# 2.4. ==> C'est fini +# + if erreur : + self.jdc.cr.warn("Fichier : "+self.nomfic) + self.jdc.cr.warn(self.messages_erreur[erreur]) +# + return erreur +# +#==== +# 3. Fermeture du fichier +#==== +# + def Ferme_Fichier ( self ) : +# +# 3.0. ==> Préalables +# + """ + Ferme le fichier. + 0 : tout s'est bien passé + 20 : impossible d'imprimer + """ +# + import os +# +# 3.1. ==> Controles +# + erreur = 0 +# + if not os.path.isfile(self.nomfic_global) : + erreur = 1 +# +# 3.2. ==> Fermeture vraie +# + if not erreur : +# + erreur_partiel = [0] + try : + self.fic.close( ) + except os.error,erreur_partiel : + self.jdc.cr.warn("Code d'erreur de close : " + str(erreur_partiel[0]) + " : " + erreur_partiel[1]) + erreur = 11 +# +# 3.3. ==> C'est fini +# + if erreur : + self.jdc.cr.warn("Fichier : "+self.nomfic) + self.jdc.cr.warn(self.messages_erreur[erreur]) +# + return erreur +# +#==== +# 4. Impression du contenu du fichier +#==== +# + def Imprime_Fichier ( self ) : +# +# 4.0. ==> Préalables +# + """ + Imprime le fichier. + 0 : tout s'est bien passé + 20 : impossible d'imprimer + """ +# +# 4.1. ==> Lecture +# + erreur = self.Ouvre_Fichier ( "r" ) + if not erreur : + les_lignes = self.fic.readlines() + erreur = self.Ferme_Fichier ( ) +# +# 4.2. ==> Impression +# + if not erreur : +# + print "\n"+self.ligne_sep + print "Contenu du fichier " + self.nomfic," :" + for ligne in les_lignes : + print ligne[:-1] + print self.ligne_sep+"\n" +# +# 4.4. ==> C'est fini +# + if erreur : + erreur = 20 + self.jdc.cr.warn("Fichier : "+self.nomfic) + self.jdc.cr.warn(self.messages_erreur[erreur]) +# + return erreur +# +#==== +# 5. Ecriture de lignes de commentaires +#==== +# + def Ecrit_Commentaires ( self, comm ) : +# + """ + Liste = commentaires à écrire + Soit c'est une chaine qu'on écrit sur une ligne ; + Soit c'est une liste, qu'on écrit à raison de une par ligne. + Remarque : cela suppose que le fichier est ouvert en écriture + """ +# + if type(comm) == type([ ]) : + Liste = comm + else : + Liste = [comm] +# + for ligne in Liste : + self.fic.write("# "+str(ligne)+"\n") +# +#==== +# 6. Ecriture de lignes de titres +#==== +# + def Ecrit_Titre ( self, comm ) : +# + """ + Liste = commentaires à écrire, encadrés par des séparateurs + Soit c'est une chaine qu'on écrit sur une ligne ; + Soit c'est une liste, qu'on écrit à raison de une par ligne. + Remarque : cela suppose que le fichier est ouvert en écriture + """ +# + self.fic.write(self.ligne_commentaire) + self.Ecrit_Commentaires(comm) + self.fic.write(self.ligne_commentaire) +# +#==== +# 7. Ecriture d'une ligne de valeurs +#==== +# + def Ecrit_Valeurs ( self, val ) : +# + """ + Liste = liste des valeurs à écrire, représenatn une ligne + Remarque : cela suppose que le fichier est ouvert en écriture + """ +# + if type(val) == type([ ]) : + ligne = " " + for aux in val : + ligne = ligne + " " + str(aux) + else : + ligne = str(val) +# + self.fic.write(ligne+"\n") +# +# +#======================================================================================= +#======================================================================================= + + +# +# +if __name__ == "__main__" : +# + import os + import sys + import tempfile +# +# 1. ==> Préalable +# + Rep_Calc_LOGICIEL_global = tempfile.mktemp() + os.mkdir(Rep_Calc_LOGICIEL_global) +# + jdc = None +# +# 2. ==> Création de la classe +# + nomfic = "dataGrad" + fic = fiabilite_fichier ( jdc, Rep_Calc_LOGICIEL_global , nomfic ) +# +# 3. ==> Ouverture du fichier +# + erreur = fic.Ouvre_Fichier ( "w" ) +# +# 4. ==> Remplissage du fichier +# + if not erreur : + aux = ["Titre 1", "Titre 2"] + fic.Ecrit_Titre (aux) + aux = ["Ligne 1", "Ligne 2"] + fic.Ecrit_Commentaires (aux) + aux = "Ligne en forme de chaine" + fic.Ecrit_Commentaires (aux) + aux = 1789.1792 + fic.Ecrit_Commentaires (aux) + aux = [1, 0.0] + fic.Ecrit_Valeurs (aux) + aux = 1958. + fic.Ecrit_Valeurs (aux) +# +# 5. ==> Fermeture du fichier +# + if not erreur : + erreur = fic.Ferme_Fichier ( ) +# +# 4. ==> Impression du fichier +# + if not erreur : + erreur = fic.Imprime_Fichier ( ) +# +# 4. ==> La fin +# + Liste = os.listdir(Rep_Calc_LOGICIEL_global) +# + for nomfic in Liste : + fic_total = os.path.join(Rep_Calc_LOGICIEL_global,nomfic) + os.chmod (fic_total,0755) + os.remove (fic_total) + os.rmdir (Rep_Calc_LOGICIEL_global) +# + if erreur : + mess = "Erreur " + str(erreur) + else : + mess = "Fin normale." + sys.exit(mess) diff --git a/Aster/Cata/cataSTA74/Macro/fiabilite_mefisto.py b/Aster/Cata/cataSTA74/Macro/fiabilite_mefisto.py new file mode 100644 index 00000000..3f820843 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/fiabilite_mefisto.py @@ -0,0 +1,448 @@ +#@ MODIF fiabilite_mefisto Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, + INFO, VERSION, + SEUIL, SEUIL_TYPE, + VARIABLE, + valeurs_lois, + **args ) : +# +# valeurs_lois est un dictionnaire indexé sur les variables. +# Chaque case, valeurs_lois[m], est un dictionnaire contenant : +# d["v_moy_physique"] = valeur moyenne physique +# d["v_moy_loi"] = valeur moyenne de la loi +# d["v_min_loi"] = valeur minimale de la loi +# d["v_max_loi"] = valeur maximale de la loi +# d["sigma_loi"] = ecart type de la loi +# +# args est le dictionnaire des arguments optionnels +# args.keys() est la liste des mots-clés +# args.keys()[0] est la premiere valeur de cette liste +# args.keys()[1:] est la liste des valeurs suivantes dans cette liste +# args.keys(mot_cle) représente le contenu de la variable mot_cle dans la macro appelante. +# + """ Ecriture des données spécifiques à MEFISTO. """ +# + from Macro import fiabilite_fichier + import os + import string +# +#____________________________________________________________________ +# +# 1. Préalables +#____________________________________________________________________ +# +# + messages_erreur = { 0 : "Tout va bien", + 1 : "Fichier inconnu.", + 2 : "Problème d'ouverture de fichier.", + 10 : "Problème d'ouverture de fichier.", + 11 : "Problème de fermeture de fichier.", + 20 : "Problème d'impression de fichier.", + 50 : "Donnée inacceptable.", + 100 : "Erreur." } +# + trad_oui_non = { "OUI" : 1, + "NON" : 0 } +# + erreur = 0 +# + while not erreur : +# +#____________________________________________________________________ +# +# 2. Les fichiers pour le logiciel de fiabilité +# Ils sont créés dans le répertoire d'exécution du logiciel de fiabilité, avec leurs noms officiels +#____________________________________________________________________ +# +# + fic_dataMenu = "dataMenu" + fic_dataStoch = "dataStoch" + fic_dataNum = "dataNum" + fic_dataGrad = "dataGrad" +# +#____________________________________________________________________ +# +# 3. Construction du fichier 'dataMenu' +#____________________________________________________________________ +# +# 3.1 ==> Ouverture du fichier +# + f_menu = fiabilite_fichier.fiabilite_fichier ( self, Rep_Calc_LOGICIEL_global, fic_dataMenu, INFO ) + erreur = f_menu.Ouvre_Fichier ( "w" ) + if erreur : + break +# +# 3.2 ==> Ecriture des données nécessaires +# + f_menu.Ecrit_Titre ("MENU DU PROGRAMME MEFISTO") + f_menu.Ecrit_Titre ("1 <=> OUI et 0 <=> NON (entiers)") +# + f_menu.Ecrit_Titre ("Recherche du point de conception") + aux = trad_oui_non[args["RECH_PT_CONCEPT"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("First Order Reliability Analyses") + aux = trad_oui_non[args["METHODE_FORM"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Second Order Reliability Analyses") + aux = trad_oui_non[args["METHODE_SORM"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Importance Sampling Analyses") + aux = trad_oui_non[args["TIRAGE_IMPORTANCE"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Optimality Test (1) : Hessian Test") + aux = trad_oui_non[args["T_HESSIEN"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Optimality Test (2) : Sphere Test") + aux = trad_oui_non[args["T_SPHERE"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Optimality Test (3) : Strong Max Test") + aux = trad_oui_non[args["T_MAXIMUM_FORT"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Experiment Plan") + aux = trad_oui_non[args["PLAN_EXPERIENCE"]] + f_menu.Ecrit_Valeurs (aux) +# + f_menu.Ecrit_Titre ("Polynomial Taylor Approximation (order 2)") + aux = trad_oui_non[args["POLYNOME_TAYLOR"]] + f_menu.Ecrit_Valeurs (aux) +# +# 3.3 ==> Fermeture du fichier +# + erreur = f_menu.Ferme_Fichier ( ) + if erreur : + break +# + if INFO >= 2 : + erreur = f_menu.Imprime_Fichier ( ) + if erreur : + break +# +#____________________________________________________________________ +# +# 4. Construction du fichier "dataStoch" +#____________________________________________________________________ +# +# 4.1 ==> Ouverture du fichier +# + f_stoch = fiabilite_fichier.fiabilite_fichier ( self, Rep_Calc_LOGICIEL_global, fic_dataStoch, INFO ) + erreur = f_stoch.Ouvre_Fichier ( "w" ) + if erreur : + break +# +# 4.2 ==> Nombre d'occurence de VARIABLE +# + nb_occu_variable = len(VARIABLE) +# +# 4.3 ==> Ecriture des données nécessaires +# + f_stoch.Ecrit_Titre ("Code name") + aux=string.replace(VERSION,"_",".") + aux=string.replace(aux,"N","n") + aux=string.replace(aux,"V","v") + f_stoch.Ecrit_Valeurs ( "aster_" + aux ) +# + aux = [ "Gradients evaluated by the code" ] + aux.append("1 : Au moins 1 ; 0 : aucun") + f_stoch.Ecrit_Titre (aux) + gradient = 0 + for m in VARIABLE : + if m["GRADIENT"] == "OUI" : gradient = 1 + f_stoch.Ecrit_Valeurs (gradient) +# + f_stoch.Ecrit_Titre ("Variates number") + f_stoch.Ecrit_Valeurs ( nb_occu_variable ) +# + aux = [ "Stochastic Variates" ] + aux.append("1: Uniforme (min, max)") + aux.append("2: Normal (mean, std dev)") + aux.append("3: LogNormal (mean, std dev, min)") + aux.append("4: Normal Truncated (mean, std dev, min, max)") + f_stoch.Ecrit_Titre (aux) +# + for m in VARIABLE : +# + d = valeurs_lois[m] + if m["LOI"] == "UNIFORME" : + f_stoch.Ecrit_Valeurs ( [ m["NOM"], 1 , d["v_min_loi"] , d["v_max_loi"] ] ) + elif m["LOI"] == "NORMALE" : + f_stoch.Ecrit_Valeurs ( [ m["NOM"], 2 , d["v_moy_loi"] , d["sigma_loi"] ] ) + elif m["LOI"] == "LOGNORMALE" : + f_stoch.Ecrit_Valeurs ( [ m["NOM"], 3 , d["v_moy_loi"] , d["sigma_loi"] , d["v_min_loi"] ] ) + elif m["LOI"] == "NORMALE_TRONQUEE" : + f_stoch.Ecrit_Valeurs ( [ m["NOM"], 4 , d["v_moy_loi"] , d["sigma_loi"] , d["v_min_loi"] , d["v_max_loi"] ] ) + else : + erreur = 50 +# + if erreur : + break +# + f_stoch.Ecrit_Titre ("Initial Points") + for m in VARIABLE : + if m["POINT_INI"] is None : + aux = valeurs_lois[m]["v_moy_physique"] + else : + aux = m["POINT_INI"] + f_stoch.Ecrit_Valeurs ( aux ) +# + f_stoch.Ecrit_Titre ("Reference Points") + for m in VARIABLE : + if m["POINT_REF"] is None : + aux = valeurs_lois[m]["v_moy_physique"] + else : + aux = m["POINT_REF"] + f_stoch.Ecrit_Valeurs ( aux ) +# + f_stoch.Ecrit_Titre ("Design Points") + for m in VARIABLE : + if args["RECH_PT_CONCEPT"] == "OUI" : + aux = 1792. + elif m["POINT_CONCEPT"] is None : + aux = valeurs_lois[m]["v_moy_physique"] + else : + aux = m["POINT_CONCEPT"] + f_stoch.Ecrit_Valeurs ( aux ) +# + f_stoch.Ecrit_Titre ("Correlation matrix fictive") + for m in range(nb_occu_variable) : + aux = [ ] + for n in range(nb_occu_variable) : + aux.append(args["MATRICE"][n + m*nb_occu_variable]) + f_stoch.Ecrit_Valeurs ( aux ) +# + f_stoch.Ecrit_Titre ("Parameter threshold value") + if SEUIL_TYPE == "MAXIMUM" : + aux = SEUIL + else : + aux = -SEUIL + f_stoch.Ecrit_Valeurs ( aux ) +# +# 4.4 ==> Fermeture du fichier +# + erreur = f_stoch.Ferme_Fichier ( ) + if erreur : + break +# + if INFO >= 2 : + erreur = f_stoch.Imprime_Fichier ( ) + if erreur : + break +# +#____________________________________________________________________ +# +# 5. Construction du fichier 'dataNum' +#____________________________________________________________________ +# +# 5.1 ==> Ouverture du fichier +# + f_num = fiabilite_fichier.fiabilite_fichier ( self, Rep_Calc_LOGICIEL_global, fic_dataNum, INFO ) + erreur = f_num.Ouvre_Fichier ( "w" ) + if erreur : + break +# +# 5.2 ==> Ecriture des données nécessaires +# + f_num.Ecrit_Titre ("Parameters : EpsU, EpsG, Tau, Omega, iterMax") + if args["RECH_PT_CONCEPT"] == "OUI" : + f_num.Ecrit_Valeurs (args["EPSILON_U"]) + f_num.Ecrit_Valeurs (args["EPSILON_G"]) + f_num.Ecrit_Valeurs (args["TAU"]) + f_num.Ecrit_Valeurs (args["OMEGA"]) + f_num.Ecrit_Valeurs (args["ITER_MAX"]) + else : + aux = 0.1848 + for k in range(5) : + f_num.Ecrit_Valeurs (aux) +# + f_num.Ecrit_Titre ("Parameters : hgrad, hhess") + f_num.Ecrit_Valeurs (args["HGRAD"]) + f_num.Ecrit_Valeurs (args["HHESS"]) +# + aux = [ "Parameter Optimality Test(sphere)" ] + aux.append("1: Parametric Method (Point Number in each direction)") + aux.append("2: Gaussian Method (Total Point Number)") + aux.append("3: Rejection Method (Total Point Number)") + f_num.Ecrit_Titre (aux) +# + if args["T_SPHERE"] == "OUI" : +# + if args["METHODE_TEST"] == "PARAMETRIQUE" : + aux1 = 1 + elif args["METHODE_TEST"] == "GAUSSIENNE" : + aux1 = 2 + elif args["METHODE_TEST"] == "REJECTION" : + aux1 = 3 + else : + self.cr.warn("METHODE DE TEST : "+args["METHODE_TEST"]) + erreur = 50 + break +# + aux2 = args["NB_POINT"] +# + else : +# +# remarque : il faut mettre une valeur plausible en aux1, sinon plantage violent ... + aux1 = 1 + aux2 = 1789 +# + f_num.Ecrit_Valeurs ( [ aux1 , aux2 ] ) +# + aux = [ "Parameters : alpha, beta" ] + aux.append("alpha: common net") + aux.append("beta: extreme net") + f_num.Ecrit_Titre (aux) + if args["PLAN_EXPERIENCE"] == "OUI" : + aux1 = args["ALPHA"] + aux2 = args["BETA"] + else : + aux1 = 1789.0 + aux2 = 1789.0 + f_num.Ecrit_Valeurs ( aux1 ) + f_num.Ecrit_Valeurs ( aux2 ) +# + f_num.Ecrit_Titre ("Parameters Strong Max Test : cosLim, dProb") + if args["T_MAXIMUM_FORT"] == "OUI" : + aux1 = args["COS_LIM"] + aux2 = args["DPROB"] + else : + aux1 = 0.1789 + aux2 = 0.1789 + f_num.Ecrit_Valeurs ( aux1 ) + f_num.Ecrit_Valeurs ( aux2 ) +# + f_num.Ecrit_Titre ("Parameter Importance Samplings : Simulation Number") + if args["TIRAGE_IMPORTANCE"] == "OUI" : + aux = args["NB_SIMULATION"] + else : + aux = 1945 + f_num.Ecrit_Valeurs ( aux ) +# +# 5.3 ==> Fermeture du fichier +# + erreur = f_num.Ferme_Fichier ( ) + if erreur : + break +# + if INFO >= 2 : + erreur = f_num.Imprime_Fichier ( ) + if erreur : + break +# +#____________________________________________________________________ +# +# 6. Construction du fichier 'dataGrad' +#____________________________________________________________________ +# +# 6.1 ==> Création du fichier +# + f_grad = fiabilite_fichier.fiabilite_fichier ( self, Rep_Calc_LOGICIEL_global, fic_dataGrad, INFO ) + erreur = f_grad.Ouvre_Fichier ( "w" ) + if erreur : + break +# +# 6.2 ==> Ecriture des données nécessaires +# + f_grad.Ecrit_Titre ("Commentaires") +# + for m in VARIABLE : + f_grad.Ecrit_Commentaires (m["NOM"]) + if m["GRADIENT"] == "OUI" : + gradient = 1 + increment = 0.0 + else : + gradient = 0 + increment = m["INCREMENT"] + aux = [gradient,increment] + f_grad.Ecrit_Valeurs (aux) +# +# 6.3 ==> Fermeture du fichier +# + erreur = f_grad.Ferme_Fichier ( ) + if erreur : + break +# + if INFO >= 2 : + erreur = f_grad.Imprime_Fichier ( ) + if erreur : + break +# +#____________________________________________________________________ +# +# 7. C'est fini ! +#____________________________________________________________________ +# + break +# + if erreur : + if not messages_erreur.has_key(erreur) : + erreur = 100 + self.cr.warn(messages_erreur[erreur]) + erreur = 11 +# + return erreur +# +########################## Fin de la fonction################################## +# +########################## Auto-test################################## +# +if __name__ == "__main__" : +# + import os + import sys + import tempfile +# + Rep_Calc_LOGICIEL_global = tempfile.mktemp() + os.mkdir(Rep_Calc_LOGICIEL_global) +# + INFO = 2 + VERSION = "V3_2" + SEUIL = 1789. + SEUIL_TYPE = "MAXIMUM" + VARIABLE = [] + args = {} + valeurs = {} +# + erreur = fiabilite_mefisto ( None, Rep_Calc_LOGICIEL_global, + INFO, VERSION, + SEUIL, SEUIL_TYPE, + VARIABLE, + valeurs, + **args ) +### print "Erreur = ", erreur + Liste = os.listdir(Rep_Calc_LOGICIEL_global) +# + for nomfic in Liste : + fic_total = os.path.join(Rep_Calc_LOGICIEL_global,nomfic) + os.chmod (fic_total,0755) + os.remove (fic_total) + os.rmdir (Rep_Calc_LOGICIEL_global) +# + sys.exit("blabla") diff --git a/Aster/Cata/cataSTA74/Macro/impr_fonction_ops.py b/Aster/Cata/cataSTA74/Macro/impr_fonction_ops.py new file mode 100644 index 00000000..4f2ace21 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/impr_fonction_ops.py @@ -0,0 +1,393 @@ +#@ MODIF impr_fonction_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 + +import os.path + +# ------------------------------------------------------------------------------ +def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args): + """ + Macro IMPR_FONCTION permettant d'imprimer dans un fichier des fonctions, + colonnes de table... + Erreurs dans IMPR_FONCTION pour ne pas perdre la base. + """ + macro='IMPR_FONCTION' + import aster + from Accas import _F + from Utilitai import Graph + from Utilitai.Utmess import UTMESS + ier=0 + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # On importe les definitions des commandes a utiliser dans la macro + # Le nom de la variable doit etre obligatoirement le nom de la commande + CALC_FONC_INTERP = self.get_cmd('CALC_FONC_INTERP') + DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL') + DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') + DETRUIRE = self.get_cmd('DETRUIRE') + + #---------------------------------------------- + # 0. Traitement des arguments, initialisations + # unité logique des fichiers réservés + ul_reserve=(8,) + + # 0.1. Fichier + nomfich=None + if args['UNITE'] and args['UNITE']<>6: + nomfich='fort.'+str(args['UNITE']) + if INFO==2: + print ' Nom du fichier :',nomfich + if nomfich and os.path.exists(nomfich): + if FORMAT=='XMGRACE': + niv='A' + else: + niv='I' + UTMESS(niv,macro,'Le fichier '+nomfich+' existe déjà, on écrit ' \ + 'à la suite.') + + # 0.2. Récupération des valeurs sous COURBE + unparmi=('FONCTION','LIST_RESU','FONC_X','ABSCISSE') + + # i0 : indice du mot-clé facteur qui contient LIST_PARA, sinon i0=0 + i0=0 + Courbe=[] + iocc=-1 + for Ci in COURBE: + iocc+=1 + dC = Ci.cree_dict_valeurs(Ci.mc_liste) + if dC.has_key('LIST_PARA') and i0==0: i0=iocc + for mc in dC.keys(): + if dC[mc]==None: del dC[mc] + Courbe.append(dC) + if INFO==2: + print ' Nombre de fonctions à analyser : ',len(Courbe) + + # 0.3. Devra-t-on interpoler globalement ? + # Dans ce cas, linter__ est le LIST_PARA + # ou, à défaut, les abscisses de la première courbe + interp=False + if FORMAT=='TABLEAU': + interp=True + dCi=Courbe[i0] + if dCi.has_key('LIST_PARA'): + linter__=dCi['LIST_PARA'] + else: + obj=None + for typi in unparmi: + if dCi.has_key(typi): + obj=dCi[typi] + typ=obj.__class__.__name__ + break + if obj==None: + UTMESS('S',macro,'incohérence entre le catalogue et la macro.') + if typi=='FONCTION': + if typ=='nappe_sdaster': + lpar,lval=obj.Valeurs() + linterp=lval[0][0] + else: + linterp=obj.Valeurs()[0] + elif typi=='FONC_X': + lbid,linterp=obj.Valeurs() + elif typi=='ABSCISSE': + linterp=obj + linter__=DEFI_LIST_REEL(VALE=linterp) + if INFO==2: + print ' Interpolation globale sur la liste :\n',linter__.Valeurs() + + + #---------------------------------------------- + # 1. Récupération des valeurs des N courbes sous forme + # d'une liste de N listes + #---------------------------------------------- + graph=Graph.Graph() + iocc=-1 + for dCi in Courbe: + iocc+=1 + + # 1.1. Type d'objet à traiter + obj=None + for typi in unparmi: + if dCi.has_key(typi): + obj=dCi[typi] + typ=obj.__class__.__name__ + break + if not dCi.has_key('LEGENDE') and hasattr(obj,'get_name'): + dCi['LEGENDE']=obj.get_name() + if obj==None: + UTMESS('S',macro,'incohérence entre le catalogue et la macro.') + + # 1.2. Extraction des valeurs + + # 1.2.1. Mot-clé FONCTION + if typi=='FONCTION': + if typ=='nappe_sdaster': + lpar,lval=obj.Valeurs() + dico,ldicf=obj.Parametres() + for i in range(len(lpar)): + p=lpar[i] + lx=lval[i][0] + ly=lval[i][1] + # sur quelle liste interpoler chaque fonction + if i==0: + if interp: + li__=linter__ + elif dCi.has_key('LIST_PARA'): + li__=dCi['LIST_PARA'] + else: + li__=DEFI_LIST_REEL(VALE=lx) + # compléter les paramètres d'interpolation + dic=dico.copy() + dic.update(ldicf[i]) + + if (interp or dCi.has_key('LIST_PARA')) and i>0: + ftmp__=CALC_FONC_INTERP( + FONCTION=obj, + VALE_PARA=p, + LIST_PARA_FONC=li__, + **dic + ) + pv,lv2=ftmp__.Valeurs() + lx=lv2[0][0] + ly=lv2[0][1] + # on stocke les données dans le Graph + dicC={ + 'Val' : [lx,ly], + 'Lab' : [dic['NOM_PARA_FONC'],dic['NOM_RESU']] + } + Graph.AjoutParaCourbe(dicC, args=dCi) + graph.AjoutCourbe(**dicC) + else: + ftmp__=obj + dpar=ftmp__.Parametres() + if interp: + ftmp__=CALC_FONC_INTERP( + FONCTION=obj, + LIST_PARA=linter__, + **dpar + ) + elif dCi.has_key('LIST_PARA'): + ftmp__=CALC_FONC_INTERP( + FONCTION=obj, + LIST_PARA=dCi['LIST_PARA'], + **dpar + ) + lval=list(ftmp__.Valeurs()) + lx=lval[0] + lr=lval[1] + if typ=='fonction_c' and dCi.has_key('PARTIE'): + if dCi['PARTIE']=='COMPLEXE' : lr=lval[2] + # on stocke les données dans le Graph + if typ=='fonction_c' and not dCi.has_key('PARTIE'): + dicC={ + 'Val' : lval, + 'Lab' : [dpar['NOM_PARA'],dpar['NOM_RESU']+'_R',dpar['NOM_RESU']+'_I'] + } + else: + dicC={ + 'Val' : [lx,lr], + 'Lab' : [dpar['NOM_PARA'],dpar['NOM_RESU']] + } + Graph.AjoutParaCourbe(dicC, args=dCi) + graph.AjoutCourbe(**dicC) + + # 1.2.2. Mot-clé LIST_RESU + elif typi=='LIST_RESU': + if interp and iocc>0: + UTMESS('S',macro,"""Il n'y a pas de règles d'interpolation pour LIST_PARA/LIST_RESU, + LIST_PARA/LIST_RESU ne peut donc apparaitre qu'une seule fois + et à la première occurence de COURBE""") + lx=dCi['LIST_PARA'].Valeurs() + lr=obj.Valeurs() + if len(lx)<>len(lr): + UTMESS('S',macro,"LIST_PARA et LIST_RESU n'ont pas la meme taille") + # on stocke les données dans le Graph + dicC={ + 'Val' : [lx,lr], + 'Lab' : [dCi['LIST_PARA'].get_name(),obj.get_name()] + } + Graph.AjoutParaCourbe(dicC, args=dCi) + graph.AjoutCourbe(**dicC) + + # 1.2.3. Mot-clé FONC_X + # exemple : obj(t)=sin(t), on imprime x=sin(t), y=cos(t) + # ob2(t)=cos(t) + elif typi=='FONC_X': + ob2=dCi['FONC_Y'] + # peut-on blinder au niveau du catalogue + if typ=="nappe_sdaster" or ob2.__class__.__name__=="nappe_sdaster": + UTMESS('S',macro,"FONC_X/FONC_Y ne peuvent pas etre des nappes !") + if interp and iocc>0: + UTMESS('S',macro,"""Au format 'TABLEAU' ,FONC_X/FONC_Y ne peut apparaitre qu'une seule fois + et à la première occurence de COURBE""") + ftmp__=obj + dpar=ftmp__.Parametres() + ftm2__=ob2 + dpa2=ftm2__.Parametres() + intloc=False + if interp and not dCi.has_key('LIST_PARA'): + # dans ce cas, linter__ contient les ordonnées de FONC_X + intloc=False + li__=linter__ + elif dCi.has_key('LIST_PARA'): + intloc=True + li__=dCi['LIST_PARA'] + if intloc: + ftmp__=CALC_FONC_INTERP( + FONCTION=obj, + LIST_PARA=li__, + **dpar + ) + lt,lx=ftmp__.Valeurs() + ftm2__=CALC_FONC_INTERP( + FONCTION=ob2, + LIST_PARA=li__, + **dpa2 + ) + else: + lt,lx=ftmp__.Valeurs() + li__=DEFI_LIST_REEL(VALE=lt) + ftm2__=CALC_FONC_INTERP( + FONCTION=ob2, + LIST_PARA=li__, + **dpa2 + ) + + lbid,ly=ftm2__.Valeurs() + # on stocke les données dans le Graph + # on imprime la liste des paramètres seulement si LIST_PARA + if intloc: + dicC={ + 'Val' : [lt,lx,ly], + 'Lab' : [dpar['NOM_PARA'],dpar['NOM_RESU'],dpa2['NOM_RESU']] + } + else: + dicC={ + 'Val' : [lx,ly], + 'Lab' : [dpar['NOM_RESU'],dpa2['NOM_RESU']] + } + Graph.AjoutParaCourbe(dicC, args=dCi) + graph.AjoutCourbe(**dicC) + + # 1.2.4. Mot-clé ABSCISSE / ORDONNEE + elif typi=='ABSCISSE': + if interp and iocc>0: + UTMESS('S',macro,"""Il n'y a pas de règles d'interpolation pour ABSCISSE/ORDONNEE, + ABSCISSE/ORDONNEE ne peut donc apparaitre qu'une seule fois + et à la première occurence de COURBE""") + lx=obj + lr=dCi['ORDONNEE'] + if len(lx)<>len(lr): + UTMESS('S',macro,"ABSCISSE et ORDONNEE n'ont pas la meme taille") + # on stocke les données dans le Graph + dicC={ + 'Val' : [lx,lr], + 'Lab' : ['Absc','Ordo'] + } + Graph.AjoutParaCourbe(dicC, args=dCi) + graph.AjoutCourbe(**dicC) + + # 1.2.9. ménage + DETRUIRE(CONCEPT=_F(NOM=('li__','ftmp__','ftm2__'),),ALARME='NON',INFO=1) + + # 1.2.99. ménage hors boucle + DETRUIRE(CONCEPT=_F(NOM=('linter__'),), ALARME='NON',INFO=1) + + # 1.3. dbg + if INFO==2: + print '\n'+'-'*70+'\n Contenu du Graph : \n'+'-'*70 + print graph + print '-'*70+'\n' + + #---------------------------------------------- + # 2. Impression du 'tableau' de valeurs + #---------------------------------------------- + + # 2.0. Surcharge des propriétés du graphique et des axes + # (bloc quasiment identique dans Table) + if args['TITRE']<>None: graph.Titre=args['TITRE'] + if args['SOUS_TITRE']<>None: graph.SousTitre=args['SOUS_TITRE'] + if FORMAT in ('XMGRACE','AGRAF'): + if args['BORNE_X']<>None: + graph.Min_X=args['BORNE_X'][0] + graph.Max_X=args['BORNE_X'][1] + if args['BORNE_Y']<>None: + graph.Min_Y=args['BORNE_Y'][0] + graph.Max_Y=args['BORNE_Y'][1] + if args['LEGENDE_X']<>None: graph.Legende_X=args['LEGENDE_X'] + if args['LEGENDE_Y']<>None: graph.Legende_Y=args['LEGENDE_Y'] + if args['ECHELLE_X']<>None: graph.Echelle_X=args['ECHELLE_X'] + if args['ECHELLE_Y']<>None: graph.Echelle_Y=args['ECHELLE_Y'] + if args['GRILLE_X']<>None: graph.Grille_X=args['GRILLE_X'] + if args['GRILLE_Y']<>None: graph.Grille_Y=args['GRILLE_Y'] + + kargs={ + 'FORMAT' : FORMAT, + 'FICHIER' : nomfich, + } + + # 2.1. au format TABLEAU + if FORMAT=='TABLEAU': + # surcharge par les formats de l'utilisateur + kargs['dform']={ + 'csep' : args['SEPARATEUR'], + 'ccom' : args['COMMENTAIRE'], + 'cdeb' : args['DEBUT_LIGNE'], + 'cfin' : args['FIN_LIGNE'] + } + + # 2.2. au format AGRAF + elif FORMAT=='AGRAF': + nomdigr=None + if args['UNITE_DIGR']<>6: + nomdigr='fort.'+str(args['UNITE_DIGR']) + kargs['FICHIER']=[nomfich, nomdigr] + kargs['dform']={ 'formR' : '%12.5E' } + + # 2.3. au format XMGRACE et dérivés + elif FORMAT=='XMGRACE': + kargs['dform']={ 'formR' : '%.8g' } + kargs['PILOTE']=args['PILOTE'] + + # 2.39. Format inconnu + else: + UTMESS('S',macro,'Format inconnu : '+FORMAT) + + # Traiter le cas des UL réservées + if args['UNITE'] and args['UNITE'] in ul_reserve: + DEFI_FICHIER( ACTION='LIBERER', UNITE=args['UNITE'], ) + if FORMAT=='AGRAF' and args['UNITE_DIGR']<>args['UNITE'] \ + and args['UNITE_DIGR'] in ul_reserve: + DEFI_FICHIER( ACTION='LIBERER', UNITE=args['UNITE_DIGR'], ) + + # 2.4. On trace ! + graph.Trace(**kargs) + + # 99. Traiter le cas des UL réservées + if args['UNITE'] and args['UNITE'] in ul_reserve: + DEFI_FICHIER( ACTION='ASSOCIER', UNITE=args['UNITE'], + TYPE='ASCII', ACCES='APPEND' ) + if FORMAT=='AGRAF' and args['UNITE_DIGR']<>args['UNITE'] \ + and args['UNITE_DIGR'] in ul_reserve: + DEFI_FICHIER( ACTION='ASSOCIER', UNITE=args['UNITE_DIGR'], + TYPE='ASCII', ACCES='APPEND' ) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/impr_table_ops.py b/Aster/Cata/cataSTA74/Macro/impr_table_ops.py new file mode 100644 index 00000000..ca1a492f --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/impr_table_ops.py @@ -0,0 +1,232 @@ +#@ MODIF impr_table_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 + +import os.path +import re + +from types import ListType, TupleType, StringTypes +EnumTypes=(ListType, TupleType) + + +# ------------------------------------------------------------------------------ +def impr_table_ops(self, FORMAT, TABLE, INFO, **args): + """ + Macro IMPR_TABLE permettant d'imprimer une table dans un fichier. + Erreurs dans IMPR_TABLE pour ne pas perdre la base. + """ + macro='IMPR_TABLE' + import aster + from Accas import _F + from Cata.cata import table_jeveux + from Utilitai.Utmess import UTMESS + ier=0 + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # On importe les definitions des commandes a utiliser dans la macro + # Le nom de la variable doit etre obligatoirement le nom de la commande + DETRUIRE = self.get_cmd('DETRUIRE') + DEFI_FICHIER = self.get_cmd('DEFI_FICHIER') + RECU_FONCTION = self.get_cmd('RECU_FONCTION') + + #---------------------------------------------- + # 0. Traitement des arguments, initialisations + # unité logique des fichiers réservés + ul_reserve=(8,) + + # 0.1. Fichier + nomfich=None + if args['UNITE'] and args['UNITE']<>6: + nomfich='fort.'+str(args['UNITE']) + if nomfich and os.path.exists(nomfich): + if FORMAT=='XMGRACE': + UTMESS('A',macro,'Le fichier '+nomfich+' existe déjà, on écrit ' \ + 'à la suite.') + + # 0.2. Création des dictionnaires des FILTRES + Filtre=[] + if args['FILTRE']: + for Fi in args['FILTRE']: + dF = Fi.cree_dict_valeurs(Fi.mc_liste) + for mc in dF.keys(): + if dF[mc]==None: del dF[mc] + Filtre.append(dF) + # format pour l'impression des filtres + form_filtre='\nFILTRE -> NOM_PARA: %-16s CRIT_COMP: %-4s VALE: %s' + + # 0.3. Création de la liste des tables (une seule sans SENSIBILITE) + form_sens='\n... SENSIBILITE AU PARAMETRE %s' + ltab=[] + if args['SENSIBILITE']: + nmemo='&NOSENSI.MEMO.CORR'.ljust(24) + vect=aster.getvectjev(nmemo) + if vect: + lps=args['SENSIBILITE'] + if not type(lps) in EnumTypes: + lps=[lps,] + for ps in [ps.get_name() for ps in lps]: + trouv=False + for ch in vect[0:len(vect):2]: + if ch[0:8].strip()==TABLE.get_name() and ch[8:16].strip()==ps: + trouv=True + ncomp=ch[16:24].strip() + sdtab=table_jeveux(ncomp) + tabs=sdtab.EXTR_TABLE() + tabs.titr+=form_sens % ps + ltab.append([tabs, sdtab]) + if not trouv: + UTMESS('A',macro,'Dérivée de %s par rapport à %s non disponible'\ + % (TABLE.get_name(), ps)) + else: + UTMESS('A',macro,'Pas de calcul de sensibilité accessible.') + else: + ltab.append([TABLE.EXTR_TABLE(), TABLE]) + + if len(ltab)<1: + return ier + + # 0.4.1. liste des paramètres à conserver + nom_para=ltab[0][0].para + if args['NOM_PARA']: + nom_para=args['NOM_PARA'] + + # 0.4.2. Traiter le cas des UL réservées + if args['UNITE'] and args['UNITE'] in ul_reserve: + DEFI_FICHIER( ACTION='LIBERER', UNITE=args['UNITE'], ) + + #---------------------------------------------- + # Boucle sur les tables + for tab, sdtab in ltab: + + # ----- 1. Infos de base + if INFO==2: + print 'IMPRESSION DE LA TABLE : %s' % sdtab.get_name() + + if args['TITRE']: + tab.titr=args['TITRE'] + '\n' + tab.titr + + # ----- 2. Filtres + for Fi in Filtre: + col = getattr(tab, Fi['NOM_PARA']) + # peu importe le type + opts=[Fi[k] for k in ('VALE','VALE_I','VALE_C','VALE_K') if Fi.has_key(k)] + kargs={} + for k in ('CRITERE','PRECISION'): + if Fi.has_key(k): + kargs[k]=Fi[k] + tab = tab & ( getattr(col, Fi['CRIT_COMP'])(*opts,**kargs) ) + # trace l'operation dans le titre + #if FORMAT in ('TABLEAU','ASTER'): + tab.titr+=form_filtre % (Fi['NOM_PARA'], Fi['CRIT_COMP'], \ + ' '.join([str(v) for v in opts])) + + # ----- 3. Tris + if args['TRI']: + # une seule occurence de TRI + T0=args['TRI'][0] + dT=T0.cree_dict_valeurs(T0.mc_liste) + tab.sort(CLES=dT['NOM_PARA'], ORDRE=dT['ORDRE']) + + # ----- 4. Impression + timp=tab[nom_para] + # passage des mots-clés de mise en forme à la méthode Impr + kargs=args.copy() + kargs.update({ + 'FORMAT' : FORMAT, + 'FICHIER' : nomfich, + 'dform' : {}, + }) + # pour l'impression des fonctions + kfonc={ + 'FORMAT' : FORMAT, + 'FICHIER' : nomfich, + } + + # 4.1. au format AGRAF + if FORMAT=='AGRAF': + kargs['dform']={ 'formR' : '%12.5E' } + kfonc['FORMAT']='TABLEAU' + + # 4.2. au format XMGRACE et dérivés + elif FORMAT=='XMGRACE': + kargs['dform']={ 'formR' : '%.8g' } + kargs['PILOTE']=args['PILOTE'] + kfonc['PILOTE']=args['PILOTE'] + + # 4.3. format spécifié dans les arguments + if args['FORMAT_R']: + kargs['dform'].update({ 'formR' : fmtF2PY(args['FORMAT_R']) }) + + # 4.4. regroupement par paramètre : PAGINATION + if args['PAGINATION']: + kargs['PAGINATION']=args['PAGINATION'] + + timp.Impr(**kargs) + + # ----- 5. IMPR_FONCTION='OUI' + if args['IMPR_FONCTION'] and args['IMPR_FONCTION']=='OUI': + # cherche parmi les cellules celles qui contiennent un nom de fonction + dfon={} + for row in timp: + for par,cell in row.items(): + if type(cell) in StringTypes: + if aster.getvectjev(cell.strip().ljust(19)+'.PROL')<>None: + dfon[cell.strip().ljust(19)]=par + # impression des fonctions trouvées + for f,par in dfon.items(): + __fonc=RECU_FONCTION( + TABLE=sdtab, + FILTRE=_F( + NOM_PARA=par, + VALE_K=f, + ), + NOM_PARA_TABL=par, + ) + __fonc.Trace(**kfonc) + DETRUIRE(CONCEPT=_F(NOM=('__fonc',),), ALARME='NON', INFO=1,) + + # 99. Traiter le cas des UL réservées + if args['UNITE'] and args['UNITE'] in ul_reserve: + DEFI_FICHIER( ACTION='ASSOCIER', UNITE=args['UNITE'], + TYPE='ASCII', ACCES='APPEND' ) + + return ier + +# ------------------------------------------------------------------------------ +def fmtF2PY(fformat): + """Convertit un format Fortran en format Python (printf style). + Gère uniquement les fortrans réels, par exemple : E12.5, 1PE13.6, D12.5... + """ + fmt='' + matP=re.search('([0-9]+)P',fformat) + if matP: + fmt+=' '*int(matP.group(1)) + matR=re.search('([eEdDfFgG]{1})([\.0-9]+)',fformat) + if matR: + fmt+='%'+matR.group(2)+re.sub('[dD]+','E',matR.group(1)) + try: + s=fmt % -0.123 + except (ValueError, TypeError), msg: + fmt='%12.5E' + print 'Error :',msg + print 'Format par défaut utilisé :',fmt + return fmt diff --git a/Aster/Cata/cataSTA74/Macro/lire_fonction_ops.py b/Aster/Cata/cataSTA74/Macro/lire_fonction_ops.py new file mode 100644 index 00000000..52d1e906 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/lire_fonction_ops.py @@ -0,0 +1,254 @@ +#@ MODIF lire_fonction_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 string,os,Numeric + +# ------------------------------------------------------------------------------ +def m_format_libre(texte,INDIC_PARA,INDIC_RESU,SEPAR): + """Méthode de construction du VALE pour le format libre + format LIBRE + Les lignes contenant autre chose que des séquences de nombres + réels et de séparateurs sont considérées comme délimitant deux + fonctions différentes. Cette situation correspond à l exception + ValueError levée par le map de float. Le deuxieme indice de + INDIC_PARA et INDIC_RESU est l indice permettant de pointer sur la + fonction voulue, au sens de ce découpage. + """ + + from Utilitai.transpose import transpose + l_fonc=[] + fonc =[] + ier =0 + if SEPAR=='None' : SEPAR=None + for line in texte : + try : + if string.strip(line)=='' : raise ValueError + fonc.append(map(float,string.split(line,SEPAR))) + except ValueError: + if fonc==[] : pass # dans ce cas, on a plusieurs lignes délimitant 2 fonctions + else : + l_fonc.append(Numeric.array(fonc)) + fonc=[] + if fonc!=[] : + l_fonc.append(Numeric.array(fonc)) + + # vérifications de cohérences lignes et colonnes + ind_para=[INDIC_PARA[0]-1,INDIC_PARA[1]-1] + ind_resu=[INDIC_RESU[0]-1,INDIC_RESU[1]-1] + if INDIC_PARA[0]>len(l_fonc) : + ier=ier+1 + message= " INDIC_PARA :le nombre de blocs de fonctions dans " + message=message+"le fichier est inférieur à "+str(INDIC_PARA[0]) + return ier,message,[] + if INDIC_RESU[0]>len(l_fonc) : + ier=ier+1 + message= " INDIC_RESU :le nombre de blocs de fonctions dans " + message=message+"le fichier est inférieur à "+str(INDIC_RESU[0]) + return ier,message,[] + if INDIC_PARA[1]>len(l_fonc[ind_para[0]]) : + ier=ier+1 + message= " INDIC_PARA :la fonction numéro " + message=message+str(INDIC_PARA[0]) + message=message+" ne comporte que "+str(l_fonc[INDIC_PARA[0]])+" colonnes" + return ier,message,[] + if INDIC_RESU[1]>len(l_fonc[ind_resu[0]]) : + ier=ier+1 + message= " INDIC_RESU :la fonction numéro " + message=message+str(INDIC_RESU[0]) + message=message+" ne comporte que "+str(l_fonc[INDIC_RESU[0]])+" colonnes" + return ier,message,[] + + # construction du VALE de la fonction par recherche des indices + # de colonnes et de fonctions dans le tableau l_fonc + vale_1=l_fonc[ind_para[0]][:,ind_para[1]] + vale_2=l_fonc[ind_resu[0]][:,ind_resu[1]] + if len(vale_1)!=len(vale_2) : + ier=ier+1 + message= " INDIC_RESU :les deux colonnes demandées " + message=message+" pour INDIC_PARA et INDIC_RESU n ont pas la meme longueur :" + message=message+str(len(vale_1))+" et "+str(len(vale_2)) + return ier,message,[] + liste_vale=transpose([vale_1,vale_2]) + def add(x,y):return x+y + liste_vale=reduce(add,liste_vale) + return ier,'',liste_vale + +# ------------------------------------------------------------------------------ +def liste_simple(texte,INDIC_PARA,SEPAR): + """recherche d'une liste simple + """ + # format LIBRE + # liste simple + + l_fonc=[] + fonc =[] + ier =0 + if SEPAR=='None' : SEPAR=None + for line in texte : + try : + if string.strip(line)=='' : raise ValueError + fonc.append(map(float,string.split(line,SEPAR))) + except ValueError: + if fonc==[] : pass # dans ce cas, on a plusieurs lignes délimitant 2 fonctions + else : + l_fonc.append(Numeric.array(fonc)) + fonc=[] + if fonc!=[] : + l_fonc.append(Numeric.array(fonc)) + + # vérifications de cohérences lignes et colonnes + ind_para=[INDIC_PARA[0]-1,INDIC_PARA[1]-1] + if INDIC_PARA[0]>len(l_fonc) : + ier=ier+1 + message= " INDIC_PARA :le nombre de blocs de fonctions dans " + message=message+"le fichier est inférieur à "+str(INDIC_PARA[0]) + return ier,message,[] + if INDIC_PARA[1]>len(l_fonc[ind_para[0]]) : + ier=ier+1 + message= " INDIC_PARA :la fonction numéro " + message=message+str(INDIC_PARA[0]) + message=message+" ne comporte que "+str(l_fonc[INDIC_PARA[0]])+" colonnes" + self.cr.fatal(message) + return ier,message,[] + + # construction du VALE de la fonction par recherche des indices + # de colonnes et de fonctions dans le tableau l_fonc + vale_1=l_fonc[ind_para[0]][:,ind_para[1]] + return ier,'',vale_1.tolist() + +# ------------------------------------------------------------------------------ +def lire_fonction_ops(self,FORMAT,TYPE,SEPAR,INDIC_PARA,UNITE, + NOM_PARA,NOM_RESU,INTERPOL,PROL_DROITE, + PROL_GAUCHE,VERIF,INFO,TITRE,**args): + """Méthode corps de la macro + """ + ier=0 + + from Accas import _F +# On recopie le mot cle defi_fonction pour le proteger + if TYPE=='NAPPE' : + mc_DEFI_FONCTION=args['DEFI_FONCTION'] + + # On importe les definitions des commandes a utiliser dans la macro + DEFI_FONCTION =self.get_cmd('DEFI_FONCTION') + DEFI_NAPPE =self.get_cmd('DEFI_NAPPE') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # Lecture de la fonction dans un fichier d unité logique UNITE + + file="./fort."+str(UNITE) + if not os.path.isfile(file) : + ier=ier+1 + self.cr.fatal(" le fichier d unité logique "+str(UNITE)+" est introuvable") + return ier + file=open(file,'r') + texte=file.readlines() + file.close() + + self.DeclareOut('ut_fonc',self.sd) + + if TYPE=='FONCTION': + # mise en forme de la liste de valeurs suivant le format choisi : + ier,message,liste_vale=m_format_libre(texte,INDIC_PARA,args['INDIC_RESU'],SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + + # création de la fonction ASTER : + ut_fonc=DEFI_FONCTION( NOM_PARA =NOM_PARA, + NOM_RESU =NOM_RESU, + PROL_DROITE=PROL_DROITE, + PROL_GAUCHE=PROL_GAUCHE, + INTERPOL =INTERPOL, + INFO =INFO, + TITRE =TITRE, + VERIF =VERIF, + VALE =liste_vale,) + + elif TYPE=='FONCTION_C': + # mise en forme de la liste de valeurs suivant le format choisi : + if 'INDIC_REEL' in args : + indic1=args['INDIC_REEL'] + indic2=args['INDIC_IMAG'] + if 'INDIC_MODU' in args : + indic1=args['INDIC_MODU'] + indic2=args['INDIC_PHAS'] + ier,message,liste_vale_r=m_format_libre(texte,INDIC_PARA,indic1,SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + ier,message,liste_vale_i=m_format_libre(texte,INDIC_PARA,indic2,SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + liste=[] + if 'INDIC_REEL' in args : + for i in range(len(liste_vale_r)/2) : + liste=liste+[liste_vale_r[2*i],liste_vale_r[2*i+1],liste_vale_i[2*i+1]] + elif 'INDIC_MODU' in args : + for i in range(len(liste_vale_r)/2) : + module=liste_vale_r[2*i+1] + phase =liste_vale_i[2*i+1] + liste=liste+[liste_vale_r[2*i],module*cos(phase),module*sin(phase)] + + # création de la fonction ASTER : + ut_fonc=DEFI_FONCTION( NOM_PARA =NOM_PARA, + NOM_RESU =NOM_RESU, + PROL_DROITE=PROL_DROITE, + PROL_GAUCHE=PROL_GAUCHE, + INTERPOL =INTERPOL, + INFO =INFO, + TITRE =TITRE, + VERIF =VERIF, + VALE_C =liste,) + + elif TYPE=='NAPPE': + + # création de la nappe ASTER : + motscles={} + motscles['DEFI_FONCTION']=[] + for elem in mc_DEFI_FONCTION: + ier,message,liste_vale=m_format_libre(texte,args['INDIC_ABSCISSE'],elem['INDIC_RESU'],SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + motscles['DEFI_FONCTION'].append( _F( VALE =liste_vale, + INTERPOL =args['INTERPOL_FONC'], + PROL_DROITE=args['PROL_DROITE_FONC'], + PROL_GAUCHE=args['PROL_GAUCHE_FONC'] ) ) + ier,message,liste_para=liste_simple(texte,INDIC_PARA,SEPAR) + if ier!=0 : + self.cr.fatal(message) + return ier + ut_fonc=DEFI_NAPPE( PARA =liste_para, + NOM_PARA =NOM_PARA, + NOM_PARA_FONC =args['NOM_PARA_FONC'], + NOM_RESU =NOM_RESU, + PROL_DROITE =PROL_DROITE, + PROL_GAUCHE =PROL_GAUCHE, + INTERPOL =INTERPOL, + INFO =INFO, + TITRE =TITRE, + VERIF =VERIF, + **motscles) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/lire_inte_spec_ops.py b/Aster/Cata/cataSTA74/Macro/lire_inte_spec_ops.py new file mode 100644 index 00000000..d3ae6d67 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/lire_inte_spec_ops.py @@ -0,0 +1,122 @@ +#@ MODIF lire_inte_spec_ops Macro DATE 20/09/2004 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL, + PROL_DROITE,PROL_GAUCHE,TITRE,INFO,**args): + ier=0 + + from Accas import _F + import os + from math import cos,sin + # On importe les definitions des commandes a utiliser dans la macro + DEFI_FONCTION =self.get_cmd('DEFI_FONCTION') + CREA_TABLE =self.get_cmd('CREA_TABLE') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # Lecture de la fonction dans un fichier d unité logique UNITE + + file="./fort."+str(UNITE) + if not os.path.isfile(file) : + ier=ier+1 + self.cr.fatal(" le fichier d unité logique "+str(UNITE)+" est introuvable") + return ier + file=open(file,'r') + texte=file.read() + file.close() + + list_fonc=texte.split('FONCTION_C') + entete=list_fonc.pop(0) + try : + entete=entete[entete.index('DIM'):] + dim=int(entete[entete.index('=')+1:entete.index('\n')]) + except ValueError : + ier=ier+1 + self.cr.fatal(" la dimension DIM n est pas précisée dans le fichier lu") + return ier + + if len(list_fonc)!=(dim*(dim+1)/2): + ier=ier+1 + self.cr.fatal(" nombre de fonctions incorrect") + return ier + + nume_i=[] + nume_j=[] + l_fonc=[] + for i in range(dim*(dim+1)/2): + numi=list_fonc[i][list_fonc[i].index('I =')+3:] + numi=numi[:numi.index('\n')] + nume_i.append(int(numi)) + numj=list_fonc[i][list_fonc[i].index('J =')+3:] + numj=numj[:numj.index('\n')] + nume_j.append(int(numj)) + try : + vale_fonc=list_fonc[i][list_fonc[i].index('VALEUR =\n')+9:list_fonc[i].index('FINSF\n')] + vale_fonc=vale_fonc.replace('\n',' ') + vale_fonc=map(float,vale_fonc.split()) + except ValueError : + ier=ier+1 + self.cr.fatal(" erreur dans les données de fonctions") + return ier + + liste=[] + if FORMAT=='REEL_IMAG': + liste=vale_fonc + elif FORMAT=='MODULE_PHASE': + for i in range(len(vale_fonc)/3) : + module=vale_fonc[3*i+1] + phase =vale_fonc[3*i+2] + liste=liste+[vale_fonc[3*i],module*cos(phase),module*sin(phase)] + + # création de la fonction ASTER : + _fonc=DEFI_FONCTION( NOM_PARA =NOM_PARA, + NOM_RESU =NOM_RESU, + PROL_DROITE=PROL_DROITE, + PROL_GAUCHE=PROL_GAUCHE, + INTERPOL =INTERPOL, + INFO =INFO, + TITRE =TITRE, + VALE_C =liste,) + l_fonc.append(_fonc.nom) + + nume_ib=[] + nume_jb=[] + for i in range(dim): + for j in range(i,dim): + nume_ib.append(i+1) + nume_jb.append(j+1) + if nume_i!=nume_ib or nume_j!=nume_jb : + ier=ier+1 + self.cr.fatal(" erreur dans les indices") + return ier + mcfact=[] + mcfact.append(_F(PARA='NOM_CHAM' ,LISTE_K=(NOM_RESU),NUME_LIGN=(1,))) + mcfact.append(_F(PARA='OPTION' ,LISTE_K=('TOUT',) ,NUME_LIGN=(1,))) + mcfact.append(_F(PARA='DIMENSION' ,LISTE_I=(dim,) ,NUME_LIGN=(1,))) + mcfact.append(_F(PARA='NUME_ORDRE_I',LISTE_I=nume_i ,NUME_LIGN=range(2,len(nume_i)+2))) + mcfact.append(_F(PARA='NUME_ORDRE_J',LISTE_I=nume_j ,NUME_LIGN=range(2,len(nume_j)+2))) + mcfact.append(_F(PARA='FONCTION' ,LISTE_K=l_fonc ,NUME_LIGN=range(2,len(list_fonc)+2))) + self.DeclareOut('tab_inte',self.sd) + tab_inte=CREA_TABLE(TYPE_TABLE='TABL_INTE_SPEC', + LISTE=mcfact, + TITRE=TITRE,) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/lire_table_ops.py b/Aster/Cata/cataSTA74/Macro/lire_table_ops.py new file mode 100644 index 00000000..e7ba1006 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/lire_table_ops.py @@ -0,0 +1,173 @@ +#@ MODIF lire_table_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 string + +# ------------------------------------------------------------------------------ +def lecture_table(texte,nume,separ): + """Méthode de construction du dictionnaire PARAMETRE / LISTE DE VALEURS + format ASTER + Les lignes contenant autre chose que des séquences de nombres + réels et de séparateurs sont considérées comme délimitant deux + fonctions différentes. Cette situation correspond à l exception + ValueError levée par le map de float. Le deuxieme indice de + VALE_PARA et VALE_RESU est l indice permettant de pointer sur la + fonction voulue, au sens de ce découpage. + """ + + from Utilitai.transpose import transpose + if string.strip(separ)=='' : separ=None + tab_lue={} + nume_lign=[] + idt_deb='#DEBUT_TABLE\n' + idt_fin='#FIN_TABLE\n' + idt_tit='#TITRE' + if nume>texte.count(idt_deb) : + message= " NUME_TABLE :le nombre de blocs de tables dans " + message=message+"le fichier est "+str(texte.count(idt_deb)) + return 1,message,None,None,None + for i in range(nume): + texte=texte[texte.index(idt_deb)+1:] + texte=texte[:texte.index(idt_fin)] + + titre_tab=[string.rstrip(elem[7:-1]) for elem in texte if elem.find(idt_tit)!=-1] + texte_tab=[elem.split(separ) for elem in texte if elem.find(idt_tit)==-1] + + if ( separ!=None) : + tab_trav=[] + for line in texte_tab : + ligne=[] + for elem in line : + if ( elem != '' and elem !='\n') : + ligne.append(string.strip(elem)) + tab_trav.append(ligne) + texte_tab=tab_trav + + list_para=texte_tab[0] + list_type=texte_tab[1] + texte_tab.pop(0) + texte_tab.pop(0) + nb_para=len(texte_tab[0]) + + for line in texte_tab : + if len(line)!=nb_para : + message= " incoherence dans le nombre de colonnes " + message=message+"de la table a lire" + return 1,message,None,None,None + texte_tab=transpose(texte_tab) + for i in range(nb_para): + tab_trav=[] + list_val=[] + col_type=list_type[i] + if col_type=='R': + try : + texte_tab[i]=map(float,texte_tab[i]) + nume_lign.append([0]) + except ValueError: +# Presence de - dans la ligne + for indice in range(len(texte_tab[i])): + if texte_tab[i][indice]!='-': + tab_trav.append(indice+1) + list_val.append(float(texte_tab[i][indice])) + + nume_lign.append(tab_trav) + texte_tab[i]=list_val + elif col_type=='I' : + try : + texte_tab[i]=map(int,texte_tab[i]) + nume_lign.append([0]) +# Presence de - dans la ligne + except ValueError: + for indice in range(len(texte_tab[i])): + if texte_tab[i][indice]!='-': + tab_trav.append(indice+1) + list_val.append(float(texte_tab[i][indice])) + nume_lign.append(tab_trav) + texte_tab[i]=list_val + + else : + try : nume_lign.append([0]) + except ValueError: pass + + tab_lue[list_para[i]]=(list_type[i],texte_tab[i],nume_lign[i]) + + return 0,None,titre_tab,list_para,tab_lue + + +# ------------------------------------------------------------------------------ +def lire_table_ops(self,UNITE,FORMAT,NUME_TABLE,SEPARATEUR, + TYPE_TABLE,PARA,TITRE,**args): + """Méthode corps de la macro LIRE_TABLE + """ + from Accas import _F + import os + + ier=0 + ### On importe les definitions des commandes a utiliser dans la macro + CREA_TABLE =self.get_cmd('CREA_TABLE') + + ### La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + ### Lecture de la table dans un fichier d unité logique UNITE + file="./fort."+str(UNITE) + if not os.path.isfile(file) : + ier=ier+1 + self.cr.fatal(" le fichier d unité logique "+str(UNITE)+" est introuvable") + return ier + file=open(file,'r') + texte=file.readlines() + file.close() + + ### mise en forme de la liste de valeurs suivant le format choisi : + if FORMAT=='ASTER': + ier,message,titr_tab,list_para,tab_lue=lecture_table(texte,NUME_TABLE,SEPARATEUR) + if ier!=0 : + self.cr.fatal(message) + return ier + else : pass + + ### création de la table ASTER : + self.DeclareOut('ut_tab',self.sd) + mcfact=[] + num_col=0 + for tab_para in list_para: + mcsimp={} + mcsimp['PARA']=tab_para + + if tab_lue[tab_para][2] != [0] : + mcsimp['NUME_LIGN']=tab_lue[tab_para][2] + + if tab_lue[tab_para][0] not in ('I','R') : + mcsimp['TYPE_K'] =tab_lue[tab_para][0] + mcsimp['LISTE_K']=tab_lue[tab_para][1] + elif tab_lue[tab_para][0]=='I' : + mcsimp['LISTE_I']=tab_lue[tab_para][1] + elif tab_lue[tab_para][0]=='R' : + mcsimp['LISTE_R']=tab_lue[tab_para][1] + + mcfact.append( _F(**mcsimp) ) + num_col = num_col + 1 + motscles={} + motscles['LISTE']=mcfact + + ut_tab=CREA_TABLE(TITRE=titr_tab,TYPE_TABLE=TYPE_TABLE, **motscles) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macr_adap_mail_ops.py b/Aster/Cata/cataSTA74/Macro/macr_adap_mail_ops.py new file mode 100644 index 00000000..16625395 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_adap_mail_ops.py @@ -0,0 +1,727 @@ +#@ MODIF macr_adap_mail_ops Macro DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_ops ( self, + INFO, VERSION_HOMARD, LANGUE, + NOMBRE, QUALITE, CONNEXITE, TAILLE, INTERPENETRATION, + NON_SIMPLEXE, MAILLAGE_FRONTIERE, + **args): + """ + Ecriture des macros MACR_ADAP_MAIL/MACR_INFO_MAIL + Remarque : on ne mentionne explicitement que les mots-clés communs aux + deux macros. Les autres sont dans le dictionnaire args + """ +# +# 1. args est le dictionnaire des arguments +# args.keys() est la liste des mots-clés +# args.keys()[0] est la premiere valeur de cette liste +# args.keys()[1:] est la liste des valeurs suivantes dans cette liste +# args.keys(mot_cle) représente le contenu de la variable mot_cle dans la macro appelante. +# +### print args +### print args.keys() +### if len (args.keys())>0 : print args.keys()[0] +### print args["MAILLAGE"] +# +# 2. Les caractéristiques d'un passage sont conservées dans un dictionnaire. Il y a autant de +# dictionnaires que de sollicitations pour une série d'adaptation. L'ensemble de ces dictionnaires +# est conservé dans la liste Liste_Passages. Cette liste est nécessairement globale pour pouvoir +# la retrouver à chaque nouveau passage. +# Description du dictionnaire de passages : +# dico["Maillage_0"] = o ; string ; nom du concept du maillage initial de la série d'adaptation +# dico["Maillage_NP1"] = o ; string ; nom du concept du dernier maillage adapté +# dico["Rep_Calc_HOMARD_global"] = o ; string ; Nom global du répertoire de calcul pour HOMARD +# dico["Rep_Calc_HOMARD_local"] = o ; string ; Nom local du répertoire de calcul pour HOMARD +# depuis le répertoire de calcul pour ASTER +# dico["niter"] = o ; entier ; numéro d'itération +# +# 3. Les caractéristiques d'un maillage sont conservées dans un dictionnaire. Il y a autant de +# dictionnaires que de maillages manipulés. L'ensemble de ces dictionnaires est conservé +# dans la liste Liste_Maillages. +# Description du dictionnaire de maillages : +# dico["Type_Maillage"] = o ; string ; "MAILLAGE_N", "MAILLAGE_NP1" ou "MAILLAGE_FRONTIERE" +# dico["Nom_ASTER"] = o ; concept ASTER associé +# dico["Action"] = o ; string ; "A_ecrire" ou "A_lire" +# dico["NOM_MED"] = o ; string ; Nom MED du maillage +# +# 4. Les caractéristiques d'un champ sont conservées dans un dictionnaire. Il y a autant de +# dictionnaires que de champs manipulés. L'ensemble de ces dictionnaires est conservé +# dans la liste Liste_Champs. +# Description du dictionnaire de champs : +# dico["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP" +# dico["RESULTAT"] = o ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = o ; string ; Nom ASTER du champ +# dico["COMPOSANTE"] = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur) +# dico["NUME_ORDRE"] = f ; entier ; Numéro d'ordre du champ +# dico["INST"] = f ; entier ; Instant du champ +# dico["PRECISION"] = f ; entier ; Précision sur l'instant du champ +# dico["CRITERE"] = f ; entier ; Critère de précision sur l'instant du champ +# dico["CHAM_MAJ"] = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage +# dico["NOM_MED"] = o ; string ; Nom MED du champ +# + from Accas import _F + import aster + import string + import types + import os +# + global Liste_Passages +# +#-------------------------------------------------------------------- +# 1. Préalables +#-------------------------------------------------------------------- +# +# 1.1. ==> La macro compte pour 1 dans la numerotation des commandes +# + self.set_icmd(1) +# +# 1.2. ==> Numéro du passage dans cette macro +# + try : + self.jdc.indice_macro_homard = self.jdc.indice_macro_homard + 1 + except : + self.jdc.indice_macro_homard = 1 + Liste_Passages = [] + Numero_Passage_Fonction = self.jdc.indice_macro_homard +### print "Numero_Passage_Fonction = ",Numero_Passage_Fonction +# +# 1.3. ==> On importe les definitions des commandes a utiliser dans la macro +# + DEFI_FICHIER = self.get_cmd("DEFI_FICHIER") + IMPR_RESU = self.get_cmd("IMPR_RESU") + EXEC_LOGICIEL = self.get_cmd("EXEC_LOGICIEL") + IMPR_FICO_HOMA = self.get_cmd("IMPR_FICO_HOMA") + LIRE_MAILLAGE = self.get_cmd("LIRE_MAILLAGE") + LIRE_CHAMP = self.get_cmd("LIRE_CHAMP") + DETRUIRE = self.get_cmd('DETRUIRE') +# +# 1.4. ==> Le nom du programme HOMARD à lancer +# + repertoire_outils = aster.repout() + homard = repertoire_outils + "homard" +# +# 1.5. ==> Initialisations +# + codret = 0 + codret_partiel = [0] + Rep_Calc_ASTER = os.getcwd() +# + Liste_Maillages = [] + Liste_Champs = [] + dico_indi = {} +# + ADAPTATION = None + MAJ_CHAM = None +# + unite = 71 +# +#-------------------------------------------------------------------- +# 2. Décodage des arguments de la macro-commande +#-------------------------------------------------------------------- +# 2.1. ==> Données de pilotage de l'adaptation +# + if ( self.nom == "MACR_ADAP_MAIL" ) : +# + modhom = "ADAP" +# + ADAPTATION = args["ADAPTATION"] + if args.has_key("MAJ_CHAM") : + MAJ_CHAM = args["MAJ_CHAM"] +# +# 2.1.1. ==> Les concepts "maillage" +# + for mot_cle in ["MAILLAGE_N","MAILLAGE_NP1"] : + dico = {} + dico["Type_Maillage"] = mot_cle + dico["Nom_ASTER"] = ADAPTATION[mot_cle] + if ( mot_cle == "MAILLAGE_N" ) : + dico["Action"] = "A_ecrire" + else : + dico["Action"] = "A_lire" + Liste_Maillages.append(dico) +# +# 2.1.2. ==> L'éventuel indicateur d'erreur +# + if ADAPTATION["LIBRE"] != None : + dico = {} + dico["Type_Champ"] = "INDICATEUR" + dico["RESULTAT"] = ADAPTATION["RESULTAT_N"] + dico["NOM_CHAM"] = ADAPTATION["INDICATEUR"] + dico["COMPOSANTE"] = ADAPTATION["NOM_CMP_INDICA"] + if ( ADAPTATION["NUME_ORDRE"] != None ) : + dico["NUME_ORDRE"] = ADAPTATION["NUME_ORDRE"] + if ( ADAPTATION["INST"] != None ) : + dico["INST"] = ADAPTATION["INST"] + for cle in [ "PRECISION", "CRITERE" ] : + if ( ADAPTATION[cle] != None ) : + dico[cle] = ADAPTATION[cle] + dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] ) + Liste_Champs.append(dico) + dico_indi = dico +### print dico +# +# 2.1.3. ==> Les champs à mettre à jour +# + if ( MAJ_CHAM != None ) : +# + for maj_cham in MAJ_CHAM : +### print maj_cham +# + dico = {} + dico["Type_Champ"] = "CHAMP" + for cle in [ "CHAM_MAJ", "TYPE_CHAM", "RESULTAT", "NOM_CHAM" ] : + dico[cle] = maj_cham[cle] + if ( maj_cham["NUME_ORDRE"] != None ) : + dico["NUME_ORDRE"] = maj_cham["NUME_ORDRE"] + elif ( maj_cham["INST"] != None ) : + dico["INST"] = maj_cham["INST"] + for cle in [ "PRECISION", "CRITERE" ] : + if ( maj_cham[cle] != None ) : + dico[cle] = maj_cham[cle] + dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] ) +# +### print dico + Liste_Champs.append(dico) +# +# 2.2. ==> Données de pilotage de l'information +# + else : +# + modhom = "INFO" +# + dico = {} + dico["Type_Maillage"] = "MAILLAGE_N" + dico["Nom_ASTER"] = args["MAILLAGE"] + dico["Action"] = "A_ecrire" + Liste_Maillages.append(dico) +# +# 2.3. ==> Suivi de frontière +# + if ( MAILLAGE_FRONTIERE != None ) : +# + dico = {} + dico["Type_Maillage"] = "MAILLAGE_FRONTIERE" + dico["Nom_ASTER"] = MAILLAGE_FRONTIERE + dico["Action"] = "A_ecrire" + Liste_Maillages.append(dico) +# +#-------------------------------------------------------------------- +# 3. Préparation du lancement des commandes +#-------------------------------------------------------------------- +# +# 3.1. ==> . Elaboration des noms MED des concepts de maillage +# . Memorisation des noms ASTER du maillage en entrée et en sortie (sous forme string) +# On crée une nouvelle liste des dictionnaires décrivant les maillages +# et à la fin on écrase l'ancienne liste par cette nouvelle. +# + L = [] + for dico in Liste_Maillages : + dico["NOM_MED"] = aster.mdnoma(dico["Nom_ASTER"].nom) + L.append(dico) + if ( dico["Type_Maillage"] == "MAILLAGE_N" ) : + Nom_Concept_Maillage_N = dico["Nom_ASTER"].nom + elif ( dico["Type_Maillage"] == "MAILLAGE_NP1" ) : + Nom_Concept_Maillage_NP1 = dico["Nom_ASTER"].nom + Liste_Maillages = L +# +# 3.2. ==> Recherche du numéro d'itération et du répertoire de travail +# +# 3.2.1. ==> Par défaut : +# . le numéro d'itération est nul +# . le nom du répertoire de lancement de HOMARD est construit sur le nom +# du maillage en entrée et le numéro de passage dans la fonction +# + niter = 0 + Nom_Rep_local = Nom_Concept_Maillage_N + "_" + modhom + "_" + str(Numero_Passage_Fonction) + Rep_Calc_HOMARD_local = os.path.join(".",Nom_Rep_local) + Rep_Calc_HOMARD_global = os.path.join(Rep_Calc_ASTER,Nom_Rep_local) +### print "Rep_Calc_HOMARD_local = ", Rep_Calc_HOMARD_local +### print "Rep_Calc_HOMARD_global = ", Rep_Calc_HOMARD_global +# +# 3.2.2. ==> En adaptation : +# + if ( modhom == "ADAP" ) : +# +# 3.2.2.1. ==> On recherche si dans les passages déjà effectués, il en existe un +# dont le maillage d'arrivée était l'actuel maillage d'entrée. Si c'est +# le cas, cela veut dire que l'adaptation en cours est la suite d'une +# précédente. On doit donc utiliser le meme répertoire. Le numéro +# d'itération est celui de l'adaptation précédente augmenté de 1. +# + for dico in Liste_Passages : + if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : + niter = dico["niter"] + 1 + Rep_Calc_HOMARD_local = dico["Rep_Calc_HOMARD_local"] + Rep_Calc_HOMARD_global = dico["Rep_Calc_HOMARD_global"] +# +# 3.2.2.2. ==> Memorisation de ce passage +# +# 3.2.2.2.1. ==> Enregistrement d'un nouveau cas de figure +# + if ( niter == 0 ) : + dico = {} + dico["Maillage_0"] = Nom_Concept_Maillage_N + dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["Rep_Calc_HOMARD_local"] = Rep_Calc_HOMARD_local + dico["Rep_Calc_HOMARD_global"] = Rep_Calc_HOMARD_global + dico["niter"] = niter + Liste_Passages.append(dico) +# +# 3.2.2.2.2. ==> Modification du cas en cours +# + else : + L = [] + for dico in Liste_Passages : + if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) : + dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1 + dico["niter"] = niter + L.append(dico) + Liste_Passages = L +# +### print "niter = ", niter, ", Rep_Calc_HOMARD_global = ", Rep_Calc_HOMARD_global +# +#-------------------------------------------------------------------- +# 4. Ecriture des commandes +#-------------------------------------------------------------------- +# +# 4.1. ==> Création du répertoire pour homard +# attention : on ne fait cette creation qu'une seule fois par cas +# d'adaptation ou d'information +# + if ( niter == 0 ) : +# + try : + os.mkdir(Rep_Calc_HOMARD_global) + except os.error,codret_partiel : + self.cr.warn("Code d'erreur de mkdir : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) + self.cr.fatal(" Impossible de créer le répertoire de travail pour HOMARD : "+Rep_Calc_HOMARD_global) + codret = codret + 1 +# +# 4.2. ==> Ecriture des commandes de creation des donnees MED +# +# On doit écrire : le maillage, +# le champ d'indicateur d'erreur +# les champs à convertir +# Remarque : on met tout dans le meme fichier +# +# Chacune de ces écritures est optionnelle selon le contexte. +# + if ( INFO > 1 ) : infomail = "OUI" + else : infomail = "NON" +# +# 4.2.1. ==> Noms des fichiers d'ASTER vers HOMARD et éventuellement de HOMARD vers ASTER +# Remarque : aujourd'hui, les écritures ou les lectures au format MED se font obligatoirement sur +# un fichier de nom fort.n, placé dans le répertoire de calcul +# Dans le fichier de configuration, on donne comme nom MAILL.(niter).MED en entrée et +# MAILL.(niter+1).MED en sortie (cf. adhc00) +# Tant que les E/S MED n'ont pas évolué, on fait un lien pour assurer la cohérence. +# +# 4.2.1.1. ==> D'ASTER vers HOMARD +# + Unite_Fichier_ASTER_vers_HOMARD = 1787 + 2*Numero_Passage_Fonction + Fichier_ASTER_vers_HOMARD = os.path.join(Rep_Calc_ASTER,"fort." + str(Unite_Fichier_ASTER_vers_HOMARD)) + Fichier_HOMARD_Entree = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter)+".MED") +### print "Fichier_ASTER_vers_HOMARD = ",Fichier_ASTER_vers_HOMARD +### print "Fichier_HOMARD_Entree = ",Fichier_HOMARD_Entree + try : + os.symlink(Fichier_ASTER_vers_HOMARD,Fichier_HOMARD_Entree) + except os.error,codret_partiel : + self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) + self.cr.fatal(" Probleme au lien entre " + Fichier_ASTER_vers_HOMARD + " et " + Fichier_HOMARD_Entree) + codret = codret + 1 +# +# 4.2.1.2. ==> De HOMARD vers ASTER +# + if ( modhom == "ADAP" ) : + Unite_Fichier_HOMARD_vers_ASTER = Unite_Fichier_ASTER_vers_HOMARD + 1 + Fichier_HOMARD_vers_ASTER = os.path.join(Rep_Calc_ASTER,"fort." + str(Unite_Fichier_HOMARD_vers_ASTER)) + Fichier_HOMARD_Sortie = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter+1)+".MED") +### print "Fichier_HOMARD_vers_ASTER = ",Fichier_HOMARD_vers_ASTER +### print "Fichier_HOMARD_Sortie = ",Fichier_HOMARD_Sortie + try : + os.symlink(Fichier_HOMARD_vers_ASTER,Fichier_HOMARD_Sortie) + except os.error,codret_partiel : + self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) + self.cr.fatal(" Probleme au lien entre " + Fichier_HOMARD_vers_ASTER + " et " + Fichier_HOMARD_Sortie) + codret = codret + 1 +# +# 4.2.2. La définition du fichier de ASTER vers HOMARD +# + DEFI_FICHIER ( ACTION= "ASSOCIER", + UNITE = Unite_Fichier_ASTER_vers_HOMARD, + TYPE = "LIBRE", + INFO = INFO ) +# +# 4.2.3. Le(s) maillage(s) +# Le maillage de calcul et l'éventuel maillage de la frontiere sont écrits +# dans le meme fichier MED +# En fait, on pourrait s'en passer au dela de la 1ère itération +# car HOMARD a mémorisé. Mais dès que l'on écrit un champ, +# les conventions MED imposent la présence du maillage dans le fichier. +# Donc on va toujours écrire. +# + for dico in Liste_Maillages : + if ( dico["Action"] == "A_ecrire" ) : + motscsi={} + motscsi["MAILLAGE"] = dico["Nom_ASTER"] + motscfa={} + motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, + **motscsi ) +# + IMPR_RESU ( INFO = INFO, + FORMAT ='MED', UNITE = Unite_Fichier_ASTER_vers_HOMARD, + **motscfa ) +# +# 4.2.4. Le(s) champ(s) +# Attention : il se peut que l'on demande la mise à jour du champ qui a servi comme +# indicateur d'erreur. Si c'est le cas, il ne faut pas demander son +# impression sinon il y a plantage d'IMPR_RESU qui ne sait pas substituer +# deux champs. D'ailleurs, c'est plus économique ainsi ! +# Remarque : pour l'adaptation, on ne demande a priori qu'une composante du champ d'indicateur. +# s'il y a demande de mise à jour, toutes les composantes sont concernées. Il faut +# donc dans ce cas imprimer le champ total. +# dico["Type_Champ"] = o ; string ; "INDICATEUR" ou "CHAMP" +# dico["RESULTAT"] = o ; concept ASTER du résutat associé +# dico["NOM_CHAM"] = o ; string ; Nom ASTER du champ +# dico["COMPOSANTE"] = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur) +# dico["NUME_ORDRE"] = f ; entier ; Numéro d'ordre du champ +# dico["INST"] = f ; entier ; Instant du champ +# dico["PRECISION"] = f ; entier ; Précision sur l'instant du champ +# dico["CRITERE"] = f ; entier ; Critère de précision sur l'instant du champ +# dico["CHAM_MAJ"] = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage +# dico["NOM_MED"] = o ; string ; Nom MED du champ +# +# 4.2.4.1. Recherche d'un doublon éventuel sur le champ d'indicateur d'erreur +# + if len(dico_indi) > 0 : + imprime_indic = 0 + else : + imprime_indic = 1 +# + Liste_Champs_imprime = [] + for dico in Liste_Champs : +# Pour un champ à mettre à jour, on a toujours impression + if ( dico["Type_Champ"] == "CHAMP" ) : + Liste_Champs_imprime.append(dico) +# Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour : + if not imprime_indic : +# Est-ce le meme champ ? + ok = 1 + for cle in [ "RESULTAT", "NOM_CHAM" ] : + if ( dico_indi[cle] != dico[cle] ) : + ok = 0 + break +# Si oui, est-ce au meme moment ? (remarque : si rien n'est désigné, c'est qu'il n'y a qu'un +# seul instant ... donc c'est le meme ! En revanche, on ne sait pas comparer une donnée +# en numéro d'ordre et une donnée en instant. On croise les doigts.) + if ok : + for cle in [ "NUME_ORDRE", "INST" ] : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + if dico_indi.has_key(cle) : + if ( dico_indi[cle] != dico[cle] ) : + ok = 0 + break + if ok : imprime_indic = 1 +# Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour, il faut +# l'inclure dans les champs à imprimer + if not imprime_indic : Liste_Champs_imprime.append(dico_indi) +# +# 4.2.4.2. Impressions après le filtrage précédent +# + for dico in Liste_Champs_imprime : + motscsi={} + for cle in [ "RESULTAT", "NOM_CHAM", "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + motscsi[cle] = dico[cle] + if dico.has_key("COMPOSANTE") : + motscsi["NOM_CMP"] = dico["COMPOSANTE"] + motscfa={} + motscfa["RESU"]=_F( INFO_MAILLAGE=infomail, + **motscsi + ) +# + IMPR_RESU ( INFO = INFO, + FORMAT ='MED', UNITE = Unite_Fichier_ASTER_vers_HOMARD, + **motscfa ) +# +# 4.3. ==> Ecriture de la commande d'écriture des fichiers de données pour HOMARD +# + motscfa={} +# +# 4.3.1. ==> Le traitement +# + motscsi={} +# +# 4.3.1.1. ==> Le type de traitement +# + if ( modhom == "ADAP" ) : + if ( ADAPTATION["UNIFORME"] != None ) : + motscsi["UNIFORME"] = ADAPTATION["UNIFORME"] + else : + motscsi["ADAPTATION"] = ADAPTATION["LIBRE"] + else : + motscsi["INFORMATION"] = "OUI" +# +# 4.3.1.2. ==> Les noms med des maillages +# + for dico in Liste_Maillages : +### print "Nom MED de " + dico["Type_Maillage"] + " = " + dico["NOM_MED"] + motscsi[ "NOM_MED_"+dico["Type_Maillage"] ] = dico["NOM_MED"] +# +# 4.3.1.3. ==> Les caracteristiques de l'éventuel indicateur d'erreur +# + for dico in Liste_Champs : + if ( dico["Type_Champ"] == "INDICATEUR" ) : + Liste_aux = [ "NOM_MED", "COMPOSANTE" ] + if dico.has_key("NUME_ORDRE") : + Liste_aux.append("NUME_ORDRE") + else : + for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] : + Liste_aux.append(cle) + for cle in Liste_aux : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + motscsi[cle] = dico[cle] +# +# 4.3.1.4. ==> Les critères de raffinement et les niveaux extremes +# + if ( modhom == "ADAP" ) : + Liste_aux = [ ] + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" ) : + Liste_aux.append("CRIT_RAFF_ABS") + Liste_aux.append("CRIT_RAFF_REL") + Liste_aux.append("CRIT_RAFF_PE") + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" ) : + Liste_aux.append("CRIT_DERA_ABS") + Liste_aux.append("CRIT_DERA_REL") + Liste_aux.append("CRIT_DERA_PE") + niveau = 0 + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" or ADAPTATION["UNIFORME"] == "RAFFINEMENT" ) : + Liste_aux.append("NIVE_MAX") + niveau = niveau + 1 + if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" or ADAPTATION["UNIFORME"] == "DERAFFINEMENT" ) : + Liste_aux.append("NIVE_MIN") + niveau = niveau + 2 + for mot_cle in Liste_aux : + if ( ADAPTATION[mot_cle] != None ) : + motscsi[mot_cle] = ADAPTATION[mot_cle] +# + if ( niveau == 2 ) : + if ( ADAPTATION["NIVE_MIN"] > ADAPTATION["NIVE_MAX"] ) : + self.cr.fatal(" Le niveau minimum doit etre inferieur au niveau maximum.") + codret = codret + 1 +# +# 4.3.1.5. ==> Numéro d'itération +# + if ( modhom == "ADAP" ) : + motscsi["NITER"] = niter +# +# 4.3.1.6. ==> Suivi de la frontiere +# + if args.has_key("GROUP_MA") : + if ( args["GROUP_MA"] != None ) : + motscsi["GROUP_MA"] = args["GROUP_MA"] +# +# 4.3.1.7. ==> Bilan +# + motscfa["TRAITEMENT"] = _F(**motscsi) +# +# 4.3.2. ==> L'analyse +# + motscsi={} + if ( NOMBRE != None ) : motscsi["NOMBRE" ] = NOMBRE + if ( QUALITE != None ) : motscsi["QUALITE" ] = QUALITE + if ( CONNEXITE != None ) : motscsi["CONNEXITE" ] = CONNEXITE + if ( TAILLE != None ) : motscsi["TAILLE" ] = TAILLE + if ( INTERPENETRATION != None ) : motscsi["INTERPENETRATION" ] = INTERPENETRATION +# + motscfa["ANALYSE"] = _F(**motscsi) +# +# 4.3.3. ==> La mise à jour de champs +# + prem = 1 + for dico in Liste_Champs : + motscsi={} + if ( dico["Type_Champ"] == "CHAMP" ) : + Liste_aux = [ "NOM_MED", "COMPOSANTE" ] + if dico.has_key("NUME_ORDRE") : + Liste_aux.append("NUME_ORDRE") + else : + for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] : + Liste_aux.append(cle) + for cle in Liste_aux : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + motscsi[cle] = dico[cle] +### print motscsi + if prem : + motscfa["MAJ_CHAM"] = [_F(**motscsi),] + prem = 0 + else : + motscfa["MAJ_CHAM"].append(_F(**motscsi)) +# +# 4.3.4. ==> La commande +# +# 4.3.4.1. ==> Les fichiers annexes +# + dico = {} +# + Nom_Fichier_Configuration = "HOMARD.Configuration" + Fichier_Configuration = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Configuration) + dico[Fichier_Configuration] = ("HOMARD_CONFIG","UNITE_CONF",unite) +# + if ( modhom != "ADAP" ) : + unite = unite + 1 + Nom_Fichier_Donnees = "HOMARD.Donnees" + Fichier_Donnees = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Donnees) +# 1234567890123456 + dico[Fichier_Donnees] = ("HOMARD_DONN","UNITE_DONN",unite) +# +# 4.3.4.2. ==> L'ouverture de ces fichiers +# + for fic in dico.keys() : + DEFI_FICHIER ( ACTION= "ASSOCIER", FICHIER = fic, UNITE = dico[fic][2], + TYPE = "ASCII", ACCES = "NEW", INFO = INFO ) + motscfa[dico[fic][1]] = dico[fic][2] +# +# 4.3.4.3. ==> Ecriture +# +### print motscfa + IMPR_FICO_HOMA ( INFO=INFO, LANGUE = LANGUE, NON_SIMPLEXE = NON_SIMPLEXE, **motscfa ) +# +### for fic in dico.keys() : +### print "\nContenu de ", fic +### fichier = open (fic,"r") +### les_lignes = fichier.readlines() +### fichier.close() +### for ligne in les_lignes : +### print ligne[:-1] +# +# 4.3.4.4. ==> La fermeture des fichiers locaux +# Remarque : il faut le faire ici pour que le gestionnaire de DEFI_FICHIER soit à jour +# Remarque : aujourd'hui on est obligé de passer par le numéro d'unité logique +# + for fic in dico.keys() : + DEFI_FICHIER ( ACTION= "LIBERER", UNITE = dico[fic][2], INFO = INFO ) +# +# 4.4. ==> Ecriture de la commande d'exécution de homard +# Remarque : dans la donnée de la version de HOMARD, il faut remplacer +# le _ de la donnee par un ., qui +# est interdit dans la syntaxe du langage de commandes ASTER +# Remarque : il faut remplacer le N majuscule de la donnee par +# un n minuscule, qui est interdit dans la syntaxe du langage +# de commandes ASTER +# Remarque : pour le nommage des fichiers d'échange entre ASTER et HOMARD, on utilise +# la convention implicite du fort.n des entrees/sorties au format MED +# + VERSION_HOMARD=string.replace(VERSION_HOMARD,"_",".") + VERSION_HOMARD=string.replace(VERSION_HOMARD,"N","n") + if ( VERSION_HOMARD[-6:]=="_PERSO" ): +# motscsi["ARGUMENT"]=_F("TYPEXE"="-PERSO") + VERSION_HOMARD=VERSION_HOMARD[:-6] +# + if ( modhom == "ADAP" ) : + Nom_Fichier_Donnees = "0" +# + EXEC_LOGICIEL ( ARGUMENT = (_F(NOM_PARA=Rep_Calc_HOMARD_global), # nom du repertoire + _F(NOM_PARA=VERSION_HOMARD), # version de homard + _F(NOM_PARA=str(INFO)), # niveau d information + _F(NOM_PARA=Nom_Fichier_Donnees), # fichier de données HOMARD + ), + LOGICIEL = homard + ) +# +# 4.5. ==> Ecriture de la commande de lecture des resultats med +# Remarque : +# La fonction self.DeclareOut(a,b) focntionne ainsi : +# a est une chaine de caracteres +# b est la variable déclarée dans la commande +# le but est de associer le contenu de b à la variable locale qui sera désignée par a +# Exemple : +# self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"]) +# ==> la variable maillage_np1 est identifiée à l'argument "MAILLAGE_NP1" du mot-clé ADAPTATION +# + if ( modhom == "ADAP" ) : +# +# 4.5.1. ==> Le maillage +# + self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"]) + for dico in Liste_Maillages : + if ( dico["Action"] == "A_lire" ) : + maillage_np1 = LIRE_MAILLAGE ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, + FORMAT = "MED", + NOM_MED = dico["NOM_MED"], + VERI_MAIL = _F(VERIF="NON"), INFO_MED = INFO, INFO = INFO ) +# +# 4.5.2. ==> Les champs +# + for dico in Liste_Champs : + if ( dico["Type_Champ"] == "CHAMP" ) : +### print dico + self.DeclareOut("champ_maj",dico["CHAM_MAJ"]) + motscsi={} + for cle in [ "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] : + if dico.has_key(cle) : + if ( dico[cle] != None ) : + motscsi[cle] = dico[cle] + if dico.has_key("NUME_ORDRE") : + motscsi["NUME_PT"] = dico["NUME_ORDRE"] + champ_maj = LIRE_CHAMP ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, FORMAT = "MED", + MAILLAGE = maillage_np1, + NOM_MED = dico["NOM_MED"], NOM_CMP_IDEM = "OUI", TYPE_CHAM = dico["TYPE_CHAM"], + INFO = INFO, **motscsi ) +# +#-------------------------------------------------------------------- +# 5. Menage des fichiers MED et HOMARD devenus inutiles +#-------------------------------------------------------------------- +# + fic = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter)+".HOM") + Liste_aux = [ Fichier_ASTER_vers_HOMARD, Fichier_HOMARD_Entree, fic ] + if ( modhom == "ADAP" ) : + Liste_aux.append(Fichier_HOMARD_vers_ASTER) + Liste_aux.append(Fichier_HOMARD_Sortie) +# + for fic in Liste_aux : + if ( INFO > 1 ) : print "Destruction du fichier ", fic + if os.path.islink(fic) : + try : + os.unlink(fic) + except os.error,codret_partiel : + self.cr.warn("Code d'erreur de unlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) + self.cr.warn("Impossible d'enlever le lien sur le fichier : "+fic) + codret = codret + 1 + if os.path.isfile(fic) : + try : + os.remove(fic) + except os.error,codret_partiel : + self.cr.warn("Code d'erreur de remove : " + str(codret_partiel[0]) + " : " + codret_partiel[1]) + self.cr.warn("Impossible de détruire le fichier : "+fic) + codret = codret + 1 +### print os.listdir(Rep_Calc_ASTER) +### print os.listdir(Rep_Calc_HOMARD_global) +# +#-------------------------------------------------------------------- +# 6. C'est fini ! +#-------------------------------------------------------------------- +# + return codret diff --git a/Aster/Cata/cataSTA74/Macro/macr_ascouf_calc_ops.py b/Aster/Cata/cataSTA74/Macro/macr_ascouf_calc_ops.py new file mode 100644 index 00000000..fda98363 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_ascouf_calc_ops.py @@ -0,0 +1,677 @@ +#@ MODIF macr_ascouf_calc_ops Macro DATE 22/11/2004 AUTEUR LEBOUVIE F.LEBOUVIER +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + +def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM, + FOND_FISS,CHARGE,RESU_THER,AFFE_MATERIAU, + PRES_REP,ECHANGE,TORS_P1,COMP_INCR,COMP_ELAS, + SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE, + INCREMENT,THETA_3D,IMPR_TABLE,IMPRESSION,INFO,TITRE ,**args): + """ + Ecriture de la macro MACR_ASCOUF_CALC + """ + from Accas import _F + import types + import math + import aster + from math import pi,sin,cos,sqrt,atan2 + ier=0 +# On recopie les mots cles affe_materiau et impr_table pour les proteger + mc_AFFE_MATERIAU=AFFE_MATERIAU + mc_IMPR_TABLE =IMPR_TABLE + # On importe les definitions des commandes a utiliser dans la macro + AFFE_MODELE =self.get_cmd('AFFE_MODELE' ) + AFFE_MATERIAU =self.get_cmd('AFFE_MATERIAU' ) + AFFE_CARA_ELEM =self.get_cmd('AFFE_CARA_ELEM' ) + AFFE_CHAR_THER_F =self.get_cmd('AFFE_CHAR_THER_F') + THER_LINEAIRE =self.get_cmd('THER_LINEAIRE' ) + AFFE_CHAR_MECA =self.get_cmd('AFFE_CHAR_MECA' ) + STAT_NON_LINE =self.get_cmd('STAT_NON_LINE' ) + CALC_ELEM =self.get_cmd('CALC_ELEM' ) + IMPR_RESU =self.get_cmd('IMPR_RESU' ) + IMPR_TABLE =self.get_cmd('IMPR_TABLE' ) + DEFI_FOND_FISS =self.get_cmd('DEFI_FOND_FISS' ) + CALC_THETA =self.get_cmd('CALC_THETA' ) + CALC_G_THETA_T =self.get_cmd('CALC_G_THETA_T' ) + CALC_G_LOCAL_T =self.get_cmd('CALC_G_LOCAL_T' ) + POST_RCCM =self.get_cmd('POST_RCCM' ) + POST_RELEVE_T =self.get_cmd('POST_RELEVE_T' ) + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) +#------------------------------------------------------------------ +# DATA + GRMAIL = ('COUDE','PEAUINT','PEAUEXT','EXTUBE','CLGV','FACE1','FACE2') +#------------------------------------------------------------------ +# + if CL_BOL_P2_GV!=None : + if TYPE_MAILLAGE=='SOUS_EPAIS_COUDE' : + print ' la condition aux limites sur bol a section conique' + print ' est ignoree pour un coude avec sous-epaisseurs' + elif (TYPE_MAILLAGE[:4]!='FISS') and (CL_BOL_P2_GV['AZIMUT']!=None) : + ier=ier+1 + self.cr.fatal(""" mot-cle AZIMUT non autorise dans le cas d''un coude sain""") + return ier +# + if mc_IMPR_TABLE!=None : + FLAG = 0 + if (mc_IMPR_TABLE['NOM_PARA']==None) and (mc_IMPR_TABLE['POSI_ANGUL']==None) and (mc_IMPR_TABLE['POSI_CURV_LONGI']==None) : + ier=ier+1 + self.cr.fatal(""" POSI_ANGUL POSI_CURV_LONGI est obligatoire""") + return ier + if (mc_IMPR_TABLE['NOM_PARA']!=None) : + impr_table_nom_para= mc_IMPR_TABLE['NOM_PARA'] + for impt in impr_table_nom_para : + if impt in ('SI_LONG','SI_CIRC','SI_RADI') : + FLAG = 1 + if (((impt['ANGLE']==None) and (impt['POSI_ANGUL']==None) and (impt['R_CINTR' ]==None)) or + ((impt['ANGLE']==None) and (impt['R_CINTR' ]==None) and (impt['POSI_CURV_LONGI']==None)) ) : + ier=ier+1 + self.cr.fatal(""" il faut renseigner : ANGLE, R_CINTR et POSI_ANGUL ou ANGLE, R_CINTR et POSI_CURV_LONGI""") + return ier + if (mc_IMPR_TABLE['NOM_PARA']==None) : FLAG = 1 + if not FLAG : print ' ANGL_COUDE et ANGL_SOUS_EPAI sont inutiles dans ce cas' +# +#------------------------------------------------------------------ +# +# --- commande AFFE_MODELE --- +# + self.DeclareOut('modele',MODELE) + mcfact=[] + if (PRES_REP!=None) and (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[:4]=='FISS') : + mcfact.append(_F(GROUP_MA=GRMAIL ,PHENOMENE='MECANIQUE',MODELISATION='3D' )) + else: + mcfact.append(_F(GROUP_MA=GRMAIL[:5] ,PHENOMENE='MECANIQUE',MODELISATION='3D' )) + if TORS_P1!=None : + mcfact.append(_F(GROUP_MA='P1' ,PHENOMENE='MECANIQUE',MODELISATION='DIS_TR')) + if CL_BOL_P2_GV==None : + mcfact.append(_F(GROUP_MA='P2' ,PHENOMENE='MECANIQUE',MODELISATION='DIS_TR')) + modele = AFFE_MODELE( MAILLAGE = MAILLAGE , + AFFE = mcfact ) + if ECHANGE!=None : # modele thermique + __modthe = AFFE_MODELE( MAILLAGE = MAILLAGE , + AFFE = _F(TOUT ='OUI', + PHENOMENE ='THERMIQUE', + MODELISATION='3D' ) ) +#------------------------------------------------------------------ +# +# --- commande AFFE_MATERIAU --- +# + if CHAM_MATER!=None : self.DeclareOut('affmat',CHAM_MATER) + mcfact=[] + for mater in mc_AFFE_MATERIAU : + if mater['TOUT']!=None : + mcfact.append(_F(TOUT =mater['TOUT' ],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + rccmat = mater['MATER'] + else : + mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + if mater['GROUP_MA'][:5]=='COUDE' : + if TORS_P1!=None : + mcfact.append(_F(GROUP_MA='P1',MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + mcfact.append(_F(GROUP_MA='P2',MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + elif (len(mc_AFFE_MATERIAU)==1) and (CL_BOL_P2_GV==None) : + mcfact.append(_F(GROUP_MA='P2',MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + elif (mater['BOL' ][:3]=='BOL' ) and (CL_BOL_P2_GV==None) : + mcfact.append(_F(GROUP_MA='P2',MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + affmat = AFFE_MATERIAU( MAILLAGE = MAILLAGE , + MODELE = modele , + AFFE = mcfact ) +#------------------------------------------------------------------ +# +# --- commande AFFE_CARA_ELEM --- +# + if (TORS_P1!=None) or (CL_BOL_P2_GV==None) : + if CARA_ELEM!=None : self.DeclareOut('carael',CARA_ELEM) + motscles={} + motscles['DISCRET']=[] + if (TORS_P1!=None) : motscles['DISCRET'].append(_F( GROUP_MA='P1' , + CARA ='K_TR_D_N', + VALE = ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) ),) + if (CL_BOL_P2_GV==None) : motscles['DISCRET'].append(_F( GROUP_MA='P2' , + CARA ='K_TR_D_N', + VALE = ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) ),) + + carael = AFFE_CARA_ELEM( MODELE = modele ,**motscles) +# + if ECHANGE!=None : +#------------------------------------------------------------------ +# +# --- commande AFFE_CHAR_THER_F --- +# condition aux limites +# + __chther = AFFE_CHAR_THER_F( MODELE = __modthe , + ECHANGE= _F(GROUP_MA='PEAUINT', + COEF_H =ECHANGE['COEF_H'], + TEMP_EXT=ECHANGE['TEMP_EXT'],), ) +#------------------------------------------------------------------ +# +# --- calcul thermique --- +# + if RESU_THER!=None : self.DeclareOut('resuth',RESU_THER) + mcsimp={} + if INCREMENT['NUME_INST_INIT']!=None : mcsimp['NUME_INIT']=INCREMENT['NUME_INST_INIT'] + if INCREMENT['NUME_INST_FIN' ]!=None : mcsimp['NUME_FIN' ]=INCREMENT['NUME_INST_FIN' ] + mcfact=_F(LIST_INST=INCREMENT['LIST_INST'],**mcsimp) + resuth = THER_LINEAIRE( MODELE = __modthe , + CHAM_MATER = affmat , + TEMP_INIT = _F(STATIONNAIRE='OUI',), + EXCIT = _F(CHARGE=__chther,), + INCREMENT = mcfact, ) +# + if CHARGE!=None : self.DeclareOut('chmeth',CHARGE) + chmeth = AFFE_CHAR_MECA( MODELE = modele , + TEMP_CALCULEE = resuth ) +#------------------------------------------------------------------ +# +# --- commande AFFE_CHAR_MECA --- +# condition aux limites de type raccord 3d-poutre +# ou bien blocage de mouvements rigides en cas d embout +# a section conique, bol de type gv +# + motscles={} + motscles['LIAISON_ELEM']=[] + if TORS_P1!=None : + motscles['LIAISON_ELEM'].append(_F( OPTION ='3D_POU' , + GROUP_MA_1='EXTUBE', + GROUP_NO_2='P1') ) + if CL_BOL_P2_GV==None : + motscles['LIAISON_ELEM'].append(_F( OPTION ='3D_POU' , + GROUP_MA_1='CLGV', + GROUP_NO_2='P2') ) + motscles['DDL_IMPO' ]=_F( GROUP_NO ='P2' , + DX = 0.0 , + DY = 0.0 , + DZ = 0.0 , + DRX = 0.0 , + DRY = 0.0 , + DRZ = 0.0 , ) + else : + motscles['FACE_IMPO' ]=_F( GROUP_MA ='CLGV' , + DNOR = 0.0 , ) + ALPHA = CL_BOL_P2_GV['ANGLE' ] + AZIM = CL_BOL_P2_GV['AZIMUT'] + ALPHAR = ALPHA*pi/180.0 + AZIMR = AZIM *pi/180.0 + DDLB1 = [] + COEFB1 = [] + if (AZIM!=0.0) and (AZIM!=180.0) and (ALPHA!=90.0) : + DDLB1.append('DX') + COEFB1.append(SIN(AZIMR)*COS(ALPHAR)) + if (AZIM!=90.0) : + DDLB1.append('DY') + COEFB1.append(COS(AZIMR)) + if (AZIM!=0.) and (AZIM!=180.) and (ALPHA!=0.): + DDLB1.append('DZ') + COEFB1.append(-SIN(AZIMR)*SIN(ALPHAR)) + POINT=['BOUT1',]*len(DDLB1) + motscles['LIAISON_DDL']=_F( GROUP_NO = POINT , + DDL = DDLB1 , + COEF_MULT = COEFB1 , + COEF_IMPO = 0.0 , ) + + __conlim = AFFE_CHAR_MECA( MODELE = modele ,**motscles) +# +# --- commande AFFE_CHAR_MECA --- +# chargement mecanique : pres_rep, effet de fond +# + if PRES_REP!=None : + motscles={} + if (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[:4]=='FISS') : + motscles['PRES_REP']=_F( GROUP_MA = ('PEAUINT','FACE1','FACE2') , + PRES = PRES_REP['PRES'] ,) + else : + motscles['PRES_REP']=_F( GROUP_MA = 'PEAUINT', + PRES = PRES_REP['PRES'] ,) + if PRES_REP['EFFE_FOND_P1']!=None : + motscles['EFFE_FOND']=_F( GROUP_MA_INT = 'BORDTU' , + GROUP_MA = 'EXTUBE' , + PRES = PRES_REP['PRES'] ,) +# + __chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) +# +# --- commande AFFE_CHAR_MECA --- +# chargement mecanique : torseur d efforts +# + if TORS_P1!=None : + __chtor = [None]*6 + i=0 + for tors in TORS_P1: + mcsimp={} + if tors['FX']!=None : mcsimp['FX']=tors['FX'] + if tors['FY']!=None : mcsimp['FY']=tors['FY'] + if tors['FZ']!=None : mcsimp['FZ']=tors['FZ'] + if tors['MX']!=None : mcsimp['MX']=tors['MX'] + if tors['MY']!=None : mcsimp['MY']=tors['MY'] + if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] + mcfact=_F(GROUP_NO='P1',**mcsimp) + __chtor[i] = AFFE_CHAR_MECA( MODELE = modele , + FORCE_NODALE = mcfact , ) + i=i+1 +# +# --- commande STAT_NON_LINE --- +# + motscles={} +# + mcfex=[] # mot clé facteur EXCIT + mcfex.append(_F(CHARGE=__conlim,)) + if ECHANGE!=None : + mcfex.append(_F(CHARGE=chmeth,)) + if PRES_REP!=None: + if PRES_REP['FONC_MULT']!=None : + mcfex.append(_F(CHARGE=__chpres,FONC_MULT=PRES_REP['FONC_MULT'])) + else : + mcfex.append(_F(CHARGE=__chpres,)) + if TORS_P1!=None: + i=0 + for tors in TORS_P1 : + if tors['FONC_MULT']!=None : + mcfex.append(_F(CHARGE=__chtor[i],FONC_MULT=tors['FONC_MULT'])) + else : + mcfex.append(_F(CHARGE=__chtor[i],)) + i=i+1 + motscles['EXCIT'] =mcfex +# + mcfci=[] # mot clé facteur COMP_INCR :obligatoire pour les noeuds discrets + if COMP_INCR!=None : + mcfci.append(_F(TOUT='OUI' ,RELATION=COMP_INCR['RELATION'])) + elif COMP_ELAS!=None : + motscles['COMP_ELAS'] =_F(GROUP_MA='COUDE',RELATION=COMP_ELAS['RELATION']) + if TORS_P1!=None : mcfci.append( _F(GROUP_MA='P1',RELATION='ELAS')) + if CL_BOL_P2_GV==None: mcfci.append( _F(GROUP_MA='P2',RELATION='ELAS')) + motscles['COMP_INCR'] =mcfci +# + dSolveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + for i in dSolveur.keys(): + if dSolveur[i]==None : del dSolveur[i] +# + dConverg=CONVERGENCE[0].cree_dict_valeurs(CONVERGENCE[0].mc_liste) + for i in dConverg.keys(): + if dConverg[i]==None : del dConverg[i] +# + dNewton=NEWTON[0].cree_dict_valeurs(NEWTON[0].mc_liste) + for i in dNewton.keys(): + if dNewton[i]==None : del dNewton[i] +# + dRechlin=RECH_LINEAIRE[0].cree_dict_valeurs(RECH_LINEAIRE[0].mc_liste) + for i in dRechlin.keys(): + if dRechlin[i]==None : del dRechlin[i] +# + dIncrem=INCREMENT[0].cree_dict_valeurs(INCREMENT[0].mc_liste) + for i in dIncrem.keys(): + if dIncrem[i]==None : del dIncrem[i] +# + if TITRE!=None : + motscles['TITRE' ] =TITRE + motscles ['SOLVEUR' ] =dSolveur + motscles ['CONVERGENCE' ] =dConverg + motscles ['NEWTON' ] =dNewton + motscles ['RECH_LINEAIRE'] =dRechlin + motscles ['INCREMENT' ] =dIncrem + self.DeclareOut('nomres',self.sd) + nomres = STAT_NON_LINE( MODELE = modele , + CHAM_MATER = affmat , + CARA_ELEM = carael , + INFO = INFO , **motscles) +# +# --- commande CALC_ELEM --- +# + nomres = CALC_ELEM( reuse = nomres, + RESULTAT = nomres , + MODELE = modele , + TOUT_ORDRE = 'OUI' , + OPTION = ('SIEF_ELNO_ELGA','EQUI_ELNO_SIGM') , + INFO = INFO ,) +# +# --- post-traitements --- +# + if TYPE_MAILLAGE=='SOUS_EPAIS_COUDE': +# +# --- post traitement sous-epaisseurs: ligaments --- +# + if mc_IMPR_TABLE!=None: +# + SECT=('MI','TU','GV') + LIG=('FDRO','EXDR','EXTR','EXGA','FGAU','INGA','INTR','INDR') + if mc_IMPR_TABLE['POSI_ANGUL']==None: + ASEP=(mc_IMPR_TABLE['POSI_CURV_LONGI']/mc_IMPR_TABLE['R_CINTR'])*(180./pi) + else : + ASEP=mc_IMPR_TABLE['POSI_ANGUL'] +# +# moyenne_rccm, invariant et moyenne sur les ligaments dans +# l epaisseur +# + l_grno=MAILLAGE.LIST_GROUP_NO() + tablig=[None]*4 +# +# prelevements des ligaments circonferentiels et longitudinaux +# de la sous-epaisseur +# + lgrno=[] + for tgrno in l_grno : + if tgrno[0][:3] in ('CIR','LON') : lgrno.append(tgrno[0]) + elif tgrno[0][:5]=='PCENT' : lgrno.append(tgrno[0]) + elif (tgrno[0][:4] in LIG) and (tgrno[0][4:6] not in ('GV','TU','MI')): lgrno.append(tgrno[0]) +# + motscles={} + motscles['SEGMENT']=[] + for grno in lgrno : motscles['SEGMENT'].append(_F(INTITULE=grno,GROUP_NO=grno)) + motscles['TITRE']='TABLE DE POST-TRAITEMENT SECTION SOUS-EPAISSEUR' + tablig[1]=POST_RCCM(MATER = rccmat, + MAILLAGE = MAILLAGE, + TYPE_RESU_MECA = 'EVOLUTION', + OPTION = 'PM_PB', + TRANSITOIRE=_F(RESULTAT=nomres, + NOM_CHAM='SIEF_ELNO_ELGA',),**motscles) +# + motscles={} + motscles['ACTION']=[] + for tgrno in lgrno : + motscles['ACTION'].append(_F(RESULTAT=nomres, + NOM_CHAM='SIEF_ELNO_ELGA', + INTITULE=tgrno, + GROUP_NO=tgrno, + INVARIANT='OUI', + OPERATION='EXTRACTION',)) + motscles['TITRE']='TABLE DE POST-TRAITEMENT SECTION SOUS-EPAISSEUR' + + tablig[2]=POST_RELEVE_T(**motscles) +# + motscles={} + nommail=MAILLAGE.nom + coord =aster.getvectjev(nommail.ljust(8)+'.COORDO .VALE') + linomno =aster.getvectjev(nommail.ljust(8)+'.NOMNOE') + collgrno=aster.getcolljev(nommail.ljust(8)+'.GROUPENO') + + motscles['ACTION']=[] + for tgrno in lgrno : + if tgrno[:3]!='LON' : + if mc_IMPR_TABLE['TRANSFORMEE']=='TUBE': vecty=(0.,0.,1.) + else : vecty=(sin(ASEP*pi/180.),0.,cos(ASEP*pi/180.)) + else : + if mc_IMPR_TABLE['TRANSFORMEE']=='TUBE': vecty=(0.,0.,1.) + else : + grpn=collgrno['FGAUTU '] + LT1=coord[3*(grpn[0]-1)+2] + for node in grpn: + X = coord[3*(node-1)] + Y = coord[3*(node-1)+1] + Z = coord[3*(node-1)+2] + RCIN = mc_IMPR_TABLE['R_CINTR'] + if Z=120.) and (AZIM<=240.0): X = RM-EP/2.0 - SUREP + else: X = RM-EP/2.0 + else: X = RM+EP/2.0 + AZIMR = AZIM*2.0*pi/360.0 +# +# -- CALCUL COTE AXIALE DU CENTRE FISSURE SUR LA PLAQUE EN FONCTION +# DE L ABSCISSE CURVILIGNE DONNEE SUR LE COUDE OU DE LA POSITION +# ANGULAIRE +# + if DSF: + if GEOM=='COUDE': SFP = SF/(1.0+X/RC*cos(AZIMR)) + else : SFP = SF + else : + BETAR = BETA*2.0*pi/360.0 + if (GEOM=='COUDE'): + SF = BETAR*(RC+X*cos(AZIMR)) + SFP = SF/(1.0+X/RC*cos(AZIMR)) + else: + SF = BETAR*RC + SFP = SF + if (GEOM=='COUDE'): print 'COTE AXIALE CENTRE FISSURE SUR COUDE : %.2f'%SF + if (GEOM=='TUBE') : print 'COTE AXIALE CENTRE FISSURE SUR TUBE : %.2f'%SF + print 'COTE AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP +# +# ON ENVISAGE LE CAS OU UNE PARTIE DE L AXE EST DANS LES +# DROITES DES EMBOUTS. LA TRANSFORMATION N EST FAITE QUE SUR LA +# PARTIE RESTANT DANS LE COUDE. +# + if (GEOM=='COUDE'): DIST = ALPHA*2.0*pi/360.0*(RC+X*cos(AZIMR)) + else : DIST = ALPHA*2.0*pi/360.0*RC + BCOUD = 0.0 + BEMB = 0.0 + if abs(ORIEN)<0.01: +# -- FISSURE LONGITUDINALE (0 DEGRE) + BSUP = SF + AXEC + BINF = SF - AXEC + if BSUP>DIST: + BCOUD = DIST - BINF + BEMB = BSUP - DIST + elif BINF<0. : + BCOUD = BSUP + BEMB = abs(BINF) + elif (BINF>=0. and BSUP<=DIST): + BCOUD = 2.0*AXEC + elif abs(ORIEN-90.)<0.01: +# -- FISSURE CIRCONFERENTIELLE (90 DEGRES) + BSUP = SF + BINF = SF + if BSUP>DIST: + BCOUD = DIST - BINF + BEMB = BSUP - DIST + elif BINF<0. : + BCOUD = BSUP + BEMB = abs(BINF) + elif (BINF>=0. and BSUP<=DIST): + BCOUD = 2.0*AXEC + else: +# -- FISSURE A +/- 45 DEGRES SUR INTRADOS OU EXTRADOS + BSUP = SF + sqrt(2.0)/2.0*AXEC + BINF = SF - sqrt(2.0)/2.0*AXEC + if BSUP>DIST: + BCOUD = (DIST - BINF)*sqrt(2.0) + BEMB = (BSUP - DIST)*sqrt(2.0) + elif BINF<0. : + BCOUD = BSUP *sqrt(2.0) + BEMB = abs(BINF)*sqrt(2.0) + elif (BINF>=0. and BSUP<=DIST): + BCOUD = 2.0*AXEC + print 'PARTIE DU GRAND AXE DANS LE COUDE : %.2f'%BCOUD + print 'PARTIE DU GRAND AXE DANS L EMBOUT : %.2f'%BEMB +# +# -- CALCUL DE LA TAILLE DU GRAND AXE FISSURE SUR LA PLAQUE +# + NEWT=0 + if abs(ORIEN)<0.01: +# -- FISSURE LONGITUDINALE (0 DEGRE) + if GEOM=='COUDE': AXECP = BCOUD/(1.0+X/RC*cos(AZIMR)) + BEMB + else : AXECP = BCOUD + BEMB + elif abs(ORIEN-90.)<0.01: +# -- FISSURE CIRCONFERENTIELLE (90 DEGRES) + AXECP = (BCOUD+BEMB)*RM/X + else : + if GEOM=='COUDE': +# ------- TRANSFORMATION COUDE + if AZIM in (0.,180.): +# -- FISSURE A +/- 45 DEGRES SUR INTRADOS OU EXTRADOS + AXECP = BCOUD*RM*sqrt(2.)/( X*sqrt(1.+(RM/X+RM/RC*cos(AZIMR))**2) )+\ + BEMB*sqrt( (1.0+(X/RM)**2)*0.5 ) + else : +# -- FISSURE A +/- 45 DEGRES AILLEURS + AXECP = funct_root.root(ASCFON,(BCOUD-1.,BCOUD+1.)) + AXECP = AXECP + BEMB*sqrt( (1.+(X/RM)**2)*0.5 ) + AXECC = ASCFON(AXECP)+BCOUD + NEWT=1 + elif GEOM=='TUBE': + AXECP = (BCOUD+BEMB)*sqrt( (1.+(X/RM)**2)*0.5 ) + else : + AXECP = BCOUD + BEMB +# + if GEOM=='COUDE': + print 'TAILLE GRAND AXE COUDE DONNE : %.2f'%(2.*AXEC) + elif GEOM=='TUBE': + print 'TAILLE GRAND AXE TUBE DONNE : %.2f'%(2.*AXEC) + print 'TAILLE GRAND AXE PLAQUE DEDUIT : %.2f'%AXECP + if NEWT: + print 'METHODE DE NEWTON FISSURE A 45 DEGRES -->' + print 'TAILLE GRAND AXE COUDE RECALCULE : %.2f'%AXECC + if GEOM=='COUDE' and BEMB>0. and BSUP>DIST : + SFP = ALPHA*2.*pi*RC/360. - AXECP/2. + BEMB + print 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT' + print 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP + if GEOM=='COUDE' and BEMB>0. and BINF<0. : + SFP = + AXECP/2. - BEMB + print 'CORRECTION CENTRE : FISSURE A CHEVAL SUR EMBOUT' + print 'ABSC. CURV. AXIALE CENTRE FISSURE SUR PLAQUE : %.2f'%SFP +# +# -- CORRECTION DU PETIT AXE DE LA FISSURE QUAND CELLE-CI SE TROUVE SUR +# LA ZONE DE SUREPAISSEUR +# + ALPHAR = ALPHA*2.*pi/360. + ZSUR1 = ALPHAR*RC/10. + ZSUR2 = ALPHAR*RC*9./10. + YFISS = (AZIMR-pi/2.)*RM + MU = 0. + if (AZIM>=120.) and (AZIM<=240.): + if (SFP>=ZSUR1) and (SFP<=ZSUR2): MU = 1. + elif (SFP<=ZSUR1): MU = SFP/ZSUR1 + elif (SFP>ZSUR2): MU = (ALPHAR*RC-SFP)/ZSUR1 + elif (AZIM>=90.) and (AZIM<=120.): + if (SFP>=ZSUR1) and (SFP<=ZSUR2): MU = YFISS/(pi/6.*RM) + elif (SFP<=ZSUR1): MU = YFISS*SFP/(pi/6.*RM*ZSUR1) + elif (SFP>ZSUR2): MU = YFISS*(ALPHAR*RC-SFP)/(pi/6.*RM*ZSUR1) + elif (AZIM>=240.) and (AZIM<=270.): + if (SFP>=ZSUR1) and (SFP<=ZSUR2): MU = (YFISS-5.*pi/6.*RM)/(pi/6.*RM) + elif (SFP<=ZSUR1): MU = (YFISS-5.*pi/6.*RM)*SFP/(pi/6.*RM*ZSUR1) + elif (SFP>ZSUR2): MU = (YFISS-5.*pi/6.*RM)*(ALPHAR*RC-SFP)/(pi/6.*RM*ZSUR1) +# + if SUREP!=0.: + AXEAP = AXEA * EP / ( EP + MU*SUREP ) + print '--> CORRECTION DUE A LA SUREPAISSEUR' + print '--> TAILLE PETIT AXE PLAQUE : %.2f'%AXEAP + else: AXEAP = AXEA +# + return AXEAP,AXECP,SFP + + +# ------------------------------------------------------------------------------ +def ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP,GEOM,SYME): + """ + MACR_ASCOUF_MAIL ASCSEP + taille initiale sur la plaque des sous-epaisseurs + + ------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- + + ALPHA = ANGLE DU COUDE + RM = RAYON MOYEN DU COUDE + RC = RAYON DE CINTRAGE DU COUDE + EP = EPAISSEUR DU COUDE + GEOM = TYPE DE GEOMETRIE MODELISEE (COUDE OU TUBE) + SYME = QUART DE STRUCTURE SI 'OUI' + + """ + ier=0 + CG=pi/180. +# +# --- BOUCLE SUR L ENSEMBLE DES SOUS-EPAISSEURS +# + i=0 + for ssep in MCL_SOUS_EPAIS : + i=i+1 + print '-------------------------------------' + print 'SOUS-EPAISSEUR NUMERO %d'%i + print '-------------------------------------' +# +# --- CAS DES SOUS-EPAISSEURS AXISYMETRIQUES +# + if ssep['TYPE']=='AXIS': + print 'SOUS-EPAISSEUR AXISYMETRIQUE : ' + print 'CALCUL DE LA TAILLE LONGI ENVELOPPE EN INTRADOS (AZIMUT PI)' + ssep.ICIRP = 2.*pi*RM + ssep.ISCP = pi*RM + ssep.IPHIC = 180. + AZIMC = pi + else: +# +# -- CALCUL DE L ABSCISSE CURVILIGNE CIRCONF.SUR LA PLAQUE +# EN FONCTION DE L AZIMUT OU DE L ABSCISSE CURVIL.CIRCONF +# SUR LE COUDE DU CENTRE DE LA SOUS-EPAISSEUR +# NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE +# + if ssep['POSI_CURV_CIRC']!=None: + ssep.ISCP = ssep['POSI_CURV_CIRC']*RM/(RM+EP/2.) + AZIMC = ssep.ISCP/RM + ssep.IPHIC = ssep['POSI_CURV_CIRC']/(RM+EP/2.)*180./pi + print 'AZIMUT CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f'%ssep.IPHIC + else: + ssep.ISCP = ssep['AZIMUT']*pi*RM/180. + AZIMC = ssep['AZIMUT']*pi/180. + print 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f'%(AZIMC*(RM+EP/2.)) +# +# PASSAGE DANS LE REPERE PLAQUE (0,2PI) AVEC ORIGINE FLANC DROIT +# CAR L ORIGINE DES DONNEES CIRCONF. EST EN EXTRADOS +# + if ssep.ISCP>(3.*pi*RM/2.): ssep.ISCP = ssep.ISCP - 3.*pi*RM/2. + else: ssep.ISCP = ssep.ISCP + pi*RM/2. + print 'ABSC. CURV. CIRCONF. CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISCP +# +# -- CALCUL DE LA TAILLE CIRCONFERENTIELLE +# NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE +# + ssep.ICIRP = ssep['AXE_CIRC']*(RM/(RM+EP/2.)) + if ssep.ICIRP>(2.*pi*RM) : + print ' ASCSEP valeur hors domaine' + print ' sous-epaisseur numero : %d'%i + print ' taille axe circonferentiel : %.2f'%ssep.ICIRP + print ' bord plaque : %.2f'%2*pi*RM + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + print 'TAILLE CIRCONFERENTIELLE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ICIRP + print '<=> TAILLE EQUIVALENTE SUR LA CIRCONFERENCE (DEGRES) : %.2f'%(ssep.ICIRP*360./(2.*pi*RM)) +# +# -- CALCUL COTE AXIALE DU CENTRE SOUS-EPAISSEUR SUR LA PLAQUE +# EN FONCTION DE L ABSCISSE CURVILIGNE DONNEE SUR LE COUDE +# OU DE LA POSITION ANGULAIRE +# NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE +# + if ssep['POSI_CURV_LONGI']!=None: + if GEOM=='COUDE': + ssep.ISLP = ssep['POSI_CURV_LONGI']/(1.+(RM+EP/2.)/RC*cos(AZIMC)) + AZIML = ssep.ISLP/RC + print 'ANGLE COUDE CENTRE SOUS-EPAISSEUR (DEGRES) : %.2f'%(AZIML*180./pi) + else : + ssep.ISLP = ssep['POSI_CURV_LONGI'] + if (SYME in ('QUART','DEMI')) and (ssep.ISLP!=ALPHA*CG*RC/2.) : + print ' ASCSEP cas de symetrie :' + print ' la sous-epaisseur doit etre dans la section mediane du coude !' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + else : + if GEOM=='COUDE': + print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR COUDE : %.2f'%((ssep.BETA)*CG*(RC+(RM+EP/2.)*cos(AZIMC))) + AZIML = (ssep.BETA)*CG + else : + print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR TUBE : %.2f'%((ssep.BETA)*CG*RC) + ssep.ISLP = (ssep.BETA)*CG*RC + if (SYME in ('QUART','DEMI')) and (ssep.BETA!=ALPHA/2.) : + print ' ASCSEP cas de symetrie :' + print ' la sous-epaisseur doit etre dans la section mediane du coude !' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP +# +# -- CALCUL DE LA TAILLE LONGITUDINALE +# NB : MESURE FAITE EN PEAU EXTERNE SUR LE COUDE +# +# ON ENVISAGE LE CAS OU UNE PARTIE DE L AXE EST DANS LES +# DROITES DES EMBOUTS. LA TRANSFORMATION N EST FAITE QUE SUR LA +# PARTIE RESTANT DANS LE COUDE. +# + if GEOM=='COUDE' : DIST = ALPHA*CG*(RC+(RM+EP/2.)*cos(AZIMC)) + else : DIST = ALPHA*CG*RC + if ssep['POSI_CURV_LONGI']!=None: + BSUP = ssep['POSI_CURV_LONGI']+ssep['AXE_LONGI']/2. + BINF = ssep['POSI_CURV_LONGI']-ssep['AXE_LONGI']/2. + else: + if GEOM=='COUDE' : + BSUP = ssep.BETA*CG*(RC+(RM+EP/2.)*cos(AZIMC))+ssep['AXE_LONGI']/2. + BINF = ssep.BETA*CG*(RC+(RM+EP/2.)*cos(AZIMC))-ssep['AXE_LONGI']/2. + else: + BSUP = ssep.BETA*CG*RC + ssep['AXE_LONGI']/2. + BINF = ssep.BETA*CG*RC - ssep['AXE_LONGI']/2. + BCOUD1 = 0. + BCOUD2 = 0. + BEMB1 = 0. + BEMB2 = 0. + if BINF<0. and BSUP>DIST : + BCOUD1 = DIST + BEMB1 = abs(BINF) + BSUP-DIST + elif BSUP>DIST : + BCOUD1 = DIST - BINF + BEMB1 = BSUP - DIST + elif BINF<0 : + BCOUD2 = BSUP + BEMB2 = abs(BINF) + elif (BINF>=0. and BSUP<=DIST) : + BCOUD1 = ssep['AXE_LONGI'] + BCOUD = BCOUD1+ BCOUD2 + BEMB = BEMB1 + BEMB2 + if GEOM=='COUDE' : BPLAQ = BCOUD/(1.+(RM+EP/2.)/RC*cos(AZIMC)) + else : BPLAQ = BCOUD + ssep.ILONP = BPLAQ+BEMB + if BEMB1>0.: + ssep.ISLP = ALPHA*CG*RC - ssep.ILONP/2. + BEMB1 + print 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT' + print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP + if BEMB2>0.: + ssep.ISLP = ssep.ILONP/2. - BEMB2 + print 'CORRECTION CENTRE : SOUS-EP. A CHEVAL SUR EMBOUT' + print 'ABSC. CURV. AXIALE CENTRE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ISLP + if ssep.ISLP<0. : ssep.ISLP = 0. + if (ssep.ISLP>ALPHA*CG*RC) : ssep.ISLP = ALPHA*CG*RC +# +# SI LE CENTRE DE LA SOUS-EP CALCULE SUR LA PLAQUE EST DANS L EMBOUT +# ON CORRIGE SA POSITION EN LE METTANT A L INTERFACE SINON CA PLANTE +# DANS LA PROC DE MAILLAGE (A AMELIORER) +# + print 'TAILLE LONGITUDINALE SOUS-EPAISSEUR SUR PLAQUE : %.2f'%ssep.ILONP + print '<=> TAILLE EQUIVALENTE PAR RAPPORT A L ANGLE DU COUDE (DEGRES): %.2f'%(ssep.ILONP*360/(2*pi*RC)) +# + return ier + +# ------------------------------------------------------------------------------ +def ASCTCI(MCL_SOUS_EPAIS,RM): + """ + MACR_ASCOUF_MAIL ASCTCI + APPELEE DANS : ASCSYM et ASCPRE + CALCUL TABLEAU TRIE DES ABSCISSES DES CENTRES DE SOUS-EPAISSEURS + + ------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- + + RM = RAYON MOYEN DU COUDE + + -----------------DONNEES RENVOYEES----------------------- + + IABSC1 = CORRESPONDANCE ABSC. CURVI. CIRCONF. SOUS-EP. I + IABSC2 = CORRESPONDANCE ABSC. GAUCHE ET DROITE CIRCONF. SOUS-EP. I + COORXD = ABSC. DU BORD DROIT DE LA SOUS-EP I + COORXG = ABSC. DU BORD GAUCHE DE LA SOUS-EP I + + """ +# +# --- tri du tableau des abscisses curvilignes circonf. plaque +# + TAMPON = [] + COORXG = [] + COORYG = [] + i=0 + for ssep in MCL_SOUS_EPAIS : + i=i+1 + if (ssep.ISCP>2.*pi*RM) or (ssep.ISCP<0.) : + print ' valeur hors domaine' + print ' SOUS-EPAISSEUR NUMERO :%d'%MCL_SOUS_EPAIS.index(ssep) + print ' ABSC. CURV. CIRCONF. :%.2f'%ssep.ISCP + print ' BORD PLAQUE :%.2f'%(2.*pi*RM) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + TAMPON.append((ssep.ISCP,i)) + TAMPON.sort() + IABSC1=[] + for j in range(i): + IABSC1.append(TAMPON[j][1]) + print + print 'TRI DES CENTRES ABSC. CURV. CIRCONF. :' + print '------------------------------------' + i=0 + for ssep in TAMPON : + i=i+1 + print '%d) SOUS-EP NO %d <> XC = %.2f'%(i,ssep[1],ssep[0]) +# +# --- calcul des abcisses droites et gauches des sous-epaisseurs +# + COORXD=[] + COORXG=[] + for bid in TAMPON : + XG=bid[0]-MCL_SOUS_EPAIS[bid[1]-1].ICIRP/2. + if XG<0. : XG=XG+2.*pi*RM + COORXG.append(XG) + XD=bid[0]+MCL_SOUS_EPAIS[bid[1]-1].ICIRP/2. + if XD>2.*pi*RM : XD=XD-2.*pi*RM + COORXD.append(XD) +# +# --- tri des bornes d'intervalles en abscisse +# + TAMPON = [] + for j in range(len(MCL_SOUS_EPAIS)): + TAMPON.append((COORXG[j],2*j+1)) + TAMPON.append((COORXD[j],2*j+2)) + TAMPON.sort() + IABSC2=[] + for j in range(2*len(MCL_SOUS_EPAIS)): + IABSC2.append(TAMPON[j][1]) + print + print 'TRI DES INTERVALLES G ET D ABSC. CURV. CIRCONF. :' + print '-----------------------------------------------' + for j in range(2*len(MCL_SOUS_EPAIS)): + if fmod(IABSC2[j],2): + print '%d) SOUS-EP NO %d <> XG = %.2f'%(j+1,IABSC1[IABSC2[j]/2],TAMPON[j][0]) + else: + print '%d) SOUS-EP NO %d <> XD = %.2f'%(j+1,IABSC1[IABSC2[j]/2-1],TAMPON[j][0]) +# + return TAMPON,IABSC1,IABSC2,COORXD,COORXG + +# ------------------------------------------------------------------------------ +def ASCTLO(MCL_SOUS_EPAIS,RC,ALPHA,LTCHAR,LTCLIM): + """ + MACR_ASCOUF_MAIL ASCTLO + APPELEE DANS : ASCSYM et ASCPRE + CALCUL TABLEAU TRIE DES ORDONNEES DES CENTRES DE SOUS-EPAISSEURS + + ------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- + + RC = RAYON MOYEN DU COUDE + ALPHA = ANGLE DU COUDE + LTCHAR = LONGUEUR DE L'EMBOUT DU COTE CHARGEMENT + LTCLIM = LONGUEUR DE L'EMBOUT DU COTE CONDITIONS AUX LIMITES + + -----------------DONNEES RENVOYEES----------------------- + + IORDO1 = CORRESPONDANCE ORDO. CURVI. LONGIT. SOUS-EP. I + IORDO2 = CORRESPONDANCE ORDO. GAUCHE ET DROITE LONGIT. SOUS-EP. I + COORYI = ORDONNEE. DU BORD INTERIEUR DE LA SOUS-EP I + COORYS = ORDONNEE. DU BORD SUPERIEUR DE LA SOUS-EP I + + """ +# +# tri du tableau des abscisses curvilignes axiales plaque +# + ALPHAR = 2.*ALPHA*pi/360. + TAMPON = [] + i=0 + for ssep in MCL_SOUS_EPAIS : + i=i+1 + if (ssep.ISLP>ALPHAR*RC) or (ssep.ISLP<0.) : + print ' valeur hors domaine' + print ' SOUS-EPAISSEUR NUMERO :%d'%MCL_SOUS_EPAIS.index(ssep) + print ' ABSC. CURV. LONGIT. :%.2f'%ssep.ISLP + print ' BORDS PLAQUE :%.2f'%(ALPHAR*RC) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + TAMPON.append((ssep.ISLP,i)) + TAMPON.sort() + IORDO1=[] + for j in range(i): + IORDO1.append(TAMPON[j][1]) + print + print 'TRI DES CENTRES ABSC. CURV. LONGIT. :' + print '------------------------------------' + i=0 + for ssep in TAMPON : + i=i+1 + print '%d) SOUS-EP NO %d <> YC = %.2f'%(i,ssep[1],ssep[0]) +# +# calcul des abscisses sup. et inf. des sous-ep. +# + COORYI=[] + COORYS=[] + EPS=0.000000000001 + for bid in TAMPON : + i=i+1 + YI=bid[0]-MCL_SOUS_EPAIS[bid[1]-1].ILONP/2. + YS=bid[0]+MCL_SOUS_EPAIS[bid[1]-1].ILONP/2. + if fabs(bid[0]) valeur hors domaine' + print ' SOUS-EPAISSEUR NUMERO :',bid[1] + print ' BORD INFERIEUR :',YI + print ' BORD PLAQUE :',-LTCHAR + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if YS>(ALPHAR*RC+LTCLIM): + print ' valeur hors domaine' + print ' SOUS-EPAISSEUR NUMERO :',bid[1] + print ' BORD INFERIEUR :',YS + print ' BORD PLAQUE :',ALPHAR*RC+LTCLIM + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + COORYI.append(YI) + COORYS.append(YS) +# +# tri des bornes d'intervalles en abscisse +# + TAMPON = [] + for j in range(len(MCL_SOUS_EPAIS)): + TAMPON.append((COORYI[j],2*j+1)) + TAMPON.append((COORYS[j],2*j+2)) + TAMPON.sort() + IORDO2=[] + for j in range(2*len(MCL_SOUS_EPAIS)): + IORDO2.append(TAMPON[j][1]) + print + print 'TRI DES INTERVALLES I ET S ABSC. CURV. LONGIT. :' + print '-----------------------------------------------' + for j in range(2*len(MCL_SOUS_EPAIS)): + if fmod(IORDO2[j],2): + print '%d) SOUS-EP NO %d <> YI = %.2f'%(j+1,IORDO1[IORDO2[j]/2],TAMPON[j][0]) + else: + print '%d) SOUS-EP NO %d <> YS = %.2f'%(j+1,IORDO1[IORDO2[j]/2-1],TAMPON[j][0]) +# + return TAMPON,IORDO1,IORDO2,COORYI,COORYS +# +# +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL ASCNBE +# APPELEE DANS : ASCSYM et ASCPRE +# CALCUL DU NOMBRE D'ELEMENTS LONGI ET CIRCONF. DANS LES SOUS-EPAISSEURS +# +#-----------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- +# +# COORXG = ABSCISSE DU BORD GAUCHE DE LA SOUS-EPAISSEUR I +# COORXD = ABSCISSE DU BORD DROIT DE LA SOUS-EPAISSEUR I +# COORYI = ORDONNEE DU BORD INFERIEUR DE LA SOUS-EPAISSEUR I +# COORYS = ORDONNEE DU BORD SUPERIEUR DE LA SOUS-EPAISSEUR I +# BD = ABSCISSE DU BORD DROIT DE LA ZONE CIRCONF J +# BG = ABSCISSE DU BORD GAUCHE DE LA ZONE CIRCONF J +# BS = ORDONNEE DU BORD SUPERIEUR DE LA ZONE LONGI J +# BI = ORDONNEE DU BORD INFERIEUR DE LA ZONE LONGI J +# DNX = DENSITE ET NOMBRE D'ELEMENTS CIRCONF. DE LA ZONE J +# DNY = DENSITE ET NOMBRE D'ELEMENTS LONGIT. DE LA ZONE J +# INDSEX = NUMERO DE SOUS-EPAISSEUR CONTENU DANS LA ZONE CIRCONF J +# INDSEY = NUMERO DE SOUS-EPAISSEUR CONTENU DANS LA ZONE LONGI J +# RM = RAYON MOYEN DU COUDE +# RC = RAYON DE CINTRAGE DU COUDE +# IABSC1 = CORRESPONDANCE ABSCISSE CURVILIGNE CIRCONF. SOUS-EP. I +# IORDO1 = CORRESPONDANCE ABSCISSE CURVILIGNE LONGIT. SOUS-EP. I +# +#----------------------DONNEES RENVOYEES----------------------- +# +# NLX = NOMBRE TOTAL D'ELEMENTS CIRCONF. DE LA SOUS-EPAISSEUR K +# NLY = NOMBRE TOTAL D'ELEMENTS LONGIT. DE LA SOUS-EPAISSEUR K +# +# ------------------------------------------------------------------------------ +def ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI,DNX,DNY,RM,RC, + INDSEX,INDSEY,IABSC1,IORDO1): +# +# calcul du nombre d'elements longi. et circonf. dans les sous-epaisseurs: +# + print + print 'DETERMINATION DU NOMBRE D''ELEMENTS DANS LES SOUS-EPAISSEURS :' + print '------------------------------------------------------------' + NLX=[0]*len(MCL_SOUS_EPAIS) + NLY=[0]*len(MCL_SOUS_EPAIS) + for j in range(len(BD)): + if INDSEX[j]!=0: +# calcul au passage du nombre d'elements sur chaque zone circonf. + RNBEL = (BD[j]-BG[j])*360./(DNX[2*j]*2.*pi*RM) + RNBEL2 = RNBEL - floor(RNBEL) + if RNBEL2 <= 0.5 : NBEL=int(floor(RNBEL)) + else : NBEL=int(floor(RNBEL))+1 + if NBEL <= 1 : NBEL=2 +# calcul au passage du nombre d'elements sur chaque sous-epaisseur circonf. + for i in range(len(MCL_SOUS_EPAIS)): + l=IABSC1[i]-1 + if ((COORXG[l]=COORXG[l] and BD[j]<=COORXD[l])\ + or (COORXG[l]>=COORXD[l] and (BG[j]<=COORXG[l] or BD[j]>=COORXD[l]))): + NLX[i]=NLX[i]+NBEL + print 'SOUS-EP NO %d ZONE CIRC. NO %d NB ELEM. = %d'%(i+1,j+1,NBEL) + + for j in range(len(BS)): + if INDSEY[j]!=0: +# calcul au passage du nombre d'elements sur chaque zone longi. + RNBEL = ((BS[j]-BI[j])*360.)/(DNY[2*j]*2.*pi*RC) + RNBEL2 = RNBEL - floor(RNBEL) + if RNBEL2 <= 0.5 : NBEL=int(floor(RNBEL)) + else : NBEL=int(floor(RNBEL))+1 + if NBEL <= 1 : NBEL=2 +# calcul au passage du nombre d'elements sur chaque sous-epaisseur circonf. + i=0 + for i in range(len(MCL_SOUS_EPAIS)): + l=IORDO1[i]-1 + if (BI[j]>=COORYI[l] and BS[j]<=COORYS[l]): + NLY[i]=NLY[i]+NBEL + print 'SOUS-EP NO %d ZONE LONGI. NO %d NB ELEM. = %d'%(i+1,j+1,NBEL) + + for j in range(len(NLX)): + print 'SOUS-EP NO %d NBE TOTAL ELEMENTS CIRCONF. : %d'%(j+1,NLX[j]) + print 'SOUS-EP NO %d NBE TOTAL ELEMENTS LONGI. : %d'%(j+1,NLY[j]) + +# + return NLX,NLY +# +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL ASCSYM +# PREPARATION DES DONNEES POUR LE MAILLAGE DE PLAQUE AVEC +# SOUS-EPAISSEURS : +# CAS D UNE SOUS-EPAISSEUR DANS LE PLAN DE SYMETRIE +# CONSTRUCTION D UN QUART DU MAILLAGE +# - CALCUL TABLEAU TRIE DES ABSCISSES ET ORDONNEES DES CENTRES +# - CALCUL TABLEAU DES ZONES COUVERTES PAR LES SOUS-EPAISSEURS +# +#-----------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- +# +# RM = RAYON MOYEN DU COUDE +# RC = RAYON DE CINTRAGE DU COUDE +# ALPHA = ANGLE DU COUDE +# LT = LONGUEUR DE L EMBOUT DU COTE CHARGEMENT +# LGV = LONGUEUR DE L EMBOUT DU COTE CONDITIONS AUX LIMITES +# NBSEP = NOMBRE DE SOUS-EPAISSEURS +# +#----------------------DONNEES RENVOYEES----------------------- +# +# NZONEX = NOMBRE DE ZONES CIRCONFERENTIELLES +# NZONEY = NOMBRE DE ZONES LONGITUDINALES +# +# ------------------------------------------------------------------------------ +def ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM): + ier=0 + DERAFC = 18. + DERAFL = 5. + INDSEX = [] + INDSEY = [] + BG = [] + BD = [] + INDBG = [] + INDBD = [] + DNX = [] + +# +# --- tri des donnees sous-ep. en circonferentiel + TAMPON,IABSC1,IABSC2,COORXD,COORXG=ASCTCI(MCL_SOUS_EPAIS,RM) +# +# --- calcul des zones en circonferentiel +# + ssep=MCL_SOUS_EPAIS[0] + if (ssep.ISCP BORNE INF. = %.2f'\ + ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(j+1,BI[j],BS[j]) + else: + print 'ZONE NO %d <> BORNE INF. = %.2f'\ + ' / BORNE SUP. = %.2f'%(j+1,BI[j],BS[j]) + +# calcul du nombre d'elements longi. et circonf. dans les soue-ep + NLX,NLY=ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI, + DNX,DNY,RM,RC,INDSEX,INDSEY,IABSC1,IORDO1) + + return ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY +################################################################################ +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL ASCPRE +# PREPARATION DES DONNEES POUR LE MAILLAGE DE PLAQUE +# SOUS-EPAISSEURS : +# - CALCUL TABLEAU TRIE DES ABSCISSES ET ORDONNEES DES CENTRES +# - CALCUL TABLEAU DES ZONES COUVERTES PAR LES SOUS-EPAISSEURS +# +#-----------------DONNEES FOURNIES PAR L UTILISATEUR-------------------- +# +# RM = RAYON MOYEN DU COUDE +# RC = RAYON DE CINTRAGE DU COUDE +# ALPHA = ANGLE DU COUDE +# LT = LONGUEUR DE L EMBOUT DU COTE CHARGEMENT +# LGV = LONGUEUR DE L EMBOUT DU COTE CONDITIONS AUX LIMITES +# NBSEP = NOMBRE DE SOUS-EPAISSEURS +# SYME = "QUART" DE STRUCTURE, "DEMI" STRUCTURE OU BIEN "ENTIER" +# +#----------------------DONNEES RENVOYEES----------------------- +# +# NZONEX = NOMBRE DE ZONES CIRCONFERENTIELLES +# NZONEY = NOMBRE DE ZONES LONGITUDINALES +# +# ------------------------------------------------------------------------------ +def ASCPRE(MCL_SOUS_EPAIS,RM,RC,ALPHA,SYME,LTCHAR,LTCLIM): + ier=0 + ALPHAR = 2.*ALPHA*pi/360. + DERAFC = 18. + DERAFL = 5. + EPSI = 0.001 + NBSEP = len(MCL_SOUS_EPAIS) + print 'RECHERCHE DES ZONES DE SOUS-EPAISSEURS DANS LE COUDE\n' + +# tri des donnees sous-epaisseurs en circonferentiel + TAMPON,IABSC1,IABSC2,COORXD,COORXG=ASCTCI(MCL_SOUS_EPAIS,RM) +# --- calcul des recouvrements de zones en circonferentiel +# + NZONEX=0 + j=0 + ICE=1 + NBGAU=0 + NBDRO=0 + TYPG=0 + TYPD=0 + go10=1 + go20=1 +# + BG =[] + BD =[] + INDBG =[] + INDBD =[] + DNX =[] + INDSEX=[] +# + + while go10: + + j=j+1 +# +# definition de la zone courante (borne gauche, borne droite) +# +# TYPG = type de la borne: +# 0 : borne gauche sous-epaisseur +# 1 : borne droite sous-epaisseur +# 2 : centre sous-epaisseur +# + if j>2*NBSEP and ICE= 2*NBSEP : + MIND = TAMPON[2*NBSEP-1][0] + MING = MIND + if fmod(IABSC2[2*NBSEP-1],2): + TYPG = 0 + NUMG = IABSC1[IABSC2[2*NBSEP-1]/2] + else: + TYPG = 1 + NUMG = IABSC1[IABSC2[2*NBSEP-1]/2-1] + TYPD=TYPG + NUMD=NUMG + else: + MING=TAMPON[j-1][0] + MIND=TAMPON[j][0] + if fmod(IABSC2[j-1],2): + TYPG = 0 + NUMG = IABSC1[IABSC2[j-1]/2] + else: + TYPG = 1 + NUMG = IABSC1[IABSC2[j-1]/2-1] + if fmod(IABSC2[j],2): + TYPD = 0 + NUMD = IABSC1[IABSC2[j]/2] + else: + TYPD = 1 + NUMD = IABSC1[IABSC2[j]/2-1] + if fabs(MING-MIND)2*NBSEP and ICE>=NBSEP: + break #on sort de la boucle + + while go20: + i=ICE + if i<=NBSEP: +# recherche des centres a intercaler + INDC=IABSC1[i-1] + if i>1: +# le centre est deja le meme que precedent + if fabs(MCL_SOUS_EPAIS[INDC-1].ISCP-MCL_SOUS_EPAIS[IABSC1[i-2]-1].ISCP) < EPSI : + ICE=ICE+1 + continue + if MCL_SOUS_EPAIS[INDC-1].ISCP < MING : +# le centre est la nouvelle borne gauche + j=j-1 + MIND = MING + TYPD = TYPG + NUMD = NUMG + MING = MCL_SOUS_EPAIS[INDC-1].ISCP + TYPG = 2 + NUMG = INDC + ICE = ICE+1 + elif MCL_SOUS_EPAIS[INDC-1].ISCP < MIND : +# le centre est la nouvelle borne droite + MIND = MCL_SOUS_EPAIS[INDC-1].ISCP + TYPD = 2 + NUMD = INDC + ICE = ICE+1 + continue + else:pass + NZONEX=NZONEX+1 +# +# codes d'intervalles de zones +# 0 0 = zone sous-ep. +# 0 1 = sous-ep. a droite de la zone +# 1 0 = sous-ep. a gauche de la zone +# 1 1 = sous-ep. a droite et a gauche de la zone +# +# cas ou la premiere zone ne commence pas au bord de la plaque + if MING>0. and NZONEX==1 : + BG.append(0.) + BD.append(MING) + if TYPG==0: + INDBG.append(0) + INDBD.append(1) + DNX.append(DERAFC) + DNX.append(0) + INDSEX.append(0) + elif TYPG==1 or TYPG==2: + INDBG.append(0) + INDBD.append(0) + DNX.append(MCL_SOUS_EPAIS[NUMG-1].IDENC) + DNX.append(0) + INDSEX.append(NUMG) + else: pass + NZONEX=NZONEX+1 +# + BG.append(MING) + BD.append(MIND) +# + if TYPG == 0: +# borne gauche zone = borne gauche ssep + NBGAU=NBGAU+1 + INDBG.append(0) + INDBD.append(0) + if TYPD == 0: +# borne droite zone = borne gauche ssep + DNX.append(MCL_SOUS_EPAIS[NUMG-1].IDENC) + DNX.append(0) + INDSEX.append(NUMG) + elif TYPD == 1 or TYPD == 2: +# borne droite zone = borne droite ssep : TYPD=1 +# borne droite zone = centre ssep : TYPD=2 + LTMP=[] + LTMP.append((MCL_SOUS_EPAIS[NUMG-1].IDENC,NUMG)) + LTMP.append((MCL_SOUS_EPAIS[NUMD-1].IDENC,NUMD)) + LTMP.sort() + DNX.append(LTMP[0][0]) + DNX.append(0) + INDSEX.append(LTMP[0][1]) + else: pass +# + elif TYPG == 1: +# borne gauche zone = borne droite ssep + NBDRO = NBDRO+1 + if TYPD == 0: +# borne droite zone = borne gauche ssep + if NBDRO==NBGAU: + INDBG.append(1) + INDBD.append(1) + DNX.append(DERAFC) + DNX.append(0) + INDSEX.append(0) + else: +# cas tordu: une sous-ep enveloppe le tout + INDBG.append(0) + INDBD.append(0) + DNX.append(MCL_SOUS_EPAIS[NUMG-1].IDENC) + DNX.append(0) + INDSEX.append(NUMG) + elif TYPD == 1 or TYPD == 2: +# borne droite zone = borne droite ssep : TYPD=1 +# borne droite zone = centre ssep : TYPD=2 + INDBG.append(0) + INDBD.append(0) + DNX.append(MCL_SOUS_EPAIS[NUMD-1].IDENC) + DNX.append(0) + INDSEX.append(NUMD) + else: pass +# + elif TYPG == 2: +# borne gauche zone = centre ssep + INDBG.append(0) + INDBD.append(0) + if TYPD == 0: +# borne droite zone = borne gauche ssep + DNX.append(MCL_SOUS_EPAIS[NUMG-1].IDENC) + DNX.append(0) + INDSEX.append(NUMG) + elif TYPD == 1 or TYPD == 2: +# borne droite zone = borne droite ssep : TYPD=1 +# borne droite zone = centre ssep : TYPD=2 + LTMP=[] + LTMP.append((MCL_SOUS_EPAIS[NUMG-1].IDENC,NUMG)) + LTMP.append((MCL_SOUS_EPAIS[NUMD-1].IDENC,NUMD)) + LTMP.sort() + DNX.append(LTMP[0][0]) + DNX.append(0) + INDSEX.append(LTMP[0][1]) + else:pass + else:pass + if j<=(2*NBSEP-2) or ICE<=NBSEP or (TYPD==2 and j<2*NBSEP): + iout=0 + break #on retourne dans la boucle go10 + else : + iout=1 + break #on sort definitivement + if iout:break + + if MIND<2.*pi*RM: + NZONEX=NZONEX+1 + BG.append(MIND) + BD.append(2.*pi*RM) + if TYPD==0 or TYPD==2: + INDBG.append(0) + INDBD.append(0) + DNX.append(MCL_SOUS_EPAIS[NUMD-1].IDENC) + DNX.append(0) + INDSEX.append(NUMD) + elif TYPD==1: + INDBG.append(1) + INDBD.append(0) + DNX.append(DERAFC) + DNX.append(0) + INDSEX.append(0) + else:pass + +# au cas ou 2.*pi*RM correspond a une borne d'intevalle de sous-ep ou a +# un centre de sous-ep. + if fabs(BG[NZONEX-1]-BD[NZONEX-1]) BORNE GAUCHE = %.2f'\ + ' / BORNE DROITE = %.2f * SOUS-EPAISSEUR'%(BG[j],BD[j]) + else: + print 'ZONE NO',j+1,'<> BORNE GAUCHE = %.2f'\ + ' / BORNE DROITE = %.2f'%(BG[j],BD[j]) + + +# --- tri des donnees sous-ep. en axial + TAMPON,IORDO1,IORDO2,COORYI,COORYS=ASCTLO(MCL_SOUS_EPAIS,RC,ALPHA,LTCHAR,LTCLIM) + + BI = [] + BS = [] + INDBI = [] + INDBS = [] + DNY = [] + INDSEY = [] + + if SYME == 'DEMI': +# calcul des zones en axial : +# zones (0,bord inferieur) et (bord inferieur,centre sous-ep.) + ssep = MCL_SOUS_EPAIS[0] + BI.append(0.) + BI.append(ssep.ISLP-ssep.ILONP/2.) + BS.append(ssep.ISLP-ssep.ILONP/2.) + BS.append(ssep.ISLP) + INDBI.append(0) + INDBI.append(0) + INDBS.append(1) + INDBS.append(0) + DNY.append(DERAFL) + DNY.append(0) + DNY.append(ssep.IDENL) + DNY.append(0) + INDSEY.append(0) + INDSEY.append(1) + NZONEY=1 +# + else: +# +# calcul des recouvrements de zones en axial + j = 0 + ICE = 1 + NBINF = 0 + NBSUP = 0 + TYPI=0 + TYPS=0 + go40=1 + go50=1 + NZONEY=0 +# + while go40: + j=j+1 +# +# definition de la zone courante (borne inf, borne sup) +# +# typi = type de la borne +# 0 : borne inf. sous-ep. +# 1 : borne sup. sous-ep. +# 2 : centre sous-ep. +# + if TYPS==2: +# cas ou la borne sup. de la zone prec. etait un centre + MINI=MINS + TYPI=TYPS + NUMI=NUMS + MINS=TAMPON[j-1][0] + if fmod(IORDO2[j-1],2): + TYPS = 0 + NUMS = IORDO1[IORDO2[j-1]/2] + else: + TYPS = 1 + NUMS = IORDO1[IORDO2[j-1]/2-1] + j=j-1 + else: + if j>= 2*NBSEP : + MINI = TAMPON[2*NBSEP-1][0] + MINS = MINI + if fmod(IORDO2[2*NBSEP-1],2): + TYPI = 0 + NUMI = IORDO1[IORDO2[2*NBSEP-1]/2] + else: + TYPI = 1 + NUMI = IORDO1[IORDO2[2*NBSEP-1]/2-1] + TYPS=TYPI + NUMS=NUMI + else: + MINI=TAMPON[j-1][0] + MINS=TAMPON[j][0] + if fmod(IORDO2[j-1],2): + TYPI = 0 + NUMI = IORDO1[IORDO2[j-1]/2] + else: + TYPI = 1 + NUMI = IORDO1[IORDO2[j-1]/2-1] + if fmod(IORDO2[j],2): + TYPS = 0 + NUMS = IORDO1[IORDO2[j]/2] + else: + TYPS = 1 + NUMS = IORDO1[IORDO2[j]/2-1] + if fabs(MINI-MINS)1: +# le centre est deja le meme que le precedent + if fabs(MCL_SOUS_EPAIS[INDC-1].ISLP-MCL_SOUS_EPAIS[IORDO1[i-2]-1].ISLP)0. and NZONEY==1: + first=0 + BI.append(0.) + BS.append(MINI) + if TYPI==0: + INDBI.append(0) + INDBS.append(1) + DNY.append(DERAFL) + DNY.append(0) + INDSEY.append(0) + elif TYPI==1 or TYPI==2: + INDBI.append(0) + INDBS.append(0) + DNY.append(MCL_SOUS_EPAIS[NUMI-1].IDENL) + DNY.append(0) + INDSEY.append(NUMI) + else:pass + NZONEY = NZONEY+1 +# + BI.append(MINI) + BS.append(MINS) + + if TYPI==0: +# borne inferieure zone = borne inferieure ssep + NBINF = NBINF+1 + INDBI.append(0) + INDBS.append(0) + if TYPS==0: +# borne superieure zone = borne inferieur ssep + DNY.append(MCL_SOUS_EPAIS[NUMI-1].IDENL) + DNY.append(0) + INDSEY.append(NUMI) + elif TYPS==1 or TYPS==2: +# borne superieure zone = borne superieure ssep:TYPS==1 +# borne superieure zone = centre ssep:TYPS==2 + LTMP=[] + LTMP.append((MCL_SOUS_EPAIS[NUMI-1].IDENL,NUMI)) + LTMP.append((MCL_SOUS_EPAIS[NUMS-1].IDENL,NUMS)) + LTMP.sort() + DNY.append(LTMP[0][0]) + DNY.append(0) + INDSEY.append(LTMP[0][1]) + else:pass + elif TYPI==1: +# borne inferieure zone=borne superieure ssep + NBSUP = NBSUP+1 + if TYPS==0: +# borne superieure zone = borne inferieur ssep + if NBSUP==NBINF: + INDBI.append(1) + INDBS.append(1) + DNY.append(DERAFL) + DNY.append(0) + INDSEY.append(0) + else: +# cas tordu: une sous-ep. enveloppe le tout + INDBI.append(0) + INDBS.append(0) + DNY.append(MCL_SOUS_EPAIS[NUMI-1].IDENL) + DNY.append(0) + INDSEY.append(NUMI) + elif TYPS==1 or TYPS==2: +# borne superieure zone = borne superieure ssep:TYPS==1 +# borne superieure zone = centre ssep:TYPS==2 + INDBI.append(0) + INDBS.append(0) + DNY.append(MCL_SOUS_EPAIS[NUMS-1].IDENL) + DNY.append(0) + INDSEY.append(NUMS) + else:pass + elif TYPI==2: +# borne inferieure zone = centre ssep + INDBI.append(0) + INDBS.append(0) + if TYPS==0: +# borne superieure zone = borne inferieure ssep + DNY.append(MCL_SOUS_EPAIS[NUMI-1].IDENL) + DNY.append(0) + INDSEY.append(NUMI) + elif TYPS==1 or TYPS==2: +# borne superieure zone = borne superieure ssep + LTMP=[] + LTMP.append((MCL_SOUS_EPAIS[NUMI-1].IDENL,NUMI)) + LTMP.append((MCL_SOUS_EPAIS[NUMS-1].IDENL,NUMS)) + LTMP.sort() + DNY.append(LTMP[0][0]) + DNY.append(0) + INDSEY.append(LTMP[0][1]) + else:pass + else:pass + if j<=(2*NBSEP-2) or TYPS==2: + iout=0 + break #on retourne dans la boucle go40 + else: + iout=1 + break #on sort definitivement + if iout:break + +# cas ou la derniere zone ne finit pas au bout de la plaque + if MINS BORNE INF. = %.2f'\ + ' / BORNE SUP. = %.2f * SOUS-EPAISSEUR'%(BI[j],BS[j]) + else: + print 'ZONE NO',j+1,'<> BORNE INF. = %.2f'\ + ' / BORNE SUP. = %.2f '%(BI[j],BS[j]) + +# calcul du nombre d'elements longi. et circonf. dans les sous-ep + NLX,NLY=ASCNBE(MCL_SOUS_EPAIS,COORXG,COORXD,COORYI,COORYS,BD,BG,BS,BI, + DNX,DNY,RM,RC,INDSEX,INDSEY,IABSC1,IORDO1) + + + return ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_file_dgib_ASCFDO +# +# ECRIT DANS UN FICHIER LES DONNES GIBI DE LA PROCEDURE +# "PLAQUE FISSUREE" +# + +# ------------------------------------------------------------------------------ +def write_file_dgib_ASCFDO(nomFichierDATG,RM,RC,ALPHA,NBTRAN,EP1,EP2,EPI,TETA1, + TETA2,LTRAN,SUREP,LTCHAR,LTCLIM,TYPBOL,AXEAP,AXECP,NT,NS,NC, + SFP,ORIEN,AZIM,RC0,RC2,RC3,POSIT,EPSI,NIVMAG,SYME, loc_datg) : + + if TYPBOL!= None: + if TYPBOL=='CUVE' : TYPEMB = 'typcuv' + if TYPBOL=='GV' : TYPEMB = 'typegv' + if TYPBOL=='ASP_MPP' : TYPEMB = 'typapp' + else: + TYPEMB =' ' + + if POSIT =='DEB_INT' : + POSIT2 = 'interne' + else: + POSIT2 = 'externe' + if SYME[:6]=='ENTIER' : ZSYME = 'entier' + elif SYME[:5]=='QUART' : ZSYME = 'quart' + else : ZSYME = 'demi' + C=AXECP/2. + TETAF=AZIM*pi/180. + + POIVIR = ' ;\n' + texte='* DEBUT PARAMETRES UTILISATEUR\n' + texte=texte+'*\n' + texte=texte+'c = '+str(C) +POIVIR + texte=texte+'a = '+str(AXEAP) +POIVIR + texte=texte+'nt = '+str(NT) +POIVIR + texte=texte+'ns = '+str(NS) +POIVIR + texte=texte+'nc = '+str(NC) +POIVIR + texte=texte+'rm = '+str(RM) +POIVIR + texte=texte+'rc = '+str(RC) +POIVIR + texte=texte+'alphac = '+str(ALPHA) +POIVIR + texte=texte+'nbtranep = '+str(NBTRAN) +POIVIR + texte=texte+'ep1 = '+str(EP1) +POIVIR + texte=texte+'ep2 = '+str(EP2) +POIVIR + texte=texte+'epi = '+str(EPI) +POIVIR + texte=texte+'teta1 = '+str(TETA1) +POIVIR + texte=texte+'teta2 = '+str(TETA2) +POIVIR + texte=texte+'ltran = '+str(LTRAN) +POIVIR + texte=texte+'posfis = '+str(SFP) +POIVIR + texte=texte+'ksiref = '+str(ORIEN) +POIVIR + texte=texte+'surep = '+str(SUREP) +POIVIR + texte=texte+'teta_f = '+str(TETAF) +POIVIR + texte=texte+'rc0 = '+str(RC0) +POIVIR + texte=texte+'rc2 = '+str(RC2) +POIVIR + texte=texte+'rc3 = '+str(RC3) +POIVIR + texte=texte+"pos = '"+POSIT2+"'" +POIVIR + texte=texte+'lt = '+str(LTCHAR) +POIVIR + texte=texte+'lgv = '+str(LTCLIM) +POIVIR + texte=texte+"typembou = '"+TYPEMB+"'" +POIVIR + texte=texte+"zsyme = '"+ZSYME+"'" +POIVIR + texte=texte+'epsif = '+str(EPSI) +POIVIR + texte=texte+'nivmag = '+str(NIVMAG) +POIVIR + texte=texte+'*\n' + texte=texte+'* FIN PARAMETRES UTILISATEUR\n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'ascouf_fiss_v4.datg'+"';\n" + fdgib=open(nomFichierDATG,'w') + fdgib.write(texte) + fdgib.close() + +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_file_dgib_ASCSQO +# +# ECRIT DANS UN FICHIER LES DONNEES GIBI DE LA PROCEDURE +# "PLAQUE SOUS-EPAISSEUR" +# +#-----------------DONNEES FOURNIES PAR L'UTILISATEUR-------------------- +# +# RM = RAYON MOYEN DU COUDE +# RC = RAYON DE CINTRAGE DU COUDE +# ALPHA = ANGLE DU COUDE +# NBTRAN = NOMBRE DE TRANSITION D'EPAISSEUR (0, 1 OU 2) +# EP1 = EPAISSEUR DU COUDE (COTE EMBOUT 1 SI TRANSITION) +# EP2 = EPAISSEUR DU COUDE (COTE EMBOUT 2 SI TRANSITION) +# EPI = EPAISSEUR DU COUDE INTERMEDIAIRE SI TRANSITION A 2 PENTES +# TETA1 = ANGLE DE LA PREMIERE TRANSITION D'EPAISSEUR EVENTUELLE +# TETA2 = ANGLE DE LA DEUXIEME TRANSITION D'EPAISSEUR EVENTUELLE +# LTRAN = LONGUEUR ENTRE FIN DE L'EMBOUT 1 ET DEBUT DE TRANSITION +# LTCHAR = LONGUEUR DE L'EMBOUT DU COTE CHARGEMENT +# LCLIM = LONGUEUR DE L'EMBOUT DU COTE CONDITIONS AUX LIMITES +# GEOM = TYPE DE GEOMETRIE MODELISEE (COUDE OU TUBE) +# SYME = "QUART" DE STRUCTURE, "DEMI" STRUCTURE OU BIEN "ENTIER" +# NBEP = NOMBRE D'ELEMENTS DANS LE COUDE +# NLX = NOMBRE D'ELEMENTS CIRCONF. DE LA SOUS-EPAISSEUR +# NLY = NOMBRE D'ELEMENTS LONGI DE LA SOUS-EPAISSEUR + +# ------------------------------------------------------------------------------ +def write_file_dgib_ASCSQO(nomFichierDATG,TYPELE,RM,RC,ALPHA,NBTRAN,EP1,EP2, + EPI,TETA1,MCL_SOUS_EPAIS,TETA2,LTRAN,LTCHAR,LTCLIM,GEOM, + SYME,NBEP,NLX,NLY,NIVMAG,loc_datg) : + + ssep= MCL_SOUS_EPAIS[0] + POIVIR = ' ;\n' + texte=' nivmag = '+str(NIVMAG) +POIVIR + texte=texte+' option dime 3 elem '+TYPELE+' nive nivmag echo 0'+POIVIR + texte=texte+'*\n' + texte=texte+'coory = table '+POIVIR + texte=texte+'coorz = table '+POIVIR + texte=texte+'prof = table '+POIVIR + texte=texte+'posit = table '+POIVIR + texte=texte+'axisym = table '+POIVIR + texte=texte+'axecir = table '+POIVIR + texte=texte+'axelon = table '+POIVIR + texte=texte+'sousep = table '+POIVIR + texte=texte+'coorzc = table '+POIVIR + texte=texte+'axelonc = table '+POIVIR + texte=texte+'*\n' + texte=texte+'* DEBUT PARAMETRES UTILISATEUR\n' + texte=texte+'*\n' + texte=texte+'* parametres generaux\n' + texte=texte+'*\n' + texte=texte+' pirad = '+str(pi) +POIVIR + texte=texte+' rm = '+str(RM) +POIVIR + texte=texte+' rc = '+str(RC) +POIVIR + texte=texte+' alpha = '+str(ALPHA) +POIVIR + texte=texte+' lt1 = '+str(LTCHAR) +POIVIR + texte=texte+' lt2 = '+str(LTCLIM) +POIVIR + texte=texte+' nbtranep = '+str(NBTRAN) +POIVIR + texte=texte+' ep1 = '+str(EP1) +POIVIR + texte=texte+' ep2 = '+str(EP2) +POIVIR + texte=texte+' epI = '+str(EPI) +POIVIR + texte=texte+' teta1 = '+str(TETA1) +POIVIR + texte=texte+' teta2 = '+str(TETA2) +POIVIR + texte=texte+' ltran = '+repr(LTRAN) +POIVIR + if GEOM == 'COUDE': + texte=texte+" zcoude = 'oui' "+POIVIR + else: + texte=texte+" zcoude = 'non' "+POIVIR + if SYME == 'ENTIER': + texte=texte+" zsyme = 'entier' "+POIVIR + elif SYME == 'QUART': + texte=texte+" zsyme = 'quart' "+POIVIR + else: + texte=texte+" zsyme = 'demi' "+POIVIR + if TYPELE == 'CU20': + texte=texte+" zquad = 'oui' "+POIVIR + else: + texte=texte+" zquad = 'non' "+POIVIR + SCP=pi*RM + texte=texte+' nxep = '+str(NBEP) +POIVIR + texte=texte+'*\n' + texte=texte+'* Caracteristiques de la sous-epaisseur\n' + texte=texte+'*\n' + texte=texte+' tysep = '+str(ssep.ICIRP) +POIVIR + texte=texte+' tzsep = '+str(ssep.ILONP) +POIVIR + texte=texte+' prof . 1 = '+str(ssep['PROFONDEUR']) +POIVIR + texte=texte+' ycsep = '+str(SCP-pi*RM) +POIVIR + texte=texte+' theta = '+str(ssep.IPHIC) +POIVIR + texte=texte+' zcsep = '+repr(ssep.ISLP) +POIVIR + + texte=texte+" posit . 1 = '"+str(ssep['SOUS_EPAIS'].lower())+"'"+POIVIR + texte=texte+' nby = '+str(int(NLX[0])) +POIVIR + texte=texte+' nbz = '+str(int(NLY[0])) +POIVIR + texte=texte+' nbxse = '+str(ssep['NB_ELEM_RADI']) +POIVIR + texte=texte+' axelonc . 1 = '+str(ssep['AXE_LONGI'])+POIVIR + if ssep['POSI_CURV_LONGI']!=None: + texte=texte+' coorzc . 1 = '+repr(ssep['POSI_CURV_LONGI'])+POIVIR + else: + DZC=ssep.BETA*pi*(RC+(RM+EP1/2.)*cos(pi/2.))/180. + texte=texte+' coorzc . 1 = '+repr(DZC)+POIVIR + if ssep['TYPE']=='AXIS': + texte=texte+" zaxis = 'oui' "+POIVIR + else: + texte=texte+" zaxis = 'non' "+POIVIR + if ssep['EMPREINTE'] == 'OUI': + texte=texte+" sousep . 1 = 'oui'"+POIVIR + else: + texte=texte+" sousep . 1 = 'non'"+POIVIR + texte=texte+'*\n' + texte=texte+'* FIN PARAMETRES UTILISATEUR \n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'ascouf_ssep_mono_v1.datg'+"'"+POIVIR + fdgib=open(nomFichierDATG,'w') + fdgib.write(texte) + fdgib.close() +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_subpart_file_pgib_POST +# +# APPELEE DANS : write_file_pgib_ASCSQ2 , write_file_pgib_ASCSD2 +# DEFINIE UNE CHAINE DE CARACTERES UTILISEE LORS DE L'ECRITURE DU +# FICHIER GIBI DE POST-TRAITEMENTS +# +#-----------------DONNEES FOURNIES PAR L'UTILISATEUR-------------------- +# +# NLX = NOMBRE D'ELEMENTS CIRCONF. DE LA SOUS-EPAISSEUR +# NLY = NOMBRE D'ELEMENTS LONGI DE LA SOUS-EPAISSEUR +# +#-----------------DONNEE RENVOYEE PAR ASTER-------------------- +# +# texte = chaine de caracteres contenant des instructions gibi +# de post-traitements +# +# ------------------------------------------------------------------------------ +def write_subpart_file_pgib_POST(MCL_SOUS_EPAIS,NLX,NLY): + CAR3 = ('fdro','exdr','extr','exga','fgau','inga','intr','indr') + + POIVIR = ' ;\n' + texte='* DEBUT POINTS DE POST-TRAITEMENT\n' + texte=texte+'*\n' + issep=0 + for ssep in MCL_SOUS_EPAIS: + issep=issep+1 + texte=texte+'*\n' + texte=texte+'* sous-epaisseur No '+str( issep)+'\n' + texte=texte+'*\n' + if ssep['TYPE'] == 'ELLI': + texte=texte+'*\n' + texte=texte+'* plans circonf longi et colonne centrale \n' + texte=texte+'*\n' + texte=texte+'pcirc'+str( issep)+' = circo .'+str(issep).rjust(4)+POIVIR + texte=texte+'plong'+str( issep)+' = longi .'+str(issep).rjust(4)+POIVIR + texte=texte+'pcent'+str( issep)+' = centr .'+str(issep).rjust(4)+POIVIR + texte=texte+'*\n' + texte=texte+'* ligaments tous les 45 degres a epaisseur minimale \n' + texte=texte+'*\n' + texte=texte+'isep = '+str( issep)+POIVIR + for k in range(8): + texte=texte+'ilig = '+str(k+1)+POIVIR + texte=texte+'rlig = ilig/10. + isep'+POIVIR + texte=texte+str(CAR3[k])+str( issep)+' = lig45 . rlig'+POIVIR + if ssep['TYPE'] == 'ELLI': + texte=texte+'*\n' + texte=texte+"* ligaments circonferentiels a l'epaisseur minimale\n" + texte=texte+'*\n' + texte=texte+'isep = '+str(issep)+POIVIR + for k in range(2*NLX[issep-1]+1): + texte=texte+'ilig = '+str(k+1)+POIVIR + texte=texte+'rlig = ilig/100. + isep'+POIVIR + texte=texte+'cir'+str(issep)+'_'+str(k+1)+' = ligcir . rlig'+POIVIR + texte=texte+'*\n' + texte=texte+"* ligaments longitudinaux a l'epaisseur minimale\n" + texte=texte+'* \n' + for k in range(2*NLY[issep-1]+1): + texte=texte+'ilig = '+str(k+1)+POIVIR + texte=texte+'rlig = ilig/100. + isep'+POIVIR + texte=texte+'lon'+str(issep)+'_'+str(k+1)+' = liglon . rlig'+POIVIR + texte=texte+'* FIN POINTS DE POST-TRAITEMENT\n' + return texte + +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_file_pgib_ASCSQ2 +# +# ECRIT DANS UN FICHIER LES DONNEES GIBI DE LA PROCEDURE +# "PLAQUE SOUS-EPAISSEURS" +# IL S'AGIT DE LA DEUXIEME PARTIE ( APRES LES DONNEES UTILISATEUR ) +# +# +#-----------------DONNEES FOURNIES PAR L'UTILISATEUR-------------------- +# +# NLX = NOMBRE TOTAL D'ELEMENTS CIRCONF. DE LA SOUS-EPAISSEUR K +# NLY = NOMBRE TOTAL D'ELEMENTS LONGIT. DE LA SOUS-EPAISSEUR K + +# ------------------------------------------------------------------------------ +def write_file_pgib_ASCSQ2(MCL_SOUS_EPAIS,NLX,NLY): + POIVIR = ' ;\n' + texte=write_subpart_file_pgib_POST(MCL_SOUS_EPAIS,NLX,NLY) + texte=texte+'*\n' + texte=texte+'p1 = 0. 0. (-1.*lt1)'+POIVIR + texte=texte+'p2 = 0. 0. (coor 3 bou3)'+POIVIR + texte=texte+'ma = coude et p1 et p2'+POIVIR + texte=texte+"opti sauv form 'fort.8'"+POIVIR + texte=texte+'sort ma'+POIVIR + texte=texte+'sauv form ma'+POIVIR + texte=texte+'fin'+POIVIR + fpgib=open('fort.71','w') + fpgib.write(texte) + fpgib.close() + +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_file_pgib_ASCSP1 +# +# ECRIT DANS UN FICHIER LES DONNEES GIBI DE LA PROCEDURE +# "PLAQUE SOUS-EPAISSEURS" +# IL S'AGIT DE LA PREMIERE PARTIE ( AVANT LES DONNEES UTILISATEUR ) +# +# +# ------------------------------------------------------------------------------ +def write_file_dgib_ASCSP1(nomFichierDATG,TYPELE,MCL_SOUS_EPAIS,NIVMAG,loc_datg): + + POIVIR = ' ;\n' + texte=' nivmag = '+str(NIVMAG)+POIVIR + texte=texte+' option dime 3 elem '+TYPELE+' nive nivmag echo 0 '+POIVIR + texte=texte+'*\n' + texte=texte+'bg = table '+POIVIR + texte=texte+'bd = table '+POIVIR + texte=texte+'bi = table '+POIVIR + texte=texte+'bs = table '+POIVIR + texte=texte+'indbg = table '+POIVIR + texte=texte+'indbd = table '+POIVIR + texte=texte+'indbi = table '+POIVIR + texte=texte+'indbs = table '+POIVIR + texte=texte+'axecir = table '+POIVIR + texte=texte+'axelon = table '+POIVIR + texte=texte+'axelonc = table '+POIVIR + texte=texte+'coorzc = table '+POIVIR + texte=texte+'prof = table '+POIVIR + texte=texte+'posit = table '+POIVIR + texte=texte+'coory = table '+POIVIR + texte=texte+'coorz = table '+POIVIR + texte=texte+'deny = table '+POIVIR + texte=texte+'nbely = table '+POIVIR + texte=texte+'denz = table '+POIVIR + texte=texte+'nbelz = table '+POIVIR + texte=texte+'axisym = table '+POIVIR + texte=texte+'sousep = table '+POIVIR + texte=texte+'* \n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'ascouf_ssep_mult_v1.datg'+"';\n" + fdgib=open(nomFichierDATG,'w') + fdgib.write(texte) + fdgib.close() + +################################################################################ +################################################################################ +################################################################################ +# MACR_ASCOUF_MAIL write_file_pgib_ASCSDO +# +# ECRIT DANS UN FICHIER LES DONNEES GIBI DE LA PROCEDURE +# "PLAQUE SOUS-EPAISSEURS" +# +#-----------------DONNEES FOURNIES PAR L'UTILISATEUR-------------------- +# +# RM = RAYON MOYEN DU COUDE +# RC = RAYON DE CINTRAGE DU COUDE +# ALPHA = ANGLE DU COUDE +# EP = EPAISSEUR DU COUDE +# LTCHAR = LONGUEUR DE L'EMBOUT DU COTE CHARGEMENT +# LCLIM = LONGUEUR DE L'EMBOUT DU COTE CONDITIONS AUX LIMITES +# GEOM = TYPE DE GEOMETRIE MODELISEE (COUDE OU TUBE) +# SYME = QUART DE STRUCTURE SI 'OUI' +# INDBG = INDICATEUR BORD GAUCHE DE LA ZONE CIRCONF J +# INDBD = INDICATEUR BORD DROIT DE LA ZONE CIRCONF J +# BG = ABSCISSE DU BORD GAUCHE DE LA ZONE CIRCONF J +# BD = ABSCISSE DU BORD DROIT DE LA ZONE CIRCONF J +# BI = ORDONNEE DU BORD INFERIEUR DE LA ZONE LONGI J +# BS = ORDONNEE DU BORD SUPERIEUR DE LA ZONE LONGI J +# INDBI = INDICATEUR BORD INFERIEUR DE LA ZONE LONGI J +# INDBS = INDICATEUR BORD SUPERIEUR DE LA ZONE LONGI J +# INDSEX = NUMERO DE SOUS-EPAISSEUR CONTENU DANS LA ZONE CIRCONF J +# INDSEY = NUMERO DE SOUS-EPAISSEUR CONTENU DANS LA ZONE LONGI J +# DNX = DENSITE ET NOMBRE D'ELEMENTS CIRCONF. DE LA ZONE J +# DNY = DENSITE ET NOMBRE D'ELEMENTS LONGIT. DE LA ZONE J +# NZONEX = NOMBRE DE ZONES CIRCONFERENTIELLES +# NZONEY = NOMBRE DE ZONES LONGITUDINALES +# +# ------------------------------------------------------------------------------ +def write_file_pgib_ASCSDO(RM,RC,ALPHA,EP,LTCLIM,LTCHAR,NBEP, + NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS, + DNX,DNY,MCL_SOUS_EPAIS,GEOM,SYME): + + POIVIR = ' ;\n' + NY=20 + DELTAY=2.*pi*RM/NY + + def nint(x): + if 0 les quart et demi structure' + print ' ne peuvent etre realisees ' + print ' sur un modele comportant une transition ' + print ' d epaisseur ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# + DEXT = COUDE['DEXT_T1'] + EP1 = COUDE['EPAIS_T1'] + EP2 = COUDE['EPAIS_T2'] + TETA1 = COUDE['ANGL_TETA1'] + TETA2 = 0.0 + EPI = 0.0 + if COUDE['ANGL_TETA2']!=None : + NBTRAN = 2 + TETA2 = COUDE['ANGL_TETA2'] + EPI = COUDE['EPAIS_TI'] +# + if COUDE['ABSC_CURV_TRAN']!=None : + LTRAN = COUDE['ABSC_CURV_TRAN'] + else : + LTRAN = COUDE['POSI_ANGU_TRAN']* RC * pi / 180.0 +# + RM = (DEXT-EP1)/2.0 + RM2 = RM + (EP2-EP1)/2.0 + R1 = RC + R2 = RM + E = EP1 +# + if COUDE['SYME']!='ENTIER' and (LTCHAR!=LTCLIM) : + print ' les deux embouts doivent etre' + print ' de meme longueur pour les cas de symetrie ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# + LAMOR = 3.0/2.0 * sqrt( RM*RM*RM / EP1) + if LTCHAR longueur d embout P1 inferieure' + print ' a la longueur d amortissement = ',LAMOR + print ' alarme' +# + LAMOR = 3.0/2.0 * sqrt( RM2*RM2*RM2 / EP2) + if LTCLIM longueur d embout P2 inferieure' + print ' a la longueur d amortissement = ',LAMOR + print ' alarme' +# + if TYPBOL!=None: + if TYPBOL[:1]=='GV' : + print ' la condition aux limites raccord' + print ' 3d-poutre appliquee avec la macro de calcul' + print ' ascouf n est pas licite avec un embout' + print ' de type conique' + print ' alarme' +# +################################################################################ +# --- caracteristiques de la fissure --- +################################################################################ +# + if FISS_COUDE!=None: + if NBEP!=3: + print ' le nombre d elements dans l epaisseur' + print ' du coude n est pas parametrable pour' + print ' un coude avec fissure' + print ' mot-cle NB_ELEM_EPAIS ignore' + print ' alarme' + FPROF = FISS_COUDE['PROFONDEUR'] + FAXI = FISS_COUDE['AXIS'] + if FAXI=='NON' and FISS_COUDE['LONGUEUR']==None : + print ' pour les fissures non axisymetriques' + print ' la longueur doit etre specifiee ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if FAXI=='OUI' and FISS_COUDE['LONGUEUR']!=None : + print ' la fissure est axisymetrique : on ne' + print ' tient pas compte de la longueur specifiee' + print ' alarme' + if FISS_COUDE['LONGUEUR']!=None : FLONG = FISS_COUDE['LONGUEUR'] + if FAXI=='OUI' : +#### on prend une marge de securite a cause des modifs dans ascfis + FLONG = 2.0 * pi * (RM + EP1) + if FISS_COUDE['ABSC_CURV']!=None : + SF = FISS_COUDE['ABSC_CURV'] + LDEFAU = SF + BETA = 0.0 + else: + SF = 0.0 + BETA = FISS_COUDE['POSI_ANGUL'] + LDEFAU = BETA * RC * pi / 180.0 + AZIM = FISS_COUDE['AZIMUT'] + ORIEN = FISS_COUDE['ORIEN'] + POSIT = FISS_COUDE['FISSURE'] + NT = FISS_COUDE['NB_TRANCHE'] + NS = FISS_COUDE['NB_SECTEUR'] + NC = FISS_COUDE['NB_COURONNE'] + if FISS_COUDE['RAYON_TORE']!=None : RC0 = FISS_COUDE['RAYON_TORE'] + else : RC0 = 0. + if FISS_COUDE['COEF_MULT_RC2']!=None : RC2 = FISS_COUDE['COEF_MULT_RC2'] + else : RC2 = 0. + if FISS_COUDE['COEF_MULT_RC3']!=None : RC3 = FISS_COUDE['COEF_MULT_RC3'] + else : RC3 = 0. + EPSI = FISS_COUDE['ANGL_OUVERTURE'] + OR = ORIEN + AZ = AZIM + POS = POSIT + DGAXEC = FLONG/2.0 + DC = DGAXEC + if ORIEN!=90.0 and NBTRAN!=0 : + print ' avec une transition d epaisseur' + print ' la fissure doit obligatoirement etre transverse ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ORIEN!=90.0 and NBTRAN!=0 : + print ' avec une transition d epaisseur' + print ' la fissure doit obligatoirement etre transverse ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ORIEN!=90.0 and COUDE['SYME']!='ENTIER' : + print ' l orientation de la fissure doit' + print ' etre transverse (orien : 90.) pour modeliser ' + print ' un quart ou une demi structure ' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ORIEN!=90.0 and FAXI=='OUI' : + print ' la fissure est axisymetrique : son' + print ' orientation doit etre transverse (ORIEN : 90.)' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +################################################################################ +# --- caracteristiques des sous epaisseurs --- +################################################################################ +# + isep = 0 + MCL_SOUS_EPAIS = None + if SOUS_EPAIS_MULTI!=None : MCL_SOUS_EPAIS = SOUS_EPAIS_MULTI + if SOUS_EPAIS_COUDE!=None : MCL_SOUS_EPAIS = SOUS_EPAIS_COUDE + if SOUS_EPAIS_MULTI!=None and NBTRAN!=0 : + print ' il ne peut pas y avoir plusieurs' + print ' sous-epaisseurs en meme temps qu une' + print ' transition d epaisseur : si une seule' + print ' sous-epaisseur utiliser sous_epais_coude' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if SOUS_EPAIS_COUDE!=None and FISS_COUDE!=None and NBTRAN!=0 : + print ' avec une transition d epaisseur' + print ' il doit obligatoirement y avoir un defaut' + print ' soit une fissure soit une sous-epaisseur' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if MCL_SOUS_EPAIS!=None : + AZIM = 90.0 + if MCL_SOUS_EPAIS.__class__.__name__ !='MCList' : MCL_SOUS_EPAIS=[MCL_SOUS_EPAIS,] + if len(MCL_SOUS_EPAIS)!=1 and COUDE['SYME']!='ENTIER' : + print ' ne modeliser qu une seule' + print ' sous-epaisseur pour un quart ou demi-coude' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + for ssep in MCL_SOUS_EPAIS : + isep=isep+1 + if ssep['AXE_CIRC']!=None and ssep['TYPE']=='AXIS' : + print ' vous ne pouvez declarer la sous-' + print ' epaisseur comme axisymetrique et donner' + print ' une taille d axe circonferentiel' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ssep['AXE_CIRC']==None and ssep['TYPE']=='ELLI' : + print ' vous devez donner une taille d axe' + print ' circonferentiel pour une sous-epaisseur de' + print ' type elliptique' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ssep['POSI_CURV_LONGI']!=None: + if ssep['POSI_CURV_LONGI']>(ALPHA*RC*pi/180.0) : + print ' valeur hors domaine de validite' + print ' sous-epaisseur numero :',isep + print ' abscisse curv. longit. :',ssep['POSI_CURV_LONGI'] + print ' valeur maximale autorisee :',(ALPHA*RC*pi/180.0) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + LDEFAU = ssep['POSI_CURV_LONGI'] + ssep['AXE_LONGI']/2.0 + BETA = 0.0 + else: + BETA=ssep['POSI_ANGUL'] + if (BETA<0.) or (BETA>ALPHA) : + print ' valeur hors domaine de validite' + print ' sous-epaisseur numero :',isep + print ' position angulaire centre sous-ep :',BETA + print ' valeur limite autorisee :',ALPHA + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + LDEFAU = (BETA*RC*pi/180.0) + ssep['AXE_LONGI']/2.0 +# + if ssep['POSI_CURV_CIRC']!=None: + if ssep['POSI_CURV_CIRC']>(2*pi*RM) : + print ' valeur hors domaine de validite' + print ' sous-epaisseur numero :',isep + print ' abscisse curv. circonf. :',ssep['POSI_CURV_CIRC'] + print ' valeur maximale autorisee :',(2*pi*RM) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if ssep['POSI_CURV_CIRC']!=(pi*RM) and ssep['TYPE']=='AXIS': + print ' le centre d une sous-epaisseur' + print ' axisymetrique est impose en intrados (pi*RM)' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + else: + ssep.IPHIC=ssep['AZIMUT'] + if ssep['AZIMUT']!=180. and ssep['TYPE']=='AXIS': + print ' le centre d une sous-epaisseur' + print ' axisymetrique est impose en intrados' + print ' l azimut est fixe a 180 degres' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# l_ITYPE.append(ssep['TYPE' ]) +# l_ICIRC.append(ssep['AXE_CIRC' ]) +# l_ILONC.append(ssep['AXE_LONGI' ]) +# l_IPROC.append(ssep['PROFONDEUR' ]) +# l_ISLC.append( ssep['POSI_CURV_LONGI']) +# l_IBETC.append(BETA) + ssep.BETA=BETA +# l_ISCC.append( ssep['POSI_CURV_CIRC' ]) +# l_IPHIC.append(ssep['AZIMUT' ]) +# l_IPOS.append( ssep['SOUS_EPAIS' ]) +# l_INBEL.append(ssep['NB_ELEM_LONGI' ]) +# l_INBEC.append(ssep['NB_ELEM_CIRC' ]) +# l_IEVID.append(ssep['EMPREINTE' ]) + + if SOUS_EPAIS_COUDE!=None and COUDE['NB_ELEM_EPAIS']!=3 : + print ' le nombre d elements dans l' + print ' epaisseur du coude n est pas parametrable pour' + print ' la version 2 de la procedure de plaque avec sous' + print ' -epaisseur : mot-cle NB_ELEM_EPAIS ignore' + print ' alarme' +# +################################################################################ +# --- verifications de coherences --- +################################################################################ +# +# donnees globales + if COUDE['TRANSFORMEE']=='COUDE' or COUDE['TRAN_EPAIS']=='NON' : + if SUREP<0. or SUREP>(RM-EP1/2.0): + print ' valeur hors domaine de validite' + print ' surepaisseur :',SUREP + print ' valeur limite autorisee (RM-EP1/2) :',(RM-EP1/2.0) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if RC<=(RM+EP1/2.0): + print ' valeur hors domaine de validite' + print ' le rayon de cintrage :',RC + print ' doit etre superieur a (RM+EP1/2) :',(RM+EP1/2.0) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +# coude fissure +# + if FISS_COUDE!=None: + if (RM/EP1)<5. or (RM/EP1)>12.: + print ' valeur hors domaine de validite (5,12)' + print ' rapport RM/EP1 :',(RM/EP1) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if FISS_COUDE['ABSC_CURV']!=None: + if SF<0. or SF>(ALPHA*RC*pi/180.0) : + print ' valeur hors domaine de validite' + print ' abscisse curviligne centre fissure :',SF + print ' valeur limite autorisee :',(ALPHA*RC*pi/180.0) + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (NT-2*(NT/2))!=0: + print ' valeur hors domaine de validite' + print ' nombre de tranches :',NT + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if FISS_COUDE['ABSC_CURV'] and ((BETA<0.) or (BETA>ALPHA)): + print ' valeur hors domaine de validite' + print ' position angulaire centre fissure :',BETA + print ' posi_angul doit etre >= 0 et <= ',ALPHA + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +# transition d epaisseur +# + if NBTRAN!=0: + LCOUDE = ALPHA * RC * pi / 180.0 + DEXT = 2.0*RM + EP1 + if (LTRANLCOUDE) : + print ' valeur hors domaine de validite' + print ' debut transition d epaisseur :',LTRAN + print ' valeur minimale autorisee :',LDEFAU + print ' valeur maximale autorisee :',LCOUDE + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (TETA1<0.) or (TETA1>30.) : + print ' valeur hors domaine de validite' + print ' angle de transition TETA1 :',TETA1 + print ' valeur minimale autorisee :',0. + print ' valeur maximale autorisee :',30. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +# transition d epaisseur a une pente +# + if NBTRAN==1: + if (EP1<12.) or (EP1>80.) : + print ' valeur hors domaine de validite' + print ' epaisseur avant la transition :',EP1 + print ' valeur minimale autorisee :',12. + print ' valeur maximale autorisee :',80. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP2<20.) or (EP2>110.) : + print ' valeur hors domaine de validite' + print ' epaisseur apres la transition :',EP2 + print ' valeur minimale autorisee :',20. + print ' valeur maximale autorisee :',110. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP1>EP2) : + print ' l epaisseur avant la transition' + print ' doit etre inferieure ' + print ' a celle apres la transition' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + LTRANF = LTRAN + ((EP2-EP1)/(tan(TETA1))) + if (LTRANF>LCOUDE) : + print ' valeur hors domaine de validite' + print ' fin transition d epaisseur :',LTRANF + print ' valeur limite autorisee :',LCOUDE + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if DEXT<112. or DEXT>880. : + print ' valeur hors domaine de validite' + print ' diam ext du tube avant transition:',DEXT + print ' valeur minimum autorisee :',112. + print ' valeur maximum autorisee :',880. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +# transition d epaisseur a une pente +# + else: + if (TETA2<0.) or (TETA2>45.) : + print ' valeur hors domaine de validite' + print ' angle de transition TETA2 :',TETA2 + print ' valeur minimale autorisee :',0. + print ' valeur maximale autorisee :',45. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP1<7.) or (EP1>35.) : + print ' valeur hors domaine de validite' + print ' epaisseur avant 1ere transition :',EP1 + print ' valeur minimale autorisee :',7. + print ' valeur maximale autorisee :',35. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP2<15.) or (EP2>40.) : + print ' valeur hors domaine de validite' + print ' epaisseur avant 2eme transition :',EP2 + print ' valeur minimale autorisee :',15. + print ' valeur maximale autorisee :',40. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EPI<15.) or (EPI>40.) : + print ' valeur hors domaine de validite' + print ' epaisseur intermediaire :',EPI + print ' valeur minimale autorisee :',15. + print ' valeur maximale autorisee :',40. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP1>EPI) : + print ' valeur hors domaine de validite' + print ' l epaisseur avant la transition' + print ' doit etre inferieure a l epaisseur intermediaire' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (EP2 valeur hors domaine de validite' + print ' l epaisseur apres la transition' + print ' doit etre inferieure a l epaisseur intermediaire' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + LTRANF = LTRAN + (EPI-EP1)/(tan(TETA1)) + LTRANF = LTRANF + (EP2-EPI)/(tan(TETA2)) + if (LTRANF>LCOUDE) : + print ' valeur hors domaine de validite' + print ' fin transition d epaisseur :',LTRANF + print ' valeur limite autorisee :',LCOUDE + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + if (DEXT<77.) or (DEXT>355.) : + print ' valeur hors domaine de validite' + print ' diam ext du tube avant transition:',LTRANF + print ' valeur minimale autorisee :',77. + print ' valeur maximale autorisee :',355. + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier +# +################################################################################ +# --- calcul taille initiale des defauts sur la plaque --- +################################################################################ +# +# + if FISS_COUDE!=None: + DSF=(FISS_COUDE['ABSC_CURV']!=None) + AXEAP,AXECP,SFP = ASCFIS(ALPHA, RM, RC, EP1, SUREP, GEOM, FPROF, + DGAXEC, AZIM, POSIT, SF, DSF, BETA, ORIEN) + elif MCL_SOUS_EPAIS!=None : + ier= ASCSEP(MCL_SOUS_EPAIS,ALPHA,RM,RC,EP1,GEOM,SYME) + for ssep in MCL_SOUS_EPAIS: + ssep.IDENL = ssep.ILONP/ssep['NB_ELEM_LONGI']*180./(pi*RC) + ssep.IDENC = ssep.ICIRP/ssep['NB_ELEM_CIRC']*180./(pi*RM) + if SYME=='QUART' : +# quart de structure + ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY\ + = ASCSYM(MCL_SOUS_EPAIS,RM,RC,ALPHA,LTCHAR,LTCLIM) + else : +# demi-structure ou entiere + ier,NLX,NLY,NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS,DNX,DNY\ + = ASCPRE(MCL_SOUS_EPAIS,RM,RC,ALPHA,SYME,LTCHAR,LTCLIM) +# +# + loc_gibi=aster.repout() + logiel = EXEC_MAILLAGE['LOGICIEL' ] + UNITD = EXEC_MAILLAGE['UNITE_DATG'] + UNITP = EXEC_MAILLAGE['UNITE_MGIB'] + if logiel=='GIBI98' : logiel = loc_gibi+'gibi98' + elif logiel=='GIBI2000': logiel = loc_gibi+'gibi2000' + else : + self.cr.fatal(" seuls gibi98 et gibi2000 sont appelableS") + ier = ier+1 + return ier +# +# --- ecriture sur le fichier .datg de la procedure --- +# +# Nom du fichier de commandes pour GIBI + nomFichierDATG = 'fort.'+str(UNITD) +# Nom du fichier de maillage GIBI + nomFichierGIBI = 'fort.'+str(UNITP) + loc_datg = aster.repdex() +# + if FISS_COUDE!=None: +# procedure coude fissure (MOT-CLE FISS_COUDE) + write_file_dgib_ASCFDO(nomFichierDATG,RM,RC,ALPHA,NBTRAN,EP1,EP2,EPI,TETA1, + TETA2,LTRAN,SUREP,LTCHAR,LTCLIM,TYPBOL,AXEAP,AXECP,NT,NS,NC,SFP, + ORIEN,AZIM,RC0,RC2,RC3,POSIT,EPSI,NIVMAG,SYME,loc_datg) + elif MCL_SOUS_EPAIS!=None : + if SOUS_EPAIS_MULTI==None : +# procedure coude sous-ep.: (MOT-CLE SOUS_EPAIS_COUDE) + write_file_dgib_ASCSQO(nomFichierDATG,TYPELE,RM,RC,ALPHA,NBTRAN,EP1,EP2, + EPI,TETA1,MCL_SOUS_EPAIS,TETA2,LTRAN,LTCHAR,LTCLIM,GEOM, + SYME,NBEP,NLX,NLY,NIVMAG,loc_datg) + write_file_pgib_ASCSQ2(MCL_SOUS_EPAIS,NLX,NLY) + else: +# procedure coude sous-ep.:(MOT-CLE SOUS_EPAIS_MULTI) + write_file_dgib_ASCSP1(nomFichierDATG,TYPELE,MCL_SOUS_EPAIS,NIVMAG,loc_datg) + write_file_pgib_ASCSDO(RM,RC,ALPHA,EP1,LTCLIM,LTCHAR,NBEP, + NZONEX,NZONEY,BG,BD,BI,BS,INDBG,INDBD,INDBI,INDBS, + DNX,DNY,MCL_SOUS_EPAIS,GEOM,SYME) + write_file_pgib_ASCSP2(MCL_SOUS_EPAIS,NLX,NLY) + else: +# procedure coude regle + write_file_dgib_ASCRDO(nomFichierDATG,TYPELE,NIVMAG,TYPBOL,ALPHA,RC,RM,EP1,SUREP, + LTCLIM,LTCHAR,NBEP,loc_datg) + + +# GIBI + EXEC_LOGICIEL( LOGICIEL = logiel , + ARGUMENT = ( _F(NOM_PARA=nomFichierDATG), + _F(NOM_PARA=nomFichierGIBI), ), ) +# PRE_GIBI + PRE_GIBI() + + if SYME == 'QUART' : self.DeclareOut('nomres',self.sd) +# LIRE_MAILLAGE + nomres=LIRE_MAILLAGE(INFO=INFO) + +# DEFI_GROUP 1 + + motscles={} + l_CREA_GROUP_NO=[] + l_CREA_GROUP_NO.append('BORD1') + l_CREA_GROUP_NO.append('CLGV') + l_CREA_GROUP_NO.append('BORD2') + l_CREA_GROUP_NO.append('PEAUINT') + l_CREA_GROUP_NO.append('PEAUEXT') + +# cas des fissures axisymetriques + if FISS_COUDE!=None: + if FISS_COUDE['AXIS']=='OUI': + motscles['CREA_GROUP_MA']=[] + motscles['CREA_GROUP_MA'].append(_F(GROUP_MA = 'FONDFISS', + NOM = 'MAIL_ORI', + POSITION = 'INIT' , ),) + +# conversion des groupes de mailles en groupes du bloc fissure + if FISS_COUDE!=None: + if SYME == 'ENTIER': + l_CREA_GROUP_NO.append('NOLIG1') + l_CREA_GROUP_NO.append('FACE1') + l_CREA_GROUP_NO.append('NOLIG2') + l_CREA_GROUP_NO.append('FACE2') + l_CREA_GROUP_NO.append('FONDFISS') + + motscles['CREA_GROUP_NO']=[] + motscles['CREA_GROUP_NO'].append(_F(GROUP_MA=tuple(l_CREA_GROUP_NO))) + +# conversion des groupes de mailles en groupes de noeuds pour les +# ligaments des sous-ep. + if MCL_SOUS_EPAIS!=None: + issep=0 + for ssep in MCL_SOUS_EPAIS: + issep=issep+1 + if ssep['TYPE']=='ELLI': + for k in range(2*NLX[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='CIR'+chtmp + ch2='ICI'+chtmp + motscles['CREA_GROUP_NO'].append(_F(NOM = ch2, + GROUP_MA = ch1,),) + motscles['CREA_GROUP_NO'].append(_F(NOM = 'IPCEN'+str(issep), + GROUP_MA = 'PCENT'+str(issep),),) + for k in range(2*NLY[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='LON'+chtmp + ch2='ILO'+chtmp + motscles['CREA_GROUP_NO'].append(_F(NOM = ch2, + GROUP_MA = ch1,),) + for k in range(2*NLX[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='ICI'+chtmp + ch2='OCI'+chtmp + ch3='ECI'+chtmp + motscles['CREA_GROUP_NO'].append(_F(NOM = ch2, + INTERSEC = ('PEAUEXT',ch1),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = ch3, + INTERSEC = ('PEAUINT',ch1),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = 'OPCEN'+str(issep), + INTERSEC = ('PEAUEXT','IPCEN'+str(issep),),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = 'EPCEN'+str(issep), + INTERSEC = ('PEAUINT','IPCEN'+str(issep),),),) + for k in range(2*NLY[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='ILO'+chtmp + ch2='OLO'+chtmp + ch3='ELO'+chtmp + motscles['CREA_GROUP_NO'].append(_F(NOM = ch2, + INTERSEC = ('PEAUEXT',ch1),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = ch3, + INTERSEC = ('PEAUINT',ch1),),) + for k in range(2*NLX[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='CIR'+chtmp + ch2='ICI'+chtmp + ch3='OCI'+chtmp + ch4='ECI'+chtmp + motscles['CREA_GROUP_NO'].append(_F(OPTION = 'SEGM_DROI_ORDO', + NOM = ch1, + GROUP_NO = ch2, + GROUP_NO_ORIG = ch3, + GROUP_NO_EXTR = ch4, + PRECISION = PRECIS, + CRITERE = CRITER,),) + motscles['CREA_GROUP_NO'].append(_F(OPTION = 'SEGM_DROI_ORDO', + NOM = 'PCENT'+str(issep), + GROUP_NO = 'IPCEN'+str(issep), + GROUP_NO_ORIG = 'OPCEN'+str(issep), + GROUP_NO_EXTR = 'EPCEN'+str(issep), + PRECISION = PRECIS, + CRITERE = CRITER,),) + for k in range(2*NLY[issep-1]+1): + chtmp=str(issep)+'_'+str(k+1) + ch1='LON'+chtmp + ch2='ILO'+chtmp + ch3='OLO'+chtmp + ch4='ELO'+chtmp + motscles['CREA_GROUP_NO'].append(_F(OPTION = 'SEGM_DROI_ORDO', + NOM = ch1, + GROUP_NO = ch2, + GROUP_NO_ORIG = ch3, + GROUP_NO_EXTR = ch4, + PRECISION = PRECIS, + CRITERE = CRITER,),) +# 1/ noms intermediaires des groupes de noeuds representant les ligaments +# des sections: TU,MI,GV et sous-ep. + for k in range(8): + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR3[k]+str(issep), + GROUP_MA = CAR6[k]+str(issep),),) + + for k in range(3): + if SYME == 'ENTIER' or k!=2: + for j in range(8): + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR3[j]+SECT[k], + GROUP_MA = CAR6[j]+SECT[k],),) + +# 2/ determination et nommage des noeuds origine et extremite des groupes de noeuds +# representant les ligaments de la ou des sections: sous-ep. + issep=0 + for ssep in MCL_SOUS_EPAIS: + issep=issep+1 + for k in range(8): + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR4[k]+str(issep), + INTERSEC = ('PEAUEXT',CAR3[k]+str(issep),),),) + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR5[k]+str(issep), + INTERSEC = ('PEAUINT',CAR3[k]+str(issep),),),) +# 3/ nommage final des groupes de noeuds representant les ligaments +# de la ou des sections: sous-ep. + for k in range(8): + motscles['CREA_GROUP_NO'].append(_F(OPTION = 'SEGM_DROI_ORDO', + NOM = CAR6[k]+str(issep), + GROUP_NO = CAR3[k]+str(issep), + GROUP_NO_ORIG = CAR4[k]+str(issep), + GROUP_NO_EXTR = CAR5[k]+str(issep), + PRECISION = PRECIS, + CRITERE = CRITER,),) + +# 4/ determination et nommage des noeuds origine et extremite des groupes de noeuds +# representant les ligaments des sections: TU,MI,GV + for k in range(3): + if SYME == 'ENTIER' or k!=2: + for j in range(8): + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR4[j]+SECT[k], + INTERSEC = ('PEAUEXT',CAR3[j]+SECT[k],),),) + motscles['CREA_GROUP_NO'].append(_F( NOM = CAR5[j]+SECT[k], + INTERSEC = ('PEAUINT',CAR3[j]+SECT[k],),),) +# 5/ nommage final des groupes de noeuds representant les ligaments des sections: TU,MI,GV + for j in range(8): + motscles['CREA_GROUP_NO'].append(_F(OPTION = 'SEGM_DROI_ORDO', + NOM = CAR6[j]+SECT[k], + GROUP_NO = CAR3[j]+SECT[k], + GROUP_NO_ORIG = CAR4[j]+SECT[k], + GROUP_NO_EXTR = CAR5[j]+SECT[k], + PRECISION = PRECIS, + CRITERE = CRITER,),) + + + nomres=DEFI_GROUP(reuse =nomres, + MAILLAGE=nomres, + **motscles ) +# +# DEFI_GROUP 2 + if FISS_COUDE!=None: +# creation des groupes petit axe et grand axe fissure par +# intersection de groupes existants + motscles={} + motscles['CREA_GROUP_NO']=[] + l_peau=[] + l_intersec=[] + if POSIT == 'DEB_INT': + l_peau.append('PEAUINT') + else: + l_peau.append('PEAUEXT') + + if SYME == 'ENTIER' : + l_intersec.append('FACE1') + motscles['CREA_GROUP_NO'].append(_F(NOM = 'P_AXE_1', + INTERSEC = ('NOLIG1','FACE1'),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = 'G_AXE_1', + INTERSEC = tuple(l_peau+l_intersec),),) + l_intersec=[] + l_intersec.append('FACE2') + motscles['CREA_GROUP_NO'].append(_F(NOM = 'P_AXE_2', + INTERSEC = ('NOLIG2','FACE2'),),) + motscles['CREA_GROUP_NO'].append(_F(NOM = 'G_AXE_2', + INTERSEC = tuple(l_peau+l_intersec),),) + + nomres=DEFI_GROUP(reuse =nomres, + MAILLAGE=nomres, + **motscles ) + +# AFFE_MODELE + __MODELE=AFFE_MODELE( MAILLAGE=nomres, + AFFE=_F( GROUP_MA = 'COUDE' , + PHENOMENE = 'MECANIQUE' , + MODELISATION = '3D' , ) + ) + +# MODI_MAILLAGE 1 + motscles={} + if GEOM == 'COUDE': + motscles['TUBE_COUDE']=[] + motscles['TUBE_COUDE'].append(_F(ANGLE=ALPHA, + R_CINTR=RC, + L_TUBE_P1=LTCHAR),) + motscles['PLAQ_TUBE']=[] + D_PLAQ_TUBE={} + D_PLAQ_TUBE['DEXT']=DEXT + D_PLAQ_TUBE['EPAIS']=EP1 + D_PLAQ_TUBE['L_TUBE_P1']=LTCHAR + if SYME == 'QUART' : D_PLAQ_TUBE['COUTURE']='NON' + if FISS_COUDE!=None: + D_PLAQ_TUBE['AZIMUT']=AZIM + elif SOUS_EPAIS_COUDE!=None : + D_PLAQ_TUBE['AZIMUT']=MCL_SOUS_EPAIS[0].IPHIC + else:pass + motscles['PLAQ_TUBE'].append(_F(**D_PLAQ_TUBE),) + nomres=MODI_MAILLAGE( reuse =nomres, + MAILLAGE=nomres, + **motscles ) + +# MODI_MAILLAGE 2 + motscles={} + motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXTUBE'),) + if FISS_COUDE!=None: + if FISS_COUDE['FISSURE'] == 'DEB_INIT': + motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXTUBE','FACE1','FACE2'),) + nomres=MODI_MAILLAGE(reuse =nomres, + MAILLAGE=nomres, + MODELE =__MODELE, + **motscles) + +# CREA_MAILLAGE + if SYME != 'QUART': + self.DeclareOut('nomre2',self.sd) + motscles={} + motscles['CREA_POI1']=[] + motscles['CREA_POI1'].append(_F(NOM_GROUP_MA='P1', + GROUP_NO='P1'),) + if TYPBOL == None : + motscles['CREA_POI1'].append(_F(NOM_GROUP_MA='P2', + GROUP_NO='P2'),) + nomre2=CREA_MAILLAGE( MAILLAGE=nomres, + **motscles) + else: + nomre2=nomres + + +# IMPRESSSION + if IMPRESSION!=None: + if IMPRESSION.__class__.__name__ !='MCList' : IMPRESSION =[IMPRESSION,] + for impr in IMPRESSION : +# + motscles={} + if impr['FORMAT']=='IDEAS' : motscles['VERSION'] =impr['VERSION'] + if impr['FORMAT']=='CASTEM' : motscles['NIVE_GIBI'] =impr['NIVE_GIBI'] + if impr['UNITE']!=None : motscles['UNITE'] =impr['UNITE'] + impr_resu = _F( MAILLAGE = nomre2,) +# + IMPR_RESU( RESU = impr_resu, + FORMAT= impr['FORMAT'],**motscles) + + + + return ier + + diff --git a/Aster/Cata/cataSTA74/Macro/macr_aspic_calc_ops.py b/Aster/Cata/cataSTA74/Macro/macr_aspic_calc_ops.py new file mode 100644 index 00000000..b6d91b36 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_aspic_calc_ops.py @@ -0,0 +1,821 @@ +#@ MODIF macr_aspic_calc_ops Macro DATE 22/11/2004 AUTEUR LEBOUVIE F.LEBOUVIER +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + +def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM, + FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,AFFE_MATERIAU,EQUILIBRE, + PRES_REP,ECHANGE,TORS_CORP,TORS_TUBU,COMP_INCR,COMP_ELAS, + THETA_3D,OPTION,SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE, + INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE ,**args): + """ + Ecriture de la macro MACR_ASPIC_CALC + """ + from Accas import _F + import types + ier=0 +#------------------------------------------------------------------ + # On recopie le mot cle affe_materiau pour le proteger + mc_AFFE_MATERIAU=AFFE_MATERIAU +#------------------------------------------------------------------ + # On importe les definitions des commandes a utiliser dans la macro + AFFE_MODELE =self.get_cmd('AFFE_MODELE' ) + AFFE_MATERIAU =self.get_cmd('AFFE_MATERIAU' ) + AFFE_CARA_ELEM =self.get_cmd('AFFE_CARA_ELEM' ) + AFFE_CHAR_THER_F =self.get_cmd('AFFE_CHAR_THER_F') + THER_LINEAIRE =self.get_cmd('THER_LINEAIRE' ) + AFFE_CHAR_MECA =self.get_cmd('AFFE_CHAR_MECA' ) + STAT_NON_LINE =self.get_cmd('STAT_NON_LINE' ) + CALC_ELEM =self.get_cmd('CALC_ELEM' ) + POST_RELEVE_T =self.get_cmd('POST_RELEVE_T' ) + IMPR_TABLE =self.get_cmd('IMPR_TABLE' ) + POST_RCCM =self.get_cmd('POST_RCCM' ) + DEFI_FOND_FISS =self.get_cmd('DEFI_FOND_FISS' ) + CALC_THETA =self.get_cmd('CALC_THETA' ) + CALC_G_THETA_T =self.get_cmd('CALC_G_THETA_T' ) + CALC_G_LOCAL_T =self.get_cmd('CALC_G_LOCAL_T' ) + IMPR_RESU =self.get_cmd('IMPR_RESU' ) + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + +#------------------------------------------------------------------ +# data + GRMAIL= ('EQUERRE','PEAUINT','EXCORP1','EXCORP2','EXTUBU','LEVRTUBU','LEVRCORP') + NOMNOE= ('P1_CORP','P2_CORP','P_TUBU ') + IMPRT1= ('NUME_ORDRE','INTITULE','RESU' ,'NOM_CHAM', + 'ABSC_CURV' ,'COOR_X' ,'COOR_Y','COOR_Z' , + 'SIXX' ,'SIXY' ,'SIXZ' ) + IMPRT2= ('NUME_ORDRE','INTITULE','RESU' ,'NOM_CHAM', + 'ABSC_CURV' ,'COOR_X' ,'COOR_Y','COOR_Z' , + 'SIYY' ,'SIXY' ,'SIYZ' ) + IMPRT3= ('NUME_ORDRE','INTITULE','RESU' ,'NOM_CHAM', + 'ABSC_CURV' ,'COOR_X' ,'COOR_Y','COOR_Z' , + 'TEMP' ) + APPRES= ('PEAUINT ','LEVRTUBU','LEVRCORP') +#------------------------------------------------------------------ +# + i=0 + for mate in mc_AFFE_MATERIAU: + if mate['RCCM']=='OUI' : + i=i+1 + MRCCM=mate['MATER'] + if i>1 : + ier=ier+1 + self.cr.fatal(""" vous affectez plus d un materiau contenant l option rccm""") + return ier +# + if (TYPE_MAILLAGE[:4]=='SAIN') and (TUBULURE==None) : + ier=ier+1 + self.cr.fatal(""" pour les piquages sains, TUBULURE doit etre renseigne""") + return ier +# + if EQUILIBRE['NOEUD'] not in ('P1_CORP','P2_CORP') : + ier=ier+1 + self.cr.fatal(""" EQUILIBRE[NOEUD] : on attend 'P1_CORP ' ou 'P2_CORP'""") + return ier +# + if PRES_REP['EFFE_FOND']=='OUI' : + if PRES_REP['NOEUD']==None : + ier=ier+1 + self.cr.fatal(""" il faut preciser un noeud pour EFFE_FOND""") + return ier + if PRES_REP['NOEUD'] not in ('P1_CORP','P2_CORP') : + ier=ier+1 + self.cr.fatal(""" PRES_REP[NOEUD] : on attend 'P1_CORP' ou 'P2_CORP'""") + return ier + if PRES_REP['NOEUD']==EQUILIBRE['NOEUD'] : + ier=ier+1 + self.cr.fatal(""" on ne peut appliquer un EFFE_FOND sur PRES_REP[NOEUD] car ce noeud est bloque""") + return ier +# + if TORS_CORP!=None : + for tors in TORS_CORP : + if tors['NOEUD'] not in ('P1_CORP','P2_CORP') : + ier=ier+1 + self.cr.fatal(""" TORS_CORP[NOEUD] : on attend 'P1_CORP' ou 'P2_CORP'""") + return ier + if tors['NOEUD']==EQUILIBRE['NOEUD'] : + ier=ier+1 + self.cr.fatal(""" on ne peut appliquer un torseur sur TORS_CORP[NOEUD] car ce noeud est bloque""") + return ier +# + if (TYPE_MAILLAGE[:4]=='SAIN') and (THETA_3D!=None) : + ier=ier+1 + self.cr.fatal(""" si TYPE_MAILLAGE SAIN : mecanique de la rupture impossible""") + return ier +# + if OPTION in ('CALC_G_MAX','CALC_G_MAX_LOCAL') : + if BORNES==None : + ier=ier+1 + self.cr.fatal(""" mot-clef obligatoire avec cette option""") + return ier +# + if IMPRESSION!=None : + if IMPRESSION['FORMAT'] in ('IDEAS','CASTEM') : + if IMPRESSION['NOM_CHAM']==None : + ier=ier+1 + self.cr.fatal(""" impression de resultats demandée sans preciser le nom des champs + cf. la documentation utilisateur : U4.PC.20.""") + return ier +# +#------------------------------------------------------------------ +# +# --- commande AFFE_MODELE --- +# + if MODELE!=None : self.DeclareOut('modele',MODELE) + mcfact=[] + if (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[-4:]=='_DEB') : + mcfact.append(_F(GROUP_MA=GRMAIL, PHENOMENE='MECANIQUE',MODELISATION='3D' )) + else: + mcfact.append(_F(GROUP_MA=GRMAIL[:-2],PHENOMENE='MECANIQUE',MODELISATION='3D' )) + mcfact.append( _F(GROUP_MA='P1_CORP' ,PHENOMENE='MECANIQUE',MODELISATION='DIS_TR')) + mcfact.append( _F(GROUP_MA='P2_CORP' ,PHENOMENE='MECANIQUE',MODELISATION='DIS_TR')) + mcfact.append( _F(GROUP_MA='P_TUBU' ,PHENOMENE='MECANIQUE',MODELISATION='DIS_TR')) + modele = AFFE_MODELE( MAILLAGE = MAILLAGE , + AFFE = mcfact ) + if ECHANGE!=None : # modele thermique + __modthe = AFFE_MODELE( MAILLAGE = MAILLAGE , + AFFE = _F(GROUP_MA =GRMAIL[:-2], + PHENOMENE ='THERMIQUE', + MODELISATION='3D' ) ) +# +# --- commande AFFE_MATERIAU --- +# + if CHAM_MATER!=None : self.DeclareOut('affmat',CHAM_MATER) + mcfact=[] + for mater in mc_AFFE_MATERIAU : + if mater['TOUT']!=None : mcfact.append(_F(TOUT =mater['TOUT' ],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + else : mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF'])) + affmat = AFFE_MATERIAU( MAILLAGE = MAILLAGE , + MODELE = modele , + AFFE = mcfact ) +# +# --- commande AFFE_CARA_ELEM --- +# + if CARA_ELEM!=None : self.DeclareOut('carael',CARA_ELEM) + carael = AFFE_CARA_ELEM( MODELE = modele , + DISCRET = ( _F( GROUP_MA='P1_CORP' , + CARA ='K_TR_D_N', + VALE = ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) ), + _F( GROUP_MA='P2_CORP' , + CARA ='K_TR_D_N', + VALE = ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) ), + _F( GROUP_MA='P_TUBU' , + CARA ='K_TR_D_N', + VALE = ( 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ) ), ) ) +# +# --- commande AFFE_CHAR_THER_F --- +# condition aux limites +# + if ECHANGE!=None : + __chther = AFFE_CHAR_THER_F( MODELE = __modthe , + ECHANGE=( _F(GROUP_MA='PEAUTUBU', + COEF_H =ECHANGE['COEF_H_TUBU'], + TEMP_EXT=ECHANGE['TEMP_EXT'],), + _F(GROUP_MA='PEAUCORP', + COEF_H =ECHANGE['COEF_H_CORP'], + TEMP_EXT=ECHANGE['TEMP_EXT'],),)) +# +# --- calcul thermique --- +# + if RESU_THER!=None : self.DeclareOut('resuth',RESU_THER) + mcsimp={} + if INCREMENT['NUME_INST_INIT']!=None : mcsimp['NUME_INIT']=INCREMENT['NUME_INST_INIT'] + if INCREMENT['NUME_INST_FIN' ]!=None : mcsimp['NUME_FIN' ]=INCREMENT['NUME_INST_FIN' ] + mcfact=_F(LIST_INST=INCREMENT['LIST_INST'],**mcsimp) + resuth = THER_LINEAIRE( MODELE = __modthe , + CHAM_MATER = affmat , + TEMP_INIT = _F(STATIONNAIRE='OUI',), + EXCIT = _F(CHARGE=__chther,), + INCREMENT = mcfact, ) +# + if CHARGE!=None : self.DeclareOut('chmeth',CHARGE) + chmeth = AFFE_CHAR_MECA( MODELE = modele , + TEMP_CALCULEE = resuth ) +# +# --- commande AFFE_CHAR_MECA --- +# condition aux limites +# + if EQUILIBRE['NOEUD']=='P1_CORP' : + NENCAS = EQUILIBRE['NOEUD'] + AEFOCO = 'EXCORP2' + ATORCO = 'P2_CORP' + LINTC = 'L_INT_C2' + elif EQUILIBRE['NOEUD']=='P2_CORP' : + NENCAS = EQUILIBRE['NOEUD'] + AEFOCO = 'EXCORP1' + ATORCO = 'P1_CORP' + LINTC = 'L_INT_C1' + __conlim = AFFE_CHAR_MECA( MODELE = modele , + LIAISON_ELEM = ( _F( OPTION ='3D_POU' , + GROUP_MA_1='EXCORP1', + GROUP_NO_2='P1_CORP'), + _F( OPTION ='3D_POU' , + GROUP_MA_1='EXCORP2' , + GROUP_NO_2='P2_CORP'), + _F( OPTION ='3D_POU' , + GROUP_MA_1='EXTUBU', + GROUP_NO_2='P_TUBU'), ), + DDL_IMPO = _F( GROUP_NO = NENCAS , + DX = 0.0 , + DY = 0.0 , + DZ = 0.0 , + DRX = 0.0 , + DRY = 0.0 , + DRZ = 0.0 , ) ) +# +# --- commande AFFE_CHAR_MECA --- +# chargement mecanique : pres_rep, effet de fond +# + motscles={} + if (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[-4:]=='_DEB') : + motscles['PRES_REP' ]= _F(GROUP_MA=APPRES, PRES=PRES_REP['PRES']) + else : + motscles['PRES_REP' ]= _F(GROUP_MA=APPRES[0],PRES=PRES_REP['PRES']) + if PRES_REP['EFFE_FOND' ]!=None : + motscles['EFFE_FOND' ]=(_F(GROUP_MA ='EXTUBU ', + GROUP_MA_INT='L_INT_TU', + PRES =PRES_REP['PRES']), + _F(GROUP_MA =AEFOCO, + GROUP_MA_INT=LINTC, + PRES =PRES_REP['PRES'])) + __chpres = AFFE_CHAR_MECA( MODELE = modele ,**motscles) +# +# --- commande AFFE_CHAR_MECA --- +# chargement mecanique : torseur sur le corps +# + if TORS_CORP!=None: + __chtrc = [None]*6 + i=0 + for tors in TORS_CORP : + mcsimp={} + if tors['FX']!=None : mcsimp['FX']=tors['FX'] + if tors['FY']!=None : mcsimp['FY']=tors['FY'] + if tors['FZ']!=None : mcsimp['FZ']=tors['FZ'] + if tors['MX']!=None : mcsimp['MX']=tors['MX'] + if tors['MY']!=None : mcsimp['MY']=tors['MY'] + if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] + mcfact=_F(GROUP_NO=ATORCO,**mcsimp) + __chtrc[i] = AFFE_CHAR_MECA( MODELE = modele , + FORCE_NODALE = mcfact , ) + i=i+1 +# +# --- commande AFFE_CHAR_MECA --- +# chargement mecanique : torseur sur la tubulure +# + if TORS_TUBU!=None: + __chtrt = [None]*6 + i=0 + for tors in TORS_TUBU : + mcsimp={} + if tors['FX']!=None : mcsimp['FX']=tors['FX'] + if tors['FY']!=None : mcsimp['FY']=tors['FY'] + if tors['FZ']!=None : mcsimp['FZ']=tors['FZ'] + if tors['MX']!=None : mcsimp['MX']=tors['MX'] + if tors['MY']!=None : mcsimp['MY']=tors['MY'] + if tors['MZ']!=None : mcsimp['MZ']=tors['MZ'] + mcfact=_F(GROUP_NO='P_TUBU ',**mcsimp) + __chtrt[i] = AFFE_CHAR_MECA( MODELE = modele , + FORCE_NODALE = mcfact , ) + i=i+1 +# +# --- commande STAT_NON_LINE --- +# + motscles={} +# + mcfex=[] # mot clé facteur EXCIT + mcfex.append(_F(CHARGE=__conlim,)) + if ECHANGE!=None : + mcfex.append(_F(CHARGE=chmeth,)) + if PRES_REP['FONC_MULT']!=None : + mcfex.append(_F(CHARGE=__chpres,FONC_MULT=PRES_REP['FONC_MULT'])) + else : + mcfex.append(_F(CHARGE=__chpres,)) + if TORS_CORP!=None: + i=0 + for tors in TORS_CORP : + if tors['FONC_MULT']!=None : + mcfex.append(_F(CHARGE=__chtrc[i],FONC_MULT=tors['FONC_MULT'])) + else : + mcfex.append(_F(CHARGE=__chtrc[i],)) + i=i+1 + if TORS_TUBU!=None: + i=0 + for tors in TORS_TUBU : + if tors['FONC_MULT']!=None : + mcfex.append(_F(CHARGE=__chtrt[i],FONC_MULT=tors['FONC_MULT'])) + else : + mcfex.append(_F(CHARGE=__chtrt[i],)) + i=i+1 + motscles['EXCIT'] =mcfex +# + mcfci=[] # mot clé facteur COMP_INCR :obligatoire pour les noeuds discrets + if COMP_INCR!=None : + mcfci.append(_F(TOUT ='OUI' ,RELATION=COMP_INCR['RELATION'])) + mcfci.append( _F(GROUP_MA=NOMNOE,RELATION='ELAS')) + motscles['COMP_INCR'] =mcfci +# + if COMP_ELAS!=None : + motscles['COMP_ELAS'] =_F(GROUP_MA=GRMAIL[:-2] ,RELATION=COMP_ELAS['RELATION']) +# + dSolveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + for i in dSolveur.keys(): + if dSolveur[i]==None : del dSolveur[i] +# + dConverg=CONVERGENCE[0].cree_dict_valeurs(CONVERGENCE[0].mc_liste) + for i in dConverg.keys(): + if dConverg[i]==None : del dConverg[i] +# + dNewton=NEWTON[0].cree_dict_valeurs(NEWTON[0].mc_liste) + for i in dNewton.keys(): + if dNewton[i]==None : del dNewton[i] +# + dRechlin=RECH_LINEAIRE[0].cree_dict_valeurs(RECH_LINEAIRE[0].mc_liste) + for i in dRechlin.keys(): + if dRechlin[i]==None : del dRechlin[i] +# + dIncrem=INCREMENT[0].cree_dict_valeurs(INCREMENT[0].mc_liste) + for i in dIncrem.keys(): + if dIncrem[i]==None : del dIncrem[i] +# + if TITRE!=None : + motscles['TITRE' ] =TITRE + motscles ['SOLVEUR' ] =dSolveur + motscles ['CONVERGENCE' ] =dConverg + motscles ['NEWTON' ] =dNewton + motscles ['RECH_LINEAIRE'] =dRechlin + motscles ['INCREMENT' ] =dIncrem + self.DeclareOut('nomres',self.sd) + nomres = STAT_NON_LINE( MODELE = modele , + CHAM_MATER = affmat , + CARA_ELEM = carael , + INFO = INFO , **motscles) +# + nomres = CALC_ELEM( reuse = nomres, + RESULTAT = nomres , + TOUT_ORDRE = 'OUI' , + OPTION = ('SIEF_ELNO_ELGA','VARI_ELNO_ELGA','EQUI_ELNO_SIGM') , + INFO = INFO ,) +# +#----------------------------------------------------------------------- + if TYPE_MAILLAGE[:4]=='SAIN' : +#----------------------------------------------------------------------- +# +# --- post traitement : POST_RELEVE_T --- azimuts droits +# +# ---- champs de contrainte SI, SII ET SIII ---- +# + if TYPE_MAILLAGE=='SAIN_GROS' : NBAZIM = 40 + else : NBAZIM = 48 + mcfact=[] + TYPSOU=None + if TUBULURE!=None : TYPSOU = TUBULURE['TYPE'] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + if TYPSOU=='TYPE_1': + mcsimp['REPERE' ]='CYLINDRIQUE', + mcsimp['ORIGINE']=( 0.0 , 0.0 , 0.0 ) + mcsimp['AXE_Z' ]=( 0.0 , 0.0 , 1.0 ) + INTITD = 'AZI_'+NUME+'_D-REP_CYL' + else: + mcsimp['REPERE' ]='LOCAL' + mcsimp['VECT_Y' ]=( 0.0 , 0.0 , 1.0 ) + INTITD = 'AZI_'+NUME+'_D-REP_LOC' + mcsimp['INTITULE' ]=INTITD + mcsimp['GROUP_NO' ]='LD'+str(i) + mcfact.append( _F( RESULTAT = nomres, + TOUT_ORDRE ='OUI', + NOM_CHAM ='SIEF_ELNO_ELGA', + PRECISION =55.E-1, + TOUT_CMP ='OUI', + OPERATION ='EXTRACTION',**mcsimp)) + __noposd=POST_RELEVE_T(ACTION = mcfact, + TITRE = '-- TRAITEMENT DES AZIMUTS DROITS --') +# +# --- IMPR_TABLE dans un repere cylindrique ou local +# des champs de contrainte SI, SII ET SIII +# + if TYPSOU=='TYPE_1' : nompara=IMPRT1 + else : nompara=IMPRT2 + IMPR_TABLE(TABLE = __noposd, + NOM_PARA = nompara ) +# +# ---- Pm, Pm+Pb sur les lignes de depouillement ---- +# + if mc_AFFE_MATERIAU[0]['RCCM']=='OUI': + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['PRECISION']=55.E-1 + mcsimp['GROUP_NO' ]='LD'+str(i) + mcfact.append( _F(**mcsimp) ) + __pmpbsd=POST_RCCM(MATER = MRCCM, + MAILLAGE = MAILLAGE, + TYPE_RESU_MECA = 'EVOLUTION', + TYPE_RESU = 'VALE_MAX', + OPTION = 'PM_PB', + SEGMENT = mcfact, + TRANSITOIRE = _F(RESULTAT =nomres, + NOM_CHAM ='SIEF_ELNO_ELGA', + TOUT_ORDRE='OUI',), + TITRE = '-- TRAITEMENT DES AZIMUTS DROITS --',) + IMPR_TABLE(TABLE = __pmpbsd, ) +# +# ---- champ de temperature, si il a ete calcule, sur les lignes de depouillement ---- +# + if ECHANGE!=None : + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['GROUP_NO' ]='LD'+str(i) + mcsimp['RESULTAT' ]=resuth + mcsimp['TOUT_ORDRE' ]='OUI' + mcsimp['NOM_CHAM' ]='TEMP' + mcsimp['PRECISION' ]=55.E-1 + mcsimp['TOUT_CMP' ]='OUI' + mcsimp['INTITULE' ]='AZI_'+NUME+'_D' + mcsimp['OPERATION' ]='EXTRACTION' + mcfact.append( _F(**mcsimp) ) + __rthazd=POST_RELEVE_T(ACTION=mcfact) + IMPR_TABLE(TABLE = __rthazd, ) +# +# ---- parametres caracterisant la distribution de temperature, +# si elle a ete calculee, dans l epaisseur du ligament ---- +# + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['GROUP_NO' ]='LD'+str(i) + mcsimp['RESULTAT' ]=resuth + mcsimp['TOUT_ORDRE' ]='OUI' + mcsimp['NOM_CHAM' ]='TEMP' + mcsimp['PRECISION' ]=55.E-1 + mcsimp['TOUT_CMP' ]='OUI' + mcsimp['INTITULE' ]='AZI_'+NUME+'_D' + mcsimp['OPERATION' ]='MOYENNE' + mcfact.append( _F(**mcsimp) ) + __rmothd=POST_RELEVE_T(ACTION=mcfact) + IMPR_TABLE(TABLE = __rmothd, ) +# +#----------------------------------------------------------------------- +# +# --- post traitement : POST_RELEVE_T --- azimuts inclines +# --- champs de contrainte SI, SII ET SIII ---- +# + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['GROUP_NO' ]='LI'+str(i) + mcsimp['RESULTAT' ]=nomres + mcsimp['TOUT_ORDRE' ]='OUI' + mcsimp['NOM_CHAM' ]='SIEF_ELNO_ELGA' + mcsimp['PRECISION' ]=55.E-1 + mcsimp['TOUT_CMP' ]='OUI' + mcsimp['REPERE' ]='LOCAL' + mcsimp['VECT_Y' ]=( 0.0 , 0.0 , 1.0 ) + mcsimp['INTITULE' ]='AZI_'+NUME+'_I-REP_LOC' + mcsimp['OPERATION' ]='EXTRACTION' + mcfact.append( _F(**mcsimp) ) + __noposi=POST_RELEVE_T(ACTION=mcfact) + IMPR_TABLE(TABLE = __noposi, ) +# +# ---- Pm, Pm+Pb sur les lignes de depouillement ---- +# + if mc_AFFE_MATERIAU[0]['RCCM']=='OUI': + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['PRECISION']=55.E-1 + mcsimp['GROUP_NO' ]='LI'+str(i) + mcfact.append( _F(**mcsimp) ) + __pmpbsi=POST_RCCM(MATER = MRCCM, + MAILLAGE = MAILLAGE, + TYPE_RESU_MECA = 'EVOLUTION', + TYPE_RESU = 'VALE_MAX', + OPTION = 'PM_PB', + SEGMENT = mcfact, + TRANSITOIRE = _F(RESULTAT =nomres, + NOM_CHAM ='SIEF_ELNO_ELGA', + TOUT_ORDRE='OUI',), + TITRE = '-- TRAITEMENT DES AZIMUTS INCLINES --',) + IMPR_TABLE(TABLE = __pmpbsi, ) +# +# ---- champs de temperature,si il a ete calcule, sur les lignes de depouillement ---- +# + if ECHANGE!=None : + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['GROUP_NO' ]='LI'+str(i) + mcsimp['RESULTAT' ]=resuth + mcsimp['TOUT_ORDRE' ]='OUI' + mcsimp['NOM_CHAM' ]='TEMP' + mcsimp['PRECISION' ]=55.E-1 + mcsimp['TOUT_CMP' ]='OUI' + mcsimp['INTITULE' ]='AZI_'+NUME+'_I' + mcsimp['OPERATION' ]='EXTRACTION' + mcfact.append( _F(**mcsimp) ) + __rthazi=POST_RELEVE_T(ACTION=mcfact) + IMPR_TABLE(TABLE = __rthazi, + NOM_PARA = IMPRT3 ) +# +# ---- parametres caracterisant la distribution de temperature, +# si elle a ete calculee, dans l epaisseur du ligament ---- +# + mcfact=[] + for i in range(1,NBAZIM+1,PAS_AZIMUT): + if i<10 : NUME = '0'+str(i) + else : NUME = str(i) + mcsimp={} + mcsimp['GROUP_NO' ]='LI'+str(i) + mcsimp['RESULTAT' ]=resuth + mcsimp['TOUT_ORDRE' ]='OUI' + mcsimp['NOM_CHAM' ]='TEMP' + mcsimp['PRECISION' ]=55.E-1 + mcsimp['TOUT_CMP' ]='OUI' + mcsimp['INTITULE' ]='AZI_'+NUME+'_I' + mcsimp['OPERATION' ]='MOYENNE' + mcfact.append( _F(**mcsimp) ) + __rmothi=POST_RELEVE_T(ACTION=mcfact) + IMPR_TABLE(TABLE = __rmothi, ) +# +#----------------------------------------------------------------------- + elif TYPE_MAILLAGE[:4]=='FISS' : +#----------------------------------------------------------------------- +# + NOMGRO=[] + NOMGRE=[] + TABMA8=[] + NOMMA =[] + if TYPE_MAILLAGE in ('FISS_COUR_DEB','FISS_LONG_DEB','FISS_AXIS_DEB','FISS_COUR_NONDEB') : + NBFIS = 1 + NOMGRO.append(('P_FON1' ,'P_FIS1' ),) + NOMGRE.append(('P_FON2' ,'P_FIS2' ),) + TABMA8.append('FONDFISS') + if TYPE_MAILLAGE in ('FISS_COUR_DEB','FISS_LONG_DEB') : FERME=0 + else : + FERME=1 + NOMMA.append('MAIL_ORI') + elif TYPE_MAILLAGE in ('FISS_LONG_NONDEB','FISS_AXIS_NONDEB') : + NBFIS = 2 + NOMGRO.append(('P_FON1' ,'P_FIS1' ),) + NOMGRE.append(('P_FON2' ,'P_FIS2' ),) + NOMGRO.append(('PI_FON1','PI_FIS1'),) + NOMGRE.append(('PI_FON2','PI_FIS2'),) + TABMA8.append('FOND_SUP') + TABMA8.append('FOND_INF') + if TYPE_MAILLAGE=='FISS_LONG_NONDEB' : FERME=0 + else : + FERME=1 + NOMMA.append('MA_ORI_S') + NOMMA.append('MA_ORI_I') +# + if ECHANGE!=None: +# +# ---- champs de temperature en fond de fissure +# si il a ete calcule, cas 1 fond de fissure ---- +# + if NBFIS==1: + __rthfis=POST_RELEVE_T(ACTION=_F(GROUP_NO ='FONDFISS', + RESULTAT =resuth, + TOUT_ORDRE ='OUI', + NOM_CHAM ='TEMP', + PRECISION =55.E-1, + TOUT_CMP ='OUI', + INTITULE ='FONDFISS', + OPERATION ='EXTRACTION',)) + IMPR_TABLE(TABLE = __rthfis, ) +# +# ---- champs de temperature en fond de fissure +# si il a ete calcule, cas 2 fonds de fissure ---- +# + elif NBFIS==2: +# + __rthfis1=POST_RELEVE_T(ACTION=_F(GROUP_NO ='FOND_SUP', + RESULTAT =resuth, + TOUT_ORDRE ='OUI', + NOM_CHAM ='TEMP', + PRECISION =55.E-1, + TOUT_CMP ='OUI', + INTITULE ='FOND_SUP', + OPERATION ='EXTRACTION',)) + IMPR_TABLE(TABLE = __rthfis1, ) + __rthfis2=POST_RELEVE_T(ACTION=_F(GROUP_NO ='FOND_INF', + RESULTAT =resuth, + TOUT_ORDRE ='OUI', + NOM_CHAM ='TEMP', + PRECISION =55.E-1, + TOUT_CMP ='OUI', + INTITULE ='FOND_INF', + OPERATION ='EXTRACTION',)) + IMPR_TABLE(TABLE = __rthfis2, ) +# +# boucle sur le nombre de fond de fissure +# + fond3d = [None]*2 + for j in range(NBFIS): + if FOND_FISS_1!=None : self.DeclareOut('fond3d_0',FOND_FISS_1) + if FOND_FISS_2!=None : self.DeclareOut('fond3d_1',FOND_FISS_2) +# +# --- commande DEFI_FOND_FISS --- +# + motscles={} + if not FERME: + motscles['FOND_FISS']=_F(GROUP_MA =TABMA8[j], + GROUP_NO_ORIG=NOMGRO[j][0], + GROUP_NO_EXTR=NOMGRE[j][0],) + motscles['VECT_GRNO_ORIG']=NOMGRO[j] + motscles['VECT_GRNO_EXTR']=NOMGRE[j] + else: + if TYPE_MAILLAGE.find('AXIS')!=-1 : grnoorig=NOMGRE[j][0] +# si AXIS, P_FON1 est remplace par P_FON2 pour +# fermer le fond de fissure + else : grnoorig=NOMGRO[j][0] + motscles['FOND_FERME']=_F(GROUP_MA =TABMA8[j], + GROUP_NO_ORIG=grnoorig, + GROUP_MA_ORIG=NOMMA[j],) + fond3d[j]=DEFI_FOND_FISS( MAILLAGE = MAILLAGE, + LEVRE_SUP = _F(GROUP_MA='LEVRCORP',), + LEVRE_INF = _F(GROUP_MA='LEVRTUBU',),**motscles) + if THETA_3D!=None: + for tht3d in THETA_3D : +# +# --- commande CALC_THETA --- +# + __theta = CALC_THETA( MODELE = modele, + FOND_FISS = fond3d[j], + THETA_3D = _F( TOUT = 'OUI', + MODULE = 1.0 , + R_INF = tht3d['R_INF'], + R_SUP = tht3d['R_SUP'], ) ) +# +# --- commande CALC_G_THETA_T --- +# + montit = 'G_THETA AVEC R_INF = '+str(tht3d['R_INF'])+' ET R_SUP = '+str(tht3d['R_SUP']) + motscles={} + if COMP_ELAS!=None: motscles['COMP_ELAS']= _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],) + if COMP_INCR!=None: motscles['COMP_INCR']= _F(RELATION = COMP_INCR['RELATION'],) + print motscles + __gtheta = CALC_G_THETA_T( MODELE = modele, + CHAM_MATER = affmat, + THETA = __theta, + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + TITRE = montit,**motscles) + IMPR_TABLE(TABLE = __gtheta, ) +# +# recherche du g max +# + if OPTION=='CALC_G_MAX' : + if BORNES!=None: + mcfact=[] + for born in BORNES : + mcfact.append(_F( NUME_ORDRE = born['NUME_ORDRE'] , + VALE_MIN = born['VALE_MIN' ] , + VALE_MAX = born['VALE_MAX' ] ) ) + __gbil = CALC_G_THETA_T( MODELE = modele, + CHAM_MATER = affmat, + THETA = __theta, + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + COMP_ELAS = _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],), + TITRE = montit, + OPTION = OPTION, + BORNES = mcfact,) + IMPR_TABLE(TABLE = __gbil, ) +# +# --- commande CALC_G_LOCAL_T --- +# + montit = 'G_LOCAL AVEC R_INF = '+str(tht3d['R_INF'])+' ET R_SUP = '+str(tht3d['R_SUP']) + motscles={} + if COMP_ELAS!=None: motscles['COMP_ELAS' ]= _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],) + if FERME: + motscles['LISSAGE_THETA']= 'LAGRANGE' + motscles['LISSAGE_G' ]= 'LAGRANGE' + __glocal = CALC_G_LOCAL_T( MODELE = modele, + CHAM_MATER = affmat, + FOND_FISS = fond3d[j], + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + R_INF = tht3d['R_INF'], + R_SUP = tht3d['R_SUP'], + TITRE = montit,**motscles) +# +# recherche du g max local +# + if OPTION=='CALC_G_MAX_LOCAL' : + if BORNES!=None: + motscles={} + mcfact=[] + if FERME: + motscles['LISSAGE_THETA']= 'LAGRANGE' + motscles['LISSAGE_G' ]= 'LAGRANGE' + for born in BORNES : + mcfact.append(_F( NUME_ORDRE = born['NUME_ORDRE'] , + VALE_MIN = born['VALE_MIN' ] , + VALE_MAX = born['VALE_MAX' ] ) ) + motscles['BORNES']=mcfact + __glbil = CALC_G_LOCAL_T( MODELE = modele, + CHAM_MATER = affmat, + FOND_FISS = fond3d[j], + RESULTAT = nomres, + TOUT_ORDRE = 'OUI', + COMP_ELAS = _F(TOUT = 'OUI', + RELATION = COMP_ELAS['RELATION'],), + TITRE = montit, + OPTION = 'CALC_G_MAX', + R_INF = tht3d['R_INF'], + R_SUP = tht3d['R_SUP'],**motscles) + IMPR_TABLE(TABLE = __glbil, ) +# +# --- commande IMPR_RESU --- +# + if IMPRESSION!=None: + mcfresu =[] + motscles={} + motsclei={} + if IMPRESSION['FORMAT'] in ('IDEAS','CASTEM') : + ncham =[] + if IMPRESSION['NOM_CHAM']!=None : + if type(IMPRESSION['NOM_CHAM']) in (types.TupleType,types.ListType) : ncham= IMPRESSION['NOM_CHAM'] + else : ncham=[IMPRESSION['NOM_CHAM'],] + if len(ncham)==3 : motscles['NOM_CHAM' ]=('DEPL','EQUI_ELNO_SIGM') + elif (len(ncham)==1) and (ncham[0][:4]!='TEMP') : + motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + elif (len(ncham)==2) and (ncham[0][:4]!='TEMP') and (ncham[1][:4]!='TEMP') : + motscles['NOM_CHAM' ]=(ncham[0]['NOM_CHAM'],ncham[1]['NOM_CHAM']) + elif (len(ncham)==2) and (ncham[0][:4]=='TEMP') : + motscles['NOM_CHAM' ]= ncham[1]['NOM_CHAM'] + elif (len(ncham)==2) and (ncham[1][:4]=='TEMP') : + motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + if IMPRESSION['TOUT_ORDRE']!=None : + motscles['TOUT_ORDRE']= IMPRESSION['TOUT_ORDRE'] + elif IMPRESSION['NUME_ORDRE']!=None : + motscles['NUME_ORDRE']= IMPRESSION['NUME_ORDRE'] + elif IMPRESSION['INST']!=None : + motscles['INST' ]= IMPRESSION['INST'] + if IMPRESSION['FORMAT']=='IDEAS' : + motsclei['VERSION' ]= IMPRESSION['VERSION'] + if IMPRESSION['FORMAT']=='CASTEM' : + motsclei['NIVE_GIBI' ]= IMPRESSION['NIVE_GIBI'] + mcfresu.append(_F(MAILLAGE=MAILLAGE,RESULTAT=nomres,**motscles)) + if ECHANGE!=None: + motscles={} + if IMPRESSION['FORMAT'] in ('IDEAS','CASTEM') : + if len(ncham)==3 : motscles['NOM_CHAM' ]=('TEMP',) + elif (len(ncham)==1) and (ncham[0][:4]=='TEMP') : + motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + elif (len(ncham)==2) and (ncham[0][:4]=='TEMP') : + motscles['NOM_CHAM' ]= ncham[0]['NOM_CHAM'] + elif (len(ncham)==2) and (ncham[1][:4]=='TEMP') : + motscles['NOM_CHAM' ]= ncham[1]['NOM_CHAM'] + if IMPRESSION['TOUT_ORDRE']!=None : + motscles['TOUT_ORDRE']= IMPRESSION['TOUT_ORDRE'] + elif IMPRESSION['NUME_ORDRE']!=None : + motscles['NUME_ORDRE']= IMPRESSION['NUME_ORDRE'] + elif IMPRESSION['INST']!=None : + motscles['INST' ]= IMPRESSION['INST'] + if IMPRESSION['FORMAT']=='IDEAS' : + motsclei['VERSION' ]= IMPRESSION['VERSION'] + if IMPRESSION['FORMAT']=='CASTEM' : + motsclei['NIVE_GIBI' ]= IMPRESSION['NIVE_GIBI'] + mcfresu.append(_F(RESULTAT=nomres,**motscles)) + IMPR_RESU( MODELE = modele, + RESU = mcfresu, + FORMAT=IMPRESSION['FORMAT'],**motsclei) +# + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macr_aspic_mail_ops.py b/Aster/Cata/cataSTA74/Macro/macr_aspic_mail_ops.py new file mode 100644 index 00000000..296cab1d --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_aspic_mail_ops.py @@ -0,0 +1,845 @@ +#@ MODIF macr_aspic_mail_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 math import sqrt,cos,sin,pi,pow,tan + +# Ecriture du fichier GIBI principal (dgib) - ASPID0 +def write_file_dgib_ASPID0(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, H, + ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, THETA, TYPELE, + ITYPSO, DPENE, NIVMAG, loc_datg) : + +# Ouverture du fichier d'entrée de commandes + fdgib=open(nomFichierDATG,'w') + POIVIR = ' ; \n' + texte='****************************************************************\n' + texte=texte+'opti echo 0 ; \n' + texte=texte+'epT1 = '+str(EPT1) +POIVIR + texte=texte+'DeT1 = '+str(DET1) +POIVIR + texte=texte+'d1 = '+str(D1) +POIVIR + texte=texte+'d2 = '+str(D2) +POIVIR + texte=texte+'epT2 = '+str(EPT2) +POIVIR + texte=texte+'DeT2 = '+str(DET2) +POIVIR + texte=texte+'Zmax = '+str(ZMAX) +POIVIR + texte=texte+'type_s = '+str(ITYPSO) +POIVIR + texte=texte+'d_pene = '+str(DPENE) +POIVIR + texte=texte+'h = '+str(H) +POIVIR + texte=texte+'angl_s = '+str(ALPHA) +POIVIR + texte=texte+'jeu = '+str(JEU) +POIVIR + texte=texte+'epC = '+str(EPC) +POIVIR + texte=texte+'DeC = '+str(DEC) +POIVIR + texte=texte+'Xmax = '+str(XMAX) +POIVIR + texte=texte+'typmai = MOT '+TYPMAI +POIVIR + texte=texte+'theta = '+str(THETA) +POIVIR + texte=texte+'typele = MOT '+TYPELE +POIVIR + texte=texte+'typ_eque = MOT '+'SAINE' +POIVIR + texte=texte+'nivmag = '+str(NIVMAG) +POIVIR + texte=texte+'* \n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'aspic.datg'+"';\n" + print texte + fdgib.write(texte) + fdgib.close() + +# Ecriture du fichier GIBI principal (dgib) - ASPID1 +def write_file_dgib_ASPID1(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, H, + ALPHA, JEU, EPC, DEC, XMAX, TYPMAI,THETA, + A,C,EPS, RC0, NS,NC,NT,POSI, NDT,FETIRF,FETIRP, + TFISS,ZETA,ITYPSO,DPENE, NIVMAG, loc_datg) : + +# Ouverture du fichier d'entrée de commandes + fdgib=open(nomFichierDATG,'w') + POIVIR = ' ; \n' + texte='****************************************************************\n' + texte=texte+'opti echo 0 ; \n' + texte=texte+'epT1 = '+str(EPT1) +POIVIR + texte=texte+'DeT1 = '+str(DET1) +POIVIR + texte=texte+'d1 = '+str(D1) +POIVIR + texte=texte+'d2 = '+str(D2) +POIVIR + texte=texte+'epT2 = '+str(EPT2) +POIVIR + texte=texte+'DeT2 = '+str(DET2) +POIVIR + texte=texte+'Zmax = '+str(ZMAX) +POIVIR + texte=texte+'type_s = '+str(ITYPSO) +POIVIR + texte=texte+'d_pene = '+str(DPENE) +POIVIR + texte=texte+'h = '+str(H) +POIVIR + texte=texte+'angl_s = '+str(ALPHA) +POIVIR + texte=texte+'jeu = '+str(JEU) +POIVIR + texte=texte+'epC = '+str(EPC) +POIVIR + texte=texte+'DeC = '+str(DEC) +POIVIR + texte=texte+'Xmax = '+str(XMAX) +POIVIR + texte=texte+'typmai = MOT '+TYPMAI +POIVIR + texte=texte+'theta = '+str(THETA) +POIVIR + texte=texte+'a = '+str(A) +POIVIR + texte=texte+'c = '+str(C) +POIVIR + texte=texte+'zeta = '+str(ZETA) +POIVIR + texte=texte+'eps = '+str(EPS) +POIVIR + texte=texte+'rc0 = '+str(RC0) +POIVIR + texte=texte+'ns = '+str(NS) +POIVIR + texte=texte+'nc = '+str(NC) +POIVIR + texte=texte+'nt = '+str(NT) +POIVIR + texte=texte+'dir_fiss = MOT '+POSI +POIVIR + texte=texte+'pos_fiss = MOT '+TFISS +POIVIR + texte=texte+'ndt = '+str(NDT) +POIVIR + texte=texte+'f_etir_f = '+str(FETIRF) +POIVIR + texte=texte+'f_etir_p = '+str(FETIRP) +POIVIR + texte=texte+'typ_eque = MOT '+'FISS_LON' +POIVIR + texte=texte+'nivmag = '+str(NIVMAG) +POIVIR + texte=texte+'* \n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'aspic_v2.datg'+"';\n" + print texte + fdgib.write(texte) + fdgib.close() + +# Ecriture du fichier GIBI principal (dgib) - ASPID2 +def write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, + H, ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, + THETA, A, C, EPS, RC0, RC1, RC2, RC3, + ALP,BETA, NS, NC, NT, POSI ,NDT,NSDT,TFISS, + ZETA,ITYPSO,DPENE, NIVMAG, loc_datg) : +# + CALPHA = cos(ALPHA*pi/180.) + SALPHA = sin(ALPHA*pi/180.) + CTHETA = cos(THETA*pi/180.) + STHETA = sin(THETA*pi/180.) +# + AOLD = A +# + if (ITYPSO == 1) : +# PIQUAGE TYPE 1 + if (POSI == 'DROIT') : +# PIQUAGE DROIT + if (TFISS == 'DEB_INT') : +# POSITION INTERNE + SGAMMA = STHETA * (DET1/2.0)/( (DEC/2.0) -EPC) + SGAMME = STHETA * (DET1/2.0)/( (DEC/2.0) ) + RAPPA = sqrt(1.0 - pow(SGAMMA,2)) + RAPPE = sqrt(1.0 - pow(SGAMME,2)) + AP = A - (1.0 - RAPPA)*A + RAPP = (AP/EPC*RAPPE) + (1.0-(AP/EPC))*RAPPA + XA = (DET1/2.0) * CTHETA + YA = (DET1/2.0) * STHETA + ZA = ((DEC/2.0) -EPC) * sqrt(1.0 - pow(SGAMMA,2)) + ZA0 = (DEC/2.0) - EPC + XA0 = DET1/2.0 + XN0 = XA0 + YN0 = 0.0 + ZN0 = ZA0 + A + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - (SGAMN*SGAMN)) + D0N0 = sqrt( pow((XA0 - XN0),2) + pow((ZA0 - ZN0),2) ) + DN = sqrt( pow((XA - XN),2) + pow((YA - YN),2) + pow((ZA - ZN),2) ) + RAPP = D0N0 / DN + ECART = (1.0 - RAPP) * D0N0 + A = A - ECART + elif (TFISS == 'DEB_EXT') : +# POSITION EXTERNE + SGAMME = STHETA * (DET1/2.0)/ (DEC/2.0) + RAPPE = sqrt(1.0 - pow(SGAMME,2)) + A = A -(1.0 - RAPPE)*A + + elif (POSI == 'INCLINE') : +# PIQUAGE INCLINE + SGAMMA = STHETA * (DET1/2.0)/ ( (DEC/2.0) -EPC) + XA = (DET1/2.0) * CTHETA + YA = (DET1/2.0) * STHETA + ZA = ((DEC/2.0) - EPC) * sqrt(1.0 - pow(SGAMMA,2)) + ZA0 = (DEC/2.0) - EPC + ZD0 = DEC/2.0 + XA0 = DET1/2.0 + XD0 = XA0 + (tan(ALPHA*pi/180.0) * EPC) + A0D0 = sqrt( pow((ZD0 - ZA0),2) + pow((XD0 - XA0),2) ) + EPSIL = STHETA * tan(ALPHA*pi/180.0) + PHI = (EPSIL * ZA) - YA + DELTA = pow(PHI,2) - ((1 + pow(EPSIL,2))*(pow(PHI,2) - (pow((DEC/2.0),2)*pow(EPSIL,2)))) + if (THETA > 0) : + YD = ( sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) + else : + YD = ( -1.0*sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) + + ZD = sqrt(pow((DEC/2.0),2) - pow(YD,2)) + + if ( (abs(THETA - 0.0) < 1.e-3) or ((abs(THETA - 180.0)) < 1.e-3) ) : + XD = CTHETA * XD0 + else : + XD = YD / tan(THETA*pi/180.0) + + AD = sqrt( pow((XA - XD),2) + pow((YA - YD),2) + pow((ZA - ZD),2) ) + RAPP = A0D0 / AD + + if (TFISS == 'DEB_EXT') : + XN0 = XD0 - A*SALPHA + YN0 = 0.0 + ZN0 = ZD0 - A*CALPHA + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) + D0N0 = sqrt( pow((XD0 - XN0),2) + pow((ZD0 - ZN0),2) ) + DN = sqrt( pow((XD - XN),2) + pow((YD - YN),2) + pow((ZD - ZN),2) ) + RAPP = D0N0 / DN + ECART = (RAPP - 1.0) * D0N0 + A = A + ECART + + if (TFISS == 'DEB_INT') : + XN0 = XA0 + A*SALPHA + YN0 = 0.0 + ZN0 = ZA0 + A*CALPHA + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) + D0N0 = sqrt( pow((XA0 - XN0),2) + pow((ZA0 - ZN0),2) ) + DN = sqrt( pow((XA - XN),2) + pow((YA - YN),2) + pow((ZA - ZN),2) ) + RAPP = D0N0 / DN + ECART = (RAPP - 1.0) * D0N0 + A = A + ECART + + elif (ITYPSO == 2) : +# PIQUAGE TYPE 2 + if (POSI == 'DROIT') : +# PIQUAGE DROIT + SGAMMI = STHETA * ((DET1/2.0) - EPT1)/(DEC/2.0) + XI = ((DET1/2.0) - EPT1) * CTHETA + YI = ((DET1/2.0) - EPT1) * STHETA + ZI = (DEC/2.0) * sqrt(1.0 - pow(SGAMMI,2)) + XI0 = (DET1/2.0) -EPT1 + YI0 = 0.0 + ZI0 = (DEC/2.0) + + SGAMMA = STHETA * (DET1/2.0)/((DEC/2.0) -EPC) + YA = (DET1/2.0) * STHETA + ZA = ((DEC/2.0) - EPC) * sqrt(1.0 - pow(SGAMMA,2)) + TGALP = H / EPC + EPSIL = STHETA * TGALP + PHI = (EPSIL * ZA) - YA + DELTA = pow(PHI,2) - (1.0 + pow(EPSIL,2))*(pow(PHI,2) - pow((DEC/2.0),2)*pow(EPSIL,2)) + if (THETA > 0) : + YD = (sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) + else : + YD = (-1.0*sqrt(DELTA) - PHI) / (1.0 + pow(EPSIL,2)) + + ZD = sqrt( pow((DEC/2.0),2) - pow(YD,2) ) + if ( (abs(THETA - 0.0) < 1.0e-3) or + (abs(THETA - 180.0) < 1.0e-3) or + (abs(THETA + 180.0) < 1.0e-3) or + (abs(THETA + 90.0) < 1.0e-3) or + (abs(THETA - 90.0) < 1.0e-3) ) : + XD = CTHETA * ((DET1/2.0) + H) + else : + XD = YD / (tan(THETA*pi/180.0)) + + XD0 = (DET1/2.0) + H + YD0 = 0.0 + ZD0 = (DEC/2.0) + + if (TFISS == 'DEB_EXT') : + XN0 = XD0 - A + YN0 = 0.0 + ZN0 = ZI0 + XN = XN0 * CTHETA + YN = XN0 * STHETA + DZID = abs(ZI - ZD) + DXYID = sqrt( pow((XD - XI),2) + pow((YD - YI),2) ) + DXYIN = sqrt( pow((XN - XI),2) + pow((YN - YI),2) ) + DZIN = (DXYIN * DZID) / DXYID + ZN = ZI - DZIN + D0N0 = sqrt( pow((XD0 - XN0),2) + pow((ZD0 - ZN0),2) ) + DN = sqrt( pow((XD - XN),2) + pow((YD - YN),2) + pow((ZD - ZN),2) ) + RAPP = D0N0 / DN + ECART = DN - D0N0 + A = A - ECART + + if (TFISS == 'DEB_INT') : + XN0 = XI0 + A + YN0 = 0.0 + ZN0 = ZI0 + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) + I0N0 = sqrt( pow((XI0 - XN0),2) + pow((ZI0 - ZN0),2) ) + IN = sqrt( pow((XI - XN),2) + pow((YI - YN),2) + pow((ZI - ZN),2) ) + RAPP = I0N0 / IN + ECART = I0N0 * ( 1.0 - RAPP ) + A = A - ECART + + elif (POSI == 'INCLINE') : +# PIQUAGE INCLINE + TGALPHA = SALPHA/CALPHA + REPB = (DEC/2.0) + JEU + (EPT1*TGALPHA) + SGAMB = (STHETA * DET1/2.0 ) / REPB + CGAMB = sqrt(1.0 - pow(SGAMB,2)) + XB = (DET1/2.0) * CTHETA + YB = (DET1/2.0) * STHETA + ZB = ( (DEC/2.0) + JEU + (EPT1*TGALPHA) ) * CGAMB + XB0 = (DET1/2.0) + YB0 = 0.0 + ZB0 = (DEC/2.0) + JEU + (EPT1*TGALPHA) +# + RIT1 = (DET1/2.0) - EPT1 + REPG = (DEC/2.0) + JEU + SGAMG = ((STHETA ) * RIT1) / REPG + CGAMG = sqrt(1.0 - pow(SGAMG,2)) + XG = RIT1 * CTHETA + YG = RIT1 * STHETA + ZG = ((DEC/2.0) + JEU) * CGAMG + XG0 = RIT1 + YG0 = 0.0 + ZG0 = (DEC/2.0) + JEU +# + if (TFISS == 'DEB_INT') : + XN0 = XG0 + A*CALPHA + YN0 = 0.0 + ZN0 = ZG0 + A*SALPHA + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) + G0N0 = sqrt( pow((XG0 - XN0),2) + pow((ZG0 - ZN0),2) ) + GN = sqrt( pow((XG - XN),2) + pow((YG - YN),2) + pow((ZG - ZN),2) ) + RAPP = G0N0 / GN + ECART = (RAPP - 1.0) * G0N0 + A = A + ECART + + if (TFISS == 'DEB_EXT') : + XN0 = XB0 - A*CALPHA + YN0 = 0.0 + ZN0 = ZB0 - A*SALPHA + XN = XN0 * CTHETA + YN = XN0 * STHETA + SGAMN = YN / ZN0 + ZN = ZN0 * sqrt(1.0 - pow(SGAMN,2)) + B0N0 = sqrt( pow((XB0 - XN0),2) + pow((ZB0 - ZN0),2) ) + BN = sqrt( pow((XB - XN),2) + pow((YB - YN),2) + pow((ZB - ZN),2) ) + RAPP = B0N0 / BN + ECART = (RAPP - 1.0) * B0N0 + A = A + ECART + + print ' CORRECTION PROFONDEUR DEFAUT' + print ' PROFONDEUR SUR PIQUAGE : ', AOLD + print ' PROFONDEUR SUR EQUERRE : ', A + +# Ouverture du fichier d'entrée de commandes + + fdgib=open(nomFichierDATG,'w') + POIVIR = ' ; \n' + texte='****************************************************************\n' + texte=texte+'opti echo 0 ; \n' + texte=texte+'epT1 = '+str(EPT1) +POIVIR + texte=texte+'DeT1 = '+str(DET1) +POIVIR + texte=texte+'d1 = '+str(D1) +POIVIR + texte=texte+'d2 = '+str(D2) +POIVIR + texte=texte+'epT2 = '+str(EPT2) +POIVIR + texte=texte+'DeT2 = '+str(DET2) +POIVIR + texte=texte+'Zmax = '+str(ZMAX) +POIVIR + texte=texte+'type_s = '+str(ITYPSO) +POIVIR + texte=texte+'d_pene = '+str(DPENE) +POIVIR + texte=texte+'h = '+str(H) +POIVIR + texte=texte+'angl_s = '+str(ALPHA) +POIVIR + texte=texte+'jeu = '+str(JEU) +POIVIR + texte=texte+'epC = '+str(EPC) +POIVIR + texte=texte+'DeC = '+str(DEC) +POIVIR + texte=texte+'Xmax = '+str(XMAX) +POIVIR + texte=texte+'typmai = MOT '+TYPMAI +POIVIR + texte=texte+'theta = '+str(THETA) +POIVIR + texte=texte+'a = '+str(A) +POIVIR + texte=texte+'c = '+str(C) +POIVIR + texte=texte+'zeta = '+str(ZETA) +POIVIR + texte=texte+'eps = '+str(EPS) +POIVIR + texte=texte+'rc0 = '+str(RC0) +POIVIR + texte=texte+'rc1 = '+str(RC1) +POIVIR + texte=texte+'rc2 = '+str(RC2) +POIVIR + texte=texte+'rc3 = '+str(RC3) +POIVIR + texte=texte+'alpha = '+str(ALP) +POIVIR + texte=texte+'beta = '+str(BETA) +POIVIR + texte=texte+'ns = '+str(NS) +POIVIR + texte=texte+'nc = '+str(NC) +POIVIR + texte=texte+'nt = '+str(NT) +POIVIR + texte=texte+'dir_fiss = MOT '+POSI +POIVIR + texte=texte+'pos_fiss = MOT '+TFISS +POIVIR + texte=texte+'ndt = '+str(NDT) +POIVIR + texte=texte+'nsdt = '+str(NSDT) +POIVIR + texte=texte+'typ_eque = MOT '+'FISS_COU' +POIVIR + texte=texte+'nivmag = '+str(NIVMAG) +POIVIR + texte=texte+'* \n' + texte=texte+'list epc ;\n' + texte=texte+'opti donn ' + texte=texte+"'"+loc_datg+'aspic.datg'+"';\n" + print texte + fdgib.write(texte) + fdgib.close() + +def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE, + SOUDURE,CORPS,FISS_SOUDURE,IMPRESSION,INFO, + **args): + """ + Ecriture de la macro MACR_ASPIC_MAIL + """ + from Accas import _F + import types + import aster + ier=0 + +# On importe les definitions des commandes a utiliser dans la macro + EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL') + PRE_GIBI =self.get_cmd('PRE_GIBI') + LIRE_MAILLAGE =self.get_cmd('LIRE_MAILLAGE') + DEFI_GROUP =self.get_cmd('DEFI_GROUP') + MODI_MAILLAGE =self.get_cmd('MODI_MAILLAGE') + AFFE_MODELE =self.get_cmd('AFFE_MODELE') + CREA_MAILLAGE =self.get_cmd('CREA_MAILLAGE') + IMPR_RESU =self.get_cmd('IMPR_RESU') + +# La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + TYPELE = TYPE_ELEM + NIVMAG = EXEC_MAILLAGE['NIVE_GIBI'] +# +# --- raffinement maillage --- +# + TYPMAI = RAFF_MAIL + GROS = (TYPMAI=='GROS') + if GROS : NBAZIT = 40 + else : NBAZIT = 48 +# +# --- caracteristiques de la tubulure --- +# + EPT1 = TUBULURE['E_BASE' ] + DET1 = TUBULURE['DEXT_BASE'] + D1 = TUBULURE['L_BASE' ] + D2 = TUBULURE['L_CHANF' ] + EPT2 = TUBULURE['E_TUBU' ] + DET2 = TUBULURE['DEXT_TUBU'] + ZMAX = TUBULURE['Z_MAX' ] + TYPSOU= TUBULURE['TYPE' ] + DPENE = TUBULURE['L_PENETR' ] + if TYPSOU=='TYPE_2' and DPENE>0.0 : + self.cr.fatal(" les piquages penetrants sont autorises uniquement avec les soudures de type 1") + ier = ier+1 + return ier + if TYPSOU=='TYPE_2' : + ITYPSO = 2 + else : + ITYPSO = 1 +# +# --- caracteristiques de la soudure --- +# + H = SOUDURE['H_SOUD' ] + ALPHA = SOUDURE['ANGL_SOUD'] + JEU = SOUDURE['JEU_SOUD' ] +# +# --- caracteristiques du corps --- +# + EPC = CORPS ['E_CORP' ] + DEC = CORPS ['DEXT_CORP'] + XMAX = CORPS ['X_MAX' ] + EPSI = 1.E-03 + RMB = ( DET1 - EPT1 ) / 2.0 + VAL1 = 1.5 * sqrt( RMB**3 / EPT1 ) + VAL3 = 3.0 * sqrt( RMB * EPT1 ) + RMT = ( DET2 - EPT2 ) / 2.0 + VAL2 = 1.5 * sqrt( RMT**3 / EPT2 ) + VAL4 = 3.0 * sqrt( RMT * EPT2 ) + LZMAX = max ( VAL1 , VAL2, VAL3, VAL4 ) + ZMAXC = LZMAX + ( DEC/2.0 ) + D1 + D2 + LOK = ( abs(ZMAX-ZMAXC) <= EPSI * abs(ZMAXC) ) + if not LOK : + print ' erreur donnees' + print ' Z_MAX FOURNIE : ', ZMAX + print ' Z_MAX CALCULEE : ', ZMAXC + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + RMC = ( DEC - EPC ) / 2.0 + VAL1 = 1.5 * sqrt( RMC**3 / EPC ) + VAL2 = 3.0 * sqrt( RMC * EPC ) + LXMAX = max( VAL1 , VAL2 ) + XMAXC = LXMAX + ( DET1 / 2.0 ) + LOK = ( abs(XMAX-XMAXC) <= EPSI * abs(XMAXC) ) + if not LOK : + print ' erreur donnees' + print ' Z_MAX FOURNIE : ', ZMAX + print ' Z_MAX CALCULEE : ', ZMAXC + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + print ' MACR_ASPIC_MAIL / X_MAX CALCULEE : ',XMAX + print ' MACR_ASPIC_MAIL / Z_MAX CALCULEE : ',XMAXC +# +# --- caracteristiques de la fissure --- +# + SAIN = 0 + FISLON = 0 + FISCOU = 0 + THETA = 0.0 + TFISS = None + if FISS_SOUDURE==None : + SAIN = 1 + else : + if FISS_SOUDURE['TYPE']=='LONGUE' : FISLON = 1 + elif FISS_SOUDURE['TYPE']=='COURTE' : FISCOU = 1 + THETA = FISS_SOUDURE['AZIMUT' ] + EPS = FISS_SOUDURE['ANGL_OUVERTURE'] + AXIS = FISS_SOUDURE['AXIS' ] + POSI = FISS_SOUDURE['POSITION' ] + TFISS = FISS_SOUDURE['FISSURE' ] + A = FISS_SOUDURE['PROFONDEUR' ] + if FISS_SOUDURE['LONGUEUR' ]!=None : + C = FISS_SOUDURE['LONGUEUR' ] + N1 = 1 + else : N1 = 0 + if (TFISS=='DEB_INT') and (POSI=='INCLINE') and (DPENE>0.0) and (JEU>0.0) : + print ' erreur donnees' + print ' dans le cas de fissures' + print ' inclinees debouchant en peau interne avec' + print ' piquage penetrant le jeu doit etre nul' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + ZETA = 0.5 + if TFISS not in ('DEB_INT','DEB_EXT') : + if FISS_SOUDURE['LIGA_INT']==None : + print ' erreur donnees' + print ' dans le cas de fissures internes' + print ' (NON_DEB) le ligament inferieur est obligatoire' + self.cr.fatal(" erreur donnees ") + ier = ier+1 + return ier + LIGA = FISS_SOUDURE['LIGA_INT'] + if POSI=='DROIT' : + if ITYPSO==1 : ZETA = (A+LIGA)/(EPC+H) + else : ZETA = (A+LIGA)/(EPT1+H) + else : + if ITYPSO==1 : ZETA = (A+LIGA)*cos(ALPHA*pi/180.0)/EPC + else : ZETA = (A+LIGA)*cos(ALPHA*pi/180.0)/EPT1 + if ZETA < 0.1 : + self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") + ier = ier+1 + return ier + if ZETA > 0.9 : + self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") + ier = ier+1 + return ier + if LIGA < 0.1*EPC : + self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop petit ") + ier = ier+1 + return ier + if (LIGA + 2.0*A) > 0.9*EPC : + self.cr.fatal(" dans le cas de fissures internes (NON_DEB) le ligament est trop grand ") + ier = ier+1 + return ier + if N1==0 : + if FISCOU : + self.cr.fatal(" dans le cas de fissures courte il faut preciser la longueur ") + ier = ier+1 + return ier + if AXIS=='NON' : + self.cr.fatal(" dans le cas de la fissure longue il faut preciser la longueur ou axis=oui ") + ier = ier+1 + return ier + C = 0.0 + else : + if AXIS=='OUI' : print ' fissure axisymetrique : le mot clef ne doit pas etre renseigne' + C = 0.5 * C + LEQU=2.*(pi*(DEC-EPC)-DET1+2.*EPT1) +# +# LPIQ est une valeur qui depend theoriquement de la fissure. la valeur +# ci-dessous est approchee car elle ne sert qu'a calculer les facteurs d'etirement +# + LPIQ=pi*(DET1) + if AXIS=='OUI' : C=100.0*LPIQ + RAPL=LEQU/LPIQ + if FISCOU : + RAP=A/C + CAS1=RAP<0.3499 + CAS3=RAP>0.4999 + CAS2= not (CAS1 or CAS3) + if CAS1 : ALP=0.8 + if CAS2 : ALP=0.4 + if CAS3 : ALP=0.0 + BETA=1.0 + if GROS and not CAS1 : + NDT=1 + NSDT=2 + else : + NDT=2 + NSDT=4 +# + if FISLON : + if GROS : + NDT=2 + FETIRF=30.*RAPL + FETIRP=60.*RAPL + else : + NDT=3 + FETIRF=15.*RAPL + FETIRP=30.*RAPL +# + RC0 = FISS_SOUDURE['RAYON_TORE'] + if (FISCOU and RC0==None) : + if GROS : RC0=0.12 + else : RC0=0.10 + if CAS1 : RC0=0.08 + RC0=RC0*A + if (FISLON and RC0==None) : RC0=A/(NDT+1) +# + RC1 = FISS_SOUDURE['COEF_MULT_RC1'] + if (FISCOU and RC1==None) : + if GROS : RC1=1.2 + else : RC1=1.0 +# + RC2 = FISS_SOUDURE['COEF_MULT_RC2'] + if (FISCOU and RC2==None) : + if GROS : RC2=1.4 + else : RC2=1.2 +# + RC3 = FISS_SOUDURE['COEF_MULT_RC3'] + if (FISCOU and RC3==None) : + if GROS : + if CAS1 : RC3=2.5 + else : RC3=1.0 # valeur non utilisee + else : + if CAS3 : RC3=2.2 + else : RC3=2.0 +# + NT = FISS_SOUDURE['NB_TRANCHE'] + if (FISCOU and NT==None) : + if GROS : NT = 8 + else : NT = 16 + if CAS1 : NT = NT*2 + if (FISLON and NT==None) : NT=0 +# + NS = FISS_SOUDURE['NB_SECTEUR'] + if (FISCOU and NS==None) : + if GROS : NS = 2 + else : NS = 4 + if (FISLON and NS==None) : + if GROS : NS = 2 + else : NS = 4 +# + NC = FISS_SOUDURE['NB_COURONNE'] + if (FISCOU and NC==None) : + if GROS : NC = 3 + else : NC = 4 + if (FISLON and NC==None) : + if GROS : NC = 3 + else : NC = 4 +# + loc_gibi=aster.repout() + logiel = EXEC_MAILLAGE['LOGICIEL' ] + UNITD = EXEC_MAILLAGE['UNITE_DATG'] + UNITS = EXEC_MAILLAGE['UNITE_MGIB'] + if logiel=='GIBI98' : logiel = loc_gibi+'gibi98' + elif logiel=='GIBI2000': logiel = loc_gibi+'gibi2000' + else : + self.cr.fatal(" seuls gibi98 et gibi2000 sont appelableS") + ier = ier+1 + return ier +# +# --- ecriture sur le fichier .datg de la procedure --- +# +# Nom du fichier de commandes pour GIBI + nomFichierDATG = 'fort.'+str(UNITD) +# Nom du fichier de maillage GIBI + nomFichierGIBI = 'fort.'+str(UNITS) + loc_datg = aster.repdex() + if SAIN : write_file_dgib_ASPID0(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, H, + ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, THETA, TYPELE, + ITYPSO, DPENE, NIVMAG,loc_datg) + if FISLON : write_file_dgib_ASPID1(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, H, + ALPHA, JEU, EPC, DEC, XMAX, TYPMAI,THETA, + A,C,EPS, RC0,NS,NC,NT,POSI, NDT,FETIRF,FETIRP, + TFISS,ZETA,ITYPSO,DPENE, NIVMAG,loc_datg) + if FISCOU : write_file_dgib_ASPID2(nomFichierDATG,UNITD, EPT1, DET1, D1, D2, EPT2, DET2, ZMAX, + H, ALPHA, JEU, EPC, DEC, XMAX, TYPMAI, + THETA, A, C, EPS, RC0, RC1, RC2, RC3, + ALP,BETA, NS, NC, NT, POSI ,NDT,NSDT,TFISS, + ZETA,ITYPSO,DPENE, NIVMAG,loc_datg) +# + EXEC_LOGICIEL( LOGICIEL = logiel , + ARGUMENT = ( _F(NOM_PARA=nomFichierDATG), + _F(NOM_PARA=nomFichierGIBI), ), ) +# + PRE_GIBI() +# + __MAPROV=LIRE_MAILLAGE(INFO=INFO) +# + motscles={} + motscles['CREA_GROUP_MA']=[] + l_CREA_GROUP_NO=[] + if SAIN : + l_CREA_GROUP_NO.append('S_LAT1') + l_CREA_GROUP_NO.append('S_LAT2') + else : + l_CREA_GROUP_NO.append('S_LAT1_C') + l_CREA_GROUP_NO.append('S_LAT2_C') + l_CREA_GROUP_NO.append('S_LAT1_T') + l_CREA_GROUP_NO.append('S_LAT2_T') + if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='LONGUE') : + l_CREA_GROUP_NO.append('PFONDINF') + l_CREA_GROUP_NO.append('PFONDSUP') + else : + l_CREA_GROUP_NO.append('PFONDFIS') + if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='COURTE') : + motscles['CREA_GROUP_MA'].append(_F(GROUP_MA = 'FONDFISS', + NOM = 'MAIL_ORI', + POSITION = 'INIT' )) + if (TFISS[:4]=='DEB_') and (AXIS=='OUI') : + motscles['CREA_GROUP_MA'].append(_F(GROUP_MA = 'FONDFISS', + NOM = 'MAIL_ORI', + POSITION = 'INIT' )) + if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='LONGUE') : + motscles['CREA_GROUP_MA'].append(_F(GROUP_MA = 'FOND_SUP', + NOM = 'MA_ORI_S', + POSITION = 'INIT' )) + motscles['CREA_GROUP_MA'].append(_F(GROUP_MA = 'FOND_INF', + NOM = 'MA_ORI_I', + POSITION = 'INIT' )) + l_CREA_GROUP_NO.append('S_FOND1') + l_CREA_GROUP_NO.append('S_FOND2') + l_CREA_GROUP_NO.append('EQUERRE') + motscles['CREA_GROUP_NO']=_F(GROUP_MA=l_CREA_GROUP_NO) +# + __MAPROV=DEFI_GROUP(reuse =__MAPROV, + MAILLAGE=__MAPROV, + **motscles ) +# + if not SAIN : + motscles={} + motscles['CREA_GROUP_NO']=[] + if not (TFISS=='NON_DEB') : + motscles['CREA_GROUP_NO'].append(_F(GROUP_MA = 'FONDFISS',)) + if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='LONGUE') : + motscles['CREA_GROUP_NO'].append(_F(GROUP_MA = ('FOND_SUP','FOND_INF',),)) + __MAPROV=DEFI_GROUP(reuse =__MAPROV, + MAILLAGE=__MAPROV, + **motscles ) +# + __MAPROV=MODI_MAILLAGE(reuse =__MAPROV, + MAILLAGE=__MAPROV, + EQUE_PIQUA=_F( GROUP_NO = 'EQUERRE' , + E_BASE = EPT1 , + DEXT_BASE = DET1 , + L_BASE = D1 , + L_CHANF = D2 , + TYPE = TYPSOU, + H_SOUD = H , + ANGL_SOUD = ALPHA , + JEU_SOUD = JEU , + E_CORP = EPC , + DEXT_CORP = DEC , + AZIMUT = THETA , + RAFF_MAIL = TYPMAI, + X_MAX = XMAX , ) + ) +# + __MODELE=AFFE_MODELE( MAILLAGE=__MAPROV, + AFFE=_F( GROUP_MA = ('EQUERRE','PEAUINT','EXCORP1','EXCORP2','EXTUBU'), + PHENOMENE = 'MECANIQUE' , + MODELISATION = '3D' , ) + ) +# + motscles={} + if TFISS=='DEB_INT' : + motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXCORP1','EXCORP2','EXTUBU','LEVRTUBU','LEVRCORP'),) + else : + motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXCORP1','EXCORP2','EXTUBU',),) + __MAPROV=MODI_MAILLAGE(reuse =__MAPROV, + MAILLAGE=__MAPROV, + MODELE =__MODELE, + **motscles + ) +# + if SAIN : + __MAPROV=DEFI_GROUP(reuse = __MAPROV, + MAILLAGE = __MAPROV, + CREA_GROUP_NO = _F(GROUP_MA=('NIDXT','NEDXT','NIIXT','NEIXT')) ) +# + for i in range(1,NBAZIT+1): + prec = EPC / 5.0 + __MAPROV=DEFI_GROUP(reuse = __MAPROV, + MAILLAGE = __MAPROV, + CREA_GROUP_NO = ( _F( NOM = 'NID'+str(i) , + GROUP_NO = 'NIDXT' , + NUME_INIT = i , + NUME_FIN = i ,), + _F( NOM = 'NED'+str(i) , + GROUP_NO = 'NEDXT' , + NUME_INIT = i , + NUME_FIN = i ,), + _F( NOM = 'NII'+str(i) , + GROUP_NO = 'NIIXT' , + NUME_INIT = i , + NUME_FIN = i ,), + _F( NOM = 'NEI'+str(i) , + GROUP_NO = 'NEIXT' , + NUME_INIT = i , + NUME_FIN = i ,), + _F( NOM = 'LDN'+str(i) , + GROUP_MA = 'LD' +str(i) ,), + _F( NOM = 'LD' +str(i) , + GROUP_NO = 'LDN'+str(i) , + OPTION = 'SEGM_DROI_ORDO', + PRECISION = prec , + CRITERE = 'ABSOLU' , + GROUP_NO_ORIG = 'NID'+str(i), + GROUP_NO_EXTR = 'NED'+str(i),), + _F( NOM = 'LIN'+str(i) , + GROUP_MA = 'LI' +str(i) ,), + _F( NOM = 'LI' +str(i) , + GROUP_NO = 'LIN'+str(i) , + OPTION = 'SEGM_DROI_ORDO', + PRECISION = prec , + CRITERE = 'ABSOLU' , + GROUP_NO_ORIG = 'NII'+str(i), + GROUP_NO_EXTR = 'NEI'+str(i),),)) +# +# +# --- commande CREA_MAILLAGE --- +# + self.DeclareOut('nomres',self.sd) + nomres=CREA_MAILLAGE( MAILLAGE=__MAPROV, + CREA_POI1 = ( _F( NOM_GROUP_MA = 'P1_CORP ' , + GROUP_NO = 'P1_CORP ' , ), + _F( NOM_GROUP_MA = 'P2_CORP ' , + GROUP_NO = 'P2_CORP ' , ), + _F( NOM_GROUP_MA = 'P_TUBU ' , + GROUP_NO = 'P_TUBU ' , ),) + ) +# + if IMPRESSION!=None: + for impr in IMPRESSION : +# + motscles={} + if impr['FORMAT']=='IDEAS' : motscles['VERSION'] =impr['VERSION'] + if impr['FORMAT']=='CASTEM' : motscles['NIVE_GIBI']=impr['NIVE_GIBI'] + if impr['UNITE']!=None : motscles['UNITE'] =impr['UNITE'] + impr_resu = _F( MAILLAGE = nomres,) +# + IMPR_RESU( RESU = impr_resu, + FORMAT = impr['FORMAT'],**motscles ) +# + return ier + diff --git a/Aster/Cata/cataSTA74/Macro/macr_cabri_calc_ops.py b/Aster/Cata/cataSTA74/Macro/macr_cabri_calc_ops.py new file mode 100644 index 00000000..a829425f --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_cabri_calc_ops.py @@ -0,0 +1,542 @@ +#@ MODIF macr_cabri_calc_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER, + CHAR_MECA,RESU_THER, + AFFE_MATERIAU,DEFI_CHAR_THER,DEFI_CHAR_MECA,RELATION,SOLVEUR,CONVERGENCE,NEWTON, + INCREMENT,CHAM_MATER,**args): + """ + Ecriture de la macro MACR_CABRI_CALC + """ + + ################################################################# + ########## PREPARATION MACRO + ################################################################# + + from Accas import _F + + ier =0 + + # On met certains mots-clefs dans des variables locales pour les proteger + affemateriau = AFFE_MATERIAU + mail = MAILLAGE + + + # On importe les definitions des commandes a utiliser dans la macro + # Le nom de la variable doit etre obligatoirement le nom de la commande + DEFI_GROUP = self.get_cmd('DEFI_GROUP') + AFFE_MATERIAU = self.get_cmd('AFFE_MATERIAU') + AFFE_MODELE = self.get_cmd('AFFE_MODELE') + MODI_MAILLAGE = self.get_cmd('MODI_MAILLAGE') + AFFE_CHAR_THER_F = self.get_cmd('AFFE_CHAR_THER_F') + AFFE_CHAR_THER = self.get_cmd('AFFE_CHAR_THER') + AFFE_CHAR_MECA_F = self.get_cmd('AFFE_CHAR_MECA_F') + AFFE_CHAR_MECA = self.get_cmd('AFFE_CHAR_MECA') + DEFI_FONCTION = self.get_cmd('DEFI_FONCTION') + DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL') + THER_LINEAIRE = self.get_cmd('THER_LINEAIRE') + STAT_NON_LINE = self.get_cmd('STAT_NON_LINE') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # Le concept sortant (de type evol_noli) est nomme 'resumeca' dans + # le contexte de la macro + self.DeclareOut('resumeca',self.sd) + self.DeclareOut('mail',MAILLAGE) + + ################################################################# + ########## PREPARATION DES MODELES + ################################################################# + + # Definition des groupes + mail=DEFI_GROUP(reuse =mail,MAILLAGE=mail, + CREA_GROUP_NO=( + _F(GROUP_MA='M_GOU',NOM='N_M_GOU',), + _F(GROUP_MA='M_JOI',NOM='N_M_JOI',), + _F(GROUP_MA='SCBJ',NOM='N_SCBJ',), + _F(GROUP_MA='SCJB',NOM='N_SCJB',), + _F(GROUP_MA='M_L_AA',NOM='N_M_L_AA',), + _F(GROUP_MA='SCEG',NOM='N_SCEG',), + _F(GROUP_MA='SCGE',NOM='N_SCGE',),),) + + # Creation du modele thermique + if MODELE_THER != None: + self.DeclareOut('modther',MODELE_THER) + + modther=AFFE_MODELE(MAILLAGE=mail, + AFFE=_F(GROUP_MA=('VTOT','M_GOU','M_TUB','M_JOI','SCBJ','SCJB', + 'M_L_AA','M_INT','M_L_SA','M_EXT','SCEG','SCGE',), + PHENOMENE='THERMIQUE', + MODELISATION='3D_DIAG',), + ); + + # Creation du modele mecanique + if MODELE_MECA != None: + self.DeclareOut('modmeca',MODELE_MECA) + + modmeca = AFFE_MODELE(MAILLAGE=mail, + AFFE=_F(GROUP_MA=('VTOT','M_GOU','M_TUB','M_JOI','SCBJ','SCJB', + 'M_L_AA','M_L_SA','SCEG','SCGE','M_INT','M_EXT',), + PHENOMENE='MECANIQUE', + MODELISATION='3D',), + ); + + # Orientation des mailles + mail=MODI_MAILLAGE(reuse =mail, + MAILLAGE=mail, + ORIE_PEAU_3D=(_F(GROUP_MA=('M_INT','M_TUB',),), + _F(GROUP_MA=('M_L_AA','M_JOI','M_L_SA',),),), + MODELE=modmeca,); + + + + # Affectation des materiaux + if CHAM_MATER != None: + self.DeclareOut('_cham',CHAM_MATER) + motscles={} + motscles['AFFE']=[] + for mat in affemateriau: + if mat['TOUT'] == None: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscles['AFFE'].append(_F(GROUP_MA=mat['GROUP_MA'], + MATER = mat['MATER'], + TEMP_REF = mat['TEMP_REF'],) ) + else: + # Creation de mots-cles pour les AFFE_CHAR_MECA + motscles['AFFE'].append(_F(TOUT='OUI', + MATER = mat['MATER'], + TEMP_REF = mat['TEMP_REF'],) ) + + _cham = AFFE_MATERIAU(MAILLAGE=mail, + MODELE=modther, + AFFE=motscles['AFFE'], + ) + + ################################################################# + ########## CONDITIONS AUX LIMITES THERMIQUES + ################################################################# + # Recuperation des parametres thermiques + + if DEFI_CHAR_THER != None: + temp_ini = DEFI_CHAR_THER['TEMP_INIT'] + if DEFI_CHAR_THER['COEF_H_FLUI']!=None: + coef_int = DEFI_CHAR_THER['COEF_H_FLUI'] + else: + coef_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.016, + 7200.0,0.016,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + if DEFI_CHAR_THER['TEMP_EXT_FLUI']!=None: + temp_int = DEFI_CHAR_THER['TEMP_EXT_FLUI'] + else: + temp_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,temp_ini,1.0,temp_ini,11.0,60.0, + 600.0,60.0,610.0,280.0,1800.0,280.0,7200.0,280.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + if DEFI_CHAR_THER['COEF_H_AIR']!=None: + coef_ext = DEFI_CHAR_THER['COEF_H_AIR'] + else: + coef_ext = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,1e-05,7200.0,1e-05,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + + if DEFI_CHAR_THER['TEMP_EXT_AIR']!=None: + temp_ext = DEFI_CHAR_THER['TEMP_EXT_AIR'] + else: + temp_ext = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,20.0,7200.0,20.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + if DEFI_CHAR_THER['LIST_INST']!=None: + transi1 = DEFI_CHAR_THER['LIST_INST'] + else: + transi1 = DEFI_LIST_REEL(DEBUT=0.0, + INTERVALLE=(_F(JUSQU_A=1.0, + NOMBRE=1,), + _F(JUSQU_A=11.0, + NOMBRE=10,), + _F(JUSQU_A=600.0, + NOMBRE=10,), + _F(JUSQU_A=610.0, + NOMBRE=30,), + _F(JUSQU_A=1800.0, + NOMBRE=30,), + _F(JUSQU_A=7200.0, + NOMBRE=10,),),); + else: + temp_ini = DEFI_CHAR_THER['TEMP_INIT'] + coef_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.016, + 7200.0,0.016,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + temp_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,temp_ini,1.0,temp_ini,11.0,60.0, + 600.0,60.0,610.0,280.0,1800.0,280.0,7200.0,280.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + coef_ext = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,1e-05,7200.0,1e-05,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + temp_ext = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,20.0,7200.0,20.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + transi1 = DEFI_LIST_REEL(DEBUT=0.0, + INTERVALLE=(_F(JUSQU_A=1.0, + NOMBRE=1,), + _F(JUSQU_A=11.0, + NOMBRE=10,), + _F(JUSQU_A=600.0, + NOMBRE=10,), + _F(JUSQU_A=610.0, + NOMBRE=30,), + _F(JUSQU_A=1800.0, + NOMBRE=30,), + _F(JUSQU_A=7200.0, + NOMBRE=10,),),); + # Que sauver ? + if CHAR_THER != None: + for m in CHAR_THER: + if m['TYPE']=="BRIDE_FLUIDE": + self.DeclareOut('cl_th1',m['CHARGE']) + if m['TYPE']=="BRIDE_AIR": + self.DeclareOut('cl_th2',m['CHARGE']) + if m['TYPE']=="ECROU_GOUJON": + self.DeclareOut('cl_th3',m['CHARGE']) + if m['TYPE']=="BRIDE_JOINT": + self.DeclareOut('cl_th4',m['CHARGE']) + + # Echanges thermiques internes entre le fluide et la bride + cl_th1=AFFE_CHAR_THER_F(MODELE=modther, + ECHANGE=_F(GROUP_MA = 'M_INT', + COEF_H = coef_int, + TEMP_EXT = temp_int,),); + + # Echanges thermiques externes entre bride et air ambiant + cl_th2=AFFE_CHAR_THER_F(MODELE=modther, + ECHANGE=_F(GROUP_MA='M_EXT', + COEF_H=coef_ext, + TEMP_EXT=temp_ext,),); + + # Echanges thermiques entre ecrou et goujon + cl_th3=AFFE_CHAR_THER(MODELE=modther, + LIAISON_GROUP=_F(GROUP_NO_1='N_SCEG', + GROUP_NO_2='N_SCGE', + DDL_1='TEMP', + COEF_MULT_1=1.0, + DDL_2='TEMP', + COEF_MULT_2=-1.0, + COEF_IMPO=0.0,),); + + # Echanges thermiques entre bride et joint + cl_th4=AFFE_CHAR_THER(MODELE=modther, + LIAISON_GROUP=_F(GROUP_NO_1='N_SCBJ', + GROUP_NO_2='N_SCJB', + DDL_1='TEMP', + COEF_MULT_1=1.0, + DDL_2='TEMP', + COEF_MULT_2=-1.0, + COEF_IMPO=0.0,),); + + + + ################################################################# + ########## CALCUL THERMIQUE + ################################################################# + if RESU_THER != None: + self.DeclareOut('resuther',RESU_THER) + + resuther=THER_LINEAIRE(MODELE=modther, + CHAM_MATER=_cham, + EXCIT=(_F(CHARGE=cl_th1,), + _F(CHARGE=cl_th2,), + _F(CHARGE=cl_th3,), + _F(CHARGE=cl_th4,),), + INCREMENT=_F(LIST_INST=transi1,), + TEMP_INIT=_F(VALE=temp_ini,), + TITRE='CABRI THERMIQUE &DATE &HEURE',); + + ################################################################# + ########## CONDITIONS AUX LIMITES MECANIQUES + ################################################################# + # Recuperation des parametres mecaniques + if DEFI_CHAR_MECA != None: + if DEFI_CHAR_MECA['PRETENS']!=None: + f_pret = DEFI_CHAR_MECA['PRETENS'] + else: + f_pret=DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.0,1.0,-0.02,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + if DEFI_CHAR_MECA['PRES_REP']!=None: + pre_int = DEFI_CHAR_MECA['PRES_REP'] + else: + pre_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.0,1.0,0.0,11.0,16.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + if DEFI_CHAR_MECA['EFFE_FOND']!=None: + eff_fond = DEFI_CHAR_MECA['EFFE_FOND'] + else: + eff_fond=DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,-0.0,1.0,-0.0,11.0,-20.607059,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + else: + f_pret=DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.0,1.0,-0.02,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + + pre_int = DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,0.0,1.0,0.0,11.0,16.0,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + + eff_fond=DEFI_FONCTION(NOM_PARA='INST', + VALE=(0.0,-0.0,1.0,-0.0,11.0,-20.607059,), + PROL_DROITE='CONSTANT', + PROL_GAUCHE='CONSTANT',); + # Que sauver ? + if CHAR_MECA != None: + for m in CHAR_MECA: + if m['TYPE']=="BLOC_BAS_GOUJ": + self.DeclareOut('cl_me1',m['CHARGE']) + if m['TYPE']=="BLOC_BAS_JOINT": + self.DeclareOut('cl_me2',m['CHARGE']) + if m['TYPE']=="BLOC_LAT_ALES": + self.DeclareOut('cl_me3',m['CHARGE']) + if m['TYPE']=="BLOC_LAT_NALES": + self.DeclareOut('cl_me4',m['CHARGE']) + if m['TYPE']=="PLAN_TUBE": + self.DeclareOut('cl_me5',m['CHARGE']) + if m['TYPE']=="PRES_FLU": + self.DeclareOut('cl_me6',m['CHARGE']) + if m['TYPE']=="EFFET_FOND": + self.DeclareOut('cl_me7',m['CHARGE']) + if m['TYPE']=="CONT_JOINT": + self.DeclareOut('cl_me8',m['CHARGE']) + if m['TYPE']=="DEFO_THER": + self.DeclareOut('cl_me9',m['CHARGE']) + if m['TYPE']=="SERR_ECROU_1": + self.DeclareOut('cl_me10',m['CHARGE']) + if m['TYPE']=="SERR_ECROU_2": + self.DeclareOut('cl_me11',m['CHARGE']) + + + # Blocage bas du goujon + cl_me1=AFFE_CHAR_MECA(MODELE=modmeca, + DDL_IMPO=_F(GROUP_NO='N_M_GOU', + DZ=0.0,), + INFO=2,); + # Blocage bas du joint + cl_me2=AFFE_CHAR_MECA(MODELE=modmeca, + DDL_IMPO=_F(GROUP_NO='N_M_JOI', + DZ=0.0,), + INFO=2,); + + # Blocage lateral, face laterale avec alesage + cl_me3=AFFE_CHAR_MECA(MODELE=modmeca, + DDL_IMPO=_F(GROUP_NO='N_M_L_AA', + DY=0.0,), + INFO=2,); + + # Face laterale sans alesage + cl_me4=AFFE_CHAR_MECA(MODELE=modmeca, + FACE_IMPO=_F(GROUP_MA='M_L_SA', + DNOR=0.0,), + INFO=2,); + + # Condition de planeite de la face de coupe du tube + cl_me5=AFFE_CHAR_MECA(MODELE=modmeca, + LIAISON_UNIF=_F(GROUP_MA='M_TUB', + DDL='DZ',), + INFO=2,); + # Pression due au fluide + cl_me6=AFFE_CHAR_MECA_F(MODELE=modmeca, + PRES_REP=_F(GROUP_MA='M_INT', + PRES=pre_int,), + INFO=2,); + + # Effet de fond + cl_me7=AFFE_CHAR_MECA_F(MODELE=modmeca, + PRES_REP=_F(GROUP_MA='M_TUB', + PRES=eff_fond,), + INFO=2,); + + # Contact zone de joint + cl_me8=AFFE_CHAR_MECA(MODELE=modmeca, + CONTACT=_F(GROUP_MA_MAIT='SCBJ', + GROUP_MA_ESCL='SCJB',), + INFO=2,); + # Deformation thermique + cl_me9=AFFE_CHAR_MECA( MODELE=modmeca, + TEMP_CALCULEE=resuther, + INFO=2,); + + # Serrage ecrou/goujon (pre-tensionnement) + cl_me10=AFFE_CHAR_MECA_F(MODELE=modmeca, + LIAISON_GROUP=_F(GROUP_NO_1='N_SCEG', + GROUP_NO_2='N_SCGE', + DDL_1='DZ', + COEF_MULT_1=1.0, + DDL_2='DZ', + COEF_MULT_2=-1.0, + COEF_IMPO=f_pret,), + INFO=2,); + + cl_me11=AFFE_CHAR_MECA(MODELE=modmeca, + LIAISON_GROUP=_F(GROUP_NO_1='N_SCEG', + GROUP_NO_2='N_SCGE', + DDL_1='DX', + COEF_MULT_1=1.0, + DDL_2='DX', + COEF_MULT_2=-1.0, + COEF_IMPO=0.0,), + INFO=2,); + + + ################################################################# + ########## CALCUL MECANIQUE + ################################################################# + # Options de convergence + solveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + + # Elimination des valeurs "None" + for i in solveur.keys(): + if solveur[i]==None : del solveur[i] + + + transi2 = DEFI_LIST_REEL(DEBUT=0.0, + INTERVALLE=(_F(JUSQU_A=1.0, + NOMBRE=2,), + _F(JUSQU_A=11.0, + NOMBRE=20,), + _F(JUSQU_A=600.0, + NOMBRE=20,), + _F(JUSQU_A=610.0, + NOMBRE=20,), + _F(JUSQU_A=1800.0, + NOMBRE=20,), + _F(JUSQU_A=7200.0, + NOMBRE=20,),),); + + # Options d'incrementation + if INCREMENT != None: + if INCREMENT['LIST_INST'] != None: + listinst = INCREMENT['LIST_INST'] + else: + listinst = transi2 + + increment=INCREMENT[0].cree_dict_valeurs(INCREMENT[0].mc_liste) + + # Elimination des valeurs "None" + for i in increment.keys(): + if increment[i]==None : del increment[i] + + increment['LIST_INST'] = listinst + + else: + listinst = transi2 + increment =_F( + LIST_INST = listinst, + ), + + # Options de Newton + newton=NEWTON[0].cree_dict_valeurs(NEWTON[0].mc_liste) + # Elimination des valeurs "None" + for i in newton.keys(): + if newton[i]==None : del newton[i] + + # Options de convergence + convergence=CONVERGENCE[0].cree_dict_valeurs(CONVERGENCE[0].mc_liste) + # Elimination des valeurs "None" + for i in convergence.keys(): + if convergence[i]==None : del convergence[i] + + # Options de comportement + # Type incremental (=1) ou elastique (=0) + comp_incr = 0 + if RELATION: + relation=RELATION + if relation == 'VMIS_ISOT_TRAC': + comp_incr = 1 + else: + comp_incr = 0 + else: + relation = 'ELAS' + comp_incr = 0 + + + # Parametres du calcul + if comp_incr == 1: + resumeca=STAT_NON_LINE(MODELE=modmeca, + CHAM_MATER=_cham, + EXCIT=(_F(CHARGE=cl_me1,), + _F(CHARGE=cl_me2,), + _F(CHARGE=cl_me3,), + _F(CHARGE=cl_me4,), + _F(CHARGE=cl_me5,), + _F(CHARGE=cl_me6,), + _F(CHARGE=cl_me7,), + _F(CHARGE=cl_me8,), + _F(CHARGE=cl_me9,), + _F(CHARGE=cl_me10,), + _F(CHARGE=cl_me11,), + ), + SOLVEUR = solveur, + COMP_INCR =_F(RELATION=relation,), + NEWTON = newton, + INCREMENT = increment, + CONVERGENCE = convergence, + TITRE='CABRI THERMOM\xe9CANIQUE &DATE &HEURE',); + else: + resumeca=STAT_NON_LINE(MODELE=modmeca, + CHAM_MATER=_cham, + EXCIT=(_F(CHARGE=cl_me1,), + _F(CHARGE=cl_me2,), + _F(CHARGE=cl_me3,), + _F(CHARGE=cl_me4,), + _F(CHARGE=cl_me5,), + _F(CHARGE=cl_me6,), + _F(CHARGE=cl_me7,), + _F(CHARGE=cl_me8,), + _F(CHARGE=cl_me9,), + _F(CHARGE=cl_me10,), + _F(CHARGE=cl_me11,), + ), + SOLVEUR = solveur, + COMP_ELAS =_F(RELATION=relation,), + NEWTON = newton, + INCREMENT = increment, + CONVERGENCE = convergence, + TITRE='CABRI THERMOM\xe9CANIQUE &DATE &HEURE',); + + return ier + diff --git a/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_dat.py b/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_dat.py new file mode 100644 index 00000000..7d673257 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_dat.py @@ -0,0 +1,630 @@ +#@ MODIF macr_cabri_mail_dat Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + + +# Données pour les brides standards + + + +# Pour ajouter une bride x: +# Définir un dico_bride_x comme ci-dessous puis ajoutez-le à dico_bride_std + +# dictionnaire pour la description des variables +dico_var_geo = {'nbgouj':'Nombre de goujons de la jonction boulonnée (GOUJ_N_GOUJON)', + 'dint':'Diamètre intérieur de la bride (BRID_D_INT)', + 'dex1':'Diamétre extérieur de la conduite (TUBU_D_EXT)', + 'dex2':'Position (diamètre) du congé de la bride (BRID_D_CONGE)', + 'dex3':'Diamètre de l''épaulement de la bride au niveau de l''interface d''étanchéité (BRID_D_EPAUL)', + 'dtrou':'Position des alésages de la bride permettant l''introduction des goujons (BRID_P_ALESAG)', + 'dext':'Diamètre extérieur de la bride (BRID_D_EXT)', + 'dt':'Diamètre des alésages de la bride permettant l''introduction des goujons (BRID_D_ALESAG)', + 'drd':'Diamètre de la rondelle (GOUJ_D_RONDEL)', + 'dg':'Diamètre des goujons de la jonction boulonnée (GOUJ_D_GOUJON)', + 'dec':'Diamètre de l''écrou (GOUJ_D_ECROU)', + 'rcong':'Rayon du congé de la bride (BRID_R_CONGE)', + 'he':'Epaisseur de la rondelle (GOUJ_E_RONDEL)', + 'e':'Epaisseur de l''écrou (GOUJ_E_ECROU)', + 'hc1':'Hauteur de la bride (BRID_H)', + 'hcg1':'Hauteur de conduite (TUBU_H)', + 'hb':'Hauteur de l''épaulement de la bride au niveau de l''interface d''étanchéité (BRID_H_EPAUL)', + 'htrou':'Hauteur des alésages de la bride permettant l''introduction des goujons (BRID_H_ALESAG)', + 'pf':'Profondeur (épaisseur) des filets des goujons (GOUJ_E_FILET)', + 'j':'Epaisseur du joint au niveau de l''interface d''étanchéité (ETAN_E_JOINT)'} + +dico_var_msh = {'nrad':'Nombre d''éléments radiaux (NBR_RAD)', + 'ncir':'Nombre d''éléments circonférentiels (NBR_CIR)', + 'nver':'Nombre d''éléments verticaux (NBR_VER)', + 'nsect':'Nombre d''éléments de l''alésage (NBR_ALE)', + 'temps':'Temps d''analyse'} + +# dictionnaires des brides standards +dico_bride_A = {'nbgouj': 4, + 'dint': 15.76, + 'dex1': 21.3, + 'dex2': 38., + 'dex3': 48., + 'dtrou': 67., + 'dext': 95., + 'dt': 14., + 'drd': 25., + 'dg': 12., + 'dec': 18., + 'rcong': 3., + 'he': 12., + 'e': 2.5, + 'hc1': 46.5, + 'hcg1': 20, + 'hb': 1.5, + 'htrou': 20., + 'pf': 1.5, + 'j': 2} + +dico_bride_AA = {'nbgouj': 32, + 'dint': 336.5, + 'dex1': 355.6, + 'dex2': 395., + 'dex3': 415., + 'dtrou': 460., + 'dext': 515., + 'dt': 22., + 'drd': 36., + 'dg': 20., + 'dec': 30., + 'rcong': 5., + 'he': 20., + 'e': 3., + 'hc1': 115., + 'hcg1': 115./2., + 'hb': 3., + 'htrou': 47., + 'pf': 2.2, + 'j': 2} + +dico_bride_B = {'nbgouj': 4, + 'dint': 26.64, + 'dex1': 33.4, + 'dex2': 53., + 'dex3': 63., + 'dtrou': 88., + 'dext': 123., + 'dt': 16., + 'drd': 27., + 'dg': 14., + 'dec': 21., + 'rcong': 4., + 'he': 14., + 'e': 2.5, + 'hc1': 59., + 'hcg1': 59./2., + 'hb': 1.5, + 'htrou': 27.5, + 'pf': 1.7, + 'j': 2} +dico_bride_B1 = {'nbgouj': 4, + 'dint': 24.3, + 'dex1': 33.4, + 'dex2': 53., + 'dex3': 63., + 'dtrou': 88., + 'dext': 123., + 'dt': 16., + 'drd': 27., + 'dg': 14., + 'dec': 21., + 'rcong': 4., + 'he': 14., + 'e': 2.5, + 'hc1': 59., + 'hcg1': 59./2., + 'hb': 1.5, + 'htrou': 27.5, + 'pf': 1.7, + 'j': 2} +dico_bride_C = {'nbgouj': 8, + 'dint': 52.48, + 'dex1': 60.3, + 'dex2': 84., + 'dex3': 100., + 'dtrou': 127., + 'dext': 165., + 'dt': 18., + 'drd': 30, + 'dg': 16., + 'dec': 24., + 'rcong': 4., + 'he': 16., + 'e': 3, + 'hc1': 70., + 'hcg1': 70./2., + 'hb': 1.5, + 'htrou': 21., + 'pf': 1.7, + 'j': 2} +dico_bride_D = {'nbgouj': 8, + 'dint': 42.9, + 'dex1': 60.3, + 'dex2': 84., + 'dex3': 100., + 'dtrou': 127., + 'dext': 165., + 'dt': 18., + 'drd': 30, + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 87.6, + 'hcg1': 87.6/2., + 'hb': 1.5, + 'htrou': 38.5, + 'pf': 1.7, + 'j': 2} +dico_bride_D1 = {'nbgouj': 8, + 'dint': 49.22, + 'dex1': 60.3, + 'dex2': 84., + 'dex3': 100., + 'dtrou': 127., + 'dext': 165., + 'dt': 18., + 'drd': 30, + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 87.6, + 'hcg1': 87.6/2., + 'hb': 1.5, + 'htrou': 38.5, + 'pf': 1.7, + 'j': 2} +dico_bride_E = {'nbgouj': 8, + 'dint': 83.1, + 'dex1': 88.9, + 'dex2': 117.5, + 'dex3': 135., + 'dtrou': 165., + 'dext': 209., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 80., + 'hcg1': 80./2., + 'hb': 2., + 'htrou': 27., + 'pf': 1.7, + 'j': 2} +dico_bride_F = {'nbgouj': 8, + 'dint': 73.66, + 'dex1': 88.9, + 'dex2': 117.5, + 'dex3': 135., + 'dtrou': 165., + 'dext': 209., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 89., + 'hcg1': 89./2., + 'hb': 2., + 'htrou': 36., + 'pf': 1.7, + 'j': 2} +dico_bride_FF = {'nbgouj': 32, + 'dint': 396.99, + 'dex1': 406.4, + 'dex2': 440., + 'dex3': 455., + 'dtrou': 485., + 'dext': 535., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 99., + 'hcg1': 99./2., + 'hb': 3., + 'htrou': 40., + 'pf': 1.7, + 'j': 2} +dico_bride_G = {'nbgouj': 12, + 'dint': 66.7, + 'dex1': 88.9, + 'dex2': 117.5, + 'dex3': 135., + 'dtrou': 165., + 'dext': 209., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 98., + 'hcg1': 98./2., + 'hb': 2., + 'htrou': 45., + 'pf': 1.7, + 'j': 2} +dico_bride_GG = {'nbgouj': 36, + 'dint': 381., + 'dex1': 406.4, + 'dex2': 445., + 'dex3': 460., + 'dtrou': 495., + 'dext': 545., + 'dt': 22., + 'drd': 36, + 'dg': 20., + 'dec': 30., + 'rcong': 5., + 'he': 20., + 'e': 3., + 'hc1': 129., + 'hcg1': 129./2., + 'hb': 3., + 'htrou': 63., + 'pf': 2.2, + 'j': 2} +dico_bride_H = {'nbgouj': 12, + 'dint': 108.2, + 'dex1': 114.3, + 'dex2': 146., + 'dex3': 157., + 'dtrou': 190., + 'dext': 225., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 89., + 'hcg1': 89./2., + 'hb': 2., + 'htrou': 33., + 'pf': 1.7, + 'j': 2} +dico_bride_H1 = {'nbgouj': 12, + 'dint': 102.6, + 'dex1': 114.3, + 'dex2': 146., + 'dex3': 157., + 'dtrou': 190., + 'dext': 225., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 89., + 'hcg1': 89./2., + 'hb': 2., + 'htrou': 33., + 'pf': 1.7, + 'j': 2} +dico_bride_I = {'nbgouj': 18, + 'dint': 92.1, + 'dex1': 114.3, + 'dex2': 146., + 'dex3': 160., + 'dtrou': 200., + 'dext': 255., + 'dt': 20., + 'drd': 32., + 'dg': 18., + 'dec': 27., + 'rcong': 5., + 'he': 18., + 'e': 3., + 'hc1': 99., + 'hcg1': 99./2., + 'hb': 2., + 'htrou': 43., + 'pf': 2.2, + 'j': 2} +dico_bride_J = {'nbgouj': 18, + 'dint': 87.34, + 'dex1': 114.3, + 'dex2': 146., + 'dex3': 160., + 'dtrou': 200., + 'dext': 255., + 'dt': 20., + 'drd': 32., + 'dg': 18., + 'dec': 27., + 'rcong': 5., + 'he': 18., + 'e': 3., + 'hc1': 111., + 'hcg1': 111./2., + 'hb': 2., + 'htrou': 55., + 'pf': 2.2, + 'j': 2} +dico_bride_J1 = {'nbgouj': 18, + 'dint': 87.3, + 'dex1': 114.3, + 'dex2': 146., + 'dex3': 160., + 'dtrou': 200., + 'dext': 255., + 'dt': 22., + 'drd': 36., + 'dg': 20., + 'dec': 30., + 'rcong': 5., + 'he': 20., + 'e': 3., + 'hc1': 111., + 'hcg1': 111./2., + 'hb': 2., + 'htrou': 55., + 'pf': 2.2, + 'j': 2} +dico_bride_K = {'nbgouj': 8, + 'dint': 161.5, + 'dex1': 168.3, + 'dex2': 192., + 'dex3': 210., + 'dtrou': 235., + 'dext': 280., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 84., + 'hcg1': 84./2., + 'hb': 2., + 'htrou': 28., + 'pf': 1.7, + 'j': 2} +dico_bride_L = {'nbgouj': 16, + 'dint': 154.8, + 'dex1': 168.3, + 'dex2': 206., + 'dex3': 220., + 'dtrou': 255., + 'dext': 317., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 96., + 'hcg1': 96./2., + 'hb': 2., + 'htrou': 40., + 'pf': 1.7, + 'j': 2} +dico_bride_L1 = {'nbgouj': 16, + 'dint': 154.8, + 'dex1': 168.3, + 'dex2': 206., + 'dex3': 220., + 'dtrou': 255., + 'dext': 317., + 'dt': 20., + 'drd': 32., + 'dg': 18., + 'dec': 27., + 'rcong': 5., + 'he': 18., + 'e': 3., + 'hc1': 96., + 'hcg1': 96./2., + 'hb': 2., + 'htrou': 40., + 'pf': 2.2, + 'j': 2} +dico_bride_M = {'nbgouj': 16, + 'dint': 139.7, + 'dex1': 168.3, + 'dex2': 206., + 'dex3': 220., + 'dtrou': 250., + 'dext': 290., + 'dt': 24., + 'drd': 40., + 'dg': 22., + 'dec': 32., + 'rcong': 5., + 'he': 22., + 'e': 3., + 'hc1': 135., + 'hcg1': 135./2., + 'hb': 3., + 'htrou': 62., + 'pf': 2.2, + 'j': 2} +dico_bride_N = {'nbgouj': 12, + 'dint': 131.9, + 'dex1': 168.3, + 'dex2': 220., + 'dex3': 240., + 'dtrou': 290., + 'dext': 365., + 'dt': 30., + 'drd': 48., + 'dg': 27., + 'dec': 41., + 'rcong': 5., + 'he': 27., + 'e': 4., + 'hc1': 148., + 'hcg1': 148./2., + 'hb': 3., + 'htrou': 75., + 'pf': 2.6, + 'j': 2} +dico_bride_O = {'nbgouj': 12, + 'dint': 211.58, + 'dex1': 219.1, + 'dex2': 248., + 'dex3': 260., + 'dtrou': 292., + 'dext': 335., + 'dt': 20., + 'drd': 32., + 'dg': 18., + 'dec': 27., + 'rcong': 5., + 'he': 18., + 'e': 3., + 'hc1': 87., + 'hcg1': 87./2., + 'hb': 3., + 'htrou': 30., + 'pf': 2.2, + 'j': 2} +dico_bride_P = {'nbgouj': 16, + 'dint': 202.74, + 'dex1': 219.1, + 'dex2': 248., + 'dex3': 260., + 'dtrou': 292., + 'dext': 335., + 'dt': 20., + 'drd': 32, + 'dg': 18., + 'dec': 27., + 'rcong': 5., + 'he': 18., + 'e': 3., + 'hc1': 99., + 'hcg1': 99./2., + 'hb': 3., + 'htrou': 42., + 'pf': 2.2, + 'j': 2} +dico_bride_S = {'nbgouj': 16, + 'dint': 264.62, + 'dex1': 273., + 'dex2': 305., + 'dex3': 315., + 'dtrou': 350., + 'dext': 390., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 89., + 'hcg1': 89./2., + 'hb': 3., + 'htrou': 32., + 'pf': 1.7, + 'j': 2} +dico_bride_T = {'nbgouj': 16, + 'dint': 254.56, + 'dex1': 273., + 'dex2': 320., + 'dex3': 340., + 'dtrou': 385., + 'dext': 444., + 'dt': 27., + 'drd': 45., + 'dg': 24., + 'dec': 36., + 'rcong': 5., + 'he': 24., + 'e': 4., + 'hc1': 128., + 'hcg1': 128./2., + 'hb': 3., + 'htrou': 55., + 'pf': 2.6, + 'j': 2} +dico_bride_W = {'nbgouj': 28, + 'dint': 314.76, + 'dex1': 323.9, + 'dex2': 360., + 'dex3': 385., + 'dtrou': 415., + 'dext': 460., + 'dt': 18., + 'drd': 30., + 'dg': 16., + 'dec': 24., + 'rcong': 5., + 'he': 16., + 'e': 3., + 'hc1': 96., + 'hcg1': 96./2., + 'hb': 3., + 'htrou': 37., + 'pf': 1.7, + 'j': 2} + + +# dictionnaire pour faire le lien entre l'option de bride et les valeurs normalisées +dico_bride_std = {'AA':dico_bride_AA, + 'A':dico_bride_A, + 'B':dico_bride_B, + 'B1':dico_bride_B1, + 'C':dico_bride_C, + 'D':dico_bride_D, + 'D1':dico_bride_D1, + 'E':dico_bride_E, + 'F':dico_bride_F, + 'FF':dico_bride_FF, + 'G':dico_bride_G, + 'GG':dico_bride_GG, + 'H':dico_bride_H, + 'H1':dico_bride_H1, + 'I':dico_bride_I, + 'J':dico_bride_J, + 'J1':dico_bride_J1, + 'K':dico_bride_K, + 'L':dico_bride_L, + 'L1':dico_bride_L1, + 'M':dico_bride_M, + 'N':dico_bride_N, + 'O':dico_bride_O, + 'P':dico_bride_P, + 'S':dico_bride_S, + 'T':dico_bride_T, + 'W':dico_bride_W} diff --git a/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_ops.py b/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_ops.py new file mode 100644 index 00000000..d5ad388f --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_cabri_mail_ops.py @@ -0,0 +1,461 @@ +#@ MODIF macr_cabri_mail_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 os + +def macr_cabri_mail_ops(self,EXEC_MAILLAGE,RAFF_MAILLAGE,VERI_MAIL,GEOM_BRID, + IMPRESSION,**args): + """ + Ecriture de la macro MACR_CABRI_MAIL + """ + 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 + EXEC_LOGICIEL = self.get_cmd('EXEC_LOGICIEL') + LIRE_MAILLAGE = self.get_cmd('LIRE_MAILLAGE') + PRE_GIBI = self.get_cmd('PRE_GIBI') + IMPR_RESU = self.get_cmd('IMPR_RESU') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + # Le concept sortant (de type mail) est nommé 'nomres' dans + # le contexte de la macro + + self.DeclareOut('nomres',self.sd) + + # Chemin de Gibi + import aster + loc_gibi=aster.repout() + gibi2000=loc_gibi+'gibi' + + # Unité pour le fichier maillage produit (format GIBI) + unite_mgib = EXEC_MAILLAGE['UNITE_MGIB'] + # Unité pour le fichier de commandes GIBI + unite_datg = EXEC_MAILLAGE['UNITE_DATG'] + # Niveau gibi + niveau_gibi = EXEC_MAILLAGE['NIVE_GIBI'] + + # Verif mail + ver_apla = VERI_MAIL['APLAT'] + ver_veri = VERI_MAIL['VERIF'] + + # Impression + if IMPRESSION['UNITE']!=None: + imp_unit = IMPRESSION['UNITE'] + imp_unitF = 1 + else: + imp_unitF = 0 + if IMPRESSION['FORMAT']!=None: + imp_form = IMPRESSION['FORMAT'] + imp_formF = 1 + else: + imp_formF = 0 + if IMPRESSION['FICHIER']!=None: + imp_fich = IMPRESSION['FICHIER'] + imp_fichF = 1 + else: + imp_fichF = 0 + + # Maillage + nrad = RAFF_MAILLAGE['NB_RADIAL'] + ncir = RAFF_MAILLAGE['NB_CIRCONF'] + nver = RAFF_MAILLAGE['NB_VERTICAL'] + nsect = RAFF_MAILLAGE['NB_ALESAGE'] + temps = 5. + + maillage = {'nrad': nrad, + 'ncir': ncir, + 'nver': nver, + 'nsect': nsect, + 'temps' : temps,} + + # Création du fichier datg + + if GEOM_BRID['NORME'] == 'OUI': + # Bride standard + type_bride = GEOM_BRID['TYPE'] + ### Ecriture du fichier GIBI principal (dgib) - Bride STANDARD + write_file_dgib_STD(unite_mgib,unite_datg,maillage,type_bride) + else: + # Bride quelconque + geo_bride_qqe = {'nbgouj': GEOM_BRID['GOUJ_N_GOUJON'], + 'dint': GEOM_BRID['BRID_D_INT'], + 'dex1': GEOM_BRID['TUBU_D_EXT'], + 'dex2': GEOM_BRID['BRID_D_CONGE'], + 'dex3': GEOM_BRID['BRID_D_EPAUL'], + 'dtrou': GEOM_BRID['BRID_P_ALESAG'], + 'dext': GEOM_BRID['BRID_D_EXT'], + 'dt': GEOM_BRID['BRID_D_ALESAG'], + 'drd': GEOM_BRID['GOUJ_D_RONDEL'], + 'dg': GEOM_BRID['GOUJ_D_GOUJON'], + 'dec': GEOM_BRID['GOUJ_D_ECROU'], + 'rcong': GEOM_BRID['BRID_R_CONGE'], + 'he': GEOM_BRID['GOUJ_E_ECROU'], + 'e': GEOM_BRID['GOUJ_E_RONDEL'], + 'hc1': GEOM_BRID['BRID_H'], + 'hcg1': GEOM_BRID['TUBU_H'], + 'hb': GEOM_BRID['BRID_H_EPAUL'], + 'htrou': GEOM_BRID['BRID_H_ALESAG'], + 'pf': GEOM_BRID['GOUJ_E_FILET'], + 'j': GEOM_BRID['ETAN_E_JOINT']} + ### Ecriture du fichier GIBI principal (dgib) - Bride QUELCONQUE + write_file_dgib_QQE(unite_mgib,unite_datg,maillage,geo_bride_qqe) + + fichier_datg = 'fort.'+str(unite_datg) + fichier_mgib = 'fort.'+str(unite_mgib) + + # Lancement de GIBI + EXEC_LOGICIEL( + LOGICIEL=gibi2000, + ARGUMENT=(_F(NOM_PARA=fichier_datg), + _F(NOM_PARA=fichier_mgib), + ) + ) + # Lecture du maillage GIBI dans ASTER + PRE_GIBI( + UNITE_GIBI = unite_mgib, + ) + + nomres = LIRE_MAILLAGE(VERI_MAIL=_F(APLAT = ver_apla, + VERIF = ver_veri ),) + + if (imp_fichF == 1): + print imp_fich + if (imp_formF == 1): + print imp_form + if (imp_unitF == 1): + print imp_unit + # Impression du fichier maillage + if (imp_formF == 1): + if (imp_form == 'CASTEM'): + imp_ngib = IMPRESSION['NIVE_GIBI'] + IMPR_RESU( RESU = _F(MAILLAGE=nomres, ), + FORMAT = 'CASTEM', NIVE_GIBI = imp_ngib ) + if (imp_form == 'IDEAS'): + imp_nver = IMPRESSION['VERSION'] + IMPR_RESU(RESU = _F(MAILLAGE=nomres,), + FORMAT = 'IDEAS', VERSION = imp_nver ) + + return ier + + +############################################################################################## +# Liste des fonctions +############################################################################################## + +############# +## EXTERNES (appelables depuis l'extérieur) +############# + +### Ecriture du fichier GIBI principal (dgib) - Bride STANDARD +# null = write_file_dgib_STD(unite_mgib,unite_datg,msh_bride,geo_bride) + +### Ecriture du fichier GIBI principal (dgib) - Bride QUELCONQUE +# null = write_file_dgib_QQE(unite_mgib,unite_datg,msh_bride,geo_bride) + +### Imprime tout le catalogue des brides standards disponibles dans un fichier texte +# null = print_bride_std(nom_fichier) + +### Catalogue complet des brides standards disponibles +# txt = bride_std() + +############# +## INTERNES (réservées au travail interne) +############# + +### Génération du nom du fichier pour le fichier maillage résultant (format GIBI) +# NomFichier(txt) = name_file_mgib(unite_mgib): + +### Génération du nom du fichier pour le fichier générant le maillage (commandes GIBI) +# NomFichier(txt) = name_file_datg(unite_datg): + +### Récupère un fichier texte DATG +# Txt = text_datg(fichier_datg): + +### Génération du texte pour les variables +# Txt = para_text(dico_var,var): + + + +#============================================================================================= +# Importation des modules Python +#============================================================================================= + +from Macro.macr_cabri_mail_dat import dico_var_geo,dico_var_msh,dico_bride_std + +#============================================================================================= +# Fonctions principales +#============================================================================================= +# Ecriture du fichier GIBI principal (dgib) - Bride STANDARD +def write_file_dgib_STD(unite_mgib,unite_datg,msh_bride,geo_bride): + + # Nom du fichier maillage produit par GIBI + nomFichierMGIB = name_file_mgib(unite_mgib) + + # Nom du fichier de commandes pour GIBI + nomFichierDATG = name_file_datg(unite_datg) + + # Ouverture du fichier d'entrée de commandes + fdgib=open(nomFichierDATG,'w') + + # En-tete + text = "**************************************************************\n" + text = text + "* Fichier GIBI pour le maillage d'une bride \n" + text = text + "**************************************************************\n" + text = text + "\n" + text = text + "* Ce fichier a été généré automatiquement par la macro ASTER MACR_CABRI_MAIL \n" + text = text + "* Ne pas modifier\n" + text = text + "\n" + text = text + "**************************************************************\n" + text = text + "* Type bride: Bride standard \n" + text = text + "**************************************************************\n" + text = text + "titre '"+"Bride standard"+"';\n" + text = text + "** Type bride standard: "+geo_bride+"\n" + + text = text + "\n" + text = text + "nomfich = CHAINE \n" + if len(nomFichierMGIB)>72: + raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \ + 'pour GIBI) :\n',nomFichierMGIB + elif len(nomFichierMGIB)<=69: + text = text + "'"+nomFichierMGIB+"';\n" + else: + text = text + "'"+nomFichierMGIB[:69]+"'\n" \ + + "'"+nomFichierMGIB[69:]+"';\n" + text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n" + text = text + "dens 1;\n" + text = text + "\n" + fdgib.write(text) + + # Procédures internes supplémentaires + text = "**************************************************************\n" + text = text + "* Procédures supplémentaires \n" + text = text + "**************************************************************\n" + text = text + text_datg_pro() + fdgib.write(text) + + # Début de procédure de création du maillage + text = "**************************************************************\n" + text = text + "**************************************************************\n" + text = text + "********* Début de procédure de création du maillage *********\n" + text = text + "**************************************************************\n" + text = text + "**************************************************************\n" + text = text + "\n debproc constru;\n" + fdgib.write(text) + + # Paramètres géométriques + car_bride = dico_bride_std[geo_bride] + text = "**************************************************************\n" + text = text + "* Paramètres géométriques \n" + text = text + "**************************************************************\n" + text = text + para_text(dico_var_geo,car_bride) + fdgib.write(text) + + # Paramètres du maillage + text = "**************************************************************\n" + text = text + "* Paramètres physiques \n" + text = text + "**************************************************************\n" + text = text + para_text(dico_var_msh,msh_bride) + fdgib.write(text) + + # Algorithme du maillage + text = "**************************************************************\n" + text = text + "* Algorithme de maillage \n" + text = text + "**************************************************************\n" + text = text + text_datg_std() + fdgib.write(text) + + # Fermeture du fichier maillage + fdgib.close() + + +# Ecriture du fichier GIBI principal (dgib) - Bride QUELCONQUE +def write_file_dgib_QQE(unite_mgib,unite_datg,msh_bride,geo_bride): + + # Nom du fichier maillage produit par GIBI + nomFichierMGIB = name_file_mgib(unite_mgib) + + # Nom du fichier de commandes pour GIBI + nomFichierDATG = name_file_datg(unite_datg) + + # Ouverture du fichier d'entree de commandes + fdgib=open(nomFichierDATG,'w') + + # En-tete + text = "**************************************************************\n" + text = text + "* Fichier GIBI pour le maillage d'une bride \n" + text = text + "**************************************************************\n" + text = text + "\n" + text = text + "* Ce fichier a été généré automatiquement par la macro ASTER MACR_CABRI_MAIL \n" + text = text + "* Ne pas modifier\n" + text = text + "\n" + text = text + "**************************************************************\n" + text = text + "* Type bride: Bride quelconque\n" + text = text + "**************************************************************\n" + text = text + "titre '"+"Bride Quelconque"+"';\n" + text = text + "\n" + text = text + "nomfich = CHAINE \n" + if len(nomFichierMGIB)>72: + raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \ + 'pour GIBI) :\n',nomFichierMGIB + elif len(nomFichierMGIB)<=69: + text = text + "'"+nomFichierMGIB+"';\n" + else: + text = text + "'"+nomFichierMGIB[:69]+"'\n" \ + + "'"+nomFichierMGIB[69:]+"';\n" + text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n" + text = text + "dens 1;\n" + text = text + "\n" + fdgib.write(text) + + # Procédures internes supplémentaires + text = "**************************************************************\n" + text = text + "* Procédures supplémentaires \n" + text = text + "**************************************************************\n" + text = text + text_datg_pro() + fdgib.write(text) + + # Début de procédure de création du maillage + text = "**************************************************************\n" + text = text + "**************************************************************\n" + text = text + "********* Début de procédure de création du maillage *********\n" + text = text + "**************************************************************\n" + text = text + "**************************************************************\n" + text = text + "\n debproc constru;\n" + fdgib.write(text) + + # Paramètres géométriques + text = "**************************************************************\n" + text = text + "* Paramètres géométriques \n" + text = text + "**************************************************************\n" + text = text + para_text(dico_var_geo,geo_bride) + fdgib.write(text) + + # Paramètres du maillage + text = "**************************************************************\n" + text = text + "* Paramètres physiques \n" + text = text + "**************************************************************\n" + text = text + para_text(dico_var_msh,msh_bride) + fdgib.write(text) + + # Algorithme du maillage + text = "**************************************************************\n" + text = text + "* Algorithme de maillage \n" + text = text + "**************************************************************\n" + text = text + text_datg_qqe() + fdgib.write(text) + + # Fermeture du fichier maillage + fdgib.close() + +# Génération du nom du fichier pour le fichier maillage résultant (format GIBI) +def name_file_mgib(unite_mgib): + cur_dir = os.getcwd() + nomFichier = cur_dir+'/fort.'+str(unite_mgib) + return nomFichier + + +# Génération du nom du fichier pour le fichier générant le maillage (commandes GIBI) +def name_file_datg(unite_datg): + cur_dir = os.getcwd() + nomFichier = cur_dir+'/fort.'+str(unite_datg) + return nomFichier + +# Récupère un fichier texte DATG: texte GIBI pour procédures +def text_datg_pro(): + import aster + loc_datg = aster.repdex() + datg_bridePro = loc_datg+"macr_cabri_mail_proc.datg" + fproc=open(datg_bridePro,'r') + procText = fproc.read() + fproc.close() + + return procText + +# Récupère un fichier texte DATG: texte GIBI pour bride quelconque +def text_datg_qqe(): + import aster + loc_datg = aster.repdex() + datg_brideQqe = loc_datg+"macr_cabri_mail_qqe.datg" + fproc=open(datg_brideQqe,'r') + procText = fproc.read() + fproc.close() + + return procText + +# Récupère un fichier texte DATG: texte GIBI pour bride standard +def text_datg_std(): + import aster + loc_datg = aster.repdex() + datg_brideStd = loc_datg+"macr_cabri_mail_std.datg" + fproc=open(datg_brideStd,'r') + procText = fproc.read() + fproc.close() + + return procText + +# Génération du texte pour les variables +def para_text(dico_var,var): + text = '\n' + for nom_var in var.keys(): + text = text+"* "+dico_var[nom_var]+"\n" + text = text+nom_var+" = "+`var[nom_var]`+";\n" + return text + +#============================================================================================= +# Accès au catalogue des brides standards +# (les brides standards sont décrites dans le fichier Data_Brides.py) +#============================================================================================= + + + +# Imprime tout le catalogue des brides standards disponibles dans un fichier texte +def print_bride_std(nom_fichier): + text = bride_std() + # Ouverture du fichier + finfo=open(nom_fichier,'w') + # Ecriture des infos + finfo.write(text) + # Fermeture du fichier + finfo.close() + +# Catalogue complet des brides standards disponibles +def bride_std(): + # Ligne d'info + text = "Liste des brides standards avec leurs dimensions\n" + # Première ligne + text = text+"\t" + for nom_variable in dico_var_geo.keys(): + text = text + nom_variable+"\t\t" + text = text + "\n" + # Lignes suivantes + for nom_bride in dico_bride_std.keys(): + bride = dico_bride_std[nom_bride] + text = text + nom_bride + '\t' + for nom_var in dico_var_geo.keys(): + chaine = "%f" % (bride[nom_var]) + text = text+chaine+"\t" + text = text + "\n" + return text diff --git a/Aster/Cata/cataSTA74/Macro/macr_cara_poutre_ops.py b/Aster/Cata/cataSTA74/Macro/macr_cara_poutre_ops.py new file mode 100644 index 00000000..e0849aff --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_cara_poutre_ops.py @@ -0,0 +1,816 @@ +#@ MODIF macr_cara_poutre_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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') + CALC_ELEM =self.get_cmd('CALC_ELEM') + INTE_MAIL_2D =self.get_cmd('INTE_MAIL_2D') + POST_RELEVE_T =self.get_cmd('POST_RELEVE_T') + IMPR_TABLE =self.get_cmd('IMPR_TABLE') + IMPR_CO =self.get_cmd('IMPR_CO') + # 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 = +# --- = DU RAYON DE TORSION SUR TOUT LE MAILLAGE +# --- = 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 DU RAYON DE TORSION : +# -------------------------- + +# CALCUL DU RAYON DE TORSION EXTERNE : rtext + + __tempe1=CALC_ELEM(reuse=__tempe1, + RESULTAT=__tempe1, + MODELE=__nomoth, + CHAM_MATER=__chmath, + TOUT_ORDRE='OUI', + OPTION='FLUX_ELNO_TEMP', + ) + + __chem=INTE_MAIL_2D(MAILLAGE=__nomapi, + DEFI_CHEMIN=_F(GROUP_MA=GROUP_MA_BORD), + INFO=2,) + + __flun=POST_RELEVE_T(ACTION=_F(INTITULE='FLUX_NORM', + CHEMIN=__chem, + RESULTAT=__tempe1, + NOM_CHAM='FLUX_ELNO_TEMP', + TRAC_NOR='OUI', + NOM_CMP=('FLUX','FLUY'), + OPERATION='MOYENNE')) + + __m1=abs(__flun['TRAC_NOR',3]) + __m2=abs(__flun['TRAC_NOR',4]) + __rtext=max(__m1,__m2) + + # CALCUL DU RAYON DE TORSION : rt + # rt = max ( rtext , 2*AIRE(TROU)/L(TROU) ) + + if args.has_key('GROUP_MA_INTE'): + if args['GROUP_MA_INTE'] != None : + if type(args['GROUP_MA_INTE'])==types.StringType : + l_group_ma_inte=[args['GROUP_MA_INTE'],] + else: + l_group_ma_inte=args['GROUP_MA_INTE'] + for i in range(0,len(l_group_ma_inte)): + __chem=INTE_MAIL_2D(MAILLAGE=__nomapi, + DEFI_CHEMIN=_F(GROUP_MA=l_group_ma_inte[i]), + INFO=2,) + __flun=POST_RELEVE_T(ACTION=_F(INTITULE='FLUX_NORM', + CHEMIN=__chem, + RESULTAT=__tempe1, + NOM_CHAM='FLUX_ELNO_TEMP', + TRAC_NOR='OUI', + NOM_CMP=('FLUX','FLUY'), + OPERATION='MOYENNE')) + __m1=(abs(__flun['TRAC_NOR',3])+abs(__flun['TRAC_NOR',4]))/2. + if __m1 > __rtext : + __rtext=__m1 + + __rt=__rtext + +# --- 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, + RT=__rt, + TOUT='OUI', + OPTION='CARA_TORSION', + GROUP_MA_INTE=args['GROUP_MA_INTE'],) + else: + motscles['CARA_POUTRE']=_F(CARA_GEOM=nomres, + LAPL_PHI=__tempe1, + RT=__rt, + 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 RAYON DE TORSION SUR CHAQUE GROUPE = +# --- = 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 DU RAYON DE TORSION : +# -------------------------- + +# CALCUL DU RAYON DE TORSION EXTERNE : rtext + + __tempe1=CALC_ELEM(reuse=__tempe1, + RESULTAT=__tempe1, + MODELE=__nomoth, + CHAM_MATER=__chmath, + TOUT_ORDRE='OUI', + OPTION='FLUX_ELNO_TEMP', + ) + + __chem=INTE_MAIL_2D(MAILLAGE=__nomapi, + DEFI_CHEMIN=_F(GROUP_MA=l_group_ma_bord[i]), + INFO=2,) + + __flun=POST_RELEVE_T(ACTION=_F(INTITULE='FLUX_NORM', + CHEMIN=__chem, + RESULTAT=__tempe1, + NOM_CHAM='FLUX_ELNO_TEMP', + TRAC_NOR='OUI', + NOM_CMP=('FLUX','FLUY'), + OPERATION='MOYENNE')) + + __m1=abs(__flun['TRAC_NOR',3]) + __m2=abs(__flun['TRAC_NOR',4]) + __rtext=max(__m1,__m2) + +# CALCUL DU RAYON DE TORSION : rt +# rt = max ( rtext , 2*AIRE(TROU)/L(TROU) ) + + if args.has_key('GROUP_MA_INTE'): + if args['GROUP_MA_INTE'] != None : + if type(args['GROUP_MA_INTE'])==types.StringType : + l_group_ma_inte=[args['GROUP_MA_INTE'],] + else: + l_group_ma_inte=args['GROUP_MA_INTE'] + for j in range(0,len(l_group_ma_inte)): + __chem=INTE_MAIL_2D(MAILLAGE=__nomapi, + DEFI_CHEMIN=_F(GROUP_MA=l_group_ma_inte[j]), + INFO=2,) + __flun=POST_RELEVE_T(ACTION=_F(INTITULE='FLUX_NORM', + CHEMIN=__chem, + RESULTAT=__tempe1, + NOM_CHAM='FLUX_ELNO_TEMP', + TRAC_NOR='OUI', + NOM_CMP=('FLUX','FLUY'), + OPERATION='MOYENNE')) + __m1=(abs(__flun['TRAC_NOR',3])+abs(__flun['TRAC_NOR',4]))/2. + if __m1 > __rtext : + __rtext=__m1 + + __rt=__rtext + +# --- CALCUL DE LA CONSTANTE DE TORSION : +# --------------------------------- + + nomres=POST_ELEM(reuse=nomres, + MODELE=__nomoth, + CHAM_MATER=__chmath, + CARA_POUTRE=_F(CARA_GEOM=nomres, + LAPL_PHI=__tempe1, + RT=__rt, + GROUP_MA=l_group_ma[i], + OPTION='CARA_TORSION' ), ) + +# --- 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' ), ) + IMPR_TABLE(TABLE=nomres) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macr_ecla_pg_ops.py b/Aster/Cata/cataSTA74/Macro/macr_ecla_pg_ops.py new file mode 100644 index 00000000..8bfada76 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_ecla_pg_ops.py @@ -0,0 +1,71 @@ +#@ MODIF macr_ecla_pg_ops Macro DATE 09/11/2004 AUTEUR VABHHTS J.PELLET +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +######################################################################## +def macr_ecla_pg_ops(self,RESULTAT,MAILLAGE,RESU_INIT,MODELE_INIT, + TOUT, GROUP_MA, MAILLE, + SHRINK, TAILLE_MIN, + NOM_CHAM, TOUT_ORDRE, NUME_ORDRE, LIST_ORDRE, INST, LIST_INST, PRECISION, CRITERE, + **args): + """ + Ecriture de la macro macr_ecla_pg + """ + import os, string + from Accas import _F + from Noyau.N_utils import AsType + ier=0 + + # On importe les definitions des commandes a utiliser dans la macro + CREA_MAILLAGE =self.get_cmd('CREA_MAILLAGE') + CREA_RESU =self.get_cmd('CREA_RESU') + + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + + # Appel à CREA_MAILLAGE : + motscles={} + if TOUT : motscles['TOUT'] =TOUT + if GROUP_MA : motscles['GROUP_MA'] =GROUP_MA + if MAILLE : motscles['MAILLE'] =MAILLE + + self.DeclareOut('ma2',MAILLAGE) + ma2=CREA_MAILLAGE(ECLA_PG=_F( MODELE = MODELE_INIT, NOM_CHAM=NOM_CHAM, + SHRINK = SHRINK, TAILLE_MIN=TAILLE_MIN, **motscles )); + + + + # Appel à CREA_RESU : + typ2=AsType(RESU_INIT).__name__ + if TOUT_ORDRE : motscles['TOUT_ORDRE'] =TOUT_ORDRE + if NUME_ORDRE : motscles['NUME_ORDRE'] =NUME_ORDRE + if LIST_ORDRE : motscles['LIST_ORDRE'] =LIST_ORDRE + if LIST_INST : motscles['LIST_INST'] =LIST_INST + if INST : motscles['INST'] =INST + if TOUT_ORDRE : motscles['TOUT_ORDRE'] =TOUT_ORDRE + + self.DeclareOut('resu2',RESULTAT) + resu2=CREA_RESU( OPERATION='ECLA_PG', TYPE_RESU=string.upper(typ2), + ECLA_PG=_F( MODELE_INIT= MODELE_INIT, RESU_INIT=RESU_INIT, NOM_CHAM=NOM_CHAM, + MAILLAGE= ma2, **motscles )); + return ier +############################################################################################ + diff --git a/Aster/Cata/cataSTA74/Macro/macr_fiab_impr_ops.py b/Aster/Cata/cataSTA74/Macro/macr_fiab_impr_ops.py new file mode 100644 index 00000000..3b338c77 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_fiab_impr_ops.py @@ -0,0 +1,110 @@ +#@ MODIF macr_fiab_impr_ops Macro DATE 07/10/2004 AUTEUR GNICOLAS G.NICOLAS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + +# RESPONSABLE GNICOLAS G.NICOLAS +# +def macr_fiab_impr_ops(self, INFO, + TABLE_CIBLE, NOM_PARA_CIBLE, GRADIENTS, **args): +# +# +# 1. args est le dictionnaire des arguments +# args.keys() est la liste des mots-clés +# args.keys()[0] est la premiere valeur de cette liste +# args.keys()[1:] est la liste des valeurs suivantes dans cette liste +# args.keys(mot_cle) représente le contenu de la variable mot_cle dans la macro appelante. +# + """ Macro-commande réalisant l'impression des valeurs pour le logiciel de fiabilite. """ +# +# On charge les modules nécessaires + from Accas import _F +# +#____________________________________________________________________ +# +# 1. Préalables +#____________________________________________________________________ +# + erreur = 0 +# +# 1.1 ==> La macro compte pour 1 dans l'exécution des commandes +# + self.set_icmd(1) +# +# 1.2 ==> On importe les définitions des commandes Aster utilisées +# dans la macro +# + DEFI_FICHIER = self.get_cmd("DEFI_FICHIER") + IMPR_TABLE = self.get_cmd("IMPR_TABLE") +# +# 1.3. ==> Des constantes +# Atention : le numéro d'unité utilisé ici et celui +# utlisé dans le python d'échange lance_aster_5 +# doivent correspondre. +# + Unite_Fichier_ASTER_vers_FIABILITE = 91 + Nom_Symbolique_Fichier_ASTER_vers_FIABILITE = "ASTER_vers_FIABILITE" + FORMAT_R="1PE17.10" +#____________________________________________________________________ +# +# 2. Définition d'un fichier d'échange +#____________________________________________________________________ +# + DEFI_FICHIER ( ACTION= "ASSOCIER", +# FICHIER = Nom_Symbolique_Fichier_ASTER_vers_FIABILITE, + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + TYPE = "ASCII", + INFO = INFO ) +#____________________________________________________________________ +# +# 4. Ecriture de la valeur cible +#____________________________________________________________________ +# + IMPR_TABLE ( TABLE = TABLE_CIBLE, + NOM_PARA = NOM_PARA_CIBLE, + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + FORMAT_R = FORMAT_R, + INFO = INFO ) +#____________________________________________________________________ +# +# 5. Ecritures des gradients +#____________________________________________________________________ +# + for val in GRADIENTS : +# + IMPR_TABLE ( TABLE = val["TABLE"], + SENSIBILITE = val["PARA_SENSI"], + NOM_PARA = (val["NOM_PARA"]), + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + FORMAT_R = FORMAT_R, + INFO = INFO ) +#____________________________________________________________________ +# +# 6. Libération du fichier d'échange +#____________________________________________________________________ +# + DEFI_FICHIER ( ACTION= "LIBERER", + UNITE = Unite_Fichier_ASTER_vers_FIABILITE, + INFO = INFO ) +# +#-------------------------------------------------------------------- +# 7. C'est fini ! +#-------------------------------------------------------------------- +# + return erreur diff --git a/Aster/Cata/cataSTA74/Macro/macr_fiabilite_ops.py b/Aster/Cata/cataSTA74/Macro/macr_fiabilite_ops.py new file mode 100644 index 00000000..62a10eba --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_fiabilite_ops.py @@ -0,0 +1,324 @@ +#@ MODIF macr_fiabilite_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_fiabilite_ops(self, INFO, + LOGICIEL, VERSION, + UNITE_ESCL, MESS_ASTER, + SEUIL, SEUIL_TYPE, + VARIABLE, + **args ) : +# +# args est le dictionnaire des arguments optionnels +# args.keys() est la liste des mots-clés +# args.keys()[0] est la premiere valeur de cette liste +# args.keys()[1:] est la liste des valeurs suivantes dans cette liste +# args.keys(mot_cle) représente le contenu de la variable mot_cle dans la macro appelante. +### print args +### print args.keys() +### if len (args.keys())>0 : print args.keys()[0] +# + """ Macro-commande réalisant le pilotage du logiciel de fiabilite. """ +# +# On charge les modules nécessaires + from Accas import _F + from Macro import fiabilite_mefisto + import aster + import os + import string + import sys + import Numeric +# +#____________________________________________________________________ +# +# 1. Préalables +#____________________________________________________________________ +# +# 1.1 ==> La macro compte pour 1 dans l'exécution des commandes +# + self.set_icmd(1) +# +# 1.2 ==> On importe les définitions des commandes Aster utilisées +# dans la macro +# + EXEC_LOGICIEL = self.get_cmd("EXEC_LOGICIEL") + DEFI_LIST_REEL = self.get_cmd("DEFI_LIST_REEL") +# +# 1.3 ==> Le nom du programme de fiabilite à lancer +# + repertoire_outils = aster.repout() + fiabilite = repertoire_outils + "fiabilite" +# +# 1.4 ==> Initialisations +# + erreur = 0 + erreur_partiel = [0] + Rep_Calc_ASTER = os.getcwd() + Nom_Exec_ASTER = sys.executable +# + messages_erreur = { 0 : "Tout va bien", + 1 : "Impossible de créer le répertoire de travail pour le logiciel de fiabilité.", + 2 : "Probleme d'ouverture du fichier.", + 10 : "Erreur dans le choix du logiciel de fiabilité.", + 11 : "Erreur dans la création des données pour le logiciel de fiabilité.", + 100 : "Erreur." } +# + while not erreur : +# +#____________________________________________________________________ +# +# 2. Répertoires et fichiers +#____________________________________________________________________ +# +# 2.1. ==> Création du répertoire pour l'exécution du logiciel de fiabilité +# + Nom_Rep_local = "tmp_fiabilite" + Rep_Calc_LOGICIEL_local = os.path.join(".",Nom_Rep_local) + Rep_Calc_LOGICIEL_global = os.path.join(Rep_Calc_ASTER,Nom_Rep_local) +# + try : + os.mkdir(Rep_Calc_LOGICIEL_global) + except os.error,erreur_partiel : + self.cr.warn("Code d'erreur de mkdir : " + str(erreur_partiel[0]) + " : " + erreur_partiel[1]) + self.cr.fatal("Impossible de créer le répertoire de travail pour le logiciel de fiabilité : "+Rep_Calc_LOGICIEL_global) + erreur = erreur + 1 + break +# +# 2.2. ==> On crée un fichier annexe pour transmettre des données à la procédure +# de lancement des calculs ASTER par le LOGICIEL. +# Ce fichier est créé dans le répertoire d'exécution du logiciel de fiabilité. +# On fait ainsi car les arguments passés ont du mal à transiter via l'exécutable. +# On stocke : +# 1. Le niveau d'information +# 2. L'unité logique associée au jeu de commandes déterministes +# 3. La gestion des sorties ASTER +# 4. Le nom de l'exécutable ASTER +# 5. Le type de seuil du problème (maximum ou minimum) +# + fic_Info_ASTER = os.path.join(Rep_Calc_LOGICIEL_global,"InfoExecASTER") + try : + f_execAster = open(fic_Info_ASTER, "w") + except os.error,erreur_partiel : + self.cr.warn("Fichier : "+fic_Info_ASTER) + self.cr.warn("Code d'erreur de open : " + str(erreur_partiel[0]) + " : " + erreur_partiel[1]) + erreur = 2 + break +# + f_execAster.write(str(INFO)+"\n") + f_execAster.write(str(UNITE_ESCL)+"\n") + f_execAster.write(str(MESS_ASTER)+"\n") + f_execAster.write(str(Nom_Exec_ASTER)+"\n") + f_execAster.write(str(SEUIL_TYPE)) + f_execAster.close() + fichier = open (fic_Info_ASTER,"r") +# + if INFO >= 2 : + print "\nContenu du fichier " + fic_Info_ASTER," :" + les_lignes = fichier.readlines() + fichier.close() + print les_lignes, "\n" +# +#____________________________________________________________________ +# +# 3. Les variables par defaut +#____________________________________________________________________ +# +# 3.1. ==> Dictionnaire des valeurs physiques et liées à la loi +# + valeurs_lois = { } +# + for m in VARIABLE : +# + v_moy_physique = None + v_moy_loi = None + v_min_loi = None + v_max_loi = None + sigma_loi = None +# +# 3.1.1. ==> loi uniforme : transfert des min et max +# on définit une moyennne comme étant la médiane des extremes. +# + if m["LOI"] == "UNIFORME" : + v_moy_physique = 0.5 * ( m["VALE_MIN"] + m["VALE_MAX"] ) + v_min_loi = m["VALE_MIN"] + v_max_loi = m["VALE_MAX"] +# +# 3.1.2. ==> loi normale : transfert des moyennne et écart-type. +# + elif m["LOI"] == "NORMALE" : + v_moy_loi = m["VALE_MOY"] + v_moy_physique = v_moy_loi + sigma_loi = m["ECART_TYPE"] +# +# 3.1.3. ==> loi lognormale : identité du min, conversion pour le reste +# + elif m["LOI"] == "LOGNORMALE" : + v_min_loi = m["VALE_MIN"] + if m["VALE_MOY_PHY"] is None : + v_moy_loi = m["VALE_MOY"] + sigma_loi = m["ECART_TYPE"] + aux = Numeric.exp(0.5*sigma_loi*sigma_loi+v_moy_loi) + v_moy_physique = v_min_loi + aux + else : + v_moy_physique = m["VALE_MOY_PHY"] + aux = m["ECART_TYPE_PHY"]/(m["VALE_MOY_PHY"]-m["VALE_MIN"]) + aux1 = 1. + aux*aux + aux2 = Numeric.sqrt(aux1) + v_moy_loi = Numeric.log((m["VALE_MOY_PHY"]-m["VALE_MIN"])/aux2) + aux2 = Numeric.log(aux1) + sigma_loi = Numeric.sqrt(aux2) +# +# 3.1.4. ==> loi normale tronquée : transfert des moyenne, mini/maxi et écart-type +# on définit une moyennne comme étant la médiane des extremes. +# + else : + v_moy_loi = m["VALE_MOY"] + v_min_loi = m["VALE_MIN"] + v_max_loi = m["VALE_MAX"] + sigma_loi = m["ECART_TYPE"] + v_moy_physique = 0.5 * ( m["VALE_MIN"] + m["VALE_MAX"] ) +# + d = { } + d["v_moy_physique"] = v_moy_physique + d["v_moy_loi"] = v_moy_loi + d["v_min_loi"] = v_min_loi + d["v_max_loi"] = v_max_loi + d["sigma_loi"] = sigma_loi + valeurs_lois[m] = d +# +#____________________________________________________________________ +# +# 4. Création des fichiers pour le logiciel de fiabilite +#____________________________________________________________________ +# + if ( LOGICIEL == "MEFISTO" ) : +# +# 4.1. ==> MEFISTO +# + erreur = fiabilite_mefisto.fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global, + INFO, VERSION, + SEUIL, SEUIL_TYPE, + VARIABLE, + valeurs_lois, + **args ) +# +# 4.2. ==> Erreur si autre logiciel +# + else : +# + self.cr.warn("Logiciel de fiabilité : "+LOGICIEL) + erreur = 10 +# +# 4.3. ==> Arret en cas d'erreur +# + if erreur : + break +# +#____________________________________________________________________ +# +# 5. Ecriture de la commande d"exécution du logiciel de fiabilité +# +# Remarque : dans la donnée de la version du logiciel de fiabilité, il faut remplacer +# le _ de la donnée par un ., qui +# est interdit dans la syntaxe du langage de commandes ASTER +# Remarque : il faut remplacer le N majuscule de la donnee par +# un n minuscule, qui est interdit dans la syntaxe du langage +# de commandes ASTER +#____________________________________________________________________ +# +# + VERSION=string.replace(VERSION,"_",".") + VERSION=string.replace(VERSION,"N","n") +# + EXEC_LOGICIEL ( ARGUMENT = (_F(NOM_PARA=Rep_Calc_LOGICIEL_global), # nom du repertoire + _F(NOM_PARA=LOGICIEL), # nom du logiciel de fiabilité + _F(NOM_PARA=VERSION), # version du logiciel de fiabilité + ), + LOGICIEL = fiabilite + ) +# +#-------------------------------------------------------------------- +# 6. C'est fini ! +#-------------------------------------------------------------------- +# + break +# +# 6.1. ==> Arret en cas d'erreur +# + if erreur : + if not messages_erreur.has_key(erreur) : + erreur = 100 + self.cr.fatal(messages_erreur[erreur]) +# +# 6.2. ==> Si tout va bien, on crée une liste de réels pour le retour +# A terme, il serait intéressant d'y mettre les résultats +# de l'analyse fiabiliste. Pour le moment, on se contente de +# mettre une valeur nulle qui permet de faire un test dans +# les commandes appelantes. +# + aux = [float(erreur)] +# + self.DeclareOut("nomres",self.sd) + nomres = DEFI_LIST_REEL( VALE = aux , INFO = 1 ) +# + return +# +########################## Fin de la fonction################################## +# +########################## Auto-test################################## +# +if __name__ == "__main__" : +# + import os + import sys + import tempfile +# + Rep_Calc_LOGICIEL_global = tempfile.mktemp() + os.mkdir(Rep_Calc_LOGICIEL_global) +# + classe = None + INFO = 2 + LOGICIEL = "MEFISTO" + VERSION = "V3_2" + UNITE_ESCL = 38 + MESS_ASTER = "DERNIER" + SEUIL = 1789. + SEUIL_TYPE = "MAXIMUM" + VARIABLE = [] + args = {} +# + lr8 = macr_fiabilite_ops(classe, INFO, + LOGICIEL, VERSION, + UNITE_ESCL, MESS_ASTER, + SEUIL, SEUIL_TYPE, + VARIABLE, + **args ) +### print "lr8 = ", lr8 + Liste = os.listdir(Rep_Calc_LOGICIEL_global) +# + for nomfic in Liste : + fic_total = os.path.join(Rep_Calc_LOGICIEL_global,nomfic) + os.chmod (fic_total,0755) + os.remove (fic_total) + os.rmdir (Rep_Calc_LOGICIEL_global) +# + sys.exit("blabla") diff --git a/Aster/Cata/cataSTA74/Macro/macr_lign_coupe_ops.py b/Aster/Cata/cataSTA74/Macro/macr_lign_coupe_ops.py new file mode 100644 index 00000000..0d57da06 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_lign_coupe_ops.py @@ -0,0 +1,173 @@ +#@ MODIF macr_lign_coupe_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + + +######################################################################## +# script PYTHON de creation d un maillage de ligne de coupe + +def crea_mail_lig_coup(lignes): + + import os,sys,copy + + try: +# construction du maillage au format Aster des segments de lignes de coupe + + nblig=len(lignes) + dimension=len(lignes[0][0]) + + resu='TITRE\n' + titre='Maillage ligne de coupe'+'\n' + resu=resu+'FINSF\n' + resu=resu+'COOR_'+str(dimension)+'D\n' + +# creation des noeuds + nbno=0 + for i in range(nblig): + pt1 = lignes[i][0] + pt2 = lignes[i][1] + nbp_lig_coupe = lignes[i][2] + for j in range(nbp_lig_coupe): + if dimension==2: + x=pt1[0]+j*(pt2[0]-pt1[0])/(nbp_lig_coupe-1) + y=pt1[1]+j*(pt2[1]-pt1[1])/(nbp_lig_coupe-1) + nbno=nbno+1 + noeud=' N'+str(nbno)+' '+str(x)+' '+str(y)+'\n' + resu=resu+noeud + elif dimension==3: + x=pt1[0]+j*(pt2[0]-pt1[0])/(nbp_lig_coupe-1) + y=pt1[1]+j*(pt2[1]-pt1[1])/(nbp_lig_coupe-1) + z=pt1[2]+j*(pt2[2]-pt1[2])/(nbp_lig_coupe-1) + nbno=nbno+1 + noeud=' N'+str(nbno)+' '+str(x)+' '+str(y)+' '+str(z)+'\n' + resu=resu+noeud + resu=resu+'FINSF\n' + +# creation des mailles + nbma=0 + for i in range(nblig): + nbp_lig_coupe = lignes[i][2] + resu=resu+'SEG2\n' + for j in range(nbp_lig_coupe-1): + nbma=nbma+1 + maille=' M'+str(nbma)+' N'+str(nbma+i)+' N'+str(nbma+1+i)+'\n' + resu=resu+maille + resu=resu+'FINSF\n' + +# creation des groupes de mailles (1 par ligne de coupe) + nbma=0 + for i in range(nblig): + resu=resu+'GROUP_MA\n' + resu=resu+' LICOU'+str(i+1) + nbp_lig_coupe = lignes[i][2] + for j in range(nbp_lig_coupe-1): + nbma=nbma+1 + resu=resu+' M'+str(nbma)+'\n' + resu=resu+'\n' + resu=resu+'FINSF\n' + resu=resu+'FIN\n' + + return resu + + except : + return 0 + +######################################################################## +def macr_lign_coupe_ops(self,RESULTAT,UNITE_MAILLAGE,LIGN_COUPE,MODELE, + NOM_CHAM,**args): + """ + Ecriture de la macro MACR_LIGN_COUPE + """ + import os + from Accas import _F + from Noyau.N_utils import AsType + ier=0 + + # On importe les definitions des commandes a utiliser dans la macro + LIRE_MAILLAGE =self.get_cmd('LIRE_MAILLAGE') + DEFI_GROUP =self.get_cmd('DEFI_GROUP') + AFFE_MODELE =self.get_cmd('AFFE_MODELE') + PROJ_CHAMP =self.get_cmd('PROJ_CHAMP') + POST_RELEVE_T =self.get_cmd('POST_RELEVE_T') + + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + lignes=[] + for m in LIGN_COUPE : + lignes.append((m['COOR_ORIG'],m['COOR_EXTR'],m['NB_POINTS'])) + + # Création du maillage des NB_POINTS segments entre COOR_ORIG et COOR_EXTR + # par appel au script python crea_mail_lig_coup + # le maillage est ensuite recopié dans l unité logique UNITE_MAILLAGE + + resu_mail=crea_mail_lig_coup(lignes) + cur_dir=os.getcwd() + nomFichierSortie =cur_dir+'/fort.'+str(UNITE_MAILLAGE) + fproc=open(nomFichierSortie,'w') + fproc.write(resu_mail) + fproc.close() + + # Lecture du maillage de seg2 contenant toutes les lignes de coupe + + __macou=LIRE_MAILLAGE(UNITE=UNITE_MAILLAGE,); + + motscles={} + iocc=1 + motscles['CREA_GROUP_NO']=[] + for m in LIGN_COUPE : + motscles['CREA_GROUP_NO'].append(_F(GROUP_MA='LICOU'+str(iocc),) ) + iocc=iocc+1 + __macou=DEFI_GROUP( reuse =__macou , MAILLAGE=__macou , **motscles ); + + if AsType(RESULTAT).__name__ in ('evol_elas','evol_noli') : + __mocou=AFFE_MODELE(MAILLAGE=__macou, + AFFE=_F(TOUT='OUI', + PHENOMENE='MECANIQUE', + MODELISATION='BARRE',),); + elif AsType(RESULTAT).__name__ in ('evol_ther',) : + __mocou=AFFE_MODELE(MAILLAGE=__macou, + AFFE=_F(TOUT='OUI', + PHENOMENE='THERMIQUE', + MODELISATION='PLAN',),); + + __recou=PROJ_CHAMP(METHODE='ELEM', + RESULTAT=RESULTAT, + MODELE_1=MODELE, + MODELE_2=__mocou, + NOM_CHAM=NOM_CHAM,); + + # Production d'une table par ligne de coupe + # Toutes les tables sont des concepts sortant de la macro définies + # dans chaque occurence du mcfact lign_coupe + + iocc=1 + for m in LIGN_COUPE : + self.DeclareOut('tt',m['TABLE']) + tt=POST_RELEVE_T(ACTION=_F(INTITULE = 'lig.coupe'+str(iocc), + RESULTAT = __recou, + GROUP_NO = 'LICOU'+str(iocc), + NOM_CHAM = NOM_CHAM, + TOUT_CMP = 'OUI', + OPERATION = 'EXTRACTION', ),); + iocc=iocc+1 + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macr_recal_ops.py b/Aster/Cata/cataSTA74/Macro/macr_recal_ops.py new file mode 100644 index 00000000..308846a5 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macr_recal_ops.py @@ -0,0 +1,162 @@ +#@ MODIF macr_recal_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, + ITER_MAXI, RESI_GLOB_RELA,UNITE_RESU,PARA_DIFF_FINI, + GRAPHIQUE, **args ): + """Macro commande réalisant le recalage de modèles Aster""", + # Initialisation du compteur d'erreurs + ier=0 + # On essaie d'importer Numeric -> ERREUR FATALE + try: + import Numeric + except ImportError: + ier=ier+1 + self.cr.fatal(" Le module Numeric de Python n'a pu etre chargé") + return ier + # On essaie d'importer Gnuplot -> PAS DE GRAPHIQUE + try: + import Gnuplot + gnuplot=1 + except ImportError: + gnuplot=0 + import string + import copy + import types + import Macro + from Cata import cata + from Cata.cata import DEFI_LIST_REEL + from Macro.recal import gestion,transforme_list_Num,EXTRACT,calcul_F,graphique + from Macro import reca_message + from Macro import reca_algo + from Macro import reca_interp + # La macro compte pour 1 dans l'execution des commandes + #self.icmd=1 + self.set_icmd(1) + + self.DeclareOut('nomres',self.sd) + + #_______________________________________________ + # + # GESTION DE L'OPTION FACULTATIVE POUR LES POIDS + #_______________________________________________ + if( POIDS == None): + POIDS=Numeric.ones(len(RESU_EXP)) + + #_____________________________________________ + # + # GESTION DES ERREURS DE SYNTAXE + #_____________________________________________ + texte_erreur = gestion(UNITE_ESCL,LIST_PARA,RESU_CALC,RESU_EXP,POIDS,GRAPHIQUE,UNITE_RESU) + if (texte_erreur != ""): + ier=ier+1 + texte_erreur=' '+texte_erreur + self.cr.fatal(texte_erreur) + return ier + + #_____________________________________________ + # + # 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'): + self.current_context[k]= v + self.current_context['_F']=cata.__dict__['_F'] + self.g_context['EXTRACT']=EXTRACT + + #_____________________________________________ + # + # INITIALISATIONS + #_____________________________________________ + iter = 0 + restant,temps_iter=0.,0. + restant,temps_iter,err=reca_algo.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) + #instance de la classe gérant l'affichage des resultats du calcul de l'optimisation + Mess = reca_message.Message(para,RESU_EXP,copy.copy(val_init),UNITE_RESU) + #instances des classes pour le calcul de l'erreur et le dimensionnemnt/adim + Simul = reca_interp.Sim_exp(RESU_EXP,POIDS) + Dim = reca_algo.Dimension(copy.copy(val_init),para) + L_J_init,erreur = Simul.multi_interpole(L_init, RESU_CALC) + J_init = Simul.norme_J(copy.copy(L_J_init),copy.copy(L_J_init),UNITE_RESU) + J = J_init + A = Simul.sensibilite(self,UNITE_ESCL,L_init,val,para,RESU_CALC,PARA_DIFF_FINI,UNITE_RESU) + A = Dim.adim_sensi(A) + l = reca_algo.lambda_init(Numeric.matrixmultiply(Numeric.transpose(A),A)) + gradient_init =reca_algo.calcul_gradient(A,erreur) #utile pour le test de convergence, on prend les valeurs dimensionnées + residu = reca_algo.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=reca_algo.temps_CPU(self,restant,temps_iter) + if (err==1): + ier=ier+1 + return ier + + #_____________________________________________ + # + # BOUCLE PRINCIPALE DE L'ALGORITHME + #_____________________________________________ + epsilon = 10.*RESI_GLOB_RELA + while((residu > RESI_GLOB_RELA) & (iter On ne peut avoir a la fois NOM_CAS et MODE_FOURIER""") + return ier + + if (numeddl in self.sdprods) or (numeddl==None): + # Si le concept numeddl est dans self.sdprods ou n est pas nommé + # il doit etre produit par la macro + # il faudra donc appeler la commande NUME_DDL + lnume = 1 + else: + lnume = 0 + + if ielas==1 : + motscles={} + if CHAR_MECA_GLOBAL: motscles['CHARGE'] =CHAR_MECA_GLOBAL + elif CHAR_CINE_GLOBAL: motscles['CHARGE'] =CHAR_CINE_GLOBAL + if CHAM_MATER : motscles['CHAM_MATER']=CHAM_MATER + if CARA_ELEM : motscles['CARA_ELEM'] =CARA_ELEM + __nomrig=CALC_MATR_ELEM(OPTION='RIGI_MECA',MODELE=MODELE,**motscles) + + if lnume: + # On peut passer des mots cles egaux a None. Ils sont ignores + motscles={} + if SOLVEUR: + motscles['METHODE'] =SOLVEUR['METHODE'] + motscles['RENUM'] =SOLVEUR['RENUM'] + else: + motscles['METHODE'] ='MULT_FRONT' + motscles['RENUM'] ='METIS' + if numeddl!=None: + self.DeclareOut('num',numeddl) + num=NUME_DDL(MATR_RIGI=__nomrig,**motscles) + else: + _num=NUME_DDL(MATR_RIGI=__nomrig,**motscles) + num=_num + else: + num=numeddl + + __nomras=ASSE_MATRICE(MATR_ELEM=__nomrig,NUME_DDL=num) + + __nomraf=FACT_LDLT(MATR_ASSE=__nomras,NPREC=SOLVEUR['NPREC'],STOP_SINGULIER=SOLVEUR['STOP_SINGULIER']) + +##################################################################### +# boucle sur les items de CAS_CHARGE + + nomchn=[] + iocc=0 + for m in CAS_CHARGE: + iocc=iocc+1 + + if ifour: + motscles={} + if CHAR_MECA_GLOBAL: motscles['CHARGE'] =CHAR_MECA_GLOBAL + elif CHAR_CINE_GLOBAL: motscles['CHARGE'] =CHAR_CINE_GLOBAL + if CHAM_MATER : motscles['CHAM_MATER'] =CHAM_MATER + if CARA_ELEM : motscles['CARA_ELEM'] =CARA_ELEM + motscles['MODE_FOURIER'] =m['MODE_FOURIER'] + __nomrig=CALC_MATR_ELEM(OPTION='RIGI_MECA',MODELE=MODELE,**motscles) + + if lnume: + _num=NUME_DDL(MATR_RIGI=__nomrig,METHODE=SOLVEUR['METHODE'],RENUM=SOLVEUR['RENUM']) + num=_num + lnume=0 + + __nomras=ASSE_MATRICE(MATR_ELEM=__nomrig,NUME_DDL=num) + + __nomraf=FACT_LDLT(MATR_ASSE=__nomras,NPREC=SOLVEUR['NPREC'],STOP_SINGULIER=SOLVEUR['STOP_SINGULIER']) + + + if m['VECT_ASSE']==None : + motscles={} + if CHAM_MATER : motscles['CHAM_MATER'] =CHAM_MATER + if CARA_ELEM : motscles['CARA_ELEM'] =CARA_ELEM + if ifour : motscles['MODE_FOURIER'] =m['MODE_FOURIER'] + if m['CHAR_MECA'] : motscles['CHARGE'] =m['CHAR_MECA'] + elif m['CHAR_CINE'] : motscles['CHARGE'] =m['CHAR_CINE'] + __nomvel=CALC_VECT_ELEM(OPTION='CHAR_MECA',**motscles) + __nomasv=ASSE_VECTEUR(VECT_ELEM=__nomvel,NUME_DDL=num) + else : + __nomasv=m['VECT_ASSE'] + + + __nomchn=RESO_LDLT(MATR_FACT=__nomraf,CHAM_NO=__nomasv,TITRE=m['SOUS_TITRE']) + nomchn.append(__nomchn) + +# fin de la boucle sur les items de CAS_CHARGE +##################################################################### + + motscles={} + iocc=0 + motscle2={} + if CHAM_MATER : motscle2['CHAM_MATER']=CHAM_MATER + if CARA_ELEM : motscle2['CARA_ELEM']=CARA_ELEM + if CHAM_MATER or CARA_ELEM : + if ielas : + motscles['AFFE']=[] + for m in CAS_CHARGE: + motscles['AFFE'].append(_F(MODELE=MODELE, + CHAM_GD=nomchn[iocc], + NOM_CAS=m['NOM_CAS'], + **motscle2) ) + iocc=iocc+1 + else : + motscles['AFFE']=[] + for m in CAS_CHARGE: + motscles['AFFE'].append(_F(MODELE=MODELE, + CHAM_GD=nomchn[iocc], + NUME_MODE=m['MODE_FOURIER'], + TYPE_MODE=m['TYPE_MODE'], + **motscle2) ) + iocc=iocc+1 + else: + if ielas : + motscles['AFFE']=[] + for m in CAS_CHARGE: + motscles['AFFE'].append(_F(MODELE=MODELE, + CHAM_GD=nomchn[iocc], + NOM_CAS=m['NOM_CAS'],) ) + iocc=iocc+1 + else : + motscles['AFFE']=[] + for m in CAS_CHARGE: + motscles['AFFE'].append(_F(MODELE=MODELE, + CHAM_GD=nomchn[iocc], + NUME_MODE=m['MODE_FOURIER'], + TYPE_MODE=m['TYPE_MODE'],) ) + iocc=iocc+1 + + + nomres=CREA_RESU(OPERATION='AFFE',TYPE_RESU=tyresu,NOM_CHAM='DEPL',**motscles) + +##################################################################### +# boucle sur les items de CAS_CHARGE pour CALC_ELEM ete CALC_NO + + iocc=0 + for m in CAS_CHARGE: + iocc=iocc+1 + + if m['OPTION']: + nbel=0 + nbno=0 + liste_el=[] + liste_no=[] + if type(m['OPTION'])==types.StringType: + if m['OPTION'] in ('FORC_NODA','REAC_NODA', + 'EPSI_NOEU_DEPL','SIGM_NOEU_DEPL','EFGE_NOEU_DEPL', + 'EQUI_NOEU_SIGM','EQUI_NOEU_EPSI','FLUX_NOEU_TEMP',): + nbno=nbno+1 + liste_no.append(m['OPTION']) + else: + nbel=nbel+1 + liste_el.append(m['OPTION']) + else: + for opt in m['OPTION']: + if opt in ('FORC_NODA','REAC_NODA', + 'EPSI_NOEU_DEPL','SIGM_NOEU_DEPL','EFGE_NOEU_DEPL', + 'EQUI_NOEU_SIGM','EQUI_NOEU_EPSI','FLUX_NOEU_TEMP',): + nbno=nbno+1 + liste_no.append(opt) + else: + nbel=nbel+1 + liste_el.append(opt) + + lreac=0 + if nbel: + motscles={} + if CHAM_MATER : motscles['CHAM_MATER'] =CHAM_MATER + if CARA_ELEM : motscles['CARA_ELEM'] =CARA_ELEM + if ielas: + motscles['NOM_CAS']=m['NOM_CAS'] + else: + motscles['NUME_MODE']=m['MODE_FOURIER'] + motscles['EXCIT']=[] + if m['CHAR_MECA'] : + for chargt in m['CHAR_MECA'] : motscles['EXCIT'].append(_F(CHARGE=chargt)) + elif m['CHAR_CINE'] : + for chargt in m['CHAR_CINE'] : motscles['EXCIT'].append(_F(CHARGE=chargt)) + if CHAR_MECA_GLOBAL: motscles['EXCIT'].append(_F(CHARGE=CHAR_MECA_GLOBAL)) + elif CHAR_CINE_GLOBAL: motscles['EXCIT'].append(_F(CHARGE=CHAR_CINE_GLOBAL)) + CALC_ELEM(reuse=nomres, + RESULTAT=nomres, + MODELE=MODELE, + NIVE_COUCHE=m['NIVE_COUCHE'], + NUME_COUCHE=m['NUME_COUCHE'], + OPTION=tuple(liste_el), + **motscles) + if nbno: + motscles={} + if CHAM_MATER : motscles['CHAM_MATER'] =CHAM_MATER + if CARA_ELEM : motscles['CARA_ELEM'] =CARA_ELEM + if ielas: + motscles['NOM_CAS']=m['NOM_CAS'] + else: + motscles['NUME_MODE']=m['MODE_FOURIER'] + motscles['EXCIT']=[] + if m['CHAR_MECA'] : + for chargt in m['CHAR_MECA'] : motscles['EXCIT'].append(_F(CHARGE=chargt)) + elif m['CHAR_CINE'] : + for chargt in m['CHAR_CINE'] : motscles['EXCIT'].append(_F(CHARGE=chargt)) + if CHAR_MECA_GLOBAL: motscles['EXCIT'].append(_F(CHARGE=CHAR_MECA_GLOBAL)) + elif CHAR_CINE_GLOBAL: motscles['EXCIT'].append(_F(CHARGE=CHAR_CINE_GLOBAL)) + CALC_NO(reuse=nomres, + RESULTAT=nomres, + MODELE=MODELE, + OPTION=tuple(liste_no), + **motscles) + +# fin de la boucle sur les items de CAS_CHARGE +##################################################################### + return ier + diff --git a/Aster/Cata/cataSTA74/Macro/macro_matr_ajou_ops.py b/Aster/Cata/cataSTA74/Macro/macro_matr_ajou_ops.py new file mode 100644 index 00000000..34595923 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macro_matr_ajou_ops.py @@ -0,0 +1,260 @@ +#@ MODIF macro_matr_ajou_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATION,MODE_MECA,DEPL_IMPO, + NUME_DDL_GENE,MODELE_GENE,MATR_MASS_AJOU,MATR_AMOR_AJOU,MATR_RIGI_AJOU, + NOEUD_DOUBLE,FLUIDE,DDL_IMPO,DIST_REFE,SOLVEUR,INFO,AVEC_MODE_STAT, + MODE_STAT,MONO_APPUI, + FORC_AJOU,ECOULEMENT,**args): + """ + Ecriture de la macro MACRO_MATR_AJOU + """ + from Accas import _F + import types + ier=0 + + # On importe les definitions des commandes a utiliser dans la macro + DEFI_MATERIAU =self.get_cmd('DEFI_MATERIAU') + AFFE_MATERIAU =self.get_cmd('AFFE_MATERIAU') + AFFE_MODELE =self.get_cmd('AFFE_MODELE') + AFFE_CHAR_THER =self.get_cmd('AFFE_CHAR_THER') + CALC_MATR_AJOU =self.get_cmd('CALC_MATR_AJOU') + THER_LINEAIRE =self.get_cmd('THER_LINEAIRE') + CALC_FORC_AJOU =self.get_cmd('CALC_FORC_AJOU') + + # La macro compte pour 1 dans la numerotation des commandes + self.set_icmd(1) + + if len(FLUIDE)==1 : + print ' tout le domaine fluide specifie dans GROUP_MA_INTERF et GROUP_MA_FLUIDE' + print ' sera affecte par la masse volumique RHO = ',FLUIDE['RHO'] + if FLUIDE['GROUP_MA']!=None : + print ' cas fluide simple : le group_ma dans lequel vous affectez la masse' + print 'volumique RHO doit etre la reunion de GROUP_MA_INTERF et GROUP_MA_FLUIDE.' + else : + for flu in FLUIDE : + if flu['GROUP_MA']==None : + self.cr.fatal(" cas fluides multiples : precisez le GROUP_MA dans lequel vous affectez la masse volumique RHO.") + ier=ier+1 + return ier + + IOCFLU=len(FLUIDE) + +# --------------------------------------------------------------- +# definition du materiau fluide par caracteristique +# thermique equivalente + +# CAS FLUIDE SIMPLE + if IOCFLU==1 : + __NOMMAT=DEFI_MATERIAU( THER = _F( LAMBDA = 1.0, + RHO_CP = FLUIDE[0]['RHO'])) + __NOMCMA=AFFE_MATERIAU( MAILLAGE = MAILLAGE, + AFFE = _F( GROUP_MA = (GROUP_MA_FLUIDE,GROUP_MA_INTERF), + MATER = __NOMMAT), ) + +# --------------------------------------------------------------- +# cas fluides multiples + else : + affmat=[] + for flu in FLUIDE: + __NOMMAT=DEFI_MATERIAU( THER = _F( LAMBDA = 1.0, + RHO_CP = flu['RHO'])) + mfact=_F(GROUP_MA=flu['GROUP_MA'],MATER=__NOMMAT) + affmat.append(mfact) + + __NOMCMA=AFFE_MATERIAU( MAILLAGE = MAILLAGE, + AFFE = affmat ) + +# --------------------------------------------------------------- +# commande AFFE_MODELE modele fluide + __NOMFLU=AFFE_MODELE( MAILLAGE = MAILLAGE, + AFFE = _F( GROUP_MA = (GROUP_MA_FLUIDE,GROUP_MA_INTERF), + MODELISATION = MODELISATION, + PHENOMENE = 'THERMIQUE' ), ) + +# --------------------------------------------------------------- +# commande AFFE_MODELE modele interface + __NOMINT=AFFE_MODELE( MAILLAGE = MAILLAGE, + AFFE = _F( GROUP_MA = GROUP_MA_INTERF, + MODELISATION = MODELISATION, + PHENOMENE = 'THERMIQUE' ), ) + +# --------------------------------------------------------------- +# commande AFFE_CHAR_THER condition de pression imposee +# en un point ou un groupe du fluide + affimp=[] + nflui=0 + for DDL in DDL_IMPO : + if DDL['PRES_FLUIDE']!=None : + nflui=nflui+1 + if DDL['NOEUD'] !=None : mfact=_F(NOEUD =DDL['NOEUD'], TEMP=DDL['PRES_FLUIDE']) + if DDL['GROUP_NO']!=None : mfact=_F(GROUP_NO=DDL['GROUP_NO'],TEMP=DDL['PRES_FLUIDE']) + affimp.append(mfact) + if nflui==0: + self.cr.fatal(" PRES_FLUIDE obligatoire une fois") + ier=ier+1 + return ier + + __CHARGE=AFFE_CHAR_THER( MODELE = __NOMFLU, + TEMP_IMPO = affimp ) + +# --------------------------------------------------------------- +# calcul des masses, rigidites et amortissements ajoutes en theorie +# potentielle +# commande CALC_MATR_AJOU, calcul de la masse ajoutee + + if MATR_MASS_AJOU!=None : + self.DeclareOut('MASSAJ',MATR_MASS_AJOU) + solveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + mostcles={} + if NUME_DDL_GENE!=None : mostcles['NUME_DDL_GENE'] =NUME_DDL_GENE + if INFO !=None : mostcles['INFO'] =INFO + if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA + elif DEPL_IMPO !=None : mostcles['CHAM_NO'] =DEPL_IMPO + elif MODELE_GENE !=None : + mostcles['MODELE_GENE'] =MODELE_GENE + mostcles['AVEC_MODE_STAT']=AVEC_MODE_STAT + mostcles['DIST_REFE'] =DIST_REFE + if NOEUD_DOUBLE !=None : mostcles['NOEUD_DOUBLE'] =NOEUD_DOUBLE + + MASSAJ = CALC_MATR_AJOU(MODELE_FLUIDE = __NOMFLU, + MODELE_INTERFACE = __NOMINT, + CHARGE = __CHARGE, + CHAM_MATER = __NOMCMA, + OPTION = 'MASS_AJOU', + SOLVEUR = solveur, + **mostcles) + +# --------------------------------------------------------------- +# calcul de l amortissement ajoute + if (MATR_AMOR_AJOU!=None ) or (MATR_RIGI_AJOU!=None ): + +# --------------------------------------------------------------- +# on definit un nouveau modele fluide pour calculer +# le potentiel stationnaire - AFFE_MODELE + grma=[GROUP_MA_FLUIDE,] + if ECOULEMENT!=None : + grma.append(ECOULEMENT['GROUP_MA_1']) + grma.append(ECOULEMENT['GROUP_MA_2']) + __NOFLUI=AFFE_MODELE( MAILLAGE = MAILLAGE, + AFFE = _F( GROUP_MA = grma, + MODELISATION = MODELISATION, + PHENOMENE = 'THERMIQUE' ), ) + affimp=[] + for DDL in DDL_IMPO : + if DDL['PRES_SORTIE']!=None : + if DDL['NOEUD'] !=None : mfact=_F(NOEUD =DDL['NOEUD'], TEMP=DDL['PRES_SORTIE']) + if DDL['GROUP_NO']!=None : mfact=_F(GROUP_NO=DDL['GROUP_NO'],TEMP=DDL['PRES_SORTIE']) + affimp.append(mfact) + + affecl=[] + for ECL in ECOULEMENT : + mfact=_F(GROUP_MA=ECL['GROUP_MA_1'],FLUN=ECL['VNOR_1']) + affecl.append(mfact) + mfact=_F(GROUP_MA=ECL['GROUP_MA_2'],FLUN=ECL['VNOR_2']) + affecl.append(mfact) + __CHARG2=AFFE_CHAR_THER( MODELE = __NOFLUI, + TEMP_IMPO = affimp , + FLUX_REP = affecl ) + + __POTEN = THER_LINEAIRE( MODELE = __NOFLUI, + CHAM_MATER = __NOMCMA , + EXCIT = _F( CHARGE = __CHARG2 ) ) + +# --------------------------------------------------------------- +# calcul amortissement proprement dit + if MATR_AMOR_AJOU!=None : + self.DeclareOut('AMORAJ',MATR_AMOR_AJOU) + solveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + mostcles={} + if NUME_DDL_GENE!=None : mostcles['NUME_DDL_GENE'] =NUME_DDL_GENE + if INFO !=None : mostcles['INFO'] =INFO + if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA + elif DEPL_IMPO !=None : mostcles['CHAM_NO'] =DEPL_IMPO + else : + self.cr.fatal(" amortissement ajoute sur modele generalise non encore implante") + ier=ier+1 + return ier + + AMORAJ = CALC_MATR_AJOU(MODELE_FLUIDE = __NOMFLU, + MODELE_INTERFACE = __NOMINT, + CHARGE = __CHARGE, + CHAM_MATER = __NOMCMA, + OPTION = 'AMOR_AJOU', + SOLVEUR = solveur, + POTENTIEL = __POTEN, + **mostcles) + +# --------------------------------------------------------------- +# calcul de la rigidite ajoutee + if MATR_RIGI_AJOU!=None : + self.DeclareOut('RIGIAJ',MATR_RIGI_AJOU) + solveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + mostcles={} + if NUME_DDL_GENE!=None : mostcles['NUME_DDL_GENE'] =NUME_DDL_GENE + if INFO !=None : mostcles['INFO'] =INFO + if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA + elif DEPL_IMPO !=None : mostcles['CHAM_NO'] =DEPL_IMPO + else : + self.cr.fatal(" rigidite ajoutee sur modele generalise non encore implante") + ier=ier+1 + return ier + + RIGIAJ = CALC_MATR_AJOU(MODELE_FLUIDE = __NOMFLU, + MODELE_INTERFACE = __NOMINT, + CHARGE = __CHARGE, + CHAM_MATER = __NOMCMA, + OPTION = 'RIGI_AJOU', + SOLVEUR = solveur, + POTENTIEL = __POTEN, + **mostcles) + +# --------------------------------------------------------------- +# boucle sur le nombre de vecteurs a projeter, commande CALC_FORC_AJOU + if FORC_AJOU!=None : + for FORCAJ in FORC_AJOU: + self.DeclareOut('VECTAJ',FORCAJ['VECTEUR']) + solveur=SOLVEUR[0].cree_dict_valeurs(SOLVEUR[0].mc_liste) + mostcles={} + if NUME_DDL_GENE!=None : mostcles['NUME_DDL_GENE'] =NUME_DDL_GENE + if MODE_MECA !=None : mostcles['MODE_MECA'] =MODE_MECA + elif MODELE_GENE !=None : + mostcles['MODELE_GENE'] =MODELE_GENE + mostcles['AVEC_MODE_STAT']=AVEC_MODE_STAT + mostcles['DIST_REFE'] =DIST_REFE + if NOEUD_DOUBLE !=None : mostcles['NOEUD_DOUBLE'] =NOEUD_DOUBLE + if MODE_STAT !=None : + mostcles['MODE_STAT'] =MODE_STAT + if FORCAJ['NOEUD'] !=None : mostcles['NOEUD'] =FORCAJ['NOEUD'] + if FORCAJ['GROUP_NO'] !=None : mostcles['GROUP_NO'] =FORCAJ['GROUP_NO'] + else : + mostcles['MONO_APPUI'] =MONO_APPUI + + VECTAJ = CALC_FORC_AJOU(DIRECTION = FORCAJ['DIRECTION'], + MODELE_FLUIDE = __NOMFLU, + MODELE_INTERFACE = __NOMINT, + CHARGE = __CHARGE, + CHAM_MATER = __NOMCMA, + SOLVEUR = solveur, + **mostcles) + + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macro_matr_asse_ops.py b/Aster/Cata/cataSTA74/Macro/macro_matr_asse_ops.py new file mode 100644 index 00000000..5466b685 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macro_matr_asse_ops.py @@ -0,0 +1,160 @@ +#@ MODIF macro_matr_asse_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE, + SOLVEUR,NUME_DDL,CHARGE,INST,**args): + """ + Ecriture de la macro MACRO_MATR_ASSE + """ + ier=0 + + # On met le mot cle NUME_DDL dans une variable locale pour le proteger + numeddl=NUME_DDL + # On importe les definitions des commandes a utiliser dans la macro + # Le nom de la variable doit etre obligatoirement le nom de la commande + CALC_MATR_ELEM=self.get_cmd('CALC_MATR_ELEM') + NUME_DDL =self.get_cmd('NUME_DDL') + ASSE_MATRICE =self.get_cmd('ASSE_MATRICE') + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + if SOLVEUR: + methode=SOLVEUR['METHODE'] + if methode=='LDLT': + if SOLVEUR['RENUM']: + renum=SOLVEUR['RENUM'] + else: + renum='RCMK' + if renum not in ('SANS','RCMK'): + ier=ier+1 + self.cr.fatal(" Avec methode LDLT, RENUM doit etre SANS ou RCMK.") + return ier + elif methode=='MULT_FRONT': + if SOLVEUR['RENUM']: + renum=SOLVEUR['RENUM'] + else: + renum='MDA' + if renum not in ('MDA','MD','METIS'): + ier=ier+1 + self.cr.fatal(" Avec methode MULT_FRONT, RENUM doit etre MDA, MD ou RCMK.") + return ier + elif methode=='GCPC': + if SOLVEUR['RENUM']: + renum=SOLVEUR['RENUM'] + else: + renum='SANS' + if renum not in ('SANS','RCMK'): + ier=ier+1 + self.cr.fatal(" Avec methode GCPC, RENUM doit etre SANS ou RCMK.") + return ier + else: + methode='MULT_FRONT' + renum ='MDA' + + if numeddl in self.sdprods: + # Si le concept numeddl est dans self.sdprods + # il doit etre produit par la macro + # il faudra donc appeler la commande NUME_DDL + lnume = 1 + else: + lnume = 0 + lrigel = 0 + lmasel = 0 + +# decalage eventuel en premiere position dans la liste de l occurence de MATR_ASSE contenant +# l option de rigidite + try : + for m in MATR_ASSE: + option=m['OPTION'] + if option in ('RIGI_MECA','RIGI_MECA_LAGR','RIGI_THER','RIGI_ACOU') : + decal=m + MATR_ASSE.remove(decal) + MATR_ASSE.insert(0,decal) + break + except: pass + + iocc=0 + for m in MATR_ASSE: + iocc=iocc+1 + option=m['OPTION'] + if iocc == 1 and lnume == 1 and option not in ('RIGI_MECA','RIGI_MECA_LAGR', + 'RIGI_THER','RIGI_ACOU') : + ier=ier+1 + self.cr.fatal(" UNE DES OPTIONS DOIT ETRE RIGI_MECA OU RIGI_THER OU RIGI_ACOU OU RIGI_MECA_LAGR") + return ier + + if m['SIEF_ELGA']!=None and option!='RIGI_GEOM': + ier=ier+1 + self.cr.fatal(" SIEF_ELGA N EST ADMIS QU AVEC L OPTION RIGI_GEOM") + return ier + + if m['MODE_FOURIER']!=None and option not in ('RIGI_MECA','RIGI_FLUI_STRU','RIGI_THER'): + ier=ier+1 + self.cr.fatal(" MODE_FOURIER N EST ADMIS QU AVEC UNE DES OPTIONS RIGI_MECA RIGI_FLUI_STRU RIGI_THER") + return ier + + if (m['THETA']!=None or m['PROPAGATION']!=None) and option!='RIGI_MECA_LAGR': + ier=ier+1 + self.cr.fatal(" PROPAGATION ET,OU THETA NE SONT ADMIS QU AVEC L OPTION RIGI_MECA_LAGR") + return ier + + motscles={'OPTION':option} + if option == 'AMOR_MECA': + if (not lrigel or not lmasel): + ier=ier+1 + self.cr.fatal(""" POUR CALCULER AMOR_MECA, IL FAUT AVOIR CALCULE + RIGI_MECA ET MASS_MECA AUPARAVANT (DANS LE MEME APPEL)""") + return ier + if CHAM_MATER != None: + motscles['RIGI_MECA'] =rigel + motscles['MASS_MECA'] =masel + if CHARGE != None: + if option[0:9] not in ('MASS_THER','RIGI_GEOM','MASS_ID_M'): + motscles['CHARGE'] =CHARGE + if CHAM_MATER != None: motscles['CHAM_MATER'] =CHAM_MATER + if CARA_ELEM != None: motscles['CARA_ELEM'] =CARA_ELEM + if INST != None: motscles['INST'] =INST + if m['SIEF_ELGA'] : motscles['SIEF_ELGA'] =m['SIEF_ELGA'] + if m['MODE_FOURIER']: motscles['MODE_FOURIER']=m['MODE_FOURIER'] + if m['THETA'] : motscles['THETA'] =m['THETA'] + if m['PROPAGATION'] : motscles['PROPAGATION'] =m['PROPAGATION'] + + __a=CALC_MATR_ELEM(MODELE=MODELE,**motscles) + + if option == 'RIGI_MECA': + rigel = __a + lrigel = 1 + if option == 'MASS_MECA': + masel = __a + lmasel = 1 + + if lnume and option in ('RIGI_MECA','RIGI_THER','RIGI_ACOU','RIGI_MECA_LAGR'): + self.DeclareOut('num',numeddl) + # On peut passer des mots cles egaux a None. Ils sont ignores + num=NUME_DDL(MATR_RIGI=__a,METHODE=methode,RENUM=renum) + else: + num=numeddl + + self.DeclareOut('mm',m['MATRICE']) + mm=ASSE_MATRICE(MATR_ELEM=__a,NUME_DDL=num) + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macro_miss_3d_ops.py b/Aster/Cata/cataSTA74/Macro/macro_miss_3d_ops.py new file mode 100644 index 00000000..0d5d360b --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macro_miss_3d_ops.py @@ -0,0 +1,76 @@ +#@ MODIF macro_miss_3d_ops Macro DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA +# -*- coding: iso-8859-1 -*- +# 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 macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS, + UNITE_MODELE_SOL,UNITE_RESU_IMPE, + PROJET,REPERTOIRE,OPTION,VERSION,**args): + """ + Ecriture de la macro MACRO_MISS_3D + """ + 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 + DEFI_FICHIER =self.get_cmd('DEFI_FICHIER') + EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL') + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER) + + import aster + loc_fic=aster.repout() + miss3d=loc_fic+'miss3d' + #miss3d='/home/acbhhcd/MISS3D/V6.4/miss3d.csh' + + if OPTION['TOUT']!=None: + MODUL2='COMPLET' + elif OPTION['MODULE']=='MISS_IMPE': + MODUL2='CALC_IMPE' + elif OPTION['MODULE']=='MISS_EVOL': + MODUL2='MISS_PTAS' + elif OPTION['MODULE']=='PRE_MISS': + MODUL2='GTASTER' + + ETUDE = PROJET + BASE = REPERTOIRE + paste = 'fort.'+str(UNITE_IMPR_ASTER) + popti = 'fort.'+str(UNITE_OPTI_MISS) + pdsol = 'fort.'+str(UNITE_MODELE_SOL) + primp = 'fort.'+str(UNITE_RESU_IMPE) + + EXEC_LOGICIEL( + LOGICIEL=miss3d, + ARGUMENT=(_F(NOM_PARA=MODUL2), + _F(NOM_PARA=ETUDE), + _F(NOM_PARA=BASE), + _F(NOM_PARA=paste), + _F(NOM_PARA=popti), + _F(NOM_PARA=pdsol), + _F(NOM_PARA=primp), + _F(NOM_PARA=VERSION), ), + ) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macro_mode_meca_ops.py b/Aster/Cata/cataSTA74/Macro/macro_mode_meca_ops.py new file mode 100644 index 00000000..efbd4db3 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macro_mode_meca_ops.py @@ -0,0 +1,139 @@ +#@ MODIF macro_mode_meca_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_mode_meca_ops(self,MATR_A,MATR_B,INFO,METHODE,OPTION,CALC_FREQ, + VERI_MODE,NORM_MODE,FILTRE_MODE,IMPRESSION,**args): + """ + Ecriture de la macro MACRO_MODE_MECA + """ + from Accas import _F + ier=0 + + # on protege le contenu du mot cle NORM_MODE pour eviter les confusions + # avec la commande du meme nom + + normode=NORM_MODE + + # On importe les definitions des commandes a utiliser dans la macro + MODE_ITER_SIMULT =self.get_cmd('MODE_ITER_SIMULT') + NORM_MODE =self.get_cmd('NORM_MODE') + IMPR_RESU =self.get_cmd('IMPR_RESU') + EXTR_MODE =self.get_cmd('EXTR_MODE') + DETRUIRE =self.get_cmd('DETRUIRE') + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + nompro=None + iocc=0 + if CALC_FREQ['FREQ']: + nnfreq=len(CALC_FREQ['FREQ']) + else: + lborne=[] + nnfreq= CALC_FREQ['NB_BLOC_FREQ']+1 + zlborn=(CALC_FREQ['FREQ_MAX']-CALC_FREQ['FREQ_MIN'])/(nnfreq-1) + for i in range(0,nnfreq): + lborne.append(CALC_FREQ['FREQ_MIN']+i*zlborn) + + motscles={} + motscles['FILTRE_MODE']=[] + for i in range(0,nnfreq-1): + motscit={} + motscfa={} + if CALC_FREQ['DIM_SOUS_ESPACE']: motscfa['DIM_SOUS_ESPACE']=CALC_FREQ['DIM_SOUS_ESPACE'] + if CALC_FREQ['COEF_DIM_ESPACE']: motscfa['COEF_DIM_ESPACE']=CALC_FREQ['COEF_DIM_ESPACE'] + if CALC_FREQ['FREQ']: + motscfa['FREQ']=(CALC_FREQ['FREQ'][i],CALC_FREQ['FREQ'][i+1]) + else: + motscfa['FREQ']=(lborne[i],lborne[i+1]) + motscit['CALC_FREQ']=_F(OPTION ='BANDE', + SEUIL_FREQ =CALC_FREQ['SEUIL_FREQ'], + NPREC_SOLVEUR =CALC_FREQ['NPREC_SOLVEUR'], + NMAX_ITER_SHIFT =CALC_FREQ['NMAX_ITER_SHIFT'], + PREC_SHIFT =CALC_FREQ['PREC_SHIFT'], + **motscfa) + motscit['VERI_MODE']=_F(STOP_ERREUR=VERI_MODE['STOP_ERREUR'], + SEUIL =VERI_MODE['SEUIL'], + STURM =VERI_MODE['STURM'], + PREC_SHIFT =VERI_MODE['PREC_SHIFT']) + motscit['STOP_FREQ_VIDE']=CALC_FREQ['STOP_FREQ_VIDE'] + + if METHODE=='TRI_DIAG': + if args.has_key('NMAX_ITER_ORTHO'): + motscit['NMAX_ITER_ORTHO'] =args['NMAX_ITER_ORTHO'] + if args.has_key('PREC_ORTHO'): + motscit['PREC_ORTHO'] =args['PREC_ORTHO'] + if args.has_key('PREC_LANCZOS'): + motscit['PREC_LANCZOS'] =args['PREC_LANCZOS'] + if args.has_key('MAX_ITER_QR'): + motscit['NMAX_ITER_QR'] =args['NMAX_ITER_QR'] + elif METHODE=='JACOBI': + if args.has_key('NMAX_ITER_BATHE'): + motscit['NMAX_ITER_BATHE'] =args['NMAX_ITER_BATHE'] + if args.has_key('PREC_BATHE'): + motscit['PREC_BATHE'] =args['PREC_BATHE'] + if args.has_key('NMAX_ITER_JACOBI'): + motscit['NMAX_ITER_JACOBI']=args['NMAX_ITER_JACOBI'] + if args.has_key('PREC_JACOBI'): + motscit['PREC_JACOBI'] =args['PREC_JACOBI'] + elif METHODE=='SORENSEN': + if args.has_key('NMAX_ITER_SOREN'): + motscit['NMAX_ITER_SOREN'] =args['NMAX_ITER_SOREN'] + if args.has_key('PARA_ORTHO_SOREN'): + motscit['PARA_ORTHO_SOREN']=args['PARA_ORTHO_SOREN'] + if args.has_key('PREC_SOREN'): + motscit['PREC_SOREN'] =args['PREC_SOREN'] + + __nomre0=MODE_ITER_SIMULT(MATR_A =MATR_A, + MATR_B =MATR_B, + INFO =INFO, + METHODE =METHODE, + OPTION =OPTION, + **motscit) + + __nomre0=NORM_MODE(reuse =__nomre0, + MASS_INER =normode['MASS_INER'], + MODE =__nomre0, + NORME =normode['NORME'], + INFO =normode['INFO'],) + + if IMPRESSION['TOUT_PARA']=='OUI': + IMPR_RESU(RESU=_F(RESULTAT=__nomre0, + TOUT_ORDRE='OUI', + TOUT_CHAM ='NON', + TOUT_PARA ='OUI',) ) + + if FILTRE_MODE : + motscles['FILTRE_MODE'].append(_F(MODE =__nomre0, + CRIT_EXTR =FILTRE_MODE['CRIT_EXTR'], + SEUIL =FILTRE_MODE['SEUIL'], )) + else: + motscles['FILTRE_MODE'].append(_F(MODE =__nomre0, + TOUT_ORDRE='OUI',) ) + + + motscles['IMPRESSION']=_F(CUMUL =IMPRESSION['CUMUL'], + CRIT_EXTR=IMPRESSION['CRIT_EXTR'],) + self.DeclareOut('nomres',self.sd) + nomres=EXTR_MODE(**motscles) + DETRUIRE(CONCEPT=_F(NOM='__nomre0',),ALARME='NON') + return ier diff --git a/Aster/Cata/cataSTA74/Macro/macro_proj_base_ops.py b/Aster/Cata/cataSTA74/Macro/macro_proj_base_ops.py new file mode 100644 index 00000000..edfee029 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/macro_proj_base_ops.py @@ -0,0 +1,63 @@ +#@ MODIF macro_proj_base_ops Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args): + """ + Ecriture de la macro MACRO_PROJ_BASE + """ + ier=0 + # On importe les definitions des commandes a utiliser dans la macro + NUME_DDL_GENE =self.get_cmd('NUME_DDL_GENE') + PROJ_MATR_BASE =self.get_cmd('PROJ_MATR_BASE') + PROJ_VECT_BASE =self.get_cmd('PROJ_VECT_BASE') + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + _num=NUME_DDL_GENE(BASE=BASE,NB_VECT=NB_VECT,STOCKAGE=PROFIL) + if MATR_ASSE_GENE: + for m in MATR_ASSE_GENE: + motscles={} + if m['MATR_ASSE'] : motscles['MATR_ASSE'] =m['MATR_ASSE'] + elif m['MATR_ASSE_GENE']: motscles['MATR_ASSE_GENE']=m['MATR_ASSE_GENE'] + else: + ier=ier+1 + self.cr.fatal(" MATR_ASSE et MATR_ASSE_GENE absents") + return ier + self.DeclareOut('mm',m['MATRICE']) + mm=PROJ_MATR_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles) + + if VECT_ASSE_GENE: + _num=NUME_DDL_GENE(BASE=BASE,NB_VECT=NB_VECT,STOCKAGE=PROFIL) + for v in VECT_ASSE_GENE: + motscles={} + if v['VECT_ASSE'] : motscles['VECT_ASSE'] =v['VECT_ASSE'] + elif v['VECT_ASSE_GENE']: motscles['VECT_ASSE_GENE']=v['VECT_ASSE_GENE'] + else: + ier=ier+1 + self.cr.fatal(" MATR_ASSE et MATR_ASSE_GENE absents") + return ier + motscles['TYPE_VECT']=v['TYPE_VECT'] + self.DeclareOut('vv',v['VECTEUR']) + vv=PROJ_VECT_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles) + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/pre_gmsh_ops.py b/Aster/Cata/cataSTA74/Macro/pre_gmsh_ops.py new file mode 100644 index 00000000..8ff4170e --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/pre_gmsh_ops.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +#@ MODIF pre_gmsh_ops Macro DATE 11/06/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 pre_gmsh_ops(self,UNITE_MAILLAGE,UNITE_GMSH,MODI_QUAD,**args): + """ + Ecriture de la macro PRE_GMSH + """ + import os + from Macro.ajout_quad_gmsh import ajout_quad_gmsh + ier=0 + + PRE_GMSH_LECT =self.get_cmd('PRE_GMSH_LECT') + + # La macro compte pour 1 dans la numerotation des commandes + self.icmd=1 + + if MODI_QUAD=='OUI': + cur_dir=os.getcwd() + unit = str(UNITE_GMSH) + nomFichierGmsh = cur_dir+'/fort.'+unit + nomFichierMail = cur_dir+'/sortie' + +# récupération du fichier .msh complet mis dans la string 'texte' + + fproc=open(nomFichierGmsh,'r') + texte=fproc.read() + fproc.close() + + resu=ajout_quad_gmsh(texte) + if not resu: + ier=ier+1 + self.cr.fatal("Erreur dans la methode python de transformation mailles lineaires-quadratiques") + return ier + + fsort=open(nomFichierMail,'w') + fsort.write(resu) + fsort.close() + os.system('cp '+nomFichierMail+' '+nomFichierGmsh) + + PRE_GMSH_LECT(UNITE_MAILLAGE = UNITE_MAILLAGE, + UNITE_GMSH = UNITE_GMSH ) + + return ier + diff --git a/Aster/Cata/cataSTA74/Macro/reca_algo.py b/Aster/Cata/cataSTA74/Macro/reca_algo.py new file mode 100644 index 00000000..319d6d67 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/reca_algo.py @@ -0,0 +1,260 @@ +#@ MODIF reca_algo Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 Numeric +from Numeric import take +import copy,os +import LinearAlgebra +from Cata.cata import INFO_EXEC_ASTER +from Cata.cata import DETRUIRE +from Macro.recal import EXTRACT +from Accas import _F + + +def calcul_gradient(A,erreur): + grad = Numeric.dot(Numeric.transpose(A),erreur) + return grad + + +#------------------------------------------- +#classe gérant l'adimensionnement et le dimensionnemnt +class Dimension: + #le constructeur calcul la matrice D et son inverse + def __init__(self,val_initiales,para): + self.val_init = val_initiales + dim =len(self.val_init) + self.D = Numeric.zeros((dim,dim),Numeric.Float) + for i in range(dim): + self.D[i][i] = self.val_init[i] + self.inv_D=LinearAlgebra.inverse(self.D) + + + def adim_sensi(self,A): + for i in range(A.shape[0]): + for j in range(A.shape[1]): + A[i,j] = A[i,j] * self.val_init[j] + return A + + + + def redim_sensi(self,A): + for i in range(A.shape[0]): + for j in range(A.shape[1]): + A[i,j] = A[i,j] / self.val_init[j] + return A + + + def adim(self,tab): + tab_adim = Numeric.dot(self.inv_D,copy.copy(tab)) + return tab_adim + + + def redim(self,tab_adim): + tab = Numeric.dot(self.D,tab_adim) + return tab + +#------------------------------------------ +def cond(matrix): + e1=LinearAlgebra.eigenvalues(matrix) + e=map(abs,e1) + size=len(e) + e=Numeric.sort(e) + try: + condi=e[size-1]/e[0] + except ZeroDivisionError: + condi=0.0 + return condi,e[size-1],e[0] + +#----------------------------------------- +def norm(matrix): + e=LinearAlgebra.Heigenvalues(matrix) + size=len(e) + e=Numeric.sort(e) + norm=e[size-1] + return norm + +#----------------------------------------- +def lambda_init(matrix): +# Routine qui calcule la valeur initial du parametre +# de regularisation l. + condi,emax,emin=cond(matrix) + id=Numeric.identity(matrix.shape[0]) + if (condi==0.0): + l=1.e-3*norm(matrix) + elif (condi<=10000): + l=1.e-16*norm(matrix) + elif (condi>10000): + l=abs(10000.*emin-emax)/10001. + return l + +#----------------------------------------- + + +def temps_CPU(self,restant_old,temps_iter_old): + # Fonction controlant le temps CPU restant + CPU=INFO_EXEC_ASTER(LISTE_INFO = ("CPU_RESTANT",)) + TEMPS=CPU['CPU_RESTANT',1] + DETRUIRE(CONCEPT=_F(NOM='CPU'),INFO=1) + err=0 + # Indique une execution interactive + if (TEMPS>1.E+9): + return 0.,0.,0 + # Indique une execution en batch + else: + 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=old_J + new_Q=old_J+0.5*Numeric.dot(Numeric.transpose(new_val-val),Numeric.dot(Q,new_val-val))+Numeric.dot(Numeric.transpose(new_val-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,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 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) + 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/cataSTA74/Macro/reca_interp.py b/Aster/Cata/cataSTA74/Macro/reca_interp.py new file mode 100644 index 00000000..00ad62d2 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/reca_interp.py @@ -0,0 +1,180 @@ +#@ MODIF reca_interp Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 os +import Numeric +import Macro +from Macro.recal import calcul_F + +#=========================================================================================== + + +# INTERPOLATION, CALCUL DE SENSIBILITE, ETC.... + +#-------------------------------------- +class Sim_exp : + + def __init__ (self,result_exp,poids) : + self.resu_exp = result_exp + self.poids = poids + +# Distance verticale d'un point M à une ligne brisée composée de n points + + def DistVertAdimPointLigneBrisee (self, M, points) : + # M = Point (2 colonnes, 1 ligne) + # points = Tableau de n points (2 colonnes, n lignes) + # on suppose qu'il existe au moins 2 points, + # et que les points sont classés selon les abscisses croissantes + n = len(points) + if ( M[0] < points[0][0] ) or ( M[0] > points[n-1][0] ) : + return 0. + i = 1 + while M[0] > points[i][0] : + i = i+1 + y_proj_vert = (M[0]-points[i-1][0]) * (points[i][1]-points[i-1][1]) / (points[i][0]-points[i-1][0]) + points[i-1][1] + d = (M[1] - y_proj_vert) + # Attention: la distance n'est pas normalisée + # Attention: problème si points[0][0] = points[1][0] = M[0] + # Attention: problème si M[1] = 0 + return d + + +# La Fonction Interpole ,interpole une et une seule F_calc sur F_exp et renvoie l'erreur seulement + def Interpole (self, F_calc,experience,poids) : #ici on passe en argument "une" experience + n = 0 + resu_num = F_calc + n_exp = len(experience) # nombre de points sur la courbe expérimentale num.i + stockage = Numeric.ones(n_exp, Numeric.Float) # matrice de stockage des erreurs en chaque point + for j in xrange(n_exp) : + d = self.DistVertAdimPointLigneBrisee(experience[j], resu_num) + try: + stockage[n] = d/experience[j][1] + except ZeroDivisionError: + stockage[n] = d + n = n + 1 # on totalise le nombre de points valables + err = Numeric.ones(n, Numeric.Float) + for i in xrange(n) : + err[i] = poids*stockage[i] + return err + + #cette fonction appelle la fonction interpole et retourne les sous fonctionnelle J et l'erreur + def multi_interpole(self,L_F, reponses): #on interpole toutes les reponses une à une en appelent la methode interpole + L_erreur=[] + for i in range(len(reponses)): + err = self.Interpole(L_F[i],self.resu_exp[i],self.poids[i]) + L_erreur.append(err) + #on transforme L_erreur en tab num + dim=[] + J=[] + for i in range(len(L_erreur)): + dim.append(len(L_erreur[i])) + dim_totale = Numeric.sum(dim) + L_J = self.calcul_J(L_erreur) + a=0 + erreur = Numeric.zeros((dim_totale),Numeric.Float) + for n in range(len(L_erreur)): + for i in range(dim[n]): + erreur[i+a] = L_erreur[n][i] + a = dim[n] + del(L_erreur) #on vide la liste puisqu'on n'en a plus besoin + return L_J,erreur + + #cette fonction retourne seulement l'erreur ,je l'appelle dans la methode sensibilité + #on interpole toutes les reponses une à une en appelent la methode interpole + def multi_interpole_sensib(self,L_F,reponses): + L_erreur=[] + for i in range(len(reponses)): + err = self.Interpole(L_F[i],self.resu_exp[i],self.poids[i]) + L_erreur.append(err) + #on transforme L_erreur en tab num + return L_erreur + + def calcul_J(self,L_erreur): + L_J = [] + for i in range(len(L_erreur)): + total = 0 + for j in range(len(L_erreur[i])): + total = total + L_erreur[i][j]**2 + L_J.append(total) + return L_J + + def norme_J(self,L_J_init,L_J,unite_resu): + #cette fonction calcul une valeur normée de J + for i in range(len(L_J)): + try: + L_J[i] = L_J[i]/L_J_init[i] + except ZeroDivisionError: + fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') + fic.write('\n Problème de division par zéro dans la normalisation de la fonctionnelle.') + fic.write('\n Une des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine :'+ str(L_J_init)) + fic.close() + self.cr.fatal(" Problème de division par zéro dans la normalisation de la fonctionnelle.\nUne des valeurs de la fonctionnelle initiale est nulle ou inférieure à la précision machine :"+ str(L_J_init)) + return + + J = Numeric.sum(L_J) + J = J/len(L_J) + return J + + def sensibilite(self,objet,UL,F,val,para,reponses,pas,unite_resu): + F_interp=self.multi_interpole_sensib(F, reponses) #F_interp est une liste contenant des tab num des reponses interpolés + L_A=[] #creation de la liste des matrices de sensibilités + for i in range(len(reponses)): + 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('\nCalcul de la sensibilité par rapport à :') + fic.close() + for k in range(len(val)): #pour une colone de A + h = val[k]*pas + val[k] = val[k] + h + F_perturbe = calcul_F(objet,UL,para,val,reponses) + fic=open(os.getcwd()+'/fort.'+str(unite_resu),'a') + fic.write(' '+para[k]) + fic.close() + F_perturbe_interp =self.multi_interpole_sensib(F_perturbe, reponses) + val[k] = val[k] - h + for j in range(len(reponses)): + for i in range(len(self.resu_exp[j])): + try: + 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('\n Probleme de division par zéro dans le calcul de la matrice de sensiblité') + fic.write('\n Le parametre '+para[k]+'est nul ou plus petit que la précision machine') + fic.close() + self.cr.fatal(" Probleme de division par zéro dans le calcul de la matrice de sensiblité.\n Le parametre "+para[k]+"est nul ou plus petit que la précision machine") + return + #on construit la matrice de sensiblité sous forme d'un tab num + dim =[] + for i in range(len(L_A)): + dim.append(len(L_A[i])) + dim_totale = Numeric.sum(dim) + a=0 + A = Numeric.zeros((dim_totale,len(val)),Numeric.Float) + for n in range(len(L_A)): + for k in range(len(val)): + for i in range(dim[n]): + A[i+a][k] = L_A[n][i,k] + a=dim[n] + del(L_A) #on ecrase tout ce qu'il y a dans L_A puisqu'on n'en a plus besoin + return A + + + diff --git a/Aster/Cata/cataSTA74/Macro/reca_message.py b/Aster/Cata/cataSTA74/Macro/reca_message.py new file mode 100644 index 00000000..0691b785 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/reca_message.py @@ -0,0 +1,115 @@ +#@ MODIF reca_message Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 os,Numeric + +#=========================================================================================== + + +# AFFICHAGE DES MESSAGES + +class Message : + """classe gérant l'affichage des messages concernant le déroulement de l'optmisation """ + #Constructeur de la classe + def __init__(self,para,val_init,resu_exp,ul_out): + self.nom_para = para + self.res_exp = resu_exp + res=open(os.getcwd()+'/fort.'+str(ul_out),'a') + res.write(' MACR_RECAL V1.1 \n\n\n') + res.close() + + + def affiche_result_iter(self,iter,J,val,residu,Act,ul_out): + res=open(os.getcwd()+'/fort.'+str(ul_out),'a') + 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('\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,Act,ul_out): + res=open(os.getcwd()+'/fort.'+str(ul_out),'a') + if ((iter < max_iter) or (residu < prec)): + res.write('\n=======================================================\n') + res.write(' CONVERGENCE ATTEINTE ') + 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("\n=======================================================\n") + res.write(' CONVERGENCE NON ATTEINTE ') + 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,para,Hessien,valeurs_propres,vecteurs_propres,sensible,insensible,ul_out): + res=open(os.getcwd()+'/fort.'+str(ul_out),'a') + res.write('\n\nValeurs propres du Hessien:\n') + res.write(str( valeurs_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/cataSTA74/Macro/recal.py b/Aster/Cata/cataSTA74/Macro/recal.py new file mode 100644 index 00000000..cb2d4778 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/recal.py @@ -0,0 +1,379 @@ +#@ MODIF recal Macro DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 string +import copy +import Numeric +import types +import Gnuplot +import Cata +from Cata.cata import INCLUDE,DETRUIRE +from Accas import _F +from Utilitai.extract import EXTRACT + +import os + + +#_____________________________________________ +# +# DIVERS UTILITAIRES POUR LA MACRO +#_____________________________________________ + + +# 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) + borne_inf = Numeric.zeros(dim_para,Numeric.Float) + borne_sup = Numeric.zeros(dim_para,Numeric.Float) + para = [] + for i in range(dim_para): + para.append(parametres[i][0]) + 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): + # Fonction qui liste les concepts créés + for e in base.etapes: + if e.nom in ('INCLUDE','MACR_RECAL',) : + list_concepts=list(mes_concepts(list_concepts=list_concepts,base=e)) + elif (e.sd != None) and (e.parent.nom=='INCLUDE') : + nom_concept=e.sd.get_name() + if not(nom_concept in list_concepts): + list_concepts.append( nom_concept ) + return tuple(list_concepts) + + +def detr_concepts(self): + liste_concepts=mes_concepts(base=self.parent) + for e in liste_concepts: + nom = string.strip(e) + DETRUIRE( CONCEPT =self.g_context['_F'](NOM = nom),INFO=1) + if self.jdc.g_context.has_key(nom) : del self.jdc.g_context[nom] + del(liste_concepts) + + +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() + #On stocke le contenu initial de fort.UL dans la variable fichiersauv + fichiersauv=copy.copy(fichier) + fic.close() + + #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 Fichier_Resu + Fichier_Resu=[] + + try: + #cherche l'indice de DEBUT() + index_deb=string.index(fichier,'DEBUT(') + while( fichier[index_deb]!='\n'): + index_deb=index_deb+1 + #on restreind fichier en enlevant 'DEBUT();' + fichier = fichier[index_deb+1:] + except : + #on va dans l'except si on a modifié le fichier au moins une fois + pass + + try: + #cherche l'indice de FIN() + index_fin = string.index(fichier,'FIN(') + #on restreind fichier en enlevant 'FIN();' + fichier = fichier[:index_fin] + except : pass + #-------------------------------------------------------------------------------- + #on cherche à délimiter le bloc des parametres dans le fichier + #Tout d'abord on cherche les indices d'apparition des paras dans le fichier + #en effet l'utilisateur n'est pas obligé de rentrer les paras dans optimise + #avec le meme ordre de son fichier de commande + index_para = Numeric.zeros(len(para)) + for i in range(len(para)): + index_para[i] = string.index(fichier,para[i]) + #On range les indices par ordre croissant afin de déterminer + #les indice_max et indice_min + index_para = Numeric.sort(index_para) + index_first_para = index_para[0] + index_last_para = index_para[len(index_para)-1] + + + #on va délimiter les blocs intermédiaires entre chaque para "utiles" à l'optimsation + bloc_inter ='\n' + for i in range(len(para)-1): + j = index_para[i] + k = index_para[i+1] + while(fichier[j]!= '\n'): + j=j+1 + 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] != '\n'): + i = i + 1 + index_last_para = i + #on délimite les blocs suivants: + pre_bloc = fichier[:index_first_para] #fichier avant premier parametre + 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 + Fichier_Resu.append(pre_bloc) + Fichier_Resu.append('\n') + #On ajoute la nouvelle valeur des parametres + dim_para=len(para) + for j in range(dim_para): + 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) + + 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 + self.g_context['Lrep'] = [] + Fichier_Resu.append('Lrep=[]'+'\n') + for i in range(len(reponses)): + 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') + + #ouverture du fichier fort.3 et mise a jour de celui ci + x=open('fort.'+str(UL),'w') + x.writelines('from Accas import _F \nfrom Cata.cata import * \n') + x.writelines(Fichier_Resu) + x.close() + del(Fichier_Resu) + del(pre_bloc) + del(post_bloc) + del(fichier) + + 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 self.g_context['Lrep'] + +#_____________________________________________ +# +# IMPRESSIONS GRAPHIQUES +#_____________________________________________ + +def graphique(L_F,res_exp,reponses,iter,UL_out,interactif): + graphe=[] + impr=Gnuplot.Gnuplot() + Gnuplot.GnuplotOpts.prefer_inline_data=1 + impr('set data style linespoints') + impr('set grid') + impr('set pointsize 2.') + impr('set terminal postscript color') + impr('set output "fort.'+str(UL_out)+'"') + for i in range(len(L_F)): + if interactif: + graphe.append(Gnuplot.Gnuplot(persist=0)) + graphe[i]('set data style linespoints') + graphe[i]('set grid') + graphe[i]('set pointsize 2.') + graphe[i].xlabel(reponses[i][1]) + graphe[i].ylabel(reponses[i][2]) + graphe[i].title(reponses[i][0]+' Iteration '+str(iter)) + graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) + graphe[i]('pause 5') +# + impr.xlabel(reponses[i][1]) + impr.ylabel(reponses[i][2]) + impr.title(reponses[i][0]+' Iteration '+str(iter)) + impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental')) + + +#_____________________________________________ +# +# CONTROLE DES ENTREES UTILISATEUR +#_____________________________________________ + +def erreur_de_type(code_erreur,X): + #code_erreur ==0 --> X est une liste + #code erreur ==1 --> X est un char + #code erreur ==2 --> X est un float + #test est un boolean (test = 0 défaut et 1 si un test if est verifier + txt="" + if(code_erreur == 0 ): + if type(X) is not types.ListType: + txt="\nCette entrée: " +str(X)+" n'est pas une liste valide" + if(code_erreur == 1 ): + if type(X) is not types.StringType: + 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="\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 + + +def erreur_dimension(PARAMETRES,REPONSES): +#On verifie que la dimension de chaque sous_liste de parametre est 4 +#et que la dimension de chaque sous_liste de REPONSES est 3 + txt="" + for i in range(len(PARAMETRES)): + if (len(PARAMETRES[i]) != 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 + "\nLa sous-liste de la variable réponse numéro " + str(i+1)+" n'est pas de longueur 3" + return txt + + +def compare__dim_rep__dim_RESU_EXP(REPONSES,RESU_EXP): + # X et Y sont deux arguments qui doivent avoir la meme dimension + # pour éviter l'arret du programme + txt="" + if( len(REPONSES) != len(RESU_EXP)): + 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 + +def compare__dim_poids__dim_RESU_EXP(POIDS,RESU_EXP): + # POIDS et Y sont deux arguments qui doivent avoir la meme dimension + # pour éviter l'arret du programme + txt="" + if( len(POIDS) != len(RESU_EXP)): + txt="\nVous avez entré " +str(len(POIDS))+ " poids et "+str(len(RESU_EXP))+ " expériences ; On doit avoir autant de poids que de résultats expérimentaux" + return txt + + +def verif_fichier(UL,PARAMETRES,REPONSES): +#On verifie les occurences des noms des PARAMETRES et REPONSES +#dans le fichier de commande ASTER + txt="" + fichier = open('fort.'+str(UL),'r') + 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 + "\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 + "\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 + + +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 + "\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 + "\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 + "\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,POIDS,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 + + texte="" + #On vérifie d'abord si PARAMETRES, REPONSES, RESU_EXP sont bien des listes au sens python + #test de PARAMETRES + texte = texte + erreur_de_type(0,PARAMETRES) + #test de REPONSES + texte = texte + erreur_de_type(0,REPONSES) + #test de RESU_EXP + texte = texte + erreur_de_type(0,RESU_EXP) + + #On vérifie si chaque sous liste de PARAMETRES, REPONSES, possède le type adéquat + #test des sous_listes de PARAMETRES + for i in range(len(PARAMETRES)): + texte = texte + erreur_de_type(0,PARAMETRES[i]) + #test des sous_listes de REPONSES + for i in range(len(REPONSES)): + texte = texte + erreur_de_type(0,REPONSES[i]) + + #On verifie si la dimension de chaque sous-liste de : PARAMETRES, REPONSES + #il faut que:la dimension d'une sous-liste de PARAMETRES = 4 + #et que la dimension d'une sous liste de REPONSES = 3 + texte = texte + erreur_dimension(PARAMETRES,REPONSES) + + #on verifie que l'on a autant de réponses que de résultats expérimentaux + texte = texte + compare__dim_rep__dim_RESU_EXP(REPONSES,RESU_EXP) + #on verifie que l'on a autant de poids que de résultats expérimentaux + texte = texte + compare__dim_poids__dim_RESU_EXP(POIDS,RESU_EXP) + + #on verifie les types des arguments de chaque sous liste de PARAMETRES et REPONSES + #verification du type stringet type float des arguments de PARAMETRES + for i in range(len(PARAMETRES)): + texte = texte + erreur_de_type(1,PARAMETRES[i][0]) + for k in [1,2,3]: + texte = texte + erreur_de_type(2,PARAMETRES[i][k]) + + #verification du type string pour les arguments de REPONSES + for i in range(len(REPONSES)): + for j in range(len(REPONSES[i])): + texte = texte + erreur_de_type(1,REPONSES[i][j]) + + #verification du fichier de commndes ASTER + texte = texte + verif_fichier(UL,PARAMETRES,REPONSES) + + #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/cataSTA74/Macro/stanley_ops.py b/Aster/Cata/cataSTA74/Macro/stanley_ops.py new file mode 100644 index 00000000..a38f2808 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/stanley_ops.py @@ -0,0 +1,66 @@ +#@ MODIF stanley_ops Macro DATE 30/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args): + + """ + Importation et lancement de Stanley + """ + + import os,string + import aster + from Accas import _F + from Noyau.N_utils import AsType + from Utilitai.Utmess import UTMESS + + ier=0 + + # La macro compte pour 1 dans la numerotation des commandes + self.icmd=1 + + + # On ne lance Stanley que si la variable DISPLAY est définie + if os.environ.has_key('DISPLAY'): + + import Stanley + from Stanley import stanley + + if (RESULTAT and MODELE and CHAM_MATER): + _MAIL = aster.getvectjev( string.ljust(MODELE.nom,8) + '.MODELE .NOMA ' ) + _MAIL = string.strip(_MAIL[0]) + MAILLAGE = self.jdc.g_context[_MAIL] + if CARA_ELEM: + stanley.STANLEY(RESULTAT,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM) + else: + stanley.STANLEY(RESULTAT,MAILLAGE,MODELE,CHAM_MATER,None) + else: + stanley.PRE_STANLEY() + + else: + UTMESS('A','STANLEY', + """Aucune variable d'environnement DISPLAY définie ! + STANLEY ne pourra pas fonctionner. On l'ignore. + + Si vous etes en Interactif, cochez le bouton Suivi Interactif + dans ASTK.""") + + return ier diff --git a/Aster/Cata/cataSTA74/Macro/test_fichier_ops.py b/Aster/Cata/cataSTA74/Macro/test_fichier_ops.py new file mode 100644 index 00000000..5f4ac116 --- /dev/null +++ b/Aster/Cata/cataSTA74/Macro/test_fichier_ops.py @@ -0,0 +1,195 @@ +#@ MODIF test_fichier_ops Macro DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args): + """ + Macro TEST_FICHIER permettant de tester la non-regression d'un fichier + 'a une tolerance' pres pour les nombres reels en calculant + le md5sum. + """ + import aster + from Accas import _F + ier=0 + # La macro compte pour 1 dans la numerotation des commandes + #self.icmd=1 + self.set_icmd(1) + + # On importe les definitions des commandes a utiliser dans la macro + # Le nom de la variable doit etre obligatoirement le nom de la commande + INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER') + DETRUIRE = self.get_cmd('DETRUIRE') + CREA_TABLE = self.get_cmd('CREA_TABLE') + TEST_TABLE = self.get_cmd('TEST_TABLE') + + import os.path + import re + from types import StringType + from Macro.test_fichier_ops import md5file + + # vérifie la syntaxe des expressions régulières fournies + l_regexp=[] + if args['EXPR_IGNORE']: + if type(args['EXPR_IGNORE']) is StringType: + lexp = [args['EXPR_IGNORE']] + else: + lexp = args['EXPR_IGNORE'] + for exp in lexp: + try: + obj=re.compile(exp) + except re.error, s: + print ' '+str(s)+' pour "'+exp+'"' + else: + l_regexp.append(exp) + if len(l_regexp) < len(lexp): + self.cr.fatal(' Expression régulière invalide (voir )') + + + is_ok=0 + + # vérifier que le fichier a été fermé + tinfo__ = INFO_EXEC_ASTER(LISTE_INFO='ETAT_UNITE', FICHIER=FICHIER) + + if tinfo__['ETAT_UNITE',1].find('OUVERT')>-1: + print " LE FICHIER N'A PAS ETE FERME :\n",FICHIER + + # fichier correctement fermé + else: + # calcule le md5sum du fichier + ier, mdsum = md5file(FICHIER, NB_CHIFFRE, EPSILON, l_regexp, INFO) + if ier != 0: + if ier==4: + texte_erreur='Fichier inexistant : '+FICHIER + else: + texte_erreur='Erreur dans md5file, code retour = '+str(ier) + texte_erreur=' '+texte_erreur + # aujourd'hui, je ne sais pas déclencher autre chose que ... + self.cr.fatal(texte_erreur) + return ier + + # comparaison a la reference + if INFO > 0 : + print ' %-20s : %32s' % ('REFERENCE',VALE_K) + print + + if mdsum == VALE_K: + is_ok=1 + + # produit le TEST_TABLE + tab1__=CREA_TABLE(LISTE=(_F(PARA='TEST', + TYPE_K='K8', + LISTE_K='VALEUR ',), + _F(PARA='BOOLEEN', + LISTE_I=is_ok,),),) + if args['REFERENCE'] == 'NON_REGRESSION': + TEST_TABLE(UNITE=UNITE, + TABLE=tab1__, + FILTRE=_F(NOM_PARA='TEST', + VALE_K='VALEUR ',), + NOM_PARA='BOOLEEN', + VALE_I=1, + PRECISION=1.e-3, + CRITERE='ABSOLU', + REFERENCE=args['REFERENCE'], + VERSION=args['VERSION'],) + else: + TEST_TABLE(UNITE=UNITE, + TABLE=tab1__, + FILTRE=_F(NOM_PARA='TEST', + VALE_K='VALEUR ',), + NOM_PARA='BOOLEEN', + VALE_I=1, + PRECISION=1.e-3, + CRITERE='ABSOLU', + REFERENCE=args['REFERENCE'],) + + DETRUIRE(CONCEPT=_F(NOM=('tinfo__','tab1__'),), + ALARME='NON',INFO=1,) + return ier + + +#------------------------------------------------------------------------------- +def md5file(fich,nbch,epsi,regexp_ignore=[],info=0): + """ + Cette methode retourne le md5sum d'un fichier en arrondissant les nombres + reels a la valeur significative. + IN : + fich : nom du fichier + nbch : nombre de decimales significatives + epsi : valeur en deca de laquelle on prend 0 + regexp_ignore : liste d'expressions régulières permettant d'ignorer + certaines lignes + OUT : + code retour : 0 si ok, >0 sinon + md5sum + """ + import os.path + import re + import string + import math + import md5 + # 1 Mo 10 Mo 100 Mo + # v0 2.6 s 20.4 s 196.6 s + # v1 2.0 s 10.3 s 94.9 s (pas de distinction entier/reel) + # remplacer le try/except par if re.search(...), 80% plus lent + if not os.path.isfile(fich): + return 4, '' + f=open(fich,'r') + format_float='%'+str(nbch+7)+'.'+str(nbch)+'g' + m=md5.new() + i=0 + for ligne in f: + i=i+1 + if info>=2: + print 'LIGNE',i, + keep=True + for exp in regexp_ignore: + if re.search(exp,ligne): + keep=False + if info>=2: + print ' >>>>>>>>>> IGNOREE <<<<<<<<<<', + break + if keep: + #r=string.split(ligne) + # découpe des nombres collés : 1.34E-142-1.233D+09 + r=string.split(re.sub('([0-9]+)\-','\g<1> -',ligne)) + for x in r: + try: + if abs(float(x))=2: + print (' %'+str(nbch+7)+'s') % s, + m.update(s) + if info>=2: + print + f.close() + md5sum=m.hexdigest() + if info>=1: + form=' %-20s : %32s' + print form % ('Fichier',fich) + print form % ('Nombre de lignes',str(i)) + print form % ('Format des reels',format_float) + print form % ('Epsilon',str(epsi)) + print form % ('md5sum',md5sum) + return 0, md5sum diff --git a/Aster/Cata/cataSTA74/__init__.py b/Aster/Cata/cataSTA74/__init__.py new file mode 100644 index 00000000..38b937db --- /dev/null +++ b/Aster/Cata/cataSTA74/__init__.py @@ -0,0 +1,6 @@ +import os,sys +import prefs +import sys +rep_macro = os.path.join(prefs.REPINI,'Cata/cataSTA74') +sys.path.insert(0,rep_macro) +from cata import * diff --git a/Aster/Cata/cata_STA7.py b/Aster/Cata/cataSTA74/cata.py similarity index 99% rename from Aster/Cata/cata_STA7.py rename to Aster/Cata/cataSTA74/cata.py index 49e3eb72..7688dc4d 100755 --- a/Aster/Cata/cata_STA7.py +++ b/Aster/Cata/cataSTA74/cata.py @@ -34,7 +34,7 @@ except: # __version__="$Name: $" -__Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $" +__Id__="$Id: cata_STA7.py,v 1.11 2004/12/03 15:38:28 eficas Exp $" # JdC = JDC_CATA(code='ASTER', execmodul=None, diff --git a/Aster/Cata/cataSTA74/ops.py b/Aster/Cata/cataSTA74/ops.py new file mode 100644 index 00000000..3becd375 --- /dev/null +++ b/Aster/Cata/cataSTA74/ops.py @@ -0,0 +1,432 @@ +#@ MODIF ops Cata DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# -*- coding: iso-8859-1 -*- +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + +# Modules Python +import types +import string,linecache,os,traceback,re +import pickle + +# Modules Eficas +import Accas +from Accas import ASSD + +try: + import aster + # Si le module aster est présent, on le connecte + # au JDC + import Build.B_CODE + Build.B_CODE.CODE.codex=aster +except: + pass + +def DEBUT(self,PAR_LOT,CODE,**args): + """ + Fonction sdprod de la macro DEBUT + """ + # La commande DEBUT ne peut exister qu'au niveau jdc + if self.jdc is not self.parent : + raise Accas.AsException("La commande DEBUT ne peut exister qu'au niveau jdc") + + self.jdc.set_par_lot(PAR_LOT) + if CODE!=None : + self.jdc.fico=CODE['NOM'] + else: + self.jdc.fico=None + +def build_debut(self,**args): + """ + Fonction ops pour la macro DEBUT + """ + self.jdc.UserError=self.codex.error + + 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,CODE,**args): + """ + Fonction sdprod de la macro POURSUITE + """ + # La commande POURSUITE ne peut exister qu'au niveau jdc + if self.jdc is not self.parent : + raise Accas.AsException("La commande POURSUITE ne peut exister qu'au niveau jdc") + + self.jdc.set_par_lot(PAR_LOT) + if CODE!=None : + self.jdc.fico=CODE['NOM'] + else: + self.jdc.fico=None + if (self.codex and os.path.isfile("glob.1") or os.path.isfile("bhdf.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) + # 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: + nomres=concepts[pos:pos+8] + 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 + for k,v in d.items(): + self.parent.NommerSdprod(v,k) + self.g_context=d + + # Il peut exister un contexte python sauvegardé sous forme pickled + # On récupère ces objets après la restauration des concepts pour que + # la récupération des objets pickled soit prioritaire. + # On vérifie que les concepts relus dans glob.1 sont bien tous + # presents sous le meme nom et du meme type dans pick.1 + # Le contexte est ensuite updaté (surcharge) et donc enrichi des + # variables qui ne sont pas des concepts. + # On supprime du pickle_context les concepts valant None, ca peut + # etre le cas des concepts non executés, placés après FIN. + pickle_context=get_pickled_context() + if pickle_context==None : + self.jdc.cr.fatal(" Erreur a la relecture du fichier pick.1 : aucun objet sauvegardé ne sera récupéré") + return + for elem in pickle_context.keys(): + if type(pickle_context[elem])==types.InstanceType : + pickle_class=pickle_context[elem].__class__ + if elem in self.g_context.keys(): + poursu_class=self.g_context[elem].__class__ + if poursu_class!=pickle_class : + self.jdc.cr.fatal(" types incompatibles entre glob.1 et pick.1 pour concept de nom "+elem) + return + else: + self.jdc.cr.fatal(" concept de nom "+elem+" et de type "+str(pickle_class)+" introuvable dans la base globale") + return + if pickle_context[elem]==None : del pickle_context[elem] + self.g_context.update(pickle_context) + return + + else: + # Si le module d'execution n est pas accessible ou glob.1 absent on + # demande un fichier (EFICAS) + # Il faut éviter de réinterpréter le fichier à chaque appel de + # POURSUITE + if hasattr(self,'fichier_init'): + return + self.make_poursuite() + +def get_pickled_context(): + """ + Cette fonction permet de réimporter dans le contexte courant du jdc (jdc.g_context) + les objets python qui auraient été sauvegardés, sous forme pickled, lors d'une + précédente étude. Un fichier pick.1 doit etre présent dans le répertoire de travail + """ + if os.path.isfile("pick.1"): + file="pick.1" + else: return None + + # Le fichier pick.1 est présent. On essaie de récupérer les objets python sauvegardés + context={} + try: + file=open(file,'r') + # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement + # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère + # aucun objet. + context=pickle.load(file) + file.close() + except: + # En cas d'erreur on ignore le contenu du fichier + # traceback.print_exc() + return None + + return context + +def POURSUITE_context(self,d): + """ + Fonction op_init de la macro POURSUITE + """ + # self représente la macro POURSUITE ... + d.update(self.g_context) + # Une commande POURSUITE n'est possible qu'au niveau le plus haut + # On ajoute directement les concepts dans le contexte du jdc + # XXX est ce que les concepts ne sont pas ajoutés plusieurs fois ?? + 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)) + self.jdc.UserError=self.codex.error + return 0 + +def INCLUDE(self,UNITE,**args): + """ + Fonction sd_prod pour la macro INCLUDE + """ + if not UNITE : return + if hasattr(self,'unite'):return + self.unite=UNITE + + if self.jdc and self.jdc.par_lot == 'NON': + # On est en mode commande par commande, on appelle la methode speciale + self.Execute_alone() + + self.make_include(unite=UNITE) + +def INCLUDE_context(self,d): + """ + Fonction op_init pour macro INCLUDE + """ + 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) + ier=0 + self.set_icmd(None) + icmd=0 + # On n'execute pas l'ops d'include en phase BUILD car il ne sert a rien. + #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 + """ + if self["CONCEPT"]!=None: + sd=[] + for mc in self["CONCEPT"]: + mcs=mc["NOM"] + if type(mcs) == types.ListType or type(mcs) == types.TupleType: + for e in mcs: + if isinstance(e,ASSD): + sd.append(e) + e=e.nom + # traitement particulier pour les listes de concepts, on va mettre à None + # le terme de l'indice demandé dans la liste : + # nomconcept_i est supprimé, nomconcept[i]=None + indice=e[e.rfind('_')+1:] + concept_racine=e[:e.rfind('_')] + if indice!='' and d.has_key(concept_racine) and type(d[concept_racine])==types.ListType: + try : + indici=int(indice) + d[concept_racine][indici]=None + except ValueError : pass + # pour tous les concepts : + 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,ASSD): + sd.append(mcs) + mcs=mcs.nom + # traitement particulier pour les listes de concepts, on va mettre à None + # le terme de l'indice demandé dans la liste : + # nomconcept_i est supprimé, nomconcept[i]=None + indice=mcs[mcs.rfind('_')+1:] + concept_racine=mcs[:mcs.rfind('_')] + if indice!='' and d.has_key(concept_racine) and type(d[concept_racine])==types.ListType: + try : + indici=int(indice) + d[concept_racine][indici]=None + except ValueError : pass + # pour tous les concepts : + if d.has_key(mcs):del d[mcs] + if self.jdc.sds_dict.has_key(mcs):del self.jdc.sds_dict[mcs] + for s in sd: + # On signale au parent que le concept s n'existe plus apres l'étape self + self.parent.delete_concept_after_etape(self,s) + +def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR): + """ + Cette fonction retourne un texte obtenu à partir du texte passé en argument (text) + en substituant le nom du materiau par NOM_MATER + et en réalisant les extractions spéciifées dans EXTRACTION + """ + lines=string.split(text,'\n') + +##### traitement de UNIT : facteur multiplicatif puissance de 10 + regmcsu=re.compile(r" *(.*) *= *([^ ,]*) *## +([^ ]*) *([^ ]*)") + ll_u=[] + for l in lines: + m=regmcsu.match(l) + if m: + if m.group(3) == "UNIT": + if UNITE_LONGUEUR=='M' : coef = '0' + elif UNITE_LONGUEUR=='MM' : coef = m.group(4) + ll_u.append(m.group(1)+" = "+m.group(2)+coef) + else : ll_u.append(l) + else : ll_u.append(l) + +##### traitement de EXTRACTION + if EXTRACTION: + regmcf=re.compile(r" *(.*) *= *_F\( *## +(.*) +(.*)") + regmcs=re.compile(r" *(.*) *= *([^ ,]*) *, *## +([^ ]*) *([^ ]*)") + regfin=re.compile(r" *\) *") + ll=[] + temps={};lmcf=[] + for e in EXTRACTION: + mcf=e['COMPOR'] + lmcf.append(mcf) + temps[mcf]=e['TEMP_EVAL'] + FLAG=0 + for l in ll_u: + m=regmcf.match(l) + if m: # On a trouve un mot cle facteur "commentarise" + if m.group(2) == "SUBST": # il est de plus substituable + if temps.has_key(m.group(3)): # Il est a substituer + ll.append(" "+m.group(3)+"=_F(") + mcf=m.group(3) + TEMP=temps[mcf] + FLAG=1 # Indique que l'on est en cours de substitution + else: # Il n est pas a substituer car il n est pas dans la liste demandee + ll.append(l) + else: # Mot cle facteur commentarise non substituable + ll.append(l) + else: # La ligne ne contient pas un mot cle facteur commentarise + if FLAG == 0: # On n est pas en cours de substitution + ll.append(l) + else: # On est en cours de substitution. On cherche les mots cles simples commentarises + m=regmcs.match(l) + if m: # On a trouve un mot cle simple commentarise + if m.group(3) == "EVAL": + ll.append(" "+m.group(1)+' = '+m.group(4)+"("+str(TEMP)+'),') + elif m.group(3) == "SUPPR": + pass + else: + ll.append(l) + else: # On cherche la fin du mot cle facteur en cours de substitution + m=regfin.match(l) + if m: # On l a trouve. On le supprime de la liste + FLAG=0 + del temps[mcf] + ll.append(l) + else: + ll=ll_u + + for l in ll: + print l + lines=ll + ll=[] + for l in lines: + l=re.sub(" *MAT *= *",NOM_MATER+" = ",l,1) + ll.append(l) + text=string.join(ll,'\n') + return text + +def post_INCLUDE(self): + """ + Cette fonction est executée apres toutes les commandes d'un INCLUDE (RETOUR) + Elle sert principalement pour les INCLUDE_MATERIAU : remise a blanc du prefixe Fortran + """ + self.codex.opsexe(self,0,-1,2) + +def INCLUDE_MATERIAU(self,NOM_AFNOR,TYPE_MODELE,VARIANTE,TYPE_VALE,NOM_MATER, + EXTRACTION,UNITE_LONGUEUR,INFO,**args): + """ + Fonction sd_prod pour la macro INCLUDE_MATERIAU + """ + mat=string.join((NOM_AFNOR,'_',TYPE_MODELE,'_',VARIANTE,'.',TYPE_VALE),'') + if not hasattr(self,'mat') or self.mat != mat or self.nom_mater != NOM_MATER : + # On récupère le répertoire des matériaux dans les arguments + # supplémentaires du JDC + rep_mat=self.jdc.args.get("rep_mat","NOrep_mat") + f=os.path.join(rep_mat,mat) + self.mat=mat + self.nom_mater=NOM_MATER + if not os.path.isfile(f): + del self.mat + self.make_contexte(f,"#Texte sans effet pour reinitialiser le contexte a vide\n") + raise "Erreur sur le fichier materiau: "+f + # Les materiaux sont uniquement disponibles en syntaxe Python + # On lit le fichier et on supprime les éventuels \r + text=string.replace(open(f).read(),'\r\n','\n') + # On effectue les substitutions necessaires + self.prefix=NOM_MATER + self.text= subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR) + if INFO == 2: + print "INCLUDE_MATERIAU: ", self.mat,' ',NOM_MATER,'\n' + print self.text + # on execute le texte fourni dans le contexte forme par + # le contexte de l etape pere (global au sens Python) + # et le contexte de l etape (local au sens Python) + # Il faut auparavant l'enregistrer aupres du module linecache (utile pour nommage.py) + linecache.cache[f]=0,0,string.split(self.text,'\n'),f + + self.postexec=post_INCLUDE + + if self.jdc.par_lot == 'NON': + # On est en mode commande par commande, on appelle la methode speciale + self.Execute_alone() + + self.make_contexte(f,self.text) + +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 + +def build_DEFI_FICHIER(self,**args): + """ + Fonction ops de la macro DEFI_FICHIER + """ + ier=0 + self.set_icmd(None) + icmd=0 + ier=self.codex.opsexe(self,icmd,-1,26) + return ier diff --git a/Aster/Cata/cata_STA5.py b/Aster/Cata/cata_STA5.py deleted file mode 100644 index f82589d5..00000000 --- a/Aster/Cata/cata_STA5.py +++ /dev/null @@ -1,11451 +0,0 @@ -# -*- coding: utf-8 -*- -#& MODIF COMMANDE DATE 10/07/2001 AUTEUR ACBHHCD G.DEVESA -# 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. -# ====================================================================== - -import Accas -from Accas import * -from Accas import _F - -import ops - -try: - import aster -except: - pass - -# -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 liste(ASSD):pass -class chaine(ASSD):pass - -# Type generaux -class no(GEOM):pass -class grno(GEOM):pass -class ma(GEOM):pass -class grma(GEOM):pass - -class table(ASSD): - def __getitem__(self,key): - return aster.getpara(self.get_name(),"TABLE",key[0],key[1]) - -class resultat(ASSD): - def __getitem__(self,key): - return aster.getpara(self.get_name(),"RESULTAT",key[0],key[1]) - -# Autres -class affe_carte(ASSD):pass -class affe_cham_no(ASSD):pass -class affe_char_cine(ASSD):pass -class affe_char_cine_f(ASSD):pass -class asse_matrice(ASSD):pass -class asse_vecteur(ASSD):pass -class base_modale(ASSD):pass -class cabl_precont(ASSD):pass -class calc_cham_elem(ASSD):pass -class calc_char_cine(ASSD):pass -class calc_char_seisme(ASSD):pass - -class calc_elem(resultat):pass - -class calc_matr_elem(ASSD):pass - -class calc_no(resultat):pass - -class calc_vect_elem(ASSD):pass -class cara_elem(ASSD):pass -class cara_pout(ASSD):pass - -class carte(ASSD):pass -class carte_depl_r(carte):pass -class carte_epsi_r(carte):pass -class carte_flux_r(carte):pass -class carte_geom_r(carte):pass -class carte_inst_r(carte):pass -class carte_meta_r(carte):pass -class carte_neut_f(carte):pass -class carte_neut_r(carte):pass -class carte_sief_r(carte):pass -class carte_temp_f(carte):pass -class carte_temp_r(carte):pass -class carte_var2_r(carte):pass -# ajout JMP 2908 -class cham_gd(ASSD):pass -#class cham_elem(ASSD):pass -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_dommag(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_flux_r(cham_elem):pass -class cham_elem_geom_r(cham_elem):pass -class cham_elem_hydr_r(cham_elem):pass -class cham_elem_meta_r(cham_elem):pass -class cham_elem_neut_r(cham_elem):pass -class cham_elem_neut_f(cham_elem):pass -class cham_elem_pres_r(cham_elem):pass -class cham_elem_sief_c(cham_elem):pass -class cham_elem_depl_r(cham_elem):pass -class cham_elem_temp_r(cham_elem):pass -class cham_elem_sief_r(cham_elem):pass -class cham_elem_sour_r(cham_elem):pass -class cham_elem_vari_r(cham_elem):pass - -#class cham_gd(ASSD):pass -class cham_mater(ASSD):pass - -#class cham_no(ASSD):pass -class cham_no(cham_gd):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_epsi_r(cham_no):pass -class cham_no_flux_r(cham_no):pass -class cham_no_geom_r(cham_no):pass -class cham_no_inst_r(cham_no):pass -class cham_no_meta_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_neut_r(cham_no):pass -class cham_no_neut_f(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 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 comb_cham_elem(ASSD):pass -class comb_cham_no(ASSD):pass -class comb_fourier(resultat):pass -class comb_matr_asse(ASSD):pass -class courbe(ASSD):pass -class crea_resu(ASSD):pass -class acou_harmo(resultat):pass -class dyna_harmo(resultat):pass -class dyna_line_harm(resultat):pass -class dyna_trans(resultat):pass - -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 extr_mode(ASSD):pass -class extr_resu(ASSD):pass -class fact_grad(ASSD):pass -class fact_ldlt(ASSD):pass -class fonction_c(fonction):pass -class fond_fiss(ASSD):pass -class fourier_elas(resultat):pass -class harm_gene(resultat):pass -class interf_dyna_clas(ASSD):pass -class interspfact(ASSD):pass -class lire_miss_3d(ASSD):pass -class lire_resu(ASSD):pass -class listis(ASSD):pass -class listr8(ASSD):pass -class macr_elem_dyna(ASSD):pass -class macr_elem_stat(ASSD):pass -class macro_elas_mult(ASSD):pass -class maillage(ASSD):pass -class mater(ASSD):pass - -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_c(matr_asse):pass -class matr_asse_gene_r(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 - -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 - -class melasflu(ASSD):pass - -class mode_acou(resultat):pass -class mode_cycl(resultat):pass -class mode_flamb(resultat):pass -class mode_gene(resultat):pass -class mode_iter_inv(resultat):pass -class mode_meca(resultat):pass -class mode_meca_c(mode_meca):pass -class mode_stat(resultat):pass - -class modele(ASSD):pass -class modele_gene(ASSD):pass -class mult_elas(resultat):pass -class norm_mode(ASSD):pass -class nume_ddl(ASSD):pass -class nume_ddl_gene(ASSD):pass -class obstacle(ASSD):pass -class post_elem(ASSD):pass -class prod_matr_cham(ASSD):pass -class proj_champ(ASSD):pass -class recu_champ(ASSD):pass -class reso_grad(ASSD):pass -class reso_ldlt(ASSD):pass -class rest_base_phys(ASSD):pass -class spectre(ASSD):pass -class squelette(maillage):pass -class surface(ASSD):pass - -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_ener_totale(table):pass -class tabl_fonc(table):pass -class tabl_fonc_max(tabl_fonc):pass -class tabl_fonc_rms(tabl_fonc):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_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 - -class theta_geom(ASSD):pass -class tran_gene(ASSD):pass -class type_flui_stru(ASSD):pass -class valeur(ASSD):pass -class vect_asse(ASSD):pass -class vect_asse_gene(vect_asse):pass -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 COMMANDE DATE 11/09/2000 AUTEUR 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 (barre, cable, poutre, tuyau, plaque, coque, discret)", - docu="U4.42.01-F",reentrant='n', - regles=(AU_MOINS_UN('POUTRE','COQUE','DISCRET','CABLE','BARRE','MASSIF','ASSE_GRIL','GRILLE'),), - 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=01,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='f',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ), - CARA_SECT =SIMP(statut='f',typ=(cara_pout) ), - b_generale =BLOC( condition = "SECTION=='GENERALE'", - CARA =SIMP(statut='f',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='f',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='f',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") ), - ), - ), - BARRE =FACT(statut='f',min=01,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='f',typ='TXM',into=("A",) ), - VALE =SIMP(statut='o',typ='R' ), - ), - b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", - CARA =SIMP(statut='f',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 ), - ), - ), - COQUE =FACT(statut='f',min=01,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='f',typ='R' ), - ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2), - A_CIS =SIMP(statut='f',typ='R',defaut= 0.8333333), - COEF_RIGI_DRZ =SIMP(statut='f',typ='R',defaut= 1.0E-5 ), - 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=01,max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('A','SECTION') ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - N_INIT =SIMP(statut='f',typ='R',defaut= 5000. ), - A =SIMP(statut='f',typ='R' ), - SECTION =SIMP(statut='f',typ='R' ), - ), - DISCRET =FACT(statut='f',min=01,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='f',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='f',typ='R',max='**'), - ), - ORIENTATION =FACT(statut='f',min=01,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='f',typ='TXM', - into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ), - VALE =SIMP(statut='f',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=01,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=01,max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - 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=01,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=01,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'), - DIST_N =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 ), - ), - RIGI_PARASOL =FACT(statut='f',min=01,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=01,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'), - ), -) ; -#& MODIF COMMANDE DATE 24/05/2000 AUTEUR VABHHTS J.PELLET -def affe_carte_prod(GRANDEUR,**args): - if GRANDEUR == "TEMP_R" : return carte_temp_r - if GRANDEUR == "FLUX_R" : return carte_flux_r - if GRANDEUR == "DEPL_R" : return carte_depl_r - if GRANDEUR == "EPSI_R" : return carte_epsi_r - if GRANDEUR == "SIEF_R" : return carte_sief_r - if GRANDEUR == "META_R" : return carte_meta_r - if GRANDEUR == "NEUT_R" : return carte_neut_r - if GRANDEUR == "VAR2_R" : return carte_var2_r - if GRANDEUR == "TEMP_F" : return carte_temp_f - if GRANDEUR == "NEUT_F" : return carte_neut_f - if GRANDEUR == "INST_R" : return carte_inst_r - if GRANDEUR == "GEOM_R" : return carte_geom_r - raise AsException("type de concept resultat non prevu") - -AFFE_CARTE=OPER(nom="AFFE_CARTE",op= 36,sd_prod=affe_carte_prod, - fr="Définition d un champ de grandeur constant, qui peut ensuite être utilisé comme champ initial (par exemple une précontrainte en mécanique)", - docu="U4.44.13-C",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage ), - GRANDEUR =SIMP(statut='o',typ='TXM', - into=("DEPL_R","EPSI_R","SIEF_R","VAR2_R", - "TEMP_R","META_R","TEMP_F","FLUX_R", - "NEUT_R","NEUT_F","INST_R","GEOM_R",) ), - AFFE =FACT(statut='o',min=01,max='**', - regles=(UN_PARMI('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 ), - 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), - ), -) ; -#& MODIF COMMANDE DATE 31/05/2000 AUTEUR CIBHHLV L.VIVAN - -def affe_cham_no_prod(CHAM_NO_AFFE,GRANDEUR,**args): - if GRANDEUR == "TEMP_R" : return cham_no_temp_r - if GRANDEUR == "TEMP_F" : return cham_no_temp_f - if GRANDEUR == "DEPL_R" : return cham_no_depl_r - if GRANDEUR == "DEPL_F" : return cham_no_depl_f - if GRANDEUR == "SIEF_R" : return cham_no_sief_r - if GRANDEUR == "NEUT_R" : return cham_no_neut_r - if GRANDEUR == "NEUT_F" : return cham_no_neut_f - if GRANDEUR == "INST_R" : return cham_no_inst_r - if GRANDEUR == "GEOM_R" : return cham_no_geom_r - if GRANDEUR == "VAR2_R" : return cham_no_var2_r - if AsType(CHAM_NO_AFFE) == cham_no_temp_r : return cham_no_temp_r - if AsType(CHAM_NO_AFFE) == cham_no_depl_r : return cham_no_depl_r - if AsType(CHAM_NO_AFFE) == cham_no_sief_r : return cham_no_sief_r - raise AsException("type de concept resultat non prevu") - -AFFE_CHAM_NO=OPER(nom="AFFE_CHAM_NO",op= 52,sd_prod=affe_cham_no_prod - ,fr="Affectation de grandeurs réelles pour créer un cham_no_*", - docu="U4.44.11-F",reentrant='n', - regles=(UN_PARMI('MAILLAGE','CHAM_NO_AFFE'), - PRESENT_PRESENT('MAILLAGE','GRANDEUR','AFFE'), - EXCLUS('NUME_DDL','CHAM_NO'),), - CHAM_NO_AFFE =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r, - cham_no_depl_f,cham_no_sief_r ) ), - MAILLAGE =SIMP(statut='f',typ=maillage ), - GRANDEUR =SIMP(statut='f',typ='TXM',into=("TEMP_R","DEPL_R","SIEF_R","VAR2_R", - "TEMP_F","DEPL_F","INST_R","GEOM_R", - "NEUT_R","NEUT_F") ), - AFFE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), - UN_PARMI('VALE','VALE_F','VALE_R','FONCTION'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), -# NOM_CMP est il obligatoire - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - VALE_R =SIMP(statut='f',typ='R',max='**',defaut= 0.E+0 ), - VALE =SIMP(statut='f',typ='R',max='**'), - VALE_F =SIMP(statut='f',typ=fonction,max='**'), - FONCTION =SIMP(statut='f',typ=fonction,max='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - NUME_DDL =SIMP(statut='f',typ=nume_ddl ), - CHAM_NO =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r, - cham_no_depl_f,cham_no_sief_r ) ), -) ; -#& MODIF COMMANDE DATE 12/05/99 AUTEUR VABHHTS J.PELLET -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', - 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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.,), - PRES_IMPO =FACT(statut='f',min=01,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=01,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='**'), - VNOR =SIMP(statut='o',typ='C' ), - ), - IMPE_FACE =FACT(statut='f',min=01,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='**'), - IMPE =SIMP(statut='o',typ='C' ), - ), - LIAISON_UNIF =FACT(statut='f',min=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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=01,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=01,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=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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=01,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=01,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 03/10/2000 AUTEUR UFBHHLL C.CHAVANT -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-F",reentrant='n', - 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_UNIL_NO','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'), - EXCLUS('LIAISON_UNIL_NO','CONTACT'),), - - MODELE =SIMP(statut='o',typ=(modele) ), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - PESANTEUR =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=04,max=04), - ROTATION =SIMP(statut='f',typ='R',fr="Champ de rotation",min=04,max=04), - b_rotation =BLOC ( condition = "ROTATION != None", - CENTRE =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=03), - ), - PRES_CALCULEE =SIMP(statut='f',fr="Champ de pression issu d un autre calcul",typ=evol_char ), - 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 ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), - - DDL_IMPO =FACT(statut='f',min=01,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'),), - 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' ), - ), - FACE_IMPO =FACT(statut='f',min=01,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=01,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 la même valeur de déplacement dans un repère oblique quelconque",min=01,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=03), - 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=01,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=03), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03), - CENTRE =SIMP(statut='f',typ='R',max=03), - ), - LIAISON_SOLIDE =FACT(statut='f',fr="Modéliser une partie indéformable d une structure",min=01,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_UNIF =FACT(statut='f',fr="Imposer une meme valeur (inconnue) à des ddls d un emsemble de noeuds",min=01,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 présents dans un concept cham_nno",min=01,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") ), - ), - LIAISON_ELEM =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque", min=01,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=03), - ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - ), - LIAISON_COQUE =FACT(statut='f',min=01,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") ), - ), - LIAISON_MAIL =FACT(statut='f',min=01,max='**', - regles=(PRESENT_ABSENT('GROUP_MA_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_ABSENT('MAILLE_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL',), - PRESENT_ABSENT('GROUP_MA_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('MAILLE_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('GROUP_NO_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('NOEUD_2','GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_ABSENT('DDL_1','DDL_MAIT','DDL_ESCL'), - PRESENT_ABSENT('DDL_2','DDL_MAIT','DDL_ESCL'), - PRESENT_PRESENT('DDL_1','DDL_2'), - PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,max='**'), - MAILLE_MAIT =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_2 =SIMP(statut='f',typ=grno,max='**'), - NOEUD_2 =SIMP(statut='f',typ=no,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=03 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03 ), - CENTRE =SIMP(statut='f',typ='R',max=03 ), - DDL_1 =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ), - DDL_2 =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ), - DDL_MAIT =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ), - DDL_ESCL =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ), - ), - - FORCE_NODALE =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",min=01,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='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=03), - ), - - FORCE_FACE =FACT(statut='f',fr="Appliquer des forces surfaciques sur une face d éléments volumiques",min=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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' ), - ), - EPSI_INIT =FACT(statut='f',fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D",min=01,max='**', - regles=(UN_PARMI('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' ), - ), - - - FORCE_COQUE =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",min=01,max='**', - regles=(UN_PARMI('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",) ), - ), - FORCE_POUTRE =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",min=01,max='**', - regles=(UN_PARMI('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=01,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='**'), - PRES =SIMP(statut='f',typ='R' ), - ), - - - FORCE_ELEC =FACT(statut='f',fr="Appliquer une force de Laplace due à la présence d un conducteur rectiligne secondaire non maillé",min=01,max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','POSITION'), - EXCLUS('FX','POSITION'), - EXCLUS('FY','POSITION'), - EXCLUS('FZ','POSITION'),), -# trop de règles : 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=03), - DIST =SIMP(statut='f',typ='R' ), - b_point2 =BLOC ( condition = "DIST != None", - POINT2 =SIMP(statut='o',typ='R',max=03), - ), - ), - b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')", - POINT1 =SIMP(statut='o',typ='R',max=03), - POINT2 =SIMP(statut='o',typ='R',max=03), - ), - ), - INTE_ELEC =FACT(statut='f',fr="Appliquer une force de Laplace due à la présence d un conducteur non rectiligne secondaire maillé ou non",min=01,max='**', - regles=(UN_PARMI('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='**'), - ), - - - VITE_FACE =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",min=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - PRES =SIMP(statut='o',typ='R' ), - ), - IMPE_FACE =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",min=01,max='**', - regles=(UN_PARMI('GROUP_MA','MAILLE' ),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - IMPE =SIMP(statut='o',typ='R' ), - ), - - - FLUX_THM_REP =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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' ), - ), - - EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",min=01,max='**', - regles=(UN_PARMI('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' ), - ), - - LIAISON_UNIL_NO =FACT(statut='f',min=01,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='**'),# CO() - MAILLE_1 =SIMP(statut='f',typ=ma,max='**'),# CO() - GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'),# CO() - MAILLE_2 =SIMP(statut='f',typ=ma,max='**'),# CO() - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max=03 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03 ), - CENTRE =SIMP(statut='f',typ='R',max=03 ), - ANGLE_MAX =SIMP(statut='f',typ='R' ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS", - into=("SANS","TRESCA","COULOMB") ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ), - COULOMB =SIMP(statut='f',typ='R' ), - TRESCA =SIMP(statut='f',typ='R' ), - E_T =SIMP(statut='f',typ='R' ), - COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - CONTACT =SIMP(statut='f',typ='TXM',into=("MAINTENU",) ), - JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",min=01,max='**', - regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'), - ENSEMBLE('FROTTEMENT','COULOMB'), - EXCLUS('DIST_2','COEF_IMPO'), - EXCLUS('DIST_1','COEF_IMPO'), - EXCLUS('COEF_MULT_2','GROUP_MA_1'), - EXCLUS('COEF_MULT_2','MAILLE_1'), - EXCLUS('COEF_IMPO','GROUP_MA_1'), - EXCLUS('COEF_IMPO','MAILLE_1'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")), - 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")), - REAC_GEOM_INTE =SIMP(statut='f',typ='I',defaut= 2), - METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), - COULOMB =SIMP(statut='f',typ='R',max=1), - E_T =SIMP(statut='f',typ='R' ), - COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - VECT_NORM_2 =SIMP(statut='f',typ='R',max=03), - PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE",) ), - 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='**'), - SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - COEF_IMPO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - COEF_MULT_2 =SIMP(statut='f',typ='R',defaut= 1. ), - ), - - RELA_CINE_BP =FACT(statut='f',min=01,max='**', - CABLE_BP =SIMP(statut='o',typ=cabl_precont ), - SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; -#& MODIF COMMANDE DATE 17/05/2000 AUTEUR CIBHHLV L.VIVAN -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-C",reentrant='n', - 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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - DDL_IMPO =FACT(statut='f',min=01,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=01,max='**', - regles=(UN_PARMI('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=01,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 03/10/2000 AUTEUR UFBHHLL C.CHAVANT -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 (temps, ...)", - docu="U4.44.01-F",reentrant='n', - 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'),), - MODELE =SIMP(statut='o',typ=modele ), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - - DDL_IMPO =FACT(statut='f',min=01,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) ), - ), - LIAISON_UNIF =FACT(statut='f',min=01,max='**', - fr="Imposer une meme valeur (inconnue) à 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=01,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",) ), - ), - LIAISON_OBLIQUE =FACT(statut='f',min=01,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=03), - 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_COQUE =FACT(statut='f',min=01,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",) ), - ), - FACE_IMPO =FACT(statut='f',min=01,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=01,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_GROUP =FACT(statut='f',min=01,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=03), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03), - CENTRE =SIMP(statut='f',typ='R',max=03), - ), - - FORCE_NODALE =FACT(statut='f',min=01,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=03 ), - ), - FORCE_INTERNE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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) ), - ), - FORCE_FACE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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) ), - ), - PRES_REP =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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) ), - ), - - FORCE_COQUE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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") ), - ), - FORCE_POUTRE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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=01,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='**'), - PRES =SIMP(statut='f',typ=(fonction) ), - ), - VITE_FACE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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=01,max='**', - regles=(UN_PARMI('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=01,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' ), - ), - EPSI_INIT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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) ), - ), - - CONTACT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'), - ENSEMBLE('FROTTEMENT','COULOMB'), - EXCLUS('DIST_2','COEF_IMPO'), - EXCLUS('DIST_1','COEF_IMPO'), - EXCLUS('COEF_MULT_2','GROUP_MA_1'), - EXCLUS('COEF_MULT_2','MAILLE_1'), - EXCLUS('COEF_IMPO','GROUP_MA_1'), - EXCLUS('COEF_IMPO','MAILLE_1'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP") ), - 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") ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), - COULOMB =SIMP(statut='f',typ='R',max=1), - E_T =SIMP(statut='f',typ='R' ), - COEF_MATR_FROT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - VECT_NORM_2 =SIMP(statut='f',typ='R',max=03), - PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE",) ), - 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='**' ), - 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) ), - COEF_IMPO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - COEF_MULT_2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - ), - FLUX_THM_REP =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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 17/11/1999 AUTEUR CIBHHGB G.BERTRAND -AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther, - fr=" ", - docu=" ",reentrant='n', - regles=(AU_MOINS_UN('CARA_TORSION', ),), - MODELE =SIMP(statut='o',typ=modele ), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI", - into=("OUI","NON") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - CARA_TORSION =FACT(statut='f',min=01,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 28/11/2000 AUTEUR CIBHHLV L.VIVAN -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-F",reentrant='n', - 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' ),), - MODELE =SIMP(statut='o',typ=(modele) ), - VERI_DDL =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - LIAISON_DDL =FACT(statut='f',min=01,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' ), - ), - TEMP_IMPO =FACT(statut='f',min=01,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'), ), - LIAISON_UNIF =FACT(statut='f',min=01,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=01,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") ), - ), - SOURCE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('SOUR','SOUR_CALCULEE',), - 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) ), - ), - FLUX_REP =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'), - 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 ), - ), - ECHANGE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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'), - ), - ECHANGE_PAROI =FACT(statut='f',min=01,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='R'), - TRAN =SIMP(statut='f',typ='R',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - GRAD_TEMP_INIT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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_GROUP =FACT(statut='f',min=01,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='**'), - ), - CONVECTION =FACT(statut='f',min=01,max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), - ), - RAYONNEMENT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE',), - ENSEMBLE('SIGMA','EPSILON','TEMP_EXT'),), - 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'), - ), - LIAISON_MAIL =FACT(statut='f',min=01,max='**', - regles=(PRESENT_ABSENT('GROUP_MA_1','GROUP_MA_ESCL','MAILLE_ESCL', - 'GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_ABSENT('MAILLE_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_ABSENT('GROUP_MA_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('MAILLE_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('GROUP_NO_2','GROUP_MA_MAIT','MAILLE_MAIT'), - PRESENT_ABSENT('NOEUD_2','GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_2','MAILLE_2','GROUP_NO_2', - 'NOEUD_2','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL', - 'NOEUD_ESCL'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,max='**'), - MAILLE_MAIT =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_2 =SIMP(statut='f',typ=grno,max='**'), - NOEUD_2 =SIMP(statut='f',typ=no,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='**' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 12/05/99 AUTEUR VABHHTS J.PELLET -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-F",reentrant='n', - regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE', - 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF', - 'GRAD_TEMP_INIT','RAYONNEMENT'),), - MODELE =SIMP(statut='o',typ=(modele) ), - VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - LIAISON_DDL =FACT(statut='f',min=01,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) ), - ), - TEMP_IMPO =FACT(statut='f',min=01,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',max='**',into=("TEMP",) ), - TEMP =SIMP(statut='f',typ=(fonction) ), - TEMP_INF =SIMP(statut='f',typ=(fonction) ), - TEMP_SUP =SIMP(statut='f',typ=(fonction) ), - ), - LIAISON_UNIF =FACT(statut='f',min=01,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") ), - ), - SOURCE =FACT(statut='f',min=01,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) ), - ), - FLUX_REP =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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=01,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='**'), - FLUN =SIMP(statut='o',typ=(fonction) ), - ), - ECHANGE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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) ), - ), - ECHANGE_PAROI =FACT(statut='f',min=01,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',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - GRAD_TEMP_INIT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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) ), - ), - LIAISON_GROUP =FACT(statut='f',min=01,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='**'), - ), - CONVECTION =FACT(statut='f',min=01,max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_depl_r) ), - ), - RAYONNEMENT =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'), - ENSEMBLE('SIGMA','EPSILON','TEMP_EXT'),), - 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) ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 24/09/97 AUTEUR CIBHHLV L.VIVAN -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', - MAILLAGE =SIMP(statut='o',typ=maillage), - MODELE =SIMP(statut='f',typ=modele), - AFFE =FACT(statut='o',min=01,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 26/09/2000 AUTEUR CIBHHLV L.VIVAN -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-F", - 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) ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - VERIF =SIMP(statut='f',typ='TXM',max='**',into=("MAILLE","NOEUD") ), - AFFE_SOUS_STRUC =FACT(statut='f',min=01,max=01, - 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=01,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","NON_LOCAL") ), - b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", - fr="modelisations mécaniques", - MODELISATION =SIMP(statut='o',typ='TXM', into=( - "2D_CONTACT", - "2D_DIS_T", - "2D_DIS_TR", - "2D_FLUI_ABSO", - "2D_FLUI_PESA", - "2D_FLUI_STRU", - "2D_FLUIDE", - "3D", - "3D_ABSO", - "3D_CONTACT", - "3D_FAISCEAU", - "3D_FLUI_ABSO", - "3D_FLUIDE", - "3D_HHM" , - "3D_HM", - "3D_INCO", - "3D_JOINT_CT", - "3D_SI", - "3D_THH", - "3D_THHM", - "3D_THM", - "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", - "BARRE", - "C_PLAN", - "CABLE", - "CABLE_POULIE", - "COQUE_3D", - "COQUE_AXIS", - "COQUE_C_PLAN", - "COQUE_D_PLAN", - "D_PLAN", - "D_PLAN_ABSO", - "D_PLAN_HHM", - "D_PLAN_HM", - "D_PLAN_SI", - "D_PLAN_THH", - "D_PLAN_THHM", - "D_PLAN_THM", - "DIS_T", - "DIS_TR", - "DKT", - "DST", - "FLUI_STRU", - "GRILLE", - "PLAN_INCO", - "POU_C_T", - "POU_D_E", - "POU_D_T", - "POU_D_T_GD", - "POU_D_TG", - "Q4G", - "TUYAU", - "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" - ), ),), - - b_non_local =BLOC( condition = "PHENOMENE=='NON_LOCAL'", - fr="modelisations non locales", - MODELISATION =SIMP(statut='o',typ='TXM',into=( - "3D", - "AXIS", - "C_PLAN", - "D_PLAN", - ) ), ), - ), -) ; -#& MODIF COMMANDE DATE 25/10/93 AUTEUR VABHHTS J.PELLET -AIDE=PROC(nom="AIDE",op=42,docu="U4.02.01-F", - fr="Interrogation sur le catalogue des commandes et les concepts produits", - regles=(AU_MOINS_UN('COMMANDE','CONCEPT','TYPE_ELEM', ),), - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), - TYPE_ELEM =FACT(fr="couple type_elem option", - statut='f',min=01,max=01, - INITEL =SIMP(statut='f',typ='TXM',defaut="NON", - into=("OUI","NON",) ), - ), - COMMANDE =FACT(statut='f',min=01,max='**', - NOM =SIMP(fr="liste des noms de commande", - statut='f',typ='TXM',max='**',defaut="*"), - OPTION =SIMP(fr="option d'édition de commande", - statut='f',typ='TXM',defaut="CATALOGUE", - into=("CATALOGUE","A_REMPLIR","NUMERO",) ), - ), - CONCEPT =FACT(statut='f',min=01,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 18/03/92 AUTEUR INCONNU INCONNU -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', - MAILLAGE =SIMP(statut='o',typ=maillage,min=02,max=02 ), -) ; -#& MODIF COMMANDE DATE 02/10/96 AUTEUR CIBHHLV L.VIVAN -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', - 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 02/10/96 AUTEUR CIBHHLV L.VIVAN -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', - 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 30/06/93 AUTEUR T8BHHTK T.KERBER -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', - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - CHAR_SOUS_STRUC =FACT(statut='o',min=01,max='**', - SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - VECT_ASSE =SIMP(statut='o',typ=cham_no_depl_r ), - ), -) ; -#& MODIF COMMANDE DATE 02/10/96 AUTEUR CIBHHLV L.VIVAN -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 : %s" %`AsType(VECT_ELEM)`) - -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', - 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 28/09/98 AUTEUR ACBHHCD G.DEVESA -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', - ENER_SOL =FACT(statut='o',min=01,max=01, - 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=03), - ), - AMOR_INTERNE =FACT(statut='o',min=01,max=01, - 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=01,max=01, - 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 29/08/2000 AUTEUR ADBHHPM P.MASSIN -def calc_cham_elem_prod(OPTION,**args): - if OPTION == "EQUI_ELGA_SIGM" : return cham_elem_sief_r - if OPTION == "EQUI_ELNO_SIGM" : 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 - 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 == "EFGE_ELNO_CART" : return cham_elem_sief_r - if OPTION == "EFGE_ELNO_DEPL" : return cham_elem_sief_r - if OPTION == "EQUI_ELGA_EPSI" : return cham_elem_epsi_r - if OPTION == "EQUI_ELNO_EPSI" : return cham_elem_epsi_r - if OPTION == "DEGE_ELNO_DEPL" : return cham_elem_epsi_r - if OPTION == "EPSI_ELNO_DEPL" : return cham_elem_epsi_r - 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 - if OPTION == "ENEL_ELGA" : return cham_elem_ener_r - if OPTION == "ENEL_ELNO_ELGA" : return cham_elem_ener_r - if OPTION == "EPOT_ELEM_DEPL" : return cham_elem_ener_r - if OPTION == "ECIN_ELEM_DEPL" : return cham_elem_ener_r - 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 - if OPTION == "PRES_DBEL_DEPL" : return cham_elem_dbel_r - if OPTION == "ENDO_ELNO_SIGM" : return cham_elem_sief_r - 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 (contraintes, déformations ou flux) à partir de champs solution (déplacement ou température) ou de champs par éléments", - docu="U4.81.03-F",reentrant='n', - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - 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","EFGE_ELNO_DEPL","EPOT_ELEM_DEPL", - "EPSI_ELNO_DEPL","PRES_DBEL_DEPL","SIGM_ELNO_DEPL", - "SIEF_ELGA_DEPL","SIEF_ELGA_LAGR","SIGM_ELNO_LAGR", - "EFGE_ELNO_CART","ENDO_ELNO_SIGM","EQUI_ELGA_EPSI", - "EQUI_ELGA_SIGM","EQUI_ELNO_EPSI","EQUI_ELNO_SIGM", - "SIGM_ELNO_CART","ECIN_ELEM_DEPL","SIPO_ELNO_DEPL", - "FLUX_ELNO_TEMP","FLUX_ELGA_TEMP","SOUR_ELGA_ELEC", - "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG", - "COOR_ELGA","ENEL_ELGA","ENEL_ELNO_ELGA"), ), - DEPL =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c)), - PROPAGATION =SIMP(statut='f',typ='R',defaut= 0.E+0), - CHAM_ELEM =SIMP(statut='f',typ=(cham_elem_sief_r,cham_elem_epsi_r) ), - FREQ =SIMP(statut='f',typ='R'), - VITE =SIMP(statut='f',typ=cham_no_depl_r), - EXCIT =FACT(statut='f',min=01,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 ), - - TEMP =SIMP(statut='f',typ=(cham_no_temp_r) ), - - PRES =SIMP(statut='f',typ=(cham_no_pres_c) ), - - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - ANGLE =SIMP(statut='f',typ='I',defaut= 0), - PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL", - into=("SUP","INF","MOY","MAIL"), ), -) ; -#& MODIF COMMANDE DATE 11/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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 08/03/94 AUTEUR VABHHT2 G.BERTRAND -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, - fr="Calcul du chargement sismique (forces d inertie fictives) pour une étude ultérieure de la réponse en mouvement relatif par rapport aux appuis", - docu="U4.63.01-E",reentrant='n', - 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=06,fr="Directions du séisme imposé"), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MODE_STAT =SIMP(statut='f',typ=mode_stat ), - 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 29/08/2000 AUTEUR ADBHHPM P.MASSIN -def calc_elem_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_flamb : return mode_flamb - if AsType(RESULTAT) == mode_acou : return mode_acou - if AsType(RESULTAT) == mode_stat : return mode_stat - if AsType(RESULTAT) == mult_elas : return mult_elas - if AsType(RESULTAT) == fourier_elas : return fourier_elas - if AsType(RESULTAT) == base_modale : return base_modale - 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-F",reentrant='f', - fr="Compléter 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), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - - 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=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", - "SIGM_ELNO_TUYO","SIGM_ELNO_CART","DEGE_ELNO_DEPL","EFGE_ELNO_CART", - "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","ECIN_ELEM_DEPL","SIPO_ELNO_DEPL", - "EPGR_ELNO","EPGR_ELGA","DURT_ELGA_META","DURT_ELNO_META", - "SIGM_ELNO_COQU","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF", - "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2", - "VNOR_ELEM_DEPL","SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA", - "VARI_ELNO_ELGA","VARI_ELNO_TUYO","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", - "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", - "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", - "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","ENEL_ELGA","ENEL_ELNO_ELGA","SIEF_ELNO_ELGA", - "DEUL_ELGA_TEMP","DETE_ELNO_DLTE","DEUL_ELGA_DEPL","DEDE_ELNO_DLDE", - "DLSI_ELGA_DEPL","DESI_ELNO_DLSI","PMPB_ELNO_SIEF","PMPB_ELGA_SIEF", - "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP", - "SOUR_ELGA_ELEC", - "PRES_ELNO_DBEL","PRES_DBEL_DEPL","PRES_ELNO_REEL","PRES_ELNO_IMAG", - "INTE_ELNO_ACTI","INTE_ELNO_REAC", - ) ), - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca, - mode_stat,evol_noli,mult_elas,fourier_elas, - evol_ther,base_modale, - acou_harmo,mode_acou,mode_flamb) ), - EXCIT =FACT(statut='f',min=01,max='**', - regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), - CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,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",) ), - ), - NORME =SIMP(statut='f',typ='TXM',defaut="VMIS", - into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ), - 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 =FACT(statut='f',min=01,max=01, - THETA =SIMP(statut='f',typ=(theta_geom) ), - ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - EFGE_REPERE =FACT(statut='f',min=01,max=01, - regles=(UN_PARMI('ANGL_REP','VECT_X_Y','VECT_X_Z'),), - ANGL_REP =SIMP(statut='f',typ='R',max='**'), - VECT_X_Y =SIMP(statut='f',typ='R',max='**'), - VECT_X_Z =SIMP(statut='f',typ='R',max='**'), - ), - - TEMP_INIT =FACT(statut='f',min=01,max='**', - regles=(EXCLUS('META_INIT','EVOL_THER'),), - META_INIT =SIMP(statut='f',typ=carte_meta_r), - EVOL_THER =SIMP(statut='f',typ=evol_ther,), - NUME_INIT =SIMP(statut='f',typ='I'), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHLV L.VIVAN -CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=cham_elem_dommag,reentrant='n', - fr="Calcul d un champ de dommage subi par une structure", - docu="U4.83.02-C", - 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=01,max=01, - 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) ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHAB N.RAHNI -CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu, - fr="Calcul des paramètres modaux d une structure soumise à un écoulement, en prenant en compte les forces fluidélastiques", - docu="U4.66.02-C",reentrant='n', - VITE_FLUI =FACT(statut='o',min=01,max=01, - 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=01,max=01, - - 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=01,max=01, - 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 11/02/98 AUTEUR CIBHHLV L.VIVAN -CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=fonction, - fr="Construire un concept de type fonction à partir d une fonction réelle de la variable réelle définie par une FORMULE", - docu="U4.32.01-D",reentrant='f', - 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=02,defaut="LIN",into=("NON","LIN","LOG","INT") ), - PROL_DROIT =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 20/06/2000 AUTEUR ACBHHCD G.DEVESA -def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,RMS,MAX,COMB,COMB_C,ENVELOPPE,SPEC_OSCI,FFT,COMPOSE,**args): - if (RMS != None) : return tabl_fonc_rms - if (MAX != None) : return tabl_fonc_max - 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 (FFT != None) : - vale=FFT.get_child('FONCTION').get_valeur() - if (AsType(vale) == fonction ) : return fonction_c - if (AsType(vale) == fonction_c) : return fonction - 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-E",reentrant='n', - regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','ENVELOPPE','RMS', - 'COMB_C','COMPOSE','EXTRACTION','ASSE','FFT' ),), - FFT =FACT(statut='f',min=01,max=01,fr="Calcul de la transformee de Fourier ou de son inverse", - FONCTION =SIMP(statut='o',typ=(fonction,fonction_c) ) - ), - DERIVE =FACT(statut='f',min=01,max=01,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=01,max=01,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=01,max=01,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" ), - b_inst =BLOC ( condition = "(INST_INIT != None) or (INST_FIN != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - SPEC_OSCI =FACT(statut='f',min=01,max=01,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.81,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=01,max=01,fr="Calcul des extrémas locaux d une fonction", - FONCTION =SIMP(statut='o',typ=fonction ), - ), - COMB =FACT(statut='f',min=01,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=01,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=01,max=01,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=01,max=01,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=01,max=01,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=01,max=01,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")), - ), - 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=02,into=("NON","LIN","LOG") ), - PROL_DROIT =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=02,into=("NON","LIN","LOG") ), - PROL_DROIT_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 03/10/2000 AUTEUR VABHHTS J.PELLET -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-E",reentrant='n', - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - FOND =SIMP(statut='o',typ=fond_fiss), - 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'), ), - - 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=01,max=01, - 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") ), - 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=01,max=01, - 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") ), - 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=01,max=01, - 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") ), - 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",) ), - - 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 03/10/2000 AUTEUR VABHHTS J.PELLET -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-E",reentrant='n', - 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=01,max=01, - 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") ), - 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=01,max=01, - 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") ), - 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=01,max=01, - SIGM =SIMP(statut='f',typ=cham_elem_sief_r), - DEPL =SIMP(statut='f',typ=cham_no_depl_r), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="CALC_G", - into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX") ), - b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", - BORNES =FACT(statut='o',min=01,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 =SIMP(statut='o',typ=fond_fiss), - ), - b_calc_g_lagr =BLOC(condition="OPTION=='CALC_G_LAGR'", - PROPAGATION =SIMP(statut='o',typ='R'), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 04/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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 19/05/2000 AUTEUR JFBHHUC C.ROSE -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', - 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=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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), - 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 03/10/2000 AUTEUR 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_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-F",reentrant='n', - 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_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_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='o',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 ), - ), - - b_rigi_conv =BLOC( condition = "(OPTION=='RIGI_THER_CONV') or (OPTION=='RIGI_THER_CONV_D')", - MODELE =SIMP(statut='o',typ=modele ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_ther,max='**' ), - ), - -) ; -#& MODIF COMMANDE DATE 04/07/2000 AUTEUR JMBHH01 J.M.PROIX -CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,docu="U4.85.01-A",reentrant='o', - fr="Calcule la métallurgie à 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=01,max=01, - regles=(UN_PARMI('NUME_INIT','META_INIT',),), - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_INIT =SIMP(statut='f',typ='I' ), - META_INIT =SIMP(statut='f',typ=carte_var2_r ), - ), - COMP_INCR =FACT(statut='o',min=01,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,) ), - 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 12/05/2000 AUTEUR CIBHHAB N.RAHNI -def calc_no_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) == mode_meca : return mode_meca - if AsType(RESULTAT) == mode_stat : return mode_stat - if AsType(RESULTAT) == mode_acou : return mode_acou - if AsType(RESULTAT) == mult_elas : return mult_elas - 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) == fourier_elas : return fourier_elas - if AsType(RESULTAT) == mode_flamb : return mode_flamb - if AsType(RESULTAT) == base_modale : return base_modale - 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-E",reentrant='o', - fr="Compléter un résultat en calculant un champ aux noeuds (forces nodales à partir d un champ de contraintes aux points de GAUSS)", - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, - mode_acou,mode_stat,evol_ther,evol_noli,base_modale, - mult_elas,fourier_elas,mode_flamb ) ), - - MODELE =SIMP(statut='f',typ=modele), - 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='**'), - - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - GEOMETRIE =SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE") ), - EXCIT =FACT(statut='f',min=01,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='**'), - TAILLE_BLOC =SIMP(statut='f',typ='R' ,defaut= 400. ), -) ; -#& MODIF COMMANDE DATE 20/10/1999 AUTEUR DURAND C.DURAND -CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,docu="U4.82.02-D",reentrant='n', - fr="Affectation d un champ sur le maillage (mécanique de la rupture)", - regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'), - PRESENT_PRESENT('THETA_3D','FOND_3D'), - 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) ), - FOND_3D =SIMP(statut='f',typ=(fond_fiss) ), - THETA_3D =FACT(statut='f',min=01,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), - ), - DIRE_THETA =SIMP(statut='f',typ=(cham_no_depl_r) ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - THETA_2D =FACT(statut='f',min=01,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=01,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=01,max=01, - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), - ), -) ; -#& MODIF COMMANDE DATE 11/01/99 AUTEUR 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', - 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 31/10/2000 AUTEUR VABHHTS J.PELLET -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", - regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'), - PRESENT_PRESENT('COMB_FOURIER','ANGL'),), - COMB_R =FACT(statut='f',min=01,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=01,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=01,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 08/03/94 AUTEUR VABHHT2 G.BERTRAND -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', - regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),), - COMB_R =FACT(statut='f',min=01,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=01,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=01,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 08/11/95 AUTEUR CIBHHLV L.VIVAN -COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, - fr="Recombinaison de FOURIER de tous les modes se trouvant dans la structure de données de type resultat dans une ou des directions particulières", - docu="U4.83.31-C",reentrant='n', - RESULTAT =SIMP(statut='o',typ=fourier_elas ), - ANGL =SIMP(statut='o',typ='R',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',max=05, - into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ), -) ; -#& MODIF COMMANDE DATE 06/10/94 AUTEUR BIBERON G.ROUSSEAU -def comb_matr_asse_prod(COMB_R,COMB_C,**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_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 - if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_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 - 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-F",reentrant='f', - regles=(UN_PARMI('COMB_R','COMB_C' ),), - COMB_R =FACT(statut='f',min=01,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=01,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' ), - ), - SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHAB N.RAHNI -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-D",reentrant='n', - 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") ), - ), - ACCE_UNIF =SIMP(statut='f',typ=mode_stat ), - - 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=01,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=03), - TRI_AXE =SIMP(statut='f',fr="Excitation suivant les trois axes mais avec le meme spectre", - typ='R',max=03), - 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=01 ), - ECHELLE =SIMP(statut='f',typ='R',max=01), - ), - 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=01 ), - ECHELLE =SIMP(statut='f',typ='R',max=01), - ), - 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=03,max=03 ), - ECHELLE =SIMP(statut='f',typ='R',min=03,max=03), - ), - NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ), - ), - COMB_MODE =FACT(statut='o',min=01,max=01, - TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ), - DUREE =SIMP(statut='f',typ='R' ), - ), - COMB_DIRECTION =FACT(statut='f',min=01,max=01, - TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ), - ), - COMB_MULT_APPUI =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - TYPE =SIMP(statut='o',typ='TXM',into=("QUAD","LINE","ABS") ), - ), - DEPL_MULT_APPUI =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - AU_MOINS_UN('DX','DY','DZ' ),), - MODE_STAT =SIMP(statut='f',typ=mode_stat ), - 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=10, - 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=01,max='**', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),max=03 ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 04/12/2000 AUTEUR VABHHTS J.PELLET -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 - 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-A",reentrant='n', - regles=(EXCLUS('NUME_DDL','CHAM_NO',),ENSEMBLE('CHAM_F','CHAM_PARA',), - EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','NOM_CAS','ANGL', ),), - 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",) ), - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ), - MODELE =SIMP(statut='f',typ=(modele) ), - MAILLAGE =SIMP(statut='f',typ=(maillage) ), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - AFFE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('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_R =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='**'), - FONCTION =SIMP(statut='f',typ=fonction), - ), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl) ), - CHAM_NO =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r, - cham_no_depl_f,cham_no_sief_r ) ), - ASSE =FACT(statut='f',min=01,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='f',typ=(cham_elem,cham_no,carte)), - 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. ), - ), - CHAM_F =SIMP(statut='f',typ=(cham_elem,cham_no,carte)), - CHAM_PARA =SIMP(statut='f',typ=(cham_elem,cham_no,carte),max='**'), - CHAM_GD =SIMP(statut='f',typ=(cham_elem,cham_no,carte)), - RESULTAT =SIMP(statut='f',typ=resultat ), - NOM_CHAM =SIMP(statut='f',typ='TXM', - into=("DEPL","VITE","ACCE","GEOMETRIE", - "DEPL_ABSOLU","VITE_ABSOLU","TEMP","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", - "THETA","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",) ), - 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",) ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 30/11/1999 AUTEUR JMBHH01 J.M.PROIX -CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage - ,fr="Définition d'un nouveau maillage à partir d'un maillage existant en dupliquant des groupes de mailles (le nombre de mailles du maillage peut être augmenté)", - docu="U4.23.02-C",reentrant='n', - regles=(EXCLUS('ECLA_PG','CREA_MAILLE'), - EXCLUS('ECLA_PG','CREA_GROUP_MA'), - EXCLUS('ECLA_PG','DETR_GROUP_MA'), - EXCLUS('ECLA_PG','MODI_MAILLE'),), - MAILLAGE =SIMP(statut='o',typ=maillage ), - CREA_POI1 =FACT(statut='f',min=01,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=01,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=01,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=01,max=01,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 être détruit", ), - ), - MODI_MAILLE =FACT(statut='f',min=01,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 ), - ), - REPERE =FACT(statut='f',min=01,max='**',fr="Réalisation d un 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=01,max=01,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 21/06/2000 AUTEUR CIBHHLV L.VIVAN -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 - raise AsException("type de concept resultat non prevu") - -# commentaire C. DURAND : J'ai supprimé tous les blocs. -# Ce qui avait été fait était faux (plantage EFICAS de nombreux tests et ingérable) -# il faudra réfléchir à la manière de les réintroduire proprement -CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-D",reentrant='f', - fr="Engendrer ou enrichir une structure de données de type evol_ther en affectant les cham_no associés", - regles=(EXCLUS('CHAM_GD','ECLA_PG','PERM_CHAMP',),), - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","FOURIER_ELAS","MULT_ELAS", - "EVOL_ELAS","EVOL_NOLI") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","TEMP","SIEF_ELGA","VARI_ELGA",),max='**' ), - CHAM_GD =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('NOM_CAS','NUME_MODE','LIST_INST','INST',),), - CHAM_NO =SIMP(statut='o',typ=(cham_no)), - NUME_ORDRE_INIT =SIMP(statut='f',typ='I'), - 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'), - ), - - ECLA_PG =FACT(statut='f',min=01,max=01, - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),), - MODELE_INIT =SIMP(statut='o',typ=modele), - RESU_INIT =SIMP(statut='o',typ=resultat), - MAILLAGE =SIMP(statut='o',typ=maillage), - NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', - into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="OUI",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), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - ), - - - RESU_INIT =SIMP(statut='f',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='f',typ=maillage,), - RESU_FINAL =SIMP(statut='f',typ=evol_noli,), - MAILLAGE_FINAL =SIMP(statut='f',typ=maillage,), - PERM_CHAMP =FACT(statut='f',min=01,max=01, - 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), - ) -) ; -#& AJOUT COMMANDE -DEBUT=PROC(nom="DEBUT",op=0 ,docu="U4.11.01-F",repetable='n', - fr="Ouverture d une étude. Allocation des ressources mémoire et disque", - - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM'), - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=01,max=03, - 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=01,max=03, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='o',typ='I'), - ), - CATALOGUE =FACT(statut='f',min=01,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - CODE =FACT("définition d un nom pour l'esemble d'une étude", - statut='f',min=01,max=01, - NOM =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I',defaut=15), - ), - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=01,max=01, - 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=01,max=01, - 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'), - PARTITION =SIMP(statut='f',typ='R'), - ), - ); -#& MODIF COMMANDE DATE 09/09/98 AUTEUR ACBHHCD G.DEVESA -DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale - ,fr="Définition d une base modale pour analyse dynamique par superposition modale ou sous structuration dynamique par synthèse modale", - docu="U4.64.02-E",reentrant='f', - regles=(UN_PARMI('CLASSIQUE','RITZ'),), - CLASSIQUE =FACT(statut='f',min=01,max=01, - 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=01,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 ), - MULT_ELAS =SIMP(statut='f',typ=mult_elas ), - BASE_MODALE =SIMP(statut='f',typ=base_modale ), - ), -# 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 06/11/98 AUTEUR CIBHHLV L.VIVAN -DEFI_CABLE_BP=OPER(nom="DEFI_CABLE_BP",op= 180,sd_prod=cabl_precont, - fr=" ", - docu="U4.42.04-A",reentrant='n', - 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=01,max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no,max='**'), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,max='**'), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',max='**', - into=("ACTIF","PASSIF") ), - ), - TENSION_INIT =SIMP(statut='o',typ='R' ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R' ), - RELAXATION =FACT(statut='f',min=0,max=1, - R_J =SIMP(statut='o',typ='R' ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 16/07/96 AUTEUR CIBHHRA R.MEDDOURI -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', - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='o',typ='R',max=01 ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 11/02/98 AUTEUR CIBHHLV L.VIVAN -DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater,docu="U4.42.03-E",reentrant='n', - fr="Définition d une coque composite couche par couche", - COUCHE =FACT(statut='o',min=01,max='**', - EPAIS =SIMP(statut='o',typ='R' ), - MATER =SIMP(statut='o',typ=(mater) ), - ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - IMPRESSION =FACT(statut='f',min=01,max=01, - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT",) ), - ), -) ; -#& MODIF COMMANDE DATE 28/06/2000 AUTEUR CIBHHLV L.VIVAN -DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, - fr="Définition des caractéristiques nécessaires à l'étude du comportement dynamique d'une structure sous écoulement", - docu="U4.25.01-C",reentrant='n', - regles=(EXCLUS('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',), - AU_MOINS_UN('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX', ),), - FAISCEAU_TRANS =FACT(statut='f',min=01,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',min=00,max=01, - 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=01,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=03), - 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=04,max=04), - RUGO_TUBE =SIMP(statut='f',typ='R' ), - CARA_PAROI =SIMP(statut='f',typ='TXM',max=05, - into=("YC","ZC","R","HY","HZ") ), - VALE_PAROI =SIMP(statut='f',typ='R',max=05), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - LONG_TYPG =SIMP(statut='f',typ='R',max='**'), - LARG_TYPG =SIMP(statut='f',typ='R',max='**'), - EPAI_TYPG =SIMP(statut='f',typ='R',max='**'), - RUGO_TYPG =SIMP(statut='f',typ='R',max='**'), - COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**'), - 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',min=00,max=01, - 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 11/02/98 AUTEUR CIBHHLV L.VIVAN -DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-A",reentrant='n', - 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=01,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='f',typ='R'), - INST_CC_FIN =SIMP(statut='o',typ='R'), - ), - COUR_PRIN =FACT(statut='f',min=01,max=01, - 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=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction, - fr="Définition des fonctions caractéristiques du fluide le long de la structure (profil de vitesse, profil de masse volumique)", - docu="U4.35.01-C",reentrant='n', - 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=01,max=01, - 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=02,defaut="LIN", - into=("NON","LIN","LOG") ), - PROL_DROIT =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 06/09/1999 AUTEUR UFBHHLL C.CHAVANT -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-F",reentrant='n', - 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") ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='f',typ='R',max='**', - fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"), - VALE_C =SIMP(statut='f',typ='R',max='**', - fr ="Fonction complexe définie par une liste de couples (abscisse,ordonnée partie réelle, ordonnée partie imaginaire)"), - 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=02,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROIT =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',into=("CROISSANT",) ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 17/11/1999 AUTEUR CIBHHLV L.VIVAN -DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,docu="U4.82.01-E",reentrant='n', - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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 27/09/2000 AUTEUR DURAND C.DURAND -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-E",reentrant='o', - regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),), - MAILLAGE =SIMP(statut='o',typ=(maillage,squelette) ), - - CREA_GROUP_MA =FACT(statut='f',min=01,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',defaut= 1 ), - 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=02), - VECT_NORMALE =SIMP(statut='f',typ='R',max=03), - 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=03), - 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=03), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=02), - VECT_NORMALE =SIMP(statut='f',typ='R',max=03), - ), - 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=03), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - DIST =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=02), - VECT_NORMALE =SIMP(statut='f',typ='R',max=03), - ), - ), - CREA_GROUP_NO =FACT(statut='f',min=01,max='**', - regles=(AU_MOINS_UN('TOUT_GROUP_MA','GROUP_MA','NOEUD','INTERSEC','UNION','DIFFE', - 'GROUP_NO','OPTION'),), - - 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_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',defaut= 1 ), - 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=03), - NOEUD_CENTRE =SIMP(statut='f',typ=no,max=01), - 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=03), - NOEUD_CENTRE =SIMP(statut='f',typ=no,max=01), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03), - VECT_NORMALE =SIMP(statut='f',typ='R',max=03), - 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=03), - NOEUD_CENTRE =SIMP(statut='f',typ=no,max=01), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03), - VECT_NORMALE =SIMP(statut='f',typ='R',max=03), - 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=(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") ), - ), - ), - INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHAB N.RAHNI -DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, - fr="Définition d'une matrice interspectrale à partir de constantes, de fonctions complexes, ou du filtrage d'un bruit blanc par un oscillateur de KANAI-TAJIMI", - docu="U4.36.02-E",reentrant='n', - - DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), - - PAR_FONCTION =FACT(statut='f',min=01,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=01,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=02,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROIT =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=01,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=02,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROIT =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 11/02/98 AUTEUR CIBHHLV L.VIVAN -DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, - fr="Définition des interfaces d une structure pour analyse dynamique par superposition modale ou sous structuration dynamique par synthèse modale", - docu="U4.64.01-E",reentrant='n', - NUME_DDL =SIMP(statut='o',typ=nume_ddl ), - INTERFACE =FACT(statut='o',min=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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=01,max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='I'), - NOMBRE =SIMP(statut='f',typ='I'), - PAS =SIMP(statut='f',typ='I'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 11/02/98 AUTEUR CIBHHLV L.VIVAN -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-F",reentrant='n', - 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=01,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 20/12/94 AUTEUR B7BHHLV L.VIVAN -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', - DEFI_MAILLE =FACT(statut='o',min=01,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=03), - ANGL_NAUT =SIMP(statut='f',typ='R',max=03), - b_angl_naut =BLOC(condition = "ANGL_NAUT != None", - CENTRE =SIMP(statut='f',typ='R',max=03), - ), - ), - RECO_GLOBAL =FACT(statut='f',min=01,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=01,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=01,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=01,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 28/11/2000 AUTEUR CIBHHLV L.VIVAN -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-F",reentrant='n', - 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('VMIS_CIN1_CHAB','VMIS_CIN1_CHAB_F'), - EXCLUS('VISCOCHAB','VISCOCHAB_FO'), - EXCLUS('POLY_CFC','POLY_CFC_FO'), - PRESENT_PRESENT('NORTON_HOFF','ELAS'), - 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_BETON','ELAS'), - PRESENT_PRESENT('BPEL_ACIER','ELAS'), - EXCLUS('RCCM','RCCM_FO'),), -# -# comportement élastique -# - ELAS =FACT(statut='f',min=00,max=01, - E =SIMP(statut='o',typ='R'), - NU =SIMP(statut='o',typ='R'), - 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=00,max=01, - 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 ), - VERI_P1 =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), - VERI_P2 =SIMP(statut='f',typ='TXM',defaut="INST",into=("TEMP","INST",) ), - VERI_P3 =SIMP(statut='f',typ='TXM',defaut="HYDR",into=("HYDR",) ), - VERI_P4 =SIMP(statut='f',typ='TXM',defaut="SECH",into=("SECH",) ), - ), - ELAS_FLUI =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP","INST")), - ), - ELAS_ORTH =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), - ), - ELAS_THM =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP","INST") ), - ), - APPUI_ELAS =FACT(statut='f',min=00,max=01, - E_N =SIMP(statut='o',typ='R'), - E_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0), - ), - CABLE =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - D_SIGM_EPSI =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - ), - ECRO_LINE_FO =FACT(statut='f',min=00,max=01, - 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=00,max=01, - C =SIMP(statut='o',typ='R'), - ), - PRAGER_FO =FACT(statut='f',min=00,max=01, - C =SIMP(statut='o',typ=fonction), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), - ), - ECRO_FLEJOU =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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= 1. ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - ), - ROUSSELIER_FO =FACT(statut='f',min=00,max=01, - 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= 1. ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), - ), - CHABOCHE =FACT(statut='f',min=00,max=01, - 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'), - ), - VMIS_CIN1_CHAB =FACT(statut='f',min=00,max=01, - 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= 0.0E+0), - ), - VMIS_CIN1_CHAB_F =FACT(statut='f',min=00,max=01, - 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",)), - ), - VMIS_CIN2_CHAB =FACT(statut='f',min=00,max=01, - 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 ), - ), - VMIS_CIN2_CHAB_F =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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",) ), - ), - NORTON_HOFF =FACT(statut='f',min=00,max=01, - N =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - ), - LEMAITRE =FACT(statut='f',min=00,max=01, - 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 ), - QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ZIRC_CYRA2 =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - N =SIMP(statut='o',typ=fonction), - UN_SUR_K =SIMP(statut='o',typ=fonction), - UN_SUR_M =SIMP(statut='f',typ=fonction), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), - ), - GRAN_IRRA =FACT(statut='f',min=00,max=01, - FLUX_L =SIMP(statut='o',typ=fonction), - FLUX_TN =SIMP(statut='o',typ=fonction), - FONC_MULT =SIMP(statut='f',typ=fonction), - A =SIMP(statut='o',typ='R'), - S =SIMP(statut='f',typ='R'), - VERI_P1 =SIMP(statut='f',typ='TXM',defaut="X",into=("X",) ), - VERI_P2 =SIMP(statut='f',typ='TXM',defaut="Y",into=("Y",) ), - VERI_P3 =SIMP(statut='f',typ='TXM',defaut="Z",into=("Z",) ), - VERI_P4 =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST",) ), - ), - OHNO =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA'),), - 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='R'), - RIGI_N_FO =SIMP(statut='f',typ=fonction), - RIGI_N_IRRA =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",) ), - ), - NADAI_B =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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'), - 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='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ), - VERI_P2 =SIMP(statut='f',typ='TXM',defaut="INST",into=("TEMP","INST",) ), - VERI_P3 =SIMP(statut='f',typ='TXM',defaut="HYDR",into=("HYDR",) ), - VERI_P4 =SIMP(statut='f',typ='TXM',defaut="SECH",into=("SECH",) ), - ), - VENDOCHAB =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP",) ), - VERI_P2 =SIMP(statut='f',typ='TXM',defaut="X",into=("X",) ), - ), - PINTO_MENEGOTTO =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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'), - ), - CJS =FACT(statut='f',min=00,max=01, - regles=(ENSEMBLE('B_CJS','C_CJS','MU_CJS','PCO',), - ENSEMBLE('N_CJS','KP','RC',), - PRESENT_ABSENT('A_CJS','B_CJS',), - PRESENT_PRESENT('A_CJS','N_CJS',), - PRESENT_PRESENT('B_CJS','N_CJS', ),), - 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=00,max=01, - 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=00,max=01, - 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'), - FONC_DESORP =SIMP(statut='f',typ=fonction), - QSR_K =SIMP(statut='f',typ='R'), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ), - ), - V_GRANGER_FP =FACT(statut='f',min=00,max=01, - 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",) ), - ), -# -# comportement thermique -# - THER_NL =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - LAMBDA =SIMP(statut='o',typ='R'), - RHO_CP =SIMP(statut='f',typ='R'), - ), - THER_FO =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - ), - SECH_BAZANT =FACT(statut='f',min=00,max=01, - D1 =SIMP(statut='o',typ='R'), - ALPHA_BAZANT =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - FONC_DESORP =SIMP(statut='o',typ=fonction), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), - ), - SECH_NAPPE =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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'), - TEMP_DEF_ALPHA =SIMP(statut='f',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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP",)), - ), - THM_GAZ =FACT(statut='f',min=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP",)), - ), - THM_VAPE_GAZ =FACT(statut='f',min=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP",)), - ), - THM_INIT =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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='f',typ='TXM',defaut="TEMP",into=("TEMP",) ), - VERI_P2 =SIMP(statut='f',typ='TXM',defaut="SAT",into=("SAT",) ), - VERI_P3 =SIMP(statut='f',typ='TXM',defaut="PORO",into=("PORO",) ), - VERI_P4 =SIMP(statut='f',typ='TXM',defaut="PGAZ",into=("PGAZ",) ), - VERI_P5 =SIMP(statut='f',typ='TXM',defaut="PGAP",into=("PGAP",) ), - ), -# -# courbes et coefficients associés à la fatigue et au dommage -# - FATIGUE =FACT(statut='f',min=00,max=01, - 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=00,max=01, - S =SIMP(statut='o',typ=fonction), - EPSP_SEUIL =SIMP(statut='o',typ='R'), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ), - ), -# -# autres comportements ... -# - WEIBULL =FACT(statut='f',min=00,max=01, - 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), - ), - CONTACT =FACT(statut='f',min=00,max=01, - 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=00,max=01, - LONG_CARA =SIMP(statut='o',typ='R'), - COEF_RIGI_MINI =SIMP(statut='f',typ='R'), - ), - RUPT_FRAG =FACT(statut='f',min=00,max=01, - GC =SIMP(statut='o',typ='R'), - ), - RCCM =FACT(statut='f',min=00,max=01, - 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=00,max=01, - 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), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 02/10/96 AUTEUR CIBHHLV L.VIVAN -DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, - fr="Définition d un modèle structure global à partir de macro éléments pour analyse modale ou harmonique par sous structuration", - docu="U4.65.02-D",reentrant='n', - SOUS_STRUC =FACT(statut='o',min=01,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=03), - TRANS =SIMP(statut='f',typ='R',max=03), - ), - LIAISON =FACT(statut='o',min=01,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=01,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 18/01/99 AUTEUR CIBHHBC B.CIREE -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-F",reentrant='n', - 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") ), - 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") ), - DEFI_FONCTION =FACT(statut='f',min=00,max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - INTERPOL =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROIT =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=02,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROIT =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 06/10/1999 AUTEUR SABJLMA P.LATRUBESSE -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', - 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 04/03/98 AUTEUR BIBERON G.ROUSSEAU -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', - 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',min=00,max=01, - 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',min=00,max=01, - 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',min=00,max=01, - 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.0E-5 ), - BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ), - ), - SPEC_LONG_COR_4 =FACT(statut='f',min=00,max=01, - 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',min=00,max=01, - 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',min=00,max=01, - 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',min=00,max=01, - 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',min=00,max=01, - 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 02/03/99 AUTEUR SABJLMA P.LATRUBESSE -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', - 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=01,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=01,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',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - SOUS_STRUC =FACT(statut='f',min=01,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=01,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/06/98 AUTEUR CIBHHLV L.VIVAN -DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture, - fr=" ",docu="U4.43.05-A",reentrant='n', - SYST_GLISSEMENT =FACT(statut='o',min=01,max='**', - N =SIMP(statut='o',typ='R',max='**' ), - L =SIMP(statut='o',typ='R',max='**' ), - ), - PLAN =FACT(statut='o',min=01,max='**', - ANGL_NAUT =SIMP(statut='o',typ='R',max='**' ), - PROPORTION =SIMP(statut='o',typ='R' ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 16/07/96 AUTEUR CIBHHRA R.MEDDOURI -DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.MK.20-A",reentrant='n', - fr="Calculer la fonction d évolution temporelle de la température due à l effet JOULE dans un câble", - 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=01,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 04/07/2000 AUTEUR JMBHH01 J.M.PROIX -DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,docu="U4.43.04-E",reentrant='n', - fr="Définition d un diagramme de transformations en refroidissement continu d un acier", - HIST_EXP =FACT(statut='o',min=01,max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - ), - TEMP_MS =FACT(statut='o',min=01,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=01,max='**', - DREF =SIMP(statut='f',typ='R'), - A =SIMP(statut='f',typ='R'), - ), -) ; -#& MODIF COMMANDE DATE 21/12/2000 AUTEUR DURAND C.DURAND -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-e",reentrant='f', - 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 04/10/90 AUTEUR INCONNU INCONNU -DEFUFI=PROC(nom="DEFUFI",op=21,docu="U4.12.01-D", - fr="Modification / ajoût d une unité logique en sortie en complément de celles définies dans DEBUT", - IMPRESSION =FACT(statut='o',min=01,max='**', - NOM =SIMP(statut='o',typ='TXM',max='**'), - UNITE =SIMP(statut='o',typ='I' ), - ), -) ; -#& MODIF COMMANDE DATE 16/01/92 AUTEUR INCONNU INCONNU -DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,docu="U4.62.02-E",reentrant='n', - 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 23/03/93 AUTEUR GJBHHDU G.DUMONT -DETRUIRE=PROC(nom="DETRUIRE",op=-7,docu="U4.14.01-D", - 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 03/05/2000 AUTEUR CIBHHLV L.VIVAN -DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction,docu="U4.MK.30-A",reentrant='n', - 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 03/05/2000 AUTEUR CIBHHAB N.RAHNI -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', - BASE_MODALE =FACT(statut='o',min=01,max=01, - regles=(UN_PARMI('NUME_ORDRE','BANDE'),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - BANDE =SIMP(statut='f',typ='R',max=02), - 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 ), - EXCIT =FACT(statut='o',min=01,max=01, - 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=01,max=01, - regles=(EXCLUS('FREQ_MIN','NB_POIN_MODE'), - EXCLUS('FREQ_MIN','FREQ_EXCIT'), - ENSEMBLE('FREQ_MIN','FREQ_MAX'),), -# Toutes les regles ne semblent pas avoir été ecrites dans la doc U - 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' ), - 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 08/03/2000 AUTEUR CIBHHPD P.DAVID -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', - 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=03,into=("DEPL","VITE","ACCE") ), - EXCIT =FACT(statut='o',min=01,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='**'), -) ; -#& MODIF COMMANDE DATE 08/06/99 AUTEUR ACBHHCD G.DEVESA -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-F",reentrant='f', - 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 ), - NEWMARK =FACT(statut='f',min=01,max=01, - ALPHA =SIMP(statut='f',typ='R',defaut= 0.25 ), - DELTA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - WILSON =FACT(statut='f',min=01,max=01, - THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), - ), - DIFF_CENTRE =FACT(statut='f',min=01,max=01, - ), - ADAPT =FACT(statut='f',min=01,max=01, - ), - ETAT_INIT =FACT(statut='f',min=01,max=01, - regles=(EXCLUS('DYNA_TRANS','DEPL_INIT'), - EXCLUS('DYNA_TRANS','VITE_INIT'),), - DYNA_TRANS =SIMP(statut='f',typ=dyna_trans ), -# j ai interprete la doc U : est-ce bon - 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=01,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',defaut="NON",into=("OUI","NON",) ), - 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=01,max=01, - 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=01,max=01, - 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=01,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=01,max=01, - 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 03/10/2000 AUTEUR VABHHTS J.PELLET -DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 95,sd_prod=evol_noli,reentrant='f', - fr="Analyse mécanique dynamique non linéaire",docu="U4.53.01-E", - 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), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - EXCIT =FACT(statut='o',min=01,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",into=("SUIV","FIXE") ), - 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',defaut="NON",into=("OUI","NON") ), - 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=01,max=01, - 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") ), - ), - COMP_INCR =FACT(statut='f',min=01,max='**', - RELATION =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_LINE", - into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_ISOT_META", - "VMIS_ECMI_TRAC","VMIS_ECMI_LINE","ENDO_FRAGILE","META_EP", - "META_EP_PT","META_EP_RE","META_EP_PT_RE","META_EVP", - "META_EVP_PT","META_EVP_RE","META_EVP_PT_RE","VMIS_CINE_LINE", - "TAHERI","VISC_TAHERI","CHABOCHE","VISCOCHAB", - "VMIS_CIN1_CHAB","VMIS_CIN2_CHAB","POLY_CFC", - "LMARC","ROUSSELIER","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","OHNO","GRANGER_FP","GRANGER_FP_V", - "BETON_DOUBLE_DP","VMIS_ASYM_LINE") ), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,) ), - 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_ISOT_META =SIMP(statut='c',typ='I',defaut=2,into=(2,) ), - VMIS_CINE_LINE =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - VMIS_ECMI_TRAC =SIMP(statut='c',typ='I',defaut=8,into=(8,) ), - VMIS_ECMI_LINE =SIMP(statut='c',typ='I',defaut=8,into=(8,) ), - ENDO_FRAGILE =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), - META_EP =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EP_PT =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EP_RE =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EP_PT_RE =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EVP =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EVP_PT =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EVP_RE =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - META_EVP_PT_RE =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - CHABOCHE =SIMP(statut='c',typ='I',defaut=14,into=(14,) ), - VISCOCHAB =SIMP(statut='c',typ='I',defaut=28,into=(28,) ), - VMIS_CIN1_CHAB =SIMP(statut='c',typ='I',defaut=8,into=(8,) ), - VMIS_CIN2_CHAB =SIMP(statut='c',typ='I',defaut=14,into=(14,) ), - POLY_CFC =SIMP(statut='c',typ='I',defaut=1688,into=(1688,) ), - LMARC =SIMP(statut='c',typ='I',defaut=20,into=(20,) ), - TAHERI =SIMP(statut='c',typ='I',defaut=15,into=(15,) ), - VISC_TAHERI =SIMP(statut='c',typ='I',defaut=9,into=(9,) ), - ROUSSELIER =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,) ), - 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,) ), - BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), - VMIS_ASYM_LINE =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), -# - COQUE_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NSEC =SIMP(statut='f',typ='I'), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC",) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - ), - COMP_ELAS =FACT(statut='f',min=01,max='**', - RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", - into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_POUTRE_GR","CABLE") ), - ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_TRAC =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_VMIS_LINE =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), - ELAS_POUTRE_GR =SIMP(statut='f',typ='I',defaut=3,into=(3,) ), - CABLE =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), -# - COQUE_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NSEC =SIMP(statut='f',typ='I'), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN","GREEN_GR") ), - 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=01,max=01, - regles=(EXCLUS('EVOL_NOLI','DEPL_INIT',), - EXCLUS('EVOL_NOLI','VITE_INIT', ),), - INST_INIT =SIMP(statut='f',typ='R' ), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - DEPL_INIT =SIMP(statut='f',typ=cham_no_depl_r), - VITE_INIT =SIMP(statut='f',typ=cham_no_depl_r), - ), - INCREMENT =FACT(statut='o',min=01,max=01, - LIST_INST =SIMP(statut='o',typ=listr8), - INST_INIT =SIMP(statut='f',typ='R'), - ), - NEWMARK =FACT(statut='f',min=01,max=01, - ALPHA =SIMP(statut='f',typ='R',defaut= 0.25), - DELTA =SIMP(statut='f',typ='R',defaut= 0.5), - ), - HHT =FACT(statut='f',min=01,max=01, - ALPHA =SIMP(statut='f',typ='R' - ,defaut= -0.29999999999999999 ), - ), - NEWTON =FACT(statut='d',min=01,max=01, - 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), - ), - SOLVEUR =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - 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=01,max=01, - 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 ), - INCO_GLOB_RELA =SIMP(statut='f',typ='R'), - 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), - TYPE_MATR_COMP =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT","TANG_INC") ), - 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=01,max=01, - 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',max='**',into=("DEPL","VITE","ACCE") ), - ), - OBSERVATION =FACT(statut='f',min=01,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") ), - 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='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 16/12/97 AUTEUR CIBHHLV L.VIVAN -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', - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu ), - EXCIT =FACT(statut='o',min=00,max=01, - 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 29/08/2000 AUTEUR ACBHHCD G.DEVESA -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-E",reentrant='f', - 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 ), - MODE_CORR =SIMP(statut='f',typ=mult_elas ), - - ETAT_INIT =FACT(statut='f',min=01,max=01, - 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=01,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=01,max=01, - 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=01,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'), - PRESENT_ABSENT('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',defaut="NON",into=("OUI","NON") ), - 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',defaut="NON",into=("OUI","NON") ), - D_FONC_DT =SIMP(statut='f',typ=fonction ), - D_FONC_DT2 =SIMP(statut='f',typ=fonction ), - ), - CHOC =FACT(statut='f',min=01,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',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' ), - 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=01,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=01,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=01,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=01,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=01,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=01,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=01,max='**', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - 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 30/09/97 AUTEUR VABHHTS J.PELLET -ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,docu="U4.92.11-B", - fr="Ecriture dans le fichier RESULTAT des lignes que l'on peut insérer dans la commande TEST_RESU pour tester la non-régression du contenu des objets JEVEUX composant les concepts créés au cours d'une exécution", - 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 17/06/98 AUTEUR D6BHHJP J.P.LEFEBVRE -EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",docu="U7.00.01-A", - LOGICIEL =SIMP(statut='f',typ='TXM' ), - ARGUMENT =FACT(statut='f',min=01,max='**', - NOM_PARA =SIMP(statut='f',typ='TXM' ), - ), -) ; -#& MODIF COMMANDE DATE 02/04/96 AUTEUR ACBHHCD G.DEVESA -#def extr_mode_prod(FILTRE_MODE,TITRE,IMPRESSION ): -# Sait-on faire -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, - fr="Extraction dans une structure de données de type mode_meca_* ou mode_gene des modes qui vérifient un certain critère et concaténation de plusieurs structures de données de même type", - docu="U4.52.12-C",reentrant='n', - FILTRE_MODE =FACT(statut='o',min=01,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',defaut="MASS_EFFE_UN" - ,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=01,max=01, - 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 03/05/2000 AUTEUR CIBHHLV L.VIVAN -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(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-B",reentrant='f', - fr="Extraction de champs pour des numéros d ordre donnés et réduction de l encombrement d une Structure de Données de type resultat", - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, - mode_acou,mode_stat,evol_ther,evol_noli, - mult_elas,fourier_elas ) ), - ARCHIVAGE =FACT(statut='f',min=01,max=01, - 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=("VARI",) ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR VABHHTS J.PELLET -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", - 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 16/12/97 AUTEUR CIBHHLV L.VIVAN -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', - 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 25/11/97 AUTEUR 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', - 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), - PRE_COND =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ), - BLOC_DEBUT =SIMP(statut='f',typ='I'), - DDL_DEBUT =SIMP(statut='f',typ='I'), - BLOC_FIN =SIMP(statut='f',typ='I'), - DDL_FIN =SIMP(statut='f',typ='I'), -# - 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 23/02/99 AUTEUR D6BHHJP J.P.LEFEBVRE -# NEW 5.3.23 -FERMER=PROC(nom="FERMER",op= 10,fr=" ", - docu="U4.12.02-A", - UNITE =SIMP(statut='o',typ='I',max='**' ), -) ; -#& MODIF COMMANDE DATE 17/11/97 AUTEUR CIBHHLV L.VIVAN -FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude", - docu="U4.11.02-F", - 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 06/05/96 AUTEUR KXBADNG T.FRIOU -FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction, - fr="Création d'une fonction constante (concept de type fonction), paramétrée par l'abscisse curviligne et donnant la valeur du coefficient de masse ajoutée pour une configuration du type faisceau de tubes sous écoulement transverse", - docu="U4.35.02-C",reentrant='n', - TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), -) ; -#& MODIF COMMANDE DATE 12/09/2001 AUTEUR MCOURTOI M.COURTOIS -FORMULE = FORM( nom='FORMULE',op=-5,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 04/02/98 AUTEUR CIBHHLV L.VIVAN -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', - 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 17/10/95 AUTEUR ACBHHLB L.VIVAN -IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158, - fr="Impression des charges mécaniques de type degrés de liberté imposés et relations linéaires entre les degrés de liberté au format fichier universel IDEAS", - docu="U7.04.31-C", - 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 30/09/98 AUTEUR SABJLMA P.LATRUBESSE -IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,docu="U7.04.21-A", - fr="Ecriture sur fichier, du rèsultat d une analyse modale au format du code CLASSI (interaction sol structure) utilisè au SEPTEN", - 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=01,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 12/05/98 AUTEUR CIBHHLV L.VIVAN -IMPR_CO=PROC(nom="IMPR_CO",op=17,docu="U4.91.11-F", - 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), - CHAINE =SIMP(statut='f',typ='TXM'), - POSITION =SIMP(statut='f',typ='I',defaut=1), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHLV L.VIVAN -IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers, sous formats appropriés, de concepts de type fonction ou de fonctions extraites de listes, de tables et de concepts résultats", - docu="U4.33.01-D", - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), - FORMAT =SIMP(statut='f',typ='TXM',position='global' - ,into=("AGRAF","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',max=02,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',max=02,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_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 fenêtre contenant le graphique" ), - ), - COURBE =FACT(statut='o',min=01,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, - fr="Nom du RESU_GENE qui contient les informations liées à des noeuds de choc et qui seront tracées sous forme de fonction", ), - 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 rôles 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',fr="Paramètre associé aux abcisses de la fonction à tracer de la table information sur les chocs " ), - PARA_Y =SIMP(statut='o',typ='TXM',fr="Paramètre associé aux ordonnées de la fonction à tracer de la table information sur les chocs " ), - 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 02/02/2000 AUTEUR UFBHHGN G.NICOLAS -IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-A", - fr="Imprimer le fichier de configurations de HOMARD", - TRAITEMENT =FACT(statut='o',min=01,max=01, - regles=( UN_PARMI('ADAPTATION','UNIFORME','MAJSOLUTION','INFORMATION'),), - ADAPTATION =SIMP(statut='f',typ='TXM', - fr="Adaptation libre", - into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ), - UNIFORME =SIMP(statut='f',typ='TXM', - into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ), - MAJSOLUTION =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INFORMATION =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_adaptation =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) or ( MAJSOLUTION != None ) ", - fr="Adaptation", - NITER =SIMP(statut='o',typ='I' ), - MAJ_CHAMP =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ) , - b_adaptation_libre =BLOC(condition = "ADAPTATION != None", - fr="Adaptation libre", - NOM_MED_INDICA =SIMP(statut='o',typ='TXM' ), - NOM_CMP_INDICA =SIMP(statut='f',typ='TXM',defaut="ERREST", - into=("ERREST","NUEST") ), - NOM_MED_SUPPOR =SIMP(statut='o',typ='TXM' ), - ) , - b_raffinement_libre =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" , - fr="Critère de raffinement.", - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),), - CRIT_RAFF_ABS =SIMP(statut='f',typ='R' ), - CRIT_RAFF_REL =SIMP(statut='f',typ='R' ), - CRIT_RAFF_PE =SIMP(statut='f',typ='R' ), - ) , - b_deraffinement_libre =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" , - fr="Critère de déraffinement.", - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),), - CRIT_DERA_ABS =SIMP(statut='f',typ='R' ), - CRIT_DERA_REL =SIMP(statut='f',typ='R' ), - CRIT_DERA_PE =SIMP(statut='f',typ='R' ), - ) , - b_raffinement =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or ( UNIFORME == 'RAFFINEMENT' )" , - NIVE_MAX =SIMP(statut='f',typ='I' ), - ) , - b_deraffinement =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or ( UNIFORME == 'DERAFFINEMENT' )" , - NIVE_MIN =SIMP(statut='f',typ='I' ), - ) , - ), - ANALYSE =FACT(statut='f',min=01,max=01, - regles=(AU_MOINS_UN('QUALITE','INTERPENETRATION'),), - QUALITE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - ), - UNITE =SIMP(statut='f',typ='I',defaut= 71 ), - REP =SIMP(statut='f',typ='TXM' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 27/04/98 AUTEUR CIBHHLV L.VIVAN -IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire fichier, au format 'RESULTAT'", - docu="U4.91.02-C", - GENE =FACT(statut='o',min=01,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 16/10/90 AUTEUR INCONNU INCONNU -IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-F", - 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=01,max=01, - NOM =SIMP(statut='f',typ='TXM' ), - UNITE =SIMP(statut='f',typ='I'), - ), - COMMENTAIRE =SIMP(statut='f',typ='TXM' ), -) ; -#& MODIF COMMANDE DATE 09/09/98 AUTEUR ACBHHCD G.DEVESA -IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,fr="Impression au format fichier universel IDEAS ou au format MISS3D ou au format RESULTAT d un concept de type macr_elem_dyna", - docu="U7.04.33-C", - 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",) ), - b_ideas =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 07/04/98 AUTEUR CIBHHGB G.BERTRAND -IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,fr="Impression au format universel IDEAS ou au format RESULTAT des matrices élémentaires et des matrices assemblées", - docu="U7.04.32-C", - regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),), - - MATR_ELEM =FACT(statut='f',min=01,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=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,fr="Permet de transmettre au format MISS3D la contribution des charges internes à une superstructure sous forme d un second membre projeté sur la base modale (modes propres ou contraints), les signaux d excitation harmonique ou transitoire", - docu="U7.04.11-C", - 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=01,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=01,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 19/06/2000 AUTEUR DURAND C.DURAND -IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-E", - fr="Impression du résultat d un calcul (différents formats)", - MODELE =SIMP(statut='f',typ=modele), - RESU =FACT(statut='o',min=01,max='**', - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED") ), - - 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)), - ), - - 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_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") ), - ), - - b_cmp =BLOC(condition="""(RESULTAT != None)and((FORMAT == 'RESULTAT')or(FORMAT == 'ENSIGHT'))""", - 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_topologie =BLOC(condition="""(RESULTAT != None)and((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""", - 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 18/04/2000 AUTEUR D6BHHBQ B.QUINNEZ -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", - 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 22/07/99 AUTEUR CIBHHLV L.VIVAN -IMPR_TABLE=PROC(nom="IMPR_TABLE",op=155,docu="U4.91.03-C", - 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") ), - FILTRE =FACT(statut='f',min=01,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") ), - 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'), - VALE_CO =SIMP(statut='f',typ=geom), - 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=01,max=01, - NOM_PARA =SIMP(statut='o',typ='TXM',max='**'), - ORDRE =SIMP(statut='f',typ='TXM',max='**',defaut="CROISSANT", - into=("CROISSANT","DECROISSANT") ), - ), - 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 11/02/98 AUTEUR CIBHHLV L.VIVAN -INCLUDE=MACRO(nom="INCLUDE",op=-1,docu="U4.13.01-e", - 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 07/02/2001 AUTEUR DURAND C.DURAND -INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,docu="U4.43.02-a", - 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=01,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 08/03/2000 AUTEUR CIBHHPD P.DAVID -INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe,docu="U4.81.11-E", - fr="Définition d une courbe sur un maillage 2D",reentrant='n', - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'), - EXCLUS('DEFI_CHEMIN','DEFI_ARC'),), - 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='f',min=01,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',max='**'), - 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=01,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',max='**' ), - 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), - SECTEUR =SIMP(statut='f',typ='R',min=2,max=2), - 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=01,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 08/03/2000 AUTEUR CIBHHPD P.DAVID -INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface,docu="U4.81.12-E", - 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=01,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 02/02/2000 AUTEUR UFBHHGN G.NICOLAS -def lire_champ_prod(TYPE=None,**args): - if TYPE == "CHAM_NO_TEMP_R" : return cham_no_temp_r - if TYPE == "CHAM_NO_DEPL_R" : return cham_no_depl_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-A",reentrant='n', -# -# 1. Le maillage support du champ -# - MAILLAGE =SIMP(statut='o',typ=maillage ), -# -# 2. Format de lecture -# Remarque : seul MED est operationnel dans cette version. -# - FORMAT =SIMP(statut='o',typ='TXM',defaut="MED",into=("MED",) ), -# -# 3. L'unite logique du fichier. -# - UNITE =SIMP(statut='f',typ='I',defaut= 81 ), - # -# 3. Pour le format MED, il faut preciser le nom sous lequel le champ est connu dans le fichier -# - b_format =BLOC(condition = "FORMAT == 'MED'", - fr="Nom du champ dans le fichier MED", - NOM_MED =SIMP(statut='o',typ='TXM' ),), -# -# 4. Le type du concept lu -# - TYPE =SIMP(statut='o',typ='TXM',into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R") ), -# -# 5. Le niveau d'information -# - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 11/02/98 AUTEUR CIBHHLV L.VIVAN -LIRE_FONCTION=OPER(nom="LIRE_FONCTION",op= 83,sd_prod=fonction, - fr="Lecture d une fonction dans un fichier ", - docu="U4.32.02-E",reentrant='n', - 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=02,into=("NON","LIN","LOG") ), - PROL_DROIT =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=02,into=("NON","LIN","LOG") ), - PROL_DROIT_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 11/02/98 AUTEUR SABJLMA P.LATRUBESSE -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-E",reentrant='n', - 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=02,into=("NON","LIN","LOG") ), - PROL_DROIT =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 19/06/2000 AUTEUR DURAND C.DURAND -LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage, - fr="Lecture d un fichier de maillage", - docu="U4.21.01-F",reentrant='n', - UNITE =SIMP(statut='f',typ='I',defaut= 20 ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED") ), - ABSC_CURV =FACT(statut='f',min=00,max=01, - TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - VERI_MAIL =FACT(statut='d',min=01,max=01, - APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - 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 02/10/96 AUTEUR CIBHHLV L.VIVAN -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', - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - UNITE =SIMP(statut='f',typ='I',defaut= 27 ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 08/09/98 AUTEUR CIBHHLV L.VIVAN -LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, - fr=" ", - docu="U7.02.11-A",reentrant='n', - 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/05/2000 AUTEUR CIBHHLV L.VIVAN -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 - 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-C",reentrant='n', - fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier au format universel DEAS ou au format EnSight", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","ENSIGHT","MED") ), - b_unite =BLOC(condition="FORMAT=='IDEAS'", - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), - ), - b_nom_fichier =BLOC(condition="FORMAT=='ENSIGHT'", - NOM_FICHIER =SIMP(statut='f',typ='TXM'), - ), - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI", - "DYNA_TRANS","DYNA_HARMO","HARM_GENE","EVOL_CHAR") ), - 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",) ), - ), - 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_dyna =BLOC(condition="(TYPE_RESU=='DYNA_TRANS') or (TYPE_RESU=='DYNA_HARMO') or(TYPE_RESU=='HARM_GENE')", - NOM_CHAM =SIMP(statut='o',typ='TXM',max='**',into=("DEPL","VITE","ACCE",) ), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - MAILLAGE =SIMP(statut='f',typ=maillage), - MODELE =SIMP(statut='f',typ=modele), - NB_VARI =SIMP(statut='f',typ='I' ), - FORMAT_IDEAS =FACT(statut='f',min=01,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") ), - NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ), - RECORD_3 =SIMP(statut='f',typ='I',max='**'), - RECORD_6 =SIMP(statut='f',typ='I',max='**'), - RECORD_9 =SIMP(statut='f',typ='I',max='**'), - POSI_ORDRE =SIMP(statut='o',typ='I',max='**'), - POSI_INST =SIMP(statut='f',typ='I',max='**'), - POSI_FREQ =SIMP(statut='f',typ='I',max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - ), - 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") ), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 19/06/2000 AUTEUR DURAND C.DURAND -def macr_adap_mail_prod(self,MAJ_CHAMP,ADAPTATION,**args): - mail1=ADAPTATION['MAILLAGE_N'] - self.type_sdprod(mail1,maillage) - mail2=ADAPTATION['MAILLAGE_NP1'] - self.type_sdprod(mail2,maillage) - if MAJ_CHAMP == None:return None - for ch in MAJ_CHAMP: - t=ch['TYPE_CHAMP'] - if t == 'CHAM_NO_TEMP_R':self.type_sdprod(ch['CHAMP_MAJ'],cham_no_temp_r) - if t == 'CHAM_NO_DEPL_R':self.type_sdprod(ch['CHAMP_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.", - docu="U7.03.01-A", - VERSION_HOMARD =SIMP(statut='f',typ='TXM',defaut="V3_15", - into=("V3_15","V3_N","V3_N_PERSO",) ), - ADAPTATION =FACT(statut='o',min=01,max=01, - regles=( - UN_PARMI('LIBRE','UNIFORME'), - ), - LIBRE =SIMP(statut='f',typ='TXM', - into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT") ), - UNIFORME =SIMP(statut='f',typ='TXM', - into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ), - MAILLAGE_N =SIMP(statut='o',typ=(CO,maillage) ), - MAILLAGE_NP1 =SIMP(statut='o',typ=(CO,maillage) ), - b_adaptation_libre =BLOC( condition = " LIBRE != None " , - fr="Indicateur d erreur", - RESULTAT_N =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther ) ), - INDICATEUR =SIMP(statut='o',typ='TXM', - into=("ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2","ERRE_ELGA_NORE") ), - NOM_CMP_INDICA =SIMP(statut='f',typ='TXM',defaut="ERREST", - into=("ERREST","NUEST") ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - ) , - b_raffinement_libre =BLOC( condition = "( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' )" , - fr="Critère de raffinement.", - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),), - CRIT_RAFF_ABS =SIMP(statut='f',typ='R' ), - CRIT_RAFF_REL =SIMP(statut='f',typ='R' ), - CRIT_RAFF_PE =SIMP(statut='f',typ='R' ), - ) , - b_deraffinement_libre =BLOC ( condition = "( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' )" , - fr="Crit\350re de déraffinement.", - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),), - CRIT_DERA_ABS =SIMP(statut='f',typ='R' ), - CRIT_DERA_REL =SIMP(statut='f',typ='R' ), - CRIT_DERA_PE =SIMP(statut='f',typ='R' ), - ) , - b_raffinement =BLOC ( condition = " ( ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) ) or ( ( UNIFORME != None ) and ( UNIFORME == 'RAFFINEMENT' ) ) " , - NIVE_MAX =SIMP(statut='f',typ='I' ), - ) , - b_deraffinement =BLOC ( condition = " ( ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) ) or ( ( UNIFORME != None ) and ( UNIFORME == 'DERAFFINEMENT' ) ) " , - NIVE_MIN =SIMP(statut='f',typ='I' ), - ) , - ), - MAJ_CHAMP =FACT(statut='f',min=01,max='**', - RESULTAT =SIMP(statut='o', - typ=(evol_elas,evol_noli,evol_ther) ), - NOM_CHAM =SIMP(statut='o',typ='TXM' ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - CHAMP_MAJ =SIMP(statut='o',typ=(CO,cham_gd)), - TYPE_CHAMP =SIMP(statut='o',typ='TXM', - into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R") ), - ), - QUALITE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - MENAGE =SIMP(statut='f',typ='TXM',into=("MAILLAGE","SOLUTION","TOUT") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; -#& MODIF COMMANDE DATE 20/10/2000 AUTEUR F1BHHAJ J.ANGLES -def macr_ascouf_calc_prod(self,MODELE,**args): - self.type_sdprod(MODELE,modele) - return evol_noli - -MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_prod, - fr=" ", - docu="U4.CF.20-A",reentrant='n', - regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), - TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', - into=("SAIN", - "FISS_COUDE", - "SOUS_EPAIS_COUDE" - ) ), - CL_BOL_P2_GV =FACT(statut='f',min=01,max=01, - 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)), - AFFE_MATERIAU =FACT(statut='o',min=01,max=03, - 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=01,max=01, - PRES =SIMP(statut='o',typ='R' ), - EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - FONC_MULT =SIMP(statut='f',typ=fonction ), - ), - ECHANGE =FACT(statut='f',min=01,max=01, - COEF_H =SIMP(statut='f',typ=fonction ), - TEMP_EXT =SIMP(statut='f',typ=fonction ), - ), - TORS_P1 =FACT(statut='f',min=01,max=06, - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), -# 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - LIST_INST =SIMP(statut='o',typ=listr8 ), - NUME_INST_INIT =SIMP(statut='f',typ='I' ), - NUME_INST_FIN =SIMP(statut='f',typ='I' ), - ), - THETA_3D =FACT(statut='f',min=01,max='**', - R_INF =SIMP(statut='o',typ='R' ), - R_SUP =SIMP(statut='o',typ='R' ), - ), - IMPR_TABLE =FACT(statut='f',min=01,max=01, - regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ), - PRESENT_PRESENT('TOUT_PARA','ANGLE', ), - UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),), - NOM_PARA =SIMP(statut='f',typ='TXM',max=04, - into=("TRESCA_MEMBRANE", - "TRESCA_MFLE", - "TRESCA", - "SI_LONG" - ) ), - 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='**' ), - ), - IMPRESSION =FACT(statut='f',min=01,max=01, - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","ASTER","IDEAS","CASTEM") ), - 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 02/10/2000 AUTEUR F1BHHAJ J.ANGLES -MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, - fr=" ",docu="U4.CF.10-A",reentrant='n', - regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), - EXEC_MAILLAGE =FACT(statut='o',min=01,max=01, - LOGICIEL =SIMP(statut='o',typ='TXM',into=("GIBI",) ), - 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=01,max=01, - regles=( UN_PARMI('DEXT', 'DEXT_T1'), - ENSEMBLE('DEXT', 'EPAIS'), - ENSEMBLE('DEXT_T1', 'EPAIS_T1', 'EPAIS_T2', - 'ANGL_TETA1'), - ENSEMBLE('EPAIS_TI', 'ANGL_TETA2'), - PRESENT_ABSENT('ABSC_CURV_TRAN', 'POSI_ANGU_TRAN'), - PRESENT_PRESENT('ABSC_CURV_TRAN', 'DEXT_T1'), - PRESENT_PRESENT('POSI_ANGU_TRAN', 'DEXT_T1'), - PRESENT_PRESENT('EPAIS_TI', 'DEXT_T1'), - PRESENT_ABSENT('DEXT_T1', 'SUR_EPAIS'), - PRESENT_ABSENT('DEXT_T1', 'BOL_P2'),), - 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 ), - SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), - NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), - TRAN_EPAIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DEXT =SIMP(statut='f',typ='R' ), - EPAIS =SIMP(statut='f',typ='R' ), - DEXT_T1 =SIMP(statut='f',typ='R' ), - EPAIS_T1 =SIMP(statut='f',typ='R' ), - EPAIS_T2 =SIMP(statut='f',typ='R' ), - EPAIS_TI =SIMP(statut='f',typ='R' ), - ANGL_TETA1 =SIMP(statut='f',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' ), - ), - SOUS_EPAIS_COUDE=FACT(statut='f',min=01,max=01, - 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=01,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=01,max=01, - regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),), - AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - LONGUEUR =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=01,max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", - into=("ASTER","IDEAS","CASTEM") ), - 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 20/10/2000 AUTEUR F1BHHAJ J.ANGLES -def macr_aspic_calc_prod(self,RESU_THER,MODELE,**args): - if MODELE != None:self.type_sdprod(MODELE,modele) - 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-A",reentrant='n', - 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='f',min=01,max=01, - TYPE =SIMP(statut='f',typ='TXM',defaut="TYPE_1",into=("TYPE_1","TYPE_2") ), - ), - MAILLAGE =SIMP(statut='o',typ=maillage), - MODELE =SIMP(statut='f',typ=(CO,modele)), - RESU_THER =SIMP(statut='f',typ=(CO,evol_ther)), - AFFE_MATERIAU =FACT(statut='o',min=01,max=03, - 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 ), - ), - EQUILIBRE =FACT(statut='o',min=01,max=01, - NOEUD =SIMP(statut='o',typ=no), - ), - PRES_REP =FACT(statut='o',min=01,max=01, - PRES =SIMP(statut='o',typ='R'), - NOEUD =SIMP(statut='f',typ=no), - EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - FONC_MULT =SIMP(statut='f',typ=fonction), - ), - ECHANGE =FACT(statut='f',min=01,max=01, - 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=01,max=06, - 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=01,max=06, - 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_ELAS =FACT(statut='o',min=01,max=01, - 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=01,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",) ), - BORNES =FACT(statut='f',min=01,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=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - ), - CONVERGENCE =FACT(statut='d',min=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - LIST_INST =SIMP(statut='o',typ=listr8), - NUME_INST_INIT =SIMP(statut='f',typ='I'), - NUME_INST_FIN =SIMP(statut='f',typ='I'), - ), - PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), - IMPRESSION =FACT(statut='f',min=01,max=01, - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT","ASTER","CASTEM","IDEAS")), - 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)), - TITRE =SIMP(statut='f',typ='TXM'), -) ; -#& MODIF COMMANDE DATE 01/02/2000 AUTEUR CIBHHBC B.CIREE -MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant='n', - fr=" ",docu="U4.PC.10-A", - TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")), - RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), - EXEC_MAILLAGE =FACT(statut='o',min=01,max=01, - LOGICIEL =SIMP(statut='o',typ='TXM',into=("GIBI",)), - 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)), - ), - TUBULURE =FACT(statut='o',min=01,max=01, - 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='f',typ='TXM',defaut="TYPE_1",into=("TYPE_1","TYPE_2")), - L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - SOUDURE =FACT(statut='o',min=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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=01,max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), - 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 02/10/96 AUTEUR CIBHHLV L.VIVAN -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-D",reentrant='n', - 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") ), -) ; -#& MODIF COMMANDE DATE 08/03/94 AUTEUR VABHHT2 G.BERTRAND -MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,docu="U4.62.01-E",reentrant='f', - 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, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - ), - 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 15/09/1999 AUTEUR F1BHHAJ J.ANGLES -MACR_GOUJ2E_CALC=MACRO(nom="MACR_GOUJ2E_CALC",op=-23,sd_prod=evol_noli, - fr=" ",docu="U4.GJ.20-A",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage), - DEFI_GOUJ =FACT(statut='o',min=01,max=01, - 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=01,max=01, - 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=01,max=01, - TYPE_CALCUL =SIMP(statut='o',typ='TXM',into=("ELASTIQUE","ELASTOPLASTIQUE")), - NB_INCR =SIMP(statut='o',typ='I'), - ), - IMPRESSION =FACT(statut='f',min=01,max=01, - 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 02/02/2000 AUTEUR F1BHHAJ J.ANGLES -MACR_GOUJ2E_MAIL=MACRO(nom="MACR_GOUJ2E_MAIL",op= -22,sd_prod=maillage, - fr=" ",docu="U4.GJ.10-A",reentrant='n', - EXEC_MAILLAGE =FACT(statut='o',min=01,max=01, - LOGICIEL =SIMP(statut='o',typ='TXM',into=("GIBI",) ), - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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 19/06/2000 AUTEUR DURAND C.DURAND -MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-A", - fr="Donner des informations sur un maillage.", -# -# 1. Le nom du maillage a analyser -# - MAILLAGE =SIMP(statut='o',typ=maillage), -# -# 2. Determination de la qualite des elements du maillage -# Par defaut, rien ne se fait -# - QUALITE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), -# -# 3. Controle de la non-interpenetration des elements -# Par defaut, rien ne se fait -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), -# -# 4. Version homard -# - VERSION_HOMARD =SIMP(statut='f',typ='TXM',defaut="V3_15",into=("V3_15","V3_N","V3_N_PERSO")), -# -# 5. Le niveau d'information -# - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 02/06/99 AUTEUR CIBHHLV L.VIVAN -MACR_PRE_SYRTHES=MACRO(nom="MACR_PRE_SYRTHES",op=-21,fr=" ",docu="U7.02.21-A", - MAILLAGE =FACT(statut='d',min=01,max=01, - UNITE_SYRTHES =SIMP(statut='f',typ='I',defaut=13), - UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), - ), - RESULTAT =FACT(statut='d',min=01,max=01, - UNITE_SYRTHES =SIMP(statut='f',typ='I',defaut=31), - UNITE_IDEAS =SIMP(statut='f',typ='I',defaut= 91 ), - ), -) ; -#& MODIF COMMANDE DATE 17/11/1999 AUTEUR CIBHHGB G.BERTRAND -MACRO_CARA_POUTRE=MACRO(nom="MACRO_CARA_POUTRE",op=-11,sd_prod=tabl_cara_geom, - docu="U4.42.02-C",reentrant='n', - fr="Détermination des caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section", - regles=(EXCLUS('SYME_X','GROUP_MA_BORD'), - EXCLUS('SYME_Y','GROUP_MA_BORD'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 20 ), - SYME_X =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - SYME_Y =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - GROUP_MA_BORD =SIMP(statut='f',typ=grma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ORIG_INER =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_MA_INTE =SIMP(statut='f',typ=grma,max='**'), - LONGUEUR =SIMP(statut='f',typ='R'), - MATERIAU =SIMP(statut='f',typ=mater), - LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 30/06/98 AUTEUR CIBHHGB G.BERTRAND -MACRO_CHAR_F_U=MACRO(nom="MACRO_CHAR_F_U",op=-15,sd_prod=char_meca, - fr=" ",docu="U4.72.07-A",reentrant='n', - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CHARGE =SIMP(statut='o',typ=char_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - COEF_IMPO =SIMP(statut='f',typ='R',defaut=1.0E+0), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="APRES",into=("NORMAL","APRES")), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 05/06/2000 AUTEUR CIBHHLV L.VIVAN -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=-10,sd_prod=macro_elas_mult_prod,docu="U4.51.02-C",reentrant='f', - fr="Permet la réalisation d une analyse statique linéaire multi cas de charges ou la réalisation des calculs de plusieurs modes de Fourier sur un modèle axisymétrique", - 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=(CO,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=01,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), - ), -# -# attention d après la documentation U4-02-04B (solveur), PRE_COND figure uniquement avec la méthode GCPC -# - SOLVEUR =FACT(statut='d',min=01,max=01, - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), - PRE_COND =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ), - b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 11/02/98 AUTEUR CIBHHLV L.VIVAN -MACRO_MADMACS=MACRO(nom="MACRO_MADMACS",op=-9,docu="U7.03.21-C", - fr="Impression au format fichier universel IDEAS des données nécessaires au chaînage entre Code_Aster et MADMACS", - regles=(UN_PARMI('MATR_ELEM_RIGI','MATR_RIGI'), - UN_PARMI('MATR_ELEM_MASS','MATR_MASS'), - PRESENT_ABSENT('MATR_ELEM_AMOR','MATR_AMOR'),), - 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,)), - MAILLAGE =SIMP(statut='o',typ=maillage), - NUME_DDL =SIMP(statut='o',typ=nume_ddl), - CHARGE =SIMP(statut='o',typ=char_meca,max='**'), - MATR_ELEM_RIGI =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ELEM_MASS =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ELEM_AMOR =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r), - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NMAX_MODE =SIMP(statut='f',typ='I',defaut=10), - INTERFACE =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('DDL_ACTIF','MASQUE'),), - NOM =SIMP(statut='o',typ='TXM'), - 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='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 19/05/2000 AUTEUR JFBHHUC C.ROSE -def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_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) - return None - -MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-B",sd_prod=macro_matr_ajou_prod, - fr="Calcul les matrices de masse, d amortissement ou de rigidité ajoutées qu induit un fluide parfait, incompressible, au repos ou en écoulement potentiel, sur une structure en 2D, 2D axisymétrique ou en 3D", - 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'),), - 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=01,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=01,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=01,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)), - SOLVEUR =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), -# 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 03/10/2000 AUTEUR VABHHTS J.PELLET -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" , - "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r - if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c - if opti == "RIGI_THER" : t= matr_asse_temp_r - if opti == "MASS_THER" : t= matr_asse_temp_r - if opti == "RIGI_THER_CONV" : t= matr_asse_temp_r - if opti == "RIGI_THER_CONV_D" : t= matr_asse_temp_r - if opti == "RIGI_ACOU" : t= matr_asse_pres_c - if opti == "MASS_ACOU" : t= matr_asse_pres_c - if opti == "AMOR_ACOU" : t= matr_asse_pres_c - self.type_sdprod(m['MATRICE'],t) - return None - -MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=-6,docu="U4.61.21-C", - 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)), - INST =SIMP(statut='f',typ='R'), - NUME_DDL =SIMP(statut='o',typ=(nume_ddl,CO)), - SOLVEUR =FACT(statut='d',min=01,max=01, - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT", - into=("LDLT","MULT_FRONT","GCPC")), - TAILLE_BLOC =SIMP(statut='f',typ='R'), - RENUM =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")), - ), - MATR_ASSE =FACT(statut='o',min=01,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")), - 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 02/02/99 AUTEUR ACBHHCD G.DEVESA -MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=-18,fr=" ",docu="U7.03.11-A", - OPTION =FACT(statut='o',min=01,max=01, - 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 04/04/2000 AUTEUR D6BHHBQ B.QUINNEZ -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= -12,sd_prod=macro_mode_meca_prod, - fr="Permet d alléger le calcul d une structure de données de type mode_meca par le découpage d un intervalle de fréquences global en sous-intervalles", - docu="U4.52.02-C",reentrant='n', - 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",) ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS", - into=("MODE_RIGIDE","SANS") ), - CALC_FREQ =FACT(statut='d',min=00,max=01, - regles=(UN_PARMI('FREQ','FREQ_MAX'), - PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'), - PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),), - FREQ =SIMP(statut='f',typ='R',max='**' ), - FREQ_MIN =SIMP(statut='f',typ='R' ), - FREQ_MAX =SIMP(statut='f',typ='R' ), - NB_BLOC_FREQ =SIMP(statut='f',typ='I' ), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I',defaut= 0 ), - 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 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-10 ), - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30 ), - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.4E-10 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I' ,defaut= 12 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ), - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ), - 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=00,max=01, - 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=01,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=01,max=01, - 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=01,max=01, - 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 11/02/98 AUTEUR CIBHHLV L.VIVAN -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 m in VECT_ASSE_GENE: - self.type_sdprod(m['VECTEUR'],vect_asse_gene) - return None - -MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=-8,docu="U4.63.11-C", - 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), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - MATR_ASSE_GENE =FACT(statut='f',min=01,max='**', - MATRICE =SIMP(statut='o',typ=(CO,matr_asse)), - MATR_ASSE =SIMP(statut='f',typ=(CO,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=01,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 08/09/97 AUTEUR VABHHTS J.PELLET -MAJ_CATA=PROC(nom="MAJ_CATA",op=20,docu="U4.15.01-D", - fr="Compilation des catalogues de commandes et d éléments", - regles=(UN_PARMI('COMMANDE','ELEMENT','VALIDATION'),), - COMMANDE =FACT(statut='f',min=01,max=01, - UNITE =SIMP(statut='o',typ='I' ), - ), - ELEMENT =FACT(statut='f',min=01,max=01,), - VALIDATION =FACT(statut='f',min=01,max=01, - UNITE =SIMP(statut='o',typ='I' ), - TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ), - ), -) ; -#& MODIF COMMANDE DATE 03/10/2000 AUTEUR 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-F",reentrant='n', - regles=(EXCLUS("INST","LIST_INST"),), - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - 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=("SIEF_ELGA_DEPL","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 =FACT(statut='f',min=1,max=1, - THETA =SIMP(statut='o',typ=theta_geom), - ), - SOLVEUR =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - ), - 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é", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - 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 ), - ), -# 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 09/09/98 AUTEUR SABJLMA P.LATRUBESSE -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', - 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=01,max=01, - DROITE =SIMP(statut='o',typ='TXM' ), - GAUCHE =SIMP(statut='o',typ='TXM' ), - AXE =SIMP(statut='f',typ='TXM' ), - ), - VERI_CYCL =FACT(statut='f',min=01,max=01, - 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=01,max=01, - 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=01,max=01), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - FREQ =SIMP(statut='o',typ='R',min=02,max=02), - ), -# 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 24/05/2000 AUTEUR D6BHHBQ B.QUINNEZ -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-F",reentrant='n', - 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=01,max=01,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 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - - 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 ), - ), - ), - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - CALC_FREQ =FACT(statut='o',min=01,max=01,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 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - - 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 ), - ), - ), - CALC_MODE =FACT(statut='d',min=00,max=01,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,fr="Précision de convergence" ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30 ), - ), - VERI_MODE =FACT(statut='d',min=00,max=01, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,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/05/2000 AUTEUR D6BHHBQ B.QUINNEZ -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_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-E",reentrant='n', - 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',position='global',typ=matr_asse_depl_r ), - METHODE =SIMP(statut='f',position='global',typ='TXM',defaut="SORENSEN",into=("TRI_DIAG","JACOBI","SORENSEN") ), - 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=00,max=01, - 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 ), - ), - 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=01,max=01,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=02,max=02,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" ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ), - ), - 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 ), - ), - ), - - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - CALC_FREQ =FACT(statut='d',min=00,max=01, - 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 ), - ), - 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=01,max=01,fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',max=01), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')",fr="Recherche des valeurs propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=02,max=02,fr="Valeur des deux fréquences 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" ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ), - ), - 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 ), - ), - ), - - VERI_MODE =FACT(statut='d',min=00,max=01, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat, - fr="Calcul de modes statiques", - docu="U4.52.14-E",reentrant='n', - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - DDL_IMPO =FACT(statut='f',min=01,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=01,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='**'), - ), - ACCE_UNIF =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('AXE','DIRECTION', ),), - AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=03), - DIRECTION =SIMP(statut='f',typ='R',max=03), - b_dir =BLOC(condition = "DIRECTION != None", - NOM_DIR =SIMP(statut='f',typ='TXM' ), - ), - ), - ACCE_IMPO =FACT(statut='f',min=01,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='**'), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR CIBHHAB N.RAHNI -MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, - fr="Modélisation d une base modale pour tenir compte du couplage fluidélastique (mêmes déformées modales, modification des valeurs des fréquences et amortissements)", - docu="U4.66.21-C",reentrant='f', -# 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 22/05/2000 AUTEUR AUBHHMB M.BONNAMY -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-C",reentrant='o', - regles=(UN_PARMI('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE'), - EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), - EXCLUS('EQUE_PIQUA','TUBE_COUDE'),), - MAILLAGE =SIMP(statut='o',typ=maillage ), - - ORIE_CONTACT =FACT(statut='f',min=01,max=01, - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), - ), - - DEFORME =FACT(statut='f',min=01,max=01, - OPTION =SIMP(statut='o',typ='TXM',into=("TRAN",) ), - DEPL =SIMP(statut='o',typ=cham_no_depl_r ), - ), - - EQUE_PIQUA =FACT(statut='f',min=01,max=01, - 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' ), - 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=01,max='**', - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), - ), - ORIE_PEAU_3D =FACT(statut='f',min=01,max='**', - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), - ), - ORIE_NORM_COQUE =FACT(statut='f',min=01,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=03), - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; -#& MODIF COMMANDE DATE 07/04/98 AUTEUR ACBHHCD G.DEVESA -MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle, - fr=" ",docu="U4.44.22-A",reentrant='f', - regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),), - 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'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 05/09/2000 AUTEUR CIBHHLV L.VIVAN -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', - 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',fr="Norme plus grande composante = 1 en prenant seulement en compte les degrés de libertés suivant",max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',fr="Norme plus grande composante = 1 en ne prenant pas en compte les degrés de libertés suivant",max='**'), - MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), - MODE_SIGNE =FACT(statut='f',min=00,max=01,fr="Imposer un signe sur une des composantes des modes", - NOEUD =SIMP(statut='o',typ=no,fr="Noeud où sera imposé le signe"), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud où 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 19/05/2000 AUTEUR JFBHHUC C.ROSE -NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl,docu="U4.61.11-F",reentrant='n', - fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", - MATR_RIGI =SIMP(statut='o',typ=(matr_elem_depl_r ,matr_elem_depl_c, - matr_elem_temp_r,matr_elem_pres_c),max='**' ), - 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") ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - ), - 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") ), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; -#& MODIF COMMANDE DATE 02/10/96 AUTEUR CIBHHLV L.VIVAN -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-D",reentrant='n', - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - BASE =SIMP(statut='f',typ=(mode_meca,base_modale,mode_gene ) ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("PLEIN","DIAG","LIGN_CIEL") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), -) ; -#& MODIF COMMANDE DATE 04/08/98 AUTEUR SABJLMA P.LATRUBESSE -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', - 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=01,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=01,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=01,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=01,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 11/02/98 AUTEUR CIBHHLV L.VIVAN -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', - regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), - RESU_GENE =SIMP(statut='o',typ=tran_gene ), - CHOC =FACT(statut='f',min=01,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=01,max=01, - 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 05/12/2000 AUTEUR G8BHHXD X.DESROCHES -def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,INDU_MUTU,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 INDU_MUTU != None : return tabl_indu_mutu - 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-D",reentrant='f', - fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'), - EXCLUS('CHAM_GD','RESULTAT'), - UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN', 'INDU_MUTU', - 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE', - 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL', - 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'), - PRESENT_PRESENT( 'MASS_INER', 'MODELE' ), - PRESENT_PRESENT( 'CARA_GEOM', 'MODELE' ), - PRESENT_PRESENT( 'AIRE_INTERNE', 'MODELE' ), - PRESENT_PRESENT( 'CARA_POUTRE', 'MODELE' ), - PRESENT_PRESENT( 'ENER_POT', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'ENER_CIN', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'INDU_MUTU', 'MODELE','CHARGE' ), - PRESENT_PRESENT( 'WEIBULL', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'RICE_TRACEY', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'INDIC_ENER', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'INDIC_SEUIL', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'ENER_ELAS', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'ENER_TOTALE', 'MODELE', 'CHAM_MATER' ), - PRESENT_PRESENT( 'CHAR_LIMITE', 'MODELE', 'CHAM_MATER' ), - ), - 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='**' ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut=0), - NUME_COUCHE =SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE =SIMP(statut='f',typ='TXM',into=("INF","SUP","MOY"),defaut="MOY"), - ANGLE =SIMP(statut='f',typ='I',defaut=0), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - 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_ther,evol_noli,mult_elas,fourier_elas) ), - 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='**'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - - MASS_INER =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - 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 ), - ), - - ENER_POT =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - ENER_CIN =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - INDU_MUTU =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - WEIBULL =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - 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',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY")), - CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - COEF_MULT =SIMP(statut='f',typ='R',defaut=1.), - ), - - RICE_TRACEY =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - 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',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY")), - LOCAL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - - INDIC_ENER =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - ENER_ELAS =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - ENER_TOTALE =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - CHAR_LIMITE =FACT(statut='f',min=00,max=01, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='o',typ='TXM',into=("OUI",)), - N =SIMP(statut='f',typ='R',max=1), - ), - - INDIC_SEUIL =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ), - - CARA_GEOM =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - 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), - ), - - CARA_POUTRE =FACT(statut='f',min=1,max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.), - 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") ), - ), - - AIRE_INTERNE =FACT(statut='f',min=1,max='**', - GROUP_MA_BORD =SIMP(statut='o',typ=grma,max='**'), - ), - ) ; -#& MODIF COMMANDE DATE 16/12/97 AUTEUR CIBHHLV L.VIVAN -POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,docu="U4.84.03-C",reentrant='n', - 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 01/10/97 AUTEUR CIBHHLV L.VIVAN -POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,docu="U4.83.01-C",reentrant='n', - fr="Calcul du dommage subi par une structure soumise à une histoire de chargement", - regles=(PRESENT_PRESENT('CORR_KE','MATER'), - PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), - PRESENT_PRESENT('CRITERE','MATER'), - PRESENT_PRESENT('DOMMAGE','MATER'),), - HISTOIRE =FACT(statut='o',min=1,max=1, - regles=(EXCLUS('SIGM','EPSI'), - EXCLUS('SIGM','SIGM_XX'), - EXCLUS('SIGM','SIGM_XZ'), - EXCLUS('SIGM','SIGM_YZ'), - EXCLUS('SIGM','EPSP'), - EXCLUS('SIGM','TEMP',), - EXCLUS('EPSI','SIGM_XX'), - EXCLUS('EPSI','SIGM_XZ'), - EXCLUS('EPSI','SIGM_YZ'), - EXCLUS('EPSI','EPSP'), - EXCLUS('EPSI','TEMP'), - ENSEMBLE('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY'), - ENSEMBLE('SIGM_XZ','SIGM_YZ'), - ENSEMBLE('EPSP','TEMP'),), - SIGM =SIMP(statut='f',typ=fonction), - EPSI =SIMP(statut='f',typ=fonction), - SIGM_XX =SIMP(statut='f',typ=fonction), - SIGM_YY =SIMP(statut='f',typ=fonction), - SIGM_ZZ =SIMP(statut='f',typ=fonction), - SIGM_XY =SIMP(statut='f',typ=fonction), - SIGM_XZ =SIMP(statut='f',typ=fonction), - SIGM_YZ =SIMP(statut='f',typ=fonction), - EPSP =SIMP(statut='f',typ=fonction), - TEMP =SIMP(statut='f',typ=fonction), - ), - COMPTAGE =SIMP(statut='f',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='f',typ='R'), - ), - CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), - 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), - CRITERE =SIMP(statut='f',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")), - COEF_CORR =SIMP(statut='f',typ='R'), - DOMMAGE =SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON", - "TAHERI_MIXTE","LEMAITRE")), - MATER =SIMP(statut='f',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 15/09/1999 AUTEUR F1BHHAJ J.ANGLES -POST_GOUJ2E=OPER(nom="POST_GOUJ2E",op=187,sd_prod=tabl_post_gouj2e,reentrant='n', - fr=" ",docu="U4.GJ.30-A", - TABLE =SIMP(statut='o',typ=tabl_post_rele), -) ; -#& MODIF COMMANDE DATE 31/05/2000 AUTEUR CIBHHLV L.VIVAN -POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k, - fr="Calcul des facteurs d intensité des contraintes par extrapolation du champ de déplacements sur les lèvres de la fissure", - docu="U4.82.05-A",reentrant='n', - regles=(PRESENT_PRESENT('REPERE','VECT_Y', ),), - 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_3D =SIMP(statut='f',typ=fond_fiss,fr="Fond de fissure issu de DEFI_FOND_FISS"), - b_fond_3d =BLOC (condition="(FOND_3D != None)", - MAILLAGE = SIMP(statut='o',typ=maillage), - PRECISION = SIMP(statut='f',typ='R',defaut=0.001) - ), - MATER =SIMP(statut='o',typ=mater,fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), - TABL_DEPL_SUP =SIMP(statut='o',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='o',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"), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL",),fr="Les déplacements sont transportés dans le repère local à la fissure"), - VECT_Y =SIMP(statut='f',typ='R',max='**',fr="Vecteur dont la projection sur le plan normal au segment de calcul défini l axe Y local"), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 27/04/98 AUTEUR CIBHHLV L.VIVAN -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-C",reentrant='n', - MATER =SIMP(statut='o',typ=mater ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","VALE_INST") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - OPTION =SIMP(statut='o',typ='TXM',max='**', - into=("PM_PB", - "SN", - "FATIGUE_SPMAX", - "FATIGUE_ZH210" - ) ), - SEGMENT =FACT(statut='o',min=01,max='**',fr="Segment sur lequel s effectue le depouillement", - INTITULE =SIMP(statut='f',typ='TXM' ), - CHEMIN =SIMP(statut='o',typ=(courbe,surface) ), - ), - TRANSITOIRE =FACT(statut='o',min=01,max='**',fr="transitoire à dépouiller", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - INTITULE =SIMP(statut='f',typ='TXM' ), - 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='f',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") ), - ), - ), -) ; -#& MODIF COMMANDE DATE 11/10/2000 AUTEUR CIBHHLV L.VIVAN -POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81.21-D",reentrant='n', - fr="Relevé de valeurs et calculs d invariants avec stockage et organisation du relevé dans un concept de type table", - ACTION =FACT(statut='o',min=01,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, - mult_elas,fourier_elas,dyna_harmo,acou_harmo)), - 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','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), - 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","MOYENNE_RCCM")), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 18/01/99 AUTEUR CIBHHBC B.CIREE -POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli, - fr=" ",docu="U4.PS.10-A",reentrant='n', - MATER =SIMP(statut='o',typ=(mater) ), - DEF_EQUI =FACT(statut='f',min=01,max=01, - 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 07/04/98 AUTEUR ACBHHCD G.DEVESA -POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-C",reentrant='f', - fr="Calcul des volumes d'usure et des profondeurs d'usure", - regles=(UN_PARMI('RESU_GENE','PUIS_USURE'), - PRESENT_PRESENT('RESU_GENE','NOEUD'), - UN_PARMI('INST','LIST_INST'),), - ETAT_INIT =FACT(statut='f',min=01,max=01, - 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='o',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), - b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", - regles=(EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f',min=01,max=01, - COEF_USURE =SIMP(statut='o',typ='R'), - ), - OBSTACLE =FACT(statut='f',min=01,max=01, - COEF_USURE =SIMP(statut='o',typ='R'), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - ), - 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=01,max=01, - 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=01,max=01, - 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',defaut="NON",into=("OUI","NON")), - 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=01,max=01, - 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=01,max=01, - 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',defaut="NON",into=("OUI","NON")), - ), - SECTEUR =FACT(statut='f',min=01,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'), - ), - 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")), - 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 31/08/1999 AUTEUR G8BHHXD X.DESROCHES -POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,docu="U4.83.21-B",reentrant='n', - 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=01,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")), - -) ; -#& AJOUT COMMANDE -POURSUITE=MACRO(nom="POURSUITE",op=0,repetable='n',fr="Poursuite d une étude", - docu="U4.11.03-f",sd_prod = ops.POURSUITE, - op_init = ops.POURSUITE_context,fichier_ini = 1, - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM' ), - BASE =FACT(fr="définition des parmètres associés aux bases JEVEUX", - statut='f',min=01,max=03, - 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=01,max=03, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='o',typ='I'), - ), - CATALOGUE =FACT(statut='f',min=01,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=01,max=01, - 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=01,max=01, - 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'), - PARTITION =SIMP(statut='f',typ='R' ), - ), -) ; -#& MODIF COMMANDE DATE 01/04/92 AUTEUR INCONNU INCONNU -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 28/11/90 AUTEUR INCONNU INCONNU -PRE_GIBI=PROC(nom="PRE_GIBI",op=49,docu="U7.01.11-F", - 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 23/04/92 AUTEUR INCONNU INCONNU -PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,docu="U7.01.01-F", - 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), -) ; -#& MODIF COMMANDE DATE 16/06/2000 AUTEUR D6BHHJP J.P.LEFEBVRE -PROCEDURE=PROC(nom="PROCEDURE",op=-3, docu="U4.13.03-E", - fr="Nommer le fichier de commandes secondaires", - NOM =SIMP(statut='f',typ='TXM',defaut=" "), -) ; -#& MODIF COMMANDE DATE 11/07/95 AUTEUR CIBHHLV L.VIVAN -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', - 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 12/05/99 AUTEUR 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(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-C",reentrant='n', - 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='f',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='f',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", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), ), - RESULTAT =SIMP(statut='f',typ=(evol_ther,evol_elas,evol_noli) ), - MODELE_1 =SIMP(statut='f',typ=modele), - MODELE_2 =SIMP(statut='f',typ=modele), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="OUI",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=01,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 29/06/95 AUTEUR ACBHHJA G.JACQUART -PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_r, - fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)", - docu="U4.63.12-E",reentrant='n', - 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 ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), -) ; - -#& MODIF COMMANDE DATE 27/06/2000 AUTEUR CIBHHBC B.CIREE -def proj_mesu_modal_prod(MESURE,**args): - vale=MESURE['NOM_PARA'] - if vale == 'INST' : return tran_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', - fr="Extrapolation de resultats experimentaux sur un modele numerique en dynamique", - -# commentaire C. Durand-13/10/2000 : -#le mot cle NOM_PARA, par construction, vaut tjs INST : donc on retourne TRAN_GENE a chaque fois -#def proj_mesu_modal_prod(**args): -# vale=args['MESURE'].get_child('NOM_PARA').get_valeur() -# if vale == 'INST' : return tran_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,) - - MODELE =SIMP(statut='f',typ=(modele) ), - MASS_GENE =SIMP(statut='o',typ=(matr_asse_gene_r) ), - RIGI_GENE =SIMP(statut='o',typ=(matr_asse_gene_r) ), - MESURE =FACT(statut='o',min=01,max=01, - MAILLAGE =SIMP(statut='o',typ=(maillage) ), - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - UNITE =SIMP(statut='f',typ='I',defaut= 33 ), - NOM_PARA =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST",) ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","SIGM_NOEU_DEPL","EPSI_NOEU_DEPL",) ), - ), - REGULARISATION =FACT(statut='f',min=01,max=01, - regles=(UN_PARMI('COEF_PONDER','COEF_PONDER_F', ),), - METHODE =SIMP(statut='f',typ='TXM',defaut="TIKHONOV",into=("TIKHONOV",) ), - NORM_MIN =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - COEF_PONDER =SIMP(statut='f',typ='R',max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction),max='**' ), - ), - ) ; -#& MODIF COMMANDE DATE 11/02/98 AUTEUR SABJLMA P.LATRUBESSE -PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,docu="U4.63.14-C",reentrant='n', - fr="Projection d un ou plusieurs spectres de turbulence, définis par DEFI_SPEC_TURB, 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' ), - FREQ_FIN =SIMP(statut='f',typ='R' ), - 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=03,max=03 ), - VECT_Y =SIMP(statut='f',typ='R',min=03,max=03 ), - ORIG_AXE =SIMP(statut='f',typ='R',min=03,max=03 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 29/06/95 AUTEUR ACBHHJA G.JACQUART -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-E",reentrant='n', - 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 ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - 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 25/09/2000 AUTEUR T2BAXJM R.MASSON -RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib, - fr=" ",docu="U4.82.06-A",reentrant='n', - LIST_PARA =SIMP(statut='o',typ='TXM',max='**',into=("SIGM_REFE","M",) ), - RESU =FACT(statut='o',min=01,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) ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400.E0 ), - 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 07/06/2000 AUTEUR VABHHTS J.PELLET -def recu_champ_prod(NOM_CHAM,RESULTAT,**args ): - if AsType(RESULTAT) == dyna_harmo : return cham_no_depl_c - if NOM_CHAM == "GEOMETRIE" : return cham_no_geom_r - if NOM_CHAM == "DEPL" : return cham_no_depl_r - if NOM_CHAM == "DEPL_ABSOLU" : return cham_no_depl_r - if NOM_CHAM == "VITE" : return cham_no_depl_r - if NOM_CHAM == "VITE_ABSOLU" : return cham_no_depl_r - if NOM_CHAM == "ACCE" : return cham_no_depl_r - if NOM_CHAM == "ACCE_ABSOLU" : return cham_no_depl_r - if NOM_CHAM == "TEMP" : return cham_no_temp_r - if NOM_CHAM == "FORC_NODA" : return cham_no_depl_r - if NOM_CHAM == "REAC_NODA" : return cham_no_depl_r - if NOM_CHAM == "EPSI_NOEU_DEPL" : return cham_no_sief_r - if NOM_CHAM == "SIGM_NOEU_CART" : return cham_no_sief_r - if NOM_CHAM == "SIGM_NOEU_DEPL" : return cham_no_sief_r - if NOM_CHAM == "SIGM_NOEU_VARI" : return cham_no_sief_r - if NOM_CHAM == "SIGM_NOEU_SIEF" : return cham_no_sief_r - if NOM_CHAM == "SIPO_NOEU_SIEF" : return cham_no_sief_r - if NOM_CHAM == "EFGE_NOEU_CART" : return cham_no_sief_r - if NOM_CHAM == "EFGE_NOEU_DEPL" : return cham_no_sief_r - if NOM_CHAM == "EQUI_NOEU_SIGM" : return cham_no_sief_r - if NOM_CHAM == "EQUI_NOEU_EPSI" : return cham_no_sief_r - if NOM_CHAM == "FLUX_NOEU_TEMP" : return cham_no_flux_r - if NOM_CHAM == "SIGM_NOZ1_ELGA" : return cham_no_sief_r - if NOM_CHAM == "SIGM_NOZ2_ELGA" : return cham_no_sief_r - if NOM_CHAM == "INTE_NOEU_ACTI" : return cham_no_inte_r - if NOM_CHAM == "INTE_NOEU_REAC" : return cham_no_inte_r - if NOM_CHAM == "PRES_NOEU_DBEL" : return cham_no_dbel_r - if NOM_CHAM == "PRES_NOEU_IMAG" : return cham_no_pres_r - if NOM_CHAM == "PRES_NOEU_REEL" : return cham_no_pres_r - if NOM_CHAM == "VARI_NOEU_ELGA" : return cham_no_var2_r - if NOM_CHAM == "META_NOEU_TEMP" : return cham_no_var2_r - if NOM_CHAM == "GRAD_NOEU_THETA": return cham_no_var2_r - if NOM_CHAM == "PHASMETA" : return cham_elem_meta_r - if NOM_CHAM == "DEGE_ELNO_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "ECIN_ELEM_DEPL" : return cham_elem_ener_r - if NOM_CHAM == "EFGE_ELNO_CART" : return cham_elem_sief_r - if NOM_CHAM == "EFGE_ELNO_DEPL" : return cham_elem_sief_r - if NOM_CHAM == "EPOT_ELEM_DEPL" : return cham_elem_ener_r - if NOM_CHAM == "EPSG_ELGA_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPSG_ELNO_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPSP_ELGA" : return cham_elem_epsi_r - if NOM_CHAM == "EPSP_ELNO" : return cham_elem_epsi_r - if NOM_CHAM == "EPSI_ELGA_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPSI_ELNO_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPSA_ELNO" : return cham_elem_epsi_r - if NOM_CHAM == "EQUI_ELGA_SIGM" : return cham_elem_sief_r - if NOM_CHAM == "EQUI_ELGA_EPSI" : return cham_elem_sief_r - if NOM_CHAM == "EQUI_ELNO_EPSI" : return cham_elem_sief_r - if NOM_CHAM == "EQUI_ELNO_SIGM" : return cham_elem_sief_r - if NOM_CHAM == "ERRE_ELEM_NOZ1" : return cham_elem_erreur - if NOM_CHAM == "ERRE_ELEM_NOZ2" : return cham_elem_erreur - if NOM_CHAM == "ERRE_ELGA_NORE" : return cham_elem_erreur - if NOM_CHAM == "ERRE_ELNO_ELGA" : return cham_elem_erreur - if NOM_CHAM == "FLUX_ELGA_TEMP" : return cham_elem_flux_r - if NOM_CHAM == "FLUX_ELNO_TEMP" : return cham_elem_flux_r - if NOM_CHAM == "INTE_ELNO_ACTI" : return cham_elem_inte_r - if NOM_CHAM == "INTE_ELNO_REAC" : return cham_elem_inte_r - if NOM_CHAM == "PRES_ELNO_DBEL" : return cham_elem_dbel_r - if NOM_CHAM == "PRES_ELNO_IMAG" : return cham_elem_pres_r - if NOM_CHAM == "PRES_ELNO_REEL" : return cham_elem_pres_r - if NOM_CHAM == "SIEF_ELGA" : return cham_elem_sief_r - if NOM_CHAM == "SIEF_ELNO" : return cham_elem_sief_r - if NOM_CHAM == "SIEF_ELGA_DEPL" : return cham_elem_sief_r - if NOM_CHAM == "SIGM_ELNO_CART" : return cham_elem_sief_r - if NOM_CHAM == "SIGM_ELNO_DEPL" : return cham_elem_sief_r - if NOM_CHAM == "SIGM_ELNO_VARI" : return cham_elem_sief_r - if NOM_CHAM == "SIGM_ELNO_SIEF" : return cham_elem_sief_r - if NOM_CHAM == "SIPO_ELNO_SIEF" : return cham_elem_sief_r - if NOM_CHAM == "SIEF_ELNO_ELGA" : return cham_elem_sief_r - if NOM_CHAM == "SIPO_ELNO_DEPL" : return cham_elem_sief_r - if NOM_CHAM == "SIRE_ELNO_DEPL" : return cham_elem_sief_r - if NOM_CHAM == "SOUR_ELGA_ELEC" : return cham_elem_sour_r - if NOM_CHAM == "VARI_ELGA" : return cham_elem_vari_r - if NOM_CHAM == "VARI_ELNO" : return cham_elem_vari_r - if NOM_CHAM == "VARI_ELNO_ELGA" : return cham_elem_vari_r - if NOM_CHAM == "VNOR_ELEM_DEPL" : return cham_elem_vnor_c - if NOM_CHAM == "DCHA_ELGA_SIGM" : return cham_elem_vari_r - if NOM_CHAM == "DCHA_ELNO_SIGM" : return cham_elem_vari_r - if NOM_CHAM == "RADI_ELGA_SIGM" : return cham_elem_vari_r - if NOM_CHAM == "RADI_ELNO_SIGM" : return cham_elem_vari_r - if NOM_CHAM == "ENDO_ELNO_SIGM" : return cham_elem_sief_r - if NOM_CHAM == "ENDO_ELNO_SIGA" : return cham_elem_sief_r - if NOM_CHAM == "ENDO_ELNO_SINO" : return cham_elem_sief_r - if NOM_CHAM == "EPME_ELNO_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPME_ELGA_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPME_ELNO_DPGE" : return cham_elem_epsi_r - if NOM_CHAM == "EPMG_ELNO_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "EPMG_ELGA_DEPL" : return cham_elem_epsi_r - if NOM_CHAM == "THETA" : return cham_no_depl_r - if NOM_CHAM == "GRAD_ELGA_THETA" : return cham_elem_g_depl - if NOM_CHAM == "GRAD_ELNO_ELGA" : return cham_elem_g_depl - if NOM_CHAM == "HYDR_ELGA" : return cham_elem_hydr_r - raise AsException("type de concept resultat non prevu") - -RECU_CHAMP=OPER(nom="RECU_CHAMP",op= 59,sd_prod=recu_champ_prod, - fr="Récupération dans un résultat composé d un seul champ aux noeuds ou par éléments", - docu="U4.71.01-F",reentrant='n', - regles=(UN_PARMI('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL', ), - UN_PARMI('RESULTAT','MAILLAGE'),), -# creer une structure de donnees RESULTAT global - RESULTAT =SIMP(statut='f',typ=resultat), - MAILLAGE =SIMP(statut='f',typ=maillage), - NOM_CHAM =SIMP(statut='o',typ='TXM', - into=( "DEPL","VITE","ACCE","DEPL_ABSOLU", - "VITE_ABSOLU","TEMP","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", - "THETA","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",) ), - TYPE_MAXI =SIMP(statut='f',typ='TXM', - into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN") ), - 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' ), - b_prec_crit =BLOC(condition = "(INST != 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") ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - ), - b_type_maxi =BLOC(condition = "TYPE_MAXI != None", - regles=(EXCLUS('TOUT_ORDRE','LIST_INST' ),), - 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 ), - b_prec_crit =BLOC(condition = "(INST != 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") ), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; -#& MODIF COMMANDE DATE 28/06/2000 AUTEUR CIBHHLV L.VIVAN -def recu_fonction_prod(RESULTAT=None,OBSTACLE=None,TABLE=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-E",reentrant='n', - 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'), - PRESENT_ABSENT('MULT_APPUI','CORR_STAT'),), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - CORR_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - 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=01,max='**', - regles=(UN_PARMI('VALE','VALE_I','VALE_C','VALE_K','VALE_CO'),), - 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",) ), - 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' ), - VALE_CO =SIMP(statut='f',typ=geom), - 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 Matthieu 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'), - 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'),), -# A voir par Matthieu Courtois : les champs INTO de NOM_CHAM -# NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ), - NOM_CHAM =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=02,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' ), - 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 Matthieu 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'),), -# A voir par Matthieu Courtois : les champs INTO de NOM_CHAM -# A voir par Matthieu Courtois : NOM_CHAM facultatif et non obligatoire -# NOM_CHAM =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ), - NOM_CHAM =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=02,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' ), - 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", -# A voir par Matthieu Courtois : les champs INTO de NOM_CHAM -# A voir par Matthieu Courtois : NOM_CHAM facultatif et non obligatoire -# NOM_CHAM =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ), - NOM_CHAM =SIMP(statut='f',typ='TXM' ), - 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' ), - 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=02,into=("NON","LIN","LOG") ), - PROL_DROIT =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 03/03/97 AUTEUR A2BHHWS A.C.LEGER -RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,docu="U4.71.03-E",reentrant='n', - 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 22/07/99 AUTEUR CIBHHLV L.VIVAN -RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table, - fr=" ",docu="U4.71.02-A",reentrant='n', - CO =SIMP(statut='o',typ=assd), - NOM_TABLE =SIMP(statut='o',typ='TXM' ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 03/05/2000 AUTEUR VABHHTS J.PELLET -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', - 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 02/10/96 AUTEUR CIBHHLV L.VIVAN -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", - 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 31/05/2000 AUTEUR CIBHHLV L.VIVAN -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', - 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 - PRESENT_ABSENT('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 ), - b_prec_crit =BLOC(condition = "INST != None or LIST_INST != None or FREQ != None or LIST_FREQ != None", - 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',defaut="NON",into=("OUI","NON") ), - CORR_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - 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 16/12/97 AUTEUR CIBHHLV L.VIVAN -REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp, - fr="Calcul, à partir d un interspectre de réponse modale, de la réponse d une structure dans la base physique, à certains noeuds sélectionnés du maillage", - docu="U4.63.22-C",reentrant='n', - 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=02,max=02 ), - 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=07, - into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL", - "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ), - MODE_STAT =SIMP(statut='f',typ=mode_stat ), - EXCIT =FACT(statut='f',max=01, - 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 16/06/2000 AUTEUR D6BHHJP J.P.LEFEBVRE -RETOUR=PROC(nom="RETOUR",op= -2,docu="U4.13.02-E", - fr="Retour au fichier de commandes appelant", -) ; -#& MODIF COMMANDE DATE 03/10/2000 AUTEUR VABHHTS J.PELLET -# RESPONSABLE GJBHHEL E.LORENTZ -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-E",reentrant='f', - regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'), - EXCLUS('RECH_LINEAIRE','PILOTAGE'), ), - 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=01,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")), - ), - COMP_INCR =FACT(statut='f',min=01,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", - "ENDO_LOCAL", - "ENDO_FRAGILE", - "BETON_ENDO_LOCAL", - "RUPT_FRAG", - "PLAS_GRAD", - "DURC_GRAD", - "META_PL", - "META_PL_PT", - "META_PL_RE", - "META_PL_PT_RE", - "META_VL", - "META_VL_PT", - "META_VL_RE", - "META_VL_PT_RE", - "META_PNL", - "META_PNL_PT", - "META_PNL_RE", - "META_PNL_PT_RE", - "META_VNL", - "META_VNL_PT", - "META_VNL_RE", - "META_VNL_PT_RE", - "VMIS_CINE_LINE", - "TAHERI", - "VISC_TAHERI", - "CHABOCHE", - "VISCOCHAB", - "VMIS_CIN1_CHAB", - "VMIS_CIN2_CHAB", - "POLY_CFC", - "LMARC", - "ROUSSELIER", - "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", - "OHNO", - "GRANGER_FP", - "GRANGER_FP_V", - "BETON_DOUBLE_DP", - "KIT_HM", - "KIT_HHM", - "KIT_THH", - "KIT_THM", - "KIT_THHM", - "VMIS_ASYM_LINE", - "ELAS_THM", - "SURF_ETAT_NSAT", - "SURF_ETAT_SATU", - "CAM_CLAY_THM", - "KIT_DDI", - ) ), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - 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,)), - ENDO_LOCAL =SIMP(statut='c',typ='I',defaut=2,into=(2,)), - ENDO_FRAGILE =SIMP(statut='c',typ='I',defaut=5,into=(5,)), - BETON_ENDO_LOCAL=SIMP(statut='c',typ='I',defaut=2,into=(2,)), - RUPT_FRAG =SIMP(statut='c',typ='I',defaut=4,into=(4,)), - PLAS_GRAD =SIMP(statut='c',typ='I',defaut=5,into=(5,)), - DURC_GRAD =SIMP(statut='c',typ='I',defaut=5,into=(5,)), - META_PL =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PL_PT =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PL_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PL_PT_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VL =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VL_PT =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VL_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VL_PT_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PNL =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PNL_PT =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PNL_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_PNL_PT_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VNL =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VNL_PT =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VNL_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - META_VNL_PT_RE =SIMP(statut='c',typ='I',defaut=0,into=(0,)), - VMIS_CINE_LINE =SIMP(statut='c',typ='I',defaut=7,into=(7,)), - CHABOCHE =SIMP(statut='c',typ='I',defaut=14,into=(14,)), - VISCOCHAB =SIMP(statut='c',typ='I',defaut=28,into=(28,)), - VMIS_CIN1_CHAB =SIMP(statut='c',typ='I',defaut=8,into=(8,)), - VMIS_CIN2_CHAB =SIMP(statut='c',typ='I',defaut=14,into=(14,)), - POLY_CFC =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)), - LMARC =SIMP(statut='c',typ='I',defaut=20,into=(20,)), - TAHERI =SIMP(statut='c',typ='I',defaut=15,into=(15,)), - VISC_TAHERI =SIMP(statut='c',typ='I',defaut=9,into=(9,)), - ROUSSELIER =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,)), - 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,)), - 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_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,)), - - RELATION_KIT =SIMP(statut='f',typ='TXM',max='**', - into=( -# MECA - "ELAS", - "CJS", - "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_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", - "ROUSSELIER", - "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=2,into=(2,)), - LIQU_VAPE_GAZ =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - LIQU_NSAT_GAT =SIMP(statut='c',typ='I',defaut=3,into=(3,)), - LIQU_GAZ =SIMP(statut='c',typ='I',defaut=2,into=(2,)), - 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=7,into=(7,)), - ZIRC =SIMP(statut='c',typ='I',defaut=5,into=(5,)), - - COQUE_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NCOU =SIMP(statut='f',typ='I' ), - TUYAU_NSEC =SIMP(statut='f',typ='I' ), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE")), - ALGO_C_PLAN =SIMP(statut='f',typ='TXM',into=("DEBORST",)), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - ), - COMP_ELAS =FACT(statut='f',min=01,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,)), - COQUE_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NCOU =SIMP(statut='f',typ='I'), - TUYAU_NSEC =SIMP(statut='f',typ='I'), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), - 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=01,max=01, - 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=01,max=01, - 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), - ), - NEWTON =FACT(statut='d',min=01,max=01, - 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=01,max=01, - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), - ), - PILOTAGE =FACT(statut='f',min=01,max=01, - regles=(EXCLUS('NOEUD','GROUP_NO'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS") ), - 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'), - 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=01,max=01, - 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")), - ), - PARM_THETA =SIMP(statut='f',typ='R' - ,defaut= 1. ), - SOLVEUR =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), -# 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=01,max=01, - 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")), - ), - MODELE_NON_LOCAL=SIMP(statut='f',typ=(modele) ), - SOLV_NON_LOCAL =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - LAGR_NON_LOCAL =FACT(statut='d',max=01, - 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'), - RHO =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 20/09/1999 AUTEUR DURAND C.DURAND -TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction pour la comparer à une valeur de référence", - docu="U4.92.02-E", - 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=01,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=02), - VALE_PARA =SIMP(statut='o',typ='R',max=02), - 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=01,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_DROIT","PROL_GAUCHE","INTERPOL", - "PROL_GAUCHE_FONC","PROL_DROIT_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=01,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 03/05/2000 AUTEUR VABHHTS J.PELLET -TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-F", - 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=01,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' ), - 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=01,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' ), - NOEUD =SIMP(statut='f',typ=no),# CO() - GROUP_NO =SIMP(statut='f',typ=grno),# CO() - NOM_CMP =SIMP(statut='f',typ='TXM' ), - TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", - "NON_REGRESSION","AUTRE_ASTER") ), - VERSION =SIMP(statut='f',typ='TXM' ), - ), - RESU =FACT(statut='f',min=01,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), - 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'), - 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'), - 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=02), - PRECISION =SIMP(statut='f',typ='R',max=02), - 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 20/09/1999 AUTEUR DURAND C.DURAND -TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,fr="Tester une 'cellule' d un concept de type table.Imprime dans le fichier 'RESULTAT' : OK si la valeur trouvée est identique à la valeur donnée en référence, NOOK sinon", - docu="U4.92.03-B", - 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=01,max='**', - regles=(UN_PARMI('VALE','VALE_I','VALE_C','VALE_K','VALE_CO', ),), - NOM_PARA =SIMP(statut='o',typ='TXM' ), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - VALE_K =SIMP(statut='f',typ='TXM' ), - VALE_CO =SIMP(statut='f',typ=geom), - 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 19/05/2000 AUTEUR JFBHHUC C.ROSE -THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-F",reentrant='f', - 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=01,max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=fonction), - ), - INCREMENT =FACT(statut='f',min=01,max=01, - 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=01,max=01, - 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 =FACT(statut='f',min=01,max=01, - THETA =SIMP(statut='o',typ=theta_geom), - ), - DEUL_INIT =FACT(statut='f',min=01,max=01, - 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=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), -# 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=01,max=01, - 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',max='**',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 19/05/2000 AUTEUR JFBHHUC C.ROSE -THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02-D",reentrant='f', - 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=01,max='**', - RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", - into=("THER_NL", - "THER_HYDR", - "SECH_GRANGER", - "SECH_MENSI", - "SECH_BAZANT", - "SECH_NAPPE" - ) ), - 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=01,max='**', - CHARGE =SIMP(statut='o',typ=char_ther), - FONC_MULT =SIMP(statut='f',typ=fonction), - ), - INCREMENT =FACT(statut='f',min=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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=01,max=01, - 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 ), - ), - SOLVEUR =FACT(statut='d',min=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), -# 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=01,max=01, - 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',max='**',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 19/05/2000 AUTEUR JFBHHUC C.ROSE -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', - 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=01,max='**', - CHARGE =SIMP(statut='o',typ=char_ther ), - FONC_MULT =SIMP(statut='c',typ=fonction ), - ), - TEMP_INIT =FACT(statut='f',min=01,max=01, - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_INIT =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d',min=01,max=01, - 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=01,max=01, - 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="MDA",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") ), - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut= 400. ), - ), - 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 ), - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - 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/cata_STA6.py b/Aster/Cata/cata_STA8.py similarity index 52% rename from Aster/Cata/cata_STA6.py rename to Aster/Cata/cata_STA8.py index 9b879438..e54dee9a 100755 --- a/Aster/Cata/cata_STA6.py +++ b/Aster/Cata/cata_STA8.py @@ -1,28 +1,36 @@ -# -*- coding: utf-8 -*- -#& MODIF COMMANDE DATE 24/06/2002 AUTEUR F1BHHAJ J.ANGLES +#& MODIF ENTETE DATE 12/05/2005 AUTEUR DURAND C.DURAND +# -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + import Accas from Accas import * from Accas import _F - +import string +import types +import Numeric +from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10 +from math import sqrt,pi import ops +# pas d'import aster, Utilitai... pour ne pas gener eficas +#from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + try: import aster except: @@ -30,7 +38,7 @@ except: # __version__="$Name: $" -__Id__="$Id: cata_STA6.py,v 1.4 2002/11/06 16:21:47 eficas Exp $" +__Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $" # JdC = JDC_CATA(code='ASTER', execmodul=None, @@ -38,11 +46,10 @@ JdC = JDC_CATA(code='ASTER', AU_MOINS_UN('FIN'), A_CLASSER(('DEBUT','POURSUITE'),'FIN'))) # Type le plus general -class entier (ASSD):pass -class reel (ASSD):pass -class complexe(ASSD):pass -class liste (ASSD):pass -class chaine (ASSD):pass +class entier (ASSD): + def __init__(self,valeur=None,**args): + ASSD.__init__(self,**args) + self.valeur=valeur # Type geometriques class no (GEOM):pass @@ -56,7 +63,6 @@ class grma(GEOM):pass 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 @@ -64,197 +70,857 @@ 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 compor_sdaster (ASSD):pass +class courbe_sdaster (ASSD):pass +class fiss_xfem (ASSD):pass class fond_fiss (ASSD):pass class interf_dyna_clas(ASSD):pass class interspfact (ASSD):pass -class listis (ASSD):pass -class listr8 (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 listis_sdaster (ASSD):pass +class mater_sdaster (ASSD):pass +class melasflu_sdaster(ASSD):pass +class nume_ddl_sdaster(ASSD):pass class nume_ddl_gene (ASSD):pass -class obstacle (ASSD):pass -class spectre (ASSD):pass -class surface (ASSD):pass +class obstacle_sdaster(ASSD):pass +class sd_feti_sdaster (ASSD):pass +class spectre_sdaster (ASSD):pass +class surface_sdaster (ASSD):pass class tran_gene (ASSD):pass class type_flui_stru (ASSD):pass -class valeur (ASSD):pass -# maillage : +# modeles : +#-------------------------------- +class modele_sdaster (ASSD):pass +class modele_gene (ASSD): + def LIST_SOUS_STRUCT(self) : + """ retourne la liste des sous structures du modele generalise + la liste des macro-elements sous-jacents""" + nommodgen=self.get_name() + ncham=nommodgen+(8-len(nommodgen))*' ' + ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO') + ssme=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.SSME') + return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))] + def LIST_LIAIS_STRUCT(self) : + """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme : + [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ + nommodgen=self.get_name() + ncham=nommodgen+(8-len(nommodgen))*' ' + lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF') + return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf] + + +# macro-elements : #-------------------------------- -class maillage(ASSD):pass -class squelette (maillage):pass +class macr_elem_dyna (ASSD): + def NBRE_MODES(self) : + """ retourne le nombre de modes total, dynamiques et d'interface """ + nommacr=self.get_name() + ncham=nommacr+(8-len(nommacr))*' ' + ncham=nommacr+(8-len(nommacr))*' '+'.MAEL' + nombase=aster.getvectjev(ncham+(19-len(ncham))*' '+'.REFE')[0] + nbmode=Numeric.array(aster.getvectjev(nombase[0:8]+(19-len(nombase[0:8]))*' '+'.UTIL')) + nbmodtot=nbmode[1] + nbmoddyn=nbmode[2] + nbmodint=nbmode[3] + return [nbmodtot,nbmoddyn,nbmodint] + + def EXTR_MATR_GENE(self,typmat) : + """ retourne les valeurs des matrices generalisees reelles + dans un format Numerical Array + typmat='MASS_GENE' pour obtenir la matrice de masse generalisee + typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee + typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs """ + + nommacr=self.get_name() + if (typmat=='MASS_GENE') : + ext='.MAEL.MASS ' + elif (typmat=='RIGI_GENE') : + ext='.MAEL.RAID ' + elif (typmat=='AMOR_GENE') : + ext='.MAEL.AMOR ' + else: + raise Accas.AsException("Le type de la matrice est incorrect") + ncham=nommacr+(8-len(nommacr))*' '+ext + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + +# On teste si le DESC du vecteur existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster") + + tmp=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) + matrice=Numeric.zeros([desc[1],desc[1]],Numeric.Float) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + matrice[j-1,i]=tmp[k] + matrice=(matrice+Numeric.transpose(matrice)) + for i in range(desc[1]): + matrice[i,i]=0.5*matrice[i,i] + return matrice + + def RECU_MATR_GENE(self,typmat,matrice) : + """ envoie les valeurs d'un Numerical Array dans des matrices generalisees + reelles definies dans jeveux + typmat='MASS_GENE' pour obtenir la matrice de masse generalisee + typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee + typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee + Attributs ne retourne rien """ + from Utilitai.Utmess import UTMESS + +# avertissement generique + UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') + + nommacr=self.get_name() + if (typmat=='MASS_GENE') : + ext='.MAEL.MASS ' + elif (typmat=='RIGI_GENE') : + ext='.MAEL.RAID ' + elif (typmat=='AMOR_GENE') : + ext='.MAEL.AMOR ' + else: + raise Accas.AsException("Le type de la matrice \ + est incorrect") + ncham=nommacr+(8-len(nommacr))*' '+ext + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + +# On teste si le DESC de la matrice jeveux existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster") + Numeric.asarray(matrice) + +# On teste si la matrice python est de dimension 2 + if (len(Numeric.shape(matrice))<>2): + raise Accas.AsException("La dimension de la matrice \ + est incorrecte") + +# On teste si les tailles de la matrice jeveux et python sont identiques + if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : + raise Accas.AsException("La dimension de la matrice \ + est incorrecte") + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmp=Numeric.zeros([int(taille)],Numeric.Float) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmp[k]=matrice[j-1,i] + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple(( + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) + return -# cham_gd (carte,cham_no,cham_elem) +class macr_elem_stat (ASSD):pass + + +# liste : #-------------------------------- +class listr8_sdaster (ASSD): + def Valeurs(self) : + """ + Retourne la liste des valeurs : [val1, ..., valN] + """ + vale=string.ljust(self.get_name(),19)+'.VALE' + return list(aster.getvectjev(vale)) + -class cham_gd(ASSD):pass +# post-traitement : +#-------------------------------- +class post_comp_cham_el : + def __init__(self,valeurs,maille=None,point=None,sous_point=None) : + self.valeurs=valeurs + self.maille=maille + self.point=point + self.sous_point=sous_point + +class post_comp_cham_no : + def __init__(self,valeurs,noeud=None) : + self.valeurs=valeurs + self.noeud=noeud -# cham_gd/carte : +# maillage : #-------------------------------- -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 maillage_sdaster(ASSD): + def LIST_GROUP_NO(self) : + """ retourne la liste des groupes de noeuds sous la forme : + [ (gno1, nb noeuds gno1), ...] """ + nommail=self.get_name() + dic_gpno=aster.getcolljev(nommail.ljust(8)+".GROUPENO") + return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] + def LIST_GROUP_MA(self) : + """ retourne la liste des groupes de mailles sous la forme : + [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ + nommail=self.get_name() + nommail=nommail.ljust(8) + ngpma=[] + ltyma =aster.getvectjev("&CATA.TM.NOMTM") + catama=aster.getcolljev("&CATA.TM.TMDIM") + dic_gpma=aster.getcolljev(nommail+".GROUPEMA") + dimama=[catama[ltyma[ma-1]][0] for ma in aster.getvectjev(nommail+".TYPMAIL")] + for grp in dic_gpma.keys(): + dim=max([dimama[ma-1] for ma in dic_gpma[grp]]) + ngpma.append((grp.strip(),len(dic_gpma[grp]),dim)) + return ngpma + + +class squelette (maillage_sdaster):pass + + +# cham_gd_sdaster (carte_sdaster,cham_no_sdaster,cham_elem_sdaster) #-------------------------------- -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_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 +class cham_gd_sdaster(ASSD):pass -# cham_gd/cham_no : +# cham_gd_sdaster/carte_sdaster : #-------------------------------- -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_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 carte_sdaster (cham_gd_sdaster):pass +class carte_dbel_r (carte_sdaster):pass +class carte_depl_c (carte_sdaster):pass +class carte_depl_f (carte_sdaster):pass +class carte_depl_r (carte_sdaster):pass +class carte_durt_r (carte_sdaster):pass +class carte_ener_r (carte_sdaster):pass +class carte_epsi_r (carte_sdaster):pass +class carte_erreur (carte_sdaster):pass +class carte_flux_r (carte_sdaster):pass +class carte_g_depl_r (carte_sdaster):pass +class carte_geom_r (carte_sdaster):pass +class carte_hydr_r (carte_sdaster):pass +class carte_inst_r (carte_sdaster):pass +class carte_inte_r (carte_sdaster):pass +class carte_irra_r (carte_sdaster):pass +class carte_neut_f (carte_sdaster):pass +class carte_neut_r (carte_sdaster):pass +class carte_pres_r (carte_sdaster):pass +class carte_sief_r (carte_sdaster):pass +class carte_sour_r (carte_sdaster):pass +class carte_temp_f (carte_sdaster):pass +class carte_temp_r (carte_sdaster):pass +class carte_var2_r (carte_sdaster):pass +class carte_vnor_c (carte_sdaster):pass +class carte_corr_r (carte_sdaster):pass + + +# cham_gd_sdaster/cham_elem_sdaster : #-------------------------------- +class cham_elem_sdaster(cham_gd_sdaster): + + def EXTR_COMP(self,comp,lgma,topo=0) : + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de mailles lgma avec eventuellement l'info de la + topologie si topo>0. Si lgma est une liste vide, c'est equivalent + a un TOUT='OUI' dans les commandes aster + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs + Si on a demande la topo : + - self.maille : numero de mailles + - self.point : numero du point dans la maille + - self.sous_point : numero du sous point dans la maille """ + + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' + + aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) + + valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) + point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) + sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) + else : + maille=None + point=None + sous_point=None + + aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) + + return post_comp_cham_el(valeurs,maille,point,sous_point) + +class cham_elem_crit_r(cham_elem_sdaster):pass +class cham_elem_dbel_r(cham_elem_sdaster):pass +class cham_elem_depl_c(cham_elem_sdaster):pass +class cham_elem_depl_f(cham_elem_sdaster):pass +class cham_elem_depl_r(cham_elem_sdaster):pass +class cham_elem_dommag(cham_elem_sdaster):pass +class cham_elem_durt_r(cham_elem_sdaster):pass +class cham_elem_ener_r(cham_elem_sdaster):pass +class cham_elem_epsi_c(cham_elem_sdaster):pass +class cham_elem_epsi_r(cham_elem_sdaster):pass +class cham_elem_erreur(cham_elem_sdaster):pass +class cham_elem_facy_r(cham_elem_sdaster):pass +class cham_elem_flux_r(cham_elem_sdaster):pass +class cham_elem_g_depl(cham_elem_sdaster):pass +class cham_elem_geom_r(cham_elem_sdaster):pass +class cham_elem_hydr_r(cham_elem_sdaster):pass +class cham_elem_inst_r(cham_elem_sdaster):pass +class cham_elem_inte_r(cham_elem_sdaster):pass +class cham_elem_irra_r(cham_elem_sdaster):pass +class cham_elem_neut_f(cham_elem_sdaster):pass +class cham_elem_neut_r(cham_elem_sdaster):pass +class cham_elem_pres_r(cham_elem_sdaster):pass +class cham_elem_sief_c(cham_elem_sdaster):pass +class cham_elem_sief_r(cham_elem_sdaster):pass +class cham_elem_sour_r(cham_elem_sdaster):pass +class cham_elem_spma_r(cham_elem_sdaster):pass +class cham_elem_temp_f(cham_elem_sdaster):pass +class cham_elem_temp_r(cham_elem_sdaster):pass +class cham_elem_vari_r(cham_elem_sdaster):pass +class cham_elem_vnor_c(cham_elem_sdaster):pass -class resultat(ASSD): - def __getitem__(self,key): - return aster.getpara(self.get_name(),"RESULTAT",key[0],key[1]) - -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 : + +# cham_gd/cham_no : +#-------------------------------- +class cham_no_sdaster(cham_gd_sdaster): + + def EXTR_COMP(self,comp,lgno,topo=0) : + """ retourne les valeurs de la composante comp du champ sur la liste + de groupes de noeuds lgno avec eventuellement l'info de la + topologie si topo>0. Si lgno est une liste vide, c'est equivalent + a un TOUT='OUI' dans les commandes aster + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs + Si on a demande la topo (i.e. self.topo = 1) : + - self.noeud : numero de noeud """ + + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + nchams=ncham[0:7]+'S' + ncmp=comp+(8-len(comp))*' ' + + aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) + + valeurs=Numeric.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) + + if (topo>0) : + noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) + else : + noeud=None + + aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) + + return post_comp_cham_no(valeurs,noeud) + +class cham_no_dbel_r (cham_no_sdaster):pass +class cham_no_depl_c (cham_no_sdaster):pass +class cham_no_depl_f (cham_no_sdaster):pass +class cham_no_depl_r (cham_no_sdaster):pass +class cham_no_durt_r (cham_no_sdaster):pass +class cham_no_ener_r (cham_no_sdaster):pass +class cham_no_epsi_r (cham_no_sdaster):pass +class cham_no_erreur (cham_no_sdaster):pass +class cham_no_facy_r (cham_no_sdaster):pass +class cham_no_flux_r (cham_no_sdaster):pass +class cham_no_g_depl_r (cham_no_sdaster):pass +class cham_no_geom_r (cham_no_sdaster):pass +class cham_no_hydr_r (cham_no_sdaster):pass +class cham_no_inst_r (cham_no_sdaster):pass +class cham_no_inte_r (cham_no_sdaster):pass +class cham_no_irra_r (cham_no_sdaster):pass +class cham_no_neut_f (cham_no_sdaster):pass +class cham_no_neut_r (cham_no_sdaster):pass +class cham_no_pres_c (cham_no_sdaster):pass +class cham_no_pres_r (cham_no_sdaster):pass +class cham_no_sief_r (cham_no_sdaster):pass +class cham_no_sour_r (cham_no_sdaster):pass +class cham_no_spma_r (cham_no_sdaster):pass +class cham_no_temp_c (cham_no_sdaster):pass +class cham_no_temp_f (cham_no_sdaster):pass +class cham_no_temp_r (cham_no_sdaster):pass +class cham_no_vanl_r (cham_no_sdaster):pass +class cham_no_var2_r (cham_no_sdaster):pass +class cham_no_vnor_c (cham_no_sdaster):pass + + +# resultat_sdaster : (evol_sdaster,mode_stat,mode_meca) +#-------------------------------------- + +class resultat_sdaster(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") + def LIST_PARA (self) : + return aster.GetResu(self.get_name(), "PARAMETRES") + +class acou_harmo (resultat_sdaster):pass +class base_modale (resultat_sdaster):pass +class comb_fourier (resultat_sdaster):pass +class dyna_harmo (resultat_sdaster):pass +class dyna_trans (resultat_sdaster):pass +class fourier_elas (resultat_sdaster):pass +class harm_gene (resultat_sdaster):pass +class mode_acou (resultat_sdaster):pass +class mode_cycl (resultat_sdaster):pass +class mode_flamb (resultat_sdaster):pass +class mode_gene (resultat_sdaster):pass +class mult_elas (resultat_sdaster):pass +class theta_geom (resultat_sdaster):pass + +# resultat_sdaster/evol_sdaster : #-------------------------------- -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 evol_sdaster(resultat_sdaster):pass +class evol_char(evol_sdaster):pass +class evol_elas(evol_sdaster):pass +class evol_noli(evol_sdaster):pass +class evol_ther(evol_sdaster):pass +class evol_varc(evol_sdaster):pass + +# resultat_sdaster/mode_stat : #-------------------------------- -class mode_stat(resultat):pass +class mode_stat(resultat_sdaster):pass class mode_stat_depl(mode_stat):pass class mode_stat_acce(mode_stat):pass class mode_stat_forc(mode_stat):pass -# resultat/mode_meca : +# resultat_sdaster/mode_meca : #-------------------------------- -class mode_meca(resultat):pass +class mode_meca(resultat_sdaster):pass class mode_meca_c(mode_meca):pass -# fonction : +# types 'fonction' : #-------------------------------- -class para_sensi(fonction):pass -class fonction_c(fonction):pass - +class fonction_class(ASSD): + def Valeurs(self):pass + def Parametres(self): + """ + Retourne un dictionnaire contenant les parametres de la fonction ; + le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. + """ + if hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : + dico={ + 'INTERPOL' : self.etape['INTERPOL'], + 'NOM_PARA' : self.etape['NOM_PARA'], + 'NOM_RESU' : self.etape['NOM_RESU'], + 'PROL_DROITE' : self.etape['PROL_DROITE'], + 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'], + } + if type(dico['INTERPOL'])==types.TupleType : + dico['INTERPOL']=list(dico['INTERPOL']) + elif type(dico['INTERPOL'])==types.StringType : + dico['INTERPOL']=[dico['INTERPOL'],] + if len(dico['INTERPOL'])==1 : + dico['INTERPOL']=dico['INTERPOL']*2 + else : + TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } + prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL') + dico={ + 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], + 'NOM_PARA' : string.strip(prol[2][0:16]), + 'NOM_RESU' : string.strip(prol[3][0:16]), + 'PROL_DROITE' : TypeProl[prol[4][1]], + 'PROL_GAUCHE' : TypeProl[prol[4][0]], + } + return dico + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une fonction""" + from Utilitai.Graph import Graph + gr=Graph() + gr.AjoutCourbe(Val=self.Valeurs(), + Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']]) + gr.Trace(FORMAT=FORMAT,**kargs) +class fonction_sdaster(fonction_class): + def convert(self,arg='real'): + """ + Retourne un objet de la classe t_fonction + représentation python de la fonction + """ + if arg=='real' : + from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + return t_fonction(self.Absc(), + self.Ordo(), + self.Parametres()) + elif arg=='complex' : + from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + return t_fonction_c(self.Absc(), + self.Ordo(), + self.Parametres()) + def Valeurs(self) : + """ + Retourne deux listes de valeurs : abscisses et ordonnees + """ + if hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : + if self.etape['VALE']!=None: + lbl=list(self.etape['VALE']) + dim=len(lbl) + lx=[lbl[i] for i in range(0,dim,2)] + ly=[lbl[i] for i in range(1,dim,2)] + return [lx,ly] + elif self.etape['VALE_PARA']!=None: + return [self.etape['VALE_PARA'].Valeurs(),self.etape['VALE_FONC'].Valeurs()] + else : + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + dim=len(lbl)/2 + lx=lbl[0:dim] + ly=lbl[dim:2*dim] + return [lx,ly] + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + def Ordo(self): + """Retourne la liste des ordonnées""" + return self.Valeurs()[1] + def __call__(self,val): + ### Pour EFICAS : substitution de l'instance de classe + ### parametre par sa valeur + if type(val)==types.InstanceType : val=val.valeur + ### + __ff=self.convert() + return __ff(val) +class para_sensi(fonction_sdaster): pass +class fonction_c(fonction_class): + def convert(self,arg='real'): + """ + Retourne un objet de la classe t_fonction ou t_fonction_c, + représentation python de la fonction complexe + """ + from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + if arg=='real' : + return t_fonction(self.Absc(), + self.Ordo(), + self.Parametres()) + elif arg=='imag' : + return t_fonction(self.Absc(), + self.OrdoImg(), + self.Parametres()) + elif arg=='modul' : + modul=Numeric.sqrt(Numeric.array(self.Ordo())**2+Numeric.array(self.OrdoImg())**2) + return t_fonction(self.Absc(), + modul, + self.Parametres()) + elif arg=='phase' : + phase=Numeric.arctan2(Numeric.array(self.OrdoImg()),Numeric.array(self.Ordo())) + phase=phase*180./pi + return t_fonction(self.Absc(), + phase, + self.Parametres()) + elif arg=='complex' : + return t_fonction_c(self.Absc(), + map(complex,self.Ordo(),self.OrdoImg()), + self.Parametres()) + def Valeurs(self) : + """ + Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. + """ + if self.etape.nom=='DEFI_FONCTION' : + lbl=list(self.etape['VALE_C']) + dim=len(lbl) + lx=[lbl[i] for i in range(0,dim,3)] + lr=[lbl[i] for i in range(1,dim,3)] + li=[lbl[i] for i in range(2,dim,3)] + return [lx,lr,li] + else : + vale=string.ljust(self.get_name(),19)+'.VALE' + lbl=list(aster.getvectjev(vale)) + dim=len(lbl)/3 + lx=lbl[0:dim] + lr=[] + li=[] + for i in range(dim): + lr.append(lbl[dim+2*i]) + li.append(lbl[dim+2*i+1]) + return [lx,lr,li] + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + def Ordo(self): + """Retourne la liste des parties réelles des ordonnées""" + return self.Valeurs()[1] + def OrdoImg(self): + """Retourne la liste des parties imaginaires des ordonnées""" + return self.Valeurs()[2] + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une fonction complexe""" + from Utilitai.Graph import Graph + gr=Graph() + gr.AjoutCourbe(Val=self.Valeurs(), + Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU'],'IMAG']) + gr.Trace(FORMAT=FORMAT,**kargs) + def __call__(self,val): + ### Pour EFICAS : substitution de l'instance de classe + ### parametre par sa valeur + import types + if type(val)==types.InstanceType : val=val.valeur + ### + __ff=convert(self) + return __ff(val) +class nappe_sdaster(fonction_class): + def convert(self): + """ + Retourne un objet de la classe t_nappe, représentation python de la nappe + """ + para=self.Parametres() + vale=self.Valeurs() + l_fonc=[] + i=0 + from Utilitai.t_fonction import t_fonction,t_fonction_c,t_nappe + for pf in para[1] : + para_f={'INTERPOL' : pf['INTERPOL_FONC'], + 'PROL_DROITE' : pf['PROL_DROITE_FONC'], + 'PROL_GAUCHE' : pf['PROL_GAUCHE_FONC'], + 'NOM_PARA' : para[0]['NOM_PARA_FONC'], + 'NOM_RESU' : para[0]['NOM_RESU'], + } + l_fonc.append(t_fonction(vale[1][i][0],vale[1][i][1],para_f)) + i+=1 + return t_nappe(vale[0], + l_fonc, + para[0]) + def Valeurs(self): + """ + Retourne la liste des valeurs du parametre, + et une liste de couples (abscisses,ordonnees) de chaque fonction. + """ + nsd=string.ljust(self.get_name(),19) + dicv=aster.getcolljev(nsd+'.VALE') + # les cles de dicv sont 1,...,N (indice du parametre) + lpar=aster.getvectjev(nsd+'.PARA') + lval=[] + for k in range(len(dicv)): + lbl=dicv[k+1] + dim=len(lbl)/2 + lval.append([lbl[0:dim],lbl[dim:2*dim]]) + return [list(lpar),lval] + def Parametres(self): + """ + Retourne un dictionnaire contenant les parametres de la nappe, + le type jeveux (NAPPE) n'est pas retourne, + le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, + et une liste de dictionnaire des parametres de chaque fonction. + """ + TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } + prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL') + dico={ + 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], + 'NOM_PARA' : string.strip(prol[2][0:16]), + 'NOM_RESU' : string.strip(prol[3][0:16]), + 'PROL_DROITE' : TypeProl[prol[4][1]], + 'PROL_GAUCHE' : TypeProl[prol[4][0]], + 'NOM_PARA_FONC' : string.strip(prol[5][0:4]), + } + lparf=[] + nbf=(len(prol)-6)/2 + for i in range(nbf): + dicf={ + 'INTERPOL_FONC' : [prol[6+i*2][0:3],prol[6+i*2][4:7]], + 'PROL_DROITE_FONC' : TypeProl[prol[7+i*2][1]], + 'PROL_GAUCHE_FONC' : TypeProl[prol[7+i*2][0]], + } + lparf.append(dicf) + return [dico,lparf] + def Absc(self): + """Retourne la liste des abscisses""" + return self.Valeurs()[0] + def Trace(self,FORMAT='TABLEAU',**kargs): + """Tracé d'une nappe""" + from Utilitai.Graph import Graph + gr=Graph() + lv=self.Valeurs()[1] + dp=self.Parametres()[0] + for lx,ly in lv: + gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']]) + gr.Trace(FORMAT=FORMAT,**kargs) # matr_asse : #-------------------------------- class matr_asse(ASSD):pass -class matr_asse_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 +class matr_asse_gene(matr_asse):pass + +class matr_asse_gene_r(matr_asse_gene): + def EXTR_MATR_GENE(self) : + """ retourne les valeurs de la matrice generalisee reelle + dans un format Numerical Array + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs """ + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) +# On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster") +# Si le stockage est plein + if desc[2]==2 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + valeur[j-1,i]=tmp[k] + valeur=(valeur+Numeric.transpose(valeur)) + for i in range(desc[1]): + valeur[i,i]=0.5*valeur[i,i] +# Si le stockage est diagonal + elif desc[2]==1 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float) + for i in range(desc[1]): + valeur[i,i]=tmp[i] +# Sinon on arrete tout + else: + raise KeyError + return valeur + + def RECU_MATR_GENE(self,matrice) : + """ envoie les valeurs d'un Numerical Array dans des matrices + generalisees reelles definies dans jeveux + Attributs ne retourne rien """ + from Utilitai.Utmess import UTMESS + +# avertissement generique + UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + +# On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster") + Numeric.asarray(matrice) + +# On teste si la dimension de la matrice python est 2 + if (len(Numeric.shape(matrice))<>2) : + raise Accas.AsException("La dimension de la matrice est incorrecte ") + +# On teste si les tailles des matrices jeveux et python sont identiques + if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : + raise Accas.AsException("La taille de la matrice est incorrecte ") + +# Si le stockage est plein + if desc[2]==2 : + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmp=Numeric.zeros([int(taille)],Numeric.Float) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmp[k]=matrice[j-1,i] + aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) +# Si le stockage est diagonal + elif desc[2]==1 : + tmp=Numeric.zeros(desc[1],Numeric.Float) + for j in range(desc[1]): + tmp[j]=matrice[j,j] + aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALE',len(tmp),tuple((\ + range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) +# Sinon on arrete tout + else: + raise KeyError + return + + +class matr_asse_gene_c(matr_asse_gene): + def EXTR_MATR_GENE(self) : + """ retourne les valeurs de la matrice generalisee complexe + dans un format Numerical Array + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs """ + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster ") +# Si le stockage est plein + if desc[2]==2 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + valeur[j-1,i]=tmp[k] + valeur=(valeur+Numeric.transpose(valeur)) + for i in range(desc[1]): + valeur[i,i]=0.5*valeur[i,i] +# Si le stockage est diagonal + elif desc[2]==1 : + tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALE')[1]) + valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex) + for i in range(desc[1]): + valeur[i,i]=tmp[i] +# Sinon on arrete tout + else: + raise KeyError + return valeur + + def RECU_MATR_GENE(self,matrice) : + """ envoie les valeurs d'un Numerical Array dans des matrices + generalisees reelles definies dans jeveux + Attributs ne retourne rien """ + from Utilitai.Utmess import UTMESS + +# avertissement generique + UTMESS('A','RECU_MATR_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') + + Numeric.asarray(matrice) + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) + +# On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet matrice n'existe pas ou \ + est mal cree par Code Aster") + Numeric.asarray(matrice) + +# On teste si la dimension de la matrice python est 2 + if (len(Numeric.shape(matrice))<>2) : + raise Accas.AsException("La dimension de la matrice est incorrecte ") + +# On teste si la taille de la matrice jeveux et python est identique + if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) : + raise Accas.AsException("La taille de la matrice est incorrecte ") + +# Si le stockage est plein + if desc[2]==2 : + taille=desc[1]*desc[1]/2.0+desc[1]/2.0 + tmpr=Numeric.zeros([int(taille)],Numeric.Float) + tmpc=Numeric.zeros([int(taille)],Numeric.Float) + for j in range(desc[1]+1): + for i in range(j): + k=j*(j-1)/2+i + tmpr[k]=matrice[j-1,i].real + tmpc[k]=matrice[j-1,i].imag + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) +# Si le stockage est diagonal + elif desc[2]==1 : + tmpr=Numeric.zeros(desc[1],Numeric.Float) + tmpc=Numeric.zeros(desc[1],Numeric.Float) + for j in range(desc[1]): + tmpr[j]=matrice[j,j].real + tmpc[j]=matrice[j,j].imag + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple((\ + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) +# Sinon on arrete tout + else: + raise KeyError + return + + +class matr_asse_gd(matr_asse):pass +class matr_asse_depl_c(matr_asse_gd):pass +class matr_asse_depl_r(matr_asse_gd):pass +class matr_asse_pres_c(matr_asse_gd):pass +class matr_asse_pres_r(matr_asse_gd):pass +class matr_asse_temp_c(matr_asse_gd):pass +class matr_asse_temp_r(matr_asse_gd):pass # matr_elem : #-------------------------------- @@ -267,56 +933,175 @@ class matr_elem_temp_r(matr_elem):pass -# table : (tabl_fonc) +# table : #-------------------------------- - -class table(ASSD): +class table_sdaster(ASSD): def __getitem__(self,key): - return aster.getpara(self.get_name(),"TABLE",key[0],key[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 + 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]) + exist=aster.getvectjev(tabnom[i+3]) + if key[1]>len(resu) or exist[key[1]-1]==0: + raise KeyError + else: + return resu[key[1]-1] + def EXTR_TABLE(self) : + """Produit un objet Table à partir du contenu d'une table Aster + """ + def Nonefy(l1,l2) : + if l2==0 : return None + else : return l1 + from Utilitai.Table import Table + tblp=string.ljust(self.get_name(),19)+'.TBLP' + tabnom=list(aster.getvectjev(tblp)) + nparam=len(tabnom)/4 + lparam=[tabnom[4*i:4*i+4] for i in range(nparam)] + dval={} + # liste des paramètres et des types + lpar=[] + ltyp=[] + for i in lparam : + value=list(aster.getvectjev(i[2])) + exist=aster.getvectjev(i[3]) + dval[string.strip(i[0])]=map(Nonefy,value,exist) + lpar.append(string.strip(i[0])) + ltyp.append(string.strip(i[1])) + n=len(dval[lpar[0]]) + # contenu : liste de dict + lisdic=[] + for i in range(n) : + d={} + for p in lpar : d[p]=dval[p][i] + lisdic.append(d) + # titre + titj=aster.getvectjev(self.get_name().ljust(19)+'.TITR') + if titj<>None: + titr='\n'.join(titj) + else: + titr='' + return Table(lisdic, lpar, ltyp, titr) + +class table_jeveux(table_sdaster): + """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée, + c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" + def __init__(self,nom_jeveux): + self.nom=nom_jeveux + +class tabl_aire_int (table_sdaster):pass +class tabl_calc_g_loca(table_sdaster):pass +class tabl_calc_g_th (table_sdaster):pass +class tabl_cara_geom (table_sdaster):pass +class tabl_char_limite(table_sdaster):pass +class tabl_ener_elas (table_sdaster):pass +class tabl_ener_pot (table_sdaster):pass +class tabl_ener_cin (table_sdaster):pass +class tabl_trav_ext (table_sdaster):pass +class tabl_ener_totale(table_sdaster):pass +class tabl_indic_ener (table_sdaster):pass +class tabl_indic_seuil(table_sdaster):pass +class tabl_intsp (table_sdaster):pass +class tabl_mass_iner (table_sdaster):pass +class tabl_post_alea (table_sdaster):pass +class tabl_post_beta (table_sdaster):pass +class tabl_post_dyna (table_sdaster):pass +class tabl_post_f_alea(table_sdaster):pass +class tabl_post_fatig (table_sdaster):pass +class tabl_post_gouj2e(table_sdaster):pass +class tabl_post_k (table_sdaster):pass +class tabl_post_rccm (table_sdaster):pass +class tabl_post_rele (table_sdaster):pass +class tabl_post_simpli(table_sdaster):pass +class tabl_post_usur (table_sdaster):pass +class tabl_reca_weib (table_sdaster):pass +class tabl_rice_tracey(table_sdaster):pass +class tabl_texture (table_sdaster):pass +class tabl_trc (table_sdaster):pass +class tabl_weibull (table_sdaster):pass # vect_asse : #-------------------------------- class vect_asse(ASSD):pass class vect_asse_gene(vect_asse):pass +class vect_asse_gene_r(vect_asse_gene): + def EXTR_VECT_GENE(self) : + """ retourne les valeurs du vecteur generalisee + dans un format Numerical Array + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs """ + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + valeur=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) + + return valeur + + def RECU_VECT_GENE(self,vecteur) : + """ envoie les valeurs d'un Numerical Array dans un vecteur generalise + reel definie dans jeveux + Attributs ne retourne rien """ + from Utilitai.Utmess import UTMESS + +# avertissement generique + UTMESS('A','RECU_VECT_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') + + Numeric.asarray(vecteur) + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) +# On teste si le DESC du vecteur existe + if (desc==None): + raise Accas.AsException("L'objet vecteur n'existe pas ou \ + est mal cree par Code Aster") +# On teste si la taille du vecteur jeveux et python est identique + if desc[1]<>Numeric.shape(vecteur)[0] : + raise Accas.AsException("La taille du vecteur python est incorrecte") + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(vecteur),tuple((\ + range(1,len(vecteur)+1))),tuple(vecteur),tuple(vecteur),1) + return + + +class vect_asse_gene_c(vect_asse_gene): + def EXTR_VECT_GENE(self) : + """ retourne les valeurs du vecteur generalisee + dans un format Numerical Array + Attributs retourne + - self.valeurs : Numeric.array contenant les valeurs """ + + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + valeur=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'),Numeric.Complex) + + return valeur + + def RECU_VECT_GENE(self,vecteur) : + """ envoie les valeurs d'un Numerical Array dans un vecteur generalise + complexe definie dans jeveux + Attributs ne retourne rien """ + from Utilitai.Utmess import UTMESS + +# avertissement generique + UTMESS('A','RECU_VECT_GENE',' ATTENTION, VOUS ALLEZ ECRASER DES CONCEPTS EXISTANTS') + + Numeric.asarray(vecteur) + ncham=self.get_name() + ncham=ncham+(8-len(ncham))*' ' + desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) +# On teste si le DESC de la matrice existe + if (desc==None): + raise Accas.AsException("L'objet vecteur n'existe pas ou \ + est mal cree par Code Aster") +# On teste si la taille de la matrice jeveux et python est identique + if desc[1]<>Numeric.shape(vecteur)[0] : + raise Accas.AsException("La taille du vecteur python est incorrecte") + tmpr=vecteur.real + tmpc=vecteur.imag + aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple(( + range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) + return # vect_elem : @@ -327,407 +1112,581 @@ 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 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 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'), - UN_PARMI('A','SECTION') ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - N_INIT =SIMP(statut='f',typ='R',defaut= 5000. ), - A =SIMP(statut='f',typ='R' ), - 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 +#& MODIF COMMUN DATE 26/04/2005 AUTEUR LAVERNE J.LAVERNE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -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'),), +def C_COMP_INCR() : return FACT(statut='f',min=1,max='**', #COMMUN# + RELATION =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC", + into=( "ELAS", + "VMIS_ISOT_TRAC", + "VISC_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VISC_ISOT_LINE", + "VMIS_ECMI_TRAC", + "VMIS_ECMI_LINE", + "LABORD_1D", + "ENDO_FRAGILE", + "ENDO_ISOT_BETON", + "ENDO_ORTH_BETON", + "BETON_REGLE_PR", + "MAZARS", + "JOINT_BA", + "RUPT_FRAG", + "CZM_EXP_REG", + "CZM_EXP", + "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", + "LMARC_IRRA", + "ROUSSELIER", + "ROUSS_PR", + "ROUSS_VISC", + "VMIS_POU_LINE", + "VMIS_POU_FLEJOU", + "ARME", + "ASSE_CORN", + "NORTON_HOFF", + "LEMAITRE", + "LEMAITRE_IRRA", + "LEMA_SEUIL", + "ZIRC_CYRA2", + "VISC_IRRA_LOG", + "GRAN_IRRA_LOG", + "ZIRC_EPRI", + "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", + "BARCELONE", + "LAIGLE", + "DRUCKER_PRAGER", + "OHNO", + "GRANGER_FP", + "GRANGER_FP_INDT", + "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", + "GLRC", + "SANS", + "CORR_ACIER", + "MONOCRISTAL", + "POLYCRISTAL", + "ZMAT", + "GATT_MONERIE", + ) ), + ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + SANS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + CORR_ACIER =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VISC_ISOT_TRAC =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + VMIS_ISOT_LINE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VISC_ISOT_LINE =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + VMIS_ECMI_TRAC =SIMP(statut='c',typ='I',defaut=8,into=(8,)), + VMIS_ECMI_LINE =SIMP(statut='c',typ='I',defaut=8,into=(8,)), + LABORD_1D =SIMP(statut='c',typ='I',defaut=5,into=(5,)), + ENDO_FRAGILE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)), + BETON_REGLE_PR =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + MAZARS =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + JOINT_BA =SIMP(statut='c',typ='I',defaut=6,into=(6,)), + RUPT_FRAG =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + CZM_EXP_REG =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + CZM_EXP =SIMP(statut='c',typ='I',defaut=7,into=(7,)), + 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,)), + LMARC_IRRA =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,)), + 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,)), + LEMA_SEUIL =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LEMAITRE_IRRA =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ZIRC_CYRA2 =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + ZIRC_EPRI =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + VISC_IRRA_LOG =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + GRAN_IRRA_LOG =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + 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,)), + BARCELONE =SIMP(statut='c',typ='I',defaut=5,into=(5,)), + LAIGLE =SIMP(statut='c',typ='I',defaut=4,into=(4,)), + DRUCKER_PRAGER =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + OHNO =SIMP(statut='c',typ='I',defaut=32,into=(32,)), + GRANGER_FP =SIMP(statut='c',typ='I',defaut=55,into=(55,)), + GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)), + GRANGER_FP_V =SIMP(statut='c',typ='I',defaut=55,into=(55,)), + 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=21,into=(21,)), + GLRC =SIMP(statut='c',typ='I',defaut=7,into=(7,)), + GATT_MONERIE =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + + b_monox = BLOC(condition = "RELATION == 'MONOCRISTAL' ", + fr="SD issue de DEFI_COMPOR", + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), +# + b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ", + fr="SD issue de DEFI_COMPOR", + COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), +# + b_zmat = BLOC(condition = "RELATION == 'ZMAT' ", + fr="Comportement de la bibliotheque Zmat", + NB_VARI =SIMP(statut='o',typ='I',max=1), + UNITE =SIMP(statut='o',typ='I',max=1),), + + + + RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), + into=( +# MECA + "ELAS", + "CJS", + "CAM_CLAY", + "BARCELONE", + "LAIGLE", + "DRUCKER_PRAGER", + "ELAS_THM", + "SURF_ETAT_NSAT", + "SURF_ETAT_SATU", + "CAM_CLAY_THM", + "MAZARS", + "ENDO_ISOT_BETON", +# THMC + "GAZ", + "LIQU_SATU", + "LIQU_SATU_GAT", + "LIQU_GAZ_ATM", + "LIQU_VAPE_GAZ", + "LIQU_AD_GAZ_VAPE", + "LIQU_VAPE", + "LIQU_NSAT_GAT", + "LIQU_GAZ", +# HYDR + "HYDR_UTIL", + "HYDR", + "HYDR_ENDO", +# MECA_META + "ACIER", + "ZIRC", +# MECA KIT_DDI + "VMIS_ISOT_TRAC", + "VMIS_ISOT_LINE", + "VMIS_ISOT_CINE", + "GRANGER_FP", + "GRANGER_FP_INDT", + "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=1,into=(1,)), + LIQU_SATU_GAT =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LIQU_GAZ_ATM =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + LIQU_VAPE_GAZ =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_VAPE =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_NSAT_GAT =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + LIQU_GAZ =SIMP(statut='c',typ='I',defaut=2,into=(2,)), + HYDR_UTIL =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + HYDR =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + HYDR_ENDO =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + 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",)), + ALGO_1D =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)), + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,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 + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ) ; +#& MODIF COMMUN DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # 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 +# ce fichier contient la liste des "into" possibles pour le mot cle NOM_CHAM +# c'est a dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD) +def C_NOM_CHAM_INTO() : return ("ACCE", #COMMUN# + "ACCE_ABSOLU", + "ALPH0_ELGA_EPSP", + "ALPHP_ELGA_ALPH0", + "COMPORTEMENT", + "COMPORTHER", + "CRIT_ELNO_RUPT", + "DCHA_ELGA_SIGM", + "DCHA_ELNO_SIGM", + "DCHA_NOEU_SIGM", + "DEDE_ELNO_DLDE", + "DEDE_NOEU_DLDE", + "DEGE_ELNO_DEPL", + "DEGE_NOEU_DEPL", + "DEPL", + "DEPL_ABSOLU", + "DESI_ELNO_DLSI", + "DESI_NOEU_DLSI", + "DETE_ELNO_DLTE", + "DETE_NOEU_DLTE", + "DURT_ELGA_META", + "DURT_ELNO_META", + "DURT_NOEU_META", + "ECIN_ELEM_DEPL", + "EFGE_ELNO_CART", + "EFGE_ELNO_DEPL", + "EFGE_NOEU_CART", + "EFGE_NOEU_DEPL", + "ENDO_ELGA", + "ENDO_ELNO_ELGA", + "ENDO_ELNO_SIGA", + "ENDO_ELNO_SINO", + "ENDO_NOEU_SINO", + "ENEL_ELGA", + "ENEL_ELNO_ELGA", + "ENEL_NOEU_ELGA", + "EPEQ_ELNO_TUYO", + "EPGR_ELGA", + "EPGR_ELNO", + "EPME_ELGA_DEPL", + "EPME_ELNO_DEPL", + "EPMG_ELGA_DEPL", + "EPMG_ELNO_DEPL", + "EPMG_NOEU_DEPL", + "EPOT_ELEM_DEPL", + "EPSA_ELNO", + "EPSA_NOEU", + "EPSG_ELGA_DEPL", + "EPSG_ELNO_DEPL", + "EPSG_NOEU_DEPL", + "EPSI_ELGA_DEPL", + "EPSI_ELNO_DEPL", + "EPSI_ELNO_TUYO", + "EPSI_NOEU_DEPL", + "EPSP_ELGA", + "EPSP_ELNO", + "EPSP_ELNO_ZAC", + "EPSP_NOEU", + "EPSP_NOEU_ZAC", + "EQUI_ELGA_EPME", + "EQUI_ELGA_EPSI", + "EQUI_ELGA_SIGM", + "EQUI_ELNO_EPME", + "EQUI_ELNO_EPSI", + "EQUI_ELNO_SIGM", + "EQUI_NOEU_EPME", + "EQUI_NOEU_EPSI", + "EQUI_NOEU_SIGM", + "ERRE_ELEM_NOZ1", + "ERRE_ELEM_NOZ2", + "ERRE_ELGA_NORE", + "ERRE_ELNO_ELGA", + "ERRE_NOEU_ELGA", + "ERTH_ELEM_TEMP", + "ERTH_ELNO_ELEM", + "ETOT_ELEM", + "ETOT_ELGA", + "ETOT_ELNO_ELGA", + "EXTR_ELGA_VARI", + "EXTR_ELNO_VARI", + "EXTR_NOEU_VARI", + "FLUX_ELGA_TEMP", + "FLUX_ELNO_TEMP", + "FLUX_NOEU_TEMP", + "FORC_NODA", + "FSUR_2D", + "FSUR_3D", + "FVOL_2D", + "FVOL_3D", + "GRAD_NOEU_THETA", + "HYDR_ELGA", + "HYDR_ELNO_ELGA", + "HYDR_NOEU_ELGA", + "INDI_LOCA_ELGA", + "INTE_ELNO_ACTI", + "INTE_ELNO_REAC", + "INTE_NOEU_ACTI", + "INTE_NOEU_REAC", + "IRRA", + "LANL_ELGA", + "META_ELGA_TEMP", + "META_ELNO_TEMP", + "META_NOEU_TEMP", + "MODE_FLAMB", + "PMPB_ELGA_SIEF", + "PMPB_ELNO_SIEF", + "PMPB_NOEU_SIEF", + "PRES", + "PRES_DBEL_DEPL", + "PRES_ELNO_DBEL", + "PRES_ELNO_IMAG", + "PRES_ELNO_REEL", + "PRES_NOEU_DBEL", + "PRES_NOEU_IMAG", + "PRES_NOEU_REEL", + "RADI_ELGA_SIGM", + "RADI_ELNO_SIGM", + "RADI_NOEU_SIGM", + "REAC_NODA", + "SIEF_ELGA", + "SIEF_ELGA_DEPL", + "SIEF_ELNO", + "SIEF_ELNO_ELGA", + "SIEF_NOEU", + "SIEF_NOEU_ELGA", + "SIEQ_ELNO_TUYO", + "SIGM_ELNO_CART", + "SIGM_ELNO_COQU", + "SIGM_ELNO_DEPL", + "SIGM_ELNO_SIEF", + "SIGM_ELNO_TUYO", + "SIGM_ELNO_ZAC", + "SIGM_NOEU_CART", + "SIGM_NOEU_COQU", + "SIGM_NOEU_DEPL", + "SIGM_NOEU_SIEF", + "SIGM_NOEU_ZAC", + "SIGM_NOZ1_ELGA", + "SIGM_NOZ2_ELGA", + "SIPO_ELNO_DEPL", + "SIPO_ELNO_SIEF", + "SIPO_NOEU_DEPL", + "SIPO_NOEU_SIEF", + "SIRE_ELNO_DEPL", + "SIRE_NOEU_DEPL", + "SOUR_ELGA_ELEC", + "TEMP", + "THETA", + "VALE_CONT", + "VALE_NCOU_MAXI", + "VARI_ELGA", + "VARI_ELGA_ZAC", + "VARI_ELNO", + "VARI_ELNO_COQU", + "VARI_ELNO_ELGA", + "VARI_ELNO_TUYO", + "VARI_NOEU", + "VARI_NOEU_ELGA", + "VARI_NON_LOCAL", + "VITE", + "VITE_ABSOLU", + "VITE_VENT", + ) +#& MODIF COMMUN DATE 16/06/2004 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes +def C_PARA_FONCTION() : return ( #COMMUN# + "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC", + "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP", + "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT", + "PGAZ","PCAP","VITE","ENDO","NORM","EPAIS",) +#& MODIF COMMUN DATE 03/11/2004 AUTEUR CIBHHPD L.SALMONA +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# +# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM +# c'est a dire les noms des types de champ des SD RESULTAT (DATA de la routine RSCRSD) +def C_TYPE_CHAM_INTO() : return ("ACCE", #COMMUN# + "CART_CORR_R", + "NOEU_DBEL_R", "ELEM_DBEL_R", "ELNO_DBEL_R", "ELGA_DBEL_R", + "NOEU_DEPL_C", "ELEM_DEPL_C", "ELNO_DEPL_C", "ELGA_DEPL_C", + "CART_DEPL_F", "NOEU_DEPL_F", "ELEM_DEPL_F", "ELNO_DEPL_F", "ELGA_DEPL_F", + "CART_DEPL_R", "NOEU_DEPL_R", "ELEM_DEPL_R", "ELNO_DEPL_R", "ELGA_DEPL_R", + "NOEU_DURT_R", "ELEM_DURT_R", "ELNO_DURT_R", "ELGA_DURT_R", + "CART_ENER_R", "NOEU_ENER_R", "ELEM_ENER_R", "ELNO_ENER_R", "ELGA_ENER_R", + "NOEU_EPSI_R", "ELEM_EPSI_R", "ELNO_EPSI_R", "ELGA_EPSI_R", + "NOEU_ERREUR", "ELEM_ERREUR", "ELNO_ERREUR", "ELGA_ERREUR", + "NOEU_FLUX_R", "ELEM_FLUX_R", "ELNO_FLUX_R", "ELGA_FLUX_R", + "CART_GEOM_R", "NOEU_GEOM_R", "ELEM_GEOM_R", "ELNO_GEOM_R", "ELGA_GEOM_R", + "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R","ELGA_G_DEPL_R", + "NOEU_HYDR_R", "ELEM_HYDR_R", "ELNO_HYDR_R", "ELGA_HYDR_R", + "NOEU_INST_R", "ELEM_INST_R", "ELNO_INST_R", "ELGA_INST_R", + "NOEU_INTE_R", "ELEM_INTE_R", "ELNO_INTE_R", "ELGA_INTE_R", + "CART_IRRA_R", "NOEU_IRRA_R", "ELEM_IRRA_R", "ELNO_IRRA_R", "ELGA_IRRA_R", + "NOEU_META_R", "ELEM_META_R", "ELNO_META_R", "ELGA_META_R", + "NOEU_NEUT_F", "ELEM_NEUT_F", "ELNO_NEUT_F", "ELGA_NEUT_F", + "CART_NEUT_R", "NOEU_NEUT_R", "ELEM_NEUT_R", "ELNO_NEUT_R", "ELGA_NEUT_R", + "NOEU_PRES_R", "ELEM_PRES_R", "ELNO_PRES_R", "ELGA_PRES_R", + "CART_SIEF_R", "NOEU_SIEF_R", "ELEM_SIEF_R", "ELNO_SIEF_R", "ELGA_SIEF_R", + "NOEU_SOUR_R", "ELEM_SOUR_R", "ELNO_SOUR_R", "ELGA_SOUR_R", + "CART_TEMP_F", "NOEU_TEMP_F", "ELEM_SPMA_R", "ELNO_TEMP_F", "ELGA_TEMP_F", + "CART_TEMP_R", "NOEU_TEMP_R", "ELEM_TEMP_F", "ELNO_TEMP_R", "ELGA_TEMP_R", + "CART_VAR2_R", "NOEU_VAR2_R", "ELEM_TEMP_R", "ELNO_VARI_R", "ELGA_VARI_R", + "NOEU_VNOR_C", "ELEM_VARI_R", "ELNO_VNOR_C", "ELGA_VNOR_C", + "ELEM_VNOR_C", + ) +#& MODIF COMMANDE DATE 09/05/2005 AUTEUR MJBHHPE J.L.FLEJOU # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -745,48 +1704,419 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -def 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', +# RESPONSABLE MJBHHPE J.L.FLEJOU +AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, + fr="Affectation de caractéristiques à des éléments de structure", + reentrant='n', UIinfo={"groupes":("Modélisation",)}, - regles=(AU_MOINS_UN('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 ), + regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', + 'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE','RIGI_PARASOL'),), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), + VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ), + +#============================================================================ + POUTRE =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SECTION =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ), + PREC_AIRE =SIMP(statut='f',typ='R',defaut=0.01), + PREC_INERTIE =SIMP(statut='f',typ='R',defaut=0.1), + b_generale =BLOC( condition = "SECTION=='GENERALE'", + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15, + fr="A,IY,IZ,JX sont des paramètres obligatoires", + into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", + "JG","IYR2","IZR2","AI") ), + VALE =SIMP(statut='o',typ='R',min=4 ,max=15), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30, + fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires", + into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", + "RZ1","RT1","JG1","IYR21","IZR21","AI1", + "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", + "RZ2","RT2","JG2","IYR22","IZR22","AI2") ), + VALE =SIMP(statut='o',typ='R',min=8 ,max=30), + ), + ), + b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4, + into=("H","EP", "HY","HZ","EPY","EPZ") ), + VALE =SIMP(statut='o',typ='R',min=1 ,max=4), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8, + into=("H1","HZ1","HY1","EP1","EPY1","EPZ1", + "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), + VALE =SIMP(statut='o',typ='R',min=2 ,max=8), + ), + b_affine =BLOC( condition = "VARI_SECT=='AFFINE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6, + into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ), + VALE =SIMP(statut='o',typ='R',min=3 ,max=6), + ), + ), + b_cercle =BLOC( condition = "SECTION=='CERCLE'", + VARI_SECT =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"), + b_constant =BLOC( condition = "VARI_SECT=='CONSTANT'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2, + fr="R est un paramètre obligatoire", + into=("R","EP") ), + VALE =SIMP(statut='o',typ='R',min=1 ,max=2), + ), + b_homothetique =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4, + fr="R1, R2 sont des paramètres obligatoires", + into=("R1","R2","EP1","EP2") ), + VALE =SIMP(statut='o',typ='R',min=2 ,max=4), + ), + MODI_METRIQUE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TUYAU_NSEC =SIMP(statut='f',typ='I',val_max=32,defaut=16), + TUYAU_NCOU =SIMP(statut='f',typ='I',val_max=10,defaut=3), + ), ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; -#& MODIF COMMANDE DATE 22/10/2002 AUTEUR MCOURTOI M.COURTOIS + +#============================================================================ + BARRE =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SECTION =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), + b_generale =BLOC( condition = "SECTION=='GENERALE'", + CARA =SIMP(statut='o',typ='TXM',into=("A",) ), + VALE =SIMP(statut='o',typ='R',min=1,max=1 ), + ), + b_rectangle =BLOC( condition = "SECTION=='RECTANGLE'", + CARA =SIMP(statut='o',typ='TXM',into=("H","EP", + "HZ","HY","EPY","EPZ"), + validators=NoRepeat(),min=1,max=4 ), + VALE =SIMP(statut='o',typ='R',min=1,max=4 ), + ), + b_cercle =BLOC( condition = "SECTION=='CERCLE'", + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ), + VALE =SIMP(statut='o',typ='R',min=1,max=2 ), + ), + FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + +#============================================================================ + COQUE =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA' ), + PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + N_INIT =SIMP(statut='f',typ='R',defaut= 5000. ), + SECTION =SIMP(statut='f',typ='R' ), + FCX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + +#============================================================================ + DISCRET =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST =SIMP(statut='f',typ='R' ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L", + "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N","M_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") ), + +# affection des caractéristiques de RIGIDITE/AMORTISSEMENT + b_K_T_D_N =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_D_L =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_T_N =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_K_T_L =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_K_TR_N =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_K_TR_L =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')", + VALE =SIMP(statut='o',typ='R',min=78,max=78),), + +# affection des caractéristiques de MASSE + b_M_T_D_N =BLOC(condition = "CARA=='M_T_D_N'", + fr="NOEUD: 1 valeur de masse", + VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'", + fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_M_T_N =BLOC(condition = "CARA=='M_T_N'", + fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_M_T_L =BLOC(condition = "CARA=='M_T_L'", + fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_M_TR_N =BLOC(condition = "CARA=='M_TR_N'", + fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + b_M_TR_L =BLOC(condition = "CARA=='M_TR_L'", + fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=78,max=78),), + ), + +#============================================================================ + DISCRET_2D =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + AMOR_HYST =SIMP(statut='f',typ='R' ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, + fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", + into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L", + "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", + "M_T_D_N","M_T_N", "M_TR_D_N", + "M_T_L", "M_TR_N", "M_TR_L", + "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L", + "A_T_N", "A_T_L", "A_TR_N", "A_TR_L") ), + +# affection des caractéristiques de RIGIDITE/AMORTISSEMENT + b_K_T_D_N =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')", + VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_K_T_D_L =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')", + VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),), + b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_N =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_K_T_L =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_K_TR_N =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6),), + b_K_TR_L =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + +# affection des caractéristiques de MASSE + b_M_T_D_N =BLOC(condition = "CARA=='M_T_D_N'", + fr="NOEUD: 1 valeur de masse", + VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),), + b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'", + fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ", + VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),), + b_M_T_N =BLOC(condition = "CARA=='M_T_N'", + fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),), + b_M_T_L =BLOC(condition = "CARA=='M_T_L'", + fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=10,max=10),), + b_M_TR_N =BLOC(condition = "CARA=='M_TR_N'", + fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),), + b_M_TR_L =BLOC(condition = "CARA=='M_TR_L'", + fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)", + VALE =SIMP(statut='o',typ='R',min=21,max=21),), + ), + +#============================================================================ + ORIENTATION =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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',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 ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + ORIE_ARC =SIMP(statut='f',typ='R'), + CENTRE =SIMP(statut='f',typ='R',max='**'), + NOEUD_CENTRE =SIMP(statut='f',typ=no), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), + POIN_TANG =SIMP(statut='f',typ='R',max='**'), + NOEUD_POIN_TANG =SIMP(statut='f',typ=no), + GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno), + 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',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 ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + 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',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + EXCLUS('ANGL_REP','ORIG_AXE'), + ENSEMBLE('ORIG_AXE','AXE')), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + SECTION =SIMP(statut='o',typ='R'), + ANGL_REP =SIMP(statut='f',typ='R',max=2), + 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,), + ), + +#============================================================================ + RIGI_PARASOL =FACT(statut='f',max='**', + regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'), + UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), + EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),), + GROUP_MA =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**', + fr="Surface servant à répartir les caractéristiques des discrets"), + GROUP_MA_POI1 =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1, + fr="Mailles de type point correspondant aux discrets"), + GROUP_MA_SEG2 =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1, + fr="Mailles de type seg2 correspondant aux discrets"), + FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_GROUP =SIMP(statut='f',typ='R',max='**'), + REPERE =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2, + into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", + "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L") ), + 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',min=2,max=3), + ), + +#============================================================================ + RIGI_MISS_3D =FACT(statut='f',max='**', + GROUP_MA_POI1 =SIMP(statut='o',typ=ma,max=1), + GROUP_MA_SEG2 =SIMP(statut='f',typ=ma,max=1), + FREQ_EXTR =SIMP(statut='o',typ='R',max=1), + UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), + ), + +#============================================================================ + ASSE_GRIL =FACT(statut='f',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'),), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + CARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ), + VALE =SIMP(statut='o',typ='R',max='**'), + PAS_T =SIMP(statut='o',typ='R'), + PAS_N =SIMP(statut='o',typ='R'), + ANGL_REP =SIMP(statut='o',typ='R',max='**'), + COEF_ECHELLE =SIMP(statut='o',typ='R'), + ), + + +#============================================================================ + AFFE_SECT =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), + 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,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA_SECT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_SECT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + MAILLAGE_SECT =SIMP(statut='o',typ=maillage_sdaster), + COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), + ), + + +#============================================================================ + AFFE_FIBRE =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + + NOM =SIMP(statut='f',typ='TXM'), + + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -804,25 +2134,224 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_pr # 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 +AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, + fr="Affectation de charges et conditions aux limites acoustiques constantes", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + PRES_IMPO =FACT(statut='f',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,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + VITE_FACE =FACT(statut='f',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,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VNOR =SIMP(statut='o',typ='C' ), + ), + IMPE_FACE =FACT(statut='f',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,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + IMPE =SIMP(statut='o',typ='C' ), + ), + LIAISON_UNIF =FACT(statut='f',max='**', + regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='o',typ='TXM',max='**'), + ), +) ; +#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE VABHHTS J.PELLET +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", + 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_sdaster ), + MECA_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), + GRX =SIMP(statut='f',typ='R' ), + PRES =SIMP(statut='f',typ='R' ), + TEMP =SIMP(statut='f',typ='R' ), + PHI =SIMP(statut='f',typ='R' ), + ), + THER_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + 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',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,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ='C' ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +#fon +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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", + 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_sdaster ), + MECA_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + THER_IMPO =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), + AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 08/03/2005 AUTEUR LAMARCHE S.LAMARCHE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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-g2",reentrant='n', + 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'), - EXCLUS('PRES_CALCULEE','EVOL_CHAR'),), + regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','CHAMNO_IMPO','LIAISON_DDL','LIAISON_XFEM','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','LIAISON_CYCL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE', + 'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE'), + EXCLUS('PRES_CALCULEE','EVOL_CHAR'),), VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - MODELE =SIMP(statut='o',typ=(modele) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), TEMP_CALCULEE =SIMP(statut='f',fr="Champ de température issu d'un autre calcul", typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ), HYDR_CALCULEE =SIMP(statut='f',fr="Champ d hydratation issu d'un autre calcul", @@ -836,24 +2365,25 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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), + 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),), + CENTRE =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),), - DDL_IMPO =FACT(statut='f',min=1,max='**', + DDL_IMPO =FACT(statut='f',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'),), + 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON'),), 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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), DX =SIMP(statut='f',typ='R' ), DY =SIMP(statut='f',typ='R' ), DZ =SIMP(statut='f',typ='R' ), @@ -903,8 +2433,30 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca ), - - FACE_IMPO =FACT(statut='f',min=1,max='**', + + DDL_POUTRE =FACT(statut='f',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,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ='R' ), + DY =SIMP(statut='f',typ='R' ), + DZ =SIMP(statut='f',typ='R' ), + DRX =SIMP(statut='f',typ='R' ), + DRY =SIMP(statut='f',typ='R' ), + DRZ =SIMP(statut='f',typ='R' ), +# définition du repère local + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + ANGL_VRIL =SIMP(statut='f',typ='R',), +# restriction sur les mailles servant à définir le repère local + GROUP_MA =SIMP(statut='f',typ=grma,), + MAILLE =SIMP(statut='f',typ=ma,), + ), + + + + FACE_IMPO =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_MA','MAILLE',), AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', 'TEMP','PRE1','PRE2','DNOR','DTAN'), @@ -920,9 +2472,9 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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='**'), +# rajout d'un mot clé REPERE :/ LOCAL /GLOBAL + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), DX =SIMP(statut='f',typ='R' ), DY =SIMP(statut='f',typ='R' ), DZ =SIMP(statut='f',typ='R' ), @@ -939,22 +2491,31 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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='**', + CHAMNO_IMPO =FACT(statut='f',max='**', + fr="imposer des ddls aux valeurs d'un concept cham_no_sdaster", +# type de cham_no_sdaster CO() + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() + COEF_MULT =SIMP(statut='o',typ='R' ), + NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), + ), + + + LIAISON_DDL =FACT(statut='f',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='**'), + 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_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='**', + LIAISON_OBLIQUE =FACT(statut='f',max='**', + fr="Appliquer à des noeuds une valeur de déplacement dans un repere oblique", 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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ANGL_NAUT =SIMP(statut='o',typ='R',max=3), DX =SIMP(statut='f',typ='R' ), DY =SIMP(statut='f',typ='R' ), @@ -962,14 +2523,14 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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'), + ), + + LIAISON_GROUP =FACT(statut='f',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_MA_1','NOEUD_2'), EXCLUS('GROUP_NO_1','GROUP_MA_2'), EXCLUS('GROUP_NO_1','MAILLE_2'), EXCLUS('MAILLE_1','GROUP_NO_2'), @@ -977,22 +2538,22 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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='**'), + + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), DDL_1 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_1 =SIMP(statut='o',typ='R',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_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), @@ -1000,161 +2561,279 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca CENTRE =SIMP(statut='f',typ='R',max=3), ), - LIAISON_MAIL =FACT(statut='f',min=1,max='**', + LIAISON_MAIL =FACT(statut='f',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='**'), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),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",) ), + ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), - - LIAISON_SOLIDE =FACT(statut='f',fr="Modéliser une partie indéformable d'une structure",min=1,max='**', + LIAISON_CYCL =FACT(statut='f',max='**', + regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'), + AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), + PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'), + ), + GROUP_MA_MAIT1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_MAIT2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),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 ), + COEF_MAIT1 =SIMP(statut='f',typ='R',max=1 ), + COEF_MAIT2 =SIMP(statut='f',typ='R',max=1 ), + COEF_ESCL =SIMP(statut='f',typ='R',max=1 ), + 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",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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), 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='**', + LIAISON_ELEM =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque",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='**'), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), 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='**', + LIAISON_UNIF =FACT(statut='f',max='**', + fr="Imposer une meme valeur (inconnue) à des ddls d'un emsemble de noeuds", 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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), 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() + LIAISON_CHAMNO =FACT(statut='f',max='**', + fr="définir une relation linéaire entre tous les ddls d'un concept cham_no_sdaster", +# type de cham_no_sdaster CO() + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() COEF_IMPO =SIMP(statut='o',typ='R' ), NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), + ), + + LIAISON_XFEM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), - CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",min=1,max='**', - regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'),), + CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**', + regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), - 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='**'), + into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), + RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN", + into=("NOEUD_BOUCLE","NOEUD_VOISIN")), + LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", + into=("MAIT","MAIT_ESCL")), + METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", + into=("VERIF","CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ), + PROJECTION =SIMP(statut='f',typ='TXM',defaut="LINEAIRE", + into=("LINEAIRE","QUADRATIQUE") ), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + b_verif =BLOC(condition = "METHODE == 'VERIF' ", + fr="Paramètres de la méthode sans calcul de contact", + STOP_INTERP =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + TOLE_INTERP =SIMP(statut='f',typ='R',defaut = 0.), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + ), + 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")), + regles=(EXCLUS('DIST_ESCL','COEF_IMPO'), + EXCLUS('DIST_MAIT','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","PRES","TEMP","PRE1","PRE2")), + GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ", + ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), + ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", + fr="Paramètre de la réactualisation géométrique", + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", fr="Paramètre de la réactualisation géométrique", - NB_REAC_GEOM =SIMP(statut='o',typ='I'),), - SANS_NOEUD =SIMP(statut='f',typ=no,max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("OUI","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), COEF_IMPO =SIMP(statut='f',typ='R'), - COEF_MULT_2 =SIMP(statut='f',typ='R'), - VECT_NORM_2 =SIMP(statut='f',typ='R',max=3), + COEF_MULT_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), - 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")),), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), + + ), 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'), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + ITER_MULT_MAXI =SIMP(statut='f',typ='I' ,defaut=4), + + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), 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), + COULOMB =SIMP(statut='o',typ='R',), + 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'), + E_N =SIMP(statut='f',typ='R'), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + ITER_MULT_MAXI =SIMP(statut='f',typ='I',defaut=4), + + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), 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), + COULOMB =SIMP(statut='o',typ='R',), 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), + 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",) ), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), INTEGRATION =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")), COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), + FORMULATION =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), 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), + CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", - COULOMB =SIMP(statut='o',typ='R',max=1), + COULOMB =SIMP(statut='o',typ='R',), ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - SEUIL_INIT =SIMP(statut='f',typ='I',defaut=0),),), - ), - - FORCE_NODALE =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",min=1,max='**', + SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),),), + ), + + FORCE_NODALE =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), FX =SIMP(statut='f',typ='R' ), FY =SIMP(statut='f',typ='R' ), FZ =SIMP(statut='f',typ='R' ), @@ -1164,87 +2843,87 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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='**', + FORCE_FACE =FACT(statut='f',max='**', + fr="Appliquer des forces surfaciques sur une face d'éléments volumiques", 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + FORCE_ARETE =FACT(statut='f',max='**', + fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque", regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + ), + + FORCE_CONTOUR =FACT(statut='f',max='**', + fr="Appliquer des forces linéiques au bord d'un domaine 2D ou AXIS_FOURIER", regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + FORCE_INTERNE =FACT(statut='f',max='**', + fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique", regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ' ),), 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 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + PRES_REP =FACT(statut='f',max='**', + fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D", 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",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='**'), + GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + EPSI_INIT =FACT(statut='f',max='**', + fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D", 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), EPXX =SIMP(statut='f',typ='R' ), EPYY =SIMP(statut='f',typ='R' ), EPZZ =SIMP(statut='f',typ='R' ), @@ -1261,55 +2940,58 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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='**', + GROUP_MA_COLL =SIMP(statut='f',typ=grma,max='**'), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + COND_LIM =SIMP(statut='f',typ=char_meca ), + COLLAGE =SIMP(statut='f',typ='TXM',defaut="GROSSIER",into=("GROSSIER","FIN","GROUP_MA_1","GROUP_MA_2"),), + regles =(UN_PARMI('POIDS_1','POIDS_2','POIDS_GROSSIER','POIDS_FIN',),), + POIDS_1 =SIMP(statut='f',typ='R'), + POIDS_2 =SIMP(statut='f',typ='R'), + POIDS_GROSSIER =SIMP(statut='f',typ='R'), + POIDS_FIN =SIMP(statut='f',typ='R'),), + + FORCE_POUTRE =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",max='**', 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('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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ), -# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL +# 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='**', + + FORCE_TUYAU =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), PRES =SIMP(statut='f',typ='R' ), ), - - FORCE_COQUE =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",min=1,max='**', + + FORCE_COQUE =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",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'), + 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'), @@ -1322,129 +3004,209 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca 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 +# 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='**'), - + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**'), + GRAPPE_FLUIDE =FACT(statut='f',max='**', + regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'), + EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'), + PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'), + PRESENT_PRESENT('CARA_GRAPPE','VALE_GRAPPE'), + PRESENT_PRESENT('CARA_COMMANDE','VALE_COMMANDE'), + PRESENT_PRESENT('CARA_MANCHETTE','VALE_MANCHETTE'), + PRESENT_PRESENT('CARA_GUIDE','VALE_GUIDE'), + PRESENT_PRESENT('CARA_ASSEMBLAGE','VALE_ASSEMBLAGE'), + PRESENT_PRESENT('CARA_PDC','VALE_PDC'),), + GROUP_MA =SIMP(statut='f',typ=grma,max=1), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,max=1), + NOEUD_EXTR =SIMP(statut='f',typ=no,max=1), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), + Z0 =SIMP(statut='f',typ='R' ), + CARA_HYDR =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données hydrauliques", + into=("Q","ROC","ROD","ROP","ROM","ROML","ROG","NUC","NUM", + "NUML","NUG","P2","P3","P4","CGG","G") ), + VALE_HYDR =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données hydrauliques",), + CARA_GRAPPE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données géométriques de la grappe", + into=("M","DTIGE","DTMOY","ROTIGE","LTIGE","LLT","LCT", + "VARAI","RORAI","DCRAY","ROCRAY","LCRAY","LCHUT", + "CFCM","CFCI","CFCG","HRUGC","HRUGTC","NCA") ), + VALE_GRAPPE =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données géométriques de la grappe",), + CARA_COMMANDE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données géométriques du mécanisme de commande", + into=("LI","LML","LG","LIG","DIML","DEML","DCSP", + "DG","HRUGML","HRUGCSP","HRUGG") ), + VALE_COMMANDE =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données géométriques du mécanisme de commande",), + CARA_MANCHETTE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données géométriques de la manchette et son adaptateur", + into=("LM","LA","LIM","DIMT","DEMT","DCMT","VMT", + "ROMT","DA","HRUGM","HRUGA") ), + VALE_MANCHETTE =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données géométriques de la manchette et son adaptateur",), + CARA_GUIDE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données géométriques des tubes guides", + into=("NRET","L0","L1","L2","L3","L4","DTG","DR", + "DOR","D0","D00","HRUGTG") ), + VALE_GUIDE =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données géométriques des tubes guides",), + CARA_ASSEMBLAGE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des données géométriques des assemblages", + into=("SASS","DCC","DTI","NGM","NGMDP","KM","KS","KI", + "KES","KEI","KF") ), + VALE_ASSEMBLAGE =SIMP(statut='f',typ='R',max='**', + fr="valeurs des données géométriques des assemblages",), + CARA_PDC =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + fr="définition des coefficients de perte de charge singulière", + into=("CD0","CD1","CD2","CDELARG","CDRET","CDM","CDA","CDML", + "CDI","CDG") ), + VALE_PDC =SIMP(statut='f',typ='R',max='**', + fr="valeurs des coefficients de perte de charge singulière",), + APPL_FORC_ARCHI =SIMP(statut='f',typ='TXM',defaut="REPARTIE" , + fr="application de la force d'archimède", + into=("REPARTIE","CDG") ), + APPL_FORC_FPLAQ =SIMP(statut='f',typ='TXM',defaut="REPARTIE" , + fr="application de la force de plaquage dans le guidage continu", + into=("REPARTIE","CDG","ZONE","MILIEU","DISTRI") ), + APPL_FORC_FMEC =SIMP(statut='f',typ='TXM',defaut="REPARTIE" , + fr="application de la force dans le mécanisme de levée", + into=("REPARTIE","CDG","ZONE","PTREP") ), + APPL_FORC_FTG =SIMP(statut='f',typ='TXM',defaut="REPARTIE" , + fr="application de la force tube_guide", + into=("REPARTIE","CDG","ZONE","PTREP") ), + DIRE_FORC_FPLAQ =SIMP(statut='f',typ='R',min=3,max=3, + fr="direction d'application de la force de plaquage",), + b_CDG =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \ + (APPL_FORC_FMEC == 'CDG') or (APPL_FORC_FTG == 'CDG')", + MASS_INER =SIMP(statut='o',typ=tabl_mass_iner ), + ), + UNITE_IMPR_FORCE =SIMP(statut='f',typ='I', + fr="unité d'impression des forces",), + UNITE_IMPR_NOEUD =SIMP(statut='f',typ='I', + fr="unité d'impression des noeuds par zone",), + ), + + LIAISON_COQUE =FACT(statut='f',max='**', + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), ), - RELA_CINE_BP =FACT(statut='f',min=1,max='**', + RELA_CINE_BP =FACT(statut='f',max='**', CABLE_BP =SIMP(statut='o',typ=cabl_precont ), - SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + 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='**', + + FORCE_ELEC =FACT(statut='f',max='**', + fr="Force de Laplace due à la présence d'un conducteur rectiligne secondaire non maillé", 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 + 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='**'), - - 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 ), - + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ), + b_fxyz =BLOC ( condition = "POSITION == None", + 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 ), + ), + 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", + 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='**', + + INTE_ELEC =FACT(statut='f',max='**', + fr="Force de Laplace due à la présence d'un conducteur non rectiligne secondaire", 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + IMPE_FACE =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), IMPE =SIMP(statut='o',typ='R' ), ), - - VITE_FACE =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",min=1,max='**', + + VITE_FACE =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), VNOR =SIMP(statut='o',typ='R' ), ), - - ONDE_FLUI =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",min=1,max='**', + + ONDE_FLUI =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",max='**', regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), PRES =SIMP(statut='o',typ='R' ), ), - - FLUX_THM_REP =FACT(statut='f',min=1,max='**', + + FLUX_THM_REP =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), FLUN =SIMP(statut='f',typ='R' ), FLUN_HYDR1 =SIMP(statut='f',typ='R' ), FLUN_HYDR2 =SIMP(statut='f',typ='R' ), @@ -1452,7 +3214,9 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND + + +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -1473,19 +3237,20 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca # 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', + reentrant='n', UIinfo={"groupes":("Modélisation",)}, regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),), - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - DDL_IMPO =FACT(statut='f',min=1,max='**', + DDL_IMPO =FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', ),), + AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),), 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), DX =SIMP(statut='f',typ='C' ), DY =SIMP(statut='f',typ='C' ), DZ =SIMP(statut='f',typ='C' ), @@ -1496,7 +3261,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, PRES =SIMP(statut='f',typ='C' ), PHI =SIMP(statut='f',typ='C' ), ), - FORCE_POUTRE =FACT(statut='f',min=1,max='**', + FORCE_POUTRE =FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), @@ -1507,8 +3272,8 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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' ), @@ -1517,17 +3282,17 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, VY =SIMP(statut='f',typ='C' ), VZ =SIMP(statut='f',typ='C' ), ), - LIAISON_DDL =FACT(statut='f',min=1,max='**', + LIAISON_DDL =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_NO','NOEUD', ),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + NOEUD =SIMP(statut='f',typ=no ,max='**'), DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='o',typ='R',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 22/10/2002 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 28/02/2005 AUTEUR MABBAS M.ABBAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -1548,42 +3313,43 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, # RESPONSABLE G8BHHXD X.DESROCHES AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur", - docu="U4.44.01-g3",reentrant='n', + 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'),), + 'CONTACT','EFFE_FOND','FLUX_THM_REP'),), 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 ), + MODELE =SIMP(statut='o',typ=modele_sdaster), - DDL_IMPO =FACT(statut='f',min=1,max='**', + DDL_IMPO =FACT(statut='f',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'),), + 'TEMP','PRE1','PRE2','LIAISON',),), 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='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + FACE_IMPO =FACT(statut='f',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'), @@ -1599,50 +3365,50 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, 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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DNOR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DTAN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - LIAISON_DDL =FACT(statut='f',min=1,max='**', + LIAISON_DDL =FACT(statut='f',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='**'), + 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) ), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - LIAISON_OBLIQUE =FACT(statut='f',min=1,max='**', + LIAISON_OBLIQUE =FACT(statut='f',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='**'), + 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) ), + DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - LIAISON_GROUP =FACT(statut='f',min=1,max='**', + LIAISON_GROUP =FACT(statut='f',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'), @@ -1655,95 +3421,177 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, 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='**'), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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) ), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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'),), + CONTACT =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**', + regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),), APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")), + into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")), RECHERCHE =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")), LISSAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")), METHODE =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE") ), + into=("CONTRAINTE","VERIF","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='**'), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + + b_verif =BLOC(condition = "METHODE == 'VERIF' ", + fr="Paramètres de la méthode sans calcul de contact", + STOP_INTERP =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + TOLE_INTERP =SIMP(statut='f',typ='R',defaut = 0.), + DIST_MAIT =SIMP(statut='f',typ='R'), + DIST_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), + VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), + ), + 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")), + regles=(EXCLUS('DIST_ESCL','COEF_IMPO'), + EXCLUS('DIST_MAIT','COEF_IMPO'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", + into=("DEPL","PRES","TEMP","PRE1","PRE2")), + GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON", + into=("OUI","NON")), + b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ", + ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), + ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ", + fr="Parametre de la reactualisation geometrique", + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - fr="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), + fr="Parametre de la reactualisation geometrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Parametre de la reactualisation geometrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + COEF_IMPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_MULT_ESCL =SIMP(statut='f',typ='R'), + VECT_NORM_ESCL =SIMP(statut='f',typ='R',max=3), VECT_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")),), + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), 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)), + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + ITER_MULT_MAXI =SIMP(statut='f',typ='I' ,defaut=4), + + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Parametre de la reactualisation geometrique", + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Parametre de la reactualisation geometrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Parametre de la reactualisation geometrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), 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), + COULOMB =SIMP(statut='o',typ='R',), 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)), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), + TOLE_PROJ_INT =SIMP(statut='f',typ='R' ,defaut=0.001), + TOLE_REAC_GEOM =SIMP(statut='f',typ='R' ,defaut=0.05), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI", + into=("OUI","NON")), + NB_RESOL =SIMP(statut='f',typ='I', defaut=10 ), + ITER_MULT_MAXI =SIMP(statut='f',typ='I',defaut=4), + + REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE", + into=("AUTOMATIQUE","CONTROLE","SANS")), + b_reac_sans =BLOC(condition = "REAC_GEOM == 'SANS' ",fr="Paramètre de la réactualisation géométrique", + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_geom =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique", + NB_REAC_GEOM =SIMP(statut='o',typ='I'), + + VERI_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME", + into=("ALARME","ERREUR","NON")), + ), + b_reac_auto =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", + fr="Paramètre de la réactualisation géométrique auto", + NB_REAC_MAXI =SIMP(statut='o',typ='I',defaut = 10), + ), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), 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), + COULOMB =SIMP(statut='o',typ='R',), 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), @@ -1754,126 +3602,135 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 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), + FORMULATION =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")), MODL_AXIS =SIMP(statut='o',typ='TXM',into=("OUI","NON")), DIRE_APPA =SIMP(statut='f',typ='R',max=3), ITER_GEOM_MAXI =SIMP(statut='f',typ='I',defaut=2), ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", - COULOMB =SIMP(statut='o',typ='R',max=1), + COULOMB =SIMP(statut='o',typ='R',), ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), SEUIL_INIT =SIMP(statut='f',typ='I',defaut=0),),), ), - LIAISON_UNIF =FACT(statut='f',min=1,max='**', + LIAISON_UNIF =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), DDL =SIMP(statut='o',typ='TXM',max='**'), ), - LIAISON_SOLIDE =FACT(statut='f',min=1,max='**', + LIAISON_SOLIDE =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), ), - FORCE_NODALE =FACT(statut='f',min=1,max='**', + FORCE_NODALE =FACT(statut='f',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='**', + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ANGL_NAUT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ), + ), + + FORCE_FACE =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FORCE_ARETE =FACT(statut='f',min=1,max='**', + FORCE_ARETE =FACT(statut='f',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='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + FORCE_CONTOUR =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FORCE_INTERNE =FACT(statut='f',min=1,max='**', + FORCE_INTERNE =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - PRES_REP =FACT(statut='f',min=1,max='**', + PRES_REP =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + ), + + EFFE_FOND =FACT(statut='f',fr="Imposer un effet de fond",max='**', + regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), + GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - EPSI_INIT =FACT(statut='f',min=1,max='**', + EPSI_INIT =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + EPXX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPZZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPXZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPYZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FORCE_POUTRE =FACT(statut='f',min=1,max='**', + FORCE_POUTRE =FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'), @@ -1885,27 +3742,27 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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) ), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FORCE_TUYAU =FACT(statut='f',min=1,max='**', + FORCE_TUYAU =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FORCE_COQUE =FACT(statut='f',min=1,max='**', + FORCE_COQUE =FACT(statut='f',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'), @@ -1923,75 +3780,77 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, 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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MF1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MF2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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='**'), + LIAISON_COQUE =FACT(statut='f',max='**', + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), ), - VITE_FACE =FACT(statut='f',min=1,max='**', + VITE_FACE =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - IMPE_FACE =FACT(statut='f',min=1,max='**', + IMPE_FACE =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - ONDE_PLANE =FACT(statut='f',min=1,max='**', + ONDE_PLANE =FACT(statut='f',max='**', DIRECTION =SIMP(statut='o',typ='R',max='**'), TYPE_ONDE =SIMP(statut='o',typ='TXM' ), - FONC_SIGNAL =SIMP(statut='o',typ=(fonction) ), + FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), DIST_ORIG =SIMP(statut='o',typ='R' ), ), - FLUX_THM_REP =FACT(statut='f',min=1,max='**', + FLUX_THM_REP =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_HYDR1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_HYDR2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND + + +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2011,87 +3870,87 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, # ====================================================================== AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther, fr=" ", - docu="",reentrant='n', + reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(AU_MOINS_UN('CARA_TORSION', ),), - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), VERI_DDL =SIMP(statut='f',typ='TXM',defaut="OUI", into=("OUI","NON") ), - CARA_TORSION =FACT(statut='f',min=1,max='**', + CARA_TORSION =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_MA'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/01/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== 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', + 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) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - TEMP_IMPO =FACT(statut='f',min=1,max='**', + TEMP_IMPO =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), 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='**', + FLUX_REP =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + RAYONNEMENT =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + ECHANGE =FACT(statut='f',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'), @@ -2099,50 +3958,50 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + ), + + SOURCE =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), SOUR =SIMP(statut='f',typ='R'), SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem_sour_r) ), ), - - GRAD_TEMP_INIT =FACT(statut='f',min=1,max='**', + + GRAD_TEMP_INIT =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + + LIAISON_DDL =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_NO','NOEUD', ),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,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='**', + + LIAISON_GROUP =FACT(statut='f',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'), @@ -2154,16 +4013,16 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther 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='**'), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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='**'), @@ -2177,58 +4036,59 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther CENTRE =SIMP(statut='f',typ='R',max='**'), ), - LIAISON_MAIL =FACT(statut='f',min=1,max='**', + LIAISON_MAIL =FACT(statut='f',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='**'), + GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),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='**', + ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + + ECHANGE_PAROI =FACT(statut='f',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='**'), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), CENTRE =SIMP(statut='f',typ='R',min=2,max=3), ), - LIAISON_UNIF =FACT(statut='f',min=1,max='**', + LIAISON_UNIF =FACT(statut='f',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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), 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" + LIAISON_CHAMNO =FACT(statut='f',max='**', + CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),# 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='**', + CONVECTION =FACT(statut='f',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 +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2248,70 +4108,70 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther # ====================================================================== 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', + 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) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - TEMP_IMPO =FACT(statut='f',min=1,max='**', + TEMP_IMPO =FACT(statut='f',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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), 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) ), + TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FLUX_REP =FACT(statut='f',min=1,max='**', + FLUX_REP =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUN_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - FLUX_NL =FACT(statut='f',min=1,max='**', + FLUX_NL =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - RAYONNEMENT =FACT(statut='f',min=1,max='**', + RAYONNEMENT =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SIGMA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + EPSILON =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - ECHANGE =FACT(statut='f',min=1,max='**', + ECHANGE =FACT(statut='f',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'), @@ -2319,60 +4179,60 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther, 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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_H_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + COEF_H_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - SOURCE =FACT(statut='f',min=1,max='**', + SOURCE =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - GRAD_TEMP_INIT =FACT(statut='f',min=1,max='**', + GRAD_TEMP_INIT =FACT(statut='f',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) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - ECHANGE_PAROI =FACT(statut='f',min=1,max='**', + ECHANGE_PAROI =FACT(statut='f',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) ), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + COEF_H =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), TRAN =SIMP(statut='f',typ='R',min=2,max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',min=1,max=3), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), CENTRE =SIMP(statut='f',typ='R',min=2,max=3), ), - LIAISON_DDL =FACT(statut='f',min=1,max='**', + LIAISON_DDL =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_NO','NOEUD'),), GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,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) ), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - LIAISON_GROUP =FACT(statut='f',min=1,max='**', + LIAISON_GROUP =FACT(statut='f',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'), @@ -2384,125 +4244,124 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther, 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='**'), + GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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) ), + COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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='**', + LIAISON_UNIF =FACT(statut='f',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", + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DDL =SIMP(statut='f',typ='TXM',defaut="TEMP", into=("TEMP","TEMP_INF","TEMP_SUP") ), ), - CONVECTION =FACT(statut='f',min=1,max='**', + CONVECTION =FACT(statut='f',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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # 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', + 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'),), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + AFFE =FACT(statut='o',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='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - MATER =SIMP(statut='o',typ=mater), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + MATER =SIMP(statut='o',typ=mater_sdaster,max=30), TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + SECH_REF =SIMP(statut='f',typ='R',val_min=0.E+0), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 26/04/2005 AUTEUR LAVERNE J.LAVERNE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE JMBHH01 J.M.PROIX -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", +AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, UIinfo={"groupes":("Modélisation",)}, fr="Affectation des éléments finis sur le maillage",reentrant='n', regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),), - MAILLAGE =SIMP(statut='o',typ=(maillage) ), + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), 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, + VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), + AFFE_SOUS_STRUC =FACT(statut='f', regles=(UN_PARMI('TOUT','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), ), - AFFE =FACT(statut='f',min=1,max='**', + AFFE =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), 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=( + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( "2D_DIS_T", "2D_DIS_TR", "2D_FLUI_ABSO", @@ -2524,6 +4383,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", "3D_THM", "3D_GRAD_EPSI", "3D_GRAD_VARI", + "3D_XFEM", "APPUI_REP", "ASSE_GRIL", "AXIS", @@ -2533,15 +4393,18 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", "AXIS_HHM", "AXIS_HM", "AXIS_INCO", + "AXIS_NS", "AXIS_SI", "AXIS_THH", "AXIS_THHM", "AXIS_THM", "AXIS_GRAD_VARI", - "AXIS_FISSURE", + "AXIS_JOINT", + "AXIS_ELDI", "BARRE", "2D_BARRE", "C_PLAN", + "C_PLAN_NS", "C_PLAN_SI", "C_PLAN_GRAD_EPSI", "C_PLAN_GRAD_VARI", @@ -2554,7 +4417,9 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", "D_PLAN", "D_PLAN_GRAD_EPSI", "D_PLAN_GRAD_VARI", - "PLAN_FISSURE", + "D_PLAN_NS", + "PLAN_JOINT", + "PLAN_ELDI", "D_PLAN_ABSO", "D_PLAN_HHM", "D_PLAN_HM", @@ -2569,24 +4434,32 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", "3D_THVD", "3D_THHMD", "3D_THMD", + "AXIS_HH2MD", "AXIS_HHMD", "AXIS_HMD", "AXIS_THHD", + "AXIS_THH2D", "AXIS_THVD", "AXIS_THHMD", + "AXIS_THH2MD", "AXIS_THMD", "D_PLAN_HHMD", + "D_PLAN_HH2MD", "D_PLAN_HMD", "D_PLAN_THHD", + "D_PLAN_THH2D", "D_PLAN_THVD", + "D_PLAN_THH2MD", "D_PLAN_THHMD", "D_PLAN_THMD", "DIS_T", "DIS_TR", "DKT", + "DKTG", "DST", "FLUI_STRU", "GRILLE", + "GRILLE_MEMBRANE", "POU_C_T", "POU_D_E", "POU_D_EM", @@ -2596,12 +4469,13 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", "POU_D_TGM", "Q4G", "TUYAU_3M", - "TUYAU_6M" + "TUYAU_6M", + "SHB8" ) ) ), b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", fr="modelisations thermiques", - MODELISATION =SIMP(statut='o',typ='TXM',into=( + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( "3D", "3D_DIAG", "AXIS", @@ -2616,14 +4490,14 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'", fr="modelisations acoustiques", - MODELISATION =SIMP(statut='o',typ='TXM',into=( + MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( "3D", "PLAN" ), ),), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2641,25 +4515,21 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-g3", # 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", +AIDE=PROC(nom="AIDE",op=42, + UIinfo={"groupes":("Modélisation",)}, + fr="Interrogation sur le catalogue des commandes et les concepts produits", + regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),), + UNITE =SIMP(statut='f',typ='I',defaut=8), + TYPE_ELEM =FACT(fr="couple type_elem option",statut='f', + INITEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + ), + CONCEPT =FACT(statut='f',max='**', + NOM =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"), + OPTION =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE", into=("TOUT_TYPE","CREER","A_CREER",) ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2678,13 +4548,21 @@ AIDE=PROC(nom="AIDE",op=42,docu="U4.02.01-g1", # 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, +ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster, 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 ), + reentrant='n', + UIinfo={"groupes":("Maillage",)}, + MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,), + MAILLAGE_2 = SIMP(statut='o',typ=maillage_sdaster,), + OPERATION = SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),), + b_collage = BLOC(condition = "OPERATION == 'COLLAGE'", + COLLAGE = FACT(statut='o', + GROUP_MA_1 =SIMP(statut='o',typ=grma), + GROUP_MA_2 =SIMP(statut='o',typ=grma), + ), + ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 18/04/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2704,12 +4582,15 @@ ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage, # ====================================================================== 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', + 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") ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), + b_option =BLOC(condition = "METHODE == 'CLASSIQUE'", + OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ), + ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2736,15 +4617,15 @@ def asse_matrice_prod(MATR_ELEM,**args): raise AsException("type de concept resultat non prevu") ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, - fr="Construction d une matrice assemblée",docu="U4.61.22-f",reentrant='n', + fr="Construction d une matrice assemblée",reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, MATR_ELEM =SIMP(statut='o', typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ), - NUME_DDL =SIMP(statut='o',typ=nume_ddl), + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster), 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 +#& MODIF COMMANDE DATE 18/04/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2762,17 +4643,20 @@ ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, +ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene_r, fr="Assemblage de vecteurs de chargement en coordonnées généralisées", - docu="U4.65.05-d",reentrant='n', + 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 ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), + b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'", + CHAR_SOUS_STRUC =FACT(statut='o',max='**', + SOUS_STRUC =SIMP(statut='o',typ='TXM' ), + VECT_ASSE =SIMP(statut='o',typ=cham_no_depl_r ), + ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2799,13 +4683,13 @@ def asse_vecteur_prod(VECT_ELEM,**args): 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', + fr="Assemblage d un second membre",reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), - NUME_DDL =SIMP(statut='o',typ=nume_ddl ), + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), INFO =SIMP(statut='f',typ='I',into=(1,2,) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2823,11 +4707,11 @@ ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod, # 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, +CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, 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', + reentrant='n', UIinfo={"groupes":("Résolution",)}, - ENER_SOL =FACT(statut='o',min=1,max=1, + ENER_SOL =FACT(statut='o', 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') @@ -2838,9 +4722,9 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8, 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 ), + GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), COEF_GROUP =SIMP(statut='f',typ='R',max='**'), KX =SIMP(statut='o',typ='R' ), KY =SIMP(statut='o',typ='R' ), @@ -2852,19 +4736,19 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8, 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, + AMOR_INTERNE =FACT(statut='o', ENER_POT =SIMP(statut='o',typ=tabl_ener_pot ), - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), ), - AMOR_SOL =FACT(statut='o',min=1,max=1, + AMOR_SOL =FACT(statut='o', AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FONC_AMOR_GEO =SIMP(statut='o',typ=fonction,max='**' ), + FONC_AMOR_GEO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),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 +#& MODIF COMMANDE DATE 24/01/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -2885,33 +4769,11 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8, # 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 @@ -2927,16 +4789,16 @@ def calc_cham_elem_prod(OPTION,**args): 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', + reentrant='n', UIinfo={"groupes":("Post traitements",)}, - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), # # @@ -2944,108 +4806,11 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, # 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", + into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP", "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',)", + b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP',)", TEMP =SIMP(statut='o',typ=(cham_no_temp_r,)), ), @@ -3055,10 +4820,10 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, - EXCIT =FACT(statut='f',min=1,max='**', + EXCIT =FACT(statut='f',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), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), COEF_MULT =SIMP(statut='f',typ='R'), ), INST =SIMP(statut='f',typ='R',defaut= 0.E+0), @@ -3068,7 +4833,7 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod, 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 +#& MODIF COMMANDE DATE 24/01/2005 AUTEUR LEBOUVIE F.LEBOUVIER # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3095,14 +4860,14 @@ def calc_char_cine_prod(CHAR_CINE,**args): 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', + 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 ) ), + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), + CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ), 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3125,7 +4890,7 @@ def calc_char_seisme_prod(MATR_MASS,**args ): 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', + 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" ), @@ -3134,120 +4899,563 @@ CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_pr 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='**'), + NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA # 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. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_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', +CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f', UIinfo={"groupes":("Post traitements",)}, - fr="Compléter 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), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - - 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' ), + fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )", + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',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',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectué que sur ces mailles là"), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', + fr="le calcul ne sera effectué que sur ces mailles là"), + +# 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',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='o',typ='TXM',validators=NoRepeat(),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","EPSI_ELNO_TUYO", + # 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_ELGA","ENDO_ELNO_ELGA", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO", + # 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',fr="nom du champ pour VALE_NCOU_MAXI", ), + NOM_CMP =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI", ), + PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"), + fr="Plan de calcul pour les plaques excentrées" ), + + + EXCIT =FACT(statut='f',max='**', + fr="Charges contenant les températures, les efforts répartis pour les poutres...", + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='o',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + 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='o',typ='TXM',validators=NoRepeat(),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='f',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',validators=NoRepeat(),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='f',max='**', + regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), + CHARGE =SIMP(statut='f',typ=char_meca ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + 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',validators=NoRepeat(),max='**', + into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL", + "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",), + ), + 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_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \ + (type(OPTION)==type(()) and 'EPSI_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_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL','EPSI_ELNO_TUYO' ) or \ + (type(OPTION)==type(()) and 'EPSI_ELNO_DEPL' in OPTION ) or \ + (type(OPTION)==type(()) and 'EPSI_ELNO_TUYO' 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='f',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',validators=NoRepeat(),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='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),), + ), + ), + + b_crit =BLOC( condition = "TYPE_OPTION=='CRIT'", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", + "ENDO_ELGA","ENDO_ELNO_ELGA", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO", + ) ), + 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 'SIEQ_ELNO_TUYO' 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',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',validators=NoRepeat(),max='**', + into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI", + ) ),), + + b_autres =BLOC( condition = "TYPE_OPTION=='AUTRES'", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),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',fr="Nom du champ pour VALE_NCOU_MAXI" ), + NOM_CMP =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),), + ), - 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=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", - "SIGM_ELNO_TUYO","SIGM_ELNO_CART","DEGE_ELNO_DEPL","EFGE_ELNO_CART", - "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","ECIN_ELEM_DEPL","SIPO_ELNO_DEPL", - "EPGR_ELNO","EPGR_ELGA","DURT_ELGA_META","DURT_ELNO_META", - "SIGM_ELNO_COQU","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF", - "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2", - "VNOR_ELEM_DEPL","SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA", - "VARI_ELNO_ELGA","VARI_ELNO_TUYO","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM", - "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", - "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", - "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","ENEL_ELGA","ENEL_ELNO_ELGA","SIEF_ELNO_ELGA", - "DEUL_ELGA_TEMP","DETE_ELNO_DLTE","DEUL_ELGA_DEPL","DEDE_ELNO_DLDE", - "DESI_ELNO_DLSI","PMPB_ELNO_SIEF","PMPB_ELGA_SIEF", - "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","HYDR_ELNO_ELGA", - "SOUR_ELGA_ELEC","VARI_ELNO_COQU","CRIT_ELNO_RUPT", - "PRES_ELNO_DBEL","PRES_DBEL_DEPL","PRES_ELNO_REEL","PRES_ELNO_IMAG", - "INTE_ELNO_ACTI","INTE_ELNO_REAC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM", - "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI" - ) ), - 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) ), - 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,char_ther,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",) ), - ), - NORME =SIMP(statut='f',typ='TXM',defaut="VMIS", - into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ), - NUME_COUCHE =SIMP(statut='f',typ='I',defaut= 1 ), - NIVE_COUCHE =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ), + b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE", + into=("SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2", + "SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA", + ) ), + EXCIT =FACT(statut='f',max='**',fr="charge contenant les temperatures", + 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',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='o',typ='TXM',validators=NoRepeat(),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","EPSI_ELNO_TUYO", + "EPSP_ELNO","EPSP_ELGA", + "EPGR_ELNO","EPGR_ELGA", + "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT", + "EXTR_ELGA_VARI","EXTR_ELNO_VARI", + # CRIT + "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO", + "ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME", + "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM", + "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA", + "ENDO_ELNO_SIGA","ENDO_ELNO_SINO", + "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',fr="Nom du champ pour VALE_NCOU_MAXI"), + NOM_CMP =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"), + PLAN = SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ), + + b_extr = BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')", + NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire", + into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR", + "SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV","X11","X22","X33","X12","X13","X23", + "DIST_DEV","DEV_SUR_CRIT","DIST_ISO","NB_ITER","ARRET","NB_REDE","SIGNE"),), + ), + EXCIT =FACT(statut='f',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_sdaster,nappe_sdaster,formule)), + 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',validators=NoRepeat(),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',validators=NoRepeat(),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',validators=NoRepeat(),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',max='**',fr="charge contenant les temperatures", + CHARGE =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),), + ), + b_epstuyo = BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \ + (type(OPTION)==type(()) and 'EPSI_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" ), + EXCIT =FACT(statut='f',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',validators=NoRepeat(),max='**', + into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU", + "EXTR_ELGA_VARI","EXTR_ELNO_VARI"), + ), + 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_extr = BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')", + NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire", + into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR", + "SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV","X11","X22","X33","X12","X13","X23", + "DIST_DEV","DEV_SUR_CRIT","DIST_ISO","NB_ITER","ARRET","NB_REDE","SIGNE"),), + ), + ), + + b_ener =BLOC( condition = "TYPE_OPTION=='ENER'", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",), + ), + EXCIT =FACT(statut='f',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',validators=NoRepeat(),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", + "ENDO_ELGA","ENDO_ELNO_ELGA", + "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO", + ) ), + 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',validators=NoRepeat(),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',fr="Nom du champ pour VALE_NCOU_MAXI" ), + NOM_CMP =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),), + ), - 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"), - b_maxi =BLOC( condition = "OPTION=='VALE_NCOU_MAXI'", - NOM_CHAM =SIMP(statut='o',typ='TXM',max=1 ), - NOM_CMP =SIMP(statut='o',typ='TXM',max=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 + + b_indi_erre =BLOC( condition = "TYPE_OPTION=='INDI_ERRE'", + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELGA_NORE", + into=("ERRE_ELGA_NORE","ERRE_ELNO_ELGA","ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2", + "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='o',typ='TXM',validators=NoRepeat(),max='**', + into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP", + "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META", + "SOUR_ELGA_ELEC","ERTH_ELEM_TEMP","ERTH_ELNO_ELEM",),), + EXCIT =FACT(statut='f',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_sdaster,nappe_sdaster,formule)), + 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='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG", + "INTE_ELNO_ACTI","INTE_ELNO_REAC", + ),), + EXCIT =FACT(statut='f',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_sdaster,nappe_sdaster,formule)), + 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),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 10/01/2005 AUTEUR F1BHHAJ J.ANGLES # 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. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_fatigue_prod(TYPE_CALCUL,**args): +def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args): if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem_dommag - if TYPE_CALCUL == "FATIGUE_MULTI" : return cham_elem_facy_r + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem_facy_r + if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_facy_r 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', @@ -3260,7 +5468,7 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant 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, + HISTOIRE =FACT(statut='o', RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, evol_noli) ), EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", @@ -3269,22 +5477,39 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant 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) ), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + TAHERI_NAPPE =SIMP(statut='f',typ=(nappe_sdaster,formule) ), + TAHERI_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'", - fr="Plan critique dans le cas de la fatigue multiaxiale a grand nombre de cycles.", + fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.", + TYPE_CHARGE =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ), + OPTION =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ), 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",) ), - METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**' ), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**' ), + COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), + b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC") ), + METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), + ), + b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", + CRITERE =SIMP(statut='o',typ='TXM',into=("DOMM_MAXI","DANG_VAN_MODI_AV") ), + PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), + DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + ), + b_fati_grmano =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)", + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + ), ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3302,16 +5527,16 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant # 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', +CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, - VITE_FLUI =FACT(statut='o',min=1,max=1, + VITE_FLUI =FACT(statut='o', 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, + BASE_MODALE =FACT(statut='o', regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),), MODE_MECA =SIMP(statut='o',typ=mode_meca ), @@ -3320,13 +5545,13 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu, 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, + IMPRESSION =FACT(statut='f', 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 +#& MODIF COMMANDE DATE 07/03/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3344,108 +5569,126 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu, # 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") ), +def calc_fonc_interp_prod(FONCTION,**args): + if AsType(FONCTION) ==nappe_sdaster : return nappe_sdaster + elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster + elif AsType(FONCTION)==fonction_c : return fonction_c + elif AsType(FONCTION)==formule : return fonction_sdaster + elif AsType(FONCTION)==para_sensi : return para_sensi + raise AsException("type de concept resultat non prevu") + +CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, + docu="U4.32.01-e",reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), + FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), + VALE_PARA =SIMP(statut='f',typ='R',max='**'), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + NOM_RESU =SIMP(statut='f',typ='TXM'), + NOM_PARA =SIMP(statut='f',typ='TXM'), + INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), + PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM'), + b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None", + regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),), + VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'), + LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), + ), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 12/05/2005 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. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 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") +from Macro.calc_fonction_ops import calc_fonction_ops +def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C, + ENVELOPPE,SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE, + LISS_ENVELOP,ABS, **args): + + if (INTEGRE != None): return fonction_sdaster + if (DERIVE != None): return fonction_sdaster + if (INVERSE != None): return fonction_sdaster + if (COMB != None): + type_vale=AsType(COMB[0]['FONCTION']) + for mcfact in COMB : + if(AsType(mcfact['FONCTION'])!=type_vale): + raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction") + return type_vale + if (COMB_C != None): + vale=COMB_C[0]['FONCTION'] + if(AsType(vale) == nappe_sdaster): + for mcfact in COMB_C[1:] : + if(AsType(mcfact['FONCTION'])!=nappe_sdaster): + raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") + return nappe_sdaster + else: + for mcfact in COMB_C : + if(AsType(mcfact['FONCTION'])==nappe_sdaster): + raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") + return fonction_c + if (ENVELOPPE != None): return AsType(ENVELOPPE[0]['FONCTION']) + if (EXTRACTION != None): return fonction_sdaster + if (SPEC_OSCI != None): return nappe_sdaster + if (COMPOSE != None): return fonction_sdaster + if (ASSE != None): return fonction_sdaster + if (FFT != None): + vale=FFT[0]['FONCTION'] + if (AsType(vale) == fonction_sdaster ) : return fonction_c + if (AsType(vale) == fonction_c) : return fonction_sdaster + if (CORR_ACCE != None): return fonction_sdaster + if (LISS_ENVELOP!= None): return AsType(LISS_ENVELOP[0]['FONCTION']) + if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION']) + if (ABS != None): return fonction_sdaster + 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', +CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_fonction_prod + ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe", + 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) ) + regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','COMB','COMB_C','ENVELOPPE', + 'COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE', + 'LISS_ENVELOP','INVERSE','ABS'),), + FFT =FACT(statut='f',fr="Transformée de Fourier ou de son inverse", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ), + b_syme =BLOC ( condition = " AsType(FONCTION)==fonction_c ", + SYME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), + ), ), - DERIVE =FACT(statut='f',min=1,max=1,fr="Calcul de la dérivée d une fonction", + DERIVE =FACT(statut='f',fr="Dérivée d une fonction", METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ), - FONCTION =SIMP(statut='o',typ=fonction ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), ), - INTEGRE =FACT(statut='f',min=1,max=1,fr="Calcul de l intégrale d une fonction", + INTEGRE =FACT(statut='f',fr="Intégrale d'une fonction", METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction), + FONCTION =SIMP(statut='o',typ=fonction_sdaster), COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), ), - RMS =FACT(statut='f',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 ), + LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), AMOR =SIMP(statut='f',typ='R',max='**'), - FREQ_MIN =SIMP(statut='f',typ='R',defaut=0.2), - FREQ_MAX =SIMP(statut='f',typ='R',defaut=33.0), + 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') ", @@ -3458,85 +5701,78 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op= 91,sd_prod=calc_fonction_prod GAUCHE =SIMP(statut='f',typ='R',defaut =10.0E0 ), DROITE =SIMP(statut='f',typ='R',defaut =10.0E0 ), ), - LARG_PLAT =SIMP(statut='f',typ='R',defaut=90.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 ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), AMOR_ECH =SIMP(statut='f',typ='R',max='**'), ), ), - SPEC_OSCI =FACT(statut='f',min=1,max=1,fr="Calcul du spectre d oscillateur", + SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur", METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ), - FONCTION =SIMP(statut='o',typ=fonction ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8 ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='f',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ), + NORME =SIMP(statut='o',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ), NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), NATURE_FONC =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), ), - MAX =FACT(statut='f',min=1,max=1,fr="Calcul des extrémas locaux d une fonction", - FONCTION =SIMP(statut='o',typ=fonction ), + ABS =FACT(statut='f',fr="Valeur absolue d'une fonction", + FONCTION =SIMP(statut='o',typ=fonction_sdaster,), ), - COMB =FACT(statut='f',min=1,max='**',fr="Calcul d une combinaison linéaire réelle de fonctions", - FONCTION =SIMP(statut='o',typ=fonction ), + COMB =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), 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", + COMB_C =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions", regles=(UN_PARMI('COEF_R','COEF_C'),), - FONCTION =SIMP(statut='o',typ=(fonction, fonction_c) ), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), 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 ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), ), - 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), + COMPOSE =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)", + FONC_RESU =SIMP(statut='o',typ=fonction_sdaster), + FONC_PARA =SIMP(statut='o',typ=fonction_sdaster), ), - EXTRACTION =FACT(statut='f',min=1,max=1,fr="Opération d extraction sur une fonction complexe", + EXTRACTION =FACT(statut='f',fr="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='**' ), + ENVELOPPE =FACT(statut='f',fr="Enveloppe d une famille de fonctions", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),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='**' ), + ASSE =FACT(statut='f',fr="Concatenation de fonctions", + FONCTION =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ), 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 ), + CORR_ACCE =FACT(statut='f',fr="Correction d un accelerogramme reel", + CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), ), - PUISSANCE =FACT(statut='f',min=1,max=1,fr="Cacul du carré d'une fonction", - FONCTION =SIMP(statut='o', typ=fonction), + PUISSANCE =FACT(statut='f',fr="Fonction élevée à une puissance", + FONCTION =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ), 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), + INVERSE =FACT(statut='f',fr="Inverse d'une fonction", + FONCTION =SIMP(statut='o', typ=fonction_sdaster), ), - 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_PARA =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), NOM_RESU =SIMP(statut='f',typ='TXM' ), INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - 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") ), + NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), 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 +) +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3554,9 +5790,9 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op= 91,sd_prod=calc_fonction_prod # 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, +CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene_r, fr="calcul de la force ajoutee ", - docu="U4.66.03-a1",reentrant ='n', + reentrant ='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(EXCLUS('MODE_MECA','MODELE_GENE'), @@ -3564,8 +5800,8 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_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 ), + MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CHARGE =SIMP(statut='o',typ=char_ther ), MODE_MECA =SIMP(statut='f',typ=mode_meca ), @@ -3573,19 +5809,19 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_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='**'), + NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),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='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -3599,17 +5835,16 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0), ), + ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/10/2004 AUTEUR LEBOUVIE F.LEBOUVIER # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3628,37 +5863,41 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, # 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', + fr="Calcul du taux de restitution local d énergie",reentrant='n', UIinfo={"groupes":("Post traitements",)}, - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - regles=(UN_PARMI('FOND','FOND_FISS' ), - UN_PARMI('RESULTAT','DEPL'), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + regles=(UN_PARMI('RESULTAT','DEPL'), + PRESENT_PRESENT('VITE','ACCE'), UN_PARMI('R_INF','R_INF_FO'), PRESENT_PRESENT('R_INF','R_SUP'), PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), - FOND =SIMP(statut='f',typ=fond_fiss), FOND_FISS =SIMP(statut='f',typ=fond_fiss), DEPL =SIMP(statut='f',typ=cham_no_depl_r), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli),), + VITE =SIMP(statut='f',typ=cham_no_depl_r), + ACCE =SIMP(statut='f',typ=cham_no_depl_r), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),), b_extrac =BLOC(condition="RESULTAT != None",fr="extraction d un champ", regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), ), - - CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ), SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), - COMP_ELAS =FACT(statut='f',min=1,max=1, + COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), @@ -3667,31 +5906,30 @@ CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca, 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ), - COMP_INCR =FACT(statut='f',min=1,max=1, + COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ), ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), VMIS_ISOT_TRAC =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), VMIS_ISOT_LINE =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ), - ETAT_INIT =FACT(statut='f',min=1,max=1, + ETAT_INIT =FACT(statut='f', SIGM =SIMP(statut='f',typ=cham_elem_sief_r), DEPL =SIMP(statut='f',typ=cham_no_depl_r), ), OPTION =SIMP(statut='f',typ='TXM',defaut="CALC_G", - into=("CALC_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ), + into=("CALC_G","CALC_K_G","CALC_G_LGLO","G_BILINEAIRE","CALC_G_MAX") ), b_g =BLOC(condition="OPTION=='CALC_G'", LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ), @@ -3707,8 +5945,13 @@ CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca, LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), ), + b_k_g =BLOC(condition="OPTION=='CALC_K_G'", + LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), + LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ), + FISSURE =SIMP(statut='o',typ=fiss_xfem,max=1), + ), b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", - BORNES =FACT(statut='o',min=1,max='**', + BORNES =FACT(statut='o',max='**', NUME_ORDRE =SIMP(statut='o',typ='I'), VALE_MIN =SIMP(statut='o',typ='R'), VALE_MAX =SIMP(statut='o',typ='R'), @@ -3721,13 +5964,13 @@ CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca, 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), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/10/2004 AUTEUR LEBOUVIE F.LEBOUVIER # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3747,34 +5990,40 @@ CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca, # ====================================================================== 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', + reentrant='f', UIinfo={"groupes":("Post traitements",)}, regles=(UN_PARMI('RESULTAT','DEPL'), + PRESENT_PRESENT('VITE','ACCE'), 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), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + THETA =SIMP(statut='o',typ=(theta_geom,cham_no_depl_r),), DEPL =SIMP(statut='f',typ=cham_no_depl_r), - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli),), + VITE =SIMP(statut='f',typ=cham_no_depl_r), + ACCE =SIMP(statut='f',typ=cham_no_depl_r), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans),), b_extrac =BLOC(condition="RESULTAT != None",fr="extraction d un champ", regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), ), - - CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), + ), SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ), - COMP_ELAS =FACT(statut='f',min=1,max=1, + COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), @@ -3783,53 +6032,49 @@ CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th, 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ), - COMP_INCR =FACT(statut='f',min=1,max=1, + COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='f',typ='TXM',defaut="ELAS", into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ), ELAS =SIMP(statut='f',typ='I',defaut=1,into=(1,) ), VMIS_ISOT_TRAC =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), VMIS_ISOT_LINE =SIMP(statut='f',typ='I',defaut=2,into=(2,) ), - 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ), - ETAT_INIT =FACT(statut='f',min=1,max=1, + ETAT_INIT =FACT(statut='f', SIGM =SIMP(statut='f',typ=cham_elem_sief_r), DEPL =SIMP(statut='f',typ=cham_no_depl_r), ), OPTION =SIMP(statut='f',typ='TXM',defaut="CALC_G", - into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX","CALC_DG",) ), + into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX",) ), b_calc_g_max =BLOC(condition="OPTION=='CALC_G_MAX'", - BORNES =FACT(statut='o',min=1,max='**', + BORNES =FACT(statut='o',max='**', NUME_ORDRE =SIMP(statut='o',typ='I'), VALE_MIN =SIMP(statut='o',typ='R'), VALE_MAX =SIMP(statut='o',typ='R'), ), ), b_calc_k_g =BLOC(condition="OPTION=='CALC_K_G'", - regles=(UN_PARMI('FOND','FOND_FISS' ),), - FOND =SIMP(statut='f',typ=fond_fiss), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), + 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 ), - ), - ), + + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3849,18 +6094,18 @@ CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th, # ====================================================================== 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', + 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='**'), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), + TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -3880,13 +6125,13 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp, # ====================================================================== 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', + 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 ), + MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), + MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CHARGE =SIMP(statut='o',typ=char_ther ), MODE_MECA =SIMP(statut='f',typ=mode_meca ), @@ -3895,13 +6140,13 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, 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='**'), + NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),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, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -3915,33 +6160,31 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET def calc_matr_elem_prod(OPTION,**args): @@ -3969,8 +6212,9 @@ def calc_matr_elem_prod(OPTION,**args): 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', + ,fr="Calcul des matrices élémentaires",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", @@ -3980,79 +6224,75 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST", "RIGI_MECA_LAGR") ), + # mots clés facultatifs que l'on a du mal à mettre dans les blocs + # sans gener MACRO_MATR_ASSE : + #------------------------------------------------------------------ + INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ), + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", regles=(AU_MOINS_UN('MODELE','CHARGE' ),), - MODELE =SIMP(statut='f',typ=modele ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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 ), - ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), ), b_rigi_meca_lagr =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), 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 ), - ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), 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 ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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 ), - ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), ), 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 ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), # 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 ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r ), MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), ), b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), 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 ), + CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), ), 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 ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), 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='**' ), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), ), b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", - MODELE =SIMP(statut='o',typ=modele ), - CHARGE =SIMP(statut='o',typ=char_meca ,max='**' ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),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 ), @@ -4060,42 +6300,55 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'", regles=(AU_MOINS_UN('MODELE','CHARGE' ),), - MODELE =SIMP(statut='f',typ=modele ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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='**' ), + CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ), ), b_mass_ther =BLOC(condition = "OPTION=='MASS_THER'", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + CHARGE =SIMP(statut='f',typ=char_ther ,validators=NoRepeat(),max='**' ), + ), + + b_rigi_acou =BLOC(condition = "OPTION=='RIGI_ACOU'", + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), ), - b_rigi_acou =BLOC(condition = "(OPTION=='RIGI_ACOU') or (OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", - MODELE =SIMP(statut='o',typ=modele ), + b_mass_acou =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='f',typ=char_acou ,max='**' ), + CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), ), - b_rigi_flui =BLOC(condition = "(OPTION=='RIGI_FLUI_STRU') or (OPTION=='MASS_FLUI_STRU')", - MODELE =SIMP(statut='o',typ=modele ), + b_rigi_flui =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'", + MODELE =SIMP(statut='o',typ=modele_sdaster ), 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 ), + CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ), + ), + + b_mass_flui =BLOC(condition = "OPTION=='MASS_FLUI_STRU'", + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'), ), 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='**' ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 04/04/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4113,14 +6366,14 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod # 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', +CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', UIinfo={"groupes":("Post traitements",)}, fr="Calcule la métallurgie a partir du résultat du calcul thermique", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), RESULTAT =SIMP(statut='o',typ=evol_ther ), - ETAT_INIT =FACT(statut='o',min=1,max=1, - regles=(UN_PARMI('NUME_INIT', 'INST_INIT', 'META_INIT',),), + ETAT_INIT =FACT(statut='o', + regles=(UN_PARMI('NUME_INIT', 'INST_INIT', 'META_INIT_ELNO',),), EVOL_THER =SIMP(statut='f',typ=evol_ther ), NUME_INIT =SIMP(statut='f',typ='I' ), INST_INIT =SIMP(statut='f',typ='R'), @@ -4128,9 +6381,9 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,docu="U4.85.01-b1",reent 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 ), + META_INIT_ELNO =SIMP(statut='f',typ=carte_var2_r ), ), - COMP_INCR =FACT(statut='o',min=1,max='**', + COMP_INCR =FACT(statut='o',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,) ), @@ -4142,7 +6395,7 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,docu="U4.85.01-b1",reent OPTION =SIMP(statut='f',typ='TXM' ,into=("META_ELNO_TEMP",) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4165,32 +6418,32 @@ 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', +CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,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='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),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='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), NOM_CAS =SIMP(statut='f',typ='TXM' ), - INST =SIMP(statut='f',typ='R',max='**'), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), - LIST_FREQ =SIMP(statut='f',typ=listr8), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - LIST_ORDRE =SIMP(statut='f',typ=listis), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - OPTION =SIMP(statut='o',typ='TXM',max='**', + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', into=("FORC_NODA","REAC_NODA", "DCHA_NOEU_SIGM", "DEGE_NOEU_DEPL", @@ -4203,13 +6456,12 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,docu="U4.81.02-f3",reent "ENEL_NOEU_ELGA", "EPMG_NOEU_DEPL", "EPSA_NOEU", - "EPSG_NOEU" ,"EPSG_NOEU_DEPL", - "EPSI_NOEU_DEPL","EPSI_NOEU_DPGE", + "EPSG_NOEU_DEPL", + "EPSI_NOEU_DEPL", "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", @@ -4217,30 +6469,189 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,docu="U4.81.02-f3",reent "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", + "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL", + "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC", "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF", "SIRE_NOEU_DEPL", - "VARI_NOEU" ,"VARI_NOEU_ELGA",) ), + "VARI_NOEU","EXTR_NOEU_VARI","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), + MODELE =SIMP(statut='f',typ=modele_sdaster), ), CHAM_MATER =SIMP(statut='f',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='f',min=1,max='**', + EXCIT =FACT(statut='f',max='**', CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ), - FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", into=("FIXE_CSTE","FIXE_PILO","SUIV") ), ), 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 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_MA_RESU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_RESU =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), + GROUP_NO_RESU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + NOEUD_RESU =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE ASSIRE A.ASSIRE + +from Macro.calc_precont_ops import calc_precont_ops + + +# =========================================================================== +# CATALOGUE DE LA MACRO "CALC_PRECONT" +# ----------------------------------------- +# USAGE : +# +# +# =========================================================================== + +CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli, + fr="imposer la tension definie par le BPEL dans les cables", + reentrant='f', + reuse =SIMP(statut='f',typ='evol_noli'), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='o',typ=cara_elem), + CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), + CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), + INCREMENT =FACT(statut='o', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ), + + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), + REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + RECH_LINEAIRE =FACT(statut='f', + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ), + CONVERGENCE =FACT(statut='d', + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), + RESI_INTE_RELA =SIMP(statut='f',typ='R' + ,defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), + VARI =SIMP(statut='f',typ=cham_elem_vari_r), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + LAGR_NON_LOCAL =FACT(statut='f', + ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), + RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), + RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), + R =SIMP(statut='f',typ='R',defaut= 1000.), + ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + ), + PARM_THETA =SIMP(statut='f',typ='R' + ,defaut= 1. ), + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=char_meca), + ), + + COMP_INCR =C_COMP_INCR(), + ) ; +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4258,54 +6669,53 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,docu="U4.81.02-f3",reent # 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', +CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', UIinfo={"groupes":("Post traitements",)}, fr="Affectation d un champ sur le maillage (mécanique de la rupture)", regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'), PRESENT_ABSENT('THETA_2D','DIRE_THETA'), EXCLUS('DIRECTION','DIRE_THETA'),), OPTION =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ), - MODELE =SIMP(statut='o',typ=(modele) ), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - FOND_3D =SIMP(statut='f',typ=(fond_fiss) ), - THETA_3D =FACT(statut='f',min=1,max='**', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + THETA_3D =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), UN_PARMI('MODULE','MODULE_FO'), ENSEMBLE('MODULE','R_INF','R_SUP'), ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), MODULE =SIMP(statut='f',typ='R'), R_INF =SIMP(statut='f',typ='R'), R_SUP =SIMP(statut='f',typ='R'), - MODULE_FO =SIMP(statut='f',typ=fonction), - R_INF_FO =SIMP(statut='f',typ=fonction), - R_SUP_FO =SIMP(statut='f',typ=fonction), + MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), + b_theta_3d =BLOC(condition="THETA_3D != None", + FOND_FISS =SIMP(statut='f',typ=fond_fiss),), DIRE_THETA =SIMP(statut='f',typ=(cham_no_depl_r) ), DIRECTION =SIMP(statut='f',typ='R',max='**'), - THETA_2D =FACT(statut='f',min=1,max='**', + THETA_2D =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), MODULE =SIMP(statut='o',typ='R'), R_INF =SIMP(statut='o',typ='R'), R_SUP =SIMP(statut='o',typ='R'), ), - THETA_BANDE =FACT(statut='f',min=1,max='**', + THETA_BANDE =FACT(statut='f',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",) ), + IMPRESSION =FACT(statut='f', + UNITE =SIMP(statut='f',typ='I',defaut=8), FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4332,15 +6742,15 @@ def calc_vect_elem_prod(OPTION,**args): 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', +CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,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), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + MODELE =SIMP(statut='f',typ=modele_sdaster), 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), @@ -4352,36 +6762,36 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,docu=" 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='**',), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),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='**'), + CHARGE =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),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='**'), + CHARGE =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),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), + MODELE =SIMP(statut='f',typ=modele_sdaster), ), 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='**'), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4403,11 +6813,11 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,docu=" 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() + vale=COMB_R[0]['CHAM_ELEM'] elif COMB_C != None: - vale=COMB_C.get_child('CHAM_ELEM').get_valeur() + vale=COMB_C[0]['CHAM_ELEM'] elif COMB_FOURIER != None: - vale=COMB_FOURIER.get_child('CHAM_ELEM').get_valeur() + vale=COMB_FOURIER[0]['CHAM_ELEM'] else : raise AsException("type de concept resultat non prevu") @@ -4422,11 +6832,11 @@ def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args): 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", + fr="Combinaison linéaire de champs par éléments", UIinfo={"groupes":("Résultats et champs",)}, regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'), PRESENT_PRESENT('COMB_FOURIER','ANGL'),), - COMB_R =FACT(statut='f',min=1,max='**', + COMB_R =FACT(statut='f',max='**', PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), COEF_R =SIMP(statut='o',typ='R'), CHAM_ELEM =SIMP(statut='o', @@ -4434,13 +6844,13 @@ COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,ree 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='**', + COMB_C =FACT(statut='f',max='**', regles=(UN_PARMI('COEF_R','COEF_C', ),), COEF_R =SIMP(statut='f',typ='R'), COEF_C =SIMP(statut='f',typ='C'), CHAM_ELEM =SIMP(statut='o',typ=(cham_elem_sief_r) ), ), - COMB_FOURIER =FACT(statut='f',min=1,max='**', + COMB_FOURIER =FACT(statut='f',max='**', COEF_R =SIMP(statut='f',typ='R',defaut= 1.), NUME_MODE =SIMP(statut='o',typ='I'), TYPE_MODE =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ), @@ -4449,7 +6859,7 @@ COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,ree ANGL =SIMP(statut='f',typ='R' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4470,18 +6880,18 @@ COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,ree # 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()) + type_mat = AsType(COMB_C[0]['CHAM_NO']) if type_mat in (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c if type_mat in (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c if type_mat in (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c elif COMB_R != None: - type_mat = AsType(COMB_R.get_child('CHAM_NO').get_valeur()) + type_mat = AsType(COMB_R[0]['CHAM_NO']) if type_mat in (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r if type_mat in (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r if type_mat in (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r if type_mat == matr_asse_gene_r : return matr_asse_gene_r elif COMB_FOURIER != None: - type_mat = AsType(COMB_FOURIER.get_child('CHAM_NO').get_valeur()) + type_mat = AsType(COMB_FOURIER[0]['CHAM_NO']) if type_mat == cham_no_temp_r : return cham_no_temp_r if type_mat == cham_no_depl_r : return cham_no_depl_r raise AsException("type de concept resultat non prevu") @@ -4489,23 +6899,23 @@ def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args): 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', + 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='**', + COMB_R =FACT(statut='f',max='**', PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ), CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c ,cham_no_pres_r,cham_no_pres_c ) ), COEF_R =SIMP(statut='o',typ='R' ), ), - COMB_C =FACT(statut='f',min=1,max='**', + COMB_C =FACT(statut='f',max='**', regles=(UN_PARMI('COEF_R','COEF_C' ),), CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c ,cham_no_depl_c,cham_no_pres_c ) ), COEF_R =SIMP(statut='f',typ='R' ), COEF_C =SIMP(statut='f',typ='C' ), ), - COMB_FOURIER =FACT(statut='f',min=1,max='**', + COMB_FOURIER =FACT(statut='f',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' ), @@ -4515,7 +6925,7 @@ COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod ANGL =SIMP(statut='o',typ='R' ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4535,14 +6945,14 @@ COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op= 30,sd_prod=comb_cham_no_prod # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, - docu="U4.83.31-c",reentrant='n', + 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, + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=5, into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4563,13 +6973,13 @@ COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, # 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()) + type_mat = AsType(COMB_C[0]['MATR_ASSE']) 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()) + type_mat = AsType(COMB_R[0]['MATR_ASSE']) 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 @@ -4579,32 +6989,32 @@ def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): 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', + 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='**', + COMB_R =FACT(statut='f',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='**', + COMB_C =FACT(statut='f',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, + CALC_AMOR_GENE =FACT(statut='f', 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 ), + LIST_AMOR = SIMP(statut='f',typ=listr8_sdaster ), ), SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -4624,17 +7034,17 @@ COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, # ====================================================================== 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', + 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 ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), 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") ), @@ -4642,315 +7052,173 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat, MODE_CORR =SIMP(statut='f',typ=mode_stat_acce ), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8 ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',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",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",), + TRI_AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",), + TRI_SPEC =SIMP(statut='f',typ='TXM',into=("OUI",), + fr="Excitation suivant les trois axes avec trois spectres"), 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), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),), + ECHELLE =SIMP(statut='f',typ='R',), ), 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), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),), + ECHELLE =SIMP(statut='f',typ='R',), ), 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 ), + SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),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, + COMB_MODE =FACT(statut='o', 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, + COMB_DIRECTION =FACT(statut='f', 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' ),), + COMB_MULT_APPUI =FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),), 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") ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ), ), - COMB_DEPL_APPUI=FACT(statut='f',min=1,max='**', - regles=(UN_PARMI('TOUT','LIST_CAS'), - UN_PARMI('TYPE_COMBI','TYPE' ),), + COMB_DEPL_APPUI=FACT(statut='f',max='**', + regles=(UN_PARMI('TOUT','LIST_CAS'),), 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='**', + DEPL_MULT_APPUI =FACT(statut='f',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='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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, + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),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='**', + IMPRESSION =FACT(statut='f',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 ), + NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 28/01/2005 AUTEUR VABHHTS J.PELLET # 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. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_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 - raise AsException("type de concept resultat non prevu") + import string + grandeur=string.lower(TYPE_CHAM[5:]) + + if TYPE_CHAM[0:5] == "CART_" : + uu="carte_"+grandeur + elif TYPE_CHAM[0:5] == "NOEU_" : + uu="cham_no_"+grandeur + elif TYPE_CHAM[0:2] == "EL" : + uu="cham_elem_"+grandeur + else : + raise AsException("type de concept resultat_sdaster non prevu") + + vv=eval(uu) ; return vv + CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, - fr=" ",docu="U4.72.04-b1",reentrant='n', + fr=" ",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",) ), + TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), + # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx + # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs # 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) ), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ), + CHAM_NO =SIMP(statut='f',typ=(cham_no_sdaster) ), + +# SI CREATION D'UN CHAM_ELEM, POUR aider a l'allocation du champ : +# (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM) +# ------------------------------------------------------------------ + OPTION =SIMP(statut='f',typ='TXM'), 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) ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), 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='**', + AFFE =FACT(statut='o',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='**' ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + 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='**'), + VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), ), ), b_asse =BLOC(condition = "OPERATION == 'ASSE'", regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage) ), - MODELE =SIMP(statut='f',typ=(modele) ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), 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='**', + ASSE =FACT(statut='o',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)), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ), CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), @@ -4958,87 +7226,78 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, ), ), b_eval =BLOC(condition = "OPERATION == 'EVAL'", - CHAM_F =SIMP(statut='o',typ=(cham_gd)), - CHAM_PARA =SIMP(statut='o',typ=(cham_gd),max='**'), + CHAM_F =SIMP(statut='o',typ=(cham_gd_sdaster)), + CHAM_PARA =SIMP(statut='o',typ=(cham_gd_sdaster),max='**'), ), b_disc =BLOC(condition = "OPERATION == 'DISC'", - MODELE =SIMP(statut='f',typ=(modele) ), + MODELE =SIMP(statut='f',typ=(modele_sdaster) ), PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - CHAM_GD =SIMP(statut='o',typ=(cham_gd)), + CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), ), b_extr =BLOC(condition = "OPERATION == 'EXTR'", - regles=(UN_PARMI('MAILLAGE','RESULTAT'),), - MAILLAGE =SIMP(statut='f',typ=(maillage) ), - RESULTAT =SIMP(statut='f',typ=(resultat) ), + regles=(UN_PARMI('MAILLAGE','FISSURE','RESULTAT'),), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + FISSURE =SIMP(statut='f',typ=(fiss_xfem) ), + RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), b_extr_maillage =BLOC(condition = "MAILLAGE != None", NOM_CHAM =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)), - ), + ), + b_extr_fissure =BLOC(condition = "FISSURE != None", + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO",)), + ), 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),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters"), - 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",) ), + 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=C_NOM_CHAM_INTO()), 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'), + + # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre : + b_type_maxi =BLOC(condition = "TYPE_MAXI != None", + TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ), + + regles=(AU_PLUS_UN('LIST_INST','LIST_FREQ','NUME_ORDRE','INST', + 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), + NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + INST =SIMP(statut='f',typ='R',max='**'), + FREQ =SIMP(statut='f',typ='R',max='**'), + NUME_MODE =SIMP(statut='f',typ='I',max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), + ANGL =SIMP(statut='f',typ='R',max='**'), + + b_tout =BLOC(condition = "(LIST_INST,LIST_FREQ,NUME_ORDRE,INST,\ + FREQ,NUME_MODE,NOEUD_CMP,NOM_CAS,ANGL)\ + ==(None ,None ,None ,None,\ + None,None ,None ,None ,None)", + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), + ), + ), + + # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre : + b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None", + regles=(AU_PLUS_UN('INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),), + 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=2), + NOM_CAS =SIMP(statut='f',typ='TXM'), + ANGL =SIMP(statut='f',typ='R'), + + b_nume_1 =BLOC(condition = "(INST,FREQ,NUME_MODE,NOEUD_CMP,NOM_CAS,ANGL)\ + ==(None,None,None ,None ,None ,None)", + NUME_ORDRE =SIMP(statut='f',typ='I',defaut=1,), + ), + + INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), + ), + 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 bloc b_extr ), # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULAT : @@ -5046,107 +7305,179 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 26/04/2005 AUTEUR LAVERNE J.LAVERNE +# RESPONSABLE MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage, - docu="U4.23.02-d1",reentrant='n', +CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, + 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'),), - 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", + EXCLUS('ECLA_PG','MODI_MAILLE'), + EXCLUS('ECLA_PG','LINE_QUAD'), + EXCLUS('ECLA_PG','CREA_FISS'), + EXCLUS('ECLA_PG','COQU_VOLU'), + EXCLUS('LINE_QUAD','MODI_MAILLE'), + EXCLUS('LINE_QUAD','CREA_MAILLE'), + EXCLUS('LINE_QUAD','CREA_GROUP_MA'), + EXCLUS('LINE_QUAD','DETR_GROUP_MA'), + EXCLUS('LINE_QUAD','CREA_FISS'), + EXCLUS('LINE_QUAD','COQU_VOLU'), + EXCLUS('CREA_FISS','MODI_MAILLE'), + EXCLUS('CREA_FISS','CREA_MAILLE'), + EXCLUS('CREA_FISS','CREA_GROUP_MA'), + EXCLUS('CREA_FISS','DETR_GROUP_MA'), + EXCLUS('CREA_FISS','COQU_VOLU'), + EXCLUS('COQU_VOLU','MODI_MAILLE'), + EXCLUS('COQU_VOLU','CREA_MAILLE'), + EXCLUS('COQU_VOLU','CREA_GROUP_MA'), + EXCLUS('COQU_VOLU','DETR_GROUP_MA'), + ), + + # le MAILLAGE est inutile si ECLA_PG + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + + CREA_POI1 =FACT(statut='f',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='**'), + NOM_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), - CREA_MAILLE =FACT(statut='f',min=1,max='**',fr="Duplication de mailles", + CREA_MAILLE =FACT(statut='f',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='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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", + CREA_GROUP_MA =FACT(statut='f',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='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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='**'), + DETR_GROUP_MA =FACT(statut='f',fr="Destruction de groupes de mailles", + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0, - fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), + fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), + ), + COQU_VOLU =FACT(statut='f', + fr="Creation de mailles volumiques à partir de mailles surfaciques", + NOM =SIMP(statut='o',typ='TXM'), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'), + EPAIS =SIMP(statut='o',typ='R' ), + PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS" ), + PREF_NUME =SIMP(statut='f',typ='I' ,defaut=1 ), + PLAN =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")), + b_MOY =BLOC(condition = "PLAN == 'MOY'", + TRANSLATION =SIMP(statut='o',typ='TXM',into=("SUP","INF") ), + ), + ), + MODI_MAILLE =FACT(statut='f',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,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"), + fr="Choix de la transformation" ), + b_NOS =BLOC(condition = "OPTION == 'TRIA6_7' or OPTION == 'QUAD8_9' or OPTION == 'SEG3_4'", + PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'", + PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), + PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), + ), + ), + CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc", + NOM =SIMP(statut='o',typ='TXM'), + GROUP_NO_1 =SIMP(statut='o',typ=grno), + GROUP_NO_2 =SIMP(statut='o',typ=grno), + PREF_MAILLE =SIMP(statut='o',typ='TXM'), + PREF_NUME =SIMP(statut='f',typ='I',defaut=1 ), ), - MODI_MAILLE =FACT(statut='f',min=1,max='**',fr="Modification du type de mailles", + LINE_QUAD =FACT(statut='f',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='**'), - OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4"),fr="Choix de la transformation" ), + MAILLE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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='**', + QUAD_LINE =FACT(statut='f',fr="Passage quadratique -> linéaire", + regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + REPERE =FACT(statut='f',max='**', fr="changement de repère servant à déterminer les caractéristiques d une section de poutre", TABLE =SIMP(statut='o',typ=tabl_cara_geom, fr="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" ), + 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, + ECLA_PG =FACT(statut='f', fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), + TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), +# + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 17/08/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def crea_resu_prod(TYPE_RESU,**args): if TYPE_RESU == "EVOL_ELAS" : return evol_elas @@ -5157,7 +7488,7 @@ def crea_resu_prod(TYPE_RESU,**args): 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', +CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', UIinfo={"groupes":("Modélisation",)}, fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", @@ -5168,19 +7499,37 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", 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") ), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), + + AFFE =FACT(statut='o',max='**', + CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + + # affectation de plusieurs instants à l'aide d'un champ aux noeuds de fonctions du temps: + b_fonc =BLOC(condition = "AsType(CHAM_GD) in (cham_no_temp_f,cham_no_depl_f)", + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + NUME_INIT =SIMP(statut='f',typ='I', val_min=1), + NUME_FIN =SIMP(statut='f',typ='I', val_min=1), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + + # affectation d'un seul nume_ordre : + b_reel =BLOC(condition = "AsType(CHAM_GD) not in (cham_no_temp_f,cham_no_depl_f)", + regles=(UN_PARMI('NOM_CAS','NUME_MODE','INST','LIST_INST'),), + NOM_CAS =SIMP(statut='f',typ='TXM' ), + NUME_MODE =SIMP(statut='f',typ='I'), + TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + NUME_INIT =SIMP(statut='f',typ='I', val_min=1), + NUME_FIN =SIMP(statut='f',typ='I', val_min=1), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), ), ), @@ -5188,18 +7537,21 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ), - ECLA_PG =FACT(statut='f',min=1,max=1, + ECLA_PG =FACT(statut='o', regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),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), + MODELE_INIT =SIMP(statut='o',typ=modele_sdaster), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + RESU_INIT =SIMP(statut='o',typ=resultat_sdaster), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), 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), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), ), @@ -5208,15 +7560,15 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", 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='**' ), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),validators=NoRepeat(),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,), + MAILLAGE_INIT =SIMP(statut='o',typ=maillage_sdaster,), RESU_FINAL =SIMP(statut='o',typ=evol_noli,), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage,), - PERM_CHAM =FACT(statut='o',min=1,max=1, + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), + PERM_CHAM =FACT(statut='o',max='**', GROUP_MA_FINAL =SIMP(statut='o',typ=grma), GROUP_MA_INIT =SIMP(statut='o',typ=grma), TRAN =SIMP(statut='o',typ='R',max='**'), @@ -5228,12 +7580,12 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ), - PROL_RTZ =FACT(statut='f',min=1,max=1, + PROL_RTZ =FACT(statut='o', regles=(EXCLUS('INST','LIST_INST'),), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage,), + MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), 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), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), @@ -5247,7 +7599,66 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_table_prod(TYPE_TABLE,**args): + if TYPE_TABLE == "TABLE" : return table_sdaster + if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom + if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele + if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur + if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea + if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp + raise AsException("type de concept resultat non prevu") + +CREA_TABLE=OPER(nom="CREA_TABLE",op= 36,sd_prod=crea_table_prod, + fr="Creation d'une table a partir d'une fonction ou de deux listes", + reentrant='n',UIinfo={"groupes":("Table",)}, + + regles=(EXCLUS('FONCTION','LISTE')), + + TYPE_TABLE=SIMP(statut='f',typ='TXM',defaut="TABLE", + into=("TABLE", + "TABL_CARA_GEOM", + "TABL_POST_RELE", + "TABL_POST_USUR", + "TABL_POST_ALEA", + "TABL_INTE_SPEC" ) ), + LISTE=FACT(statut='f',min=2,max='**', + fr="Creation d'une table a partir de listes", + regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), + PARA=SIMP(statut='o',typ='TXM'), + TYPE_K=SIMP(statut='f',typ='TXM',defaut='K8', + into=('K8','K16','K24')), + NUME_LIGN=SIMP(statut='f',typ='I',max='**'), + LISTE_I=SIMP(statut='f',typ='I',max='**'), + LISTE_R=SIMP(statut='f',typ='R',max='**'), + LISTE_K=SIMP(statut='f',typ='TXM', max='**')), + FONCTION=FACT(statut='f',min=1,max=1, + fr="Creation d'une table a partir d'une fonction", + FONCTION=SIMP(statut='o',typ=fonction_sdaster), + PARA=SIMP(statut='f',typ='TXM',min=2,max=2)), + TITRE=SIMP(statut='f',typ='TXM',max='**'), +) ; + + + +#& MODIF COMMANDE DATE 22/03/2005 AUTEUR D6BHHJP J.P.LEFEBVRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5265,13 +7676,15 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-e3", # 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=0 ,docu="U4.11.01-g2",repetable='n', +DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n', UIinfo={"groupes":("Gestion du travail",)}, fr="Ouverture d une étude. Allocation des ressources mémoire et disque", sd_prod=ops.DEBUT, PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', into=("OUI","NON"),defaut="OUI"), + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", statut='f',min=1,max=3, FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', @@ -5291,10 +7704,11 @@ DEBUT=MACRO(nom="DEBUT",op=0 ,docu="U4.11.01-g2",repetable='n', 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", + CODE =FACT(fr="définition d un nom pour l'ensemble d'une étude", statut='f',min=1,max=1, NOM =SIMP(statut='o',typ='TXM'), NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), + VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), UNITE =SIMP(statut='f',typ='I',defaut=15), ), DEBUG =FACT(fr="option de déboggage reservée aux développeurs", @@ -5313,8 +7727,15 @@ DEBUT=MACRO(nom="DEBUT",op=0 ,docu="U4.11.01-g2",repetable='n', TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), PARTITION =SIMP(statut='f',typ='R'), ), + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), + VALE =SIMP(statut='f',typ='I',val_min=0), + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur en pourcentage du temps maximum bornée à 180 secondes + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) + ), ); -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5333,15 +7754,15 @@ DEBUT=MACRO(nom="DEBUT",op=0 ,docu="U4.11.01-g2",repetable='n', # 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', + reentrant='f', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS'),), - CLASSIQUE =FACT(statut='f',min=1,max=1, + CLASSIQUE =FACT(statut='f', INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), NMAX_MODE =SIMP(statut='f',typ='I',defaut= 10 ), ), - RITZ =FACT(statut='f',min=1,max='**', + RITZ =FACT(statut='f',max='**', regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),), MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), NMAX_MODE =SIMP(statut='f',typ='I',defaut= 999 ), @@ -5349,7 +7770,7 @@ DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale, MULT_ELAS =SIMP(statut='f',typ=mult_elas ), BASE_MODALE =SIMP(statut='f',typ=base_modale ), ), - DIAG_MASS =FACT(statut='f',min=1,max='**', + DIAG_MASS =FACT(statut='f',max='**', MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), MODE_STAT =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ), ), @@ -5357,55 +7778,199 @@ DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=base_modale, # 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 ), + NUME_REF =SIMP(statut='o',typ=nume_ddl_sdaster ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +from Macro.defi_cable_bp_ops import defi_cable_bp_ops + +# =========================================================================== +# CATALOGUE DE LA MACRO "DEFI_CABLE_BP" +# ----------------------------------------- +# +# USAGE : +# Entrée : +# - MAILLAGE +# - MODELE +# - CABLE +# - CHAM_MATER +# - CARA_ELEM +# - GROUP_MA_BETON +# - DEFI_CABLE +# - TENSION_INIT +# - RECUL_ANCRAGE +# - RELAXATION +# - CONE +# RAYON +# LONGUEUR +# PRESENT OUI ou NON deux fois +# - TITRE +# - INFO 1 / 2 +# +# =========================================================================== + +DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=cabl_precont, + fr="", + reentrant='n', + regles=(ENSEMBLE('MAILLAGE','CONE'),), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + CHAM_MATER =SIMP(statut='o',typ=cham_mater ), + CARA_ELEM =SIMP(statut='o',typ=cara_elem ), + GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), + DEFI_CABLE =FACT(statut='o',max='**', + regles=(UN_PARMI('MAILLE','GROUP_MA'), + UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), + MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + ), + TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), + TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), + RELAXATION =FACT(statut='f',min=0, + R_J =SIMP(statut='o',typ='R',val_min=0.E+0 ), + ), + CONE =FACT(statut='f', + RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0 ), + PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 24/08/2004 AUTEUR CIBHHPD S.VANDENBERGHE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DEFI_CABLE_BP=OPER(nom="DEFI_CABLE_BP",op= 180,sd_prod=cabl_precont, + +DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont, fr=" ", - docu="U4.42.04-a",reentrant='n', + reentrant='n', UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma), - DEFI_CABLE =FACT(statut='o',min=1,max='**', + GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), + DEFI_CABLE =FACT(statut='o',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'), UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,max='**'), + MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no,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") ), + NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), + GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), ), + TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RELAXATION =FACT(statut='f',min=0,max=1, + RELAXATION =FACT(statut='f',min=0, R_J =SIMP(statut='o',typ='R',val_min=0.E+0 ), ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), + CONE =FACT(statut='f',min=0, + RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), + LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), + PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), + ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 27/09/2004 AUTEUR JMBHH01 J.M.PROIX +# RESPONSABLE JMBHH01 J.M.PROIX +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, + fr="Définition du comportement monocristallin", + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),), + + MONOCRISTAL =FACT(statut='f', max='**', + MATER =SIMP(statut='o', typ=mater_sdaster, max=1), + ECOULEMENT =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"), + ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), + ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), + ELAS =SIMP(statut='f', typ='TXM', max=1, + fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"), + FAMI_SYST_GLIS =SIMP(statut='o',typ='TXM', max=1, + into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1', + 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),), + ), + + + POLYCRISTAL =FACT(statut='f', max='**', + MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1), + FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"), + ANGL_REP =SIMP(statut='o',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"), + ), + + + b_poly =BLOC( condition = "POLYCRISTAL!='None'", + LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',), + fr="Donner le nom de la règle de localisation"), + + b_beta =BLOC( condition = "LOCALISATION=='BETA'", + DL =SIMP(statut='o',typ='R',max=1), + DA =SIMP(statut='o',typ='R',max=1), + ), + ), + + ); + +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5423,15 +7988,15 @@ DEFI_CABLE_BP=OPER(nom="DEFI_CABLE_BP",op= 180,sd_prod=cabl_precont, # 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, +DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, fr="Définition d une fonction constante", - docu="U4.31.01-f",reentrant='n', + reentrant='n', UIinfo={"groupes":("Fonction",)}, NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='o',typ='R',max=1 ), + VALE =SIMP(statut='o',typ='R',), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5449,22 +8014,144 @@ DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction, # 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', +DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n', UIinfo={"groupes":("Modélisation",)}, fr="Définition d une coque composite couche par couche", - COUCHE =FACT(statut='o',min=1,max='**', + COUCHE =FACT(statut='o',max='**', EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), - MATER =SIMP(statut='o',typ=(mater) ), + MATER =SIMP(statut='o',typ=(mater_sdaster) ), 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",) ), + IMPRESSION =FACT(statut='f', + UNITE =SIMP(statut='f',typ='I',defaut=8), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/05/2005 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE D6BHHJP J.P.LEFEBVRE +def DEFIC_prod(self,ACTION,UNITE,**args): + if ACTION == "ASSOCIER" or ACTION == "RESERVER": + if UNITE != None : + return + else : + return entier + elif ACTION == "LIBERER" : + return + else : + raise AsException("ACTION non prevue : %s" % ACTION) + +DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + fr="Gestion d une unité logique : ajout, suppression", + + ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"), + + b_associer =BLOC(condition = "ACTION == 'ASSOCIER'", + fr="Paramètres pour l'ouverture du fichier", + regles=(AU_MOINS_UN('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), + + b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII", + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), + ), + b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE", + ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), + ), + ), + + b_reserver =BLOC(condition = "ACTION == 'RESERVER'", + fr="Paramètres pour la réservation de l'unité du fichier", + regles=(AU_MOINS_UN('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + TYPE =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"), + ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), + ), + + b_liberer =BLOC(condition = "ACTION == 'LIBERER'", + fr="Paramètres pour la fermeture du fichier", + regles=(UN_PARMI('FICHIER','UNITE'),), + UNITE =SIMP(statut='f',typ='I' ,val_min=1), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), + ), + + INFO =SIMP(statut='f',typ='I',into=(1,2) ), + ) +#& MODIF COMMANDE DATE 25/01/2005 AUTEUR GENIAUT S.GENIAUT +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + fr="Définition des caratéristiques d''une fissure avec XFEM", + + MODELE =SIMP(statut='o',typ=modele_sdaster), + DEFI_FISS =FACT(statut='o',max=01, + regles =(UN_PARMI('GROUP_MA_FISS','FONC_LT'), + ENSEMBLE('FONC_LT','FONC_LN'), + ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), + FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), + GROUP_MA_FISS =SIMP(statut='f',typ=grma,max=01), + GROUP_MA_FOND =SIMP(statut='f',typ=grma), + ), + GROUP_MA_ENRI =SIMP(statut='o',typ=grma,max=01), + ORIE_FOND =FACT(statut='o',max=01, + PFON_INI =SIMP(statut='o',typ='R',max=03), + VECT_ORIE =SIMP(statut='o',typ='R',max=03), + PT_ORIGIN =SIMP(statut='o',typ='R',max=03), + ), + CONTACT =FACT(statut='f',max=01, + NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",) ), + FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), + INTEGRATION =SIMP(statut='f',typ='TXM',defaut="GAUSS",into=("GAUSS",) ), + COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), + MODL_AXIS =SIMP(statut='f',typ='TXM',into=("NON",)), + ITER_CONT_MAXI =SIMP(statut='f',typ='I',defaut=30), + CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), + b_frottement =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb", + COULOMB =SIMP(statut='o',typ='R',), + ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2), + COEF_REGU_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), + SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), +) ; +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5483,15 +8170,15 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater,docu="U4.42.03-e",r # 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', + reentrant='n', UIinfo={"groupes":("Maillage",)}, regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), - FAISCEAU_TRANS =FACT(statut='f',min=1,max='**', + FAISCEAU_TRANS =FACT(statut='f',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 ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_RHO_F_INT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_RHO_F_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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") ), @@ -5500,7 +8187,7 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, UNITE_CK =SIMP(statut='f',typ='I',defaut=71), PAS =SIMP(statut='f',typ='R' ), ), - GRAPPE =FACT(statut='f',max=1, + GRAPPE =FACT(statut='f', 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 @@ -5509,13 +8196,13 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, 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 ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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='**', + FAISCEAU_AXIAL =FACT(statut='f',max='**', regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'), UN_PARMI('CARA_ELEM','RAYON_TUBE'), ENSEMBLE('RAYON_TUBE','COOR_TUBE'), @@ -5524,17 +8211,17 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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 ), + PROF_RHO_FLUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + PROF_VISC_CINE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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, + CARA_PAROI =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5, into=("YC","ZC","R","HY","HZ") ), VALE_PAROI =SIMP(statut='f',typ='R',max=5), ANGL_VRIL =SIMP(statut='f',typ='R' ), @@ -5547,14 +8234,14 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, COOR_GRILLE =SIMP(statut='f',typ='R',max='**'), TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'), ), - COQUE_COAX =FACT(statut='f',max=1, + COQUE_COAX =FACT(statut='f', 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 ), + MATER_INT =SIMP(statut='o',typ=mater_sdaster ), + MATER_EXT =SIMP(statut='o',typ=mater_sdaster ), RHO_FLUI =SIMP(statut='o',typ='R' ), VISC_CINE =SIMP(statut='o',typ='R' ), RUGOSITE =SIMP(statut='o',typ='R' ), @@ -5565,7 +8252,7 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5583,14 +8270,14 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, # 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', +DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n', UIinfo={"groupes":("Outils métier",)}, fr="Définition d une fonction du temps pour calculer des forces de LAPLACE", 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='**', + COUR =FACT(statut='f',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'),), @@ -5605,7 +8292,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-e 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, + COUR_PRIN =FACT(statut='f', 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'), @@ -5620,7 +8307,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-e 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='**', + COUR_SECO =FACT(statut='f',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'), @@ -5634,7 +8321,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-e ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5652,13 +8339,13 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-e # 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', +DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, + reentrant='n', UIinfo={"groupes":("Fonction",)}, - MAILLAGE =SIMP(statut='o',typ=(maillage) ), + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), NOEUD_INIT =SIMP(statut='o',typ=no), NOEUD_FIN =SIMP(statut='o',typ=no), - VITE =FACT(statut='o',min=1,max=1, + VITE =FACT(statut='o', 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 ) ), @@ -5672,7 +8359,7 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction, 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 +#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5692,36 +8379,32 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction, # ====================================================================== # 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 + if VALE != None : return fonction_sdaster + if VALE_C != None : return fonction_c + if VALE_PARA != None : return fonction_sdaster + if NOEUD_PARA != None : return fonction_sdaster 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', + 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_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), 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, + VALE_PARA =SIMP(statut='f',typ=listr8_sdaster, 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 ), + VALE_FONC =SIMP(statut='o',typ=listr8_sdaster ), ), 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 ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), VALE_Y =SIMP(statut='o',typ='R',max='**'), ), @@ -5732,7 +8415,7 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5750,10 +8433,10 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod # 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', +DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n', UIinfo={"groupes":("Post traitements",)}, fr="Définition de lèvres et d un fond de fissure en 3D", - regles=(UN_PARMI('FOND','FOND_FERME'), + regles=(UN_PARMI('FOND_FISS','FOND_FERME'), EXCLUS('FOND_FERME','DTAN_ORIG'), EXCLUS('FOND_FERME','DTAN_EXTR'), EXCLUS('FOND_FERME','VECT_GRNO_ORIG'), @@ -5764,51 +8447,51 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,docu="U4.82.01- 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, + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + FOND_FISS =FACT(statut='f', 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='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), # à 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), + 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,), ), - FOND_FERME =FACT(statut='f',min=1,max=1, + FOND_FERME =FACT(statut='f', 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, + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), + MAILLE_ORIG =SIMP(statut='f',typ=ma,), + GROUP_MA_ORIG =SIMP(statut='f',typ=ma,), + ), + LEVRE_SUP =FACT(statut='f', regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), - LEVRE_INF =FACT(statut='f',min=1,max=1, + LEVRE_INF =FACT(statut='f', regles=(UN_PARMI('GROUP_MA','MAILLE', ),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),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), + VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), + VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 14/10/2002 AUTEUR VABHHTS J.PELLET +#& MODIF COMMANDE DATE 25/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5828,28 +8511,29 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,docu="U4.82.01- # ====================================================================== # RESPONSABLE VABHHTS J.PELLET def defi_group_prod(MAILLAGE,**args): - if AsType(MAILLAGE) == maillage : return maillage + if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster 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', + reentrant='o', UIinfo={"groupes":("Maillage",)}, regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),), - MAILLAGE =SIMP(statut='o',typ=(maillage,squelette) ), + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), - CREA_GROUP_MA =FACT(statut='f',min=1,max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), + CREA_GROUP_MA =FACT(statut='f',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") ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + INTERSEC =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + UNION =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + DIFFE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE") ), b_group_ma =BLOC(condition = "GROUP_MA != None", regles=(EXCLUS('POSITION','NUME_INIT'),), NUME_INIT =SIMP(statut='f',typ='I'), @@ -5866,115 +8550,147 @@ DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), b_sphere =BLOC(condition = "OPTION == 'SPHERE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE'),), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), POINT =SIMP(statut='f',typ='R',max=3), NOEUD_CENTRE =SIMP(statut='f',typ=no), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), RAYON =SIMP(statut='o',typ='R' ), ), b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), POINT =SIMP(statut='f',typ='R',max=3), NOEUD_CENTRE =SIMP(statut='f',typ=no), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), 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'), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), DIST =SIMP(statut='o',typ='R' ), ANGL_NAUT =SIMP(statut='f',typ='R',max=2), VECT_NORMALE =SIMP(statut='f',typ='R',max=3), ), + b_app_lache =BLOC(condition = "OPTION == 'APPUI_LACHE'", + regles=(UN_PARMI('NOEUD','GROUP_NO'),), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), ), - 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='**'), + CREA_GROUP_NO =FACT(statut='f',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' ), - ), + "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ), + + b_option =BLOC(condition = "OPTION == None" , + regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD', + 'INTERSEC','UNION','DIFFE'),), + TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + INTERSEC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + UNION =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + DIFFE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + + b_nom_group_ma =BLOC(condition = "GROUP_MA != None", + NOM = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS", + into=("TOUS","SOMMET","MILIEU","CENTRE"),), + ), + 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_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" , + NOM =SIMP(statut='o',typ=geom), + ), ), + 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), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), + NOM =SIMP(statut='o',typ=geom), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), RAYON =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='f',typ='R' ), - CRITERE =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ), + PRECISION =SIMP(statut='o',typ='R' ), ), b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no,max=1), + NOM =SIMP(statut='o',typ=geom), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),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") ), + PRECISION =SIMP(statut='o',typ='R' ), ), b_env_plan =BLOC(condition = "OPTION == 'PLAN'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE'), + regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_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") ), + NOM =SIMP(statut='o',typ=geom), + POINT =SIMP(statut='f',typ='R' ,max=3), + NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + ANGL_NAUT =SIMP(statut='f',typ='R' ,max=3), + VECT_NORMALE =SIMP(statut='f',typ='R' ,max=3), + PRECISION =SIMP(statut='o',typ='R' ), ), b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'", - regles=(UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), + regles=(AU_MOINS_UN('NOEUD','GROUP_NO'), + UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOM =SIMP(statut='o',typ=geom), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), 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") ), + PRECISION =SIMP(statut='o',typ='R' ), + CRITERE =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ), ), b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'", - regles=(UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), + regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), + NOM =SIMP(statut='o',typ=geom), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), 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_tunnel =BLOC(condition = "OPTION == 'TUNNEL'", + regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'), + EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), + AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),), + NOM =SIMP(statut='o',typ=geom), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_AXE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_AXE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD_ORIG =SIMP(statut='f',typ=no), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno), + RAYON =SIMP(statut='o',typ='R'), + LONGUEUR =SIMP(statut='f',typ='R'), ), ), + ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -5993,17 +8709,17 @@ DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, # 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', + reentrant='n', UIinfo={"groupes":("Fonction",)}, DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), - PAR_FONCTION =FACT(statut='f',min=1,max='**', + PAR_FONCTION =FACT(statut='f',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='**', + KANAI_TAJIMI =FACT(statut='f',max='**', regles=(EXCLUS('VALE_R','VALE_C'),), NUME_ORDRE_I =SIMP(statut='o',typ='I' ), NUME_ORDRE_J =SIMP(statut='o',typ='I' ), @@ -6018,7 +8734,7 @@ DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, 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='**', + CONSTANT =FACT(statut='f',max='**', regles=(EXCLUS('VALE_R','VALE_C'),), NUME_ORDRE_I =SIMP(statut='o',typ='I' ), NUME_ORDRE_J =SIMP(statut='o',typ='I' ), @@ -6034,7 +8750,7 @@ DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6053,10 +8769,10 @@ DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp, # 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, - NUME_DDL =SIMP(statut='o',typ=nume_ddl ), - INTERFACE =FACT(statut='o',min=1,max='**', + NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), + INTERFACE =FACT(statut='o',max='**', regles=(ENSEMBLE('NOM','TYPE'), # erreur doc U sur la condition qui suit UN_PARMI('NOEUD','GROUP_NO'),), @@ -6070,7 +8786,7 @@ DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, FREQ =SIMP(statut='f',typ='R',defaut= 1.), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6089,15 +8805,15 @@ DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, # 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, +DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, fr="Définition d une suite croissante d entiers", - docu="U4.34.02-f",reentrant='n', + 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='**', + INTERVALLE =FACT(statut='f',max='**', regles=(UN_PARMI('NOMBRE','PAS'),), JUSQU_A =SIMP(statut='o',typ='I'), NOMBRE =SIMP(statut='f',typ='I',val_min=1,), @@ -6106,7 +8822,7 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6125,16 +8841,16 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis, # 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, +DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, fr="Définition d une suite croissante de réels", - docu="U4.34.01-g1",reentrant='n', + 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='**', + INTERVALLE =FACT(statut='f',max='**', regles=(UN_PARMI('NOMBRE','PAS'),), JUSQU_A =SIMP(statut='o',typ='R'), NOMBRE =SIMP(statut='f',typ='I'), @@ -6143,7 +8859,7 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -6162,11 +8878,11 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8, # 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, +DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, fr="Définition d un nouveau maillage à partir de macro éléments", - docu="U4.23.01-e",reentrant='n', + reentrant='n', UIinfo={"groupes":("Maillage",)}, - DEFI_MAILLE =FACT(statut='o',min=1,max='**', + DEFI_MAILLE =FACT(statut='o',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), @@ -6175,14 +8891,14 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage, CENTRE =SIMP(statut='f',typ='R',max=3), ), ), - RECO_GLOBAL =FACT(statut='f',min=1,max='**', + RECO_GLOBAL =FACT(statut='f',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='**', + RECO_MAILLE =FACT(statut='f',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") ), @@ -6191,7 +8907,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage, PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), ), ), - DEFI_NOEUD =FACT(statut='f',min=1,max='**', + DEFI_NOEUD =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','NOEUD_INIT'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), fr="Renommage de tous les noeuds" ), @@ -6206,7 +8922,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage, NOEUD_FIN =SIMP(statut='o',typ=no), ), ), - DEFI_GROUP_NO =FACT(statut='f',min=1,max='**', + DEFI_GROUP_NO =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','MAILLE'), AU_MOINS_UN('INDEX','GROUP_NO_FIN'), ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),), @@ -6222,27 +8938,27 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage, GROUP_NO_FIN =SIMP(statut='f',typ=grno), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 18/04/2005 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. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, +DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, fr="Définition des paramètres décrivant le comportement d un matériau", - docu="U4.43.01-g4",reentrant='n', + 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', @@ -6257,7 +8973,8 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG', + 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',), EXCLUS('OHNO','OHNO_FO'), EXCLUS('LMARC','LMARC_FO'), EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'), @@ -6265,16 +8982,19 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, PRESENT_PRESENT('BPEL_ACIER','ELAS'), EXCLUS('RCCM','RCCM_FO'), EXCLUS('WEIBULL','WEIBULL_FO'), + PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'), PRESENT_PRESENT('CAM_CLAY','ELAS'), PRESENT_PRESENT('LAIGLE','ELAS'), + PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), EXCLUS('MAZARS','MAZARS_FO'), - PRESENT_PRESENT('GRANGER_FD','ELAS_FO'), + PRESENT_PRESENT('BAZANT_FD','ELAS_FO'), + EXCLUS('GLRC','GLRC_FO'), + PRESENT_PRESENT('JOINT_BA','ELAS'), ), - # # comportement élastique # - ELAS =FACT(statut='f',min=0,max=1, + ELAS =FACT(statut='f', 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'), @@ -6283,35 +9003,32 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, AMOR_BETA =SIMP(statut='f',typ='R'), AMOR_HYST =SIMP(statut='f',typ='R'), ), - ELAS_FO =FACT(statut='f',min=0,max=1, + ELAS_FO =FACT(statut='f', regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),), - E =SIMP(statut='o',typ=fonction), - NU =SIMP(statut='o',typ=fonction), + E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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), + ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ), ), - ELAS_FLUI =FACT(statut='f',min=0,max=1, + ELAS_FLUI =FACT(statut='f', 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",) ), + PROF_RHO_F_INT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PROF_RHO_F_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_MASS_AJOU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("ABSC",) ), ), - ELAS_ISTR =FACT(statut='f',min=0,max=1, + ELAS_ISTR =FACT(statut='f', E_L =SIMP(statut='o',typ='R'), E_N =SIMP(statut='o',typ='R'), NU_LT =SIMP(statut='o',typ='R'), @@ -6321,24 +9038,24 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + ELAS_ISTR_FO =FACT(statut='f', 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), + E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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")), + ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST")), ), - ELAS_ORTH =FACT(statut='f',min=0,max=1, + ELAS_ORTH =FACT(statut='f', E_L =SIMP(statut='o',typ='R'), E_T =SIMP(statut='o',typ='R'), E_N =SIMP(statut='f',typ='R'), @@ -6358,30 +9075,30 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + ELAS_ORTH_FO =FACT(statut='f', 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), + E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ), ), - ELAS_THM =FACT(statut='f',min=0,max=1, + ELAS_THM =FACT(statut='f', RHO_S =SIMP(statut='o',typ='R'), UN_SUR_KS =SIMP(statut='o',typ='R'), E =SIMP(statut='f',typ='R'), @@ -6390,7 +9107,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, ALPHA_S =SIMP(statut='f',typ='R'), ALPHA_D =SIMP(statut='f',typ='R'), ), - SURF_ETAT_SATU =FACT(statut='f',min=0,max=1, + SURF_ETAT_SATU =FACT(statut='f', E_CHAR =SIMP(statut='o',typ='R'), E_DECHAR =SIMP(statut='o',typ='R'), XN =SIMP(statut='f',typ='R'), @@ -6407,7 +9124,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, COHE =SIMP(statut='o',typ='R'), RESI_TRAC =SIMP(statut='o',typ='R'), ), - CAM_CLAY_THM =FACT(statut='f',min=0,max=1, + CAM_CLAY_THM =FACT(statut='f', NU =SIMP(statut='f',typ='R'), LAMBDA =SIMP(statut='o',typ='R'), KAPA =SIMP(statut='o',typ='R'), @@ -6423,7 +9140,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, ALPHA3_PC =SIMP(statut='f',typ='R'), ALPHA_S =SIMP(statut='f',typ='R'), ), - SURF_ETAT_NSAT =FACT(statut='f',min=0,max=1, + SURF_ETAT_NSAT =FACT(statut='f', E_CHAR =SIMP(statut='o',typ='R'), E_DECHAR =SIMP(statut='o',typ='R'), XN =SIMP(statut='f',typ='R'), @@ -6447,7 +9164,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + ELAS_COQUE =FACT(statut='f', 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',), @@ -6503,7 +9220,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, RHO =SIMP(statut='f',typ='R'), ALPHA =SIMP(statut='f',typ='R'), ), - ELAS_COQUE_FO =FACT(statut='f',min=0,max=1, + ELAS_COQUE_FO =FACT(statut='f', 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',), @@ -6512,58 +9229,58 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, '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), + MEMB_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEMB_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLEX_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CISA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CISA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MF_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_LZLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_LZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_TZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ=fonction), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP","INST") ), + ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST") ), ), - APPUI_ELAS =FACT(statut='f',min=0,max=1, + APPUI_ELAS =FACT(statut='f', 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, + CABLE =FACT(statut='f', E =SIMP(statut='o',typ='R'), EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ), RHO =SIMP(statut='f',typ='R'), @@ -6574,36 +9291,53 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, # # 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",) ), + TRACTION =FACT(statut='f', + SIGM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP","HYDR","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 =FACT(statut='f', + 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",) ), + ECRO_LINE_FO =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + BETON_ECRO_LINE =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ='R'), + SYT =SIMP(statut='o',typ='R'), + SYC =SIMP(statut='f',typ='R'), ), - PRAGER =FACT(statut='f',min=0,max=1, + BETON_REGLE_PR =FACT(statut='f', + D_SIGM_EPSI =SIMP(statut='o',typ='R'), + SYT =SIMP(statut='o',typ='R'), + SYC =SIMP(statut='f',typ='R'), + EPSC =SIMP(statut='f',typ='R'), + N =SIMP(statut='f',typ='R'), + ), + ENDO_ORTH_BETON =FACT(statut='f', + ALPHA =SIMP(statut='f',typ='R',defaut=0.9), + K0 =SIMP(statut='o',typ='R'), + K1 =SIMP(statut='o',typ='R'), + K2 =SIMP(statut='f',typ='R',defaut=7.E-4), + ECROB =SIMP(statut='o',typ='R'), + ECROD =SIMP(statut='o',typ='R'), + ), + PRAGER =FACT(statut='f', C =SIMP(statut='o',typ='R'), ), - 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",) ), + PRAGER_FO =FACT(statut='f', + C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - ECRO_FLEJOU =FACT(statut='f',min=0,max=1, + ECRO_FLEJOU =FACT(statut='f', 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, + TAHERI =FACT(statut='f', R_0 =SIMP(statut='o',typ='R'), ALPHA =SIMP(statut='o',typ='R'), M =SIMP(statut='o',typ='R'), @@ -6613,18 +9347,18 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + TAHERI_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_INF =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + ROUSSELIER =FACT(statut='f', D =SIMP(statut='o',typ='R'), SIGM_1 =SIMP(statut='o',typ='R'), PORO_INIT =SIMP(statut='o',typ='R'), @@ -6634,23 +9368,23 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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), + ROUSSELIER_FO =FACT(statut='f', + D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PORO_INIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - ROUSS_VISC =FACT(statut='f',min=0,max=1, + VISC_SINH =FACT(statut='f', SIGM_0 =SIMP(statut='o',typ='R'), EPSI_0 =SIMP(statut='o',typ='R'), M =SIMP(statut='o',typ='R'), ), - CHABOCHE =FACT(statut='f',min=0,max=1, + CHABOCHE =FACT(statut='f', R_I =SIMP(statut='o',typ='R'), R_0 =SIMP(statut='o',typ='R'), B =SIMP(statut='o',typ='R'), @@ -6661,7 +9395,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, C1 =SIMP(statut='o',typ='R'), C2 =SIMP(statut='o',typ='R'), ), - CIN1_CHAB =FACT(statut='f',min=0,max=1, + CIN1_CHAB =FACT(statut='f', R_0 =SIMP(statut='o',typ='R'), R_I =SIMP(statut='f',typ='R'), B =SIMP(statut='f',typ='R',defaut= 0.0E+0), @@ -6671,18 +9405,18 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + CIN1_CHAB_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)), + ), + CIN2_CHAB =FACT(statut='f', R_0 =SIMP(statut='o',typ='R'), R_I =SIMP(statut='f',typ='R'), B =SIMP(statut='f',typ='R',defaut= 0.E+0 ), @@ -6694,20 +9428,20 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + CIN2_CHAB_FO =FACT(statut='f', + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C2_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + VISCOCHAB =FACT(statut='f', K_0 =SIMP(statut='o',typ='R'), A_K =SIMP(statut='o',typ='R'), A_R =SIMP(statut='o',typ='R'), @@ -6734,35 +9468,35 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + VISCOCHAB_FO =FACT(statut='f', + K_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ALP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + QR_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_X1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G_X2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + POLY_CFC =FACT(statut='f', TEXTURE =SIMP(statut='o',typ=(tabl_texture) ), DL =SIMP(statut='f',typ='R'), DA =SIMP(statut='f',typ='R'), @@ -6778,57 +9512,118 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, D1 =SIMP(statut='o',typ='R'), C2 =SIMP(statut='o',typ='R'), ), - POLY_CFC_FO =FACT(statut='f',min=0,max=1, + POLY_CFC_FO =FACT(statut='f', 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, + DL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + DA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TAU_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + HL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + LEMAITRE =FACT(statut='f', 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",) ), + LEMAITRE_IRRA =FACT(statut='f', + 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 ), + 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 ), + GRAN_A =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GRAN_B =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GRAN_S =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), - ZIRC_EPRI =FACT(statut='f',min=0,max=1, + LMARC_IRRA =FACT(statut='f', + 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'), + GRAN_A =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GRAN_B =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + GRAN_S =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + ZIRC_CYRA2 =FACT(statut='f', + EPSI_FAB =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP_RECUIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + FLUX_PHI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ), + ), + VISC_IRRA_LOG =FACT(statut='f', + A =SIMP(statut='f',typ='R',defaut= 1.28E-1), + B =SIMP(statut='f',typ='R',defaut= 0.01159), + CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), + ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), + FLUX_PHI =SIMP(statut='o',typ='R',), + ), + GRAN_IRRA_LOG =FACT(statut='f', + A =SIMP(statut='f',typ='R',defaut= 1.28E-1), + B =SIMP(statut='f',typ='R',defaut= 0.01159), + CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), + ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), + FLUX_PHI =SIMP(statut='o',typ='R',), + GRAN_A =SIMP(statut='f',typ='R',defaut= 0.E+0), + GRAN_B =SIMP(statut='f',typ='R',defaut= 0.E+0), + GRAN_S =SIMP(statut='f',typ='R',defaut= 0.E+0), + ), + LEMA_SEUIL =FACT(statut='f', + A =SIMP(statut='o',typ='R',), + S =SIMP(statut='o',typ='R',), + ), + LEMA_SEUIL_FO=FACT(statut='f', + A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + ZIRC_EPRI =FACT(statut='f', 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='f',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 ), + LEMAITRE_FO =FACT(statut='f', + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + UN_SUR_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - OHNO =FACT(statut='f',min=0,max=1, + OHNO =FACT(statut='f', R_I =SIMP(statut='o',typ='R'), R_0 =SIMP(statut='o',typ='R'), B =SIMP(statut='o',typ='R'), @@ -6849,29 +9644,29 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + OHNO_FO =FACT(statut='f', + R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PHI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + GAMMA1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + GAMMA2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + GAMMA3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + GAMMA4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + GAMMA5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M3 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M4 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M5 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + LMARC =FACT(statut='f', DE_0 =SIMP(statut='o',typ='R'), R_0 =SIMP(statut='o',typ='R'), N =SIMP(statut='o',typ='R'), @@ -6902,39 +9697,39 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + LMARC_FO =FACT(statut='f', + DE_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Y_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Y_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + P1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + P2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M11 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M22 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M33 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M66 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N11 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N22 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N33 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N66 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q11 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q22 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q33 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + Q66 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R11 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R22 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R33 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R66 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + VMIS_POUTRE =FACT(statut='f', NP =SIMP(statut='o',typ='R'), MEY =SIMP(statut='o',typ='R'), MPY =SIMP(statut='o',typ='R'), @@ -6946,27 +9741,27 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + VMIS_POUTRE_FO =FACT(statut='f', + NP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MPY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CAY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CBY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MPZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CAZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CBZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MPX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + ARME =FACT(statut='f', 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, + ASSE_CORN =FACT(statut='f', NU_1 =SIMP(statut='o',typ='R'), MU_1 =SIMP(statut='o',typ='R'), DXU_1 =SIMP(statut='o',typ='R'), @@ -6982,27 +9777,36 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, KRX =SIMP(statut='o',typ='R'), KRZ =SIMP(statut='o',typ='R'), ), - DIS_CONTACT =FACT(statut='f',min=0,max=1, + DIS_CONTACT =FACT(statut='f', 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 ), + AMOR_NOR =SIMP(statut='f',typ='R' ), + AMOR_TAN =SIMP(statut='f',typ='R' ), 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), + EFFO_N_INIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',), + EXCLUS('RELA_MZ','ANGLE_1'), + PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4', + 'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),), + RIGI_N_IRRA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RIGI_N_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RELA_MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANGLE_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANGLE_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANGLE_3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ANGLE_4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MOMENT_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MOMENT_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MOMENT_3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MOMENT_4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ), ), - NADAI_B =FACT(statut='f',min=0,max=1, + NADAI_B =FACT(statut='f', F_C =SIMP(statut='o',typ='R'), F_T =SIMP(statut='o',typ='R'), CRIT_E_C =SIMP(statut='o',typ='R'), @@ -7011,22 +9815,19 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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), + BETON_DOUBLE_DP =FACT(statut='f', + F_C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_BIAX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ENER_COMP_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + ENER_TRAC_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ), ), - LABORD_1D=FACT(statut='f',min=0 ,max=1, + LABORD_1D=FACT(statut='f',min=0 , Y01 =SIMP(statut='o',typ='R'), Y02 =SIMP(statut='o',typ='R'), A1 =SIMP(statut='o',typ='R'), @@ -7037,7 +9838,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, BETA2 =SIMP(statut='o',typ='R'), SIGF =SIMP(statut='o',typ='R'), ), - MAZARS=FACT(statut='f',min=0 ,max=1, + MAZARS=FACT(statut='f',min=0 , EPSD0 =SIMP(statut='o',typ='R'), BETA =SIMP(statut='o',typ='R'), AC =SIMP(statut='o',typ='R'), @@ -7045,16 +9846,32 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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), + MAZARS_FO=FACT(statut='f',min=0 , + EPSD0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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, + AC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + AT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","SECH","HYDR") ), + ), + JOINT_BA=FACT(statut='f',min=0 ,max=1, + HPEN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0), + GTT =SIMP(statut='o',typ='R',val_min=0.E+0), + GAMD0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1), + AD1 =SIMP(statut='o',typ='R',val_min=0.E+0), + BD1 =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1), + GAMD2 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), + AD2 =SIMP(statut='o',typ='R',val_min=0.E+0), + BD2 =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), + VIFROT =SIMP(statut='o',typ='R',val_min=0.E+0), + FA =SIMP(statut='o',typ='R',val_min=0.E+0), + FC =SIMP(statut='o',typ='R',val_min=0.E+0), + EPSTR0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), + ADN =SIMP(statut='o',typ='R',val_min=0.E+0), + BDN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), + ), + VENDOCHAB =FACT(statut='f', S_VP =SIMP(statut='o',typ='R'), SEDVP1 =SIMP(statut='o',typ='R'), SEDVP2 =SIMP(statut='o',typ='R'), @@ -7065,20 +9882,19 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + VENDOCHAB_FO =FACT(statut='f', + S_VP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SEDVP1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SEDVP2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + N_VP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_VP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K_VP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + K_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","X",) ), + ), + PINTO_MENEGOTTO =FACT(statut='f', SY =SIMP(statut='o',typ='R'), EPSI_ULTM =SIMP(statut='o',typ='R'), SIGM_ULTM =SIMP(statut='o',typ='R'), @@ -7092,18 +9908,20 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + BPEL_BETON =FACT(statut='f', 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, + BPEL_ACIER =FACT(statut='f', + regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',), + PRESENT_PRESENT('MU0_RELAX','F_PRG',),), 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'), + F_PRG =SIMP(statut='f',typ='R'), + FROT_COURB =SIMP(statut='f',typ='R',defaut=0.E+0), + FROT_LINE =SIMP(statut='f',typ='R',defaut=0.E+0), ), - CAM_CLAY =FACT(statut='f',min=0,max=1, + CAM_CLAY =FACT(statut='f', PORO =SIMP(statut='o',typ='R'), LAMBDA =SIMP(statut='o',typ='R'), KAPA =SIMP(statut='o',typ='R'), @@ -7111,7 +9929,16 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, PRES_CRIT =SIMP(statut='o',typ='R'), PA =SIMP(statut='o',typ='R'), ), - CJS =FACT(statut='f',min=0,max=1, + BARCELONE =FACT(statut='f', + R =SIMP(statut='o',typ='R'), + BETA =SIMP(statut='o',typ='R'), + KC =SIMP(statut='o',typ='R'), + PC0_INIT =SIMP(statut='o',typ='R'), + KAPAS =SIMP(statut='o',typ='R'), + LAMBDAS =SIMP(statut='o',typ='R'), + ALPHAB =SIMP(statut='f',typ='R'), + ), + CJS =FACT(statut='f', BETA_CJS =SIMP(statut='o',typ='R'), RM =SIMP(statut='o',typ='R'), N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), @@ -7127,13 +9954,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + ECRO_ASYM_LINE =FACT(statut='f', 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, + GRANGER_FP =FACT(statut='f', J1 =SIMP(statut='f',typ='R'), J2 =SIMP(statut='f',typ='R'), J3 =SIMP(statut='f',typ='R'), @@ -7152,50 +9979,113 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, TAUX_8 =SIMP(statut='f',typ='R'), QSR_K =SIMP(statut='f',typ='R'), ), - V_GRANGER_FP =FACT(statut='f',min=0,max=1, + GRANGER_FP_INDT =FACT(statut='f', + 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'), + ), + V_GRANGER_FP =FACT(statut='f', 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",) ), + FONC_V =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ), ), - GRANGER_FD =FACT(statut='f',min=0,max=1, + BAZANT_FD =FACT(statut='f', LAM_VISC =SIMP(statut='o',typ='R'), - ), - + ), + BETON_UMLV_FP =FACT(statut='f',min=0 , + 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'), + ETA_FD =SIMP(statut='f',typ='R'), + ), + GLRC =FACT(statut='f',min=0,max=1, + MEX1 =SIMP(statut='o',typ='R',val_min=0.E+0), + MEY1 =SIMP(statut='o',typ='R',val_min=0.E+0), + MEX2 =SIMP(statut='o',typ='R',val_max=0.E+0), + MEY2 =SIMP(statut='o',typ='R',val_max=0.E+0), + CX1 =SIMP(statut='o',typ='R',val_min=0.E+0), + CY1 =SIMP(statut='o',typ='R',val_min=0.E+0), + CXY1 =SIMP(statut='o',typ='R',val_min=0.E+0), + CX2 =SIMP(statut='o',typ='R',val_min=0.E+0), + CY2 =SIMP(statut='o',typ='R',val_min=0.E+0), + CXY2 =SIMP(statut='o',typ='R',val_min=0.E+0), + ), + GLRC_FO =FACT(statut='f',min=0,max=1, + MEX1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEY1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEX2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + MEY2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CX1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CY1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CXY1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CX2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CY2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CXY2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("NORM",) ), + ), + GATT_MONERIE =FACT(statut='f',min=0,max=1, + D_GRAIN =SIMP(statut='o',typ='R',val_min=0.E+0), + PORO_INIT =SIMP(statut='o',typ='R',val_min=0.E+0), + EPSI_01 =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0), + EPSI_02 =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0), + ), + CORR_ACIER =FACT(statut='f',min=0 ,max=1, + D_CORR =SIMP(statut='o',typ='R'), + ECRO_K =SIMP(statut='o',typ='R'), + ECRO_M =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + ), # # comportement thermique # - THER_NL =FACT(statut='f',min=0,max=1, + THER_NL =FACT(statut='f', 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), + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + THER_HYDR =FACT(statut='f', + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + AFFINITE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",) ), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("HYDR","TEMP",) ), ), - THER =FACT(statut='f',min=0,max=1, + THER =FACT(statut='f', 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_FO =FACT(statut='f', + LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ), ), - THER_ORTH =FACT(statut='f',min=0,max=1, + THER_ORTH =FACT(statut='f', 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, + THER_COQUE =FACT(statut='f', COND_LMM =SIMP(statut='o',typ='R'), COND_TMM =SIMP(statut='o',typ='R'), COND_LMP =SIMP(statut='o',typ='R'), @@ -7213,48 +10103,49 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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, + THER_COQUE_FO =FACT(statut='f', + COND_LMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_LSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_TSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COND_NSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_MM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_MP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_PP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CMAS_SI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + SECH_GRANGER =FACT(statut='f', 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, + SECH_MENSI =FACT(statut='f', A =SIMP(statut='o',typ='R'), B =SIMP(statut='o',typ='R'), ), - SECH_BAZANT =FACT(statut='f',min=0,max=1, + SECH_BAZANT =FACT(statut='f', D1 =SIMP(statut='o',typ='R'), ALPHA_BAZANT =SIMP(statut='o',typ='R'), N =SIMP(statut='o',typ='R'), + FONC_DESORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - 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",) ), + SECH_NAPPE =FACT(statut='f', + FONCTION =SIMP(statut='o',typ=(nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","TSEC",) ), ), # # comportement métallurgique # - META_ACIER =FACT(statut='f',min=0,max=1, + META_ACIER =FACT(statut='f', TRC =SIMP(statut='o',typ=(tabl_trc) ), AR3 =SIMP(statut='o',typ='R'), ALPHA =SIMP(statut='o',typ='R'), @@ -7268,7 +10159,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, D10 =SIMP(statut='f',typ='R'), WSR_K =SIMP(statut='f',typ='R'), ), - META_ZIRC =FACT(statut='f',min=0,max=1, + META_ZIRC =FACT(statut='f', TDEQ =SIMP(statut='o',typ='R'), N =SIMP(statut='o',typ='R'), K =SIMP(statut='o',typ='R'), @@ -7280,14 +10171,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, AR =SIMP(statut='o',typ='R'), BR =SIMP(statut='o',typ='R'), ), - DURT_META =FACT(statut='f',min=0,max=1, + DURT_META =FACT(statut='f', 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, + ELAS_META =FACT(statut='f', E =SIMP(statut='o',typ='R'), NU =SIMP(statut='o',typ='R'), F_ALPHA =SIMP(statut='o',typ='R'), @@ -7300,96 +10191,93 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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), + SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), 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",)), + S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("META",)), ), - ELAS_META_FO =FACT(statut='f',min=0,max=1, + ELAS_META_FO =FACT(statut='f', 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), + E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + F_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",)), + ), + META_ECRO_LINE =FACT(statut='f', + F1_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)), + ), + META_TRACTION =FACT(statut='f', + SIGM_F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_F4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP",)), + ), + META_VISC_FO =FACT(statut='f', + F1_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F1_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + C_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + META_PT =FACT(statut='f', 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, + F1_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F2_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F3_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + F4_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",) ), + ), + META_RE =FACT(statut='f', C_F1_THETA =SIMP(statut='f',typ='R'), C_F2_THETA =SIMP(statut='f',typ='R'), C_F3_THETA =SIMP(statut='f',typ='R'), @@ -7402,13 +10290,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, # # comportement fluide # - FLUIDE =FACT(statut='f',min=0,max=1, + FLUIDE =FACT(statut='f', 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, + PORO_JOINT =FACT(statut='f', RHO_FLUI =SIMP(statut='o',typ='R'), ENTRO_FLUI =SIMP(statut='o',typ='R'), BIOT_M =SIMP(statut='o',typ='R'), @@ -7420,35 +10308,1188 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, SOURCE_INIT =SIMP(statut='o',typ='R'), OMEGA_0 =SIMP(statut='o',typ='R'), ), - THM_LIQU =FACT(statut='f',min=0,max=1, +# ================================================================================= +# COMPORTEMENT THERMO_HYDRO_MECANIQUE +# LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES +# DE LA LOI DE COUPLAGE THM DE LA RELATION +# LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS +# DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE +# ET LIQU_AD_GAZ_VAPE +# POUR LES LOIS DE COUPLAGE LIQU_SATU_GAT ET LIQU_NSAT_GAT +# ON NE MODIFIE RIEN +# LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE : +# 1 --> LIQU_SATU +# 2 --> GAZ +# 3 --> LIQU_VAPE +# 4 --> LIQU_VAPE_GAZ +# 5 --> LIQU_GAZ +# 6 --> LIQU_GAZ_ATM +# 7 --> LIQU_SATU_GAT +# 8 --> LIQU_NSAT_GAT +# 9 --> LIQU_AD_GAZ_VAPE +# ================================================================================= + COMP_THM = SIMP(statut='f', typ='TXM', + into = ( "LIQU_SATU" , + "LIQU_GAZ" , + "GAZ" , + "LIQU_GAZ_ATM" , + "LIQU_VAPE_GAZ" , + "LIQU_VAPE" , + "LIQU_SATU_GAT" , + "LIQU_NSAT_GAT" , + "LIQU_AD_GAZ_VAPE" , + ) ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_SATU ------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU ----------------------------------------------- +# ================================================================================= + b_liqusatu = BLOC(condition = "COMP_THM == 'LIQU_SATU' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 1.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='f',typ='R'), + EMMAG = SIMP(statut='f',typ='R'), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ -------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- +# ================================================================================= + b_liqugaz = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PRE2 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 5.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE GAZ ------------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------ +# ================================================================================= + b_gaz = BLOC(condition = "COMP_THM == 'GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='o',typ='R'), + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 2.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_LIQU =FACT(statut='f', + RHO =SIMP(statut='f',typ='R'), + UN_SUR_K =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_HENRY =SIMP(statut='f',typ='R'), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ---------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- +# ================================================================================= + b_liqugazatm = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + PRES_VAPE = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 6.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + R_GAZ =SIMP(statut='f',typ='R'), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='f', + MASS_MOL = SIMP(statut='f',typ='R'), + VISC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CP = SIMP(statut='f',typ='R'), + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ --------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------ +# ================================================================================= + b_liquvapegaz = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + 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'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 4.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVE ---------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT" ,"PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE ------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS--------- +# ================================================================================= + b_liquadvape = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + 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'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 9.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES FACULTATIVES ------------------------------------ +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_AIR_DISS = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='o',typ='R'), + COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",),), + ), + ), +# ================================================================================= +# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE ------------------------------------------- +# ================================================================================= +# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- +# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ --------------------------------- +# ================================================================================= + b_liquvape = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE", +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_INIT = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + PRE1 = SIMP(statut='o',typ='R'), + PORO = SIMP(statut='o',typ='R'), + PRES_VAPE = SIMP(statut='o',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + TEMP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + PRE2 = SIMP(statut='f',typ='R'), + DEGR_SATU = SIMP(statut='f',typ='R'), + PRES_ATMO = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 3.0,), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_DIFFU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + R_GAZ = SIMP(statut='o',typ='R'), + RHO = SIMP(statut='o',typ='R'), + BIOT_COEF = SIMP(statut='o',typ='R'), + PESA_X = SIMP(statut='o',typ='R'), + PESA_Y = SIMP(statut='o',typ='R'), + PESA_Z = SIMP(statut='o',typ='R'), + SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + CP = SIMP(statut='f',typ='R'), + PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMB_CT = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES INUTILES ---------------------------------------- +# --------------------------------------------------------------------------------- + EMMAG = SIMP(statut='f',typ='R'), + SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ) , +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_LIQU = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + RHO = SIMP(statut='o',typ='R'), + UN_SUR_K = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- +# --------------------------------------------------------------------------------- + ALPHA = SIMP(statut='f',typ='R'), + CP = SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES --------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- +# ================================================================================= + THM_VAPE_GAZ = FACT(statut='o', +# --------------------------------------------------------------------------------- +# ------------------- DONNEES OBLIGATOIRE ------------------------------------- +# --------------------------------------------------------------------------------- + MASS_MOL = SIMP(statut='o',typ='R'), + CP = SIMP(statut='o',typ='R'), + VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), +# --------------------------------------------------------------------------------- +# ------------------- DONNEES CACHEES ------------------------------------------- +# --------------------------------------------------------------------------------- + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), +# ================================================================================= +# --- MOT-CLE INUTILE ------------------------------------------------------------- +# ================================================================================= + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + ), +# ================================================================================= + b_liqusatugat = BLOC(condition = "COMP_THM == 'LIQU_SATU_GAT' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU_GAT", + THM_LIQU =FACT(statut='f', RHO =SIMP(statut='o',typ='R'), UN_SUR_K =SIMP(statut='f',typ='R'), ALPHA =SIMP(statut='f',typ='R'), CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=fonction), - D_VISC_TEMP =SIMP(statut='f',typ=fonction), - LAMBDA =SIMP(statut='f',typ=fonction), - D_LAMBDA_TEMP =SIMP(statut='f',typ=fonction), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), COEF_HENRY =SIMP(statut='f',typ='R'), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), ), - THM_GAZ =FACT(statut='f',min=0,max=1, + THM_VAPE_GAZ =FACT(statut='f', MASS_MOL =SIMP(statut='f',typ='R'), CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=fonction), - 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",)), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + THM_AIR_DISS = FACT(statut='f', + CP = SIMP(statut='f',typ='R'), + COEF_HENRY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP",),), + ), + THM_INIT =FACT(statut='f', + TEMP =SIMP(statut='o',typ='R'), + PRE1 =SIMP(statut='o',typ='R'), + PRE2 =SIMP(statut='o',typ='R'), + PORO =SIMP(statut='o',typ='R'), + PRES_VAPE =SIMP(statut='o',typ='R'), + DEGR_SATU =SIMP(statut='f',typ='R'), + PRES_ATMO =SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 7.0,), + ), + THM_DIFFU =FACT(statut='f', + R_GAZ =SIMP(statut='o',typ='R'), + RHO =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + BIOT_COEF =SIMP(statut='f',typ='R'), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PESA_X =SIMP(statut='f',typ='R'), + PESA_Y =SIMP(statut='f',typ='R'), + PESA_Z =SIMP(statut='f',typ='R'), + PERM_IN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICK =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FICK_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ), + ), + b_liqunsatgat = BLOC(condition = "COMP_THM == 'LIQU_NSAT_GAT' ", + fr="Paramètres nécessaires pour une loi de couplage de type LIQU_NSAT_GAT", + THM_LIQU =FACT(statut='f', + RHO =SIMP(statut='o',typ='R'), + UN_SUR_K =SIMP(statut='f',typ='R'), + ALPHA =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_HENRY =SIMP(statut='f',typ='R'), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), ), - THM_VAPE_GAZ =FACT(statut='f',min=0,max=1, + THM_GAZ =FACT(statut='f', + MASS_MOL =SIMP(statut='f',typ='R'), + CP =SIMP(statut='f',typ='R'), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), + ), + THM_AIR_DISS = FACT(statut='f', + CP = SIMP(statut='f',typ='R'), + COEF_HENRY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ), + THM_VAPE_GAZ =FACT(statut='f', MASS_MOL =SIMP(statut='f',typ='R'), CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=fonction), - D_VISC_TEMP =SIMP(statut='f',typ=fonction), - VERI_P1 =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)), + VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP",)), ), - THM_INIT =FACT(statut='f',min=0,max=1, + THM_INIT =FACT(statut='f', TEMP =SIMP(statut='o',typ='R'), PRE1 =SIMP(statut='o',typ='R'), PRE2 =SIMP(statut='o',typ='R'), @@ -7456,42 +11497,59 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, PRES_VAPE =SIMP(statut='o',typ='R'), DEGR_SATU =SIMP(statut='f',typ='R'), PRES_ATMO =SIMP(statut='f',typ='R'), +# --------------------------------------------------------------------------------- +# ------------------- DONNEE CACHEE --------------------------------------------- +# --------------------------------------------------------------------------------- + COMP_THM = SIMP(statut='c',typ='R',defaut= 8.0,), ), - THM_DIFFU =FACT(statut='f',min=0,max=1, + THM_DIFFU =FACT(statut='f', R_GAZ =SIMP(statut='o',typ='R'), RHO =SIMP(statut='f',typ='R'), CP =SIMP(statut='f',typ='R'), BIOT_COEF =SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=fonction), - D_SATU_PRES =SIMP(statut='f',typ=fonction), + SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), PESA_X =SIMP(statut='f',typ='R'), PESA_Y =SIMP(statut='f',typ='R'), PESA_Z =SIMP(statut='f',typ='R'), - PERM_IN =SIMP(statut='f',typ=fonction), - 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",) ), + PERM_IN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_END =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',), + PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ), + PERMIN_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERMIN_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICK =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FICK_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FICK_GAZ_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + LAMBDA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_LAMBDA_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_SIGMA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PERM_G_INTR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + CHAL_VAPO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PV =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_PG =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKV_S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FV_PG =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_PL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + FICKA_S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + D_FA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ), + ), ), -# # courbes et coefficients associés à la fatigue et au dommage # - FATIGUE =FACT(statut='f',min=0,max=1, + FATIGUE =FACT(statut='f', regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), @@ -7499,7 +11557,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, ENSEMBLE('A0','A1','A2','A3','SL'), PRESENT_PRESENT('A0','E_REFE'), ENSEMBLE('D0','TAU0'),), - WOHLER =SIMP(statut='f',typ=fonction), + WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), A_BASQUIN =SIMP(statut='f',typ='R'), BETA_BASQUIN =SIMP(statut='f',typ='R'), A0 =SIMP(statut='f',typ='R'), @@ -7507,55 +11565,77 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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), + MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), E_REFE =SIMP(statut='f',typ='R'), D0 =SIMP(statut='f',typ='R'), TAU0 =SIMP(statut='f',typ='R'), - VERI_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, - MATAKE_A =SIMP(statut='o',typ='R'), - MATAKE_B =SIMP(statut='o',typ='R'), - ENDU_FT =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ), + ), + DOMMA_LEMAITRE =FACT(statut='f', + S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), + ), + CISA_PLAN_CRIT =FACT(statut='f', + CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE","DANG_VAN_MODI_AC","DANG_VAN_MODI_AV","DOMM_MAXI") ), + + b_critere_matake =BLOC(condition="CRITERE=='MATAKE'", + fr="Cisaillement plan critique critère de matake", + MATAKE_A =SIMP(statut='o',typ='R'), + MATAKE_B =SIMP(statut='o',typ='R'), + COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", + fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", + D_VAN_A =SIMP(statut='o',typ='R'), + D_VAN_B =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), + + b_crit_domm_maxi =BLOC(condition="CRITERE=='DOMM_MAXI'", + fr="Critère pour chargement non périodique : domm_maxi", + DOMM_A =SIMP(statut='o',typ='R'), + DOMM_B =SIMP(statut='o',typ='R'), + COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), + ), ), # # autres comportements ... # - WEIBULL =FACT(statut='f',min=0,max=1, + WEIBULL =FACT(statut='f', M =SIMP(statut='o',typ='R'), VOLU_REFE =SIMP(statut='o',typ='R'), SIGM_REFE =SIMP(statut='o',typ='R'), SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), ), - WEIBULL_FO =FACT(statut='f',min=0,max=1, + WEIBULL_FO =FACT(statut='f', 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), + SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), 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), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - NON_LOCAL =FACT(statut='f',min=0,max=1, + NON_LOCAL =FACT(statut='f', LONG_CARA =SIMP(statut='o',typ='R'), COEF_RIGI_MINI =SIMP(statut='f',typ='R'), ), - RUPT_FRAG =FACT(statut='f',min=0,max=1, + RUPT_FRAG =FACT(statut='f', GC =SIMP(statut='o',typ='R'), SIGM_C =SIMP(statut='f',typ='R'), - SAUT_C =SIMP(statut='f',typ='R'), + PENA_ADHERENCE =SIMP(statut='f',typ='R'), + PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), + ), + RUPT_FRAG_FO =FACT(statut='f', + GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + PENA_CONTACT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),defaut=1.), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - RCCM =FACT(statut='f',min=0,max=1, + RCCM =FACT(statut='f', SY_02 =SIMP(statut='f',typ='R'), SM =SIMP(statut='f',typ='R'), SU =SIMP(statut='f',typ='R'), @@ -7564,16 +11644,16 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, 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",) ), + RCCM_FO =FACT(statut='f', + SY_02 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + N_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + M_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VERI_P =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ), ), - LAIGLE =FACT(statut='f',min=0,max=1, + LAIGLE =FACT(statut='f', GAMMA_ULT =SIMP(statut='o',typ='R'), GAMMA_E =SIMP(statut='o',typ='R'), M_ULT =SIMP(statut='o',typ='R'), @@ -7587,12 +11667,103 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, KSI =SIMP(statut='o',typ='R'), GAMMA_CJS =SIMP(statut='o',typ='R'), SIGMA_P1 =SIMP(statut='o',typ='R'), - SIGMA_P2 =SIMP(statut='o',typ='R'), PA =SIMP(statut='o',typ='R'), ), + DRUCK_PRAGER =FACT(statut='f', + ALPHA =SIMP(statut='o',typ='R'), + SY =SIMP(statut='o',typ='R'), + P_ULTM =SIMP(statut='o',typ='R'), + ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), + b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", + H =SIMP(statut='o',typ='R'), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), + ), + b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", + SY_ULTM =SIMP(statut='o',typ='R'), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), + ), + ), +#### MONOCRISTAL + + ECOU_VISC1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + ), + ECOU_VISC2 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + N =SIMP(statut='o',typ='R'), + K =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + D =SIMP(statut='o',typ='R'), + A =SIMP(statut='o',typ='R'), + ), + ECOU_VISC3 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), + K =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), + TAUMU =SIMP(statut='o',typ='R',fr="Seuil d ecoulement, en unite de contraintes"), + GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"), + DELTAV =SIMP(statut='o',typ='R',fr="Volume d activation"), + DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), + ), + ECOU_PLAS1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_PLAS",),), + C =SIMP(statut='o',typ='R'), + ), + ECRO_ISOT1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), + R_0 =SIMP(statut='o',typ='R'), + Q =SIMP(statut='o',typ='R'), + B =SIMP(statut='o',typ='R'), + H =SIMP(statut='o',typ='R'), + ), + ECRO_ISOT2 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), + R_0 =SIMP(statut='o',typ='R'), + Q1 =SIMP(statut='o',typ='R'), + B1 =SIMP(statut='o',typ='R'), + H =SIMP(statut='o',typ='R'), + Q2 =SIMP(statut='o',typ='R'), + B2 =SIMP(statut='o',typ='R'), + ), + ECRO_CINE1 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), + D =SIMP(statut='o',typ='R'), + ), + ECRO_CINE2 =FACT(statut='f', + TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), + D =SIMP(statut='o',typ='R'), + GM =SIMP(statut='o',typ='R'), + PM =SIMP(statut='o',typ='R'), + C =SIMP(statut='o',typ='R'), + ), + +#### MONOCRISTAL + + DRUCK_PRAGER_FO =FACT(statut='f', + ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)), + SY =SIMP(statut='o',typ=(fonction_sdaster,formule)), + P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), + b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", + H =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), + ), + b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", + fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", + SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), + TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), + ), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/08/2004 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7611,28 +11782,36 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater, # 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, - SOUS_STRUC =FACT(statut='o',min=1,max='**', + SOUS_STRUC =FACT(statut='o',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='**', + LIAISON =FACT(statut='o',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='**', + regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), + EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), + GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), + ), + VERIF =FACT(statut='f',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") ), ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7650,20 +11829,17 @@ DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, # 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, +DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=nappe_sdaster, fr="Définition des valeurs d une fonction de deux variables réelles", - docu="U4.31.03-g1",reentrant='n', + 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_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), PARA =SIMP(statut='o',typ='R',max='**'), - FONCTION =SIMP(statut='f',typ=fonction,max='**' ), + FONCTION =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),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='**', @@ -7679,7 +11855,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=fonction, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7697,9 +11873,9 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op= 4,sd_prod=fonction, # 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 +DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=obstacle_sdaster ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire", - docu="U4.44.21-e",reentrant='n', + reentrant='n', UIinfo={"groupes":("Modélisation",)}, TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET", @@ -7732,7 +11908,7 @@ DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=obstacle VALE =SIMP(statut='f',typ='R',max='**'), VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7754,73 +11930,146 @@ DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=obstacle 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.xx-a",reentrant='n', + 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, + VALE =SIMP(statut='o',typ='R', 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 +#& MODIF COMMANDE DATE 15/11/2004 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. -# ====================================================================== -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' ),), +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE BOITEAU O.BOITEAU + +from Macro.defi_part_feti_ops import defi_part_feti_ops + +DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster, + reentrant='n', + fr="Creation partitionnement en sous-domaines pour FETI", + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), + NB_PART =SIMP(statut='o',typ='I'), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), + METHODE =SIMP(statut='o',typ='TXM',into=("PMETIS","KMETIS","AUTRE",), defaut="PMETIS" ), + b_methode =BLOC(condition="METHODE == 'AUTRE'", fr="Autre logiciel", + LOGICIEL =SIMP(statut='f',typ='TXM'), + ), + NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), + INFO =SIMP(statut='f',typ='I',into=(1, 2, 3, 4,5), defaut=1), +); +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE ASSIRE A.ASSIRE + +DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster, + fr="Creation partitionnement en sous-domaines pour FETI", + docu="U4.23.05",reentrant='n', + UIinfo={"groupes":("Résolution",)}, + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), + NOM =SIMP(statut='f',typ='TXM',defaut='SD'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), + DEFI =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma), + GROUP_MA_BORD =SIMP(statut='f',typ=grma), + ), + EXCIT =FACT(statut='f',max='**', + CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), + ), +); +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_sdaster, + fr="Définition d'un spectre d'excitation turbulente", + 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', LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VISC_CINE =SIMP(statut='o',typ='R' ), + ), + SPEC_LONG_COR_2 =FACT(statut='f', + regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),), + LONG_COR =SIMP(statut='o',typ='R' ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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, + SPEC_LONG_COR_3 =FACT(statut='f', 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 ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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, + SPEC_LONG_COR_4 =FACT(statut='f', regles=(ENSEMBLE('BETA','GAMMA'),), LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=fonction ), + PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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, + SPEC_CORR_CONV_1=FACT(statut='f', LONG_COR_1 =SIMP(statut='o',typ='R' ), LONG_COR_2 =SIMP(statut='f',typ='R' ), VITE_FLUI =SIMP(statut='o',typ='R' ), @@ -7833,8 +12082,8 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre, 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 ), + SPEC_CORR_CONV_2=FACT(statut='f', + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), VITE_FLUI =SIMP(statut='o',typ='R' ), FREQ_COUP =SIMP(statut='f',typ='R' ), METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", @@ -7842,17 +12091,17 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre, 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, + SPEC_FONC_FORME =FACT(statut='f', regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), ENSEMBLE('INTE_SPEC','FONCTION'),), INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), - FONCTION =SIMP(statut='f',typ=fonction,max='**'), + FONCTION =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), NOEUD =SIMP(statut='o',typ=no), CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), ), - SPEC_EXCI_POINT =FACT(statut='f',max=1, + SPEC_EXCI_POINT =FACT(statut='f', regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), INTE_SPEC =SIMP(statut='f',typ=tabl_intsp ), GRAPPE_2 =SIMP(statut='f',typ='TXM', @@ -7868,11 +12117,11 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre, NOEUD =SIMP(statut='o',typ=no), ), CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 15/02/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7892,17 +12141,23 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre, # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Maillage",)}, - regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'), - PRESENT_PRESENT('MODE_CYCL','SECTEUR'), + regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'), + PRESENT_PRESENT('CYCLIQUE','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 ), + CYCLIQUE =FACT(statut='f',max='**', + regles=(UN_PARMI('MODE_CYCL','MAILLAGE'), + PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),), + MODE_CYCL =SIMP(statut='f',typ=mode_cycl ), + NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + ), MODELE_GENE =SIMP(statut='f',typ=modele_gene ), SQUELETTE =SIMP(statut='f',typ=squelette ), - RECO_GLOBAL =FACT(statut='f',min=1,max='**', + RECO_GLOBAL =FACT(statut='f',max='**', regles=(EXCLUS('TOUT','GROUP_NO_1'), PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'), PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'), @@ -7917,32 +12172,32 @@ DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, 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_GROUP_MA =FACT(statut='f',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='**'), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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='**', + SOUS_STRUC =FACT(statut='f',max='**', NOM =SIMP(statut='f',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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='**'), + SECTEUR =FACT(statut='f',max='**', + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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 +#& MODIF COMMANDE DATE 22/11/2004 AUTEUR JMBHH01 J.M.PROIX # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7961,19 +12216,19 @@ DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, # 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', + fr=" ",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, + PLAN =FACT(statut='o',min=1,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 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -7991,10 +12246,10 @@ DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture, # 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', +DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction_sdaster,reentrant='n', UIinfo={"groupes":("Outils métier",)}, fr="Calculer la fonction d évolution temporelle de température due à l effet JOULE dans un cable", - LIST_INST =SIMP(statut='o',typ=listr8), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), INST_CC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), INST_CC_FIN =SIMP(statut='f',typ='R',defaut= 1.0E+10), INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 1.0E+10), @@ -8002,7 +12257,7 @@ DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.MK. 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='**', + PARA_COND_1D =FACT(statut='f',max='**', INTE_CC =SIMP(statut='f',typ='R',defaut= 0.0E+0), INTE_RENC =SIMP(statut='f',typ='R',defaut= 0.0E+0), A =SIMP(statut='f',typ='R',defaut= 1.0E+0), @@ -8015,7 +12270,7 @@ DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.MK. ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8033,24 +12288,24 @@ DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.MK. # 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', +DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,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='**', + HIST_EXP =FACT(statut='o',max='**', VALE =SIMP(statut='o',typ='R',max='**'), ), - TEMP_MS =FACT(statut='o',min=1,max='**', + TEMP_MS =FACT(statut='o',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='**', + GRAIN_AUST =FACT(statut='f',max='**', DREF =SIMP(statut='f',typ='R'), A =SIMP(statut='f',typ='R'), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8068,77 +12323,14 @@ DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,docu="U4.43.04-e",reentrant= # 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', +DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, fr="Récupération du champ de déplacement interne à une sous-structure", DEPL_GLOBAL =SIMP(statut='o',typ=cham_no_depl_r), - MAILLE =SIMP(statut='o',typ=ma,max=1), + MAILLE =SIMP(statut='o',typ=ma,), NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8156,15 +12348,23 @@ DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,docu="U4.62.02 # 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", +DETRUIRE=PROC(nom="DETRUIRE",op=-7, UIinfo={"groupes":("Gestion du travail",)}, fr="Destruction d un concept utilisateur dans la base GLOBALE", op_init=ops.detruire, - CONCEPT =FACT(statut='o',min=01, - NOM =SIMP(statut='o',typ=assd,max='**'), - ), + regles=(UN_PARMI('CONCEPT','OBJET',),), + CONCEPT =FACT(statut='f',max='**', + NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), + ), + OBJET =FACT(statut='f',max='**', + CLASSE =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'), + CHAINE =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + POSITION =SIMP(statut='f',typ='I' ,max='**'), + ), + ALARME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',), + INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ), ); -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8182,26 +12382,26 @@ DETRUIRE=PROC(nom="DETRUIRE",op=-7,docu="U4.14.01-d", # 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', +DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction_sdaster,reentrant='n', UIinfo={"groupes":("Outils métier",)}, fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires", regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'), UN_PARMI('GROUP_MA_2','POIN_FIXE'),), - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), - LIST_ORDRE =SIMP(statut='f',typ=listis), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - GROUP_MA_1 =SIMP(statut='o',typ=grma,max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,max='**'), + GROUP_MA_1 =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), POIN_FIXE =SIMP(statut='f',typ='R',min=3,max=3), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 14/10/2002 AUTEUR BOYERE E.BOYERE +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8221,50 +12421,74 @@ DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction,docu="U4.MK.30-d", # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Résolution",)}, - BASE_MODALE =FACT(statut='o',min=1,max=1, + BASE_MODALE =FACT(statut='o', 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='**'), + BANDE =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),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='**'), + AMOR_REDUIT =SIMP(statut='o',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")), +# MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait +# ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')", + EXCIT =FACT(statut='o', INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), 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", + MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')", + regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),), + 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", + regles=(EXCLUS('CHAM_NO','NOEUD'),), +# on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO' +# cela impliquerait d'enlever la valeur par defaut a GRANDEUR + NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), + CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), + NOEUD =SIMP(statut='f',typ=no,max='**'), + b_noeud =BLOC(condition = "NOEUD != None", + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + ), + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), +# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), + ), + 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='**'), + NOEUD =SIMP(statut='o',typ=no,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), +# ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans +# NOEUD_I, NOM_CMP_I ... => modif. du Fortran + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), +# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), + ), + ), + b_modal_oui = BLOC(condition = "(MODAL == 'OUI')", +# dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes + NUME_ORDRE_I =SIMP(statut='o',typ='I',max='**'), 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='**'), - ), + GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", + into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), + DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), +# dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO On devrait +# pouvoir supprimer GRANDEUR et DERIVATION ici + ), + ), - REPONSE =FACT(statut='f',min=1,max=1, + REPONSE =FACT(statut='f', 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") ), @@ -8279,7 +12503,7 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8302,17 +12526,18 @@ def dyna_line_harm_prod(MATR_MASS,**args): if AsType(MATR_MASS) == matr_asse_depl_c : return dyna_harmo if AsType(MATR_MASS) == matr_asse_pres_c : return acou_harmo if AsType(MATR_MASS) == matr_asse_gene_r : return harm_gene + if AsType(MATR_MASS) == matr_asse_gene_c : return harm_gene raise AsException("type de concept resultat non prevu") 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', + 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 ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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 ) ), @@ -8320,34 +12545,34 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, ,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 ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), 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 ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), 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='**', + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), + EXCIT =FACT(statut='o',max='**', regles=(UN_PARMI('VECT_ASSE','CHARGE'), UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),), - VECT_ASSE =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_pres_c,vect_asse_gene ) ), + VECT_ASSE =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,vect_asse_gene_r,vect_asse_gene_c ) ), 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 ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),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 +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8367,29 +12592,29 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, # ====================================================================== 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', + 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 ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), 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, + NEWMARK =FACT(statut='f', 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, + WILSON =FACT(statut='f', THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), ), - DIFF_CENTRE =FACT(statut='f',min=1,max=1, + DIFF_CENTRE =FACT(statut='f', ), - ADAPT =FACT(statut='f',min=1,max=1, + ADAPT =FACT(statut='f', ), - ETAT_INIT =FACT(statut='f',min=1,max=1, + ETAT_INIT =FACT(statut='f', 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 ), @@ -8405,45 +12630,45 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, 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='**', + EXCIT =FACT(statut='f',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'),), + # 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 ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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",) ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), ), - AMOR_MODAL =FACT(statut='f',min=1,max=1, + AMOR_MODAL =FACT(statut='f', MODE_MECA =SIMP(statut='f',typ=mode_meca ), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), REAC_VITE =SIMP(statut='f',typ='TXM',defaut="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 ), + SOLVEUR =FACT(statut='d', NPREC =SIMP(statut='f',typ='I',defaut= 8 ), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), - INCREMENT =FACT(statut='o',min=1,max='**', + INCREMENT =FACT(statut='o',max='**', regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8 ), - FONC_INST =SIMP(statut='f',typ=fonction ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), PAS =SIMP(statut='f',typ='R' ), b_pas =BLOC(condition = "PAS != None", INST_INIT =SIMP(statut='f',typ='R' ), @@ -8462,16 +12687,20 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, 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, + ARCHIVAGE =FACT(statut='f', regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),), - LIST_ARCH =SIMP(statut='f',typ=listis ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster ), PAS_ARCH =SIMP(statut='f',typ='I' ), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","VITE","ACCE") ), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", ), 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 +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -8490,31 +12719,38 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', - fr="Analyse mécanique dynamique non linéaire",docu="U4.53.01-f2", + fr="Analyse mécanique dynamique non linéaire", UIinfo={"groupes":("Résolution",)}, regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',), - UN_PARMI('NEWMARK','HHT', ),), - MODELE =SIMP(statut='o',typ=modele), + UN_PARMI('NEWMARK','HHT','TETA_METHODE', ),), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='o',typ=cham_mater), MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',max='**', regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), PRESENT_PRESENT('ACCE','VITE','DEPL'), - PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),), + # 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",) ), + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), ), - AMOR_MODAL =FACT(statut='f',min=1,max=1, + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + ), + AMOR_MODAL =FACT(statut='f', MODE_MECA =SIMP(statut='f',typ=mode_meca), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), @@ -8523,246 +12759,345 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', VARI_COMM =FACT(statut='f', regles=(AU_MOINS_UN('IRRA',),), IRRA =SIMP(statut='f',typ=evol_varc), + CORROSION =SIMP(statut='f',typ=carte_corr_r), ), - COMP_INCR =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", - "GRANGER_FD", - "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", - ) ), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - 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=8,into=(8,)), - 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,)), - GRANGER_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,)), - - 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", - "ROUSSELIER", - "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",)), + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',max='**', + RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", + into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", + "ELAS_POUTRE_GR","CABLE")), + ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_VMIS_LINE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + ELAS_POUTRE_GR =SIMP(statut='c',typ='I',defaut=3,into=(3,)), + CABLE =SIMP(statut='c',typ='I',defaut=1,into=(1,)), + DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ), regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), +#------------------------------------------------------------------- + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','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'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','VITE'), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + VITE =SIMP(statut='f',typ=cham_no_depl_r), + SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), + VARI =SIMP(statut='f',typ=cham_elem_vari_r), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), +#------------------------------------------------------------------- + INCREMENT =FACT(statut='o', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), + EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", + into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), + NUME_INST_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + NUME_INST_FIN =SIMP(statut='f',typ='I'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',), + NOM_CMP =SIMP(statut='f',typ='TXM',), + VALE =SIMP(statut='f',typ='R'), + ), +#------------------------------------------------------------------- + NEWMARK =FACT(statut='f', + ALPHA =SIMP(statut='f',typ='R',defaut= 0.25), + DELTA =SIMP(statut='f',typ='R',defaut= 0.5), + ), + HHT =FACT(statut='f', + ALPHA =SIMP(statut='f',typ='R' + ,defaut= -0.29999999999999999 ), + ), + TETA_METHODE =FACT(statut='f', + TETA =SIMP(statut='f',typ='R' + ,defaut= 1.,val_min=0.5,val_max=1. ), + ), + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), + REAC_ITER =SIMP(statut='f',typ='I',defaut= 0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), + ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), + b_gcpc =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + ), +#------------------------------------------------------------------- + RECH_LINEAIRE =FACT(statut='f', + RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), + ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), + PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), + ), + PILOTAGE =FACT(statut='f', + regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), + TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), + COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), + ETA_PILO_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_MIN =SIMP(statut='f',typ='R'), + ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), + PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), + ), + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), + RESI_INTE_RELA =SIMP(statut='f',typ='R' + ,defaut= 1.0E-6), + ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), + ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")), + ), +#------------------------------------------------------------------- + ARCHIVAGE =FACT(statut='f', + regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'), + EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PAS_ARCH =SIMP(statut='f',typ='I' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), + NUME_INIT =SIMP(statut='f',typ='I'), + DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', + into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")), + ), + OBSERVATION =FACT(statut='f',max='**', + regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), + PRESENT_PRESENT('MAILLE','POINT'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + +into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PAS_OBSE =SIMP(statut='f',typ='I'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POINT =SIMP(statut='f',typ='I' ,max='**'), + ), +#------------------------------------------------------------------- + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité", + ang="List of sensitivity parameters"), +#------------------------------------------------------------------- + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), + b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + ), + b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", + RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), + ), + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", + fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", + NPREC =SIMP(statut='f',typ='I',defaut= 8 ), + STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + ), + EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + ), + LAGR_NON_LOCAL =FACT(statut='f', + ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), + RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), + RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), + R =SIMP(statut='f',typ='R',defaut= 1000.), + ITER_PRIM_MAXI =SIMP(statut='f',typ='I',defaut= 10), + ), +#------------------------------------------------------------------- + PARM_THETA =SIMP(statut='f',typ='R' + ,defaut= 1. ), +#------------------------------------------------------------------- + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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", + reentrant='n', + UIinfo={"groupes":("Résolution",)}, + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), + EXCIT =FACT(statut='o', + INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), + ), + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), +) ; +#& MODIF COMMANDE DATE 12/04/2005 AUTEUR PBADEL P.BADEL +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +#& RESPONSABLE +DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 70,sd_prod=evol_noli,reentrant='f', + fr="Analyse mecanique dynamique explicite", + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',max='**', + regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), + PRESENT_PRESENT('ACCE','VITE','DEPL'), + # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), + ), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + CHARGE =SIMP(statut='o',typ=char_meca), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + DIRECTION =SIMP(statut='f',typ='R',max=3), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + ), + AMOR_MODAL =FACT(statut='f', + MODE_MECA =SIMP(statut='f',typ=mode_meca), + AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), + REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + PROJ_MODAL =FACT(statut='f', + MODE_MECA =SIMP(statut='f',typ=mode_meca), + NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), ), - COMP_ELAS =FACT(statut='f',min=1,max='**', + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',max='**', RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", "ELAS_POUTRE_GR","CABLE")), @@ -8774,11 +13109,11 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), #------------------------------------------------------------------- - ETAT_INIT =FACT(statut='f',min=1,max=1, + ETAT_INIT =FACT(statut='f', regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','SIGM','VARI','VARI_NON_LOCAL',), EXCLUS('EVOL_NOLI','DEPL',), EXCLUS('EVOL_NOLI','VITE'), @@ -8800,10 +13135,10 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', INST_ETAT_INIT =SIMP(statut='f',typ='R'), ), #------------------------------------------------------------------- - INCREMENT =FACT(statut='o',min=1,max=1, + INCREMENT =FACT(statut='o', regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), NUME_INST_INIT =SIMP(statut='f',typ='I'), @@ -8820,22 +13155,19 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', VALE =SIMP(statut='f',typ='R'), ), #------------------------------------------------------------------- - NEWMARK =FACT(statut='f',min=1,max=1, + NEWMARK =FACT(statut='d', 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, + NEWTON =FACT(statut='c', REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ), MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), REAC_ITER =SIMP(statut='f',typ='I',defaut= 0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), ), - SOLVEUR =FACT(statut='d',min=1,max=1, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -8849,34 +13181,49 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), - 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, + RECH_LINEAIRE =FACT(statut='c', RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), + PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), ), - PILOTAGE =FACT(statut='f',min=1,max=1, + PILOTAGE =FACT(statut='c', regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION") ), + 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), ), - CONVERGENCE =FACT(statut='d',min=1,max=1, + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), @@ -8886,46 +13233,43 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', ,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, + ARCHIVAGE =FACT(statut='f', 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='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), PAS_ARCH =SIMP(statut='f',typ='I' ), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), NUME_INIT =SIMP(statut='f',typ='I'), DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',max='**', + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")), ), - OBSERVATION =FACT(statut='f',min=1,max='**', + OBSERVATION =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'), PRESENT_PRESENT('MAILLE','POINT'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU") ), NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), - LIST_ARCH =SIMP(statut='f',typ=listis), - LIST_INST =SIMP(statut='f',typ=listr8), - INST =SIMP(statut='f',typ='R',max='**' ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), PAS_OBSE =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - POINT =SIMP(statut='f',typ='I',max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POINT =SIMP(statut='f',typ='I' ,max='**'), ), #------------------------------------------------------------------- - SOLV_NON_LOCAL =FACT(statut='f',min=1,max=1, + SOLV_NON_LOCAL =FACT(statut='f', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -8939,14 +13283,13 @@ into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU"," 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), - LAGR_NON_LOCAL =FACT(statut='f',max=1, + LAGR_NON_LOCAL =FACT(statut='f', ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), @@ -8960,36 +13303,7 @@ into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU"," 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 +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9009,7 +13323,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp, # ====================================================================== 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', + reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), @@ -9019,11 +13333,11 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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 ), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ), MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,), - ETAT_INIT =FACT(statut='f',min=1,max=1, + ETAT_INIT =FACT(statut='f', regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'), EXCLUS('RESU_GENE','VITE_INIT_GENE'),), RESU_GENE =SIMP(statut='f',typ=tran_gene ), @@ -9032,10 +13346,10 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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 ), + DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), + VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), ), - INCREMENT =FACT(statut='o',min=1,max='**', + INCREMENT =FACT(statut='o',max='**', INST_INIT =SIMP(statut='f',typ='R' ), INST_FIN =SIMP(statut='o',typ='R' ), PAS =SIMP(statut='f',typ='R' ), @@ -9047,9 +13361,9 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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, + ARCHIVAGE =FACT(statut='f', regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),), - LIST_ARCH =SIMP(statut='f',typ=listis ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster ), PAS_ARCH =SIMP(statut='f',typ='I' ), ), @@ -9057,7 +13371,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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='**', + EXCIT =FACT(statut='f',max='**', regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), PRESENT_PRESENT('ACCE','VITE','DEPL'), PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'), @@ -9065,25 +13379,25 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, EXCLUS('MULT_APPUI','CORR_STAT'), PRESENT_ABSENT('MULT_APPUI','COEF_MULT'), PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene ), + VECT_GENE =SIMP(statut='f',typ=vect_asse_gene_r ), NUME_MODE =SIMP(statut='f',typ='I' ), - FONC_MULT =SIMP(statut='f',typ=fonction ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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 ), + ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),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 ), + D_FONC_DT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + D_FONC_DT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - CHOC =FACT(statut='f',min=1,max='**', + CHOC =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ), PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), @@ -9092,7 +13406,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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 ), + OBSTACLE =SIMP(statut='o',typ=obstacle_sdaster ), 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' ), @@ -9116,11 +13430,11 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, DELTA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), ), - VERI_CHOC =FACT(statut='f',min=1,max='**', + VERI_CHOC =FACT(statut='f',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='**', + FLAMBAGE =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),), @@ -9128,7 +13442,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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 ), + OBSTACLE =SIMP(statut='o',typ=obstacle_sdaster ), ORIG_OBST =SIMP(statut='f',typ='R',max='**'), NORM_OBST =SIMP(statut='o',typ='R',max='**'), ANGL_VRIL =SIMP(statut='f',typ='R' ), @@ -9141,7 +13455,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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='**', + ANTI_SISM =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), UN_PARMI('NOEUD_2','GROUP_NO_2'), PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'), @@ -9157,27 +13471,27 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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='**', + RELA_EFFO_DEPL =FACT(statut='f',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 ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - RELA_TRANSIS =FACT(statut='f',min=1,max='**', + RELA_TRANSIS =FACT(statut='f',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 ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - RELA_EFFO_VITE =FACT(statut='f',min=1,max='**', + RELA_EFFO_VITE =FACT(statut='f',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 ), + RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), b_itmi =BLOC(condition = "METHODE=='ITMI'", regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), 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 ), @@ -9188,7 +13502,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, 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='**', + IMPRESSION =FACT(statut='f',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") ), @@ -9197,7 +13511,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9216,17 +13530,17 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, # 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", +ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, UIinfo={"groupes":("Impression",)}, regles=(UN_PARMI('TOUT','CO'),), - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + UNITE =SIMP(statut='f',typ='I',defaut=8), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CO =SIMP(statut='f',typ=assd,max='**'), + CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9244,14 +13558,14 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,docu="U4.92.11-b", # 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", +EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="", UIinfo={"groupes":("Impression",)}, LOGICIEL =SIMP(statut='f',typ='TXM' ), - ARGUMENT =FACT(statut='f',min=1,max='**', + ARGUMENT =FACT(statut='f',max='**', NOM_PARA =SIMP(statut='f',typ='TXM' ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9277,15 +13591,15 @@ def extr_mode_prod(FILTRE_MODE,**args): raise AsException("type de concept resultat non prevu") EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, - docu="U4.52.12-c",reentrant='n', + reentrant='n', UIinfo={"groupes":("Résolution",)}, - FILTRE_MODE =FACT(statut='o',min=1,max='**', + FILTRE_MODE =FACT(statut='o',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='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),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", @@ -9297,17 +13611,28 @@ EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, ), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), - IMPRESSION =FACT(statut='f',min=1,max=1, + IMPRESSION =FACT(statut='f', 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND -# REDISTRIBUTION OF THIS FILE. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_resu_prod(RESULTAT,**args): if AsType(RESULTAT) == evol_elas : return evol_elas @@ -9326,76 +13651,90 @@ def extr_resu_prod(RESULTAT,**args): 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', +EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,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, + 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='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"), - ARCHIVAGE =FACT(statut='f',min=1,max=1, + ARCHIVAGE =FACT(statut='f', 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='**'), + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), 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), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), 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='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), NOM_CAS =SIMP(statut='f',typ='TXM'), ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# 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 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 +def extr_table_prod(TYPE_RESU,**args): + if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r raise AsException("type de concept resultat non prevu") -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) ), +EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n', + UIinfo={"groupes":("Résultats et champs",)}, + + TYPE_RESU =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ), + + TABLE =SIMP(statut='o',typ=table_sdaster), + + NOM_PARA =SIMP(statut='o',typ='TXM'), + + FILTRE =FACT(statut='f',min=1,max='**', + NOM_PARA =SIMP(statut='o',typ='TXM'), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_K =SIMP(statut='f',typ='TXM'),), + + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9413,37 +13752,40 @@ FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,docu="U4.55.03-e", # 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='**'), +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, + 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 +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET def fact_ldlt_prod(MATR_ASSE,**args): @@ -9456,7 +13798,7 @@ def fact_ldlt_prod(MATR_ASSE,**args): 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', + reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), EXCLUS('BLOC_FIN','DDL_FIN'),), @@ -9471,35 +13813,15 @@ FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en DDL_FIN =SIMP(statut='f',typ='I',val_min=1,), # EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), -# + +# mots clés pour solveur MUMPS : + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + 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 +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9518,17 +13840,18 @@ FERMER=PROC(nom="FERMER",op= 10,fr=" ", # 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",)}, + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), 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"), + UNITE =SIMP(statut='f',typ='I',defaut=6), ) ; -#& MODIF COMMANDE DATE 15/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9546,12 +13869,12 @@ FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une # 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', +FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, + reentrant='n', UIinfo={"groupes":("Fonction",)}, TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), ) ; -#& MODIF COMMANDE DATE 17/09/2001 AUTEUR MCOURTOI M.COURTOIS +#& MODIF COMMANDE DATE 22/11/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9569,14 +13892,22 @@ FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction, # 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=-5,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 +def form_pyth_ops(self,d): + import types,string + NOM_PARA=self.etape['NOM_PARA'] + VALE =self.etape['VALE'] + if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,] + if self.sd==None : return + texte=string.join(VALE.splitlines()) + + self.sd.setFormule(NOM_PARA,string.strip(texte)) + +FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5, + sd_prod=formule,UIinfo={"groupes":("Fonction",)}, + VALE =SIMP(statut='f',typ='TXM'), + NOM_PARA =SIMP(statut='o',typ='TXM',max='**'), +); +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9594,17 +13925,26 @@ FORMULE = FORM( nom='FORMULE',op=-5,sd_prod=fonction, # 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', +# RESPONSABLE CAMBIER S.CAMBIER +GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_sdaster, + fr="Génération de la fonction temporelle à partir d une matrice interspectrale", + reentrant='n', UIinfo={"groupes":("Fonction",)}, - INTE_SPEC_FACT =SIMP(statut='o',typ=interspfact ), - INIT_ALEA =SIMP(statut='f',typ='I',defaut= 12312745 ), + INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), + NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), + INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), + b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee", + DUREE_TIRAGE =SIMP(statut='f',typ='R' ), + FREQ_INIT =SIMP(statut='f',typ='R' ), + FREQ_FIN =SIMP(statut='f',typ='R' ), + ), + NB_POIN =SIMP(statut='f',typ='I'), NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ), - NB_POIN =SIMP(statut='f',typ='I' ), + INIT_ALEA =SIMP(statut='f',typ='I'), 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -9622,16 +13962,17 @@ GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=tabl_fonc, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== +# RESPONSABLE CAMBIER S.CAMBIER GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27,sd_prod=matr_asse_gene_r, fr="Generateur de matrice aleatoire", - docu="U4.36.06",reentrant='n', + 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"), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), + INIT_ALEA =SIMP(statut='f',typ='I'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -9649,19 +13990,31 @@ GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27,sd_prod=matr_asse_gene_r, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op= 28,sd_prod=table, +# RESPONSABLE CAMBIER S.CAMBIER +GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op= 28,sd_prod=table_sdaster, fr="Generateur de variable aleatoire", - docu="U4.36.07",reentrant='n', + 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"), + TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), + b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", + VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), + ), + b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + ), + b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", + VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), + BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), + BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), + COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), + ), + INIT_ALEA =SIMP(statut='f',typ='I'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9681,14 +14034,13 @@ GENE_VARI_ALEA=OPER(nom="GENE_VARI_ALEA",op= 28,sd_prod=table, # ====================================================================== 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' ), + UIinfo={"groupes":("Fonction",)}, + UNITE =SIMP(statut='f',typ='I',defaut=30), 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='**', ), + CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9706,32 +14058,32 @@ IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158, # 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", +IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114, 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 ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), b_prec_crit =BLOC(condition = "LIST_FREQ != None or FREQ != None", PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", into=("RELATIF","ABSOLU") ), ), - IMPRESSION =FACT(statut='f',min=1,max='**', + IMPRESSION =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD','GROUP_NO', ),), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), ), AMOR =SIMP(statut='o',typ='R',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9750,147 +14102,20 @@ IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,docu="U7.04.21-a", # 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", +IMPR_CO=PROC(nom="IMPR_CO",op=17, UIinfo={"groupes":("Impression",)}, fr="Impression du contenu d un concept utilisateur (pour développeur)", regles=(UN_PARMI('CO','CHAINE', ),), - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + UNITE =SIMP(statut='f',typ='I',defaut=8), 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='**'), + CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),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 +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -9909,37 +14134,45 @@ IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers", # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE GNICOLAS G.NICOLAS -IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", +IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b", UIinfo={"groupes":("Fonction",)}, fr="Imprime le fichier de configuration de HOMARD.", ang="Writes the configuration file for HOMARD.", # # 1. Le niveau d'information # - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), # -# 2. LE REPERTOIRE OU AURA LIEU LE CALCUL HOMARD +# 2. Langue des messages issus de HOMARD # - REP =SIMP(statut='f',typ='TXM'), + LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS", + into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), + fr="Langue des messages issus de HOMARD.", + ang="Language for HOMARD messages." ), # -# 3. Langue des messages issus de HOMARD +# 3. Le nom local du fichier de configuration 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." ), + UNITE_CONF =SIMP(statut='o',typ='I'), +# +# 4. Le nom local du fichier de données HOMARD # -# 4. L'UNITE LOGIQUE D'ECRITURE DU FICHIER DE CONFIGURATION HOMARD + UNITE_DONN =SIMP(statut='f',typ='I'), # - UNITE =SIMP(statut='f',typ='I',defaut= 71 ), +# 5. Gestion des éléments autres que des simplexes +# 0 : autres elements refuses (defaut) +# 1 : raffinement sur les simplexes, mais autres acceptes +# 2 : tous # -# 5. LE TYPE DE TRAITEMENT : + NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2), + fr="Type d'éléments acceptés.", + ang="Type of authorized elements." ), # - TRAITEMENT =FACT(statut='o',min=1,max=1, +# 6. Le type de traitement : # -# 5.1. QUATRE CHOIX EXCLUSIFS : + TRAITEMENT =FACT(statut='o', +# +# 6.1. TROIS CHOIX EXCLUSIFS : # -# 5.1.1. # A. ADAPTATION PAR UN INDICATEUR D'ERREUR, AVEC TROIS VARIANTES : # . RAFFINEMENT ET DERAFFINEMENT # . RAFFINEMENT SEUL @@ -9949,9 +14182,8 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # . 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'),), + regles=( UN_PARMI('ADAPTATION','UNIFORME','INFORMATION'),), ADAPTATION =SIMP(statut='f',typ='TXM', fr="Adaptation libre", ang="Free adaptation", @@ -9961,17 +14193,13 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", 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", + fr="Information sur un maillage", + ang="Information on a mesh", into=("OUI",) ), # -# 5.1.2. LES CONTRAINTES : +# 6.2. LES CONTRAINTES : # -# 5.1.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT : +# 6.2.1. POUR DE L'ADAPTATION LIBRE, IL FAUT : # A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART # B. LE NOM MED DU MAILLAGE D'ENTREE # C. LE NOM MED DE L'INDICATEUR D'ERREUR @@ -9980,7 +14208,7 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # 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 +# 6.2.2. POUR DE L'ADAPTATION UNIFORME # IL FAUT : # A. LE NUMERO D'ITERATION DU MAILLAGE DE DEPART # B. LE NOM MED DU MAILLAGE DE SORTIE @@ -9991,17 +14219,7 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # 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 : +# 6.2.3. POUR DE L'INFORMATION : # IL FAUT : # A. LE NOM MED DU MAILLAGE D'ENTREE # IL NE FAUT PAS : @@ -10011,8 +14229,7 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # 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 ) ", + b_maillage_initial =BLOC(condition = "( INFORMATION != None ) or ( ADAPTATION != None ) ", fr="Nom MED du maillage en entrée", ang="MED name of the in-mesh", NOM_MED_MAILLAGE_N =SIMP(statut='o',typ='TXM',), @@ -10024,44 +14241,47 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", 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", + b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ", + fr="Nom MED du maillage en sortie, numero d'iteration", + ang="MED name of the out-mesh, iteration rank", NITER =SIMP(statut='o',typ='I', fr="Numéro d'itération.", ang="Iteration number." ), NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM', fr="Nom MED du maillage en sortie", ang="MED name of the out-mesh" ), - MAJ_CHAM =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Mise à jour de champs", - ang="Field updating" ), ) , # b_indicateur_d_erreur =BLOC(condition = "ADAPTATION != None", 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', + regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'), + EXCLUS('NUME_ORDRE','INST'), + EXCLUS('NUME_ORDRE','RESULTAT'), + PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), + NOM_MED =SIMP(statut='o',typ='TXM', fr="Nom MED de l'indicateur d'erreur.", ang="MED name of error indicator.",), - NOM_CMP_INDICA =SIMP(statut='o',typ='TXM', + COMPOSANTE =SIMP(statut='o',typ='TXM', fr="Nom de la composante de l'indicateur d'erreur retenue.", ang="Name of the selected component of the error indicator.",), - NUMORD_INDICA =SIMP(statut='f',typ='I', + NUME_ORDRE =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', + INST =SIMP(statut='f',typ='R', + fr="Instant de l'indicateur.", + ang="Instant of the error indicator.",), + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé", + ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), fr="Concept contenant l'indicateur.", ang="Conceipt wich contains the error indicator.",), - NOM_CHAM_INDICA =SIMP(statut='f',typ='TXM', + NOM_CHAM =SIMP(statut='f',typ='TXM', fr="Nom du champ dans le résultat de l'indicateur.", ang="Name of the field of the error indicator.",), ) , @@ -10098,27 +14318,72 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # 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' ), + NIVE_MAX =SIMP(statut='f',typ='I', + fr="Niveau maximum de profondeur de raffinement", + ang="Maximum level for refinement"), ) , # b_niveau_minimum =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or \ ( UNIFORME == 'DERAFFINEMENT' )" , - fr="Niveau minimum de déraffinement", - ang="Minimum level for unrefinement", - NIVE_MIN =SIMP(statut='f',typ='I' ), + NIVE_MIN =SIMP(statut='f',typ='I', + fr="Niveau minimum de déraffinement", + ang="Minimum level for unrefinement" ), ) , +# +# 6.3. Le suivi de frontiere eventuel : +# + NOM_MED_MAILLAGE_FRONTIERE =SIMP(statut='f',typ='TXM', + fr="Nom MED du maillage de la frontiere à suivre", + ang="MED name of the boundary mesh" ), +# + b_frontiere_1 =BLOC ( condition = "NOM_MED_MAILLAGE_FRONTIERE != None" , + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupes définissant la frontière", + ang="Groups which define the boundary" ), + ) , # ), # -# 6. L'ANALYSE DU MAILLAGE +# 7. Mise à jour de champs sur le nouveau maillage # - ANALYSE =FACT(statut='f',min=1,max=1, + MAJ_CHAM =FACT(statut='f',max='**', + fr="Mise à jour de champs sur le nouveau maillage.", + ang="Updating of fields over the new mesh.", + regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'), + EXCLUS('NUME_ORDRE','INST'), + EXCLUS('NUME_ORDRE','RESULTAT'), + PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), + NOM_MED =SIMP(statut='o',typ='TXM', + fr="Nom MED du champ à mettre à jour.", + ang="MED name of field.",), + NUME_ORDRE =SIMP(statut='f',typ='I', + fr="Numero d'ordre du champ à mettre à jour.", + ang="Rank number of field.",), + INST =SIMP(statut='f',typ='R', + fr="Instant du champ à mettre à jour.", + ang="Instant of field.",), + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé", + ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), + fr="Concept contenant le champ à mettre à jour.", + ang="Conceipt wich contains the field.",), + NOM_CHAM =SIMP(statut='f',typ='TXM', + fr="Nom du champ dans le résultat du champ à mettre à jour.", + ang="Name of the field.",), + ), +# +# 8. L'ANALYSE DU MAILLAGE +# + ANALYSE =FACT(statut='f', fr="Analyse du maillage.", ang="Mesh analysis.", # -# 6.1. CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) : +# 5 CHOIX NON EXCLUSIFS, AVEC DEUX VARIANTES (OUI/NON) : # A. NOMBRE DES ELEMENTS # B. QUALITE DES ELEMENTS # C. INTERPENETRATION DES ELEMENTS @@ -10150,7 +14415,141 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", ), # ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 15/11/2004 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE MCOURTOI M.COURTOIS +from Macro.impr_fonction_ops import impr_fonction_ops + +IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None, + fr="Impression de fonctions sur fichiers, les valeurs ayant été récupérées par RECU_FONCTION", + UIinfo={"groupes":("Fonction",)}, + FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', + into=("TABLEAU","AGRAF","XMGRACE",),), + b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", + fr="Mots-clés propres à AGRAF", + UNITE =SIMP(statut='o',typ='I',defaut=25, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, + fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), + ), + # unite pour TABLEAU dans le bloc de mise en forme spécifique + + COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", + regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), + FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), + fr="Fonction réelle ou complexe", ), + LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, + fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), + FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), + fr="Fonction abscisses d'une fonction paramétrique",), + ABSCISSE =SIMP(statut='f',typ='R',max='**', + fr="Valeurs des abscisses", ), + b_fonction =BLOC(condition = "FONCTION != None", + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + ), + b_fonction_c =BLOC(condition = "AsType(FONCTION) == fonction_c", + fr="Fonction complexe définie par le mot-clé fonction", + PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), + ), + b_list_resu =BLOC(condition = "LIST_RESU != None", + LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), + ), + b_fonc_x =BLOC(condition = "FONC_X != None", + FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), + ), + b_vale_resu =BLOC(condition = "ABSCISSE != None", + ORDONNEE =SIMP(statut='o',typ='R',max='**', + fr="Valeurs des ordonnées"), + ), + + # le bloc n'est pas activé (vide) car position n'est pas pris en compte + b_forme =BLOC(condition = "FORMAT != 'TABLEAU'", + fr="Données de mise en forme de la fonction (cf. doc)", + ), + LEGENDE =SIMP(statut='f',typ='TXM', + fr="Légende associée à la fonction" ), + STYLE =SIMP(statut='f',typ='I',val_min=0, + fr="Style de la ligne représentant la fonction",), + COULEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Couleur associée à la fonction",), + MARQUEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Type du marqueur associé à la fonction",), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, + fr="Fréquence d impression du marqueur associé à la fonction", ), + # fin bloc b_forme + TRI =SIMP(statut='f',typ='TXM',defaut="N", + fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", + into=("N","X","Y","XY","YX") ), + ), + # Mise en page du tableau ou du graphique + b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", + fr="Mots-clés propres au format Tableau", + UNITE =SIMP(statut='o',typ='I',defaut=8, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', + fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), + COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', + fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), + DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', + fr="Caractère de debut de ligne"), + FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', + fr="Caractère de fin de ligne"), + ), + b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", + fr="Mise en page du graphique", + TITRE =SIMP(statut='f',typ='TXM', + fr="Titre associé au graphique" ), + SOUS_TITRE =SIMP(statut='f',typ='TXM', + fr="Sous-titre du graphique" ), + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des abscisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des ordonnées"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les abscisses" ), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les ordonnées" ), + GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage vertical" ), + GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage horizontal" ), + LEGENDE_X =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des abscisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des ordonnées" ), + ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10170,9 +14569,8 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b2", # ====================================================================== 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='**', + GENE =FACT(statut='o',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', @@ -10183,19 +14581,19 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, EXCLUS('TOUT_CHAM','NOM_CHAM'), EXCLUS('TOUT_PARA','NOM_PARA'),), # faut-il faire des blocs selon le type de RESU_GENE - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene_r, tran_gene, mode_gene, harm_gene)), FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), - FICHIER =SIMP(statut='f',typ='TXM' ), + UNITE =SIMP(statut='f',typ='I',defaut=8), 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_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',max='**'), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8 ), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8 ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), b_prec_crit =BLOC(condition = "LIST_FREQ != None or FREQ != None", PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", @@ -10212,7 +14610,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10230,7 +14628,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, # 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", +IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, 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', @@ -10250,10 +14648,10 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-f", 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', + into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ', '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG', '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX', - '$$TLEC','$$TECR','$$IADM','$$ACCE') ), + '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ), ), b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')", CLASSE =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '), @@ -10261,13 +14659,13 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-f", 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, + IMPRESSION =FACT(statut='f', 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 +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10286,30 +14684,35 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-f", # 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",)}, + 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'", + UNITE =SIMP(statut='f',typ='I',defaut=30), VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), ), + + b_ideas =BLOC(condition = "FORMAT == 'PLEXUS'", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), + ), + b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'", + regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), 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 + AMOR_REDUIT =SIMP(statut='f',typ='R' ,max='**'), + LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), + GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'), 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 ), @@ -10320,73 +14723,78 @@ IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 08/02/2005 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== 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", + UIinfo={"groupes":("Impression",)}, + regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),), +# ====================================================================== + MATR_ELEM =FACT(statut='f',max='**', +# + MATRICE =SIMP(statut='o',typ=(matr_elem, vect_elem)), + 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 ), +# + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ), ), +# + b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + UNITE =SIMP(statut='f',typ='I',defaut=8), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),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',max='**', +# + MATRICE =SIMP(statut='o',typ=matr_asse_gd), + FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","RESULTAT") ), +# + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ), ), +# + b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", + regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), + UNITE =SIMP(statut='f',typ='I',defaut=8), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',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 +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10405,21 +14813,20 @@ IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159, # 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='**', + EXCIT =FACT(statut='f',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 ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), 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 ), + EXCIT_SOL =FACT(statut='f',max='**', + DIRECTION =SIMP(statut='o',typ='R',min=3,max=3), + FONC_SIGNAL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL", into=("DEPL","VITE","ACCE","FORC",) ), ), @@ -10432,51 +14839,122 @@ IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162, INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 16/10/2002 AUTEUR GNICOLAS G.NICOLAS +#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE D6BHHAM A.M.DONORE +# +IMPR_OAR =PROC(nom="IMPR_OAR",op= 40, + fr="Impression au format OAR", + UIinfo={"groupes":("Impression",)}, + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), + MAILLE =SIMP(statut='o',typ=ma ,validators=NoRepeat(),max=2 ), + NOEUD =SIMP(statut='o',typ=no ,validators=NoRepeat() ), + + CHARGE =FACT(statut='o',max='**', + + NUM_CHAR =SIMP(statut='o',typ='I'), + TEMP_NOEUD =SIMP(statut='f',typ='R',defaut=20.), + TYPE =SIMP(statut='f',typ='TXM',defaut="DILA", + into=("POIDS","DILA","SEISME","DEPL","EFFO","STRATIF","CONDITIONNEL","COMBINAISON") ), + NATURE =SIMP(statut='f',typ='TXM',defaut="PRIMAIRE", + into=("PRIMAIRE","SECONDAIRE","TOTAL") ), + SIGNE =SIMP(statut='f',typ='TXM',defaut="S", + into=("S","NS") ), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster),# CO() sd a creer !!! + ), + + + UNITE =SIMP(statut='f',typ='I',defaut=38), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 12/04/2005 AUTEUR CIBHHPD L.SALMONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", +IMPR_RESU=PROC(nom="IMPR_RESU",op=39, 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", + MODELE =SIMP(statut='f',typ=modele_sdaster), + + FORMAT =SIMP(statut='f',typ='TXM',position='global',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_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", + UNITE =SIMP(statut='f',typ='I',defaut=8), + ), - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), + b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", + UNITE =SIMP(statut='f',typ='I',defaut=30), + VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), + ), + + b_format_aster =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER", + UNITE =SIMP(statut='f',typ='I',defaut=26), + ), + + b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM", + UNITE =SIMP(statut='f',typ='I',defaut=37), + NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), + ), + + b_format_ensight =BLOC(condition="FORMAT=='ENSIGHT'",fr="unité logique d'impression au format ENSIGHT", + UNITE =SIMP(statut='f',typ='I',defaut=31), + ), + + b_format_med =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED", + UNITE =SIMP(statut='f',typ='I',defaut=80), + ), + + b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH", + UNITE =SIMP(statut='f',typ='I',defaut=19), + VERSION =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)), + ), + + RESU =FACT(statut='o',max='**', regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'), EXCLUS('CHAM_GD','RESULTAT'),), - MAILLAGE =SIMP(statut='f',typ=(maillage,squelette)), + MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,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 !!! + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster),# 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='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"),), @@ -10486,26 +14964,26 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", 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='**'), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), 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), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ANGL =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), 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") ), @@ -10513,34 +14991,34 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", 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 == 'ENSIGHT')or(FORMAT == 'MED'))""", - fr="sélection des composantes", + ((FORMAT == 'CASTEM')or(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", + 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='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),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", + ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""", + 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='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), - - b_valeurs =BLOC(condition="(FORMAT == 'RESULTAT')", - fr="sélection sur les valeurs", +### + 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'), @@ -10550,11 +15028,10 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", ), 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 +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10573,7 +15050,6 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-g1", # 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 ) ), @@ -10591,11 +15067,11 @@ IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de val ), 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"), + UNITE =SIMP(statut='f',typ='I',defaut=8), 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 +#& MODIF COMMANDE DATE 15/11/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10613,45 +15089,96 @@ IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de val # 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'),), +# RESPONSABLE MCOURTOI M.COURTOIS +from Macro.impr_table_ops import impr_table_ops - 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 09/10/2002 AUTEUR DURAND C.DURAND +IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None, + UIinfo={"groupes":("Impression",)}, + fr="Impression d un concept de type table_sdaster", + TABLE =SIMP(statut='o',typ=table_sdaster), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters"), + FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLEAU", + into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),), + b_pilote =BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Mots-clés propres à XMGRACE", + PILOTE =SIMP(statut='f',typ='TXM',defaut='', + into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), + fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), + UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + b_unite =BLOC(condition = "FORMAT != 'XMGRACE'", + UNITE =SIMP(statut='f',typ='I',defaut=8, + fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), + ), + FILTRE =FACT(statut='f',max='**', + NOM_PARA =SIMP(statut='o',typ='TXM'), + CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", + into=("EQ","LT","GT","NE","LE","GE","VIDE", + "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI"),), + b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", + regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + VALE_K =SIMP(statut='f',typ='TXM'), + ), + b_crit =BLOC(condition = "CRIT_COMP in ('EQ','NE')", + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + ), + TRI =FACT(statut='f', + NOM_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), + ORDRE =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**', + into=("CROISSANT","DECROISSANT") ), + ), + PAGINATION =SIMP(statut='f',typ='TXM',max='**'), + FORMAT_R =SIMP(statut='f',typ='TXM',defaut="E12.5"), + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE", + into=("MODULE_PHASE","REEL_IMAG") ), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), + + # mise en forme pour les formats qui passent par Graph + b_forme =BLOC(condition = "FORMAT == 'XMGRACE'", + fr="Données de mise en forme du graphique", + # pour la courbe + LEGENDE =SIMP(statut='f',typ='TXM', + fr="Légende associée à la fonction" ), + STYLE =SIMP(statut='f',typ='I',val_min=0, + fr="Style de la ligne représentant la fonction",), + COULEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Couleur associée à la fonction",), + MARQUEUR =SIMP(statut='f',typ='I',val_min=0, + fr="Type du marqueur associé à la fonction",), + FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, + fr="Fréquence d impression du marqueur associé à la fonction", ), + # format du graphique + BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des abscisses"), + BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, + fr="Intervalles de variation des ordonnées"), + ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les abscisses" ), + ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), + fr="Type d'échelle pour les ordonnées" ), + GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage vertical" ), + GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., + fr="Pas du quadrillage horizontal" ), + LEGENDE_X =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des abscisses" ), + LEGENDE_Y =SIMP(statut='f',typ='TXM', + fr="Légende associée à l'axe des ordonnées" ), + ), + + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10669,14 +15196,14 @@ IMPR_TABLE=PROC(nom="IMPR_TABLE",op=155,docu="U4.91.03-d2", # 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=-1,docu="U4.13.01-e", +INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10694,7 +15221,7 @@ INCLUDE=MACRO(nom="INCLUDE",op=-1,docu="U4.13.01-e", # 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", +INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14, UIinfo={"groupes":("Modélisation",)}, fr=" ", sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0, @@ -10707,13 +15234,136 @@ INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,docu="U4.43.02-a", 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, + EXTRACTION =FACT(statut='f',max=99, COMPOR =SIMP(statut='o',typ='TXM' ), TEMP_EVAL =SIMP(statut='o',typ='R' ), ), + UNITE_LONGUEUR =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE D6BHHJP J.P.LEFEBVRE +INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, + fr="Récupère différentes informations propres à l'exécution en cours", + reentrant='n', + UIinfo={"groupes":("Gestion du travail",)}, + + regles=(), + LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3, + into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),), + b_etat_unite =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", + regles=(UN_PARMI('UNITE','FICHIER'),), + UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1, + fr="Unité logique dont on veut obtenir l'état",), + FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255), + fr="Nom du fichier dont on veut obtenir l'état",), + ), + TITRE =SIMP(statut='f',typ='TXM',max='**'), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) ; +#& MODIF COMMANDE DATE 12/05/2005 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +from Macro.info_fonction_ops import info_fonction_ops +def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): + if (RMS != None): return table_sdaster + if (MAX != None): return table_sdaster + if (NOCI_SEISME != None): return table_sdaster + if (ECART_TYPE != None): return table_sdaster + if (NORME != None): return table_sdaster + raise AsException("type de concept resultat non prevu") + +INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod + ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe", + reentrant='n', + UIinfo={"groupes":("Fonction",)}, + regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), + RMS =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**', + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster ), + INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), + ), + NOCI_SEISME =FACT(statut='f', + regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), + FONCTION =SIMP(statut='f',typ=fonction_sdaster ), + SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), + b_option_f =BLOC(condition="""FONCTION !=None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**', + into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", + "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), + b_amor =BLOC(condition="""OPTION=="TOUT" or OPTION=="INTE_SPEC" """, + AMOR_REDUIT =SIMP(statut='o',typ='R'), ),), + b_option_n =BLOC(condition="""SPEC_OSCI !=None""", + OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), + NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), + AMOR_REDUIT =SIMP(statut='o',typ='R'), ), + INST_INIT =SIMP(statut='f',typ='R'), + INST_FIN =SIMP(statut='f',typ='R'), + COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + PESANTEUR =SIMP(statut='f',typ='R',defaut= 9.81E+0 ), + FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), + FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',max='**'), + NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), + BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), + BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), + b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + ), + ), + MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), + ), + NORME =FACT(statut='f',fr="Norme L2 d'une fonction", + FONCTION =SIMP(statut='o', typ=nappe_sdaster), + ), + ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", + METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), + FONCTION =SIMP(statut='o',typ=fonction_sdaster), + INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), + INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ), + ), +) +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10732,11 +15382,11 @@ INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,docu="U4.43.02-a", # 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", +INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, UIinfo={"groupes":("Post traitements",)}, fr="Définition d une courbe sur un maillage 2D",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=(maillage) ), + MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'), @@ -10748,54 +15398,54 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe,docu="U4.81.11-e", 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DEFI_SEGMENT =FACT(statut='f',min=1,max='**', + DEFI_SEGMENT =FACT(statut='f',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), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), 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), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), ), - DEFI_ARC =FACT(statut='f',min=1,max='**', + DEFI_ARC =FACT(statut='f',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), + NOEUD_CENTRE =SIMP(statut='f',typ=no,), + GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,), + RAYON =SIMP(statut='f',typ='R',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), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), 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), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), 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='**', + DEFI_CHEMIN =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), - NOEUD_ORIG =SIMP(statut='f',typ=no,max=1), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10814,27 +15464,27 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe,docu="U4.81.11-e", # 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", +INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, UIinfo={"groupes":("Post traitements",)}, fr="Définition d un chemin sur un maillage 3D",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), 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='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + DEFI_SEGMENT =FACT(statut='o',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), + NOEUD_ORIG =SIMP(statut='f',typ=no,), + GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), 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), + NOEUD_EXTR =SIMP(statut='f',typ=no,), + GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), ), PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10853,85 +15503,57 @@ INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface,docu="U4.81.12-e", # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== def lire_champ_prod(TYPE_CHAM=None,**args): - if TYPE_CHAM == "CHAM_NO_TEMP_R" : return cham_no_temp_r - if TYPE_CHAM == "CHAM_NO_DEPL_R" : return cham_no_depl_r +# Remarque : si cette liste évolue, il faut penser à mettre à jour son +# homologue dans macr_adap_mail + import string +# + if TYPE_CHAM[0:5] == "NOEU_" : return eval("cham_no_"+string.lower(TYPE_CHAM[5:])) + if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM[0:5] == "ELEM_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) + if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM[0:5] == "ELNO_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) + if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl + if TYPE_CHAM[0:5] == "ELGA_" : return eval("cham_elem_"+string.lower(TYPE_CHAM[5:])) 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.", - ang="To read a field in a file and to save it in a concept.", - docu="U7.02.02-b2",reentrant='n', - UIinfo={"groupes":("Post traitements",)}, -# -# 1. Le maillage support du champ -# - MAILLAGE =SIMP(statut='o',typ=maillage, - fr="Nom du maillage support du champ", - ang="Name of the mesh on which the field is defined" ), -# -# 2. Format de lecture -# Remarque : seul MED est operationnel dans cette version. -# - FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",), - fr="Format du fichier : MED seulement", - ang="Format of the file : MED only" ), -# -# 3. L'unite logique du fichier. -# - UNITE =SIMP(statut='f',typ='I',defaut= 81, - fr="Le fichier est : fort.n.", - ang="File is : fort.n" ), -# -# 4. Pour le format MED, il faut preciser le nom sous lequel le champ est connu dans le fichier -# et les composantes a lire -# + reentrant='n', + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), + FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), + UNITE =SIMP(statut='f',typ='I',defaut= 81,), b_format =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" ), -# - NUME_ORDRE =SIMP(statut='f',typ='I',max='**', - fr="Numéro d'ordre du champ à lire.", - ang="Rank number of the field to read."), -# - NUME_PT =SIMP(statut='f',typ='I',max='**', - fr="Numéro du pas de temps du champ à lire.", - ang="Time step number of the field to read."), -# -# 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.",), -# + regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), + PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ), + EXCLUS('NUME_ORDRE','INST'), + EXCLUS('NUME_PT','INST'),), + NOM_MED =SIMP(statut='o',typ='TXM', ), + NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ), + NOM_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), + NUME_PT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',), + NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**', + fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ), + INST =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ), +# + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), +# + NOM_MAIL_MED =SIMP(statut='f',typ='TXM',), + ), +# Remarque : si cette liste évolue, il faut penser à mettre à jour son +# homologue dans macr_adap_mail + TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), + b_modele =BLOC(condition = "TYPE_CHAM!=None and TYPE_CHAM[0:2] == 'EL'", + MODELE =SIMP(statut='o',typ=modele_sdaster, ), ), -# -# 5. Le type du concept lu -# - TYPE_CHAM =SIMP(statut='o',typ='TXM',into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R"), - fr="Type de champ à créer.", - ang="Type of the field to create." ), -# -# 6. Le niveau d'information -# INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10949,28 +15571,52 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, # 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', + +from Macro.lire_fonction_ops import lire_fonction_ops + +def lire_fonction_prod(self,TYPE,**args): + if (TYPE == 'FONCTION') : return fonction_sdaster + elif (TYPE == 'FONCTION_C'): return fonction_c + elif (TYPE == 'NAPPE' ) : return nappe_sdaster + raise AsException("type de concept resultat non prevu") + +LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod, + fr="Lecture d une fonction ou d une nappe dans un fichier ", + reentrant='n', UIinfo={"groupes":("Fonction",)}, + FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), + TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ), + SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ), + INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]), + b_fonction =BLOC(condition = "TYPE=='FONCTION' ", + INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ), + b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ", + FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ), + b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ", + INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) , + b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ", + INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), + INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ), + b_nappe =BLOC(condition = "TYPE=='NAPPE' ", + NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,), + INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), + PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), + DEFI_FONCTION =FACT(statut='f',max='**', + INDIC_RESU =SIMP(statut='o',typ='I',min=2,max=2,),), ), 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) ), + NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), + 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 +#& MODIF COMMANDE DATE 20/09/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -10988,23 +15634,26 @@ LIRE_FONCTION=OPER(nom="LIRE_FONCTION",op= 83,sd_prod=fonction, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp, + +from Macro.lire_inte_spec_ops import lire_inte_spec_ops + +LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp, fr="Lecture sur un fichier externe de fonctions complexes pour créer une matrice interspectrale", - docu="U4.36.01-f2",reentrant='n', + reentrant='n', UIinfo={"groupes":("Fonction",)}, UNITE =SIMP(statut='o',typ='I' ), FORMAT =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), - NOM_PARA =SIMP(statut='f',typ='TXM', + NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ", into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), + NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ), INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11023,10 +15672,10 @@ LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp, # 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, +LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, fr="Lecture d'un fichier de maillage", ang="Readings of a mesh file", - docu="U4.21.01-g1",reentrant='n', + reentrant='n', UIinfo={"groupes":("Maillage",)}, # UNITE =SIMP(statut='f',typ='I',defaut= 20 ), @@ -11035,11 +15684,11 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage, fr="Format du fichier : ASTER ou MED.", ang="Format of the file : ASTER or MED.",), # - ABSC_CURV =FACT(statut='f',min=0,max=1, + ABSC_CURV =FACT(statut='f',min=0, TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), # - VERI_MAIL =FACT(statut='d',min=1,max=1, + VERI_MAIL =FACT(statut='d', VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), ), @@ -11062,12 +15711,23 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), # ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND -# REDISTRIBUTION OF THIS FILE. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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_miss_3d_prod(TYPE_RESU,**args): if TYPE_RESU == "TRANS" : return dyna_trans @@ -11076,7 +15736,7 @@ def lire_miss_3d_prod(TYPE_RESU,**args): 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', + reentrant='n', UIinfo={"groupes":("Maillage",)}, MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), UNITE =SIMP(statut='f',typ='I',defaut= 27 ), @@ -11084,7 +15744,7 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod, TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11104,19 +15764,19 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod, # ====================================================================== LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, fr=" ", - docu="U7.02.11-a",reentrant='n', + 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 ), + MAIL_PLEXUS =SIMP(statut='o',typ=maillage_sdaster ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), 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 ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), b_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", @@ -11124,14 +15784,26 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/05/2005 AUTEUR MCOURTOI M.COURTOIS # 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. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC 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 lire_resu_prod(TYPE_RESU,**args): if TYPE_RESU == "EVOL_CHAR" : return evol_char if TYPE_RESU == "EVOL_THER" : return evol_ther @@ -11141,46 +15813,91 @@ def lire_resu_prod(TYPE_RESU,**args): if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo if TYPE_RESU == "HARM_GENE" : return harm_gene if TYPE_RESU == "MODE_MECA" : return mode_meca + if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c 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', +# pour éviter d'écrire 3 fois cette liste : +def l_nom_cham_pas_elga(): return ( + "ACCE", "ACCE_ABSOLU", "CRIT_ELNO_RUPT", "DCHA_ELNO_SIGM", + "DCHA_NOEU_SIGM", "DEDE_ELNO_DLDE", "DEDE_NOEU_DLDE", "DEGE_ELNO_DEPL", "DEGE_NOEU_DEPL", + "DEPL", "DEPL_ABSOLU", "DESI_ELNO_DLSI", "DESI_NOEU_DLSI", "DETE_ELNO_DLTE", "DETE_NOEU_DLTE", + "DURT_ELNO_META", "DURT_NOEU_META", "ECIN_ELEM_DEPL", "EFGE_ELNO_CART", "EFGE_ELNO_DEPL", + "EFGE_NOEU_CART", "EFGE_NOEU_DEPL", "ENDO_ELNO_SIGA", "ENDO_ELNO_SINO", "ENDO_NOEU_SINO", + "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL", + "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU", + "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL", + "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI", + "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1", + "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM", + "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D", + "FSUR_3D", "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA", + "INTE_ELNO_ACTI", "INTE_ELNO_REAC", "INTE_NOEU_ACTI", "INTE_NOEU_REAC", "IRRA", + "META_ELNO_TEMP", "META_NOEU_TEMP", "PMPB_ELNO_SIEF", "PMPB_NOEU_SIEF", + "PRES", "PRES_DBEL_DEPL", "PRES_ELNO_DBEL", "PRES_ELNO_IMAG", "PRES_ELNO_REEL", + "PRES_NOEU_DBEL", "PRES_NOEU_IMAG", "PRES_NOEU_REEL", + "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA", + "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO", + "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF", + "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU", + "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA", + "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL", + "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA", + "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU", + "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL", + "VITE", "VITE_ABSOLU", "VITE_VENT", + ) + +LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', UIinfo={"groupes":("Maillage",)}, fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier IDEAS ou EnSight", -# 0 mots clés généraux : +# 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") ), + "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO","HARM_GENE", + "EVOL_CHAR") ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","ENSIGHT","MED") ), - DATASET_58 =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON',) ), + 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), + MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=modele_sdaster), NB_VARI =SIMP(statut='f',typ='I' ), -# 1 blocs selon le format choisi : +# 1) blocs selon le format choisi : #--------------------------------- -# 1-1 ideas : -# --------- - b_ideas =BLOC(condition="FORMAT=='IDEAS'", +# 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,validators=NoRepeat(),max='**'),), ), - b_format_ideas = BLOC(condition="DATASET_58=='NON'", +# 1-2 ideas : +# --------- + b_ideas =BLOC(condition="FORMAT=='IDEAS'", + UNITE =SIMP(statut='f',typ='I',defaut= 19 ), +# TEST =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), 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") ), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()), 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), @@ -11192,94 +15909,45 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,docu="U7.02.01-d2", POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2), NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),), ), - b_dataset_58 = BLOC(condition="(DATASET_58=='OUI') and ((TYPE_RESU=='DYNA_TRANS') or\ - (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))", - 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 ensight : +# 1-3 ensight : # ------------- b_ensight =BLOC(condition="FORMAT=='ENSIGHT'", NOM_FICHIER =SIMP(statut='f',typ='TXM'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), ), -# 1-3 med : + +# 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" ), + UNITE =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",), + FORMAT_MED =FACT(statut='f',max='**', + regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()), + NOM_CHAM_MED =SIMP(statut='o',typ='TXM', fr="Nom du champ dans le fichier MED.", ), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans ASTER.", ), + NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans MED.", ), + ), ), - -# 2 blocs selon le type du résultat : +# 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 (DATASET_58=='NON')", - NOM_CHAM =SIMP(statut='o',typ='TXM',max='**', - into=("DEPL","VITE","ACCE",) ), + b_mode_meca =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')", + MATR_A =SIMP(statut='f',typ=matr_asse_depl_r,), + MATR_B =SIMP(statut='f',typ=matr_asse_depl_r,), ), -# 3 autres blocs : +# 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), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), 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), @@ -11287,7 +15955,7 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,docu="U7.02.01-d2", ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -11305,15 +15973,19 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,docu="U7.02.01-d2", # 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 + +from Macro.lire_table_ops import lire_table_ops + +def lire_table_prod(self,TYPE_TABLE,**args): + if TYPE_TABLE == "TABLE" : return table_sdaster if TYPE_TABLE == "TABL_CARA_GEOM" : return tabl_cara_geom if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea raise AsException("type de concept resultat non prevu") -LIRE_TABLE=OPER(nom="LIRE_TABLE",op=29,sd_prod=lire_table_prod, - docu="U7.02.03",fr="Lecture d un concept de type table", + +LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod, + fr="Lecture d un concept de type table", UIinfo={"groupes":("Maillage",)}, UNITE =SIMP(statut='o',typ='I' ), FORMAT =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"), @@ -11325,9 +15997,11 @@ LIRE_TABLE=OPER(nom="LIRE_TABLE",op=29,sd_prod=lire_table_prod, "TABL_POST_USUR", "TABL_POST_ALEA" ) ), SEPARATEUR =SIMP(statut='o',typ='TXM'), + PARA =SIMP(statut='f',typ='TXM',max='**'), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 08/10/2002 AUTEUR GNICOLAS G.NICOLAS + +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11346,22 +16020,29 @@ LIRE_TABLE=OPER(nom="LIRE_TABLE",op=29,sd_prod=lire_table_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE GNICOLAS G.NICOLAS + +from Macro.macr_adap_mail_ops import macr_adap_mail_ops + def 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) + maillage_np1=ADAPTATION['MAILLAGE_NP1'] + self.type_sdprod(maillage_np1,maillage_sdaster) if MAJ_CHAM == None:return None +# Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP for ch in MAJ_CHAM: t=ch['TYPE_CHAM'] - if t == 'CHAM_NO_TEMP_R':self.type_sdprod(ch['CHAM_MAJ'],cham_no_temp_r) - if t == 'CHAM_NO_DEPL_R':self.type_sdprod(ch['CHAM_MAJ'],cham_no_depl_r) + if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_no_"+string.lower(t[5:]))) + if t == "ELEM_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) + if t[0:5] == "ELEM_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) + if t == "ELNO_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) + if t[0:5] == "ELNO_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) + if t == "ELGA_G_DEPL_R":self.type_sdprod(ch['CHAM_MAJ'],cham_elem_g_depl) + if t[0:5] == "ELGA_":self.type_sdprod(ch['CHAM_MAJ'],eval("cham_elem_"+string.lower(t[5:]))) return None -MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, +MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod, fr="Adapter un maillage avec le logiciel HOMARD.", ang="Mesh adaptation with HOMARD software.", - docu="U7.03.01-b2", + docu="U7.03.01-b", # # 1. Le niveau d'information # @@ -11369,8 +16050,8 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, # # 2. Version de HOMARD # - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V5_5", - into=("V5_5", "V5_N", "V5_N_PERSO"), + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1", + into=("V7_1", "V7_N", "V7_N_PERSO"), fr="Version de HOMARD", ang="HOMARD release"), # @@ -11381,23 +16062,32 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, fr="Langue des messages issus de HOMARD.", ang="Language for HOMARD messages." ), # -# 4. LE TYPE DE TRAITEMENT : +# 4. Gestion des éléments autres que des simplexes +# 0 : autres elements refuses +# 1 : raffinement sur les simplexes, mais autres acceptes +# 2 : tous (defaut) +# + NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2), + fr="Type d'éléments acceptés.", + ang="Type of authorized elements." ), +# +# 5. Le type de traitement : # - ADAPTATION =FACT(statut='o',min=01,max=01, + ADAPTATION =FACT(statut='o', fr="Type d'adaptation", ang="Type of adaptation", # -# 4.1. DEUX CHOIX D'ADAPTATION EXCLUSIFS : +# 5.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 +# 5.1. +# A. Selon un indicateur d'erreur, avec trois variantes : +# . Raffinement et deraffinement +# . Raffinement seul +# . Deraffinement seul +# B. Uniforme, avec trois variantes : +# . Raffinement seul +# . Deraffinement seul +# . Rien : le maillage est le meme a la sortie et a l'entree # regles=( UN_PARMI('LIBRE','UNIFORME'), @@ -11411,52 +16101,74 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, 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 +# 5.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), + MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, fr="Maillage avant adaptation", ang="Mesh before adaptation" ), - MAILLAGE_NP1 = SIMP(statut='o',typ=(CO,maillage), + MAILLAGE_NP1 = SIMP(statut='o',typ=CO, fr="Maillage apres adaptation", ang="Mesh after adaptation" ), # -# 4.3. POUR DE L'ADAPTATION LIBRE, IL FAUT L'INDICATEUR D'ERREUR +# 5.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", + fr="Choix de l'indicateur d'erreur", + ang="Selection of error indicator", # -# 4.3.1. LE NOM DU CONCEPT RESULTAT +# 5.3.1. Le nom du concept resultat_sdaster # RESULTAT_N = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) , - fr="Resultat contenant l'indicateur d'erreur", + fr="Concept resultat Code_Aster contenant l'indicateur d'erreur", ang="Result with error indicator" ), # -# 4.3.2. LE CHAMP D'INDICATEUR D'ERREUR +# 5.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 +# 5.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 +# 5.3.4. Le paramètre temporel pour l'indicateur # - NUME_ORDRE = SIMP(statut='f',typ='I' , + regles=(EXCLUS('NUME_ORDRE','INST'),), +# +# 5.3.4.1. Soit le numero d'ordre +# + NUME_ORDRE = SIMP(statut='f',typ='I', fr="Numero d ordre", ang="Rank" ), +# +# 5.3.4.2. Soit l'instant +# 5.3.4.2.1. Sa valeur +# + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), +# +# 5.3.4.2.2. La précision du choix de l'instant +# + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé", + ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), +# ) , # -# 4.4. LES CRITERES POUR DE L'ADAPTATION LIBRE : -# ABSOLU, RELATIF, EN PROPORTION D'ENTITE -# 4.4.1. POUR LE RAFFINEMENT : +# 5.4. Les criteres pour de l'adaptation libre : +# absolu, relatif, en proportion d'entite +# 5.4.1. Pour le raffinement : # b_critere_de_raffinement =BLOC( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) " , fr="Critère de raffinement.", @@ -11466,14 +16178,14 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, fr="Critère absolu", ang="Absolute threshold" ), CRIT_RAFF_REL = SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), + fr="Critère relatif : fraction entre 0 et 1", + ang="Relative threshold : ratio between 0 and 1" ), CRIT_RAFF_PE = SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), + fr="Pourcentage d'éléments : fraction entre 0 et 1", + ang="Percentage of elements : ratio between 0 and 1" ), ) , # -# 4.4.2. POUR LE DERAFFINEMENT : +# 5.4.2. Pour le deraffinement : # b_critere_de_deraffinement =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) " , fr="Critère de déraffinement.", @@ -11483,104 +16195,138 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, fr="Critère absolu", ang="Absolute threshold" ), CRIT_DERA_REL = SIMP(statut='f',typ='R', - fr="Critère relatif", - ang="Relative threshold" ), + fr="Critère relatif : fraction entre 0 et 1", + ang="Relative threshold : ratio between 0 and 1" ), CRIT_DERA_PE = SIMP(statut='f',typ='R', - fr="Pourcentage d'éléments", - ang="Percentage of elements" ), + fr="Pourcentage d'éléments : fraction entre 0 et 1", + ang="Percentage of elements : ratio between 0 and 1" ), ) , # -# 4.5. LES NIVEAUX EXTREMES POUR LE MAILLAGE ADAPTE -# 4.5.1. POUR LE RAFFINEMENT : +# 5.5. Les niveaux extremes pour le maillage adapte +# 5.5.1. Pour le raffinement : # b_niveau_maximum =BLOC ( condition = " ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) or \ ( UNIFORME == 'RAFFINEMENT' ) " , - fr="Niveau maximum de profondeur de raffinement", - ang="Maximum level for refinement", - NIVE_MAX = SIMP(statut='f',typ='I' ), + 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 : +# 5.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' ), + 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 +# 6. Suivi d'une frontiere +# + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + fr="Maillage de la frontiere à suivre", + ang="Boundary mesh" ), +# + b_frontiere =BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Groupes définissant la frontière", + ang="Groups which define the boundary", + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), + ) , +# +# 7. Mise à jour de champs sur le nouveau maillage # - MAJ_CHAM =FACT(statut='f',min=01,max='**', + MAJ_CHAM =FACT(statut='f',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 +# 7.1. Le nom du champ qui contiendra le resultat de la mise a jour +# + CHAM_MAJ = SIMP(statut='o',typ=CO, + fr="Nom du champ qui contiendra le champ mis à jour", + ang="Name of the field for the updated field"), +# +# 7.2. Le type du champ qui contiendra le resultat de la mise a jour +# + TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(), + fr="Type du champ qui contiendra le champ mis à jour", + ang="Type of the field for the updated field" ), +# +# 7.3. 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 +# 7.4. 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" ), + ang="Name of the field to be updated" ), +# +# 7.5. Le paramètre temporel pour le champ a interpoler +# + regles=(EXCLUS('NUME_ORDRE','INST'),), # -# 5.3. LE NUMERO D'ORDRE POUR LE CHAMP A INTERPOLER +# 7.5.1. Soit le numero d'ordre # NUME_ORDRE = SIMP(statut='f',typ='I', fr="Numero d ordre du champ à mettre à jour", - ang="Rank of the field to be updated" ), + ang="Rank of the field to be updated" ), # -# 5.4. LE NOM DU CHAMP QUI CONTIENDRA LE RESULTAT DE LA MISE A JOUR +# 7.5.2. Soit l'instant +# 7.5.2.1. Sa valeur # - 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"), + INST = SIMP(statut='f',typ='R', + fr="Instant associé", + ang="Instant" ), # -# 5.5. LE TYPE DU CHAMP QUI CONTIENDRA LE RESULTAT DE LA MISE A JOUR +# 7.5.2.2. La précision du choix de l'instant # - TYPE_CHAM = SIMP(statut='o',typ='TXM', - into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R"), - fr="Type du champ qui contiendra le champ mis à jour", - ang="Type of the field for the updated field" ), + b_precision =BLOC(condition="(INST != None)", + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3, + fr="Précision sur le choix de l'instant associé", + ang="Accuracy over instant choice" ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), + fr="Critère de précision sur le choix de l'instant associé", + ang="Accuracy criterium over instant choice" ),), ), # -# 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 +# 8. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres +# 8.1. Nombre de noeuds et éléments # 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" ), + ang="Number of nodes and éléments in the mesh" ), +# +# 8.2. Determination de la qualité des éléments du maillage # 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." ), +# 8.3. Connexite du maillage # CONNEXITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Connexité du maillage.", ang="Mesh connexity." ), +# +# 8.4. Taille des sous-domaines du maillage # 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") ), +# 8.5. Controle de la non-interpenetration des éléments +# + 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 +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11599,8 +16345,9 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE F1BHHAJ J.ANGLES +from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args): - self.type_sdprod(MODELE,modele) + self.type_sdprod(MODELE,modele_sdaster) 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) @@ -11608,9 +16355,9 @@ def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU 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, +MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod, fr=" ", - docu="U4.CF.20-b1",reentrant='n', + reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), @@ -11621,40 +16368,40 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p "SOUS_EPAIS_COUDE" ) ), - CL_BOL_P2_GV =FACT(statut='f',min=1,max=1, + CL_BOL_P2_GV =FACT(statut='f', 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)), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), + MODELE =SIMP(statut='o',typ=CO,), + CHAM_MATER =SIMP(statut='f',typ=CO,), + CARA_ELEM =SIMP(statut='f',typ=CO,), + FOND_FISS =SIMP(statut='f',typ=CO,), + CHARGE =SIMP(statut='f',typ=CO,), + RESU_THER =SIMP(statut='f',typ=CO,), - AFFE_MATERIAU =FACT(statut='o',min=1,max=3, + AFFE_MATERIAU =FACT(statut='o',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 ), + MATER =SIMP(statut='o',typ=mater_sdaster ), TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), - PRES_REP =FACT(statut='f',min=1,max=1, + PRES_REP =FACT(statut='f', 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 ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - ECHANGE =FACT(statut='f',min=1,max=1, - COEF_H =SIMP(statut='f',typ=fonction ), - TEMP_EXT =SIMP(statut='f',typ=fonction ), + ECHANGE =FACT(statut='f', + COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), + TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - TORS_P1 =FACT(statut='f',min=1,max=6, + TORS_P1 =FACT(statut='f',max=6, regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), FX =SIMP(statut='f',typ='R' ), FY =SIMP(statut='f',typ='R' ), @@ -11662,21 +16409,21 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p 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 ), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - COMP_INCR =FACT(statut='f',min=1,max=1, + COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), ), - COMP_ELAS =FACT(statut='f',min=1,max=1, + COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ), - SOLVEUR =FACT(statut='d',min=1,max=1, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -11690,18 +16437,16 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# 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, + CONVERGENCE =FACT(statut='d', RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), @@ -11710,11 +16455,10 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p ,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, + NEWTON =FACT(statut='d', REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), @@ -11722,15 +16466,15 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p EVOL_NOLI =SIMP(statut='f',typ=evol_noli), ), - RECH_LINEAIRE =FACT(statut='f',min=1,max=1, + RECH_LINEAIRE =FACT(statut='d', 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, + INCREMENT =FACT(statut='o', regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), NUME_INST_INIT =SIMP(statut='f',typ='I'), @@ -11743,17 +16487,17 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), ), - THETA_3D =FACT(statut='f',min=1,max='**', + THETA_3D =FACT(statut='f',max='**', R_INF =SIMP(statut='o',typ='R' ), R_SUP =SIMP(statut='o',typ='R' ), ), - IMPR_TABLE =FACT(statut='f',min=1,max=1, + IMPR_TABLE =FACT(statut='f', 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, + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4, into=("TRESCA_MEMBRANE", "TRESCA_MFLE", "TRESCA", @@ -11769,7 +16513,7 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), ), - IMPRESSION =FACT(statut='f',min=1,max=1, + IMPRESSION =FACT(statut='f', FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", into=("RESULTAT","ASTER","IDEAS","CASTEM") ), @@ -11787,7 +16531,7 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 17/08/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11806,13 +16550,14 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_p # 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', +from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops +MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster, + fr=" ",reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), - EXEC_MAILLAGE =FACT(statut='o',min=1,max=1, + EXEC_MAILLAGE =FACT(statut='o', 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), @@ -11821,7 +16566,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ), - COUDE =FACT(statut='o',min=1,max=1, + COUDE =FACT(statut='o', ANGLE =SIMP(statut='o',typ='R' ), R_CINTR =SIMP(statut='o',typ='R' ), L_TUBE_P1 =SIMP(statut='o',typ='R' ), @@ -11858,7 +16603,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, ), ), - SOUS_EPAIS_COUDE=FACT(statut='f',min=1,max=1, + SOUS_EPAIS_COUDE=FACT(statut='f', regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), @@ -11876,7 +16621,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - SOUS_EPAIS_MULTI=FACT(statut='f',min=1,max='**', + SOUS_EPAIS_MULTI=FACT(statut='f',max='**', regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), @@ -11893,7 +16638,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - FISS_COUDE =FACT(statut='f',min=1,max=1, + FISS_COUDE =FACT(statut='f', 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' ", @@ -11918,7 +16663,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ), ), - IMPRESSION =FACT(statut='f',min=1,max='**', + IMPRESSION =FACT(statut='f',max='**', regles=(PRESENT_PRESENT('FICHIER','UNITE'),), FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", into=("ASTER","IDEAS","CASTEM") ), @@ -11934,7 +16679,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -11953,8 +16698,10 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE F1BHHAJ J.ANGLES +from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops + 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 MODELE != None:self.type_sdprod(MODELE,modele_sdaster) 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) @@ -11963,8 +16710,8 @@ def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_ 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', +MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod, + fr=" ",reentrant='n', UIinfo={"groupes":("Outils métier",)}, regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),), @@ -11972,46 +16719,46 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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, + TUBULURE =FACT(statut='o', 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)), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), + MODELE =SIMP(statut='f',typ=CO,), + CHAM_MATER =SIMP(statut='f',typ=CO,), + CARA_ELEM =SIMP(statut='f',typ=CO,), + FOND_FISS_1 =SIMP(statut='f',typ=CO,), + FOND_FISS_2 =SIMP(statut='f',typ=CO,), + CHARGE =SIMP(statut='f',typ=CO,), + RESU_THER =SIMP(statut='f',typ=CO,), - AFFE_MATERIAU =FACT(statut='o',min=1,max=3, + AFFE_MATERIAU =FACT(statut='o',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), + MATER =SIMP(statut='o',typ=mater_sdaster), 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, + EQUILIBRE =FACT(statut='o', NOEUD =SIMP(statut='o',typ=no), ), - PRES_REP =FACT(statut='o',min=1,max=1, + PRES_REP =FACT(statut='o', 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), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - 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), + ECHANGE =FACT(statut='f', + COEF_H_TUBU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + COEF_H_CORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - TORS_CORP =FACT(statut='f',min=1,max=6, + TORS_CORP =FACT(statut='f',max=6, regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), NOEUD =SIMP(statut='o',typ=no), FX =SIMP(statut='f',typ='R'), @@ -12020,10 +16767,10 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - TORS_TUBU =FACT(statut='f',min=1,max=6, + TORS_TUBU =FACT(statut='f',max=6, regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), FX =SIMP(statut='f',typ='R'), FY =SIMP(statut='f',typ='R'), @@ -12031,33 +16778,33 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - COMP_INCR =FACT(statut='f',min=1,max=1, + COMP_INCR =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ), VMIS_ISOT_TRAC =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ), ), - COMP_ELAS =FACT(statut='f',min=1,max=1, + COMP_ELAS =FACT(statut='f', RELATION =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ), ELAS =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ELAS_VMIS_TRAC =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ), ), - THETA_3D =FACT(statut='f',min=1,max='**', + THETA_3D =FACT(statut='f',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='**', + BORNES =FACT(statut='f',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, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -12071,18 +16818,16 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# 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, + CONVERGENCE =FACT(statut='d', RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), @@ -12090,26 +16835,25 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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, + NEWTON =FACT(statut='d', 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, + RECH_LINEAIRE =FACT(statut='d', 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, + INCREMENT =FACT(statut='o', regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), NUME_INST_INIT =SIMP(statut='f',typ='I'), @@ -12124,7 +16868,7 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), - IMPRESSION =FACT(statut='f',min=1,max=1, + IMPRESSION =FACT(statut='f', FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", into=("RESULTAT","ASTER","CASTEM","IDEAS")), @@ -12139,21 +16883,20 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, 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, + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),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='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), ), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), TITRE =SIMP(statut='f',typ='TXM'), -) ; -# debut entete -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +) +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12172,11 +16915,14 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod, # 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", + +from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops + +MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n', + fr=" ", UIinfo={"groupes":("Outils métier",)}, - EXEC_MAILLAGE =FACT(statut='o',min=1,max=1, + EXEC_MAILLAGE =FACT(statut='o', 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), @@ -12187,7 +16933,7 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant=' RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), - TUBULURE =FACT(statut='o',min=1,max=1, + TUBULURE =FACT(statut='o', E_BASE =SIMP(statut='o',typ='R'), DEXT_BASE =SIMP(statut='o',typ='R'), L_BASE =SIMP(statut='o',typ='R'), @@ -12199,19 +16945,19 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant=' L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), ), - SOUDURE =FACT(statut='o',min=1,max=1, + SOUDURE =FACT(statut='o', 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, + CORPS =FACT(statut='o', 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, + FISS_SOUDURE =FACT(statut='f', 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'), @@ -12230,7 +16976,7 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant=' NB_COURONNE =SIMP(statut='f',typ='I'), ), - IMPRESSION =FACT(statut='f',min=1,max='**', + IMPRESSION =FACT(statut='f',max='**', regles=(PRESENT_PRESENT('FICHIER','UNITE'),), FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), @@ -12247,7 +16993,376 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant=' INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops + +def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER, + CHAR_THER,CHAR_MECA,RESU_THER,**args): + if MODELE_THER != None: + self.type_sdprod(MODELE_THER,modele_sdaster) + if MODELE_MECA != None: + self.type_sdprod(MODELE_MECA,modele_sdaster) + if RESU_THER != None: + self.type_sdprod(RESU_THER,evol_ther) + if CHAM_MATER != None: + self.type_sdprod(CHAM_MATER,cham_mater) + if CHAR_THER != None: + for m in CHAR_THER: + self.type_sdprod(m['CHARGE'],char_ther) + if CHAR_MECA != None: + for m in CHAR_MECA: + self.type_sdprod(m['CHARGE'],char_meca) + return evol_noli + + +MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC", + op=macr_cabri_calc_ops, + sd_prod=macr_cabri_calc_prod, + fr="Calcul d'une jonction boulonnée de tuyauterie", + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,), + AFFE_MATERIAU = FACT(statut='o',max='**', + regles=(UN_PARMI('TOUT','GROUP_MA',),), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), + GROUP_MA = SIMP(statut='f',typ='TXM',into=( + "BRIDE", + "GOUJON", + "ROND", + "ECROU", + "JOINT",) ), + MATER = SIMP(statut='o',typ=mater_sdaster), + TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ), + ), + CHAM_MATER = SIMP(statut = 'f',typ=CO,), + MODELE_THER= SIMP(statut = 'f',typ=CO,), + + DEFI_CHAR_THER = FACT(statut ='d', + TEMP_INIT = SIMP(statut='d',typ='R',defaut= 25.,), + COEF_H_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + COEF_H_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + TEMP_EXT_AIR = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + ), + + CHAR_THER = FACT(statut = 'f',max=4, + CHARGE = SIMP(statut='o',typ=CO), + TYPE = SIMP(statut='o',typ='TXM', + into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON", + "BRIDE_JOINT"),) + ), + + RESU_THER = SIMP(statut = 'f',typ=CO,), + + + MODELE_MECA= SIMP(statut = 'f',typ=CO,), + + DEFI_CHAR_MECA = FACT(statut='o', + PRETENS = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + PRES_REP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + EFFE_FOND = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),), + ), + + CHAR_MECA = FACT(statut = 'f',max=11, + CHARGE = SIMP(statut='o',typ=CO), + TYPE = SIMP(statut='o',typ='TXM', + into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT", + "BLOC_LAT_ALES","BLOC_LAT_NALES", + "PLAN_TUBE", + "PRES_FLU","EFFET_FOND", + "CONT_JOINT", + "DEFO_THER", + "SERR_ECROU_1","SERR_ECROU_2",),) + ), + + RELATION = SIMP(statut='f',typ='TXM', + into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),), + + SOLVEUR = FACT(statut='d', + METHODE = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ), + b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", + fr="Paramètres de la méthode multi frontale", + RENUM = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + NPREC = SIMP(statut='d',typ='I',defaut=8), + STOP_SINGULIER = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ), + ), + ), + INCREMENT = FACT(statut='f', + regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), + EXCLUS('NUME_INST_FIN','INST_FIN'),), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", + into=("CHRONOLOGIQUE",) ), + NUME_INST_INIT =SIMP(statut='f',typ='I'), + INST_INIT =SIMP(statut='f',typ='R'), + NUME_INST_FIN =SIMP(statut='f',typ='I'), + INST_FIN =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), + SUBD_PAS =SIMP(statut='f',typ='I',defaut=1), + SUBD_PAS_MINI =SIMP(statut='f',typ='R'), + COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0), + OPTI_LIST_INST =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),), + NOM_CHAM =SIMP(statut='f',typ='TXM',), + NOM_CMP =SIMP(statut='f',typ='TXM',), + VALE =SIMP(statut='f',typ='R'), + ), + NEWTON =FACT(statut='d', + REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), + PREDICTION =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ), + MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), + PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), + REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + ), + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), + RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), + RESI_GLOB_RELA =SIMP(statut='f',typ='R'), + ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), + ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), + RESO_INTE =SIMP(statut='f',typ='TXM',defaut="IMPLICITE", + into=("IMPLICITE",)), + ), + ); + +#& MODIF COMMANDE DATE 07/02/2005 AUTEUR MABBAS M.ABBAS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops + +MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL", + op=macr_cabri_mail_ops, + sd_prod=maillage_sdaster, + fr="maillage d'une jonction boulonnée de tuyauterie", + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + EXEC_MAILLAGE = FACT(statut='o', + LOGICIEL = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),), + UNITE_DATG = SIMP(statut = 'f',typ='I',defaut=70,), + UNITE_MGIB = SIMP(statut = 'f',typ='I',defaut=19,), + NIVE_GIBI = SIMP(statut = 'f',typ='I',defaut=10, + into = (3,4,5,6,7,8,9,10,11), + ), + ), + RAFF_MAILLAGE = FACT(statut = 'd', + NB_RADIAL = SIMP(statut = 'f',typ='I',defaut=2,), + NB_CIRCONF = SIMP(statut = 'f',typ='I',defaut=3,), + NB_VERTICAL = SIMP(statut = 'f',typ='I',defaut=6,), + NB_ALESAGE = SIMP(statut = 'f',typ='I',defaut=5,), + ), + VERI_MAIL = FACT(statut='d', + VERIF = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + APLAT = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + ), + GEOM_BRID = FACT(statut = 'o', + NORME = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),), + b_bride_iso = BLOC(condition = "NORME == 'OUI'", + TYPE = SIMP(statut='o',typ='TXM', + into=('A','AA','B','B1','C','D','D1','E','F', + 'FF','G','GG','H','H1','I','J','J1', + 'K','L','L1','M','N','O','P','S','T','W'), + ), + ), + b_bride_niso = BLOC(condition = "NORME == 'NON'", + TUBU_D_EXT = SIMP(statut='o',typ='R',), + TUBU_H = SIMP(statut='o',typ='R',), + BRID_D_EXT = SIMP(statut='o',typ='R',), + BRID_D_INT = SIMP(statut='o',typ='R',), + BRID_H = SIMP(statut='o',typ='R',), + BRID_D_CONGE = SIMP(statut='o',typ='R',), + BRID_R_CONGE = SIMP(statut='o',typ='R',), + BRID_D_EPAUL = SIMP(statut='o',typ='R',), + BRID_H_EPAUL = SIMP(statut='o',typ='R',), + BRID_D_ALESAG = SIMP(statut='o',typ='R',), + BRID_P_ALESAG = SIMP(statut='o',typ='R',), + BRID_H_ALESAG = SIMP(statut='o',typ='R',), + GOUJ_N_GOUJON = SIMP(statut='o',typ='I',), + GOUJ_D_GOUJON = SIMP(statut='o',typ='R',), + GOUJ_E_FILET = SIMP(statut='o',typ='R',), + GOUJ_D_RONDEL = SIMP(statut='o',typ='R',), + GOUJ_E_RONDEL = SIMP(statut='o',typ='R',), + GOUJ_D_ECROU = SIMP(statut='o',typ='R',), + GOUJ_E_ECROU = SIMP(statut='o',typ='R',), + ETAN_E_JOINT = SIMP(statut='o',typ='R',), + ), + ), + IMPRESSION = FACT(statut='d', + UNITE = SIMP(statut='f',typ='I'), + FORMAT = SIMP(statut='f',typ='TXM',defaut="ASTER", + into=("ASTER","CASTEM","IDEAS"), + ), + b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'", + NIVE_GIBI = SIMP(statut='f',typ='I',defaut=10,into=(3,10),), + ), + b_impr_ideas = BLOC(condition = "FORMAT == 'IDEAS'", + VERSION = SIMP(statut='f',typ='I',defaut=5,into=(4,5),), + ), + ), + ); + +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2003 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE JMBHH01 J.M.PROIX + +from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops + +MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=tabl_cara_geom, + reentrant='n', + UIinfo={"groupes":("Modélisation",)}, + fr="caractéristiques d'une section transversale de poutre à partir d'un maillage 2D", + regles=(EXCLUS('SYME_X','GROUP_MA_BORD'), + EXCLUS('SYME_Y','GROUP_MA_BORD'),), + + UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 20 ), + ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), + fr="Point par rapport auquel sont calculées les inerties"), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), + + SYME_X =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"), + SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"), + + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"), + + GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), + + b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None", + fr=" calcul des carac. mecaniques", + + NOEUD =SIMP(statut='f',typ=no,max='**', + fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"), + GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', + fr="groupes de mailles linéiques bordant des trous dans la section"), + ), + + b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", + fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", + regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), + LONGUEUR =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"), + MATERIAU =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"), + LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), + fr="type de conditions aux limites sur le plancher supérieur" ), + ), + ) +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + + +from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops + +def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): + self.type_sdprod(RESULTAT,AsType(RESU_INIT)) + self.type_sdprod(MAILLAGE,maillage_sdaster) + return None + + +MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n', + UIinfo={"groupes":("Post traitements",)}, + fr="permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT.", + + + # SD résultat ,modèle et champs à "éclater" : + RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), + MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ), + + # paramètres numériques de la commande : + SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), + TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), + + # concepts produits par la commande : + RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), + MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), + + # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + + # Sélection des numéros d'ordre : + regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), + TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), + ) +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12267,7 +17382,7 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant=' # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),), BASE_MODALE =SIMP(statut='o',typ=base_modale ), @@ -12278,7 +17393,7 @@ MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ", "DIAG_MASS") ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12296,13 +17411,13 @@ MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,docu="U4.62.01-f1",reentrant='f', +MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', UIinfo={"groupes":("Matrices/vecteurs",)}, fr="Définition d un macro-élément pour l analyse statique par sous structuration", regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), ENSEMBLE('DEFINITION','EXTERIEUR'),), - DEFINITION =FACT(statut='f',min=1,max=1, - MODELE =SIMP(statut='o',typ=modele), + DEFINITION =FACT(statut='f', + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='f',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), @@ -12310,124 +17425,472 @@ MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,docu="U4.6 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, + EXTERIEUR =FACT(statut='f', regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), ), - RIGI_MECA =FACT(statut='f',min=1,max=1, + RIGI_MECA =FACT(statut='f', ), - MASS_MECA =FACT(statut='f',min=1,max=1, - BIDO1 =SIMP(statut='f',typ='I',defaut=0), + MASS_MECA =FACT(statut='f', ), - CAS_CHARGE =FACT(statut='f',min=1,max='**', + CAS_CHARGE =FACT(statut='f',max='**', NOM_CAS =SIMP(statut='o',typ='TXM'), SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - CHARGE =SIMP(statut='f',typ=char_meca,max='**'), + CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), INST =SIMP(statut='f',typ='R',defaut=0.E+0), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 07/10/2004 AUTEUR GNICOLAS G.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS + +from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops + +MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops, + docu="U7.04.41", + fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.", + ang="Print values for the fiability software", +# +# 1. Le niveau d'information +# + INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)), +# +# 2. Impression de la valeur de la cible +# +# 2.1. ==> La table contenant la valeur à imprimer +# + TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster, + fr="Table contenant la valeur cible.", + ang="Table which includes the target value."), +# +# 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table +# + NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM', + fr="Nom du paramètre associé à la valeur cible.", + ang="Name of the parameter connected to the target value."), +# +# 3. Impressions des valeurs des éventuels gradients +# + GRADIENTS = FACT(statut='f',min=1,max='**', +# +# 3.1. ==> La table contenant la valeur à imprimer +# + TABLE = SIMP(statut='o',typ=table_sdaster, + fr="Table contenant le gradient.", + ang="Table which includes the gradient."), +# +# 3.2. ==> Le paramètre sensible +# + PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom), + fr="Paramètre sensible associé au gradient.", + ang="Sensitivity parameter connected to the gradient."), +# +# 3.3. ==> Le nom du paramètre associé au gradient dans cette table +# + NOM_PARA = SIMP(statut='o',typ='TXM', + fr="Nom du paramètre associé au gradient.", + ang="Name of the parameter connected to the gradient."), +# + ), +# +); +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE GNICOLAS G.NICOLAS + +from Macro.macr_fiabilite_ops import macr_fiabilite_ops + +# +#==== +# 1. Le retour : une liste de rééls. +#==== +# +def macr_fiabilite_prod ( self , **args ): + return listr8_sdaster +# +#==== +# 2. L'entete +#==== +# +MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops, + docu="U7.03.31", + sd_prod=macr_fiabilite_prod, + fr="Faire de la mécanique fiabiliste.", + ang="Fiability mechanics.", +# +#==== +# 3. Le niveau d'information +#==== +# + INFO = SIMP(statut="f",typ="I",defaut=1,into=(1,2)), +# +#==== +# 4. Nom et Version du logiciel de fiabilité +#==== +# + LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO", + into=("MEFISTO",), + fr="Nom du logiciel de fiabilité.", + ang="Fiability software name."), +# + VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2", + into=("V3_2", "V3_N"), + fr="Version du logiciel de fiabilité.", + ang="Fiability software release."), +# +#==== +# 5. Les entrees-sorties du calcul ASTER déterministe +#==== +# +# 5.1. ==> Le jeu de commandes déterministe +# + UNITE_ESCL = SIMP(statut="o",typ="I", + fr="Unité logique associée aux commandes du calcul ASTER déterministe.", + ang="Logical unit for the commands of the ASTER deterministic calculation."), +# +# 5.2. ==> Le destin des messages produits par ASTER +# + MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER", + into=("AUCUN", "DERNIER", "TOUS"), + fr="Quels messages ASTER récupérer.", + ang="Which ASTER messages must be kept."), +# +#==== +# 6. Options +#==== +# 6.1. ==> Générales +# +# 6.1.1. ==> La valeur du seuil +# + SEUIL = SIMP(statut="o",typ="R",max=1, + fr="Le seuil de défaillance.", + ang="Failure threshold."), +# +# 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que +# la défaillance a lieu au dessus d'un seuil maximum ou +# en dessous d'un seuil minimum +# + SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1, + into=("MINIMUM","MAXIMUM"), + fr="Que faut-il ne pas dépasser : un maximum ou un minimum.", + ang="What is the failure threshold : maximum or minimum."), +# +# 6.2. ==> Pour MEFISTO +# +### en attente de résolution de AL 2004-006 (1/2) b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'", +# +# 6.2.1. ==> Pilotage de la recherche du point de conception +# + RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI", + into=("OUI","NON"), + fr="Pour trouver le point de conception.", + ang="To find the design point."), +# + b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'", +# + EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Précision du test d'arret sur les points itératifs dans l'espace standard.", + ang="Precision of stop test for iterative points in standard space."), +# + EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Précision du test d'arret sur la proximité de la surface d'état limite.", + ang="Precision of stop test for limit state surface."), +# + TAU = SIMP(statut="f",typ="R",defaut=5.0E-1, + fr="Paramètre de la méthode de minimisation.", + ang="Parameter for the minimization method."), +# + OMEGA = SIMP(statut="f",typ="R",defaut=1.0E-4, + fr="Paramètre de la méthode de minimisation.", + ang="Parameter for the minimization method."), +# + ITER_MAX = SIMP(statut="f",typ="I",defaut=50, + fr="Nombre maximum d'itérations.", + ang="Maximum number of iterations."), + ), +# +# 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance +# + METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec la méthode FORM.", + ang="Research of failure probability with FORM method."), +# + METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec la méthode SORM.", + ang="Research of failure probability with SORM method."), +# + TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON", + into=("OUI","NON"), + fr="Recherche de la probabilité de défaillance avec le tirage d'importance.", + ang="Research of failure probability with ."), +# + b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'", +# + NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3, + fr="Nombre de simulations pour le tirage d'importance.", + ang="Number of simulation for."), +# + ), +# +# 6.2.3. ==> Création d'une surface de réponse polynomiale +# + POLYNOME_TAYLOR = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),), + HGRAD = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Pas incrémental pour le calcul des gradients.", + ang="Step for calculation of gradients."), + HHESS = SIMP(statut="f",typ="R",defaut=1.0E-2, + fr="Pas incrémental pour le calcul des dérivées secondes.", + ang="Step for calculation of second derivatives."), +# +# 6.2.4. ==> Recherche d'un plan d'expérience +# + PLAN_EXPERIENCE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Construction d'un plan d'expérience.", + ang="Construction of an experiment plan."), +# + b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'", +# + ALPHA = SIMP(statut="f",typ="R",defaut=2.0E-1, + fr="Plan d'expérience : maille du plan de type composite centré.", + ang="Experiment plane : mesh centered composite."), +# + BETA = SIMP(statut="f",typ="R",defaut=4.0E-1, + fr="Plan d'expérience : maille du plan de type factoriel.", + ang="Experiment plane : mesh factor."), +# + ), +# +# 6.2.5. ==> Les tests +# 6.2.5.1. ==> Test de la sphere +# + T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test de la sphère.", + ang="Sphere test."), +# + b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'", +# + METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE", + into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"), + fr="Type de méthode.", + ang="Method."), +# + NB_POINT = SIMP(statut="f",typ="I",max=1,defaut=60, + fr="Nombre de points de la sphere.", + ang="Number of points over the sphere.") + ), +# +# 6.2.5.2. ==> Test du maximum fort +# + T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test du maximum fort.", + ang="Strong maximum test."), +# + b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'", +# + COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0, + fr="Cosinus de l'angle d'exclusion.", + ang="Cosine of angle of exclusion."), +# + DPROB = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1, + fr="Fraction d'iso-densité de probabilité de défaillance.", + ang="Fraction.") +# + ), +# +# 6.2.5.3. ==> Test du hessien +# + T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"), + fr="Test du hessien.", + ang="Hessian test."), +# +# 6.2.6. ==> Les correlations entre les variables +# + MATRICE = SIMP(statut="o",typ="R",max="**", + fr="Matrice de corrélation entre les variables.", + ang="Correlation matrix."), +# +### en attente de résolution de AL 2004-006 (2/2) ), +# +#==== +# 7. Definition des paramètres +#==== +# + VARIABLE = FACT(statut="o",min=1,max="**", +# +# 7.1. ==> Nom de la variable +# + NOM = SIMP(statut="o",typ="TXM", + fr="Nom de la variable, identique au nom de concept PARA_SENSI.", + ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."), +# +# 7.2. ==> Loi de distribution +# + LOI = SIMP(statut="o",typ="TXM", + into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"), + fr="Choix de la loi", + ang="Law."), +# +# 7.2.1. ==> Loi normale +# + b_normale=BLOC(condition="LOI=='NORMALE'", +# + VALE_MOY = SIMP(statut="o",typ="R",max=1, + fr="Valeur moyenne.", + ang="Mean value."), +# + ECART_TYPE = SIMP(statut="o",typ="R",max=1, + fr="Ecart type.", + ang="Standard deviation."), +# + ), +# +# 7.2.2. ==> Loi lognormale +# + b_lognormale=BLOC(condition="LOI=='LOGNORMALE'", +# + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), +# + VALE_MOY = SIMP(statut="f",typ="R",max=1, + fr="Valeur moyenne dans l'espace de la loi normale.", + ang="Mean value in the space of the normal law."), +# + ECART_TYPE = SIMP(statut="f",typ="R",max=1, + fr="Ecart type dans l'espace de la loi normale.", + ang="Standard deviation in the space of the normal law."), +# + VALE_MOY_PHY = SIMP(statut="f",typ="R",max=1, + fr="Valeur moyenne dans l'espace physique.", + ang="Mean value in the physical space."), +# + ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1, + fr="Ecart type dans l'espace physique.", + ang="Standard deviation in the physical space."), +# + regles=(AU_MOINS_UN("VALE_MOY" ,"VALE_MOY_PHY"), + AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"), + EXCLUS ("VALE_MOY" ,"VALE_MOY_PHY"), + EXCLUS ("VALE_MOY" ,"ECART_TYPE_PHY"), + EXCLUS ("ECART_TYPE","VALE_MOY_PHY"), + EXCLUS ("ECART_TYPE","ECART_TYPE_PHY")), +# + ), +# +# 7.2.3. ==> Loi uniforme +# + b_uniforme=BLOC(condition="LOI=='UNIFORME'", # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -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 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. + VALE_MAX = SIMP(statut="o",typ="R",max=1, + fr="Valeur maximale.", + ang="Maximal value."), # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. + ), # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -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 +# 7.2.4. ==> Loi normale tronquée +# + b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'", +# + VALE_MOY = SIMP(statut="o",typ="R",max=1, + fr="Valeur moyenne de la loi normale complète.", + ang="Mean value for the entire normal law."), +# + ECART_TYPE = SIMP(statut="o",typ="R",max=1, + fr="Ecart type de la loi normale complète.", + ang="Standard deviation for the entire normal law."), +# + VALE_MIN = SIMP(statut="o",typ="R",max=1, + fr="Valeur minimale.", + ang="Minimal value."), +# + VALE_MAX = SIMP(statut="o",typ="R.",max=1, + fr="Valeur maximale.", + ang="Maximal value."), +# + ), +# +# 7.3. ==> Paramètres de calcul +# 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja +# + regles=(EXCLUS("POINT_INI","POINT_CONCEPT"), + EXCLUS("POINT_REF","POINT_CONCEPT"),), +# +# 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme. +# Si on ne le fait pas, le programme prendra la valeur moyenne. +# + POINT_INI = SIMP(statut="f",typ="R",max=1, + fr="Point de démarrage de l'algorithme itératif.", + ang="Initial point for iterative process."), +# +# 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser. +# Si on ne le fait pas, le programme prendra la valeur moyenne. +# + POINT_REF = SIMP(statut="f",typ="R",max=1, + fr="Point de référence de l'algorithme itératif.", + ang="Reference point for iterative process."), +# +# 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception +# + POINT_CONCEPT = SIMP(statut="f",typ="R",max=1, + fr="Point de conception.", + ang="Design point."), +# +# 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre +# + GRADIENT = SIMP(statut="o",typ="TXM",max=1, + into=("OUI","NON"), + fr="ASTER calcule directement le gradient.", + ang="ASTER computes the gradient for this parameter."), + + b_gradient=BLOC(condition="GRADIENT=='NON'", + INCREMENT = SIMP(statut="o",typ="R",max=1, + fr="Incrément dans la direction.", + ang="Direction increment."), + ), + + ), +# +); +#& MODIF COMMANDE DATE 03/11/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12446,7 +17909,11 @@ MACR_GOUJ2E_MAIL=MACRO(nom="MACR_GOUJ2E_MAIL",op= -22,sd_prod=maillage, # 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", + +from Macro.macr_adap_mail_ops import macr_adap_mail_ops + +MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops, + docu="U7.03.02-b", fr="Donner des informations sur un maillage.", ang="To give information about a mesh.", # @@ -12456,8 +17923,8 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-b2", # # 2. Version de HOMARD # - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V5_5", - into=("V5_5", "V5_N","V5_N_PERSO"), + VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V7_1", + into=("V7_1", "V7_N", "V7_N_PERSO"), fr="Version de HOMARD", ang="HOMARD release"), # @@ -12468,45 +17935,66 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-b2", fr="Langue des messages issus de HOMARD.", ang="Language for HOMARD messages." ), # -# 4. Le nom du maillage a analyser +# 4. Gestion des éléments autres que des simplexes +# 0 : autres elements refusés +# 1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés +# 2 : tous (defaut) +# + NON_SIMPLEXE = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2), + fr="Acceptation d'éléments quad, hexa et penta", + ang="quad, hexa and penta elements allowed" ), # - MAILLAGE = SIMP(statut='o',typ=maillage, +# 5. Le nom du maillage a analyser +# + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, 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 +# 6. Suivi d'une frontiere +# + MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, + fr="Maillage de la frontiere à suivre", + ang="Boundary mesh" ), +# + b_frontiere =BLOC( condition = " MAILLAGE_FRONTIERE != None " , + fr="Groupes définissant la frontière", + ang="Groups which define the boundary", + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), + ) , +# +# 7. Les options ; par defaut, on ne fait que les nombres +# 7.1. Nombre de noeuds et elements # NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"), fr="Nombre de noeuds et éléments du maillage", ang="Number of nodes and elements in the mesh" ), # -# 5.2. Determination de la qualite des elements du maillage +# 7.2. Determination de la qualite des elements du maillage # QUALITE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Qualité du maillage", ang="Mesh quality" ), # -# 5.3. Connexite du maillage +# 7.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 +# 7.4. Taille des sous-domaines du maillage # TAILLE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Tailles des sous-domaines du maillage.", ang="Sizes of mesh sub-domains." ), # -# 5.5. Controle de la non-interpenetration des elements +# 7.5. Controle de la non-interpenetration des elements # INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), fr="Controle de la non interpénétration des éléments.", ang="Overlapping checking." ), # ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 14/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -12527,34 +18015,31 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-b2", 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', +MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster, + reentrant='n', UIinfo={"groupes":("Outils métier",)}, - fr="extraction d un résultat sur des lignes de coupes définies par 2 points et un intervalle", + fr="extraction d un résultat sur des lignes de coupes définies par 2 points ou un group_no", RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ), +# extraction des résultats b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique", NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ), ), b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='TEMP' ), ), - 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)), + MODELE =SIMP(statut='f',typ=modele_sdaster ), + LIGN_COUPE =FACT(statut='o',max='**', + regles=(UN_PARMI('NB_POINTS','GROUP_NO'),), + INTITULE =SIMP(statut='f',typ='TXM',), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),), + NB_POINTS =SIMP(statut='f',typ='I'), + b_nbpts = BLOC(condition = "NB_POINTS != None", + COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), + COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3), ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -12576,96 +18061,26 @@ MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=macr_ from Macro.macr_recal_ops import macr_recal_ops def macr_recal_prod(self,**args ): - return listr8 + return listr8_sdaster -MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,docu="U4.73.02", +MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops, UIinfo={"groupes":("Résultats et champs",)}, sd_prod=macr_recal_prod, fr="Réalise le recalage 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='**'), + RESU_EXP =SIMP(statut='o',typ=assd,max='**'), + POIDS =SIMP(statut='f',typ=assd,max='**'), + RESU_CALC =SIMP(statut='o',typ=assd,max='**'), + LIST_PARA =SIMP(statut='o',typ=assd,max='**'), ITER_MAXI =SIMP(statut='f',typ='I',defaut=10), RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3), UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.001), - GRAPHIQUE =FACT(statut='d',min=1,max=1, + GRAPHIQUE =FACT(statut='d', UNITE =SIMP(statut='f',typ='I',defaut=90), INTERACTIF =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),) ) ; -#& MODIF COMMANDE DATE 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 - -from Macro.macro_cara_poutre_ops import macro_cara_poutre_ops - -MACRO_CARA_POUTRE=MACRO(nom="MACRO_CARA_POUTRE",op=macro_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'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut= 20 ), - SYME_X =SIMP(statut='f',typ='TXM',into=("OUI",)), - SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA_BORD =SIMP(statut='f',typ=grma,max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - ORIG_INER =SIMP(statut='f',typ='R',max='**',defaut=(0.E+0,0.E+0)), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_MA_INTE =SIMP(statut='f',typ=grma,max='**'), - LONGUEUR =SIMP(statut='f',typ='R'), - MATERIAU =SIMP(statut='f',typ=mater), - LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), - 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. -# ====================================================================== -MACRO_CHAR_F_U=MACRO(nom="MACRO_CHAR_F_U",op=-15,sd_prod=char_meca, - fr=" ",docu="U4.72.07-a",reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - MODELE =SIMP(statut='o',typ=modele), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CHARGE =SIMP(statut='o',typ=char_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - COEF_IMPO =SIMP(statut='f',typ='R',defaut=1.0E+0), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="APRES",into=("NORMAL","APRES")), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12688,30 +18103,33 @@ MACRO_CHAR_F_U=MACRO(nom="MACRO_CHAR_F_U",op=-15,sd_prod=char_meca, 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 isinstance(NUME_DDL,CO) : + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + else: + self.type_sdprod(NUME_DDL,NUME_DDL.__class__) if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas raise AsException("type de concept resultat non prevu") -MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,docu="U4.51.02-d2",reentrant='f', +MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),), - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='f',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl,CO)), - CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'), - CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'), + NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), + CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), - CAS_CHARGE =FACT(statut='o',min=1,max='**', + CAS_CHARGE =FACT(statut='o',max='**', regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),), NOM_CAS =SIMP(statut='f',typ='TXM' ), MODE_FOURIER =SIMP(statut='f',typ='I' ), TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHAR_MECA =SIMP(statut='f',typ=char_meca,max='**'), - CHAR_CINE =SIMP(statut='f',typ=char_meca,max='**'), - OPTION =SIMP(statut='f',typ='TXM',max='**', + CHAR_MECA =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + CHAR_CINE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), + OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL", "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL", "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA", @@ -12727,7 +18145,7 @@ MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro 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, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", fr="Paramètres de la méthode multi frontale", @@ -12745,56 +18163,7 @@ MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro 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. -# ====================================================================== -MACRO_MADMACS=MACRO(nom="MACRO_MADMACS",op=-9,docu="U7.03.21-c", - UIinfo={"groupes":("Résolution",)}, - fr="Impression au format IDEAS des données pour chainage entre Code_Aster et MADMACS", - regles=(UN_PARMI('MATR_ELEM_RIGI','MATR_RIGI'), - UN_PARMI('MATR_ELEM_MASS','MATR_MASS'), - PRESENT_ABSENT('MATR_ELEM_AMOR','MATR_AMOR'),), - 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,)), - MAILLAGE =SIMP(statut='o',typ=maillage), - NUME_DDL =SIMP(statut='o',typ=nume_ddl), - CHARGE =SIMP(statut='o',typ=char_meca,max='**'), - MATR_ELEM_RIGI =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ELEM_MASS =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ELEM_AMOR =SIMP(statut='f',typ=matr_elem_depl_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r), - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NMAX_MODE =SIMP(statut='f',typ='I',defaut=10), - INTERFACE =FACT(statut='f',min=1,max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('DDL_ACTIF','MASQUE'),), - NOM =SIMP(statut='o',typ='TXM'), - 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='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12812,34 +18181,37 @@ MACRO_MADMACS=MACRO(nom="MACRO_MADMACS",op=-9,docu="U7.03.21-c", # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== + +from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops + def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): - self.type_sdprod(MATR_AMOR_AJOU,matr_asse_depl_r) - self.type_sdprod(MATR_MASS_AJOU,matr_asse_depl_r) - self.type_sdprod(MATR_RIGI_AJOU,matr_asse_depl_r) + self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) + self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) if FORC_AJOU != None: for m in FORC_AJOU: - self.type_sdprod(m['VECTEUR'],vect_asse_gene) + self.type_sdprod(m['VECTEUR'],vect_asse_gene_r) return None -MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-c1",sd_prod=macro_matr_ajou_prod, +MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,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), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), GROUP_MA_INTERF =SIMP(statut='o',typ=grma), MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), - FLUIDE =FACT(statut='o',min=1,max='**', + FLUIDE =FACT(statut='o',max='**', RHO =SIMP(statut='o',typ='R'), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), GROUP_MA =SIMP(statut='f',typ=grma), MAILLE =SIMP(statut='f',typ=ma), ), - DDL_IMPO =FACT(statut='o',min=1,max='**', + DDL_IMPO =FACT(statut='o',max='**', regles=(UN_PARMI('NOEUD','GROUP_NO'), UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), NOEUD =SIMP(statut='f',typ=no), @@ -12847,7 +18219,7 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-c1",sd_prod=ma PRES_FLUIDE =SIMP(statut='f',typ='R'), PRES_SORTIE =SIMP(statut='f',typ='R'), ), - ECOULEMENT =FACT(statut='f',min=1,max='**', + ECOULEMENT =FACT(statut='f', GROUP_MA_1 =SIMP(statut='o',typ=grma), GROUP_MA_2 =SIMP(statut='o',typ=grma), VNOR_1 =SIMP(statut='o',typ='R'), @@ -12859,18 +18231,18 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-c1",sd_prod=ma 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)), + MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), + MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), + MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),), - FORC_AJOU =FACT(statut='f',min=1,max='**', + FORC_AJOU =FACT(statut='f',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)), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + VECTEUR =SIMP(statut='o',typ=CO), ), - SOLVEUR =FACT(statut='d',min=1,max=1, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -12884,44 +18256,45 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-c1",sd_prod=ma 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# 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 +) +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== 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) + if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") + if isinstance(NUME_DDL,CO) : + self.type_sdprod(NUME_DDL,nume_ddl_sdaster) + else: + self.type_sdprod(NUME_DDL,NUME_DDL.__class__) for m in MATR_ASSE: opti=m['OPTION'] @@ -12940,41 +18313,58 @@ def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args): 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", +MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops, UIinfo={"groupes":("Matrices/vecteurs",)}, sd_prod=macro_matr_asse_prod, fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ", - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='f',typ=cham_mater), + INST =SIMP(statut='f',typ='R',defaut=0.), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**'), - INST =SIMP(statut='f',typ='R'), - NUME_DDL =SIMP(statut='o',typ=(nume_ddl,CO)), - SOLVEUR =FACT(statut='d',min=1,max=1, + CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), + NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT", - into=("LDLT","MULT_FRONT","GCPC")), + into=("LDLT","MULT_FRONT","GCPC","MUMPS")), 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'), - ), + + MATR_ASSE =FACT(statut='o',max='**', + MATRICE =SIMP(statut='o',typ=CO), + OPTION =SIMP(statut='o',typ='TXM', + into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", + "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", + "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", + "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR", + "RIGI_THER","MASS_THER", + "RIGI_ACOU","MASS_ACOU","AMOR_ACOU", + "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",) + ), + + b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", + SIEF_ELGA =SIMP(statut='o',typ=cham_elem_sief_r), + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'", + THETA =SIMP(statut='o',typ=theta_geom), + PROPAGATION =SIMP(statut='f',typ='R'), + ), + + b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", + MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), + ), + + ), # fin MATR_ASSE + TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -12995,21 +18385,22 @@ MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,docu="U4.61.2 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", +MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ", UIinfo={"groupes":("Matrices/vecteurs",)}, - OPTION =FACT(statut='o',min=1,max=1, + OPTION =FACT(statut='o', regles=(UN_PARMI('TOUT','MODULE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), MODULE =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")), ), PROJET =SIMP(statut='o',typ='TXM'), - REPERTOIRE =SIMP(statut='f',typ='TXM'), + REPERTOIRE =SIMP(statut='f',typ='TXM'), + VERSION =SIMP(statut='f',typ='TXM',into=("V1_2","V1_3",),defaut="V1_2"), UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25), UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26), UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27), UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13030,16 +18421,11 @@ MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,fr=" ",docu="U7.03. 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', +MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca, + 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) ), + MATR_A =SIMP(statut='o',typ=matr_asse_depl_r ), + MATR_B =SIMP(statut='o',typ=matr_asse_depl_r ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), # ce mot cle ne devrait il pas etre dans calc_freq METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", @@ -13063,12 +18449,12 @@ MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=macro ), OPTION =SIMP(statut='f',typ='TXM',defaut="SANS", into=("MODE_RIGIDE","SANS") ), - CALC_FREQ =FACT(statut='d',min=0,max=1, + CALC_FREQ =FACT(statut='d',min=0, regles=(UN_PARMI('FREQ','FREQ_MAX'), PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'), PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'), EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - FREQ =SIMP(statut='f',typ='R',min=2,max='**',val_min=0.E+0 ), + FREQ =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**',val_min=0.E+0 ), FREQ_MIN =SIMP(statut='f',typ='R' ), FREQ_MAX =SIMP(statut='f',typ='R' ), NB_BLOC_FREQ =SIMP(statut='f',typ='I' ), @@ -13080,32 +18466,32 @@ MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=macro 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, + VERI_MODE =FACT(statut='d',min=0, STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - NORM_MODE =FACT(statut='o',min=1,max='**', + NORM_MODE =FACT(statut='o',max='**', MASS_INER =SIMP(statut='o',typ=tabl_mass_iner ), NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", into=("MASS_GENE","RIGI_GENE","EUCL", "EUCL_TRAN","TRAN","TRAN_ROTA") ), INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), ), - FILTRE_MODE =FACT(statut='f',min=1,max=1, + FILTRE_MODE =FACT(statut='f', CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", into=("MASS_EFFE_UN","MASS_GENE") ), SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), ), - IMPRESSION =FACT(statut='d',min=1,max=1, + IMPRESSION =FACT(statut='d', TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", into=("MASS_EFFE_UN","MASS_GENE",) ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13126,37 +18512,36 @@ MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=macro from Macro.macro_proj_base_ops import macro_proj_base_ops -def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,**args ): +def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ): if MATR_ASSE_GENE != None: for m in MATR_ASSE_GENE: self.type_sdprod(m['MATRICE'],matr_asse_gene_r) - 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) + self.type_sdprod(v['VECTEUR'],vect_asse_gene_r) return None -MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,docu="U4.63.11-d1", +MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops, UIinfo={"groupes":("Matrices/vecteurs",)}, sd_prod=macro_proj_base_prod, fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs", - BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene) ), + BASE =SIMP(statut='o',typ=(mode_meca,mode_stat,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)), + PROFIL =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ), + MATR_ASSE_GENE =FACT(statut='f',max='**', + MATRICE =SIMP(statut='o',typ=CO,), MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - 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)), + VECT_ASSE_GENE =FACT(statut='f',max='**', + VECTEUR =SIMP(statut='o',typ=CO,), TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), + VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene_r), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13174,27 +18559,38 @@ MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,docu="U4.63.1 # 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", +MAJ_CATA=PROC(nom="MAJ_CATA",op=20, UIinfo={"groupes":("Gestion du travail",)}, fr="Compilation des catalogues de commandes et d éléments", - ELEMENT =FACT(statut='f',min=1,max=1,), + ELEMENT =FACT(statut='f',), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND -# REDISTRIBUTION OF THIS FILE. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, - fr="Analyse mécanique statique linéaire",docu="U4.51.01-g1",reentrant='n', + fr="Analyse mécanique statique linéaire",reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(EXCLUS("INST","LIST_INST"), AU_MOINS_UN('CHAM_MATER','CARA_ELEM',), ), - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='f',typ=cham_mater, fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), @@ -13202,52 +18598,70 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, 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='**', + EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), ), INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - LIST_INST =SIMP(statut='f',typ=listr8), - 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='**', + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST_FIN =SIMP(statut='f',typ='R'), + OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1, + fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.", + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"), - SOLVEUR =FACT(statut='d',min=1,max=1, - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS") ), + + b_feti =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1", + PARTITION =SIMP(statut='o',typ=sd_feti_sdaster), + RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.), + NMAX_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), + TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ), + NB_REORTHO_DD =SIMP(statut='f',typ='I',defaut=0,val_min=0), + PRE_COND =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ), + SCALING =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ), + VERIF_SDFETI =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), + TEST_CONTINU =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.), + INFO_FETI =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFF'), + STOCKAGE_GI =SIMP(statut='f',typ='TXM',defaut="CAL",into=("OUI","NON","CAL") ), + ), + 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' ", + + b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ", fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", NPREC =SIMP(statut='f',typ='I',defaut=8), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), + b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), + ), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13266,7 +18680,7 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, # 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.xx-a", +MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129, UIinfo={"groupes":("Fonction",)}, fr="Mémorisation des noms des concepts dérivés.", ang="Memorisation of the names of the sensitive concepts.", @@ -13274,7 +18688,7 @@ MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,docu="U4.31.xx-a", regles=(AU_MOINS_UN('NOM','NOM_ZERO','NOM_UN'),), NOM=FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('MOT_CLE','VALEUR' ),), + regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),), NOM_SD=SIMP(statut='o',typ='TXM', fr="Nom de la structure de base", @@ -13288,6 +18702,10 @@ MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,docu="U4.31.xx-a", fr="Nom de la structure composée", ang="Name of the built structure"), + MOT_FACT=SIMP(statut='f',typ='TXM',max='**', + fr="Liste des mots clés facteurs concernés par la dérivation", + ang="Factor keyword list involved in derivation"), + MOT_CLE=SIMP(statut='f',typ='TXM',max='**', fr="Liste des mots clés concernés par la dérivation", ang="Keyword list involved in derivation"), @@ -13298,16 +18716,16 @@ MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,docu="U4.31.xx-a", ), - NOM_ZERO=SIMP(statut='f',typ=fonction, + NOM_ZERO=SIMP(statut='f',typ=fonction_sdaster, fr="Nom de la fonction nulle", ang="Name of the zero fonction"), - NOM_UN=SIMP (statut='f',typ=fonction, + NOM_UN =SIMP(statut='f',typ=fonction_sdaster, fr="Nom de la fonction unité", ang="Name of the one fonction"), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13327,31 +18745,31 @@ MEMO_NOM_SENSI=PROC(nom="MEMO_NOM_SENSI",op=129,docu="U4.31.xx-a", # ====================================================================== 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', + 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, + LIAISON =FACT(statut='o', DROITE =SIMP(statut='o',typ='TXM' ), GAUCHE =SIMP(statut='o',typ='TXM' ), AXE =SIMP(statut='f',typ='TXM' ), ), - VERI_CYCL =FACT(statut='f',min=1,max=1, + VERI_CYCL =FACT(statut='f', PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), DIST_REFE =SIMP(statut='f',typ='R' ), ), - CALCUL =FACT(statut='o',min=1,max=1, + CALCUL =FACT(statut='o', TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NB_DIAM =SIMP(statut='f',typ='I',max='**'), + NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" ,into=("PLUS_PETITE","CENTRE","BANDE") ), b_centre =BLOC(condition = "OPTION == 'CENTRE'", - FREQ =SIMP(statut='o',typ='R',min=1,max=1), + FREQ =SIMP(statut='o',typ='R',), ), b_bande =BLOC(condition = "OPTION == 'BANDE'", - FREQ =SIMP(statut='o',typ='R',min=2,max=2), + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), ), # NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), @@ -13361,7 +18779,7 @@ MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 20/10/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13389,15 +18807,15 @@ def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ): 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', + 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", + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ), b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - CALC_FREQ =FACT(statut='o',min=1,max=1,fr="Choix des paramètres pour le calcul des valeurs propres", + CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), fr="Choix de l option pour estimer les valeurs propres" ), @@ -13416,11 +18834,11 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod ), ), 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", + CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), fr="Choix de l option pour estimer les valeurs propres" ), - CHAR_CRIT =SIMP(statut='o',typ='R',max='**' ), + CHAR_CRIT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ), PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ), @@ -13433,20 +18851,29 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod 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", + CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), ), - VERI_MODE =FACT(statut='d',min=0,max=1, + VERI_MODE =FACT(statut='d',min=0, STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, fr="Valeur limite admise pour l ereur a posteriori des modes" ), ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), + b_sensibilite =BLOC(condition = "SENSIBILITE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + EXCIT =FACT(statut='f',max='**',), # que pour NMDOME + ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), + TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 21/03/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13468,18 +18895,19 @@ 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', + 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_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", + MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", into=("TRI_DIAG","JACOBI","SORENSEN") ), b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), @@ -13498,14 +18926,14 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr 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", + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", into=("MODE_FLAMB","DYNAMIQUE"), fr="Type d analyse" ), OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - CALC_FREQ =FACT(statut='d',min=0,max=1, + CALC_FREQ =FACT(statut='d',min=0, OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), fr="Choix de l option et par conséquent du shift du problème modal" ), b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", @@ -13513,12 +18941,13 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr ), 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, + CHAR_CRIT =SIMP(statut='o',typ='R', fr="Charge critique autour de laquelle on cherche les charges critiques propres"), + NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), ), b_bande =BLOC(condition = "(OPTION == 'BANDE')", fr="Recherche des valeurs propres dans une bande donnée", - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max=2, + CHAR_CRIT =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, fr="Valeur des deux charges critiques délimitant la bande de recherche"), ), APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), @@ -13534,7 +18963,7 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr ), b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - CALC_FREQ =FACT(statut='d',min=0,max=1, + CALC_FREQ =FACT(statut='d',min=0, OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"), fr="Choix de l option et par conséquent du shift du problème modal" ), b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", @@ -13542,17 +18971,17 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr ), 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, + FREQ =SIMP(statut='o',typ='R', fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',max=1,), + AMOR_REDUIT =SIMP(statut='f',typ='R',), NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), ), b_bande =BLOC(condition = "(OPTION == 'BANDE')", fr="Recherche des valeurs propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,max=2, + FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, fr="Valeur des deux fréquences délimitant la bande de recherche"), ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), + 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' ), @@ -13564,18 +18993,27 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45,sd_prod=mode_iter_simult_pr ), ), - VERI_MODE =FACT(statut='d',min=0,max=1, + VERI_MODE =FACT(statut='d',min=0, STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, fr="Valeur limite admise pour l ereur a posteriori des modes" ), STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), + b_sensibilite =BLOC(condition = "SENSIBILITE != None", + CHAM_MATER =SIMP(statut='f',typ=cham_mater ), + CARA_ELEM =SIMP(statut='f',typ=cara_elem ), + EXCIT =FACT(statut='f',max='**',), # que pour NMDOME + ), STOP_FREQ_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13600,38 +19038,38 @@ def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args): 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', + 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='**', + MODE_STAT =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + 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='**', + FORCE_NODALE =FACT(statut='f',max='**', regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + 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='**', + PSEUDO_MODE =FACT(statut='f',max='**', regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + 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", @@ -13644,7 +19082,7 @@ MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13663,68 +19101,85 @@ MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod, # 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', + 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 ), + BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), AMOR_UNIF =SIMP(statut='f',typ='R' ), INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND -# REDISTRIBUTION OF THIS FILE. +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE G8BHHXD X.DESROCHES -MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage, +MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact", - docu="U4.23.04-d1",reentrant='o', + reentrant='o', UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE',), - PRESENT_ABSENT('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE', + ), + PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('DEFORME','ORIE_CONTACT','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('EQUE_PIQUA','ORIE_CONTACT','DEFORME','ORIE_PEAU_2D', + PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_CONTACT','DEFORME','EQUE_PIQUA', + PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - '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', + PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + 'PLAQ_TUBE','MODI_MAILLE',), + PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',), - PRESENT_ABSENT('MODI_MAILLE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', + PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',), EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), EXCLUS('EQUE_PIQUA','TUBE_COUDE'), - EXCLUS('ROTATION','MODI_BASE'),), - MAILLAGE =SIMP(statut='o',typ=maillage ), + EXCLUS('ROTATION','MODI_BASE'), + EXCLUS('SYMETRIE','ROTATION'), + EXCLUS('SYMETRIE','TRANSLATION'), + EXCLUS('SYMETRIE','MODI_BASE'), + EXCLUS('SYMETRIE','ECHELLE'), + ), + MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - ORIE_CONTACT =FACT(statut='f',min=1,max=1, - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + ORIE_FISSURE =FACT(statut='f', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), - DEFORME =FACT(statut='f',min=1,max=1, + DEFORME =FACT(statut='f', OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), DEPL =SIMP(statut='o',typ=cham_no_depl_r ), b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", - GROUP_NO_APPUI = SIMP(statut='o',typ=grno,max='**' ), - GROUP_NO_STRU = SIMP(statut='o',typ=grno,max='**' ),), + GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), + GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), ), - EQUE_PIQUA =FACT(statut='f',min=1,max=1, + EQUE_PIQUA =FACT(statut='f', GROUP_NO =SIMP(statut='o',typ=grno), E_BASE =SIMP(statut='o',typ='R' ), DEXT_BASE =SIMP(statut='o',typ='R' ), @@ -13740,61 +19195,100 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage, 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_2D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), - ORIE_PEAU_3D =FACT(statut='f',min=1,max='**', - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + ORIE_PEAU_3D =FACT(statut='f',max='**', + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), - ORIE_NORM_COQUE =FACT(statut='f',min=1,max='**', + ORIE_SHB8 =FACT(statut='f',max=1, + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), + ), + ORIE_NORM_COQUE =FACT(statut='f',max='**', regles=(EXCLUS('NOEUD','GROUP_NO'), PRESENT_PRESENT('NOEUD','VECT_NORM'), PRESENT_PRESENT('GROUP_NO','VECT_NORM'),), - GROUP_MA =SIMP(statut='o',typ=grma,max='**'), + GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), VECT_NORM =SIMP(statut='f',typ='R',max=3), NOEUD =SIMP(statut='f',typ=no), GROUP_NO =SIMP(statut='f',typ=grno), ), b_modele =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)", - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), ), - PLAQ_TUBE =FACT(statut='f',min=1,max=1, + PLAQ_TUBE =FACT(statut='f', DEXT =SIMP(statut='o',typ='R' ), EPAIS =SIMP(statut='o',typ='R' ), L_TUBE_P1 =SIMP(statut='o',typ='R' ), AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), ), - TUBE_COUDE =FACT(statut='f',min=1,max=1, + TUBE_COUDE =FACT(statut='f', ANGLE =SIMP(statut='o',typ='R' ), R_CINTR =SIMP(statut='o',typ='R' ), L_TUBE_P1 =SIMP(statut='o',typ='R' ), ), - MODI_MAILLE =FACT(statut='f',min=1,max=1, + MODI_MAILLE =FACT(statut='f',max=1, regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),), OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,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='**'), + GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), + MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), + GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), + NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), ), - MODI_BASE =FACT(statut='f',min=1,max=1, + MODI_BASE =FACT(statut='f', VECT_X =SIMP(statut='o',typ='R',min=2,max=3), VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), ), - ECHELLE =SIMP(statut='f',typ='R',min=1,max=1), + ECHELLE =SIMP(statut='f',typ='R',), TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), - ROTATION =FACT(statut='f',min=1,max='**', + ROTATION =FACT(statut='f',max='**', POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), ANGL =SIMP(statut='o',typ='R',defaut= 0.E+0 ), regles=(EXCLUS('DIR','POIN_2'),), POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), DIR =SIMP(statut='f',typ='R',min=2,max=3), ), + SYMETRIE =FACT(statut='f',max='**', + fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", + POINT =SIMP(statut='o',typ='R',min=2,max=3, + fr="Point appartenant à la droite ou au plan."), + AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, + fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), + AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, + fr="2nd vecteur appartenant du plan."), + ), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), +) ; +#& MODIF COMMANDE DATE 05/07/2004 AUTEUR GENIAUT S.GENIAUT +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', + UIinfo={"groupes":("Modélisation",)}, + fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", + + MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=01,max=01,), + FISSURE =SIMP(statut='o',typ=fiss_xfem,min=01,max=01,), + INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13812,41 +19306,39 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage, # 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', +MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle_sdaster, + fr=" ",reentrant='f', UIinfo={"groupes":("Modélisation",)}, regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'), - PRESENT_PRESENT('TUBE_NEUF','TABL_USURE'), PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),), - TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), 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), + OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), + GUIDE =SIMP(statut='o',typ=obstacle_sdaster), + CRAYON =SIMP(statut='f',typ=obstacle_sdaster), R_MOBILE =SIMP(statut='f',typ='R'), PERCEMENT =SIMP(statut='f',typ='R',defaut=1), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE JMBHH01 J.M.PROIX def modi_repere_prod(RESULTAT,**args): @@ -13861,7 +19353,7 @@ def modi_repere_prod(RESULTAT,**args): 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', +MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n', UIinfo={"groupes":("Résultats et champs",)}, fr="Impression des resultats dans un repere cylindrique", RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca, @@ -13870,23 +19362,27 @@ MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,docu="U4.74.0 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='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), NOM_CAS =SIMP(statut='f',typ='TXM' ), - - INST =SIMP(statut='f',typ='R',max='**'), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), - LIST_FREQ =SIMP(statut='f',typ=listr8), + + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - MODI_CHAM =FACT(statut='o',min=1,max='**', - TYPE_CHAM =SIMP(statut='o',typ='TXM', max=1, + MODI_CHAM =FACT(statut='o',max='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + TYPE_CHAM =SIMP(statut='o',typ='TXM', into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),), - NOM_CHAM =SIMP(statut='o',typ='TXM',max=1 ), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", @@ -13898,17 +19394,17 @@ MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,docu="U4.74.0 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, + DEFI_REPERE =FACT(statut='o', regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),), REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR", into=("UTILISATEUR","CYLINDRIQUE"),), - ANGL_NAUT =SIMP(statut='f',typ='R',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), + ANGL_NAUT =SIMP(statut='f',typ='R',max=3), + ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), + AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 11/08/2004 AUTEUR A3BHHAE H.ANDRIAMBOLOLONA # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -13934,7 +19430,7 @@ def norm_mode_prod(MODE,**args ): 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', + reentrant='f', UIinfo={"groupes":("Résolution",)}, regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),), MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), @@ -13944,60 +19440,67 @@ NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, 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='**'), + AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), MASS_INER =SIMP(statut='f',typ=tabl_mass_iner ), - MODE_SIGNE =FACT(statut='f',max=1,fr="Imposer un signe sur une des composantes des modes", + MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", NOEUD =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"), NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ), SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), fr="Choix du signe" ), ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des param\350tres de sensibilit\351.", + ang="List of sensitivity parameters", + ), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET -NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl,docu="U4.61.11-g1",reentrant='n', +NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", - regles=(UN_PARMI('MATR_RIGI','MODELE'),), - MATR_RIGI =SIMP(statut='f',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 ), + regles=(UN_PARMI('MATR_RIGI','MODELE'),), + MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, + typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), + MODELE =SIMP(statut='f',typ=modele_sdaster ), b_modele =BLOC(condition = "MODELE != None", - CHARGE =SIMP(statut='f',max='**',typ=(char_meca,char_ther,char_acou, ),), + CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), ), b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), ), + b_mumps =BLOC(condition="METHODE=='MUMPS'",fr="paramètres associés à la méthode MUMPS", + RENUM =SIMP(statut='f',typ='TXM',into=("SANS",),defaut="SANS" ), + ), b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué", RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), ), INFO =SIMP(statut='f',typ='I',into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 18/04/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14017,20 +19520,47 @@ NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl,docu="U4.61.11-g1",reentrant # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=UN_PARMI('MODELE_GENE','BASE'), MODELE_GENE =SIMP(statut='f',typ=modele_gene ), b_modele_gene =BLOC(condition = "MODELE_GENE != None", STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), + METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ), ), - BASE =SIMP(statut='f',typ=(mode_meca,base_modale,mode_gene ) ), + BASE =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ), b_base =BLOC(condition = "BASE != None", STOCKAGE =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ), NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 09/05/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=resultat_sdaster, + reentrant='n',UIinfo={"groupes":("Post traitements",)}, + fr="expression des champs DEPL et SIEF_ELGA sur le maillage fissuré", + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + MODELE = SIMP(statut='o',typ=modele_sdaster,), + RESULTAT = SIMP(statut='o',typ=resultat_sdaster), + NOM_CHAM = SIMP(statut='o',typ='TXM',into=("DEPL","SIEF_ELGA"),) +); +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14050,7 +19580,7 @@ NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Post traitements",)}, regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), @@ -14067,7 +19597,7 @@ POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea, 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='**', + DEPASSEMENT =FACT(statut='f',max='**', fr="Loi de dépassement d un seuil pendant une durée donnée", regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), VALE_MIN =SIMP(statut='f',typ='R' ), @@ -14075,21 +19605,21 @@ POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea, PAS =SIMP(statut='f',typ='R' ), DUREE =SIMP(statut='f',typ='R',defaut= 1. ), ), - RAYLEIGH =FACT(statut='f',min=1,max='**', + RAYLEIGH =FACT(statut='f',max='**', fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite", regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), VALE_MIN =SIMP(statut='f',typ='R' ), VALE_MAX =SIMP(statut='f',typ='R' ), PAS =SIMP(statut='f',typ='R' ), ), - GAUSS =FACT(statut='f',min=1,max='**', + GAUSS =FACT(statut='f',max='**', fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande", regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), VALE_MIN =SIMP(statut='f',typ='R' ), VALE_MAX =SIMP(statut='f',typ='R' ), PAS =SIMP(statut='f',typ='R' ), ), - VANMARCKE =FACT(statut='f',min=1,max='**', + VANMARCKE =FACT(statut='f',max='**', fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)", regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),), VALE_MIN =SIMP(statut='f',typ='R' ), @@ -14101,7 +19631,7 @@ POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14121,11 +19651,11 @@ POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea, # ====================================================================== 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', + 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='**', + CHOC =FACT(statut='f',max='**', fr="Analyse des non linéarités de choc", INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), @@ -14135,7 +19665,7 @@ POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna, 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, + RELA_EFFO_DEPL =FACT(statut='f', fr="Analyse des relationsnon linéaires effort-déplacement", NOEUD =SIMP(statut='o',typ=no), NOM_CMP =SIMP(statut='o',typ='TXM' ), @@ -14143,7 +19673,7 @@ POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14180,9 +19710,9 @@ def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,TRAV_EXT,WEIBULL, 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") + raise AsException("type de concept resultat_sdaster non prevu") -POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3",reentrant='f', +POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,reentrant='f', UIinfo={"groupes":("Post traitements",)}, fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", @@ -14192,11 +19722,11 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'), ), - MASS_INER = FACT(statut='f',min=1,max='**', + MASS_INER = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), ), b_mass_iner = BLOC(condition = "( MASS_INER != None )", @@ -14204,10 +19734,10 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + MODELE = SIMP(statut='f',typ=modele_sdaster), CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), @@ -14218,70 +19748,70 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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='**', + NUME_ORDRE = SIMP(statut='f',typ='I',), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',), + NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), + NOM_CAS = SIMP(statut='f',typ='TXM',), + ), + + ENER_POT = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_ener_pot = BLOC(condition = "( ENER_POT != None )", fr="calcul de l'énergie potentielle de déformation", regles=(UN_PARMI('CHAM_GD','RESULTAT'), EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), ANGLE = SIMP(statut='f',typ='I',defaut=0), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), CHAM_GD = SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), + RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',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='**', + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_CIN = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), OPTION = SIMP(statut='f',typ='TXM', into=("MASS_MECA","MASS_MECA_DIAG"), defaut="MASS_MECA" ), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_ener_cin = BLOC(condition = "( ENER_CIN != None )", fr="calcul de l'énergie cinétique", regles=(UN_PARMI('CHAM_GD','RESULTAT'), EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), ANGLE = SIMP(statut='f',typ='I',defaut=0), @@ -14291,29 +19821,29 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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='**', + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), + FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + ), + + ENER_ELAS = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", fr="calcul de l'énergie de déformation élastique", - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), @@ -14322,24 +19852,24 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - ENER_TOTALE = FACT(statut='f',min=1,max='**', + ENER_TOTALE = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", fr="calcul de l'énergie de déformation totale", - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), @@ -14348,17 +19878,17 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - WEIBULL = FACT(statut='f',min=1,max='**', + WEIBULL = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), OPTION = SIMP(statut='f',typ='TXM', into=("SIGM_ELGA","SIGM_ELMOY"), defaut="SIGM_ELGA"), @@ -14369,10 +19899,10 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), @@ -14381,17 +19911,17 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - RICE_TRACEY = FACT(statut='f',min=1,max='**', + RICE_TRACEY = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), OPTION = SIMP(statut='f',typ='TXM', into=("SIGM_ELGA","SIGM_ELMOY"), defaut="SIGM_ELGA"), @@ -14401,10 +19931,10 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), @@ -14413,129 +19943,130 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", 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), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - INDIC_ENER = FACT(statut='f',min=1,max='**', + INDIC_ENER = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), RESULTAT = SIMP(statut='o',typ=(evol_noli) ), regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis), - INST = SIMP(statut='f',typ='R',max='**'), - LIST_INST = SIMP(statut='f',typ=listr8), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - INDIC_SEUIL = FACT(statut='f',min=1,max='**', + INDIC_SEUIL = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), ), b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), RESULTAT = SIMP(statut='o',typ=(evol_noli) ), regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis), - INST = SIMP(statut='f',typ='R',max='**'), - LIST_INST = SIMP(statut='f',typ=listr8), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - CHAR_LIMITE = FACT(statut='f',min=0,max=1, + CHAR_LIMITE = FACT(statut='f',min=0, CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") ), b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", fr="post-traitement du calcul de la charge limite", - MODELE = SIMP(statut='o',typ=modele), - CHAM_MATER = SIMP(statut='o',typ=cham_mater), + MODELE = SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER = SIMP(statut='f',typ=cham_mater), CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), RESULTAT = SIMP(statut='o',typ=(evol_noli) ), regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis), - INST = SIMP(statut='f',typ='R',max='**'), - LIST_INST = SIMP(statut='f',typ=listr8), + NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), + INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST = SIMP(statut='f',typ=listr8_sdaster), ), - CARA_GEOM = FACT(statut='f',min=1,max='**', + CARA_GEOM = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma,max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), + MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), ), b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", fr="calcul des caractéristiques géométriques d'un section de poutre", - MODELE = SIMP(statut='o',typ=modele), + MODELE = SIMP(statut='f',typ=modele_sdaster), CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), ), - CARA_POUTRE = FACT(statut='f',min=1,max='**', + CARA_POUTRE = FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT','GROUP_MA'), ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_INTE = SIMP(statut='f',typ=grma,max='**'), + GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), CARA_GEOM = SIMP(statut='f',typ=tabl_cara_geom), + RT = SIMP(statut='f',typ='R'), LAPL_PHI = SIMP(statut='f',typ=evol_ther), LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), LONGUEUR = SIMP(statut='f',typ='R'), - MATERIAU = SIMP(statut='f',typ=mater), + MATERIAU = SIMP(statut='f',typ=mater_sdaster), OPTION = SIMP(statut='f',typ='TXM', into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), ), b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", fr="calcul des caractéristiques mécaniques d'un section de poutre", - MODELE = SIMP(statut='o',typ=modele), + MODELE = SIMP(statut='f',typ=modele_sdaster), CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ), + CHARGE = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ), MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), ), - AIRE_INTERNE = FACT(statut='f',min=1,max='**', - GROUP_MA_BORD = SIMP(statut='o',typ=grma,max='**'), + AIRE_INTERNE = FACT(statut='f',max='**', + GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), ), b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", fr="calcul de l'aire d'un trou dans un maillage 2D", - MODELE = SIMP(statut='o',typ=modele), + MODELE = SIMP(statut='f',typ=modele_sdaster), ), - TRAV_EXT = FACT(statut='f',min=1,max=1), + TRAV_EXT = FACT(statut='f',), b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", fr="calcul du travail des efforts extérieurs", RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), @@ -14548,7 +20079,7 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14566,7 +20097,7 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-e3", # 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', +POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,reentrant='n', UIinfo={"groupes":("Post traitements",)}, fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire", regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), @@ -14580,28 +20111,28 @@ POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,docu="U 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), + MATER =SIMP(statut='o',typ=mater_sdaster), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,docu="U4.83.01-d1",reentrant='n', +POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,reentrant='n', UIinfo={"groupes":("Post traitements",)}, fr="Calcul du dommage subi par une structure soumise à une histoire de chargement", @@ -14611,80 +20142,57 @@ POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,docu="U4.83. regles=(PRESENT_PRESENT('CORR_KE','MATER'), PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), PRESENT_PRESENT('DOMMAGE','MATER'),), - HISTOIRE = FACT(statut='o',min=1,max=1, + HISTOIRE = FACT(statut='o', regles=(UN_PARMI('SIGM','EPSI'),), - SIGM = SIMP(statut='f',typ=fonction), - EPSI = SIMP(statut='f',typ=fonction),), + SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT = FACT(statut='f',min=1,max=1, + DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), + COEF_MULT = FACT(statut='f', KT = SIMP(statut='o',typ='R'),), CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", "TAHERI_MANSON","TAHERI_MIXTE")), - MATER = SIMP(statut='f',typ=mater), + MATER = SIMP(statut='f',typ=mater_sdaster), 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), + TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), + TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), ), b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'", - HISTOIRE = FACT(statut='o',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),), + HISTOIRE = FACT(statut='o', + SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), CRITERE = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")), DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER",)), - MATER = SIMP(statut='o',typ=mater), + MATER = SIMP(statut='o',typ=mater_sdaster), 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), + HISTOIRE = FACT(statut='o', + SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), + TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), + DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), + MATER = SIMP(statut='o',typ=mater_sdaster), CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; -#& MODIF COMMANDE DATE 09/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_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), + TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 01/02/2005 AUTEUR GALENNE E.GALENNE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14702,29 +20210,29 @@ POST_GOUJ2E=OPER(nom="POST_GOUJ2E",op=187,sd_prod=tabl_post_gouj2e,reentrant='n' # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -# RESPONSABLE JMBHH01 J.M.PROIX +# RESPONSABLE GALENNE E.GALENNE + POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k, fr="Calcul des FIC par extrapolation du champ de déplacements sur les lèvres de la fissure", - docu="U4.82.05-b2",reentrant='n', + 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_3D =SIMP(statut='f',typ=fond_fiss), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - b_fond_3d =BLOC (condition="(FOND_3D != None) or (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='**') + FOND_FISS =SIMP(statut='f',typ=fond_fiss), + b_fond_fiss =BLOC (condition="(FOND_FISS!= None)", + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ) ), - MATER =SIMP(statut='o',typ=mater, + MATER =SIMP(statut='o',typ=mater_sdaster, fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli), fr="Table déplacement des noeuds de la lèvre supérieure et inférieure"), @@ -14736,20 +20244,21 @@ POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k, 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), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), ), + SYME_CHAR =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - VECT_K1 =SIMP(statut='o',typ='R',max='**', + VECT_K1 =SIMP(statut='o',typ='R',max=3, fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -14772,28 +20281,51 @@ POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k, # 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', + reentrant='n', UIinfo={"groupes":("Post traitements",)}, - MAILLAGE = SIMP(statut='o',typ=maillage), - MATER_REV = SIMP(statut='o',typ=mater), + MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), + MATER_REV = SIMP(statut='o',typ=mater_sdaster), EPAIS_REV = SIMP(statut='o',typ='R'), - FISSURE = FACT(statut='o',min=1,max=1, + FISSURE = FACT(statut='o', DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), PROFONDEUR = SIMP(statut='o',typ='R'), LONGUEUR = SIMP(statut='o',typ='R'), ORIENTATION = SIMP(statut='o',typ='TXM', into=("CIRC","LONGI"),), ), - K1D = FACT(statut='o',min=1,max='**', + K1D = FACT(statut='o',max='**', TABL_MECA_REV = SIMP(statut='o',typ=(tabl_post_rele)), TABL_MECA_MDB = SIMP(statut='o',typ=(tabl_post_rele)), TABL_THER = SIMP(statut='o',typ=(tabl_post_rele)), INTITULE = SIMP(statut='o',typ='TXM' ), ), - 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 +#& MODIF COMMANDE DATE 09/05/2005 AUTEUR REZETTE C.REZETTE +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, + reentrant='n',UIinfo={"groupes":("Maillage",)}, + fr="maillage fissuré pour le post-traitement des éléments XFEM", + MODELE = SIMP(statut='o',typ=modele_sdaster), + TITRE = SIMP(statut='f',typ='TXM',max='**'), +); +#& MODIF COMMANDE DATE 21/03/2005 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -14813,46 +20345,31 @@ POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=tabl_post_beta, # 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', + reentrant='n', UIinfo={"groupes":("Post traitements",)}, - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","VALE_INST") ), + TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), INFO =SIMP(statut='f',typ='I',into=(1,2) ), TITRE =SIMP(statut='f',typ='TXM',max='**'), - 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") ), + TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), + +# ====================================================================== + b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE_ZH210") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + + TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", + regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),), + NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, + fr="nombre d occurences réelles de ce transitoire" ), + TABL_RESU_MECA =SIMP(statut='o',typ=table_sdaster, + fr="relevé des contraintes sur le chemin"), + TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, + fr="résultat sous chargement thermique seul" ), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - 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 ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), @@ -14860,41 +20377,47 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm, ), ), - 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", ), +# ====================================================================== + b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", + + OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', + into=("PM_PB","SN","FATIGUE") ), + MATER =SIMP(statut='o',typ=mater_sdaster ), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), + FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), + FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), + MX =SIMP(statut='o',typ='R',fr="moment suivant x", ), + MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), + MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), ), - RESU_MECA_UNIT =FACT(statut='o',min=1,max=1,fr="resultats mécaniques unitaires", - TABL_FX =SIMP(statut='f',typ=table,max=1, + RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", + TABL_FX =SIMP(statut='f',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire FX"), - TABL_FY =SIMP(statut='f',typ=table,max=1, + TABL_FY =SIMP(statut='f',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire FY"), - TABL_FZ =SIMP(statut='f',typ=table,max=1, + TABL_FZ =SIMP(statut='f',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire FZ"), - TABL_MX =SIMP(statut='o',typ=table,max=1, + TABL_MX =SIMP(statut='o',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire MX"), - TABL_MY =SIMP(statut='o',typ=table,max=1, + TABL_MY =SIMP(statut='o',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire MY"), - TABL_MZ =SIMP(statut='o',typ=table,max=1, + TABL_MZ =SIMP(statut='o',typ=table_sdaster, fr="table relevé des contraintes pour chargement unitaire MZ"), - TABL_PRES =SIMP(statut='o',typ=table,max=1, + TABL_PRES =SIMP(statut='o',typ=table_sdaster, 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"), + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, + fr="table relevé des contraintes sous chargement thermique seul" ), ), - SITUATION =FACT(statut='o',min=1,max='**',fr="Situation",ang="situation_ang", + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), @@ -14911,73 +20434,78 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm, TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), ), ), - b_3600 =BLOC(condition="(OPTION == 'FATIGUE_B3600')", +# ====================================================================== + b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", + + OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - MODELE =SIMP(statut='o',typ=modele), + TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), + fr="Ke meca seul ou partition mecanique + thermique" ), + MODELE =SIMP(statut='o',typ=modele_sdaster), CARA_ELEM =SIMP(statut='o',typ=cara_elem), - ZONE_ANALYSE =FACT(statut='o',min=1,max=1,fr="liste des mailles ou des noeuds analysés", + ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), - RESU_MECA =FACT(statut='o',min=1,max='**',fr="Chargements mécaniques", + RESU_MECA =FACT(statut='o',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), + NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), + NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), + TYPE_CHAR =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",), + CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), + RESULTAT =SIMP(statut='f',typ=resultat_sdaster), b_extrac =BLOC(condition="RESULTAT != None", fr="extraction d un champ de grandeur", regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',max=1,into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max=1), - INST =SIMP(statut='f',typ='R',max=1), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',), + INST =SIMP(statut='f',typ='R',), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), b_acce_reel =BLOC(condition="(INST != None)", PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ), ), ), ), - INDI_SIGM =FACT(statut='o',min=1,max='**',fr="indices de contraintes", + INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - C1 =SIMP(statut='f',typ='R',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"), + C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), + K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), + C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), + K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), + C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), + K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), - GROUP_MA =SIMP(statut='f',typ=grma,max='**', + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), - MAILLE =SIMP(statut='f',typ=ma,max='**', + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', fr="liste des mailles ou sont affectés les indices de contraintes"), b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), ), - RESU_THER =FACT(statut='f',min=1,max='**',fr="resultats thermiques", + RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - NUME_RESU_THER =SIMP(statut='o',typ='I',max=1,fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table,max=1, + NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), + TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, fr="table relevé des températures sur la section"), - TABL_MOYE_THER =SIMP(statut='o',typ=table,max=1, + TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, fr="table relevé des moyennes sur la section"), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), ), - SITUATION =FACT(statut='o',min=1,max='**',fr="Situation",ang="situation_ang", + SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), NB_CYCL_SEISME =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ), NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), @@ -14993,9 +20521,9 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm, 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 +#& MODIF COMMANDE DATE 07/10/2004 AUTEUR GNICOLAS G.NICOLAS # ====================================================================== # CONFIGURATION MANAGEMENT OF EDF VERSION # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15014,9 +20542,9 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm, # 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', +POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,reentrant='f', UIinfo={"groupes":("Post traitements",)}, - ACTION =FACT(statut='o',min=1,max='**', + ACTION =FACT(statut='o',max='**', regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), EXCLUS('CHEMIN','GROUP_NO'), EXCLUS('CHEMIN','NOEUD'), @@ -15024,32 +20552,31 @@ POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81. 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'), + EXCLUS('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='**'), + CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), CHAM_GD =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r, cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r, cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur, cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c, - cham_elem_sief_c,cham_elem_epsi_c)), + cham_elem_sief_c,cham_elem_epsi_c,cham_no_facy_r)), RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans, mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, mult_elas,fourier_elas,dyna_harmo,acou_harmo)), b_sensibilite =BLOC(condition="RESULTAT != None", fr="Définition des paramètres de sensibilité", ang="Definition of sensitivity parameters", - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters"),), @@ -15058,16 +20585,16 @@ POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81. '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), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_MODE =SIMP(statut='f',typ=listis_sdaster), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), ), @@ -15088,17 +20615,15 @@ POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81. 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), + OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE"),validators=NoRepeat(),max=2), ), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), TITRE =SIMP(statut='f',typ='TXM',max='**'), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15117,11 +20642,11 @@ POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81. # 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', + fr=" ",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", + MATER =SIMP(statut='o',typ=(mater_sdaster) ), + DEF_EQUI =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="UTO_2_3", into=("UTO_2_3",) ), EPAIS =SIMP(statut='o',typ='R'), LONG_FISS =SIMP(statut='o',typ='R'), @@ -15130,7 +20655,7 @@ POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli, TEMP_ANALYSE =SIMP(statut='f',typ='R'), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15148,34 +20673,35 @@ POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli, # 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', +POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,reentrant='f', UIinfo={"groupes":("Post traitements",)}, fr="Calcul des volumes d'usure et des profondeurs d'usure", - regles=(UN_PARMI('RESU_GENE','PUIS_USURE'), - PRESENT_PRESENT('RESU_GENE','NOEUD'), - UN_PARMI('INST','LIST_INST'),), - ETAT_INIT =FACT(statut='f',min=1,max=1, + regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), + PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), + PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), + TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), + ETAT_INIT =FACT(statut='f', TABL_USURE =SIMP(statut='f',typ=tabl_post_usur), INST_INIT =SIMP(statut='f',typ='R'), ), RESU_GENE =SIMP(statut='f',typ=tran_gene), - NOEUD =SIMP(statut='f',typ=no,max=1), + NOEUD =SIMP(statut='f',typ=no,), INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), INST_FIN =SIMP(statut='f',typ='R'), NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), PUIS_USURE =SIMP(statut='f',typ='R'), - LOI_USURE =SIMP(statut='o',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), + 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, + MOBILE =FACT(statut='f', COEF_USURE =SIMP(statut='o',typ='R'), ), - OBSTACLE =FACT(statut='f',min=1,max=1, + OBSTACLE =FACT(statut='f', COEF_USURE =SIMP(statut='o',typ='R'), ), - SECTEUR =FACT(statut='f',min=1,max='**', + SECTEUR =FACT(statut='f',max='**', CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), @@ -15191,14 +20717,14 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1 regles=(UN_PARMI('MOBILE','MATER_USURE'), EXCLUS('MATER_USURE','OBSTACLE'), EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f',min=1,max=1, + MOBILE =FACT(statut='f', COEF_FNOR =SIMP(statut='f',typ='R'), COEF_VTAN =SIMP(statut='f',typ='R'), COEF_USURE =SIMP(statut='f',typ='R'), COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), ), - OBSTACLE =FACT(statut='f',min=1,max=1, + OBSTACLE =FACT(statut='f', COEF_FNOR =SIMP(statut='f',typ='R' ), COEF_VTAN =SIMP(statut='f',typ='R' ), COEF_USURE =SIMP(statut='o',typ='R'), @@ -15214,13 +20740,13 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1 regles=(UN_PARMI('MOBILE','MATER_USURE'), EXCLUS('MATER_USURE','OBSTACLE'), EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f',min=1,max=1, + MOBILE =FACT(statut='f', COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), ), - OBSTACLE =FACT(statut='f',min=1,max=1, + OBSTACLE =FACT(statut='f', COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), @@ -15229,6 +20755,10 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1 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")), @@ -15238,13 +20768,13 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1 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), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15262,22 +20792,22 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-d1 # 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', +POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n', UIinfo={"groupes":("Post traitements",)}, fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non", - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='o',typ=cham_mater), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=char_meca), - FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)), ), EVOL_ELAS =SIMP(statut='o',typ=evol_elas), b_evol_elas =BLOC(condition="EVOL_ELAS != None", regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8), - INST =SIMP(statut='f',typ='R',max='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), ), TEMP_ZAC =SIMP(statut='f',typ='R',defaut=0.0E+0), EVOL_NOLI =SIMP(statut='f',typ=evol_noli), @@ -15288,7 +20818,7 @@ POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,docu="U4.83.21-b",reentra CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/03/2005 AUTEUR D6BHHJP J.P.LEFEBVRE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15306,10 +20836,12 @@ POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,docu="U4.83.21-b",reentra # 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=0,repetable='n',fr="Poursuite d une étude", - docu="U4.11.03-g2",sd_prod = ops.POURSUITE, +POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',fr="Poursuite d une étude", + sd_prod = ops.POURSUITE, UIinfo={"groupes":("Gestion du travail",)}, op_init = ops.POURSUITE_context,fichier_ini = 1, + FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', + typ='TXM',defaut="NON",into=("OUI","NON",) ), PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', into=("OUI","NON"),defaut="OUI"), BASE =FACT(fr="définition des parmètres associés aux bases JEVEUX", @@ -15346,37 +20878,20 @@ POURSUITE=MACRO(nom="POURSUITE",op=0,repetable='n',fr="Poursuite d une TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), PARTITION =SIMP(statut='f',typ='R' ), ), + RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1, + regles=(EXCLUS('VALE','POURCENTAGE'),), + VALE =SIMP(statut='f',typ='I',val_min=0), + POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), +# valeur en pourcentage du temps maximum bornée à 180 secondes + BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=180) + ), CODE =FACT("définition d un nom pour l'esemble d'une étude", statut='f',min=1,max=1, NOM =SIMP(statut='o',typ='TXM'), UNITE =SIMP(statut='f',typ='I',defaut=15), ), ) ; -#& MODIF COMMANDE DATE 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15394,13 +20909,13 @@ PRE_CHAR_IDEAS=PROC(nom="PRE_CHAR_IDEAS",op=100,docu="U7.01.02-e", # 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", +PRE_GIBI=PROC(nom="PRE_GIBI",op=49, UIinfo={"groupes":("Gestion du travail",)}, fr="Conversion d un fichier de maillage GIBI", UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15419,41 +20934,13 @@ PRE_GIBI=PROC(nom="PRE_GIBI",op=49,docu="U7.01.11-f", # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -from Macro.pre_gmsh_ops import pre_gmsh_ops - -PRE_GMSH=MACRO(nom="PRE_GMSH",op=pre_gmsh_ops,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), - MODI_QUAD =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 - 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. -# ====================================================================== - -PRE_GMSH_LECT=PROC(nom="PRE_GMSH_LECT",op=47,docu="U7.01.01-f", +PRE_GMSH=PROC(nom="PRE_GMSH",op=47, UIinfo={"groupes":("Gestion du travail",)}, fr="Conversion d un fichier universel GMSH au format Aster", UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15471,36 +20958,14 @@ PRE_GMSH_LECT=PROC(nom="PRE_GMSH_LECT",op=47,docu="U7.01.01-f", # 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", +PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, UIinfo={"groupes":("Gestion du travail",)}, fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster", UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), + CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ) ; -#& MODIF COMMANDE DATE 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. -# ====================================================================== -PROCEDURE=PROC(nom="PROCEDURE",op=-3, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15527,29 +20992,29 @@ def prod_matr_cham_prod(MATR_ASSE,**args): 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', + 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 +#& MODIF COMMANDE DATE 21/03/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ): @@ -15557,6 +21022,9 @@ def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ): if AsType(RESULTAT) == evol_elas : return evol_elas if AsType(RESULTAT) == evol_noli : return evol_noli if AsType(RESULTAT) == evol_char : return evol_char + if AsType(RESULTAT) == mode_meca : return mode_meca + if AsType(RESULTAT) == mode_stat_depl : return mode_stat_depl + if AsType(RESULTAT) == base_modale : return base_modale if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c @@ -15566,11 +21034,11 @@ def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ): 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', +PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', UIinfo={"groupes":("Résultats et champs",)}, fr="Projection d'un champ aux noeuds sur les noeuds d'un autre maillage", # - METHODE =SIMP(statut='f',typ='TXM',defaut="NUAGE_DEG_1", + METHODE =SIMP(statut='f',typ='TXM',defaut="ELEM", into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ), b_nuage =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')", fr="Lissage d'un nuage de points", @@ -15583,40 +21051,55 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,docu="U4.72.05- 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), + RESULTAT =SIMP(statut='o',typ=(evol_ther,evol_elas,evol_noli,evol_char,mode_meca,mode_stat_depl,base_modale) ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité.", + ang="List of sensitivity parameters",), + MODELE_1 =SIMP(statut='o',typ=modele_sdaster), + MODELE_2 =SIMP(statut='o',typ=modele_sdaster), TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',max='**'), + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',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_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), + NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), + DISTANCE_MAX =SIMP(statut='f',typ='R', + fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), + TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), + fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), + b_modele_gene =BLOC(condition = "AsType(RESULTAT) == mode_meca", + RIGI_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), + MASS_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), + AMOR_MECA =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), + ), ), - VIS_A_VIS =FACT(statut='f',min=1,max='**', + VIS_A_VIS =FACT(statut='f',max='**', regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,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_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,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='**'), + GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15643,16 +21126,16 @@ def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): 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', + 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 ) ), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 15/02/2005 AUTEUR NICOLAS O.NICOLAS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15671,34 +21154,35 @@ PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, # 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 + vale=MODELE_MESURE['MESURE'] + if AsType(vale) == dyna_trans : return tran_gene + if AsType(vale) == dyna_harmo : return harm_gene + if AsType(vale) == mode_meca : return mode_gene +# if AsType(vale) == mode_meca_c : return mode_gene_c + if AsType(vale) == base_modale : return mode_gene raise AsException("type de concept resultat non prevu") PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, sd_prod=proj_mesu_modal_prod, - docu="U4.73.01-a",reentrant='n', + 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) ), + MODELE_CALCUL =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), ), - MODELE_MESURE =FACT(statut='o',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",),), + MODELE_MESURE =FACT(statut='o', + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), + MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ), ), - CORR_MANU =FACT(statut='f',min=1,max='**', + CORR_MANU =FACT(statut='f',max='**', regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), NOEU_CALCUL =SIMP(statut='f',typ=no), NOEU_MESURE =SIMP(statut='f',typ=no), ), - RESOLUTION =FACT(statut='f',min=1,max=1, + RESOLUTION =FACT(statut='f', METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), b_svd =BLOC(condition="METHODE=='SVD'", EPS=SIMP(statut='f',typ='R',defaut=0. ), @@ -15706,13 +21190,13 @@ PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, 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='**' ), + COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), + COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), ), ), ); -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15730,13 +21214,13 @@ PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, # 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', +PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, fr="Projection d un ou plusieurs spectres de turbulenc sur un ensemble de bases modales ", regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),), - SPEC_TURB =SIMP(statut='o',typ=spectre,max='**' ), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), MODE_MECA =SIMP(statut='f',typ=mode_meca ), CHAM_NO =SIMP(statut='f',typ=cham_no_depl_r ), FREQ_INIT =SIMP(statut='f',typ='R',val_min=0.E+0 ), @@ -15745,13 +21229,13 @@ PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,docu="U4.63. 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), + MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15769,18 +21253,25 @@ PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,docu="U4.63. # 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, +def vect_asse_gene_prod(VECT_ASSE,VECT_ASSE_GENE,**args): + if AsType(VECT_ASSE) == cham_no_depl_r : return vect_asse_gene_r + if AsType(VECT_ASSE_GENE) == vect_asse_gene_r : return vect_asse_gene_r + if AsType(VECT_ASSE) == cham_no_depl_c : return vect_asse_gene_c + if AsType(VECT_ASSE_GENE) == vect_asse_gene_c : return vect_asse_gene_c + raise AsException("type de concept resultat non prevu") + +PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene_prod, fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)", - docu="U4.63.13-f1",reentrant='n', + 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 ) ), + BASE =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ), NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_depl_r ), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), + VECT_ASSE =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c) ), + VECT_ASSE_GENE =SIMP(statut='f',typ=(vect_asse_gene_r,vect_asse_gene_c) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -15799,24 +21290,24 @@ PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene, # 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', + fr=" ",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='**', + LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), + RESU =FACT(statut='o',max='**', regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), - MODELE =SIMP(statut='o',typ=(modele) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), TEMPE =SIMP(statut='f',typ='R' ), - LIST_INST_RUPT =SIMP(statut='o',typ='R',max='**' ), + LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), - INST =SIMP(statut='f',typ='R',max='**' ), - LIST_INST =SIMP(statut='f',typ=(listr8) ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), ), OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), @@ -15826,23 +21317,23 @@ RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib, 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 +#& MODIF COMMANDE DATE 16/06/2004 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE MCOURTOI M.COURTOIS def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None, @@ -15853,32 +21344,31 @@ def recu_fonction_prod(RESULTAT=None,TABLE=None,OBSTACLE=None, if TABLE != None : if TYPE_RESU != None : if TYPE_RESU == "FONCTION_C" : return fonction_c - if TYPE_RESU == "FONCTION" : return fonction + if TYPE_RESU == "FONCTION" : return fonction_sdaster 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 + return fonction_sdaster + if RESU_GENE != None : return fonction_sdaster + if BASE_ELAS_FLUI != None : return fonction_sdaster + if RESULTAT != None : return fonction_sdaster + if CHAM_GD != None : return fonction_sdaster + if OBSTACLE != None : return fonction_sdaster raise AsException("type de concept resultat non prevu") -RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, +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', + 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 ) ), + cham_elem_pres_r,) ), RESULTAT =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ), RESU_GENE =SIMP(statut='f',typ=tran_gene), # concept table à créer - TABLE =SIMP(statut='f',typ=table), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu), - REPERE =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ), - OBSTACLE =SIMP(statut='f',typ=obstacle), + TABLE =SIMP(statut='f',typ=table_sdaster), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), + OBSTACLE =SIMP(statut='f',typ=obstacle_sdaster), b_tran_gene = BLOC ( condition = "RESU_GENE != None", fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE", @@ -15886,18 +21376,18 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, 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), + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), PARA_X =SIMP(statut='f',typ='TXM' ), PARA_Y =SIMP(statut='f',typ='TXM' ), SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - LIST_PARA =SIMP(statut='f',typ=listr8 ), + LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), INTITULE =SIMP(statut='f',typ='TXM' ), ), b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", fr="Récupération de la fonction à partir d un concept melasflu", regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), NUME_MODE =SIMP(statut='o',typ='I' ), PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), @@ -15915,7 +21405,7 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ), ), - FILTRE =FACT(statut='f',min=1,max='**', + FILTRE =FACT(statut='f',max='**', NOM_PARA =SIMP(statut='o',typ='TXM' ), CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", into=("EQ","LT","GT","NE","LE","GE","VIDE", @@ -15947,20 +21437,20 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, 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_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8 ), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8 ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - INTERP_NUME =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN") ), + INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), ), NOM_CMP =SIMP(statut='f',typ='TXM' ), @@ -15979,17 +21469,17 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, # 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 ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), + LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8 ), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8 ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - INTERP_NUME =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN") ), + INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), ), b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ", regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'), @@ -16038,10 +21528,12 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, NOEUD_CHOC =SIMP(statut='f',typ=no), GROUP_NO_CHOC =SIMP(statut='f',typ=grno), ), + b_obstacle = BLOC ( condition = "OBSTACLE != None", + fr="Choix du repère", + REPERE =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ), + ), ### - NOM_PARA =SIMP(statut='f',typ='TXM', - into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", - "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC") ), + NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), NOM_RESU =SIMP(statut='f',typ='TXM' ), INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), @@ -16050,7 +21542,7 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, 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 +#& MODIF COMMANDE DATE 22/02/2005 AUTEUR DURAND C.DURAND # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16068,7 +21560,7 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op= 90,sd_prod=recu_fonction_prod, # 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', +RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene_r,reentrant='n', UIinfo={"groupes":("Résultats et champs",)}, fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées", RESU_GENE =SIMP(statut='o',typ=tran_gene ), @@ -16078,7 +21570,7 @@ RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,docu="U4.71.03-e", 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16097,8 +21589,8 @@ RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,docu="U4.71.03-e", # 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', +RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, + fr=" ",reentrant='n', UIinfo={"groupes":("Résultats et champs",)}, CO =SIMP(statut='o',typ=assd), regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), @@ -16106,7 +21598,7 @@ RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table, 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16132,7 +21624,7 @@ def reso_grad_prod(MATR_ASSE,**args ): 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', + 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 ) ), @@ -16143,23 +21635,23 @@ RESO_GRAD=OPER(nom="RESO_GRAD",op= 84,sd_prod=reso_grad_prod, 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 +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== # RESPONSABLE VABHHTS J.PELLET def reso_ldlt_prod(CHAM_NO,**args ): @@ -16172,17 +21664,19 @@ def reso_ldlt_prod(CHAM_NO,**args ): 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", + fr="Résolution en place ou hors place d un système factorisé", UIinfo={"groupes":("Résolution",)}, MATR_FACT =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), CHAM_NO =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r, cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ), CHAM_CINE =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ), + # RESI_RELA : précision utilisée si SOLVEUR=MUMPS + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.e-6), TITRE =SIMP(statut='f',typ='TXM',max='**'), INFO =SIMP(statut='f',typ='I',into=(1,2) ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16211,7 +21705,7 @@ def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ): 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(UN_PARMI('RESU_GENE','RESULTAT'), EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), @@ -16228,33 +21722,33 @@ REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op= 75,sd_prod=rest_base_phys_prod, 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='**' ), + NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8 ), - FREQ =SIMP(statut='f',typ='R',max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8 ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), + FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), + LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',max=8,defaut="ACCE", + NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE", into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL", "SIGM_ELNO_DEPL","FORC_NODA",) ), TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ACCE_MONO_APPUI =SIMP(statut='f',typ=fonction), - DIRECTION =SIMP(statut='f',typ='R',max='**' ), + ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), 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 +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16273,328 +21767,106 @@ REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op= 75,sd_prod=rest_base_phys_prod, # 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', + reentrant='n', UIinfo={"groupes":("Matrices/vecteurs",)}, regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu ), + BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), MODE_MECA =SIMP(statut='f',typ=mode_meca ), - BANDE =SIMP(statut='f',typ='R',min=2,max=2 ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**' ), + BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), + NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), INTE_SPEC_GENE =SIMP(statut='o',typ=tabl_intsp ), - NOEUD =SIMP(statut='o',typ=no,max='**'), - 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", + NOEUD =SIMP(statut='o',typ=no ,max='**'), + MAILLE =SIMP(statut='f',typ=ma ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7, + into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL", "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ), MODE_STAT =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ), - EXCIT =FACT(statut='f',max=1, - NOEUD =SIMP(statut='o',typ=no,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), + EXCIT =FACT(statut='f', + NOEUD =SIMP(statut='o',typ=no ,max='**'), + NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), ), MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 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. -# ====================================================================== -RETOUR=PROC(nom="RETOUR",op= -2,docu="U4.13.02-e", - UIinfo={"groupes":("Gestion du travail",)}, - fr="Retour au fichier de commandes appelant", -) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 10/06/2004 AUTEUR REZETTE C.REZETTE # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# RESPONSABLE ADBHHVV V.CANO -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 =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", - "GRANGER_FD", - "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", - ) ), - ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)), - 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=8,into=(8,)), - 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,)), - GRANGER_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,)), +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== - 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", - "ROUSSELIER", - "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,)), +from Macro.stanley_ops import stanley_ops - 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='**'), +STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None, + reentrant='n', + UIinfo={"groupes":("Outils métier",)}, + fr="Outil de post-traitement interactif Stanley ", + RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ), + MODELE =SIMP(statut='f',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='f',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), +) ; +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== +# RESPONSABLE PBADEL P.BADEL +STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, + fr="Analyse mécanique statique non linéaire", + reentrant='f', + UIinfo={"groupes":("Résolution",)}, + regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),), + MODELE =SIMP(statut='o',typ=modele_sdaster), + CHAM_MATER =SIMP(statut='o',typ=cham_mater), + CARA_ELEM =SIMP(statut='f',typ=cara_elem), + EXCIT =FACT(statut='o',max='**', + CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), + TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", + into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), + ), + SOUS_STRUC =FACT(statut='f',min=01,max='**', + regles=(UN_PARMI('TOUT','MAILLE'),), + CAS_CHARGE =SIMP(statut='o',typ='TXM' ), + TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), + MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), + ), + VARI_COMM =FACT(statut='f', + regles=(AU_MOINS_UN('IRRA','CORROSION'),), + IRRA =SIMP(statut='f',typ=evol_varc), + CORROSION =SIMP(statut='f',typ=carte_corr_r), ), - COMP_ELAS =FACT(statut='f',min=1,max='**', + COMP_INCR =C_COMP_INCR(), + COMP_ELAS =FACT(statut='f',max='**', RELATION =SIMP(statut='o',typ='TXM',defaut="ELAS", into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", "ELAS_POUTRE_GR","CABLE")), @@ -16606,32 +21878,53 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, 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, + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + ), + b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", + ETAT_INIT =FACT(statut='o', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), + VARI =SIMP(statut='f',typ=cham_elem_vari_r), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", + ETAT_INIT =FACT(statut='f', + regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',), + EXCLUS('EVOL_NOLI','DEPL',), + EXCLUS('EVOL_NOLI','SIGM',), + EXCLUS('EVOL_NOLI','VARI',), + EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',), + EXCLUS('NUME_ORDRE','INST'), ), + DEPL =SIMP(statut='f',typ=cham_no_depl_r), + SIGM =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)), + VARI =SIMP(statut='f',typ=cham_elem_vari_r), + VARI_NON_LOCAL =SIMP(statut='f',typ=cham_no_vanl_r), + EVOL_NOLI =SIMP(statut='f',typ=evol_noli), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), + CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), + NUME_DIDI =SIMP(statut='f',typ='I'), + INST_ETAT_INIT =SIMP(statut='f',typ='R'), + ),), + INCREMENT =FACT(statut='o', regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), EXCLUS('NUME_INST_FIN','INST_FIN'),), - LIST_INST =SIMP(statut='o',typ=listr8), + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), EVOLUTION =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE", into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ), NUME_INST_INIT =SIMP(statut='f',typ='I'), @@ -16647,49 +21940,65 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, NOM_CMP =SIMP(statut='f',typ='TXM',), VALE =SIMP(statut='f',typ='R'), ), - NEWTON =FACT(statut='d',min=1,max=1, + NEWTON =FACT(statut='d', REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), REAC_ITER =SIMP(statut='f',typ='I',defaut=0), + REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), EVOL_NOLI =SIMP(statut='f',typ=evol_noli), ), - RECH_LINEAIRE =FACT(statut='f',min=1,max=1, + RECH_LINEAIRE =FACT(statut='f', RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3), + ITER_LINE_CRIT =SIMP(statut='f',typ='I',defaut= 20), + PAS_MINI_CRIT =SIMP(statut='f',typ='R',defaut=0.0E+0), + RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), + RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), + RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2), ), - PILOTAGE =FACT(statut='f',min=1,max=1, + PILOTAGE =FACT(statut='f', regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ), COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), ETA_PILO_MAX =SIMP(statut='f',typ='R'), ETA_PILO_MIN =SIMP(statut='f',typ='R'), + ETA_PILO_R_MAX =SIMP(statut='f',typ='R'), + ETA_PILO_R_MIN =SIMP(statut='f',typ='R'), + PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), + SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ), TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,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='**' ), + GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), + NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), ), - CONVERGENCE =FACT(statut='d',min=1,max=1, + CONVERGENCE =FACT(statut='d', + regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), + SIGM_REFE =SIMP(statut='f',typ='R'), + EPSI_REFE =SIMP(statut='f',typ='R'), + FLUX_THER_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), + FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), + RESI_REFE_RELA =SIMP(statut='f',typ='R'), RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI"), + ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), RESI_INTE_RELA =SIMP(statut='f',typ='R' ,defaut= 1.0E-6), ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - 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") ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), ), @@ -16702,48 +22011,59 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), + ), SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), ), - ARCHIVAGE =FACT(statut='f',min=1,max=1, + ARCHIVAGE =FACT(statut='f', 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='**' ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), PAS_ARCH =SIMP(statut='f',typ='I' ), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3), ARCH_ETAT_INIT =SIMP(statut='f',typ='TXM',into=("OUI",)), NUME_INIT =SIMP(statut='f',typ='I'), DETR_NUME_SUIV =SIMP(statut='f',typ='TXM',into=("OUI",)), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA", + CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA", "VARI_NON_LOCAL","LANL_ELGA")), ), - OBSERVATION =FACT(statut='f',min=1,max='**', + OBSERVATION =FACT(statut='f',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", + NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA", "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")), NOM_CMP =SIMP(statut='o',typ='TXM',max='**' ), - LIST_ARCH =SIMP(statut='f',typ=listis), - LIST_INST =SIMP(statut='f',typ=listr8), - INST =SIMP(statut='f',typ='R',max='**' ), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), PAS_OBSE =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no,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") ), + NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), + GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), + POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), + ), + CRIT_FLAMB =FACT(statut='f',min=1,max=1, + NB_FREQ =SIMP(statut='f',typ='I',max=1,defaut=3), + CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10), + fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), + ), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', + fr="Liste des paramètres de sensibilité", + ang="List of sensitivity parameters"), + SOLV_NON_LOCAL =FACT(statut='f', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), ), @@ -16755,15 +22075,20 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, NPREC =SIMP(statut='f',typ='I',defaut= 8 ), STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), b_gcpc =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué", - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), ), - LAGR_NON_LOCAL =FACT(statut='f',max=1, + LAGR_NON_LOCAL =FACT(statut='f', ITER_DUAL_MAXI =SIMP(statut='f',typ='I',defaut= 50), RESI_DUAL_ABSO =SIMP(statut='o',typ='R'), RESI_PRIM_ABSO =SIMP(statut='o',typ='R'), @@ -16773,7 +22098,49 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, INFO =SIMP(statut='f',typ='I',into=(1,2) ), TITRE =SIMP(statut='f',typ='TXM',max='**' ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +# CONFIGURATION MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +# RESPONSABLE MCOURTOI M.COURTOIS + +from Macro.test_fichier_ops import test_fichier_ops + +TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops, + UIinfo={"groupes":("Impression",)}, + + UNITE =SIMP(statut='f',typ='I',defaut=8), + FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), + NB_CHIFFRE =SIMP(statut='f',typ='I',defaut=6), + EPSILON =SIMP(statut='f',typ='R',defaut=1.E-14), + EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**', + fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"), + VALE_K =SIMP(statut='o',typ='TXM' ), + REFERENCE =SIMP(statut='f',typ='TXM', + into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), + + b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", + VERSION =SIMP(statut='f',typ='TXM' ), + ), + + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), +) +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -16793,16 +22160,15 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, # ====================================================================== # 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"), + UNITE =SIMP(statut='f',typ='I',defaut=8), TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - VALEUR =FACT(statut='f',min=1,max='**', + VALEUR =FACT(statut='f',max='**', fr="Tester la valeur d une fonction ou d une nappe", regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),), - FONCTION =SIMP(statut='o',typ=fonction ), - NOM_PARA =SIMP(statut='f',typ='TXM',max=2), - VALE_PARA =SIMP(statut='o',typ='R',max=2), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), + NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), + VALE_PARA =SIMP(statut='o',typ='R' ,validators=NoRepeat(),max=2), VALE_REFE =SIMP(statut='f',typ='R' ), VALE_REFE_C =SIMP(statut='f',typ='C' ), CRITERE =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence", @@ -16815,9 +22181,9 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur num VERSION =SIMP(statut='f',typ='TXM' ), ), ), - ATTRIBUT =FACT(statut='f',min=1,max='**', + ATTRIBUT =FACT(statut='f',max='**', fr="Tester la valeur d un attribut d une fonction ou d''une nappe", - FONCTION =SIMP(statut='o',typ=fonction ), + FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), PARA =SIMP(statut='f',typ='R' ), CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), @@ -16831,7 +22197,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur num VERSION =SIMP(statut='f',typ='TXM' ), ), ), - TABL_INTSP =FACT(statut='f',min=1,max='**', + TABL_INTSP =FACT(statut='f',max='**', fr="Tester la valeur d une fonction contenue dans une table interspectrale", regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), INTE_SPEC =SIMP(statut='o',typ=tabl_intsp ), @@ -16859,43 +22225,43 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur num ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 09/05/2005 AUTEUR CIBHHLV L.VIVAN # 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. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # # # ====================================================================== -TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", +TEST_RESU=PROC(nom="TEST_RESU",op=23, UIinfo={"groupes":("Impression",)}, fr="Extraction d une valeur et comparaison à une valeur de référence", - regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','OBJET')), - FICHIER =SIMP(statut='f',typ='TXM',defaut="RESULTAT"), + regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET')), + UNITE =SIMP(statut='f',typ='I',defaut=8), - CHAM_NO =FACT(statut='f',min=1,max='**', + CHAM_NO =FACT(statut='f',max='**', regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'), EXCLUS('NOEUD','GROUP_NO'), PRESENT_PRESENT('NOEUD','NOM_CMP'), PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'), UN_PARMI('VALE','VALE_I','VALE_C'),), - CHAM_GD =SIMP(statut='o',typ=cham_no), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), + CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), + NOEUD =SIMP(statut='f',typ=no ), + GROUP_NO =SIMP(statut='f',typ=grno ), + NOM_CMP =SIMP(statut='f',typ='TXM'), TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")), VALE =SIMP(statut='f',typ='R'), VALE_I =SIMP(statut='f',typ='I'), @@ -16907,19 +22273,19 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", VERSION =SIMP(statut='f',typ='TXM'), ), - CHAM_ELEM =FACT(statut='f',min=1,max='**', + CHAM_ELEM =FACT(statut='f',max='**', regles=(UN_PARMI('MAILLE','TYPE_TEST',), EXCLUS('NOEUD','GROUP_NO','POINT'), PRESENT_PRESENT('NOEUD','NOM_CMP'), PRESENT_PRESENT('GROUP_NO','NOM_CMP'), PRESENT_PRESENT('POINT','NOM_CMP'), UN_PARMI('VALE','VALE_I','VALE_C'), ), - CHAM_GD =SIMP(statut='o',typ=cham_elem),# CO() - MAILLE =SIMP(statut='f',typ=ma),# CO() + CHAM_GD =SIMP(statut='o',typ=cham_elem_sdaster), + MAILLE =SIMP(statut='f',typ=ma), POINT =SIMP(statut='f',typ='I' ), SOUS_POINT =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no),# CO() - GROUP_NO =SIMP(statut='f',typ=grno),# CO() + NOEUD =SIMP(statut='f',typ=no), + GROUP_NO =SIMP(statut='f',typ=grno), NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), TYPE_TEST =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ), VALE =SIMP(statut='f',typ='R' ), @@ -16932,7 +22298,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", VERSION =SIMP(statut='f',typ='TXM' ), ), - RESU =FACT(statut='f',min=1,max='**', + RESU =FACT(statut='f',max='**', regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'), UN_PARMI('NOM_CHAM','PARA'), PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'), @@ -16942,23 +22308,23 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", 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),max='**', - fr="Liste des paramètres de sensibilité.", - ang="List of sensitivity parameters"), + RESULTAT =SIMP(statut='o',typ=resultat_sdaster), + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), NUME_ORDRE =SIMP(statut='f',typ='I'), INST =SIMP(statut='f',typ='R'), FREQ =SIMP(statut='f',typ='R'), NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**' ), + NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), NOM_CAS =SIMP(statut='f',typ='TXM'), ANGL =SIMP(statut='f',typ='R'), PARA =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='f',typ='TXM'), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), + 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")), @@ -16972,12 +22338,44 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", VERSION =SIMP(statut='f',typ='TXM' ), ), + GENE =FACT(statut='f',max='**', + regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,), + RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene_r, tran_gene, mode_gene, harm_gene)), + b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene_r", + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + ), + b_mode =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)", + regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), + UN_PARMI('NOM_CHAM','PARA'), + PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), + NOM_CHAM =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='f',typ='I'), + PARA =SIMP(statut='f',typ='TXM'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + NUME_MODE =SIMP(statut='f',typ='I'), + FREQ =SIMP(statut='f',typ='R'), + ), + b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", + regles=(UN_PARMI('NUME_ORDRE','INST') ,), + NOM_CHAM =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()), + NUME_CMP_GENE =SIMP(statut='o',typ='I'), + NUME_ORDRE =SIMP(statut='f',typ='I'), + INST =SIMP(statut='f',typ='R'), + ), + VALE =SIMP(statut='f',typ='R'), + VALE_I =SIMP(statut='f',typ='I'), + VALE_C =SIMP(statut='f',typ='C'), + CRITERE =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2), + PRECISION =SIMP(statut='f',typ='R',max=2), + REFERENCE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE", + "NON_REGRESSION","AUTRE_ASTER",) ), + VERSION =SIMP(statut='f',typ='TXM' ), + ), + 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'),), + regles=(UN_PARMI('S_I','S_R','RESUME',), + UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),), NOM =SIMP(statut='o',typ='TXM'), - 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'), @@ -16991,7 +22389,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", VERSION =SIMP(statut='f',typ='TXM' ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 23/08/2004 AUTEUR CIBHHLV L.VIVAN # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG @@ -17011,14 +22409,16 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-g3", # ====================================================================== # 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='**', + UNITE =SIMP(statut='f',typ='I',defaut=8), +# concept table_sdaster à tester + TABLE =SIMP(statut='o',typ=table_sdaster), + + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom), + fr="Paramètre de sensibilité.", + ang="Sensitivity parameter"), + FILTRE =FACT(statut='f',max='**', NOM_PARA =SIMP(statut='o',typ='TXM' ), CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", into=("EQ","LT","GT","NE","LE","GE","VIDE", @@ -17044,42 +22444,43 @@ TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ), b_version =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", VERSION =SIMP(statut='f',typ='TXM' ), + INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), ), ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-g2",reentrant='f', +THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', UIinfo={"groupes":("Résolution",)}, fr="Analyse thermique linéaire stationnaire ou transitoire", - MODELE =SIMP(statut='o',typ=modele), + MODELE =SIMP(statut='o',typ=modele_sdaster), CHAM_MATER =SIMP(statut='o',typ=cham_mater), CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - INCREMENT =FACT(statut='f',min=1,max=1, - LIST_INST =SIMP(statut='o',typ=listr8 ), + INCREMENT =FACT(statut='f', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster ), NUME_INIT =SIMP(statut='f',typ='I'), NUME_FIN =SIMP(statut='f',typ='I'), ), - TEMP_INIT =FACT(statut='f',min=1,max=1, + TEMP_INIT =FACT(statut='f', regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), EVOL_THER =SIMP(statut='f',typ=evol_ther), @@ -17087,18 +22488,18 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-g2 VALE =SIMP(statut='f',typ='R'), NUME_INIT =SIMP(statut='f',typ='I'), ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters", ), - SENS_INIT =FACT(statut='f',min=1,max=1, + SENS_INIT =FACT(statut='f', regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),), STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), EVOL_THER =SIMP(statut='f',typ=evol_ther), NUME_INIT =SIMP(statut='f',typ='I'), ), - SOLVEUR =FACT(statut='d',min=1,max=1, - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), ), @@ -17111,21 +22512,24 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-g2 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), -# A quoi sert eps - EPS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6,), + ), ), PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), - ARCHIVAGE =FACT(statut='f',min=1,max=1, + ARCHIVAGE =FACT(statut='f', 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='**'), + LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), + LIST_INST =SIMP(statut='f',typ=listr8_sdaster), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", into=("RELATIF","ABSOLU")), @@ -17135,31 +22539,31 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-g2 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 +#& MODIF COMMANDE DATE 01/04/2005 AUTEUR VABHHTS J.PELLET # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== -THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02-e2",reentrant='f', +THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', UIinfo={"groupes":("Résolution",)}, fr="Analyse thermique non linéaire stationnaire ou transitoire" , - MODELE =SIMP(statut='o',typ=(modele) ), + MODELE =SIMP(statut='o',typ=(modele_sdaster) ), CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), - COMP_THER_NL =FACT(statut='d',min=1,max='**', + COMP_THER_NL =FACT(statut='d',max='**', RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", into=("THER_NL", "THER_HYDR", @@ -17170,20 +22574,20 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02- ) ), 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='**'), + GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), + MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), ), EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=char_ther), - FONC_MULT =SIMP(statut='f',typ=fonction), + FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), ), - INCREMENT =FACT(statut='f',min=1,max=1, - LIST_INST =SIMP(statut='o',typ=listr8), + INCREMENT =FACT(statut='f', + LIST_INST =SIMP(statut='o',typ=listr8_sdaster), NUME_INIT =SIMP(statut='f',typ='I'), NUME_FIN =SIMP(statut='f',typ='I'), ), - TEMP_INIT =FACT(statut='f',min=1,max=1, + TEMP_INIT =FACT(statut='f', regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), EVOL_THER =SIMP(statut='f',typ=evol_ther), @@ -17191,22 +22595,22 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02- VALE =SIMP(statut='f',typ='R'), NUME_INIT =SIMP(statut='f',typ='I'), ), - NEWTON =FACT(statut='d',min=1,max=1, + NEWTON =FACT(statut='d', REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ), RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), ), - CONVERGENCE =FACT(statut='d',min=1,max=1, + CONVERGENCE =FACT(statut='d', RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), RESI_GLOB_RELA =SIMP(statut='f',typ='R'), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), ), - SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),max='**', + SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**', fr="Liste des paramètres de sensibilité.", ang="List of sensitivity parameters", ), - SOLVEUR =FACT(statut='d',min=1,max=1, - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), + SOLVEUR =FACT(statut='d', + METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), ), @@ -17219,73 +22623,76 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02- 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 ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), + NIVE_REMPLISSAGE=SIMP(statut='f',typ='I' ,defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), + RESI_RELA =SIMP(statut='f',typ='R' ,defaut= 1.E-6 ), + NMAX_ITER =SIMP(statut='f',typ='I' ,defaut= 0 ), + ), + b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", + TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), + PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), + RESI_RELA =SIMP(statut='f',typ='R',defaut=-1.,), ), -# 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, + ARCHIVAGE =FACT(statut='f', 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='**'), + LIST_ARCH =SIMP(statut='f',typ=(listis_sdaster) ), + LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), + INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), PAS_ARCH =SIMP(statut='f',typ='I'), CHAM_EXCLU =SIMP(statut='f',typ='TXM',into=("VARI",)), ), TITRE =SIMP(statut='f',typ='TXM',max='**'), - OPTION =SIMP(statut='f',typ='TXM',max='**', + OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2, into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ), INFO =SIMP(statut='f',typ='I',into=(1,2) ), - + ) ; -#& MODIF COMMANDE DATE 09/10/2002 AUTEUR DURAND C.DURAND +#& MODIF COMMANDE DATE 30/06/2004 AUTEUR MCOURTOI M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # ====================================================================== 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', + reentrant='n', UIinfo={"groupes":("Résolution",)}, - MODELE =SIMP(statut='o',typ=modele ), + MODELE =SIMP(statut='o',typ=modele_sdaster ), CHAM_MATER =SIMP(statut='o',typ=cham_mater ), CARA_ELEM =SIMP(statut='c',typ=cara_elem ), - EXCIT =FACT(statut='o',min=1,max='**', + EXCIT =FACT(statut='o',max='**', CHARGE =SIMP(statut='o',typ=char_ther ), - FONC_MULT =SIMP(statut='c',typ=fonction ), + FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), ), - TEMP_INIT =FACT(statut='f',min=1,max=1, + TEMP_INIT =FACT(statut='f', EVOL_THER =SIMP(statut='f',typ=evol_ther ), NUME_INIT =SIMP(statut='f',typ='I',defaut= 0 ), ), - CONVERGENCE =FACT(statut='d',min=1,max=1, + CONVERGENCE =FACT(statut='d', CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), ), - SOLVEUR =FACT(statut='d',min=1,max=1, + SOLVEUR =FACT(statut='d', METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ), b_mult_front =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale", RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), @@ -17299,13 +22706,12 @@ THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, 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") ), + PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ), NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ), RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), RESI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), ), - 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='**' ), diff --git a/Aster/Cata/ops.py b/Aster/Cata/ops.py index 3becd375..e1ef7490 100644 --- a/Aster/Cata/ops.py +++ b/Aster/Cata/ops.py @@ -1,4 +1,4 @@ -#@ MODIF ops Cata DATE 05/10/2004 AUTEUR CIBHHLV L.VIVAN +#@ MODIF ops Cata DATE 07/03/2005 AUTEUR DURAND C.DURAND # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -27,6 +27,7 @@ import pickle # Modules Eficas import Accas from Accas import ASSD +#from Utilitai.Utmess import UTMESS try: import aster @@ -127,19 +128,24 @@ def POURSUITE(self,PAR_LOT,CODE,**args): # On supprime du pickle_context les concepts valant None, ca peut # etre le cas des concepts non executés, placés après FIN. pickle_context=get_pickled_context() + from Utilitai.Utmess import UTMESS if pickle_context==None : - self.jdc.cr.fatal(" Erreur a la relecture du fichier pick.1 : aucun objet sauvegardé ne sera récupéré") + UTMESS('F','Poursuite',"Erreur a la relecture du fichier pick.1 : aucun objet sauvegardé ne sera récupéré") return + from Cata.cata import ASSD + from Noyau.N_CO import CO for elem in pickle_context.keys(): if type(pickle_context[elem])==types.InstanceType : pickle_class=pickle_context[elem].__class__ if elem in self.g_context.keys(): poursu_class=self.g_context[elem].__class__ if poursu_class!=pickle_class : - self.jdc.cr.fatal(" types incompatibles entre glob.1 et pick.1 pour concept de nom "+elem) + UTMESS('F','Poursuite',"Types incompatibles entre glob.1 et pick.1 pour concept de nom "+elem) return - else: - self.jdc.cr.fatal(" concept de nom "+elem+" et de type "+str(pickle_class)+" introuvable dans la base globale") + elif isinstance(pickle_context[elem],ASSD) and not isinstance(pickle_context[elem],CO) : + # on n'a pas trouvé le concept dans la base et sa classe est ASSD : ce n'est pas normal + # sauf dans le cas de CO : il n'a alors pas été typé et c'est normal qu'il soit absent de la base + UTMESS('F','Poursuite',"Concept de nom "+elem+" et de type "+str(pickle_class)+" introuvable dans la base globale") return if pickle_context[elem]==None : del pickle_context[elem] self.g_context.update(pickle_context) @@ -351,8 +357,6 @@ def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR): else: ll=ll_u - for l in ll: - print l lines=ll ll=[] for l in lines: @@ -407,6 +411,8 @@ def INCLUDE_MATERIAU(self,NOM_AFNOR,TYPE_MODELE,VARIANTE,TYPE_VALE,NOM_MATER, self.Execute_alone() self.make_contexte(f,self.text) + for k,v in self.g_context.items() : + if isinstance(v,ASSD) and k!=v.nom : del self.g_context[k] def build_procedure(self,**args): """ diff --git a/Aster/editeur.ini b/Aster/editeur.ini index e192cfb3..a00486de 100644 --- a/Aster/editeur.ini +++ b/Aster/editeur.ini @@ -24,6 +24,7 @@ import prefs rep_cata = os.path.join(prefs.REPINI,'Cata') rep_homard = os.path.join(prefs.REPINI,'../Homard') +rep_Pmw = os.path.join(prefs.REPINI,'../Pmw') # Accès à la documentation Aster path_doc = os.path.join(rep_cata,'..','Doc') @@ -43,7 +44,8 @@ catalogues = ( #('ASTER','v5',os.path.join(rep_cata,'cataSTA5'),'asterv5'), #('ASTER','v6',os.path.join(rep_cata,'cataSTA6'),'python6'), #('ASTER','v73',os.path.join(rep_cata,'cataSTA73'),'python','defaut'), - ('ASTER','v7',os.path.join(rep_cata,'cata_STA7.py'),'python','defaut'), + ('ASTER','v74',os.path.join(rep_cata,'cataSTA74'),'python','defaut'), + ('ASTER','v8',os.path.join(rep_cata,'cata_STA8.py'),'python','defaut'), ('HOMARD','v1',os.path.join(rep_homard,'homard_cata_V6n.py'),'homard') ) -- 2.39.2