1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2013 EDF R&D
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.
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.
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
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 # --------------------------------------------------
23 # --------------------------------------------------
25 #from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR
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
39 def __init__(self,ntuple):
42 def __convert__(self,valeur):
43 if type(valeur) == types.StringType:
45 if len(valeur) != self.ntuple:
50 return "Tuple de %s elements" % self.ntuple
56 def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None):
59 self.methodeCalculTaille=methodeCalculTaille
60 self.formatSortie=formatSortie
63 self.structure=structure
65 def __convert__(self,valeur):
66 # Attention ne verifie pas grand chose
67 if type(valeur) != types.ListType :
72 return "Matrice %s x %s" % (self.nbLigs, self.nbCols)
79 JdC = JDC_CATA ( code = 'PSEN',
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' ),
98 # --------------------------------------------------
100 # --------------------------------------------------
102 MONGENER = OPER ( nom = "MONGENER",
103 sd_prod = sd_generateur,
104 UIinfo = {"groupes": ("CACHE")},
109 ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",),
111 MACHARGE = OPER ( nom = "MACHARGE",
113 UIinfo = {"groupes": ("CACHE")},
118 ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom charge", ang = "load name",),
120 MALIGNE = OPER ( nom = "MALIGNE",
122 UIinfo = {"groupes": ("CACHE")},
127 ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom ligne", ang = "line name",),
129 MONTRANSFO = OPER ( nom = "MONTRANSFO",
130 sd_prod = sd_transfo,
131 UIinfo = {"groupes": ("CACHE")},
133 fr = "Transformateur",
136 ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom transformateur", ang = "transformer name",),
141 PSSE_PARAMETERS = PROC ( nom = "PSSE_PARAMETERS",
144 FUEL_COST = SIMP ( statut = "o",
148 LOADSHEDDING_COST = SIMP ( statut = "o",
152 MVAR_COST = SIMP ( statut = "o",
156 I_MAX = SIMP ( statut = "o",
158 into=['RateA','RateB','RateC'],
161 LOCK_TAPS = SIMP ( statut = "o",
165 ## P_MIN= SIMP ( statut = "o",
171 SIMULATION = PROC ( nom = "SIMULATION",
174 regles =(EXCLUS('NUMBER_PACKAGE','CONVERGENCE'),),
176 SIZE_PACKAGE = SIMP ( statut = "o",
181 NUMBER_PACKAGE = SIMP ( statut = "f",
185 CONVERGENCE = SIMP ( statut = "f",
190 ## STUDY = SIMP ( statut = "o",
192 ## into = ( 'N-1', 'Load', 'Wind-1', 'Wind-2', 'PV' ),
194 ## fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS",
195 ## ang = "Open TURNS library debug level print",
200 #================================
201 # Definition du modele physique
202 #================================
206 CORRELATION = PROC ( nom = 'CORRELATION',
209 fr = "Correlation entre variables",
210 ang = "Variable correlation",
212 #### Copula = SIMP ( statut = "o",
214 #### into = ( "Independent", "Normal" ),
215 #### defaut = "Independent",
216 #### fr = "Type de la copule",
217 #### ang = "Copula kind",
220 ## # Matrix = BLOC ( condition = "Copula in ( 'Normal', )",
222 CorrelationMatrix = SIMP ( statut = "o",
223 typ = Matrice(nbLigs=None,
225 methodeCalculTaille='NbDeDistributions',
226 structure="symetrique"),
227 fr = "Matrice de correlation entre les variables d'entree",
228 ang = "Correlation matrix for input variables",
230 ## #), # Fin BLOC Matrix
235 DIRECTORY = MACRO ( nom = 'DIRECTORY',
237 fr = "Chargement des generateurs et des charges",
238 ang = "Physical model wrapper load",
239 sd_prod = opsPSEN.INCLUDE,
240 op_init = opsPSEN.INCLUDE_context,
244 PSSE_path=SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files\PTI\PSSE33\PSSBIN'),
245 sav_file=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.sav);;All Files (*)',),),
246 results_folder=SIMP(statut="o",typ='Repertoire'),
247 #lines_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
248 #groups_file=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
249 #generationsystem_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
255 #================================
256 # Importation des fichiers csv N-1
257 #================================
259 N_1_LINES = PROC( nom="N_1_LINES",
264 Activated = SIMP ( statut='o', typ=bool, defaut=True),
265 ## FileName = SIMP ( statut = "o",
266 ## typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
267 ## fr = "chemin du fichier csv des probabilites des defauts lignes",
268 ## ang = "csv file path with probabilities of line outages",
270 Probability = SIMP ( statut = 'o',
273 fr = "Probabilite d'indisponibilite de la ligne",
274 ang = "Probability that the line is not available",
275 validators=VerifTypeTuple((sd_ligne,'R')),),
278 N_1_TRANSFORMERS = PROC( nom="N_1_TRANSFORMERS",
281 fr = "N-1 transformateurs",
282 ang = "N-1 transformers",
283 Activated = SIMP ( statut='o', typ=bool, defaut=True),
284 ## FileName = SIMP ( statut = "o",
285 ## typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
286 ## fr = "chemin du fichier csv des probabilites des defauts transformateur",
287 ## ang = "csv file path with probabilities of transformer outages",
289 Probability = SIMP ( statut = 'o',
292 fr = "Probabilite d'indisponibilite de la ligne",
293 ang = "Probability that the line is not available",
294 validators=VerifTypeTuple((sd_transfo,'R')),),
296 N_1_GENERATORS = PROC( nom="N_1_GENERATORS",
299 fr = "N-1 generateurs",
300 ang = "N-1 generators",
301 Activated = SIMP ( statut='o', typ=bool, defaut=True),
302 ## FileName = SIMP ( statut = "o",
303 ## typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
304 ## fr = "chemin du fichier csv des probabilites des defauts generateurs",
305 ## ang = "csv file path with probabilities of generator outages",
307 Probability = SIMP ( statut = 'o',
310 fr = "Probabilite d'indisponibilite du generateur",
311 ang = "Probability that the generator is not available",
312 validators=VerifTypeTuple((sd_generateur,'R')),),
314 N_1_LOADS = PROC( nom="N_1_LOADS",
319 Activated = SIMP ( statut='o', typ=bool, defaut=True),
320 ## FileName = SIMP ( statut = "o",
321 ## typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
322 ## fr = "chemin du fichier csv des probabilites des defauts charges",
323 ## ang = "csv file path with probabilities of load outages",
325 Probability = SIMP ( statut = 'o',
328 fr = "Probabilite d'indisponibilite du generateur",
329 ang = "Probability that the generator is not available",
330 validators=VerifTypeTuple((sd_charge,'R')),),
336 #================================
337 # Definition des LOIS
338 #================================
340 # Nota : les variables de type OPER doivent etre en majuscules !
341 # Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type)
342 DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
345 fr = "Definitions des lois marginales utilisees par les variables d'entree",
348 # Choisir generateur ou charge
351 ## TypeMachine = SIMP ( statut='o', typ='TXM',
352 ## into = ('charge','vent1','vent2','pv','N-1',),
354 Activated = SIMP ( statut='o', typ=bool, defaut=True),
355 ComponentType = SIMP (statut='o', typ='TXM',
356 into = ('Generator','Load','Line','Transformer'),),
357 b_gener = BLOC (condition = "ComponentType == 'Generator'",
359 Type = SIMP (statut= "o", typ = "TXM",
360 into = ("Generator Power Level", "Generator Availability"),
361 fr = "Choisir si c'est le niveau de puissance ou la disponibilité du generateur qui sera tiree",
362 ang= "Choose whether the power level or the availability of the generator will be set by the law",
363 defaut = "Generator Power Level",
366 Generator = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),
369 # Type de distribution
373 Law = SIMP ( statut = "o", typ = "TXM",
374 into = ( "Exponential",
380 "TimeSeries_from_file",
385 fr = "Choix du type de la loi marginale",
386 ang = "1D marginal distribution",
391 # Definition des parametres selon le type de la loi
395 EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
397 Lambda = SIMP ( statut = "o",
401 fr = "Parametre Lambda | Lambda > 0",
402 ang = "Lambda parameter | Lambda > 0",
405 Gamma = SIMP ( statut = "o",
408 fr = "Borne inferieure du support de la loi",
409 ang = "Support lower bound",
412 ), # Fin BLOC EXPONENTIAL
415 HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
417 First = SIMP ( statut = "o",
420 fr = "Borne inferieure du supoport de la loi",
421 ang = "Support lower bound",
424 # Il faut definir une collection de couples ( x,p )
425 Values = SIMP ( statut = 'o',
428 fr = "Liste de couples : largeur de classe, hauteur de classe",
429 ang = "Class bandwidth, class height couple list",
430 validators=VerifTypeTuple(('R','R')),
433 ), # Fin BLOC HISTOGRAM
436 NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
438 Mu = SIMP ( statut = "o",
441 fr = "Moyenne de la loi",
445 Sigma = SIMP ( statut = "o",
449 fr = "Ecart type de la loi",
450 ang = "Standard deviation",
456 RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
458 Sigma = SIMP ( statut = "o",
461 fr = "Parametre Sigma de la loi | Sigma > 0",
462 ang = "Sigma parameter | Sigma > 0",
465 Gamma = SIMP ( statut = "o",
468 fr = "Borne inferieure du support de la loi",
469 ang = "Support lower bound",
471 ), # Fin BLOC RAYLEIGH
473 PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
475 FileName = SIMP ( statut = "o",
476 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
477 fr = "Nom du modele physique",
478 ang = "Physical model identifier",
484 TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
486 MuN = SIMP ( statut = "o",
489 fr = "Moyenne de la loi Normale non tronquée",
490 ang = "Mean value of the associated non truncated normal distribution",
493 SigmaN = SIMP ( statut = "o",
497 fr = "Ecart-type de la loi Normale non tronquée",
498 ang = "Standard deviation of the associated non truncated normal distribution",
501 A = SIMP ( statut = "o",
504 fr = "Borne inferieure de la loi | A < B",
505 ang = "Lower bound | A < B",
508 B = SIMP ( statut = "o",
511 fr = "Borne superieure de la loi | A < B",
512 ang = "Upper bound | A < B",
515 ), # Fin BLOC TRUNCATEDNORMAL
518 TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
520 FileName = SIMP ( statut = "o",
521 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
522 fr = "Fichier CSV d'une serie temporelle",
523 ang = "CSV file of a time series",
528 UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
530 A = SIMP ( statut = "o",
533 fr = "Borne inferieure du support de la loi | A < B",
534 ang = "Support lower bound | A < B",
537 B = SIMP ( statut = "o",
540 fr = "Borne superieure du support de la loi | A < B",
541 ang = "Support upper bound | A < B",
544 ), # Fin BLOC UNIFORM
547 USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
549 # Il faut definir une collection de couples ( x,p )
550 Values = SIMP ( statut = 'o',
553 fr = "Liste de couples : (valeur, probabilite)",
554 ang = "List of pairs : (value, probability)",
555 validators=VerifTypeTuple(('R','R')),
558 ), # Fin BLOC USERDEFINED
561 WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
563 Settings = SIMP ( statut = "o",
566 into = ( "AlphaBeta", "MuSigma" ),
567 defaut = "AlphaBeta",
568 fr = "Parametrage de la loi weibull",
569 ang = "Weibull distribution parameter set",
572 AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
574 Alpha = SIMP ( statut = "o",
578 fr = "Parametre Alpha de la loi | Alpha > 0",
579 ang = "Alpha parameter | Alpha > 0",
582 Beta = SIMP ( statut = "o",
586 fr = "Parametre Beta de la loi | Beta > 0",
587 ang = "Beta parameter | Beta > 0",
590 ), # Fin BLOC AlphaBeta_Parameters
593 MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
595 Mu = SIMP ( statut = "o",
598 fr = "Moyenne de la loi",
602 Sigma = SIMP ( statut = "o",
606 fr = "Ecart type de la loi",
607 ang = "Standard deviation",
610 ), # Fin BLOC MuSigma_Parameters
612 Gamma = SIMP ( statut = "o",
615 fr = "Borne inferieure du support de la loi",
616 ang = "Support lower bound",
619 ), # Fin BLOC WEIBULL
622 Transfer_Function = FACT(statut='f',
624 Input = SIMP ( statut='o',
626 fr = 'Entrer une fonction de transfert à partir d''un fichier .pow (vitesse de vent - puissance eolienne)\n \
627 ou entrer une liste de tuples (valeur tiree - puissance normalisee)',
628 ang = 'Enter wind speed - turbine production transfer function as a .pow file, \n \
629 or enter a generic list of (law output value, normalized power output) tuples',
630 into = ('.pow file', 'tuples list'),
632 b_file = BLOC(condition = "Input == '.pow file'",
633 File_Name = SIMP ( statut = "o",
634 typ = ('Fichier', 'Pow files (*.pow);;All Files (*)',),
635 fr = "Nom du fichier de transfer .pow",
636 ang = ".pow file name",
638 Wind_Speed_Measurement_Height = SIMP ( statut = 'o',
641 fr = 'Hauteur (en metres) a laquelle les mesures de vitesse du vent ont ete prises',
642 ang = 'Height of wind speed measurements (m)',
646 Hub_Height = SIMP (statut = 'o',
648 fr = 'hauteur de moyeu de l''eolienne',
649 ang = 'wind turbine hub height',
652 Alpha = SIMP (statut = 'o',
654 fr = 'l''alpha pour extrapoler les mesures de vitesse du vent a la hauteur du moyeu ',
655 ang = 'alpha used to extrapolate wind speed measurements to hub height',
660 Percent_Losses = SIMP (statut = 'o',
662 fr = 'pourcentage de pertes entre la sortie theorique d''une turbine et la sortie de la centrale',
663 ang = 'percent losses between theoretical power output of a single turbine and the output of the farm',
668 ), #fin du bloc FileName
670 b_tuples = BLOC(condition = "Input == 'tuples list'",
672 Values = SIMP ( statut = 'o',
676 fr = "Liste de couples : valeur tiree, puissance normalisee sortie",
677 ang = "List of couples : value set by law, normalized power output",
678 validators=VerifTypeTuple(('R','R')),
680 ), #fin du block Tuples List
682 ), #fin du FACT Transfer Function
684 ), #fin du bloc generateur
686 b_charge = BLOC (condition = "ComponentType == 'Load'",
690 # Type de distribution
693 Type = SIMP (statut= "o", typ = "TXM",
694 into = ("Load Level", "Load Availability"),
695 fr = "Choisir si c'est le niveau de charge ou la disponibilité de la charge qui sera tiree",
696 ang= "Choose whether the power level or the availability of the load will be set by the law",
697 defaut = "Load Level",
700 Load = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon",),
702 Law = SIMP ( statut = "o", typ = "TXM",
703 into = ( "Exponential",
709 "TimeSeries_from_file",
714 fr = "Choix du type de la loi marginale",
715 ang = "1D marginal distribution",
720 # Definition des parametres selon le type de la loi
724 EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
726 Lambda = SIMP ( statut = "o",
730 fr = "Parametre Lambda | Lambda > 0",
731 ang = "Lambda parameter | Lambda > 0",
734 Gamma = SIMP ( statut = "o",
737 fr = "Borne inferieure du support de la loi",
738 ang = "Support lower bound",
741 ), # Fin BLOC EXPONENTIAL
744 HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
746 First = SIMP ( statut = "o",
749 fr = "Borne inferieure du supoport de la loi",
750 ang = "Support lower bound",
753 # Il faut definir une collection de couples ( x,p )
754 Values = SIMP ( statut = 'o',
757 fr = "Liste de couples : largeur de classe, hauteur de classe",
758 ang = "Class bandwidth, class height couple list",
759 validators=VerifTypeTuple(('R','R')),
762 ), # Fin BLOC HISTOGRAM
765 NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
767 Mu = SIMP ( statut = "o",
770 fr = "Moyenne de la loi",
774 Sigma = SIMP ( statut = "o",
778 fr = "Ecart type de la loi",
779 ang = "Standard deviation",
785 RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
787 Sigma = SIMP ( statut = "o",
790 fr = "Parametre Sigma de la loi | Sigma > 0",
791 ang = "Sigma parameter | Sigma > 0",
794 Gamma = SIMP ( statut = "o",
797 fr = "Borne inferieure du support de la loi",
798 ang = "Support lower bound",
800 ), # Fin BLOC RAYLEIGH
802 PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
804 FileName = SIMP ( statut = "o",
805 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
806 fr = "Nom du modele physique",
807 ang = "Physical model identifier",
813 TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
815 MuN = SIMP ( statut = "o",
818 fr = "Moyenne de la loi Normale non tronquée",
819 ang = "Mean value of the associated non truncated normal distribution",
822 SigmaN = SIMP ( statut = "o",
826 fr = "Ecart-type de la loi Normale non tronquée",
827 ang = "Standard deviation of the associated non truncated normal distribution",
830 A = SIMP ( statut = "o",
833 fr = "Borne inferieure de la loi | A < B",
834 ang = "Lower bound | A < B",
837 B = SIMP ( statut = "o",
840 fr = "Borne superieure de la loi | A < B",
841 ang = "Upper bound | A < B",
844 ), # Fin BLOC TRUNCATEDNORMAL
847 TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
849 FileName = SIMP ( statut = "o",
850 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
851 fr = "Fichier CSV d'une serie temporelle",
852 ang = "CSV file of a time series",
857 UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
859 A = SIMP ( statut = "o",
862 fr = "Borne inferieure du support de la loi | A < B",
863 ang = "Support lower bound | A < B",
866 B = SIMP ( statut = "o",
869 fr = "Borne superieure du support de la loi | A < B",
870 ang = "Support upper bound | A < B",
873 ), # Fin BLOC UNIFORM
876 USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
878 # Il faut definir une collection de couples ( x,p )
879 Values = SIMP ( statut = 'o',
882 fr = "Liste de couples : (valeur, probabilite)",
883 ang = "List of pairs : (value, probability)",
884 validators=VerifTypeTuple(('R','R')),
887 ), # Fin BLOC USERDEFINED
890 WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
892 Settings = SIMP ( statut = "o",
895 into = ( "AlphaBeta", "MuSigma" ),
896 defaut = "AlphaBeta",
897 fr = "Parametrage de la loi weibull",
898 ang = "Weibull distribution parameter set",
901 AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
903 Alpha = SIMP ( statut = "o",
907 fr = "Parametre Alpha de la loi | Alpha > 0",
908 ang = "Alpha parameter | Alpha > 0",
911 Beta = SIMP ( statut = "o",
915 fr = "Parametre Beta de la loi | Beta > 0",
916 ang = "Beta parameter | Beta > 0",
919 ), # Fin BLOC AlphaBeta_Parameters
922 MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
924 Mu = SIMP ( statut = "o",
927 fr = "Moyenne de la loi",
931 Sigma = SIMP ( statut = "o",
935 fr = "Ecart type de la loi",
936 ang = "Standard deviation",
939 ), # Fin BLOC MuSigma_Parameters
941 Gamma = SIMP ( statut = "o",
944 fr = "Borne inferieure du support de la loi",
945 ang = "Support lower bound",
948 ), # Fin BLOC WEIBULL
951 ), #fin du bloc charge
954 b_ligne = BLOC (condition = "ComponentType == 'Line'",
958 # Type de distribution
961 Type = SIMP (statut= "o", typ = "TXM",
962 into = ("Line Availability",),
963 fr = "La disponibilite de la ligne sera tiree",
964 ang= "Line availability will be set by the law",
965 defaut = "Line Availability",
968 Line = SIMP(statut='o',typ=sd_ligne,max="**", homo="SansOrdreNiDoublon"),
970 Law = SIMP ( statut = "o", typ = "TXM",
971 into = ( #"Exponential",
977 #"TimeSeries_from_file",
982 defaut = "UserDefined",
983 fr = "Choix du type de la loi marginale",
984 ang = "1D marginal distribution",
989 # Definition des parametres selon le type de la loi
993 EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
995 Lambda = SIMP ( statut = "o",
999 fr = "Parametre Lambda | Lambda > 0",
1000 ang = "Lambda parameter | Lambda > 0",
1003 Gamma = SIMP ( statut = "o",
1006 fr = "Borne inferieure du support de la loi",
1007 ang = "Support lower bound",
1010 ), # Fin BLOC EXPONENTIAL
1013 HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
1015 First = SIMP ( statut = "o",
1018 fr = "Borne inferieure du supoport de la loi",
1019 ang = "Support lower bound",
1022 # Il faut definir une collection de couples ( x,p )
1023 Values = SIMP ( statut = 'o',
1026 fr = "Liste de couples : largeur de classe, hauteur de classe",
1027 ang = "Class bandwidth, class height couple list",
1028 validators=VerifTypeTuple(('R','R')),
1031 ), # Fin BLOC HISTOGRAM
1034 NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
1036 Mu = SIMP ( statut = "o",
1039 fr = "Moyenne de la loi",
1043 Sigma = SIMP ( statut = "o",
1047 fr = "Ecart type de la loi",
1048 ang = "Standard deviation",
1051 ), # Fin BLOC NORMAL
1054 RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
1056 Sigma = SIMP ( statut = "o",
1059 fr = "Parametre Sigma de la loi | Sigma > 0",
1060 ang = "Sigma parameter | Sigma > 0",
1063 Gamma = SIMP ( statut = "o",
1066 fr = "Borne inferieure du support de la loi",
1067 ang = "Support lower bound",
1069 ), # Fin BLOC RAYLEIGH
1071 PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
1073 FileName = SIMP ( statut = "o",
1074 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1075 fr = "Nom du modele physique",
1076 ang = "Physical model identifier",
1082 TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
1084 MuN = SIMP ( statut = "o",
1087 fr = "Moyenne de la loi Normale non tronquée",
1088 ang = "Mean value of the associated non truncated normal distribution",
1091 SigmaN = SIMP ( statut = "o",
1095 fr = "Ecart-type de la loi Normale non tronquée",
1096 ang = "Standard deviation of the associated non truncated normal distribution",
1099 A = SIMP ( statut = "o",
1102 fr = "Borne inferieure de la loi | A < B",
1103 ang = "Lower bound | A < B",
1106 B = SIMP ( statut = "o",
1109 fr = "Borne superieure de la loi | A < B",
1110 ang = "Upper bound | A < B",
1113 ), # Fin BLOC TRUNCATEDNORMAL
1116 TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
1118 FileName = SIMP ( statut = "o",
1119 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1120 fr = "Fichier CSV d'une serie temporelle",
1121 ang = "CSV file of a time series",
1126 UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
1128 A = SIMP ( statut = "o",
1131 fr = "Borne inferieure du support de la loi | A < B",
1132 ang = "Support lower bound | A < B",
1135 B = SIMP ( statut = "o",
1138 fr = "Borne superieure du support de la loi | A < B",
1139 ang = "Support upper bound | A < B",
1142 ), # Fin BLOC UNIFORM
1145 USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
1147 # Il faut definir une collection de couples ( x,p )
1148 Values = SIMP ( statut = 'o',
1151 fr = "Liste de couples : (valeur, probabilite)",
1152 ang = "List of pairs : (value, probability)",
1153 validators=VerifTypeTuple(('R','R')),
1154 defaut=((0,0.0),(1,1.0)),
1157 ), # Fin BLOC USERDEFINED
1160 WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
1162 Settings = SIMP ( statut = "o",
1165 into = ( "AlphaBeta", "MuSigma" ),
1166 defaut = "AlphaBeta",
1167 fr = "Parametrage de la loi weibull",
1168 ang = "Weibull distribution parameter set",
1171 AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
1173 Alpha = SIMP ( statut = "o",
1177 fr = "Parametre Alpha de la loi | Alpha > 0",
1178 ang = "Alpha parameter | Alpha > 0",
1181 Beta = SIMP ( statut = "o",
1185 fr = "Parametre Beta de la loi | Beta > 0",
1186 ang = "Beta parameter | Beta > 0",
1189 ), # Fin BLOC AlphaBeta_Parameters
1192 MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1194 Mu = SIMP ( statut = "o",
1197 fr = "Moyenne de la loi",
1201 Sigma = SIMP ( statut = "o",
1205 fr = "Ecart type de la loi",
1206 ang = "Standard deviation",
1209 ), # Fin BLOC MuSigma_Parameters
1211 Gamma = SIMP ( statut = "o",
1214 fr = "Borne inferieure du support de la loi",
1215 ang = "Support lower bound",
1218 ), # Fin BLOC WEIBULL
1220 ), #fin du bloc ligne
1222 b_transfo = BLOC (condition = "ComponentType == 'Transformer'",
1226 # Type de distribution
1229 Type = SIMP (statut= "o", typ = "TXM",
1230 into = ("Transformer Availability",),
1231 fr = "La disponibilite du transformateur sera tiree",
1232 ang= "Transformer availability will be set by the law",
1233 defaut = "Transformer Availability"
1236 Transformer = SIMP(statut='o',typ=sd_transfo,max="**", homo="SansOrdreNiDoublon"),
1238 Law = SIMP ( statut = "o", typ = "TXM",
1249 #"NonCentralStudent",
1257 #"TimeSeries_from_file",
1262 defaut="UserDefined",
1263 fr = "Choix du type de la loi marginale",
1264 ang = "1D marginal distribution",
1269 # Definition des parametres selon le type de la loi
1272 ## NONPARAM = BLOC ( condition = " Law in ( 'NonParametrique', ) ",
1274 ## FileName = SIMP ( statut = "o",
1275 ## typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1276 ## fr = "Nom du modele physique",
1277 ## ang = "Physical model identifier",
1281 # BETA = BLOC ( condition = " Law in ( 'Beta', ) ",
1283 # Settings = SIMP ( statut = "o",
1286 # into = ( "RT", "MuSigma" ),
1288 # fr = "Parametrage de la loi beta",
1289 # ang = "Beta distribution parameter set",
1292 # RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ",
1294 # R = SIMP ( statut = "o",
1298 # fr = "Parametre R de la loi | R > 0",
1299 # ang = "R parameter | R > 0",
1303 # T = SIMP ( statut = "o",
1307 # fr = "Parametre T de la loi | T > R",
1308 # ang = "T parameter | T > R",
1311 # ), # Fin BLOC RT_Parameters
1314 # MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1316 # Mu = SIMP ( statut = "o",
1319 # fr = "Moyenne de la loi",
1320 # ang = "Mean value",
1323 # Sigma = SIMP ( statut = "o",
1327 # fr = "Ecart type de la loi",
1328 # ang = "Standard deviation",
1331 # ), # Fin BLOC MuSigma_Parameters
1334 # A = SIMP ( statut = "o",
1337 # fr = "Borne inferieure du support de la loi",
1338 # ang = "Support lower bound",
1342 # B = SIMP ( statut = "o",
1345 # fr = "Borne superieure du support de la loi",
1346 # ang = "Support upper bound",
1349 # ), # Fin BLOC BETA
1353 EXPONENTIAL = BLOC ( condition = " Law in ( 'Exponential', ) ",
1355 Lambda = SIMP ( statut = "o",
1359 fr = "Parametre Lambda | Lambda > 0",
1360 ang = "Lambda parameter | Lambda > 0",
1363 Gamma = SIMP ( statut = "o",
1366 fr = "Borne inferieure du support de la loi",
1367 ang = "Support lower bound",
1370 ), # Fin BLOC EXPONENTIAL
1374 # GAMMA = BLOC ( condition = " Law in ( 'Gamma', ) ",
1376 # Settings = SIMP ( statut = "o",
1379 # into = ( "KLambda", "MuSigma" ),
1380 # defaut = "KLambda",
1381 # fr = "Parametrage de la loi gamma",
1382 # ang = "Gamma distribution parameter set",
1385 # KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ",
1387 # K = SIMP ( statut = "o",
1391 # fr = "Parametre K de la loi | K > 0",
1392 # ang = "K parameter | K > 0",
1395 # Lambda = SIMP ( statut = "o",
1399 # fr = "Parametre Lambda de la loi | Lambda > 0",
1400 # ang = "Lambda parameter | Lambda > 0",
1403 # ), # Fin BLOC KLambda_Parameters
1406 # MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1408 # Mu = SIMP ( statut = "o",
1411 # fr = "Moyenne de la loi",
1412 # ang = "Mean value",
1415 # Sigma = SIMP ( statut = "o",
1419 # fr = "Ecart type de la loi",
1420 # ang = "Standard deviation",
1423 # ), # Fin BLOC MuSigma_Parameters
1425 # Gamma = SIMP ( statut = "o",
1428 # fr = "Borne inferieure du supoport de la loi",
1429 # ang = "Support lower bound",
1433 # ), # Fin BLOC GAMMA
1437 # GEOMETRIC = BLOC ( condition = " Law in ( 'Geometric', ) ",
1439 # P = SIMP ( statut = "o",
1444 # fr = "Parametre P | 0 < P < 1",
1445 # ang = "P parameter | 0 < P < 1",
1448 # ), # Fin BLOC GEOMETRIC
1452 # GUMBEL = BLOC ( condition = " Law in ( 'Gumbel', ) ",
1454 # Settings = SIMP ( statut = "o",
1457 # into = ( "AlphaBeta", "MuSigma" ),
1458 # defaut = "AlphaBeta",
1459 # fr = "Parametrage de la loi gumbel",
1460 # ang = "Gumbel distribution parameter set",
1463 # AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
1465 # Alpha = SIMP ( statut = "o",
1469 # fr = "Parametre Alpha de la loi | Alpha > 0",
1470 # ang = "Alpha parameter | Alpha > 0",
1473 # Beta = SIMP ( statut = "o",
1476 # fr = "Parametre Beta de la loi",
1477 # ang = "Beta parameter",
1480 # ), # Fin BLOC AlphaBeta_Parameters
1483 # MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1485 # Mu = SIMP ( statut = "o",
1488 # fr = "Moyenne de la loi",
1489 # ang = "Mean value",
1492 # Sigma = SIMP ( statut = "o",
1496 # fr = "Ecart type de la loi",
1497 # ang = "Standard deviation",
1500 # ), # Fin BLOC MuSigma_Parameters
1502 # ), # Fin BLOC GUMBEL
1506 HISTOGRAM = BLOC ( condition = " Law in ( 'Histogram', ) ",
1508 First = SIMP ( statut = "o",
1511 fr = "Borne inferieure du supoport de la loi",
1512 ang = "Support lower bound",
1515 # Il faut definir une collection de couples ( x,p )
1516 Values = SIMP ( statut = 'o',
1519 fr = "Liste de couples : largeur de classe, hauteur de classe",
1520 ang = "Class bandwidth, class height couple list",
1521 validators=VerifTypeTuple(('R','R')),
1524 ), # Fin BLOC HISTOGRAM
1528 # LAPLACE = BLOC ( condition = " Law in ( 'Laplace', ) ",
1530 # Lambda = SIMP ( statut = "o",
1534 # fr = "Parametre Lambda | Lambda > 0",
1535 # ang = "Lambda parameter | Lambda > 0",
1538 # Mu = SIMP ( statut = "o",
1541 # fr = "Moyenne de la loi",
1542 # ang = "Mean value",
1545 # ), # Fin BLOC LAPLACE
1547 # LOGNORMAL = BLOC ( condition = " Law in ( 'LogNormal', ) ",
1549 # Settings = SIMP ( statut = "o",
1552 # into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ),
1553 # defaut = "MuSigmaLog",
1554 # fr = "Parametrage de la loi lognormale",
1555 # ang = "Lognormal distribution parameter set",
1558 # MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1560 # Mu = SIMP ( statut = "o",
1563 # fr = "Moyenne de la loi",
1564 # ang = "Mean value",
1567 # Sigma = SIMP ( statut = "o",
1571 # fr = "Ecart type de la loi",
1572 # ang = "Standard deviation",
1575 # ), # Fin BLOC MuSigma_Parameters
1577 # MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ",
1579 # Mu = SIMP ( statut = "o",
1582 # fr = "Moyenne de la loi",
1583 # ang = "Mean value",
1586 # SigmaOverMu = SIMP ( statut = "o",
1590 # fr = "Rapport ecart type / moyenne de la loi",
1591 # ang = "Standard deviation / mean value ratio",
1594 # ), # Fin BLOC MuSigmaOverMu_Parameters
1596 # MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ",
1598 # MuLog = SIMP ( statut = "o",
1601 # fr = "Moyenne du log",
1602 # ang = "Log mean value",
1605 # SigmaLog = SIMP ( statut = "o",
1609 # fr = "Ecart type du log",
1610 # ang = "Log standard deviation",
1613 # ), # Fin BLOC MuSigmaLog_Parameters
1615 # Gamma = SIMP ( statut = "o",
1618 # fr = "Borne inferieure du support de la loi",
1619 # ang = "Support lower bound",
1622 # ), # Fin BLOC LOGNORMAL
1626 # LOGISTIC = BLOC ( condition = " Law in ( 'Logistic', ) ",
1628 # Alpha = SIMP ( statut = "o",
1631 # fr = "Borne inferieure du supoport de la loi",
1632 # ang = "Support lower bound",
1635 # Beta = SIMP ( statut = "o",
1639 # fr = "Parametre Beta de la loi | Beta > 0",
1640 # ang = "Beta parameter | Beta > 0",
1643 # ), # Fin BLOC LOGISTIC
1647 # MULTINOMIAL = BLOC ( condition = " Law in ( 'MultiNomial', ) ",
1649 # N = SIMP ( statut = "o",
1652 # fr = "Parametre N de la loi | N > 0",
1653 # ang = "N parameter | N > 0",
1656 # # Il faut definir une collection de couples ( x,p )
1657 # Values = SIMP ( statut = 'o',
1660 # fr = "Liste de probabilités",
1661 # ang = "Probability list",
1662 # validators=VerifTypeTuple(('R','R')),
1665 # ), # Fin BLOC MULTINOMIAL
1668 # NONCENTRALSTUDENT = BLOC ( condition = " Law in ( 'NonCentralStudent', ) ",
1670 # Nu = SIMP ( statut = "o",
1673 # fr = "Parametre Nu de la loi | Nu > 0",
1674 # ang = "Nu parameter | Nu > 0",
1677 # Delta = SIMP ( statut = "o",
1680 # fr = "Parametre Delta de la loi | Delta > 0",
1681 # ang = "Delta parameter | Delta > 0",
1684 # Gamma = SIMP ( statut = "o",
1687 # fr = "Parametre Gamma de centrage de la loi",
1688 # ang = "Gamma parameter",
1691 # ), # Fin BLOC NONCENTRALSTUDENT
1694 NORMAL = BLOC ( condition = " Law in ( 'Normal', ) ",
1696 Mu = SIMP ( statut = "o",
1699 fr = "Moyenne de la loi",
1703 Sigma = SIMP ( statut = "o",
1707 fr = "Ecart type de la loi",
1708 ang = "Standard deviation",
1711 ), # Fin BLOC NORMAL
1715 # POISSON = BLOC ( condition = " Law in ( 'Poisson', ) ",
1717 # Lambda = SIMP ( statut = "o",
1721 # fr = "Parametre Lambda de la loi | Lambda > 0",
1722 # ang = "Lambda parameter | Lambda > 0",
1725 # ), # Fin BLOC POISSON
1729 # RAYLEIGH = BLOC ( condition = " Law in ( 'Rayleigh', ) ",
1731 # Sigma = SIMP ( statut = "o",
1734 # fr = "Parametre Sigma de la loi | Sigma > 0",
1735 # ang = "Sigma parameter | Sigma > 0",
1738 # Gamma = SIMP ( statut = "o",
1741 # fr = "Borne inferieure du support de la loi",
1742 # ang = "Support lower bound",
1744 # ), # Fin BLOC RAYLEIGH
1746 PDF = BLOC ( condition = " Law in ( 'PDF_from_file', ) ",
1748 FileName = SIMP ( statut = "o",
1749 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1750 fr = "Nom du modele physique",
1751 ang = "Physical model identifier",
1755 # STUDENT = BLOC ( condition = " Law in ( 'Student', ) ",
1757 # Mu = SIMP ( statut = "o",
1760 # fr = "Parametre Mu de la loi",
1761 # ang = "Mu parameter",
1764 # Nu = SIMP ( statut = "o",
1768 # fr = "Parametre Nu de la loi | Nu > 2",
1769 # ang = "Nu parameter | Nu > 2",
1772 # Sigma = SIMP ( statut = "o",
1775 # fr = "Parametre Sigma de la loi",
1776 # ang = "Sigma parameter",
1779 # ), # Fin BLOC STUDENT
1783 # TRIANGULAR = BLOC ( condition = " Law in ( 'Triangular', ) ",
1785 # A = SIMP ( statut = "o",
1788 # fr = "Borne inferieure du support de la loi | A < M < B",
1789 # ang = "Support lower bound | A < M < B",
1792 # M = SIMP ( statut = "o",
1795 # fr = "Mode de la loi | A < M < B",
1796 # ang = "Mode | A < M < B",
1799 # B = SIMP ( statut = "o",
1802 # fr = "Borne superieure du support de la loi | A < M < B",
1803 # ang = "Support upper bound | A < M < B",
1806 # ), # Fin BLOC TRIANGULAR
1810 TRUNCATEDNORMAL = BLOC ( condition = " Law in ( 'TruncatedNormal', ) ",
1812 MuN = SIMP ( statut = "o",
1815 fr = "Moyenne de la loi Normale non tronquée",
1816 ang = "Mean value of the associated non truncated normal distribution",
1819 SigmaN = SIMP ( statut = "o",
1823 fr = "Ecart-type de la loi Normale non tronquée",
1824 ang = "Standard deviation of the associated non truncated normal distribution",
1827 A = SIMP ( statut = "o",
1830 fr = "Borne inferieure de la loi | A < B",
1831 ang = "Lower bound | A < B",
1834 B = SIMP ( statut = "o",
1837 fr = "Borne superieure de la loi | A < B",
1838 ang = "Upper bound | A < B",
1841 ), # Fin BLOC TRUNCATEDNORMAL
1844 TimeSeries = BLOC ( condition = " Law in ( 'TimeSeries_from_file', ) ",
1846 FileName = SIMP ( statut = "o",
1847 typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
1848 fr = "Fichier CSV d'une serie temporelle",
1849 ang = "CSV file of a time series",
1854 UNIFORM = BLOC ( condition = " Law in ( 'Uniform', ) ",
1856 A = SIMP ( statut = "o",
1859 fr = "Borne inferieure du support de la loi | A < B",
1860 ang = "Support lower bound | A < B",
1863 B = SIMP ( statut = "o",
1866 fr = "Borne superieure du support de la loi | A < B",
1867 ang = "Support upper bound | A < B",
1870 ), # Fin BLOC UNIFORM
1873 USERDEFINED = BLOC ( condition = " Law in ( 'UserDefined', ) ",
1875 # Il faut definir une collection de couples ( x,p )
1876 Values = SIMP ( statut = 'o',
1879 fr = "Liste de couples : (valeur, probabilite)",
1880 ang = "List of pairs : (value, probability)",
1881 validators=VerifTypeTuple(('R','R')),
1882 defaut=((0,0.0),(1,1.0)),
1885 ), # Fin BLOC USERDEFINED
1888 WEIBULL = BLOC ( condition = " Law in ( 'Weibull', ) ",
1890 Settings = SIMP ( statut = "o",
1893 into = ( "AlphaBeta", "MuSigma" ),
1894 defaut = "AlphaBeta",
1895 fr = "Parametrage de la loi weibull",
1896 ang = "Weibull distribution parameter set",
1899 AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
1901 Alpha = SIMP ( statut = "o",
1905 fr = "Parametre Alpha de la loi | Alpha > 0",
1906 ang = "Alpha parameter | Alpha > 0",
1909 Beta = SIMP ( statut = "o",
1913 fr = "Parametre Beta de la loi | Beta > 0",
1914 ang = "Beta parameter | Beta > 0",
1917 ), # Fin BLOC AlphaBeta_Parameters
1920 MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
1922 Mu = SIMP ( statut = "o",
1925 fr = "Moyenne de la loi",
1929 Sigma = SIMP ( statut = "o",
1933 fr = "Ecart type de la loi",
1934 ang = "Standard deviation",
1937 ), # Fin BLOC MuSigma_Parameters
1939 Gamma = SIMP ( statut = "o",
1942 fr = "Borne inferieure du support de la loi",
1943 ang = "Support lower bound",
1946 ), # Fin BLOC WEIBULL
1950 ), #fin du bloc transformer
1955 Classement_Commandes_Ds_Arbre=('DIRECTORY', 'DISTRIBUTION', 'CORRELATION',)
1957 Ordre_Des_Commandes = ( 'DIRECTORY', 'PSSE_PARAMETERS', 'SIMULATION', 'DISTRIBUTION', 'CORRELATION',
1958 'N_1_GENERATORS', 'N_1_LINES', 'N_1_TRANSFORMERS', 'N_1_LOADS',)