--- /dev/null
+import os, sys
+repInitial = os.path.dirname(os.path.abspath(__file__))
+repEficas = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+if os.path.dirname(repInitial) not in sys.path :
+ sys.path.insert(0,repInitial)
+if os.path.dirname(repEficas) not in sys.path :
+ sys.path.insert(0,repEficas)
+import types
+
+from Accas import OPER, BLOC, FACT, SIMP, ASSD, JDC_CATA, VerifTypeTuple, Matrice, Tuple, AU_MOINS_UN, A_VALIDATOR, PROC
+from Noyau.N_VALIDATOR import Valid
+
+def creeLienVPVI(monMC):
+ if monMC.valeur == () or monMC.valeur == None : return
+ print (monMC)
+
+# a faire
+class infFrereMC(Valid):
+ def __init__(self,nomMCFrere):
+ self.nomMCFrere = nomMCFrere
+#
+listeLoiDistribution= ( #"Beta",
+ #"Exponential",
+ #"Gamma",
+ #"Geometric",
+ #"Gumbel",
+ #"Histogram",
+ #"Laplace",
+ #"Logistic",
+ #"LogNormal",
+ #"MultiNomial",
+ #"NonCentralStudent",
+ #"Normal",
+ #"Poisson",
+ #"Rayleigh",
+ #"Student",
+ #"Triangular",
+ "TruncatedNormal",
+ "Uniform",
+ #"UserDefined",
+ #"Weibull",
+ ),
+
+##====
+## Definition des parametres selon le type de la loi
+##====
+
+def creeBeta ( MuMax=1 ):
+ MuSimp = SIMP( statut = "o", typ = "R", max = 1, val_max=MuMax,
+ fr = "Moyenne de la loi",
+ ang = "Mean value",
+ )
+ BETA = BLOC( condition = "Distribution == 'Beta'",
+ Settings = SIMP( statut = "o", typ = "TXM", max = 1,
+ into = ( "RT", "MuSigma" ),
+ defaut = "RT",
+ fr = "Parametrage de la loi beta",
+ ang = "Beta distribution parameter set",
+ ),
+
+ RT_Parameters = BLOC( condition = " Settings in ( 'RT', ) ",
+ R = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+ fr = "Parametre R de la loi | R > 0",
+ ang = "R parameter | R > 0",
+ ),
+
+ # T > R
+ T = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+ fr = "Parametre T de la loi | T > R",
+ ang = "T parameter | T > R",
+ ),
+ ), # Fin BLOC RT_Parameters
+
+ MuSigma_Parameters = BLOC( condition = " Settings in ( 'MuSigma', ) ",
+ Mu=MuSimp,
+ Sigma = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+ fr = "Ecart type de la loi",
+ ang = "Standard deviation",
+ ),
+ ), # Fin BLOC MuSigma_Parameters
+
+ A = SIMP( statut = "o", typ = "R", max = 1,
+ fr = "Borne inferieure du support de la loi",
+ ang = "Support lower bound",
+ ),
+
+ # B > A
+ B = SIMP( statut = "o", typ = "R", max = 1,
+ fr = "Borne superieure du support de la loi",
+ ang = "Support upper bound",
+ ),
+
+ ) # Fin BLOC BETA
+ return BETA
+
+def creeExponential ():
+ EXPONENTIAL = BLOC( condition = " Distribution in ( 'Exponential', ) ",
+
+ Lambda = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+ fr = "Parametre Lambda | Lambda > 0",
+ ang = "Lambda parameter | Lambda > 0",
+ ),
+
+ Gamma = SIMP( statut = "o", typ = "R", max = 1,
+ fr = "Borne inferieure du support de la loi",
+ ang = "Support lower bound",
+ ),
+ ) # Fin BLOC EXPONENTIAL
+ return EXPONENTIAL
+
+#def creeGamma ():
+# GAMMA = BLOC( condition = " Distribution in ( 'Gamma', ) ",
+#
+# Settings = SIMP( statut = "o", typ = "TXM", max = 1, into = ( "KLambda", "MuSigma" ), defaut = "KLambda",
+# fr = "Parametrage de la loi gamma",
+# ang = "Gamma distribution parameter set",
+# ),
+#
+# KLambda_Parameters = BLOC( condition = " Settings in ( 'KLambda', ) ",
+#
+# K = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+# fr = "Parametre K de la loi | K > 0",
+# ang = "K parameter | K > 0",
+# ),
+#
+# Lambda = SIMP( statut = "o", typ = "R", max = 1, val_min = 0.,
+# fr = "Parametre Lambda de la loi | Lambda > 0",
+# ang = "Lambda parameter | Lambda > 0",
+# ),
+#
+# ), # Fin BLOC KLambda_Parameters
+#
+#
+# MuSigma_Parameters = BLOC( condition = " Settings in ( 'MuSigma', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type de la loi",
+# ang = "Standard deviation",
+# ),
+#
+# ), # Fin BLOC MuSigma_Parameters
+#
+# Gamma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du supoport de la loi",
+# ang = "Support lower bound",
+# ),
+#
+#
+# ) # Fin BLOC GAMMA
+
+#
+#
+# GEOMETRIC = BLOC( condition = " Distribution in ( 'Geometric', ) ",
+#
+# P = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# val_max = 1.,
+# fr = "Parametre P | 0 < P < 1",
+# ang = "P parameter | 0 < P < 1",
+# ),
+#
+# ), # Fin BLOC GEOMETRIC
+#
+#
+#
+# GUMBEL = BLOC( condition = " Distribution in ( 'Gumbel', ) ",
+#
+# Settings = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# into = ( "AlphaBeta", "MuSigma" ),
+# defaut = "AlphaBeta",
+# fr = "Parametrage de la loi gumbel",
+# ang = "Gumbel distribution parameter set",
+# ),
+#
+# AlphaBeta_Parameters = BLOC( condition = " Settings in ( 'AlphaBeta', ) ",
+#
+# Alpha = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Alpha de la loi | Alpha > 0",
+# ang = "Alpha parameter | Alpha > 0",
+# ),
+#
+# Beta = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Beta de la loi",
+# ang = "Beta parameter",
+# ),
+#
+# ), # Fin BLOC AlphaBeta_Parameters
+#
+#
+# MuSigma_Parameters = BLOC( condition = " Settings in ( 'MuSigma', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type de la loi",
+# ang = "Standard deviation",
+# ),
+#
+# ), # Fin BLOC MuSigma_Parameters
+#
+# ), # Fin BLOC GUMBEL
+#
+#
+#
+# HISTOGRAM = BLOC( condition = " Distribution in ( 'Histogram', ) ",
+#
+# First = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du supoport de la loi",
+# ang = "Support lower bound",
+# ),
+#
+# # Il faut definir une collection de couples ( x,p )
+# Values = SIMP( statut = 'o',
+# typ = Tuple(2),
+# max = '**',
+# fr = "Liste de couples : largeur de classe, hauteur de classe",
+# ang = "Class bandwidth, class height couple list",
+# validators=VerifTypeTuple(('R','R')),
+# ),
+#
+# ), # Fin BLOC HISTOGRAM
+#
+#
+#
+# LAPLACE = BLOC( condition = " Distribution in ( 'Laplace', ) ",
+#
+# Lambda = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Lambda | Lambda > 0",
+# ang = "Lambda parameter | Lambda > 0",
+# ),
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# ), # Fin BLOC LAPLACE
+#
+# LOGNORMAL = BLOC( condition = " Distribution in ( 'LogNormal', ) ",
+#
+# Settings = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ),
+# defaut = "MuSigmaLog",
+# fr = "Parametrage de la loi lognormale",
+# ang = "Lognormal distribution parameter set",
+# ),
+#
+# MuSigma_Parameters = BLOC( condition = " Settings in ( 'MuSigma', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type de la loi",
+# ang = "Standard deviation",
+# ),
+#
+# ), # Fin BLOC MuSigma_Parameters
+#
+# MuSigmaOverMu_Parameters = BLOC( condition = " Settings in ( 'MuSigmaOverMu', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# SigmaOverMu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Rapport ecart type / moyenne de la loi",
+# ang = "Standard deviation / mean value ratio",
+# ),
+#
+# ), # Fin BLOC MuSigmaOverMu_Parameters
+#
+# MuSigmaLog_Parameters = BLOC( condition = " Settings in ( 'MuSigmaLog', ) ",
+#
+# MuLog = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne du log",
+# ang = "Log mean value",
+# ),
+#
+# SigmaLog = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type du log",
+# ang = "Log standard deviation",
+# ),
+#
+# ), # Fin BLOC MuSigmaLog_Parameters
+#
+# Gamma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du support de la loi",
+# ang = "Support lower bound",
+# ),
+#
+# ), # Fin BLOC LOGNORMAL
+#
+#
+#
+# LOGISTIC = BLOC( condition = " Distribution in ( 'Logistic', ) ",
+#
+# Alpha = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du supoport de la loi",
+# ang = "Support lower bound",
+# ),
+#
+# Beta = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Beta de la loi | Beta > 0",
+# ang = "Beta parameter | Beta > 0",
+# ),
+#
+# ), # Fin BLOC LOGISTIC
+#
+#
+#
+# MULTINOMIAL = BLOC( condition = " Distribution in ( 'MultiNomial', ) ",
+#
+# N = SIMP( statut = "o",
+# typ = "I",
+# max = 1,
+# fr = "Parametre N de la loi | N > 0",
+# ang = "N parameter | N > 0",
+# ),
+#
+# # Il faut definir une collection de couples ( x,p )
+# Values = SIMP( statut = 'o',
+# typ = "R",
+# max = '**',
+# fr = "Liste de probabilités",
+# ang = "Probability list",
+# validators=VerifTypeTuple(('R','R')),
+# ),
+#
+# ), # Fin BLOC MULTINOMIAL
+#
+#
+# NONCENTRALSTUDENT = BLOC( condition = " Distribution in ( 'NonCentralStudent', ) ",
+#
+# Nu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Nu de la loi | Nu > 0",
+# ang = "Nu parameter | Nu > 0",
+# ),
+#
+# Delta = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Delta de la loi | Delta > 0",
+# ang = "Delta parameter | Delta > 0",
+# ),
+#
+# Gamma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Gamma de centrage de la loi",
+# ang = "Gamma parameter",
+# ),
+#
+# ), # Fin BLOC NONCENTRALSTUDENT
+#
+#
+# NORMAL = BLOC( condition = " Distribution in ( 'Normal', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type de la loi",
+# ang = "Standard deviation",
+# ),
+#
+# ) # Fin BLOC NORMAL
+#
+#
+#
+# POISSON = BLOC( condition = " Distribution in ( 'Poisson', ) ",
+#
+# Lambda = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Lambda de la loi | Lambda > 0",
+# ang = "Lambda parameter | Lambda > 0",
+# ),
+#
+# ), # Fin BLOC POISSON
+#
+#
+#
+# RAYLEIGH = BLOC( condition = " Distribution in ( 'Rayleigh', ) ",
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Sigma de la loi | Sigma > 0",
+# ang = "Sigma parameter | Sigma > 0",
+# ),
+#
+# Gamma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du support de la loi",
+# ang = "Support lower bound",
+# ),
+# ), # Fin BLOC RAYLEIGH
+#
+#
+# STUDENT = BLOC( condition = " Distribution in ( 'Student', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Mu de la loi",
+# ang = "Mu parameter",
+# ),
+#
+# Nu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 2.,
+# fr = "Parametre Nu de la loi | Nu > 2",
+# ang = "Nu parameter | Nu > 2",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Parametre Sigma de la loi",
+# ang = "Sigma parameter",
+# ),
+#
+# ), # Fin BLOC STUDENT
+#
+#
+#
+# TRIANGULAR = BLOC( condition = " Distribution in ( 'Triangular', ) ",
+#
+# A = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du support de la loi | A < M < B",
+# ang = "Support lower bound | A < M < B",
+# ),
+#
+# M = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Mode de la loi | A < M < B",
+# ang = "Mode | A < M < B",
+# ),
+#
+# B = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne superieure du support de la loi | A < M < B",
+# ang = "Support upper bound | A < M < B",
+# ),
+#
+# ), # Fin BLOC TRIANGULAR
+#
+#
+#
+def creeTruncatedNormal():
+ TRUNCATEDNORMAL = BLOC( condition = " Distribution in ( 'TruncatedNormal', ) ",
+
+ MuN = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ fr = "Moyenne de la loi Normale non tronquée",
+ ang = "Mean value of the associated non truncated normal distribution",
+ ),
+
+ SigmaN = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ val_min = 0.,
+ fr = "Ecart-type de la loi Normale non tronquée",
+ ang = "Standard deviation of the associated non truncated normal distribution",
+ ),
+
+ A = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ #fr = "Borne inferieure de la loi | A < B",
+ #ang = "Lower bound | A < B",
+ ),
+
+ B = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ #fr = "Borne superieure de la loi | A < B",
+ #ang = "Upper bound | A < B",
+ ),
+
+ ) # Fin BLOC TRUNCATEDNORMAL
+ return TRUNCATEDNORMAL
+
+
+def verifieBorneInUniforme(self):
+ if self.valeur < self.parent.getChild('A').valeur : print ('uuuuuuuuuuuuuuuuuu')
+ if self.valeur < self.parent.getChild('A').valeur : return ( "il faut A < B")
+
+def creeUniform():
+ UNIFORM = BLOC( condition = " Distribution in ( 'Uniform', ) ",
+
+ A = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ defaut=0,
+ #fr = "Borne inferieure du support de la loi | A < B",
+ #ang = "Support lower bound | A < B",
+ ),
+
+ B = SIMP( statut = "o",
+ typ = "R",
+ max = 1,
+ defaut=200,
+ #fr = "Borne superieure du support de la loi | A < B",
+ #ang = "Support upper bound | A < B",
+ #siValide=verifieBorneInUniforme,
+ #validators=[infFrereMC('A'),]
+ ),
+ ) # Fin BLOC UNIFORM
+ return UNIFORM
+
+#
+#
+# USERDEFINED = BLOC( condition = " Distribution in ( 'UserDefined', ) ",
+#
+# # Il faut definir une collection de couples ( x,p )
+# Values = SIMP( statut = 'o',
+# typ = 'R',
+# max = '**',
+# ),
+#
+# ), # Fin BLOC USERDEFINED
+#
+#
+#
+# WEIBULL = BLOC( condition = " Distribution in ( 'Weibull', ) ",
+#
+# Settings = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# into = ( "AlphaBeta", "MuSigma" ),
+# defaut = "AlphaBeta",
+# fr = "Parametrage de la loi weibull",
+# ang = "Weibull distribution parameter set",
+# ),
+#
+# AlphaBeta_Parameters = BLOC( condition = " Settings in ( 'AlphaBeta', ) ",
+#
+# Alpha = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Alpha de la loi | Alpha > 0",
+# ang = "Alpha parameter | Alpha > 0",
+# ),
+#
+# Beta = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Parametre Beta de la loi | Beta > 0",
+# ang = "Beta parameter | Beta > 0",
+# ),
+#
+# ), # Fin BLOC AlphaBeta_Parameters
+#
+#
+# MuSigma_Parameters = BLOC( condition = " Settings in ( 'MuSigma', ) ",
+#
+# Mu = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Moyenne de la loi",
+# ang = "Mean value",
+# ),
+#
+# Sigma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# val_min = 0.,
+# fr = "Ecart type de la loi",
+# ang = "Standard deviation",
+# ),
+#
+# ), # Fin BLOC MuSigma_Parameters
+#
+# Gamma = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Borne inferieure du support de la loi",
+# ang = "Support lower bound",
+# ),
+#
+# ), # Fin BLOC WEIBULL
+#
+#) # Fin OPER DISTRIBUTION
+#
+#
+#
+##================================
+## Definition du modele physique
+##================================
+#
+#
+#Deterministic_variable = OPER ( nom = "Deterministic_variable",
+# sd_prod = variable,
+# op = None,
+# fr = "Variable deterministe",
+# ang = "Deterministic variable",
+# UIinfo={"groupes":("UQ",)},
+#
+# N = SIMP( statut = 'o',
+# typ = "TXM",
+# fr = "Nom",
+# ang = "Name",
+# ),
+#
+# T = SIMP( statut = 'o',
+# defaut = "in",
+# into = ( "in" , "out", ),
+# typ = "TXM",
+# fr = "Type",
+# ang = "Type",
+# ),
+#
+# R = SIMP( statut = 'o',
+# defaut = 0,
+# typ = "I",
+# fr = "Rang",
+# ang = "Rank",
+# ),
+#
+#) # Fin OPER DETERMINISTICVARIABLE
+#
+#
+#
+#
+#Correlation = PROC ( nom = 'Correlation',
+# op = None,
+# docu = "",
+# fr = "Correlation entre variables",
+# ang = "Variable correlation",
+# UIinfo={"groupes":("UQ",)},
+#
+# Copula = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( "Independent", "Normal" ),
+# defaut = "Independent",
+# fr = "Type de la copule",
+# ang = "Copula kind",
+# ),
+#
+# Matrix = BLOC( condition = "Copula in ( 'Normal', )",
+#
+# CorrelationMatrix = SIMP( statut = "o",
+# typ = Matrice(nbLigs=None,
+# nbCols=None,
+# methodeCalculTaille='NbDeVariables',
+# valSup=1,
+# valMin=-1,),
+# #structure="symetrique"),
+# fr = "Matrice de correlation entre les variables d'entree",
+# ang = "Correlation matrix for input variables",
+# ),
+# ), # Fin BLOC Matrix
+#
+#
+#) # Fin PROC CORRELATION
+#
+#
+#
+#
+#
+##================================
+## Definition de l'etude
+##================================
+#
+## Nota : les variables de type PROC doivent etre en majuscules !
+#Criteria = PROC ( nom = "Criteria",
+# op = None,
+# docu = "",
+# fr = "Critère de l'étude d'incertitudes",
+# ang = "Uncertainty study criteria",
+# UIinfo={"groupes":("UQ",)},
+#
+#
+#
+# Type = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ),
+# fr = "Type du critère",
+# ang = "Criteria type",
+# ),
+#
+#
+#
+#
+#
+#
+#
+# MinMax = BLOC( condition = " Type in ( 'Min/Max', ) ",
+#
+# Method = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Experiment Plane", "Random Sampling" ),
+# fr = "Methode",
+# ang = "Method",
+# ),
+# # UC 3.1.1
+# ExperimentPlaneSettings = BLOC( condition = " Method in ( 'Experiment Plane', ) ",
+#
+# ExperimentPlane = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Axial", "Factorial", "Composite", ),
+# fr = "Type du plan d'expérience",
+# ang = "Experiment plane type",
+# ),
+#
+# Levels = SIMP( statut = "o",
+# typ = "R",
+# val_min = 0.0,
+# max = '**',
+# fr = "Liste de niveaux dans chaque direction",
+# ang = "Levels in each direction",
+# ),
+#
+# # Scaled Vector
+# UnitPerDimension = SIMP( statut = "o",
+# typ = "R",
+# max = '**',
+# fr = "Unité par dimension (autant que de variables declarées)",
+# ang = "Units per dimension (as much as declared variables)",
+# ),
+#
+# # Translation Vector
+# Center = SIMP( statut = "o",
+# typ = "R",
+# max = '**',
+# fr = "Centre du plan d'expérience",
+# ang = "Experiment plan center",
+# ),
+#
+# ), # Fin BLOC ExperimentPlaneSettings
+#
+#
+#
+# RandomSamplingSettings = BLOC( condition = " Method in ( 'Random Sampling', ) ",
+#
+# SimulationsNumber = SIMP( statut = "o",
+# typ = "I",
+# val_min = 1,
+# fr = "Nombre de points",
+# ang = "Points number",
+# ),
+#
+# ), # Fin BLOC RandomSamplingSettings
+#
+# Result = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Min/Max", ),
+# defaut = "Min/Max",
+# fr = "Le minimum et le maximum de la variable d'intérêt",
+# ang = "The min and max values",
+# ),
+#
+#
+# ), # Fin BLOC MinMax
+#
+#
+#
+#
+# CentralUncertainty = BLOC( condition = " Type in ( 'Central Uncertainty', ) ",
+#
+# Method = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Taylor Variance Decomposition", "Random Sampling" ),
+# fr = "Methode",
+# ang = "Method",
+# ),
+#
+# # UC 3.2.
+# TaylorVarianceDecompositionSettings = BLOC( condition = " Method in ( 'Taylor Variance Decomposition', ) ",
+#
+# Result = FACT ( statut = "o",
+# min = 1,
+# max = "**",
+#
+# MeanFirstOrder = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Moyenne au premier ordre",
+# ang = "MeanFirstOrder",
+# ),
+#
+# StandardDeviationFirstOrder = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Ecart-type au premier ordre",
+# ang = "StandardDeviationFirstOrder",
+# ),
+#
+# MeanSecondOrder = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# max = 1,
+# fr = "Moyenne au second ordre",
+# ang = "MeanSecondOrder",
+# ),
+#
+# ImportanceFactor = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Facteur d'importance pour variable de sortie scalaire",
+# ang = "ImportanceFactor",
+# ),
+# ImportanceFactorSettings = BLOC( condition = " ImportanceFactor in ( 'yes', ) ",
+#
+# ImportanceFactorDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des facteurs d'importance",
+# ang = "Importance Factor Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC ImportanceFactorSettings
+#
+# ), # Fin FACT Result
+#
+# ), # Fin BLOC TaylorVarianceDecompositionSettings
+#
+#
+#
+# RandomSamplingSettings = BLOC( condition = " Method in ( 'Random Sampling', ) ",
+#
+# SimulationsNumber = SIMP( statut = "o",
+# typ = "I",
+# val_min = 1,
+# fr = "Nombre de points",
+# ang = "Points number",
+# ),
+#
+# Result = FACT ( statut = "o",
+# min = 1,
+# max = "**",
+#
+# EmpiricalMean = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Moyenne empirique",
+# ang = "Empirical mean",
+# ),
+#
+# EmpiricalStandardDeviation = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Ecart-type empirique",
+# ang = "Empirical standard deviation",
+# ),
+#
+# EmpiricalQuantile = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Quantile empirique",
+# ang = "Empirical quantile",
+# ),
+#
+# EmpiricalQuantileSettings = BLOC( condition = " EmpiricalQuantile in ( 'yes', ) ",
+#
+# EmpiricalQuantile_Order = SIMP( statut = "o",
+# typ = 'R',
+# defaut = 0.95,
+# max = 1,
+# val_min = 0.0,
+# val_max = 1.0,
+# fr = "Ordre du quantile empirique",
+# ang = "Empirical quantile order",
+# ),
+#
+# ), # Fin BLOC EmpiricalQuantileSettings
+#
+# CorrelationAnalysis = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Correlations analysees",
+# ang = "Analysed correlations",
+# ),
+#
+# KernelSmoothing = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Kernel smoothing de l'echantillon",
+# ang = "Kernel smoothing of the sample",
+# ),
+#
+# KernelSmoothingSettings = BLOC( condition = " KernelSmoothing in ( 'yes', ) ",
+#
+# KernelSmoothingDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique de la reconstruction a noyau",
+# ang = "Kernel Smoothing Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC KernelSmoothingSettings
+#
+# ), # Fin FACT Result
+#
+# ), # Fin BLOC RandomSamplingSettings
+#
+# ), # Fin BLOC CentralUncertainty
+#
+#
+#
+#
+# ThresholdExceedence = BLOC( condition = " Type in ( 'Threshold Exceedence', ) ",
+#
+# Event = FACT ( statut = "o",
+# min = 1,
+# max = 1,
+#
+# Threshold = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# fr = "Le seuil de defaillance",
+# ang = "Failure threshold",
+# ),
+#
+# ComparisonOperator = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ),
+# fr = "Que faut-il ne pas depasser : un maximum ou un minimum",
+# ang = "What is the failure threshold : maximum or minimum",
+# ),
+# ), # Fin FACT Event
+#
+#
+# Method = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "Simulation", "FORM_SORM" ),
+# fr = "Methode",
+# ang = "Method",
+# ),
+#
+# SimulationSettings = BLOC( condition = " Method in ( 'Simulation', ) ",
+#
+# Algorithm = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( "MonteCarlo", "LHS", "ImportanceSampling" ),
+# fr = "Algorithme de simulation",
+# ang = "Simulation algorithm",
+# ),
+#
+#
+# RandomGenerator = FACT ( statut = "o",
+# min = 1,
+# max = 1,
+#
+# SeedToBeSet = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# max = 1,
+# fr = "La racine du generateur aleatoire doit-elle etre positionnee ?",
+# ang = "Does the random generator seed need to be set ?",
+# ),
+#
+# SeedSettings = BLOC( condition = " SeedToBeSet in ( 'yes', ) ",
+#
+# RandomGeneratorSeed = SIMP( statut = "o",
+# typ = "I",
+# max = 1,
+# fr = "Racine du generateur aleatoire",
+# ang = "Random generator seed",
+# ),
+#
+# ), # Fin BLOC SeedSettings
+#
+# ), # Fin FACT RandomGenerator
+#
+#
+# BlockSize = SIMP( statut = "o",
+# typ = "I",
+# max = 1,
+# val_min = 1,
+# defaut = 1,
+# fr = "Nombre de calculs realises en bloc",
+# ang = "Number of computations as a block",
+# ),
+#
+# MaximumOuterSampling = SIMP( statut = "o",
+# typ = "I",
+# max = 1,
+# val_min = 1,
+# fr = "Maximum d'iterations externes",
+# ang = "Maximum outer Sampling value",
+# ),
+#
+# MaximumCoefficientOfVariation = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# defaut = 0.1,
+# val_min = 0.0,
+# val_max = 1.0,
+# fr = "Coefficient de variation maximum",
+# ang = "Maximum coefficient of variation"
+# ),
+#
+# ImportanceSamplingSettings = BLOC( condition = " Algorithm in ( 'ImportanceSampling', ) ",
+#
+# MeanVector = SIMP( statut = "o",
+# typ = "R",
+# max = "**",
+# fr = "Moyenne",
+# ang = "Mean vector",
+# ),
+#
+#
+# ), # Fin BLOC ImportanceSamplingSettings
+#
+# Result = FACT ( statut = "o",
+# min = 1,
+# max = "**",
+#
+# Probability = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Probabiblite",
+# ang = "Probability",
+# ),
+#
+# StandardDeviation = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Ecart type",
+# ang = "Standard deviation",
+# ),
+#
+# ConfidenceInterval = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Intervale de confiance",
+# ang = "Confidence interval",
+# ),
+#
+# ConfidenceIntervalSettings = BLOC( condition = " ConfidenceInterval in ( 'yes', ) ",
+#
+# Level = SIMP( statut = "o",
+# typ = 'R',
+# defaut = 0.9,
+# max = 1,
+# val_min = 0.0,
+# val_max = 1.0,
+# fr = "Niveau de confiance",
+# ang = "Confidence level",
+# ),
+#
+# ), # Fin BLOC ConfidenceIntervalSettings
+#
+# VariationCoefficient = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Coefficient de variation",
+# ang = "Coefficient of variation",
+# ),
+#
+# SimulationsNumber = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Nombre d'iterations",
+# ang = "Iteration number",
+# ),
+#
+# ConvergenceGraph = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Graphe de convergence",
+# ang = "Convergence graph",
+# ),
+#
+# ConvergenceGraphSettings = BLOC( condition = " ConvergenceGraph in ( 'yes', ) ",
+#
+# ConvergenceDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique de la convergence",
+# ang = "Convergence Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC ConvergenceGraphSettings
+#
+# ), # Fin FACT Result
+#
+#
+#
+# ), # Fin BLOC SimulationSettings
+#
+#
+#
+# FORM_SORMSettings = BLOC( condition = " Method in ( 'FORM_SORM', ) ",
+#
+# Approximation = SIMP( statut = "o",
+# typ = "TXM",
+# defaut = "FirstOrder",
+# into = ( "FirstOrder", "SecondOrder" ),
+# max = 1,
+# fr = "Approximation",
+# ang = "Approximation",
+# ),
+#
+# OptimizationAlgorithm = SIMP( statut = "o",
+# typ = "TXM",
+# defaut = "Cobyla",
+# into = ( "Cobyla", "AbdoRackwitz" ),
+# max = 1,
+# fr = "Methode d'optimisation",
+# ang = "Optimization method",
+# ),
+#
+#
+# PhysicalStartingPoint = SIMP( statut = "f",
+# typ = "R",
+# max = "**",
+# fr = "Point de demarrage de l'algorithme iteratif",
+# ang = "Initial point for iterative process",
+# ),
+#
+# MaximumIterationsNumber = SIMP( statut = "f",
+# typ = "I",
+# max = 1,
+# val_min = 1,
+# fr = "Nombre maximum d'iterations",
+# ang = "Maximum number of iterations",
+# ),
+#
+#
+# MaximumAbsoluteError = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# defaut = 1E-4,
+# val_min = 0.0,
+# fr = "Distance maximum absolue entre 2 iterations successives",
+# ang = "Absolute maximum distance between 2 successive iterates",
+# ),
+#
+# MaximumRelativeError = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# defaut = 1E-4,
+# val_min = 0.0,
+# fr = "Distance maximum relative entre 2 iterations successives",
+# ang = "Relative maximum distance between 2 successive iterates",
+# ),
+#
+# MaximumConstraintError = SIMP( statut = "o",
+# typ = "R",
+# max = 1,
+# defaut = 1E-4,
+# val_min = 0.0,
+# fr = "Valeur maximum absolue de la fonction moins la valeur du niveau",
+# ang = "Maximum absolute value of the constraint function minus the level value",
+# ),
+#
+# ImportanceSampling = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# max = 1,
+# fr = "Tirage d'importance au point de conception",
+# ang = "Importance sampling at design point",
+# ),
+#
+# FORMResult = BLOC( condition = " Approximation in ( 'FirstOrder', ) ",
+#
+# Probability = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Probabiblite",
+# ang = "Probability",
+# ),
+#
+# DesignPoint = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Point de conception",
+# ang = "Design point",
+# ),
+#
+# HasoferReliabilityIndex = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Indice de fiabilite",
+# ang = "Reliability index",
+# ),
+#
+# ImportanceFactor = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Facteur d'importance pour variable de sortie scalaire",
+# ang = "Importance factor",
+# ),
+#
+# ImportanceFactorSettings = BLOC( condition = " ImportanceFactor in ( 'yes', ) ",
+#
+# ImportanceFactorDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des facteurs d'importance",
+# ang = "Importance Factor Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC ImportanceFactorSettings
+#
+# SensitivityAnalysis = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Analyse de sensibilite",
+# ang = "Sensitivity analysis",
+# ),
+#
+# SensitivityAnalysisSettings = BLOC( condition = " SensitivityAnalysis in ( 'yes', ) ",
+#
+# FORMEventProbabilitySensitivity = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Indice de fiabilite de Hasofer",
+# ang = "Hasofer reliability index",
+# ),
+#
+# FORMEventProbabilitySensitivitySettings = BLOC( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ",
+#
+# FORMEventProbabilitySensitivityDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des sensibilites",
+# ang = "Sensitivity Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC FORMEventProbabilitySensitivitySettings
+#
+# HasoferReliabilityIndexSensitivity = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Indice de fiabilite de Hasofer",
+# ang = "Hasofer reliability index",
+# ),
+#
+# HasoferReliabilityIndexSensitivitySettings = BLOC( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ",
+#
+# HasoferReliabilityIndexSensitivityDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des sensibilites",
+# ang = "Sensitivity Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings
+#
+# ), # Fin BLOC SensitivityAnalysisSettings
+#
+# FunctionCallsNumber = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Nombre d'appels a la fonction",
+# ang = "Function calls number",
+# ),
+#
+#
+# ), # Fin BLOC FORMResult
+#
+#
+# SORMResult = BLOC( condition = " Approximation in ( 'SecondOrder', ) ",
+#
+#
+# TvedtApproximation = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Approximation de Tvedt",
+# ang = "Tvedt approximation",
+# ),
+#
+# HohenBichlerApproximation = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Approximation de HohenBichler",
+# ang = "HohenBichler approximation",
+# ),
+#
+# BreitungApproximation = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Approximation de Breitung",
+# ang = "Breitung approximation",
+# ),
+#
+# DesignPoint = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Point de conception",
+# ang = "Design point",
+# ),
+#
+# ImportanceFactor = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Facteur d'importance pour variable de sortie scalaire",
+# ang = "Importance factor",
+# ),
+#
+# ImportanceFactorSettings = BLOC( condition = " ImportanceFactor in ( 'yes', ) ",
+#
+# ImportanceFactorDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des facteurs d'importance",
+# ang = "Importance Factor Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC ImportanceFactorSettings
+#
+# SensitivityAnalysis = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Analyse de sensibilite",
+# ang = "Sensitivity analysis",
+# ),
+#
+# SensitivityAnalysisSettings = BLOC( condition = " SensitivityAnalysis in ( 'yes', ) ",
+#
+# HasoferReliabilityIndexSensitivity = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Indice de fiabilite de Hasofer",
+# ang = "Hasofer reliability index",
+# ),
+#
+# HasoferReliabilityIndexSensitivitySettings = BLOC( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ",
+#
+# HasoferReliabilityIndexSensitivityDrawingFilename = SIMP( statut = "o",
+# typ = "TXM",
+# max = 1,
+# fr = "Nom du fichier graphique des sensibilites",
+# ang = "Sensitivity Drawing Filename",
+# ),
+#
+#
+# ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings
+#
+# ), # Fin BLOC SensitivityAnalysisSettings
+#
+# FunctionCallsNumber = SIMP( statut = "o",
+# typ = 'TXM',
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# max = 1,
+# fr = "Nombre d'appels a la fonction",
+# ang = "Function calls number",
+# ),
+#
+#
+# ), # Fin BLOC SecondOrder
+#
+#
+#
+# ), # Fin BLOC FORM_SORMSettings
+#
+#
+#
+# ), # Fin BLOC ThresholdExceedence
+#) # Fin PROC CRITERIA
+#
+#
+## --------------------------------------------------
+## Niveau de Journalisation
+## --------------------------------------------------
+#
+#Journalisation_Code = PROC ( nom = "Journalisation_Code",
+# docu = "",
+# UIinfo={"groupes":("UQ",)},
+#
+# DebugMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# fr = "Affichage du niveau de debug de la bibliotheque Open TURNS",
+# ang = "Open TURNS library debug level print",
+# ),
+#
+# WrapperMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS",
+# ang = "Open TURNS library debug level print",
+# ),
+#
+# UserMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'no',
+# fr = "Affichage du niveau de user de la bibliotheque Open TURNS",
+# ang = "Open TURNS library user level print",
+# ),
+#
+# InfoMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# fr = "Affichage du niveau de info de la bibliotheque Open TURNS",
+# ang = "Open TURNS library info level print",
+# ),
+#
+# WarningMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# fr = "Affichage du niveau de warning de la bibliotheque Open TURNS",
+# ang = "Open TURNS library warning level print",
+# ),
+#
+# ErrorMessages = SIMP( statut = "o",
+# typ = "TXM",
+# into = ( 'yes', 'no' ),
+# defaut = 'yes',
+# fr = "Affichage du niveau de error de la bibliotheque Open TURNS",
+# ang = "Open TURNS library error level print",
+# ),
+#
+#) # Fin Niveaux_Log_Code
+#
+#
+#
+#
+#
+
+def affineDistribution(monDico,var,loi):
+ nomLoi=list(monDico[var].keys())[0]
+ argsLoi=loi[nomLoi]
+ nomFonction='cree'+nomLoi
+ maFonction=globals()[nomFonction]
+ bloc=maFonction(**argsLoi)
+
+
+def creeDistributionsSelonVariable(monDico):
+ lesBlocs={}
+ for var in monDico :
+ listeLoisComplete=monDico[var]
+ listeChoix=[]
+ for loi in listeLoisComplete:
+ nomLoi=list(loi.keys())[0]
+ listeChoix.append(nomLoi)
+ nomBlocVar = 'b_Model_Variable_' + var
+ laCondition ="ModelVariable == '" + var + "'"
+ distribution = SIMP(statut='o', typ='TXM', into=listeChoix)
+ dicoDistribution={}
+ for loi in listeLoisComplete:
+ nomLoi = list(loi.keys())[0]
+ argsLoi = loi[nomLoi]
+ nomFonction = 'cree'+nomLoi
+ maFonction = globals()[nomFonction]
+ bloc = maFonction(**argsLoi)
+ nomBloc = 'b_Model_Variable_' + var+'_'+nomLoi
+ dicoDistribution[nomBloc]=bloc
+ lesBlocs[nomBlocVar]= BLOC(condition=laCondition, Distribution = distribution, **dicoDistribution)
+ print (lesBlocs)
+ return lesBlocs
+
+
+
+def creeOperExpressionIncertitude(monDico, maListe):
+ listeDesVariablesPossibles = list(monDico.keys())
+ listeDesVariablesSortiePossibles = maListe
+ modelVariable = SIMP ( statut = "o",
+ typ = ( 'TXM'),
+ fr = "Variable d'entrée du modèle",
+ ang = "Input variable of the model",
+ into = listeDesVariablesPossibles,
+ fenetreIhm='menuDeroulant',
+ homo='constant',
+ )
+ laConsigne = SIMP(statut="o", homo="information", typ="TXM", defaut=' ')
+ xPathVariable = SIMP(statut='d', typ='TXM', defaut=(), max='**', min=0,)# siValide=creeLienVPVI)
+ blocs=creeDistributionsSelonVariable(monDico)
+ # Attention
+ # l ordre des motclefs en 3.7 a l air de dépendre de l ordre de creation des objets
+ # et non d un dict ordonné. on retombe toujours sur ce pb
+ return PROC ( nom = "ExpressionIncertitude", #UIinfo={"groupes":("CACHE",)},
+ Input = FACT( max=1, statut ='o',
+ VariableProbabiliste = FACT ( max='**', statut ='cache',
+ fr = "Variable probabiliste",
+ ang = "Probabilistic variable",
+ ModelVariable = modelVariable,
+ Consigne = laConsigne,
+ xPathVariable = xPathVariable,
+ **blocs
+ ),
+ ),
+ Propagation = FACT( max=1, statut ='o',
+ Methode = SIMP( statut = "o", typ = "TXM", max=1, into = ('Taylor', 'MonteCarlo'), defaut='Taylor'),
+ BlocMonteCarlo1 = BLOC ( condition = "Methode == 'MonteCarlo'",
+ SimulationsNumber = SIMP ( statut = "o", typ = "I", val_min = 1,
+ fr = "Nombre de points",
+ ang = "Points number",),
+
+ ),
+ BlocTaylor = BLOC( condition = "Methode == 'Taylor'",
+ Result = FACT( statut = "o", min = 1,
+ MeanFirstOrder = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
+ fr = "Moyenne au premier ordre",
+ ang = "MeanFirstOrder",),
+ StandardDeviationFirstOrder = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
+ fr = "Ecart-type au premier ordre",
+ ang = "StandardDeviationFirstOrder",),
+ MeanSecondOrder = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'no',
+ fr = "Moyenne au second ordre",
+ ang = "MeanSecondOrder",),
+ ),# fin Result
+ ), # fin BlocTaylor
+ BlocMonteCarlo2 = BLOC ( condition = "Methode == 'MonteCarlo'",
+ Result = FACT( statut = "o", min = 1,
+ EmpiricalMean = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
+ fr = "Moyenne empirique",
+ ang = "Empirical mean",),
+ EmpiricalStandardDeviation = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
+ fr = "Ecart-type empirique",
+ ang = "Empirical standard deviation",),
+ EmpiricalQuantile = SIMP ( statut = "o", typ = 'TXM', into = ( 'yes', 'no' ), defaut = 'yes',
+ fr = "Quantile empirique",
+ ang = "Empirical quantile",),
+ BlocEmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ",
+ EmpiricalQuantile_Order = SIMP ( statut = "o", typ = 'R', defaut = 0.95,
+ val_min = 0.0, val_max = 1.0,
+ fr = "Ordre du quantile empirique",
+ ang = "Empirical quantile order",),
+ ), # Fin BlocEmpiricalQuantileSettings
+ ),# fin Result
+ ),# fin BlocMonteCarlo2
+ ), # fin Propoagation
+ Output = FACT (max=1, statut ='o',
+ VariableDeSortie = FACT ( max='**', statut ='o',
+ NomDeLaVariable = SIMP ( statut = "o", typ = "TXM", into = listeDesVariablesSortiePossibles, defaut='Average_mass_flux'),
+ Physique = SIMP (statut = "o", typ = "TXM",into = ('Neutronics', 'ThermoHydraulics'),defaut='Neutronics'),
+ FonctionDAggregation = SIMP(statut = 'o', typ= 'TXM', into = ('Max', 'Min', 'Med', 'Moy', 'Sum'),defaut=('Max'), max='**', homo='SansOrdreNiDoublon'),
+ Unit = SIMP ( statut = "f", typ = "TXM", fr = "Unite", ang = "Unit",),
+ Format = SIMP ( statut = "f", typ = "TXM", fr = "Format de sortie", ang = "format", into =['med', 'csv']),
+ ),
+ ),
+ Execution = FACT (max=1, statut ='o',
+ UncertaintyTool = SIMP ( statut = "o", typ = "TXM", into = ['Uranie', 'OpenTurns'], defaut='Uranie'),
+ bloc_OT = BLOC (condition = 'UncertaintyTool == "OpenTurns"',
+ ExecutionMode = SIMP ( statut = "o", typ = "TXM", into = ['local', 'cluster']),
+ NbDeBranches = SIMP ( statut = "o", typ = "I", val_min = 0, fr='nb d evaluations simultanees'),
+ JobName = SIMP ( statut = 'o', typ ="TXM", defaut='idefix_job'),
+ NbOfProcs = SIMP ( statut = 'o', typ ="I" , defaut = 1, val_min = 1),
+ bloc_OT_local = BLOC (condition = 'ExecutionMode == "local"',
+ ),
+ bloc_OT_cluster = BLOC (condition = 'ExecutionMode == "cluster"',
+ resourceName = SIMP ( statut = 'o', typ ="TXM", defaut ='gaia'),
+ multiJobStudy = SIMP ( statut = "o", typ = bool, defaut=False),
+ ),
+ ),
+ ),
+ )
+ return ExpressionIncertitude
+