From: PASCALE NOYRET Date: Mon, 29 Aug 2022 12:12:21 +0000 (+0200) Subject: modification des chemins2. ib_test n a toujours pas le bon chemin X-Git-Tag: merge_uncertainty_odysee_1210~31 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=83204fee0ce4b71fccfab226552788764e85990c;p=tools%2Feficas.git modification des chemins2. ib_test n a toujours pas le bon chemin --- diff --git a/generator/generator_UQ.py b/generator/generator_UQ.py index 27499aae..e709a3d6 100644 --- a/generator/generator_UQ.py +++ b/generator/generator_UQ.py @@ -71,8 +71,8 @@ class UQGenerator(PythonGenerator): self.indent1 = ' ' self.nomsDesVariablesInput2 = [] - print (jdc.code) - if jdc.nature != 'JDC' : + #print (jdc.code) + if jdc.nature != 'JDC' or not jdc.isValid(): self.commentaire= 'il faut un JDC Valide' return 0 self.jdc=jdc @@ -87,6 +87,8 @@ class UQGenerator(PythonGenerator): return self.text def creeNomsFichiers(self,fichier): + print ('creeNomsFichiers', fichier) + self.cheminFichierComm=os.path.dirname(fichier) if fichier.endswith('.comm'): self.fichierSansSuffixe=os.path.basename(fichier[:-5]) if self.fichierSansSuffixe.endswith('_UQ'): @@ -101,16 +103,20 @@ class UQGenerator(PythonGenerator): def writeUQ(self,fichier): # il manque le checksum - if not self.writeFile(self.fichierUQComm) : return (0, 'impossible de sauvegarder le .comm') + fichierUQComm = os.path.join(self.cheminFichierComm,self.fichierUQComm) + fichierUQBalise = os.path.join(self.cheminFichierComm,self.fichierUQBalise) + fichierUQExe = os.path.join(self.cheminFichierComm,self.fichierUQExe) + if not self.writeFile(fichierUQComm) : return (0, 'impossible de sauvegarder le .comm') try : - with open(self.fichierUQBalise, "w") as fp: + with open(fichierUQBalise, "w") as fp: fp.write(self.textUQ) except : return (0,'impossible de sauvegarder le _UQ.py') - #try : - if 1 : - with open(self.fichierUQExe, "w") as fp: + try : + #if 1 : + with open(fichierUQExe, "w") as fp: fp.write(self.txtScriptPersalys) - #except : return (0,'impossible de sauvegarder le _UQ.py') + except : + if self.txtScriptPersalys != '' : return (0,'impossible de sauvegarder le _UQ.py') return (1, None) def generPROC_ETAPE(self,obj): @@ -129,9 +135,9 @@ class UQGenerator(PythonGenerator): # a refaire si on decide que les incertains sont sous des fact multiples # ce qui ne me parait pas possible mais ? if obj.etape.nature == 'OPERATEUR' : - return '@'+obj.etape.sd.nom +'__' + obj.nom+'@' + return '@ '+obj.etape.sd.nom +'__' + obj.nom+' @' else : - return '@'+obj.nom+'@' + return '@ '+obj.nom+' @' def analyseIncertitude(self) : @@ -159,7 +165,8 @@ class UQGenerator(PythonGenerator): sectionPropagation = etapeIncertitude.getChildOrChildInBloc('Propagation')[0] self.Methode = sectionPropagation.getChildOrChildInBloc('Methode').valeur - self.Result = sectionPropagation.getChildOrChildInBloc('Result')[0] + if not sectionPropagation.getChildOrChildInBloc('Result') : self.Result=None + else : self.Result = sectionPropagation.getChildOrChildInBloc('Result')[0] if (self.Methode == 'MonteCarlo'): self.critereArret = sectionPropagation.getChildOrChildInBloc('CritereArret')[0] # self.SimulationsNumber = self.critereArret.getChildOrChildInBloc('SimulationsNumber')[0] @@ -221,19 +228,21 @@ class UQGenerator(PythonGenerator): sectionExecution = etapeIncertitude.getChildOrChildInBloc('Execution')[0] - self.ExecutionMode = sectionExecution.getChildOrChildInBloc('ExecutionMode').valeur - self.NbOfProcs = sectionExecution.getChildOrChildInBloc('NbOfProcs').valeur self.NbDeBranches = sectionExecution.getChildOrChildInBloc('NbDeBranches').valeur - self.JobName = sectionExecution.getChildOrChildInBloc('JobName').valeur - self.ResourceName = sectionExecution.getChildOrChildInBloc('ResourceName').valeur - self.Login = sectionExecution.getChildOrChildInBloc('Login').valeur - self.WorkDirectory = sectionExecution.getChildOrChildInBloc('WorkDirectory').valeur - self.ResultDirectory = sectionExecution.getChildOrChildInBloc('ResultDirectory').valeur - MultiJobStudy=sectionExecution.getChildOrChildInBloc('MultiJobStudy') - if (MultiJobStudy != None): - self.MultiJobStudy = MultiJobStudy.valeur - - self.creeScriptPersalys() + if sectionExecution.getChildOrChildInBloc('ExecutionMode') != None : + self.ExecutionMode = sectionExecution.getChildOrChildInBloc('ExecutionMode').valeur + self.NbOfProcs = sectionExecution.getChildOrChildInBloc('NbOfProcs').valeur + self.JobName = sectionExecution.getChildOrChildInBloc('JobName').valeur + self.ResourceName = sectionExecution.getChildOrChildInBloc('ResourceName').valeur + self.Login = sectionExecution.getChildOrChildInBloc('Login').valeur + self.WorkDirectory = sectionExecution.getChildOrChildInBloc('WorkDirectory').valeur + self.ResultDirectory = sectionExecution.getChildOrChildInBloc('ResultDirectory').valeur + MultiJobStudy=sectionExecution.getChildOrChildInBloc('MultiJobStudy') + if (MultiJobStudy != None): + self.MultiJobStudy = MultiJobStudy.valeur + self.creeScriptPersalys() + #else : + # TODO : creer ici le script URANIE return (1, '') # listeDesVariables, nomDesVariables, dicoDesVariables) @@ -335,20 +344,21 @@ class UQGenerator(PythonGenerator): return(0, "Impossible de gérer la méthode :",self.Methode) result="" - for mc in self.Result.mcListe: + if self.Result : + for mc in self.Result.mcListe: # print('mc : ',mc) # print('mc.nature : ',mc.nature) # print('mc.valeur : ',mc.valeur) - if mc.nom == 'EmpiricalQuantile' and mc.valeur == 'yes' : - empiricalQuantile_Order = self.Result.getChildOrChildInBloc("EmpiricalQuantile_Order") - result+= self.indent1+optionalResult[mc.nom].format( - **{empiricalQuantile_Order.nom : empiricalQuantile_Order.valeur} - ) + '\n' - result+= self.indent1+optionalPrintResult["EmpiricalQuantile_Order"] + '\n' - result+= self.indent1+optionalPrintResult[mc.nom] + '\n' - elif mc.nature == 'MCSIMP' and mc.valeur == 'yes' : - result+= self.indent1+optionalResult[mc.nom] + '\n' - result+= self.indent1+optionalPrintResult[mc.nom] + '\n' + if mc.nom == 'EmpiricalQuantile' and mc.valeur == 'yes' : + empiricalQuantile_Order = self.Result.getChildOrChildInBloc("EmpiricalQuantile_Order") + result+= self.indent1+optionalResult[mc.nom].format( + **{empiricalQuantile_Order.nom : empiricalQuantile_Order.valeur} + ) + '\n' + result+= self.indent1+optionalPrintResult["EmpiricalQuantile_Order"] + '\n' + result+= self.indent1+optionalPrintResult[mc.nom] + '\n' + elif mc.nature == 'MCSIMP' and mc.valeur == 'yes' : + result+= self.indent1+optionalResult[mc.nom] + '\n' + result+= self.indent1+optionalPrintResult[mc.nom] + '\n' # print('result:',result) @@ -365,11 +375,11 @@ class UQGenerator(PythonGenerator): inFiles =[] inFiles.append(os.path.join(generatorDir,'incertainty_tools.py')) pyFile = self.fichierUQExe - inFiles.append(os.path.join(os.getcwd(),pyFile)) + inFiles.append(os.path.join(self.cheminFichierComm,pyFile)) pyFile = self.fichierUQBalise - inFiles.append(os.path.join(os.getcwd(),pyFile)) + inFiles.append(os.path.join(self.cheminFichierComm,pyFile)) scriptFile = "ib_test.sh" - inFiles.append(os.path.join(os.getcwd(),scriptFile)) + inFiles.append(os.path.join(self.cheminFichierComm,scriptFile)) postFile = "post_csv.py" inFiles.append(os.path.join(os.getcwd(),postFile)) txtYacsJobParameters=yacsJobParameters.format(