from .generator_python import PythonGenerator
from .textePersalys import headerScriptPersalys, fonctionPersalys, etudeScript, codePersalys
from .textePersalys import mainPersalys, inputHeaderPersalys, outputHeaderPersalys
+from .textePersalys import getResult
from .textePersalys import centralTendencyTaylor, resultTaylor
from .textePersalys import optionalResultTaylor, optionalPrintResultTaylor
from .textePersalys import centralTendencyMC, resultMC
def generMCSIMP(self,obj) :
# inutile tant que FACT et BLOC ne sont pas surcharges
- if self.nom=='Consigne' : return
+ if obj.nom=='Consigne' : return
if not self.inGenerUQ : return PythonGenerator.generMCSIMP(self,obj)
if not obj in self.mcIncertains : return PythonGenerator.generMCSIMP(self,obj)
else :
self.lesVariablesOutput = sectionOutput.getChildOrChildInBloc('VariableDeSortie')
self.variablesOutput = {}
- self.chaineDesVariablesOutput=''
- listeDesVariablesOutput=[] # pour ordre en 3.5
+ self.chaineDesVariablesOutputEncodee=''
+ #listeDesVariablesOutput=[]
self.txtOutputVariableInitList=''
+ self.txtGetResults = ""
for mc in self.lesVariablesOutput :
- nomVar = mc.getChildOrChildInBloc('NomDeLaVariable').valeur
- listeDesVariablesOutput.append(nomVar)
- self.chaineDesVariablesOutput+=nomVar+ ', '
- Fonctions = mc.getChildOrChildInBloc('FonctionDAggregation').valeur
- self.variablesOutput [nomVar]=Fonctions
- self.txtOutputVariableInitList += self.indent1 + nomVar + " = persalys.Output('"+ nomVar + "', '"+nomVar + "')\n"
+ nomVar = mc.getChildOrChildInBloc('VariablePhysique').valeur
+ nomVarEncode = nomVar.replace(' ','__')
+ #listeDesVariablesOutput.append(nomVar)
+ self.chaineDesVariablesOutputEncodee+=nomVarEncode+ ', '
+ nomVarPostraite = mc.getChildOrChildInBloc('VariablePosttraiteeAssociee').valeur
+ ##TODO : Check [0], liste ou non de fonctions d'agrégation
+ fonctions = mc.getChildOrChildInBloc('FonctionDAggregation').valeur[0]
+ ##TODO : Gerer Mean, Med?
+ tmpFonctionAggregation = fonctions.lower()
+ self.variablesOutput [nomVar]=fonctions
+ tmpGetResult =getResult.format(
+ variablesOutput = nomVarEncode,
+ variablePostraitee = nomVarPostraite,
+ fonctionAggregation = tmpFonctionAggregation
+ )
+ self.txtGetResults += tmpGetResult
+ self.txtOutputVariableInitList += self.indent1 + nomVarEncode + " = persalys.Output('"+ nomVar + "', '"+nomVar + "')\n"
print (self.variablesOutput)
- self.chaineDesVariablesOutput=self.chaineDesVariablesOutput[0:-2]
+ self.chaineDesVariablesOutputEncodee=self.chaineDesVariablesOutputEncodee[0:-2]
sectionExecution = etapeIncertitude.getChildOrChildInBloc('Execution')[0]
self.ExecutionMode = sectionExecution.getChildOrChildInBloc('ExecutionMode').valeur
replaceDataList = getStrReplaceVar(self.nomsDesVariablesInput)
)
+
txtFonctionPersalys = fonctionPersalys.format(
currentFile = self.fichierUQModule,
chaineDesVariablesInput = self.chaineDesVariablesInput,
- chaineDesVariablesOutput = self.chaineDesVariablesOutput
+ getResults = self.txtGetResults,
+ chaineDesVariablesOutput = self.chaineDesVariablesOutputEncodee
)
self.txtScriptPersalys += codePersalys.format(
fonctionPersalys =txtFonctionPersalys
)
- ## Propagation des inceritudes : Choix de la méthode et de ses paramètres
+ ## Propagation des incertitudes : Choix de la méthode et de ses paramètres
if (self.Methode == 'Taylor' ):
txtCentralTendencyPersalys = centralTendencyTaylor
optionalResult = optionalResultTaylor
inputHeaderPersalys = inputHeaderPersalys.format(indent=self.indent1),
chaineDesVariablesInput = self.chaineDesVariablesInput,
outputHeaderPersalys = outputHeaderPersalys.format(indent=self.indent1),
- chaineDesVariablesOutput = self.chaineDesVariablesOutput,
+ chaineDesVariablesOutput = self.chaineDesVariablesOutputEncodee,
yacsJobParameters = txtYacsJobParameters,
centralTendencyPersalys = txtCentralTendencyPersalys,
resultPersalys = txtResult