Salome HOME
modif pour MT
[tools/eficas.git] / MED / a
1 ESSAI_FACT=OPER(nom="ESSAI_FACT",
2    sd_prod=ObjetUtilisateur,
3    op=None,
4    fr=tr("Affectation de caractéristiques à des éléments de structure"),
5    regles = (AU_MOINS_UN('Poutre','Barre'),
6              EXCLUS('Discret','Discret_2D'),),
7    Info   = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
8    Verif  = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("Maille","Noeud") ),
9 #
10 # ==============================================================================
11     Poutre  = FACT(statut= 'f',max= '**',
12         Section = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ),
13
14         b_generale = BLOC(condition = " Section == 'GENERALE'",
15             regles = (UN_PARMI('Maille','GroupeMailles'),),
16             Maille    = SIMP(statut= 'f',typ= ma  ,validators= NoRepeat(),max= '**'),
17             GroupeMailles  = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'),
18
19             Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"),
20
21             b_constant = BLOC(condition = "Vari == 'CONSTANT'",
22                 regles = (PRESENT_ABSENT('Table','Cara'),
23                           PRESENT_PRESENT('Table','Nom'),
24                           PRESENT_PRESENT('Cara','Valeur'),),
25                 Table = SIMP(statut= 'f',typ='TXM'),
26                 Nom    = SIMP(statut= 'f',typ= 'TXM'),
27                 Cara       = SIMP(statut= 'o',typ= 'TXM',min= 4 ,max= 5,
28                     fr= tr("A,IY,IZ,JX sont des paramètres obligatoires"),
29                     validators= [NoRepeat(), Compulsory(['A','IY','IZ','JX'])],
30                     into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT","JG","IYR2","IZR2","AI") ),
31                 Valeur       = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15),
32             ),
33         ),
34         b_rectangle = BLOC(condition = "Section == 'RECTANGLE'",
35             regles = (UN_PARMI('Maille','GroupeMailles'),),
36             Maille    = SIMP(statut= 'f',typ= ma  ,validators= NoRepeat(),max= '**'),
37             GroupeMailles  = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'),
38             Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"),
39             b_constant = BLOC(condition = "Vari == 'CONSTANT'",
40                 Cara  = SIMP(statut= 'o',typ= 'TXM',min= 1 ,max= 4,
41                     validators = [NoRepeat(),
42                                   OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ),
43                                           AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )],
44                     into= ("H","EP", "HY","HZ","EPY","EPZ"),),
45                 Valeur  = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4),
46             ),
47
48             Metrique = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ),
49             Fcx           = SIMP(statut= 'f',typ= 'R'),
50             Tuyau    = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3),
51         ),
52     ),
53 #
54 # ==============================================================================
55     Barre = FACT(statut='f',max='**',
56         regles = (UN_PARMI('Maille','GroupeMailles'),),
57         Maille   = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
58         GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
59         Section  = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
60         b_generale = BLOC(condition = "Section=='GENERALE'",
61             regles = (PRESENT_ABSENT('Table','Cara'),
62                       PRESENT_PRESENT('Table','Nom'),
63                       PRESENT_PRESENT('Cara','Valeur')),
64             Table = SIMP(statut='f',typ=table_sdaster),
65             Nom    = SIMP(statut='f',typ='TXM',validators=LongStr(1,24) ),
66             Cara       = SIMP(statut='f',typ='TXM',into=("A",) ),
67             Valeur       = SIMP(statut='f',typ='R',min=1,max=1 ),
68         ),
69         b_rectangle = BLOC(condition = "Section=='RECTANGLE'",
70             Cara = SIMP(statut='o',typ='TXM', min=1, max=4,
71                 validators = [NoRepeat(),
72                               OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ),
73                                       AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )],
74                 into=("H","EP","HZ","HY","EPY","EPZ"), ),
75             Valeur = SIMP(statut='o',typ='R',min=1,max=4 ), ),
76         b_cercle = BLOC(condition = "Section=='CERCLE'",
77             Cara = SIMP(statut='o',typ='TXM',validators=[NoRepeat(),Compulsory(['R'])],min=1,max=2,into=("R","EP") ),
78             Valeur = SIMP(statut='o',typ='R',min=1,max=2 ), ),
79     ),
80 #
81 # ==============================================================================
82     Discret = FACT(statut='f',max='**',
83         REPERE    = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
84         AMOR_HYST = SIMP(statut='f',typ='R' ),
85         SYME      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
86         b_SYME_OUI = BLOC(condition="SYME=='OUI'",
87             fr=tr("SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds"),
88             Cara = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
89             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",
90                     "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
91                     "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
92             #  Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE
93             b_AK_T_D_N = BLOC(condition = "((Cara=='K_T_D_N')or(Cara=='A_T_D_N'))",
94                 fr       = tr("Noeud: 3 valeurs (triangulaire supérieure par colonne)"),
95                 regles   = (UN_PARMI('Maille','GroupeMailles','Noeud','GROUP_NO'),),
96                 Noeud    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
97                 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
98                 Maille   = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
99                 GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),homo='SansOrdreNiDoublon',max='**'),
100                 Valeur     = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
101         ),
102     ),
103 #
104 # ==============================================================================
105     Discret_2D = FACT(statut='f',max='**',
106         REPERE    = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
107         AMOR_HYST = SIMP(statut='f',typ='R' ),
108         SYME      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
109         ),
110 )