1 #@ MODIF sd_char_contact SD DATE 01/04/2008 AUTEUR ABBAS M.ABBAS
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
22 from SD.sd_champ import sd_champ
23 from SD.sd_xfem import sd_modele_xfem, sd_contact_xfem
25 class sd_char_contact(AsBase):
28 FORMCO = Facultatif(AsVI())
31 # retourne True si la SD semble exister.
32 return self.FORMCO.exists
35 def formulation_xfem(self):
36 if not self.exists() : return False
37 iform = self.FORMCO.get()[0]
40 def contact_xfem_actif(self):
41 if not self.formulation_xfem() : return False
42 return self.XNBASC.exists
44 BAMACO = Facultatif(AsVI())
45 BANOCO = Facultatif(AsVI())
46 CARACF = Facultatif(AsVR())
47 COMAFO = Facultatif(AsVR())
48 JEUSUR = Facultatif(AsVR())
49 CONVCO = Facultatif(AsVI())
50 DIRNOR = Facultatif(AsVR())
51 DIRAPP = Facultatif(AsVR())
52 ECPDON = Facultatif(AsVI())
53 CARFRO = Facultatif(AsVR())
54 FROTE = Facultatif(AsVR())
55 JEUCON = Facultatif(AsVR())
56 JEUCOQ = Facultatif(AsVR())
57 JEUPOU = Facultatif(AsVR())
58 JFO1CO = Facultatif(AsVK8())
59 JFO2CO = Facultatif(AsVK8())
60 JFO3CO = Facultatif(AsVK8())
61 JSUPCO = Facultatif(AsVR())
62 MAESCL = Facultatif(AsVI())
63 MAILCO = Facultatif(AsVI())
64 MAMACO = Facultatif(AsVI())
65 MANOCO = Facultatif(AsVI())
66 METHCO = Facultatif(AsVI())
67 NDIMCO = Facultatif(AsVI())
68 NOESCL = Facultatif(AsVR())
69 NOEUCO = Facultatif(AsVI())
70 NOEUQU = Facultatif(AsVI())
71 NOMACO = Facultatif(AsVI())
72 NORLIS = Facultatif(AsVI())
73 NOZOCO = Facultatif(AsVI())
74 PBAMACO = Facultatif(AsVI())
75 PBANOCO = Facultatif(AsVI())
76 PENAL = Facultatif(AsVR())
77 PMAMACO = Facultatif(AsVI())
78 PMANOCO = Facultatif(AsVI())
79 PNOEUQU = Facultatif(AsVI())
80 PNOMACO = Facultatif(AsVI())
81 PRANOCO = Facultatif(AsVI())
82 PSSNOCO = Facultatif(AsVI())
83 PSANOFR = Facultatif(AsVI())
84 PSUMACO = Facultatif(AsVI())
85 PSUNOCO = Facultatif(AsVI())
86 PZONECO = Facultatif(AsVI())
87 RANOCO = Facultatif(AsVI())
88 SANSNQ = Facultatif(AsVI())
89 SSNOCO = Facultatif(AsVI())
90 SANOFR = Facultatif(AsVI())
91 SYMECO = Facultatif(AsVI())
92 TABFIN = Facultatif(AsVR())
93 TANDEF = Facultatif(AsVR())
94 TANPOU = Facultatif(AsVR())
95 TOLECO = Facultatif(AsVR())
96 xfem = Facultatif(AsVI())
97 XFIMAI = Facultatif(AsVK8())
98 XNBASC = Facultatif(AsVK24())
99 XNRELL = Facultatif(AsVK24())
100 TANINI = Facultatif(AsVR())
101 NORMCO = Facultatif(AsVR())
102 TANGCO = Facultatif(AsVR())
103 EXCLFR = Facultatif(AsVR())
104 MODELX = Facultatif(AsVK8(lonmax=1,))
107 xfem = Facultatif(sd_contact_xfem(SDNom(nomj='')))
110 # indirection vers les champs de .XNBASC :
111 # Question à Mickael :
112 # la fonction suivante ne serait-elle pas mieux placée dans la classe sd_contact_xfem ?
113 def check_char_contact_xfem_XNBASC(self, checker):
114 if not self.contact_xfem_actif() : return
115 lnom = self.XNBASC.get()
116 nbnom = self.XNBASC.lonuti
117 for k in range(nbnom) :
119 if not nom.strip(): continue
124 # indirection vers les champs de .XNRELL :
125 # On ne vérifie rien pour l'instant
126 # Question à Mickael :
127 # la fonction suivante ne serait-elle pas mieux placée dans la classe sd_contact_xfem ?
128 def check_char_contact_xfem_XNRELL(self, checker):
129 if not self.contact_xfem_actif() : return
130 lnom = self.XNRELL.get()
131 nbnom = self.XNRELL.lonuti
132 for k in range(nbnom) :
134 oo = AsObject(SDNom(nomj=nom,debut=0),genr='V', xous='S', type=Parmi('I','R'))
138 # Verification MODELE xfem
139 def check_char_contact_xfem_MODELX(self, checker):
140 if not self.contact_xfem_actif() : return
141 nom = self.MODELX.get()[0]
142 sd2 = sd_modele_xfem(nom)