Salome HOME
sauve0206
[tools/eficas.git] / PSEN_Eficas / PSEN_Cata.py
1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2013   EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20
21 # --------------------------------------------------
22 # debut entete
23 # --------------------------------------------------
24
25 #from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR
26 from Accas import *
27 import opsPSEN
28
29 class loi      ( ASSD ) : pass
30 class variable ( ASSD ) : pass
31 class sd_charge     ( ASSD ) : pass
32 class sd_generateur ( ASSD ) : pass
33 class sd_ligne     ( ASSD ) : pass
34 class sd_transfo ( ASSD ) : pass
35 #class sd_busbar ( sd_generateur,sd_charge ) : pass
36
37 import types
38 class Tuple:
39   def __init__(self,ntuple):
40     self.ntuple=ntuple
41
42   def __convert__(self,valeur):
43     if type(valeur) == types.StringType:
44       return None
45     if len(valeur) != self.ntuple:
46       return None
47     return valeur
48
49   def info(self):
50     return "Tuple de %s elements" % self.ntuple
51
52   __repr__=info
53   __str__=info
54
55 class Matrice:
56   def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None):
57       self.nbLigs=nbLigs
58       self.nbCols=nbCols
59       self.methodeCalculTaille=methodeCalculTaille
60       self.formatSortie=formatSortie
61       self.valSup=valSup
62       self.valMin=valMin
63       self.structure=structure
64
65   def __convert__(self,valeur):
66     # Attention ne verifie pas grand chose
67     if type(valeur) != types.ListType :
68       return None
69     return valeur
70
71   def info(self):
72       return "Matrice %s x %s" % (self.nbLigs, self.nbCols)
73
74       __repr__=info
75       __str__=info
76
77
78 #CONTEXT.debug = 1
79 JdC = JDC_CATA ( code = 'PSEN',
80                  execmodul = None,
81                  regles = ( AU_MOINS_UN ( 'PSSE_PARAMETERS' ),
82                             AU_MOINS_UN ( 'DIRECTORY' ),
83                             AU_MOINS_UN ( 'DISTRIBUTION' ),
84                             AU_MOINS_UN ( 'SIMULATION' ),
85                             AU_PLUS_UN ( 'PSSE_PARAMETERS' ),
86                             AU_PLUS_UN ( 'DIRECTORY' ),
87                             AU_PLUS_UN ( 'SIMULATION' ),
88                             AU_PLUS_UN ( 'CORRELATION' ),
89                             AU_PLUS_UN ( 'N_1_GENERATORS' ),
90                             AU_PLUS_UN ( 'N_1_LINES' ),
91                             AU_PLUS_UN ( 'N_1_LOADS' ),
92                             AU_PLUS_UN ( 'N_1_TRANSFORMERS' ),
93                             
94                             ),
95                  ) # Fin JDC_CATA
96
97
98 # --------------------------------------------------
99 # fin entete
100 # --------------------------------------------------
101
102 MONGENER =  OPER ( nom = "MONGENER",
103             sd_prod = sd_generateur,
104             UIinfo = {"groupes": ("CACHE")},
105             op = None,
106             fr = "Generateur",
107             ang = "Generator",
108
109   ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",),
110 )
111 MACHARGE =  OPER ( nom = "MACHARGE",
112             sd_prod = sd_charge,
113             UIinfo = {"groupes": ("CACHE")},
114             op = None,
115             fr = "Charge",
116             ang = "Load",
117
118   ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom charge", ang = "load name",),
119 )
120 MALIGNE =  OPER ( nom = "MALIGNE",
121             sd_prod = sd_ligne,
122             UIinfo = {"groupes": ("CACHE")},
123             op = None,
124             fr = "Ligne",
125             ang = "Line",
126
127   ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom ligne", ang = "line name",),
128 )
129 MONTRANSFO =  OPER ( nom = "MONTRANSFO",
130             sd_prod = sd_transfo,
131             UIinfo = {"groupes": ("CACHE")},
132             op = None,
133             fr = "Transformateur",
134             ang = "Transformer",
135
136   ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom transformateur", ang = "transformer name",),
137 )
138
139
140
141 PSSE_PARAMETERS = PROC ( nom = "PSSE_PARAMETERS",
142              op=None,
143              docu = "",
144   FUEL_COST = SIMP ( statut = "o",
145                      typ=bool,
146                      defaut=True,
147                      ),
148   LOADSHEDDING_COST = SIMP ( statut = "o",
149                      typ=bool,
150                      defaut=False,
151                      ),
152   MVAR_COST = SIMP ( statut = "o",
153                      typ=bool,
154                      defaut=False,
155                     ),
156   I_MAX = SIMP ( statut = "o",
157                      typ='TXM',
158                      into=['RateA','RateB','RateC'],
159                      defaut='RateA',
160                     ),
161   LOCK_TAPS = SIMP ( statut = "o",
162                      typ=bool,
163                      defaut=True,
164                      ),
165 ##  P_MIN= SIMP ( statut = "o",
166 ##                     typ=bool,
167 ##                     defaut=True,
168 ##                     ),
169 )
170
171 SIMULATION = PROC ( nom = "SIMULATION",
172              op = None,
173              docu = "",
174   regles             =(EXCLUS('NUMBER_PACKAGE','CONVERGENCE'),),
175                
176   SIZE_PACKAGE = SIMP ( statut = "o",
177                  typ = "I",
178                  val_min=10,
179                  defaut=100,
180                  ),
181   NUMBER_PACKAGE = SIMP ( statut = "f",
182                  typ = "I",
183                  val_min=1,
184                  ),
185   CONVERGENCE = SIMP ( statut = "f",
186                  typ="I",
187                  into=[1],
188                 ),
189
190 ##  STUDY = SIMP ( statut = "o",
191 ##                 typ = "TXM",
192 ##                 into = ( 'N-1', 'Load', 'Wind-1', 'Wind-2', 'PV' ),
193 ##                 max=5,
194 ##                 fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS",
195 ##                 ang = "Open TURNS library debug level print",
196 ##                 ), 
197
198
199
200 #================================
201 # Definition du modele physique
202 #================================
203
204
205
206 CORRELATION = PROC ( nom = 'CORRELATION',
207                      op = None,
208                      docu = "",
209                      fr = "Correlation entre variables",
210                      ang = "Variable correlation",
211
212 ####  Copula = SIMP ( statut = "o",
213 ####                  typ = 'TXM',
214 ####                  into = ( "Independent", "Normal" ),
215 ####                  defaut = "Independent",
216 ####                  fr = "Type de la copule",
217 ####                  ang = "Copula kind",
218 ####                  ),
219 ##
220 ## # Matrix = BLOC ( condition = "Copula in ( 'Normal', )",
221 ##                  
222     CorrelationMatrix = SIMP ( statut = "o",
223                                typ = Matrice(nbLigs=None,
224                                              nbCols=None,
225                                              methodeCalculTaille='NbDeDistributions',
226                                              structure="symetrique"),
227                                fr = "Matrice de correlation entre les variables d'entree",
228                                ang = "Correlation matrix for input variables",
229                                #val_max=1.0,
230                                #val_min=-1.0
231                                ),
232 ##  #), # Fin BLOC Matrix
233 ##
234 ##
235
236
237 DIRECTORY = MACRO ( nom = 'DIRECTORY',
238         op=None,
239         fr = "Chargement des directoires et fichiers",
240         ang = "Load directories and files necessary to run PSEN",
241                 sd_prod = opsPSEN.INCLUDE,
242                 op_init = opsPSEN.INCLUDE_context,
243                 #sd_prod=None,
244                 fichier_ini = 1,
245
246         PSSE_path=SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files\PTI\PSSE33\PSSBIN'),
247         sav_file=SIMP(statut="o", typ = ('Fichier', 'Network Case Files (*.sav);;All Files (*)',),),
248         results_folder=SIMP(statut="o",typ='Repertoire'),
249         #lines_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
250         #groups_file=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
251         #generationsystem_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),        
252         
253
254
255
256
257 #================================
258 # Importation des fichiers csv N-1
259 #================================
260
261 N_1_LINES = PROC( nom="N_1_LINES",
262                      op = None,
263                      docu = "",
264                      fr = "N-1 lignes",
265                      ang = "N-1 lines",
266   Activated = SIMP ( statut='o', typ=bool, defaut=True),
267 ##  FileName = SIMP ( statut = "o",
268 ##                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
269 ##                    fr = "chemin du fichier csv des probabilites des defauts lignes",
270 ##                    ang = "csv file path with probabilities of line outages",
271 ##                    ),
272   Probability = SIMP ( statut = 'o',
273                        typ = Tuple(2),
274                        max = '**',
275                        fr = "Probabilite d'indisponibilite de la ligne",
276                        ang = "Probability that the line is not available",
277                        validators=VerifTypeTuple((sd_ligne,'R')),),
278               )
279
280 N_1_TRANSFORMERS = PROC( nom="N_1_TRANSFORMERS",
281                      op = None,
282                      docu = "",
283                      fr = "N-1 transformateurs",
284                      ang = "N-1 transformers",
285   Activated = SIMP ( statut='o', typ=bool, defaut=True),
286 ##  FileName = SIMP ( statut = "o",
287 ##                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
288 ##                    fr = "chemin du fichier csv des probabilites des defauts transformateur",
289 ##                    ang = "csv file path with probabilities of transformer outages",
290 ##                    ),
291   Probability = SIMP ( statut = 'o',
292                        typ = Tuple(2),
293                        max = '**',
294                        fr = "Probabilite d'indisponibilite de la ligne",
295                        ang = "Probability that the line is not available",
296                        validators=VerifTypeTuple((sd_transfo,'R')),),
297               )
298 N_1_GENERATORS = PROC( nom="N_1_GENERATORS",
299                      op = None,
300                      docu = "",
301                      fr = "N-1 generateurs",
302                      ang = "N-1 generators",
303   Activated = SIMP ( statut='o', typ=bool, defaut=True),
304 ##  FileName = SIMP ( statut = "o",
305 ##                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
306 ##                    fr = "chemin du fichier csv des probabilites des defauts generateurs",
307 ##                    ang = "csv file path with probabilities of generator outages",
308 ##                    ),
309   Probability = SIMP ( statut = 'o',
310                        typ = Tuple(2),
311                        max = '**',
312                        fr = "Probabilite d'indisponibilite du generateur",
313                        ang = "Probability that the generator is not available",
314                        validators=VerifTypeTuple((sd_generateur,'R')),),
315               )
316 N_1_LOADS = PROC( nom="N_1_LOADS",
317                      op = None,
318                      docu = "",
319                      fr = "N-1 charges",
320                      ang = "N-1 loads",
321   Activated = SIMP ( statut='o', typ=bool, defaut=True),
322 ##  FileName = SIMP ( statut = "o",
323 ##                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
324 ##                    fr = "chemin du fichier csv des probabilites des defauts charges",
325 ##                    ang = "csv file path with probabilities of load outages",
326 ##                    ),
327   Probability = SIMP ( statut = 'o',
328                        typ = Tuple(2),
329                        max = '**',
330                        fr = "Probabilite d'indisponibilite du generateur",
331                        ang = "Probability that the generator is not available",
332                        validators=VerifTypeTuple((sd_charge,'R')),),
333               )
334
335
336
337
338 #================================
339 # Definition des LOIS
340 #================================
341
342 # Nota : les variables de type OPER doivent etre en majuscules !
343 # Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type)
344 DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
345                       sd_prod = loi,
346                       op = 68,
347                       fr = "Definitions des lois marginales utilisees par les variables d'entree", 
348
349 #====
350 # Choisir generateur ou charge
351 #====
352
353 ##  TypeMachine = SIMP ( statut='o', typ='TXM',
354 ##                      into = ('charge','vent1','vent2','pv','N-1',),
355 ##                      ),
356   Activated = SIMP ( statut='o', typ=bool, defaut=True),
357   ComponentType = SIMP (statut='o', typ='TXM',
358                       into = ('Generator','Load','Line','Transformer'),),
359   b_gener = BLOC (condition = "ComponentType == 'Generator'",
360         
361   Type = SIMP (statut= "o", typ = "TXM",
362                into = ("Generator Power Level", "Generator Availability"),
363                fr = "Choisir si c'est le niveau de puissance ou la disponibilité du generateur qui sera tiree",
364                ang= "Choose whether the power level or the availability of the generator will be set by the law",
365                defaut = "Generator Power Level",
366                ),
367                   
368   Generator   = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),
369
370 #====
371 # Type de distribution
372 #====
373   
374   b_gener_level = BLOC (condition= "Type == 'Generator Power Level'",
375
376   Law = SIMP ( statut = "o", typ = "TXM",
377                 into = ( "Exponential",
378                          "Histogram",
379                          "Normal",
380                          #"Rayleigh",
381                          "PDF_from_file",
382                          "TruncatedNormal",
383                          "TimeSeries_from_file",
384                          "Uniform",
385                          "UserDefined",
386                          "Weibull",
387                          ),
388                 fr = "Choix du type de la loi marginale",
389                 ang = "1D marginal distribution",
390                 ),
391
392                       
393 #====
394 # Definition des parametres selon le type de la loi
395 #====
396
397
398   EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
399
400                          Lambda = SIMP ( statut = "o",
401                                          typ = "R",
402                                          max = 1,
403                                          val_min = 0.,
404                                          fr = "Parametre Lambda | Lambda > 0",
405                                          ang = "Lambda parameter | Lambda > 0",
406                                          ),
407
408                          Gamma = SIMP ( statut = "o",
409                                         typ = "R",
410                                         max = 1,
411                                         fr = "Borne inferieure du support de la loi",
412                                         ang = "Support lower bound",
413                                         ),
414
415   ), # Fin BLOC EXPONENTIAL
416
417
418   HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
419
420                        First = SIMP ( statut = "o",
421                                     typ = "R",
422                                     max = 1,
423                                     fr = "Borne inferieure du supoport de la loi",
424                                     ang = "Support lower bound",
425                                     ),
426
427                        # Il faut definir une collection de couples ( x,p ) 
428                        Values = SIMP ( statut = 'o',
429                                        typ = Tuple(2),
430                                        max = '**', 
431                                        fr = "Liste de couples : largeur de classe, hauteur de classe",
432                                        ang = "Class bandwidth, class height couple list",
433                                        validators=VerifTypeTuple(('R','R')),
434                                        ),
435
436   ), # Fin BLOC HISTOGRAM
437
438
439    NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
440
441                     Mu = SIMP ( statut = "o",
442                                 typ = "R",
443                                 max = 1,
444                                 fr = "Moyenne de la loi",
445                                 ang = "Mean value",
446                                 ),
447
448                    Sigma = SIMP ( statut = "o",
449                                   typ = "R",
450                                   max = 1,
451                                   val_min = 0.,
452                                   fr = "Ecart type de la loi",
453                                   ang = "Standard deviation",
454                                   ),
455
456    ), # Fin BLOC NORMAL
457
458
459   RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
460
461                    Sigma = SIMP ( statut = "o",
462                                   typ = "R",
463                                   max = 1,
464                                   fr = "Parametre Sigma de la loi | Sigma > 0",
465                                   ang = "Sigma parameter | Sigma > 0",
466                                   ),
467
468                    Gamma = SIMP ( statut = "o",
469                                   typ = "R",
470                                   max = 1,
471                                   fr = "Borne inferieure du support de la loi",
472                                   ang = "Support lower bound",
473                                   ),
474  ), # Fin BLOC RAYLEIGH
475
476   PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
477              
478   FileName = SIMP ( statut = "o",
479                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
480                     fr = "Nom du fichier .csv",
481                     ang = ".csv file name",
482                     ),
483               ),
484               
485
486
487    TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
488
489                              MuN = SIMP ( statut = "o",
490                                           typ = "R",
491                                           max = 1,
492                                           fr = "Moyenne de la loi Normale non tronquée",
493                                           ang = "Mean value of the associated non truncated normal distribution",
494                                           ),
495
496                              SigmaN = SIMP ( statut = "o",
497                                              typ = "R",
498                                              max = 1,
499                                              val_min = 0.,
500                                              fr = "Ecart-type de la loi Normale non tronquée",
501                                              ang = "Standard deviation of the associated non truncated normal distribution",
502                                              ),
503
504                              A = SIMP ( statut = "o",
505                                         typ = "R",
506                                         max = 1,
507                                         fr = "Borne inferieure de la loi | A < B",
508                                         ang = "Lower bound | A < B",
509                                         ),
510
511                              B = SIMP ( statut = "o",
512                                         typ = "R",
513                                         max = 1,
514                                         fr = "Borne superieure de la loi | A < B",
515                                         ang = "Upper bound | A < B",
516                                         ),
517
518    ), # Fin BLOC TRUNCATEDNORMAL
519
520
521   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
522              
523   FileName = SIMP ( statut = "o",
524                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
525                     fr = "Fichier CSV d'une serie temporelle",
526                     ang = "CSV file of a time series",
527                     ),
528               ),
529
530
531    UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
532
533                      A = SIMP ( statut = "o",
534                                 typ = "R",
535                                 max = 1,
536                                 fr = "Borne inferieure du support de la loi | A < B",
537                                 ang = "Support lower bound | A < B",
538                                 ),
539
540                      B = SIMP ( statut = "o",
541                                 typ = "R",
542                                 max = 1,
543                                 fr = "Borne superieure du support de la loi | A < B",
544                                 ang = "Support upper bound | A < B",
545                                 ),
546
547    ), # Fin BLOC UNIFORM
548
549
550    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
551
552                        # Il faut definir une collection de couples ( x,p ) 
553                        Values = SIMP ( statut = 'o',
554                                        typ = Tuple(2),
555                                        max = '**', 
556                                        fr = "Liste de couples : (valeur, prob.)",
557                                        ang = "List of pairs : (value, prob.)",
558                                        validators=VerifTypeTuple(('R','R')),
559                                        ),
560
561   ), # Fin BLOC USERDEFINED
562
563
564    WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
565
566                      Settings = SIMP ( statut = "o",
567                                           typ = "TXM",
568                                           max = 1,
569                                           into = ( "AlphaBeta", "MuSigma" ),
570                                           defaut = "AlphaBeta",
571                                           fr = "Parametrage de la loi weibull",
572                                           ang = "Weibull distribution parameter set",
573                                           ),
574
575                      AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
576
577                                          Alpha = SIMP ( statut = "o",
578                                                         typ = "R",
579                                                         max = 1,
580                                                         val_min = 0.,
581                                                         fr = "Parametre Alpha de la loi | Alpha > 0",
582                                                         ang = "Alpha parameter | Alpha > 0",
583                                                         ),
584
585                                          Beta = SIMP ( statut = "o",
586                                                        typ = "R",
587                                                        max = 1,
588                                                        val_min = 0.,
589                                                        fr = "Parametre Beta de la loi | Beta > 0",
590                                                        ang = "Beta parameter | Beta > 0",
591                                                        ),
592
593                                          ), # Fin BLOC AlphaBeta_Parameters
594
595
596                      MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
597
598                                          Mu = SIMP ( statut = "o",
599                                                      typ = "R",
600                                                      max = 1,
601                                                      fr = "Moyenne de la loi",
602                                                      ang = "Mean value",
603                                                      ),
604
605                                          Sigma = SIMP ( statut = "o",
606                                                         typ = "R",
607                                                         max = 1,
608                                                         val_min = 0.,
609                                                         fr = "Ecart type de la loi",
610                                                         ang = "Standard deviation",
611                                                         ),
612
613                                          ), # Fin BLOC MuSigma_Parameters
614
615                      Gamma = SIMP ( statut = "o",
616                                     typ = "R",
617                                     max = 1,
618                                     fr = "Borne inferieure du support de la loi",
619                                     ang = "Support lower bound",
620                                     ),
621
622     ), # Fin BLOC WEIBULL
623
624
625     Transfer_Function = FACT(statut='f',
626                 
627         TF_Input = SIMP ( statut='o',
628                        typ = 'TXM',
629                        fr = 'Entrer une fonction de transfert Ã  partir d''un fichier .pow (vitesse de vent - puissance eolienne)\n \
630                              ou entrer une liste de tuples (valeur tiree - puissance normalisee)',
631                        ang = 'Enter wind speed - turbine production transfer function as a .pow file, \n \
632                               or enter a generic list of (law output value, normalized power output) tuples',
633                        into = ('.pow file', 'tuples list'),
634                              ),
635         b_file = BLOC(condition = "TF_Input == '.pow file'",
636                       File_Name = SIMP ( statut = "o",
637                                         typ = ('Fichier', 'Pow files (*.pow);;All Files (*)',),
638                                         fr = "Nom du fichier de transfer .pow",
639                                         ang = ".pow file name",
640                                         ),
641                       Wind_Speed_Measurement_Height = SIMP ( statut = 'o',
642                                         typ = "R",
643                                         max = 1,
644                                         fr = 'Hauteur (en metres) a laquelle les mesures de vitesse du vent ont ete prises',
645                                         ang = 'Height of wind speed measurements (m)',
646                                         sug = 10,
647                                         val_min = 0, 
648                                         ),
649                       Hub_Height = SIMP (statut = 'o',
650                                          typ = "R",
651                                          fr = 'hauteur de moyeu de l''eolienne',
652                                          ang = 'wind turbine hub height',
653                                          sug = 80,
654                                          val_min = 0,),
655                       Alpha = SIMP (statut = 'o',
656                                          typ = "R",
657                                          fr = 'l''alpha pour extrapoler les mesures de vitesse du vent a la hauteur du moyeu ',
658                                          ang = 'alpha used to extrapolate wind speed measurements to hub height',
659                                          defaut = 1./7,
660                                          val_min = 0,
661                                          val_max = 1,
662                                             ),
663                       Percent_Losses = SIMP (statut = 'o',
664                                          typ = "R",
665                                          fr = 'pourcentage de pertes entre la sortie theorique d''une turbine et la sortie de la centrale',
666                                          ang = 'percent losses between theoretical power output of a single turbine and the output of the farm',
667                                          defaut = 5,
668                                          val_min = 0,
669                                          val_max = 100,
670                                              ),                      
671                       ), #fin du bloc FileName
672
673         b_tuples = BLOC(condition = "TF_Input == 'tuples list'",
674
675                        TF_Values = SIMP ( statut = 'o',
676                                        typ = Tuple(2),
677                                        max = '**',
678                                        min = 2,
679                                        fr = "Liste de couples : valeur tiree, puissance normalisee sortie",
680                                        ang = "List of couples : value set by law, normalized power output",
681                                        validators=VerifTypeTuple(('R','R')),
682                                        ),
683                       ), #fin du block Tuples List
684                             
685         ), #fin du FACT Transfer Function
686
687   ), #fin du bloc generator level
688
689
690   b_gener_avail = BLOC (condition= "Type == 'Generator Availability'",
691
692   Law = SIMP ( statut = "o", typ = "TXM",
693                 into = ( #"Exponential",
694                          #"Histogram",
695                          #"Normal",
696                          #"Rayleigh",
697                          #"PDF_from_file",
698                          #"TruncatedNormal",
699                          "TimeSeries_from_file",
700                          #"Uniform",
701                          "UserDefined",
702                          #"Weibull",
703                          ),
704                 fr = "Choix du type de la loi marginale",
705                 ang = "1D marginal distribution",
706                 defaut="UserDefined",
707                 ),
708
709                       
710 #====
711 # Definition des parametres selon le type de la loi
712 #====
713
714
715   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
716              
717   FileName = SIMP ( statut = "o",
718                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
719                     fr = "Fichier CSV d'une serie temporelle",
720                     ang = "CSV file of a time series",
721                     ),
722               ),
723
724
725    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
726
727                        # Il faut definir une collection de couples ( x,p ) 
728                        Values = SIMP ( statut = 'o',
729                                        typ = Tuple(2),
730                                        max = '**', 
731                                        fr = "Liste de couples : (valeur, prob.)",
732                                        ang = "List of pairs : (value, prob.)",
733                                        validators=VerifTypeTuple(('R','R')),
734                                        defaut=((0,0.0),(1,1.0)),
735                                        ),
736
737   ), # Fin BLOC USERDEFINED
738                         
739
740   ), #fin du bloc generator avail
741   
742
743   ), #fin du bloc generateur
744                       
745   b_charge = BLOC (condition = "ComponentType == 'Load'",
746         
747
748 #====
749 # Type de distribution
750 #====
751   
752   Type = SIMP (statut= "o", typ = "TXM",
753                into = ("Load Level", "Load Availability"),
754                fr = "Choisir si c'est le niveau de charge ou la disponibilité de la charge qui sera tiree",
755                ang= "Choose whether the power level or the availability of the load will be set by the law",
756                defaut = "Load Level",
757                ),
758
759   Load       = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon",),
760
761
762   b_charge_level = BLOC (condition = "Type == 'Load Level'",
763                          
764   Law = SIMP ( statut = "o", typ = "TXM",
765                 into = ( "Exponential",
766                          "Histogram",
767                          "Normal",
768                          #"Rayleigh",
769                          "PDF_from_file",
770                          "TruncatedNormal",
771                          "TimeSeries_from_file",
772                          "Uniform",
773                          "UserDefined",
774                          "Weibull",
775                          ),
776                 fr = "Choix du type de la loi marginale",
777                 ang = "1D marginal distribution",
778                 ),
779
780                       
781 #====
782 # Definition des parametres selon le type de la loi
783 #====
784
785
786   EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
787
788                          Lambda = SIMP ( statut = "o",
789                                          typ = "R",
790                                          max = 1,
791                                          val_min = 0.,
792                                          fr = "Parametre Lambda | Lambda > 0",
793                                          ang = "Lambda parameter | Lambda > 0",
794                                          ),
795
796                          Gamma = SIMP ( statut = "o",
797                                         typ = "R",
798                                         max = 1,
799                                         fr = "Borne inferieure du support de la loi",
800                                         ang = "Support lower bound",
801                                         ),
802
803   ), # Fin BLOC EXPONENTIAL
804
805
806   HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
807
808                        First = SIMP ( statut = "o",
809                                     typ = "R",
810                                     max = 1,
811                                     fr = "Borne inferieure du supoport de la loi",
812                                     ang = "Support lower bound",
813                                     ),
814
815                        # Il faut definir une collection de couples ( x,p ) 
816                        Values = SIMP ( statut = 'o',
817                                        typ = Tuple(2),
818                                        max = '**', 
819                                        fr = "Liste de couples : largeur de classe, hauteur de classe",
820                                        ang = "Class bandwidth, class height couple list",
821                                        validators=VerifTypeTuple(('R','R')),
822                                        ),
823
824   ), # Fin BLOC HISTOGRAM
825
826
827    NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
828
829                     Mu = SIMP ( statut = "o",
830                                 typ = "R",
831                                 max = 1,
832                                 fr = "Moyenne de la loi",
833                                 ang = "Mean value",
834                                 ),
835
836                    Sigma = SIMP ( statut = "o",
837                                   typ = "R",
838                                   max = 1,
839                                   val_min = 0.,
840                                   fr = "Ecart type de la loi",
841                                   ang = "Standard deviation",
842                                   ),
843
844    ), # Fin BLOC NORMAL
845
846
847   RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
848
849                    Sigma = SIMP ( statut = "o",
850                                   typ = "R",
851                                   max = 1,
852                                   fr = "Parametre Sigma de la loi | Sigma > 0",
853                                   ang = "Sigma parameter | Sigma > 0",
854                                   ),
855
856                    Gamma = SIMP ( statut = "o",
857                                   typ = "R",
858                                   max = 1,
859                                   fr = "Borne inferieure du support de la loi",
860                                   ang = "Support lower bound",
861                                   ),
862  ), # Fin BLOC RAYLEIGH
863
864   PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
865              
866   FileName = SIMP ( statut = "o",
867                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
868                     fr = "Nom du fichier .csv",
869                     ang = ".csv file name",
870                     ),
871               ),
872               
873
874
875    TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
876
877                              MuN = SIMP ( statut = "o",
878                                           typ = "R",
879                                           max = 1,
880                                           fr = "Moyenne de la loi Normale non tronquée",
881                                           ang = "Mean value of the associated non truncated normal distribution",
882                                           ),
883
884                              SigmaN = SIMP ( statut = "o",
885                                              typ = "R",
886                                              max = 1,
887                                              val_min = 0.,
888                                              fr = "Ecart-type de la loi Normale non tronquée",
889                                              ang = "Standard deviation of the associated non truncated normal distribution",
890                                              ),
891
892                              A = SIMP ( statut = "o",
893                                         typ = "R",
894                                         max = 1,
895                                         fr = "Borne inferieure de la loi | A < B",
896                                         ang = "Lower bound | A < B",
897                                         ),
898
899                              B = SIMP ( statut = "o",
900                                         typ = "R",
901                                         max = 1,
902                                         fr = "Borne superieure de la loi | A < B",
903                                         ang = "Upper bound | A < B",
904                                         ),
905
906    ), # Fin BLOC TRUNCATEDNORMAL
907
908
909   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
910              
911   FileName = SIMP ( statut = "o",
912                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
913                     fr = "Fichier CSV d'une serie temporelle",
914                     ang = "CSV file of a time series",
915                     ),
916               ),
917
918
919    UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
920
921                      A = SIMP ( statut = "o",
922                                 typ = "R",
923                                 max = 1,
924                                 fr = "Borne inferieure du support de la loi | A < B",
925                                 ang = "Support lower bound | A < B",
926                                 ),
927
928                      B = SIMP ( statut = "o",
929                                 typ = "R",
930                                 max = 1,
931                                 fr = "Borne superieure du support de la loi | A < B",
932                                 ang = "Support upper bound | A < B",
933                                 ),
934
935    ), # Fin BLOC UNIFORM
936
937
938    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
939
940                        # Il faut definir une collection de couples ( x,p ) 
941                        Values = SIMP ( statut = 'o',
942                                        typ = Tuple(2),
943                                        max = '**', 
944                                        fr = "Liste de couples : (valeur, probabilite)",
945                                        ang = "List of pairs : (value, probability)",
946                                        validators=VerifTypeTuple(('R','R')),
947                                        ),
948
949   ), # Fin BLOC USERDEFINED
950
951
952    WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
953
954                      Settings = SIMP ( statut = "o",
955                                           typ = "TXM",
956                                           max = 1,
957                                           into = ( "AlphaBeta", "MuSigma" ),
958                                           defaut = "AlphaBeta",
959                                           fr = "Parametrage de la loi weibull",
960                                           ang = "Weibull distribution parameter set",
961                                           ),
962
963                      AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
964
965                                          Alpha = SIMP ( statut = "o",
966                                                         typ = "R",
967                                                         max = 1,
968                                                         val_min = 0.,
969                                                         fr = "Parametre Alpha de la loi | Alpha > 0",
970                                                         ang = "Alpha parameter | Alpha > 0",
971                                                         ),
972
973                                          Beta = SIMP ( statut = "o",
974                                                        typ = "R",
975                                                        max = 1,
976                                                        val_min = 0.,
977                                                        fr = "Parametre Beta de la loi | Beta > 0",
978                                                        ang = "Beta parameter | Beta > 0",
979                                                        ),
980
981                                          ), # Fin BLOC AlphaBeta_Parameters
982
983
984                      MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
985
986                                          Mu = SIMP ( statut = "o",
987                                                      typ = "R",
988                                                      max = 1,
989                                                      fr = "Moyenne de la loi",
990                                                      ang = "Mean value",
991                                                      ),
992
993                                          Sigma = SIMP ( statut = "o",
994                                                         typ = "R",
995                                                         max = 1,
996                                                         val_min = 0.,
997                                                         fr = "Ecart type de la loi",
998                                                         ang = "Standard deviation",
999                                                         ),
1000
1001                                          ), # Fin BLOC MuSigma_Parameters
1002
1003                      Gamma = SIMP ( statut = "o",
1004                                     typ = "R",
1005                                     max = 1,
1006                                     fr = "Borne inferieure du support de la loi",
1007                                     ang = "Support lower bound",
1008                                     ),
1009
1010     ), # Fin BLOC WEIBULL
1011
1012   ), #fin du block Load Level
1013
1014
1015   b_charge_avail = BLOC (condition = "Type == 'Load Availability'",
1016                          
1017   Law = SIMP ( statut = "o", typ = "TXM",
1018                 into = ( #"Exponential",
1019                          #"Histogram",
1020                          #"Normal",
1021                          #"Rayleigh",
1022                          #"PDF_from_file",
1023                          #"TruncatedNormal",
1024                          "TimeSeries_from_file",
1025                          #"Uniform",
1026                          "UserDefined",
1027                          #"Weibull",
1028                          ),
1029                 fr = "Choix du type de la loi marginale",
1030                 ang = "1D marginal distribution",
1031                 defaut = "UserDefined",
1032                 ),
1033
1034                       
1035 #====
1036 # Definition des parametres selon le type de la loi
1037 #====
1038
1039   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
1040              
1041   FileName = SIMP ( statut = "o",
1042                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1043                     fr = "Fichier CSV d'une serie temporelle",
1044                     ang = "CSV file of a time series",
1045                     ),
1046               ),
1047
1048
1049
1050    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
1051
1052                        # Il faut definir une collection de couples ( x,p ) 
1053                        Values = SIMP ( statut = 'o',
1054                                        typ = Tuple(2),
1055                                        max = '**', 
1056                                        fr = "Liste de couples : (valeur, probabilite)",
1057                                        ang = "List of pairs : (value, probability)",
1058                                        validators=VerifTypeTuple(('R','R')),
1059                                        defaut=((0,0.0),(1,1.0)),
1060                                        ),
1061
1062   ), # Fin BLOC USERDEFINED
1063
1064
1065   ), #fin du block Load Avail
1066         
1067
1068   ), #fin du bloc charge
1069  
1070
1071   b_ligne = BLOC (condition = "ComponentType == 'Line'",
1072         
1073
1074 #====
1075 # Type de distribution
1076 #====
1077   
1078   Type = SIMP (statut= "o", typ = "TXM",
1079                into = ("Line Availability",),
1080                fr = "La disponibilite de la ligne sera tiree",
1081                ang= "Line availability will be set by the law",
1082                defaut = "Line Availability",
1083                ),
1084
1085   Line   = SIMP(statut='o',typ=sd_ligne,max="**", homo="SansOrdreNiDoublon"),
1086
1087   Law = SIMP ( statut = "o", typ = "TXM",
1088                 into = ( #"Exponential",
1089                          #"Histogram",
1090                          #"Normal",
1091                          #"Rayleigh",
1092                          #"PDF_from_file",
1093                          #"TruncatedNormal",
1094                          "TimeSeries_from_file",
1095                          #"Uniform",
1096                          "UserDefined",
1097                          #"Weibull",
1098                          ),
1099                 defaut = "UserDefined",
1100                 fr = "Choix du type de la loi marginale",
1101                 ang = "1D marginal distribution",
1102                 ),
1103
1104                       
1105 #====
1106 # Definition des parametres selon le type de la loi
1107 #====
1108
1109
1110   EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
1111
1112                          Lambda = SIMP ( statut = "o",
1113                                          typ = "R",
1114                                          max = 1,
1115                                          val_min = 0.,
1116                                          fr = "Parametre Lambda | Lambda > 0",
1117                                          ang = "Lambda parameter | Lambda > 0",
1118                                          ),
1119
1120                          Gamma = SIMP ( statut = "o",
1121                                         typ = "R",
1122                                         max = 1,
1123                                         fr = "Borne inferieure du support de la loi",
1124                                         ang = "Support lower bound",
1125                                         ),
1126
1127   ), # Fin BLOC EXPONENTIAL
1128
1129
1130   HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
1131
1132                        First = SIMP ( statut = "o",
1133                                     typ = "R",
1134                                     max = 1,
1135                                     fr = "Borne inferieure du supoport de la loi",
1136                                     ang = "Support lower bound",
1137                                     ),
1138
1139                        # Il faut definir une collection de couples ( x,p ) 
1140                        Values = SIMP ( statut = 'o',
1141                                        typ = Tuple(2),
1142                                        max = '**', 
1143                                        fr = "Liste de couples : largeur de classe, hauteur de classe",
1144                                        ang = "Class bandwidth, class height couple list",
1145                                        validators=VerifTypeTuple(('R','R')),
1146                                        ),
1147
1148   ), # Fin BLOC HISTOGRAM
1149
1150
1151    NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
1152
1153                     Mu = SIMP ( statut = "o",
1154                                 typ = "R",
1155                                 max = 1,
1156                                 fr = "Moyenne de la loi",
1157                                 ang = "Mean value",
1158                                 ),
1159
1160                    Sigma = SIMP ( statut = "o",
1161                                   typ = "R",
1162                                   max = 1,
1163                                   val_min = 0.,
1164                                   fr = "Ecart type de la loi",
1165                                   ang = "Standard deviation",
1166                                   ),
1167
1168    ), # Fin BLOC NORMAL
1169
1170
1171   RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
1172
1173                    Sigma = SIMP ( statut = "o",
1174                                   typ = "R",
1175                                   max = 1,
1176                                   fr = "Parametre Sigma de la loi | Sigma > 0",
1177                                   ang = "Sigma parameter | Sigma > 0",
1178                                   ),
1179
1180                    Gamma = SIMP ( statut = "o",
1181                                   typ = "R",
1182                                   max = 1,
1183                                   fr = "Borne inferieure du support de la loi",
1184                                   ang = "Support lower bound",
1185                                   ),
1186  ), # Fin BLOC RAYLEIGH
1187
1188   PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
1189              
1190   FileName = SIMP ( statut = "o",
1191                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1192                     fr = "Nom du fichier .csv",
1193                     ang = ".csv file name",
1194                     ),
1195               ),
1196               
1197
1198
1199    TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
1200
1201                              MuN = SIMP ( statut = "o",
1202                                           typ = "R",
1203                                           max = 1,
1204                                           fr = "Moyenne de la loi Normale non tronquée",
1205                                           ang = "Mean value of the associated non truncated normal distribution",
1206                                           ),
1207
1208                              SigmaN = SIMP ( statut = "o",
1209                                              typ = "R",
1210                                              max = 1,
1211                                              val_min = 0.,
1212                                              fr = "Ecart-type de la loi Normale non tronquée",
1213                                              ang = "Standard deviation of the associated non truncated normal distribution",
1214                                              ),
1215
1216                              A = SIMP ( statut = "o",
1217                                         typ = "R",
1218                                         max = 1,
1219                                         fr = "Borne inferieure de la loi | A < B",
1220                                         ang = "Lower bound | A < B",
1221                                         ),
1222
1223                              B = SIMP ( statut = "o",
1224                                         typ = "R",
1225                                         max = 1,
1226                                         fr = "Borne superieure de la loi | A < B",
1227                                         ang = "Upper bound | A < B",
1228                                         ),
1229
1230    ), # Fin BLOC TRUNCATEDNORMAL
1231
1232
1233   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
1234              
1235   FileName = SIMP ( statut = "o",
1236                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1237                     fr = "Fichier CSV d'une serie temporelle",
1238                     ang = "CSV file of a time series",
1239                     ),
1240               ),
1241
1242
1243    UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
1244
1245                      A = SIMP ( statut = "o",
1246                                 typ = "R",
1247                                 max = 1,
1248                                 fr = "Borne inferieure du support de la loi | A < B",
1249                                 ang = "Support lower bound | A < B",
1250                                 ),
1251
1252                      B = SIMP ( statut = "o",
1253                                 typ = "R",
1254                                 max = 1,
1255                                 fr = "Borne superieure du support de la loi | A < B",
1256                                 ang = "Support upper bound | A < B",
1257                                 ),
1258
1259    ), # Fin BLOC UNIFORM
1260
1261
1262    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
1263
1264                        # Il faut definir une collection de couples ( x,p ) 
1265                        Values = SIMP ( statut = 'o',
1266                                        typ = Tuple(2),
1267                                        max = '**', 
1268                                        fr = "Liste de couples : (valeur, probabilite)",
1269                                        ang = "List of pairs : (value, probability)",
1270                                        validators=VerifTypeTuple(('R','R')),
1271                                        defaut=((0,0.0),(1,1.0)),
1272                                        ),
1273
1274   ), # Fin BLOC USERDEFINED
1275
1276
1277    WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
1278
1279                      Settings = SIMP ( statut = "o",
1280                                           typ = "TXM",
1281                                           max = 1,
1282                                           into = ( "AlphaBeta", "MuSigma" ),
1283                                           defaut = "AlphaBeta",
1284                                           fr = "Parametrage de la loi weibull",
1285                                           ang = "Weibull distribution parameter set",
1286                                           ),
1287
1288                      AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
1289
1290                                          Alpha = SIMP ( statut = "o",
1291                                                         typ = "R",
1292                                                         max = 1,
1293                                                         val_min = 0.,
1294                                                         fr = "Parametre Alpha de la loi | Alpha > 0",
1295                                                         ang = "Alpha parameter | Alpha > 0",
1296                                                         ),
1297
1298                                          Beta = SIMP ( statut = "o",
1299                                                        typ = "R",
1300                                                        max = 1,
1301                                                        val_min = 0.,
1302                                                        fr = "Parametre Beta de la loi | Beta > 0",
1303                                                        ang = "Beta parameter | Beta > 0",
1304                                                        ),
1305
1306                                          ), # Fin BLOC AlphaBeta_Parameters
1307
1308
1309                      MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1310
1311                                          Mu = SIMP ( statut = "o",
1312                                                      typ = "R",
1313                                                      max = 1,
1314                                                      fr = "Moyenne de la loi",
1315                                                      ang = "Mean value",
1316                                                      ),
1317
1318                                          Sigma = SIMP ( statut = "o",
1319                                                         typ = "R",
1320                                                         max = 1,
1321                                                         val_min = 0.,
1322                                                         fr = "Ecart type de la loi",
1323                                                         ang = "Standard deviation",
1324                                                         ),
1325
1326                                          ), # Fin BLOC MuSigma_Parameters
1327
1328                      Gamma = SIMP ( statut = "o",
1329                                     typ = "R",
1330                                     max = 1,
1331                                     fr = "Borne inferieure du support de la loi",
1332                                     ang = "Support lower bound",
1333                                     ),
1334
1335     ), # Fin BLOC WEIBULL
1336
1337   ), #fin du bloc ligne
1338                   
1339   b_transfo = BLOC (condition = "ComponentType == 'Transformer'",
1340         
1341
1342 #====
1343 # Type de distribution
1344 #====
1345   
1346   Type = SIMP (statut= "o", typ = "TXM",
1347                into = ("Transformer Availability",),
1348                fr = "La disponibilite du transformateur sera tiree",
1349                ang= "Transformer availability will be set by the law",
1350                defaut = "Transformer Availability"
1351                ),
1352
1353   Transformer = SIMP(statut='o',typ=sd_transfo,max="**", homo="SansOrdreNiDoublon"),
1354
1355   Law = SIMP ( statut = "o", typ = "TXM",
1356                 into = ( #"Beta", 
1357                          #"Exponential",
1358                          #"Gamma",
1359                          #"Geometric",
1360                          #"Gumbel",
1361                          #"Histogram",
1362                          #"Laplace",
1363                          #"Logistic",
1364                          #"LogNormal",
1365                          #"MultiNomial",
1366                          #"NonCentralStudent",
1367                          #"Normal",
1368                          #"Poisson",
1369                          #"Rayleigh",
1370                          #"Student",
1371                          #"PDF_from_file",
1372                          #"Triangular",
1373                          #"TruncatedNormal",
1374                          "TimeSeries_from_file",
1375                          #"Uniform",
1376                          "UserDefined",
1377                          #"Weibull",
1378                          ),
1379                 defaut="UserDefined",
1380                 fr = "Choix du type de la loi marginale",
1381                 ang = "1D marginal distribution",
1382                 ),
1383
1384                       
1385 #====
1386 # Definition des parametres selon le type de la loi
1387 #====
1388
1389 ##  NONPARAM = BLOC ( condition = " Law in ( 'NonParametrique', ) ",
1390 ##             
1391 ##  FileName = SIMP ( statut = "o",
1392 ##                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1393 ##                    fr = "Nom du modele physique",
1394 ##                    ang = "Physical model identifier",
1395 ##                    ),
1396 ##              ),
1397
1398 #  BETA = BLOC ( condition = " Law in ( 'Beta', ) ",
1399 #
1400 #                  Settings = SIMP ( statut = "o",
1401 #                                       typ = "TXM",
1402 #                                       max = 1,
1403 #                                       into = ( "RT", "MuSigma" ),
1404 #                                       defaut = "RT",
1405 #                                       fr = "Parametrage de la loi beta",
1406 #                                       ang = "Beta distribution parameter set",
1407 #                                       ),
1408 #
1409 #                  RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ",
1410 #
1411 #                                      R = SIMP ( statut = "o",
1412 #                                                 typ = "R",
1413 #                                                 max = 1,
1414 #                                                 val_min = 0.,
1415 #                                                 fr = "Parametre R de la loi | R > 0",
1416 #                                                 ang = "R parameter | R > 0",
1417 #                                                 ),
1418 #
1419 #                                      # T > R
1420 #                                      T = SIMP ( statut = "o",
1421 #                                                 typ = "R",
1422 #                                                 max = 1,
1423 #                                                 val_min = 0.,
1424 #                                                 fr = "Parametre T de la loi | T > R",
1425 #                                                 ang = "T parameter | T > R",
1426 #                                                 ),
1427 #
1428 #                                      ), # Fin BLOC RT_Parameters
1429 #
1430 #
1431 #                  MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1432 #
1433 #                                      Mu = SIMP ( statut = "o",
1434 #                                                  typ = "R",
1435 #                                                  max = 1,
1436 #                                                  fr = "Moyenne de la loi",
1437 #                                                  ang = "Mean value",
1438 #                                                  ),
1439 #
1440 #                                      Sigma = SIMP ( statut = "o",
1441 #                                                     typ = "R",
1442 #                                                     max = 1,
1443 #                                                     val_min = 0.,
1444 #                                                     fr = "Ecart type de la loi",
1445 #                                                     ang = "Standard deviation",
1446 #                                                     ),
1447 #
1448 #                                      ), # Fin BLOC MuSigma_Parameters
1449 #
1450 #
1451 #                  A = SIMP ( statut = "o",
1452 #                             typ = "R",
1453 #                             max = 1,
1454 #                             fr = "Borne inferieure du support de la loi",
1455 #                             ang = "Support lower bound",
1456 #                             ),
1457 #
1458 #                  # B > A
1459 #                  B = SIMP ( statut = "o",
1460 #                             typ = "R",
1461 #                             max = 1,
1462 #                             fr = "Borne superieure du support de la loi",
1463 #                             ang = "Support upper bound",
1464 #                             ),
1465 #
1466 #  ), # Fin BLOC BETA
1467
1468
1469
1470   EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
1471
1472                          Lambda = SIMP ( statut = "o",
1473                                          typ = "R",
1474                                          max = 1,
1475                                          val_min = 0.,
1476                                          fr = "Parametre Lambda | Lambda > 0",
1477                                          ang = "Lambda parameter | Lambda > 0",
1478                                          ),
1479
1480                          Gamma = SIMP ( statut = "o",
1481                                         typ = "R",
1482                                         max = 1,
1483                                         fr = "Borne inferieure du support de la loi",
1484                                         ang = "Support lower bound",
1485                                         ),
1486
1487   ), # Fin BLOC EXPONENTIAL
1488
1489
1490
1491 #  GAMMA = BLOC ( condition = " Law in ( 'Gamma', ) ",
1492 #
1493 #                   Settings = SIMP ( statut = "o",
1494 #                                        typ = "TXM",
1495 #                                        max = 1,
1496 #                                        into = ( "KLambda", "MuSigma" ),
1497 #                                        defaut = "KLambda",
1498 #                                        fr = "Parametrage de la loi gamma",
1499 #                                        ang = "Gamma distribution parameter set",
1500 #                                        ),
1501 #
1502 #                   KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ",
1503 #
1504 #                                       K = SIMP ( statut = "o",
1505 #                                                  typ = "R",
1506 #                                                  max = 1,
1507 #                                                  val_min = 0.,
1508 #                                                  fr = "Parametre K de la loi | K > 0",
1509 #                                                  ang = "K parameter | K > 0",
1510 #                                                  ),
1511 #
1512 #                                       Lambda = SIMP ( statut = "o",
1513 #                                                       typ = "R",
1514 #                                                       max = 1,
1515 #                                                       val_min = 0.,
1516 #                                                       fr = "Parametre Lambda de la loi | Lambda > 0",
1517 #                                                       ang = "Lambda parameter | Lambda > 0",
1518 #                                                       ),
1519 #
1520 #                                       ), # Fin BLOC KLambda_Parameters
1521 #
1522 #
1523 #                   MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1524 #
1525 #                                       Mu = SIMP ( statut = "o",
1526 #                                                   typ = "R",
1527 #                                                   max = 1,
1528 #                                                   fr = "Moyenne de la loi",
1529 #                                                   ang = "Mean value",
1530 #                                                   ),
1531 #
1532 #                                       Sigma = SIMP ( statut = "o",
1533 #                                                      typ = "R",
1534 #                                                      max = 1,
1535 #                                                      val_min = 0.,
1536 #                                                      fr = "Ecart type de la loi",
1537 #                                                      ang = "Standard deviation",
1538 #                                                      ),
1539 #
1540 #                                       ), # Fin BLOC MuSigma_Parameters
1541 #
1542 #                   Gamma = SIMP ( statut = "o",
1543 #                                  typ = "R",
1544 #                                  max = 1,
1545 #                                  fr = "Borne inferieure du supoport de la loi",
1546 #                                  ang = "Support lower bound",
1547 #                                  ),
1548 #
1549 #
1550 #  ), # Fin BLOC GAMMA
1551
1552
1553 #
1554 #  GEOMETRIC = BLOC ( condition = " Law in ( 'Geometric', ) ",
1555 #
1556 #                       P = SIMP ( statut = "o",
1557 #                                  typ = "R",
1558 #                                  max = 1,
1559 #                                  val_min = 0.,
1560 #                                  val_max = 1.,
1561 #                                  fr = "Parametre P | 0 < P < 1",
1562 #                                  ang = "P parameter | 0 < P < 1",
1563 #                                  ),
1564 #
1565 #  ), # Fin BLOC GEOMETRIC
1566 #
1567 #
1568 #
1569 #  GUMBEL = BLOC ( condition = " Law in ( 'Gumbel', ) ",
1570 #
1571 #                    Settings = SIMP ( statut = "o",
1572 #                                         typ = "TXM",
1573 #                                         max = 1,
1574 #                                         into = ( "AlphaBeta", "MuSigma" ),
1575 #                                         defaut = "AlphaBeta",
1576 #                                         fr = "Parametrage de la loi gumbel",
1577 #                                         ang = "Gumbel distribution parameter set",
1578 #                                         ),
1579 #
1580 #                    AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
1581 #
1582 #                                        Alpha = SIMP ( statut = "o",
1583 #                                                       typ = "R",
1584 #                                                       max = 1,
1585 #                                                       val_min = 0.,
1586 #                                                       fr = "Parametre Alpha de la loi | Alpha > 0",
1587 #                                                       ang = "Alpha parameter | Alpha > 0",
1588 #                                                       ),
1589 #
1590 #                                        Beta = SIMP ( statut = "o",
1591 #                                                      typ = "R",
1592 #                                                      max = 1,
1593 #                                                      fr = "Parametre Beta de la loi",
1594 #                                                      ang = "Beta parameter",
1595 #                                                      ),
1596 #
1597 #                                        ), # Fin BLOC AlphaBeta_Parameters
1598 #
1599 #
1600 #                    MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1601 #
1602 #                                        Mu = SIMP ( statut = "o",
1603 #                                                    typ = "R",
1604 #                                                    max = 1,
1605 #                                                    fr = "Moyenne de la loi",
1606 #                                                    ang = "Mean value",
1607 #                                                    ),
1608 #
1609 #                                        Sigma = SIMP ( statut = "o",
1610 #                                                       typ = "R",
1611 #                                                       max = 1,
1612 #                                                       val_min = 0.,
1613 #                                                       fr = "Ecart type de la loi",
1614 #                                                       ang = "Standard deviation",
1615 #                                                       ),
1616 #
1617 #                                        ), # Fin BLOC MuSigma_Parameters
1618 #
1619 #  ), # Fin BLOC GUMBEL
1620
1621
1622
1623   HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
1624
1625                        First = SIMP ( statut = "o",
1626                                     typ = "R",
1627                                     max = 1,
1628                                     fr = "Borne inferieure du supoport de la loi",
1629                                     ang = "Support lower bound",
1630                                     ),
1631
1632                        # Il faut definir une collection de couples ( x,p ) 
1633                        Values = SIMP ( statut = 'o',
1634                                        typ = Tuple(2),
1635                                        max = '**', 
1636                                        fr = "Liste de couples : largeur de classe, hauteur de classe",
1637                                        ang = "Class bandwidth, class height couple list",
1638                                        validators=VerifTypeTuple(('R','R')),
1639                                        ),
1640
1641   ), # Fin BLOC HISTOGRAM
1642
1643
1644
1645 #  LAPLACE = BLOC ( condition = " Law in ( 'Laplace', ) ",
1646 #
1647 #                   Lambda = SIMP ( statut = "o",
1648 #                                   typ = "R",
1649 #                                   max = 1,
1650 #                                   val_min = 0.,
1651 #                                   fr = "Parametre Lambda | Lambda > 0",
1652 #                                   ang = "Lambda parameter | Lambda > 0",
1653 #                                   ),
1654 #                   
1655 #                   Mu = SIMP ( statut = "o",
1656 #                               typ = "R",
1657 #                               max = 1,
1658 #                               fr = "Moyenne de la loi",
1659 #                               ang = "Mean value",
1660 #                              ),
1661 #
1662 #  ), # Fin BLOC LAPLACE
1663 #
1664 #  LOGNORMAL = BLOC ( condition = " Law in ( 'LogNormal', ) ",
1665 #
1666 #                     Settings = SIMP ( statut = "o",
1667 #                                       typ = "TXM",
1668 #                                       max = 1,
1669 #                                       into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ),
1670 #                                       defaut = "MuSigmaLog",
1671 #                                       fr = "Parametrage de la loi lognormale",
1672 #                                       ang = "Lognormal distribution parameter set",
1673 #                                       ),
1674 #
1675 #                     MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1676 #
1677 #                                                 Mu = SIMP ( statut = "o",
1678 #                                                             typ = "R",
1679 #                                                             max = 1,
1680 #                                                             fr = "Moyenne de la loi",
1681 #                                                             ang = "Mean value",
1682 #                                                             ),
1683 #
1684 #                                                 Sigma = SIMP ( statut = "o",
1685 #                                                                typ = "R",
1686 #                                                                max = 1,
1687 #                                                                val_min = 0.,
1688 #                                                                fr = "Ecart type de la loi",
1689 #                                                                ang = "Standard deviation",
1690 #                                                                ),
1691 #
1692 #                                                 ), # Fin BLOC MuSigma_Parameters
1693 #
1694 #                     MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ",
1695 #
1696 #                                                 Mu = SIMP ( statut = "o",
1697 #                                                             typ = "R",
1698 #                                                             max = 1,
1699 #                                                             fr = "Moyenne de la loi",
1700 #                                                             ang = "Mean value",
1701 #                                                             ),
1702 #
1703 #                                                 SigmaOverMu = SIMP ( statut = "o",
1704 #                                                                typ = "R",
1705 #                                                                max = 1,
1706 #                                                                val_min = 0.,
1707 #                                                                fr = "Rapport ecart type / moyenne de la loi",
1708 #                                                                ang = "Standard deviation / mean value ratio",
1709 #                                                                ),
1710 #
1711 #                                                 ), # Fin BLOC MuSigmaOverMu_Parameters
1712 #
1713 #                     MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ",
1714 #
1715 #                                                    MuLog = SIMP ( statut = "o",
1716 #                                                                   typ = "R",
1717 #                                                                   max = 1,
1718 #                                                                   fr = "Moyenne du log",
1719 #                                                                   ang = "Log mean value",
1720 #                                                                   ),
1721 #
1722 #                                                    SigmaLog = SIMP ( statut = "o",
1723 #                                                                      typ = "R",
1724 #                                                                      max = 1,
1725 #                                                                      val_min = 0.,
1726 #                                                                      fr = "Ecart type du log",
1727 #                                                                      ang = "Log standard deviation",
1728 #                                                                      ),
1729 #                                            
1730 #                                                    ), # Fin BLOC MuSigmaLog_Parameters
1731 #
1732 #                     Gamma = SIMP ( statut = "o",
1733 #                                    typ = "R",
1734 #                                    max = 1,
1735 #                                    fr = "Borne inferieure du support de la loi",
1736 #                                    ang = "Support lower bound",
1737 #                                    ),
1738 #
1739 #   ), # Fin BLOC LOGNORMAL
1740 #
1741 #
1742 #
1743 #   LOGISTIC = BLOC ( condition = " Law in ( 'Logistic', ) ",
1744 #
1745 #                       Alpha = SIMP ( statut = "o",
1746 #                                      typ = "R",
1747 #                                      max = 1,
1748 #                                      fr = "Borne inferieure du supoport de la loi",
1749 #                                      ang = "Support lower bound",
1750 #                                      ),
1751 #
1752 #                       Beta = SIMP ( statut = "o",
1753 #                                     typ = "R",
1754 #                                     max = 1,
1755 #                                     val_min = 0.,
1756 #                                     fr = "Parametre Beta de la loi | Beta > 0",
1757 #                                     ang = "Beta parameter | Beta > 0",
1758 #                                     ),
1759 #
1760 #   ), # Fin BLOC LOGISTIC
1761 #
1762 #
1763 #
1764 #   MULTINOMIAL = BLOC ( condition = " Law in ( 'MultiNomial', ) ",
1765 #                         
1766 #                         N = SIMP ( statut = "o",
1767 #                                    typ = "I",
1768 #                                    max = 1,
1769 #                                    fr = "Parametre N de la loi | N > 0",
1770 #                                    ang = "N parameter | N > 0",
1771 #                                    ),
1772 #
1773 #                       # Il faut definir une collection de couples ( x,p ) 
1774 #                       Values = SIMP ( statut = 'o',
1775 #                                       typ = "R",
1776 #                                       max = '**',
1777 #                                       fr = "Liste de probabilités",
1778 #                                       ang = "Probability list",
1779 #                                       validators=VerifTypeTuple(('R','R')),
1780 #                                       ),
1781 #
1782 #   ), # Fin BLOC MULTINOMIAL
1783 #
1784 #
1785 #  NONCENTRALSTUDENT = BLOC ( condition = " Law in ( 'NonCentralStudent', ) ",
1786 #
1787 #                   Nu = SIMP ( statut = "o",
1788 #                               typ = "R",
1789 #                               max = 1,
1790 #                               fr = "Parametre Nu de la loi | Nu > 0",
1791 #                               ang = "Nu parameter | Nu > 0",
1792 #                              ),
1793 #
1794 #                   Delta = SIMP ( statut = "o",
1795 #                                  typ = "R",
1796 #                                  max = 1,
1797 #                                  fr = "Parametre Delta de la loi | Delta > 0",
1798 #                                  ang = "Delta parameter | Delta > 0",
1799 #                                  ),
1800 #                   
1801 #                   Gamma = SIMP ( statut = "o",
1802 #                                  typ = "R",
1803 #                                  max = 1,
1804 #                                  fr = "Parametre Gamma de centrage de la loi",
1805 #                                  ang = "Gamma parameter",
1806 #                                  ),
1807 #
1808 #  ), # Fin BLOC NONCENTRALSTUDENT
1809
1810
1811    NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
1812
1813                     Mu = SIMP ( statut = "o",
1814                                 typ = "R",
1815                                 max = 1,
1816                                 fr = "Moyenne de la loi",
1817                                 ang = "Mean value",
1818                                 ),
1819
1820                    Sigma = SIMP ( statut = "o",
1821                                   typ = "R",
1822                                   max = 1,
1823                                   val_min = 0.,
1824                                   fr = "Ecart type de la loi",
1825                                   ang = "Standard deviation",
1826                                   ),
1827
1828    ), # Fin BLOC NORMAL
1829
1830
1831 #
1832 #   POISSON = BLOC ( condition = " Law in ( 'Poisson', ) ",
1833 #
1834 #                     Lambda = SIMP ( statut = "o",
1835 #                                     typ = "R",
1836 #                                     max = 1,
1837 #                                     val_min = 0.,
1838 #                                     fr = "Parametre Lambda de la loi | Lambda > 0",
1839 #                                     ang = "Lambda parameter | Lambda > 0",
1840 #                                     ),
1841 #
1842 #   ), # Fin BLOC POISSON
1843 #
1844 #
1845 #
1846 #  RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
1847 #
1848 #                   Sigma = SIMP ( statut = "o",
1849 #                                  typ = "R",
1850 #                                  max = 1,
1851 #                                  fr = "Parametre Sigma de la loi | Sigma > 0",
1852 #                                  ang = "Sigma parameter | Sigma > 0",
1853 #                                  ),
1854 #
1855 #                   Gamma = SIMP ( statut = "o",
1856 #                                  typ = "R",
1857 #                                  max = 1,
1858 #                                  fr = "Borne inferieure du support de la loi",
1859 #                                  ang = "Support lower bound",
1860 #                                  ),
1861 # ), # Fin BLOC RAYLEIGH
1862
1863   PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
1864              
1865   FileName = SIMP ( statut = "o",
1866                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1867                     fr = "Nom du fichier .csv",
1868                     ang = ".csv file name",
1869                     ),
1870               ),
1871               
1872 #   STUDENT = BLOC ( condition = " Law in ( 'Student', ) ",
1873 #
1874 #                     Mu = SIMP ( statut = "o",
1875 #                                 typ = "R",
1876 #                                 max = 1,
1877 #                                 fr = "Parametre Mu de la loi",
1878 #                                 ang = "Mu parameter",
1879 #                                 ),
1880 #
1881 #                     Nu = SIMP ( statut = "o",
1882 #                                 typ = "R",
1883 #                                 max = 1,
1884 #                                 val_min = 2.,
1885 #                                 fr = "Parametre Nu de la loi | Nu > 2",
1886 #                                 ang = "Nu parameter | Nu > 2",
1887 #                                 ),
1888 #
1889 #                   Sigma = SIMP ( statut = "o",
1890 #                                  typ = "R",
1891 #                                  max = 1,
1892 #                                  fr = "Parametre Sigma de la loi",
1893 #                                  ang = "Sigma parameter",
1894 #                                  ),
1895 #
1896 #   ), # Fin BLOC STUDENT
1897 #
1898 #
1899 #
1900 #   TRIANGULAR = BLOC ( condition = " Law in ( 'Triangular', ) ",
1901 #
1902 #                         A = SIMP ( statut = "o",
1903 #                                    typ = "R",
1904 #                                    max = 1,
1905 #                                    fr = "Borne inferieure du support de la loi | A < M < B",
1906 #                                    ang = "Support lower bound | A < M < B",
1907 #                                    ),
1908 #
1909 #                         M = SIMP ( statut = "o",
1910 #                                    typ = "R",
1911 #                                    max = 1,
1912 #                                    fr = "Mode de la loi | A < M < B",
1913 #                                    ang = "Mode | A < M < B",
1914 #                                    ),
1915 #
1916 #                         B = SIMP ( statut = "o",
1917 #                                    typ = "R",
1918 #                                    max = 1,
1919 #                                    fr = "Borne superieure du support de la loi | A < M < B",
1920 #                                    ang = "Support upper bound | A < M < B",
1921 #                                    ),
1922 #
1923 #   ), # Fin BLOC TRIANGULAR
1924 #
1925 #
1926
1927    TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
1928
1929                              MuN = SIMP ( statut = "o",
1930                                           typ = "R",
1931                                           max = 1,
1932                                           fr = "Moyenne de la loi Normale non tronquée",
1933                                           ang = "Mean value of the associated non truncated normal distribution",
1934                                           ),
1935
1936                              SigmaN = SIMP ( statut = "o",
1937                                              typ = "R",
1938                                              max = 1,
1939                                              val_min = 0.,
1940                                              fr = "Ecart-type de la loi Normale non tronquée",
1941                                              ang = "Standard deviation of the associated non truncated normal distribution",
1942                                              ),
1943
1944                              A = SIMP ( statut = "o",
1945                                         typ = "R",
1946                                         max = 1,
1947                                         fr = "Borne inferieure de la loi | A < B",
1948                                         ang = "Lower bound | A < B",
1949                                         ),
1950
1951                              B = SIMP ( statut = "o",
1952                                         typ = "R",
1953                                         max = 1,
1954                                         fr = "Borne superieure de la loi | A < B",
1955                                         ang = "Upper bound | A < B",
1956                                         ),
1957
1958    ), # Fin BLOC TRUNCATEDNORMAL
1959
1960
1961   TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
1962              
1963   FileName = SIMP ( statut = "o",
1964                     typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1965                     fr = "Fichier CSV d'une serie temporelle",
1966                     ang = "CSV file of a time series",
1967                     ),
1968               ),
1969
1970
1971    UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
1972
1973                      A = SIMP ( statut = "o",
1974                                 typ = "R",
1975                                 max = 1,
1976                                 fr = "Borne inferieure du support de la loi | A < B",
1977                                 ang = "Support lower bound | A < B",
1978                                 ),
1979
1980                      B = SIMP ( statut = "o",
1981                                 typ = "R",
1982                                 max = 1,
1983                                 fr = "Borne superieure du support de la loi | A < B",
1984                                 ang = "Support upper bound | A < B",
1985                                 ),
1986
1987    ), # Fin BLOC UNIFORM
1988
1989
1990    USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
1991
1992                        # Il faut definir une collection de couples ( x,p ) 
1993                        Values = SIMP ( statut = 'o',
1994                                        typ = Tuple(2),
1995                                        max = '**', 
1996                                        fr = "Liste de couples : (valeur, probabilite)",
1997                                        ang = "List of pairs : (value, probability)",
1998                                        validators=VerifTypeTuple(('R','R')),
1999                                        defaut=((0,0.0),(1,1.0)),
2000                                        ),
2001
2002   ), # Fin BLOC USERDEFINED
2003
2004
2005    WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
2006
2007                      Settings = SIMP ( statut = "o",
2008                                           typ = "TXM",
2009                                           max = 1,
2010                                           into = ( "AlphaBeta", "MuSigma" ),
2011                                           defaut = "AlphaBeta",
2012                                           fr = "Parametrage de la loi weibull",
2013                                           ang = "Weibull distribution parameter set",
2014                                           ),
2015
2016                      AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
2017
2018                                          Alpha = SIMP ( statut = "o",
2019                                                         typ = "R",
2020                                                         max = 1,
2021                                                         val_min = 0.,
2022                                                         fr = "Parametre Alpha de la loi | Alpha > 0",
2023                                                         ang = "Alpha parameter | Alpha > 0",
2024                                                         ),
2025
2026                                          Beta = SIMP ( statut = "o",
2027                                                        typ = "R",
2028                                                        max = 1,
2029                                                        val_min = 0.,
2030                                                        fr = "Parametre Beta de la loi | Beta > 0",
2031                                                        ang = "Beta parameter | Beta > 0",
2032                                                        ),
2033
2034                                          ), # Fin BLOC AlphaBeta_Parameters
2035
2036
2037                      MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
2038
2039                                          Mu = SIMP ( statut = "o",
2040                                                      typ = "R",
2041                                                      max = 1,
2042                                                      fr = "Moyenne de la loi",
2043                                                      ang = "Mean value",
2044                                                      ),
2045
2046                                          Sigma = SIMP ( statut = "o",
2047                                                         typ = "R",
2048                                                         max = 1,
2049                                                         val_min = 0.,
2050                                                         fr = "Ecart type de la loi",
2051                                                         ang = "Standard deviation",
2052                                                         ),
2053
2054                                          ), # Fin BLOC MuSigma_Parameters
2055
2056                      Gamma = SIMP ( statut = "o",
2057                                     typ = "R",
2058                                     max = 1,
2059                                     fr = "Borne inferieure du support de la loi",
2060                                     ang = "Support lower bound",
2061                                     ),
2062
2063     ), # Fin BLOC WEIBULL
2064
2065
2066
2067   ), #fin du bloc transformer 
2068                     
2069
2070
2071
2072 Classement_Commandes_Ds_Arbre=('DIRECTORY', 'DISTRIBUTION', 'CORRELATION',)
2073
2074 Ordre_Des_Commandes = ( 'DIRECTORY', 'PSSE_PARAMETERS', 'SIMULATION', 'DISTRIBUTION', 'CORRELATION',
2075                         'N_1_GENERATORS', 'N_1_LINES', 'N_1_TRANSFORMERS', 'N_1_LOADS',)
2076
2077
2078
2079
2080
2081
2082
2083
2084