1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
# (AT YOUR OPTION) ANY LATER VERSION.
#
# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
#
# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
# ======================================================================
# person_in_charge: jacques.pellet at edf.fr
def post_champ_prod(RESULTAT,**args):
if AsType(RESULTAT) != None : return AsType(RESULTAT)
raise AsException("type de concept resultat non prevu")
# liste des options possibles pour les 4 mots clés EXTR_COQUE, EXTR_TUYAY, EXTR_PMF et MIN_MAX_SP :
liste_option_extr=("EPEQ_ELGA","EPEQ_ELNO","EPSI_ELGA","EPSI_ELNO",
"SIEF_ELGA","SIEF_ELNO",
"SIEQ_ELGA","SIEQ_ELNO","SIGM_ELGA","SIGM_ELNO",
"VARI_ELGA","VARI_ELNO",)
POST_CHAMP=OPER(nom="POST_CHAMP",op=155,sd_prod=post_champ_prod, reentrant='n',
UIinfo={"groupes":("Post-traitements","Eléments de structure",)},
fr="extraction de champs sur un sous-point. ",
regles=(UN_PARMI('EXTR_COQUE','EXTR_TUYAU','EXTR_PMF','MIN_MAX_SP','COQU_EXCENT'),
EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS',),
),
RESULTAT =SIMP(statut='o',typ=resultat_sdaster,
fr="Resultat d'une commande globale"),
#====
# Sélection des numéros d'ordre pour lesquels on fait le calcul :
#====
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='**'),
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='**'),
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_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
PRECISION =SIMP(statut='o',typ='R',),),
),
#====
# Sélection de la zone géométrique:
#====
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='**'),
#====
# Extraction sur un sous-point d'une coque :
#====
EXTR_COQUE =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une coque",
NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
into=liste_option_extr,),
NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1,
fr="numero de couche dans l'épaisseur de la coque" ),
NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"),
fr="position dans l'épaisseur de la couche" ),
),
#====
# Extraction sur un sous-point d'un tuyau :
#====
EXTR_TUYAU =FACT(statut='f', max=1, fr="extraction sur un sous-point d'un tuyau",
NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
into=liste_option_extr ,),
NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1,
fr="numero de couche dans l'épaisseur du tuyau" ),
NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"),
fr="position dans l'épaisseur de la couche" ),
ANGLE =SIMP(statut='o',typ='I',val_min=0,val_max=360,
fr="angle de dépouillement pour les tuyaux, en degrés à partir de la génératrice" ),
),
#====
# Extraction sur un sous-point d'une poutre multifibre :
#====
EXTR_PMF =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une poutre multifibre",
NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
into=liste_option_extr,),
NUME_FIBRE =SIMP(statut='o',typ='I',val_min=1,
fr="numéro de la fibre dans la poutre multifibre" ),
),
#====
# Extraction des min / max sur les sous-points :
#====
MIN_MAX_SP =FACT(statut='f', max='**', fr="extraction du min/max d'une composante pour un champ",
NOM_CHAM =SIMP(statut='o',typ='TXM',
into=liste_option_extr,),
NOM_CMP =SIMP(statut='o',typ='TXM',fr="nom de la composante", ),
TYPE_MAXI =SIMP(statut='o',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS",) ),
NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20,
fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",),
),
#====
# Calcul des efforts des coques "excentrées" sur le feuillet moyen de la coque :
#====
COQU_EXCENT =FACT(statut='f', max=2, fr="Calcul des efforts d'une coque 'excentrée' sur le feuillet moyen de la coque",
NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","EFGE_ELGA",),),
MODI_PLAN =SIMP(statut='o',typ='TXM',into=("OUI",),),
),
)
|