1 #@ MODIF sd_spectre SD DATE 19/06/2007 AUTEUR PELLET J.PELLET
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_titre import sd_titre
23 from SD.sd_modele import sd_modele
24 from SD.sd_cara_elem import sd_cara_elem
25 from SD.sd_fonction import sd_fonction
28 types_possibles=[ # liste des divers types de spectres :
38 class sd_spectre(sd_titre):
39 #------------------------------------
45 VARE = Facultatif(AsVR())
46 VAVF = Facultatif(AsVK8(lonmax=1))
47 NNOE = Facultatif(AsVK8())
53 assert type in types_possibles
64 def check_VAIN(self,checker):
65 #-------------------------------
68 assert itype in (1,2,3,4,11,21) , vain
71 if itype==1 : assert type in ('SPEC_LONG_COR_1', 'SPEC_CORR_CONV_1') ,vain
72 if itype==2 : assert type in ('SPEC_LONG_COR_2', 'SPEC_CORR_CONV_2') ,vain
73 if itype==3 : assert type in ('SPEC_LONG_COR_3',) ,vain
74 if itype==4 : assert type in ('SPEC_LONG_COR_4',) ,vain
75 if itype==11 : assert type in ('SPEC_FONC_FORME',) ,vain
76 if itype==21 : assert type in ('SPEC_EXCI_POINT',) ,vain
78 if type in ('SPEC_EXCI_POINT','SPEC_FONC_FORME') :
79 assert len(vain)==3, vain
80 assert vain[1] in (0,1) ,vain
81 assert vain[2] >=0 ,vain
83 assert len(vain)==1, vain
87 def check_VARE(self,checker):
88 #-------------------------------
92 if type == 'SPEC_FONC_FORME' :
96 elif type == 'SPEC_EXCI_POINT' :
97 intesp, nbno= self.u_nbno()
99 assert len(vare)==nbno, vare
101 assert len(vare)==1, vare
104 assert len(vare)==12, vare
108 def check_VATE(self,checker):
109 #-------------------------------
110 vate=self.VATE.get_stripped()
113 if type == 'SPEC_EXCI_POINT' :
114 #---------------------------------
115 intesp, nbno= self.u_nbno()
117 assert len(vate)==4+nbno, vate
119 assert len(vate)==5, vate
120 sd2=sd_cara_elem(vate[1]) ; sd2.check()
121 sd2=sd_modele(vate[2]) ; sd2.check()
122 if vate[3]=='GRAPPE_2' :
123 assert vate[4] in ('ASC_CEN','ASC_EXC','DES_CEN','DES_EXC')
126 assert x in ('FORCE','MOMENT')
128 elif type == 'SPEC_FONC_FORME' :
129 #---------------------------------
130 intesp, nbno= self.u_nbno()
133 assert nbfonc>0, vate
135 assert len(vate)==5, vate
136 sd2=sd_cara_elem(vate[1]) ; sd2.check()
137 sd2=sd_modele(vate[2]) ; sd2.check()
138 if vate[3]=='GRAPPE_1' :
139 assert vate[4] in ('DEBIT_180','DEBIT_300')
142 sd2=sd_fonction(x) ; sd2.check()
144 elif type == 'SPEC_LONG_COR_1' :
145 #---------------------------------
146 sd2=sd_fonction(vate[2]) ; sd2.check()
147 assert vate[3] == 'VISC_CINE'
149 elif type == 'SPEC_LONG_COR_2' :
150 #---------------------------------
151 sd2=sd_fonction(vate[2]) ; sd2.check()
152 assert vate[5] == 'BETA'
154 elif type == 'SPEC_LONG_COR_3' :
155 #---------------------------------
156 sd2=sd_fonction(vate[2]) ; sd2.check()
157 assert vate[7] == 'BETA_2'
159 elif type == 'SPEC_LONG_COR_4' :
160 #---------------------------------
161 sd2=sd_fonction(vate[2]) ; sd2.check()
162 assert vate[5] == 'GAMMA'
164 elif type == 'SPEC_CORR_CONV_1' :
165 #---------------------------------
166 assert vate[9] == 'COEF_VITE_FLUI_O'
167 assert vate[10] in ('GENERALE', 'CORCOS', 'AU_YANG')
169 elif type == 'SPEC_CORR_CONV_2' :
170 #---------------------------------
171 sd2=sd_fonction(vate[1]) ; sd2.check()
172 assert vate[4] in ('GENERALE', 'CORCOS', 'AU_YANG')
173 assert vate[6] == 'COEF_VITE_FLUI_O'
177 def check_VAVF(self,checker):
178 #-------------------------------
179 vavf=self.VAVF.get_stripped()
182 if type in ('SPEC_FONC_FORME', 'SPEC_EXCI_POINT') :
185 sd2=sd_fonction(vavf[0]) ; sd2.check()
189 def check_NNOE(self,checker):
190 #-------------------------------
194 if type in ('SPEC_FONC_FORME', 'SPEC_EXCI_POINT') :
195 intesp, nbno= self.u_nbno()
196 assert len(nnoe) == nbno