etudeScript = """
class Study:
import os
- #print('dir() 0 : ', dir())
import subprocess
- #print('dir() 0b : ', dir())
-# from incertainty_tools import value_repr_name, replace_data, format_data
def __init__(self, {chaineDesVariablesInput}):
- ##print('--------------------------------------- 0 ---------------------------------------')
{chaineInitDesVariablesInput}
def do_sh(self, command, execdir=os.getcwd()):
- #print('dir() 1 : ', dir())
- print('execdir 1 : ', execdir)
+ print('Execution directory is : ', execdir)
import subprocess
- #print('dir() 2 : ', dir())
sh = subprocess.Popen(command, shell=True, cwd=execdir,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
#TODO : Définir un décorateur pour sélectionner la fonction voulue
def define_workdirectory(self):
from incertainty_tools import value_repr_name
- #print('--------------------------------------- 1 ---------------------------------------')
self.workdir = value_repr_name([{chaineSelfDesVariablesInput}])
def case_exists(self):
- #print('--------------------------------------- 2 ---------------------------------------')
ok = True
if os.path.isdir(self.workdir):
try:
def prepare_case(self):
from incertainty_tools import replace_data
- #print('--------------------------------------- 3 ---------------------------------------')
import shutil
if not os.path.isdir(self.workdir):
self.comm_file_uq_comm = os.path.join(self.workdir, '{commFileUQComm}')
replace_data(self.comm_file_uq_balise, {{ {replaceDataList} }} , self.comm_file_uq_comm)
- #TODO: Lancer la validation du fichier généré avant tout lancement
+ #TODO: Lancer la validation du fichier généré avant tout lancement : Le banc le fait
pass
def get_result_from_csv(self,postProcessedVar, aggregationFctList):
from post_csv_rn import get_result_from_csv
- #Fonctions a implementer dans un fichier post_csv pour définir
- #comment l'aggrégation des valeurs peut se faire
+ #TODO: Fonctions a implementer dans un fichier post_csv provenant
+ # de la mise en donnée pour définir la façon d'aggréger les valeurs
from post_csv_rn import vInitialTime, vHalfTime, vFinalTime, vMean, vSum, vMin, vMax
- #print('--------------------------------------- 4 ---------------------------------------')
+
savdir=os.getcwd()
os.chdir(self.workdir)
results = get_result_from_csv(postProcessedVar, aggregationFctList)
return results
def run_case(self):
- #print('--------------------------------------- 5 ---------------------------------------')
#os.chdir(self.workdir)
# Si lancement mpi externe à ib_test.sh il faut utiliser self.nproc : mpiexec -n self.nproc ib_test.sh
o,e,c = self.do_sh(command="ib_test.sh", execdir=self.workdir)
- if o != None : print('o.decode() : ',o.decode())
- if e != None : print('e.decode() : ',e.decode())
- print(c)
-
+ if o != None : print(o.decode())
+ if e != None : print(e.decode())
"""
# /home/C65845/VIMMP/Banc_integration.newer_odysee/environment/bin/python3 /home/C65845/VIMMP/Banc_integration.newer_odysee/environment/bin/ib-run --cocagne-neutro-solver SPN --cocagne-thermo-solver THERMOMI/TRMIC -- /home/C65845/VIMMP/Banc_integration.newer_odysee/integration_bench/tests/control_rod_ejection_small_core_cathare3_cocagne.comm /home/C65845/VIMMP/Banc_integration.newer_odysee/integration_bench/tests/control_rod_ejection_small_core_cathare3_cocagne_spn_thermomi-trmic_serial
-getResultCall=""" {variableOutputList} = study.get_result_from_csv( '{nomVarPostraite}', [{fonctionAggregationList}] )
+# getResultCall=""" {variableOutputList}, = study.get_result_from_csv( '{nomVarPostraite}', [{fonctionAggregationList}] )
+# """
+
+getResultCall=""" {variableOutputList}, = study.get_result_from_csv( '{nomVarPostraite}', [{fonctionAggregationList}] )
+ print( '{nomVarPostraite}: ({variableOutputList})',{variableOutputList})
"""
#-------------------------
fonctionPersalys = """
def _exec({chaineDesVariablesInput}):
from post_csv_rn import vInitialTime, vHalfTime, vFinalTime, vMean, vSum, vMin, vMax
-
- #print('--------------------------------------- 00 ---------------------------------------')
-
from {currentFile} import Study
study = Study({chaineDesVariablesInput})
{centralTendencyPersalys}
{nomEtude}.add(centralTendency)
- centralTendency.run()
+################ CUT THE FILE HERE IF YOU WANT TO IMPORT IT IN THE SALOME PERSALYS MODULE ################
+ centralTendency.run()
{resultPersalys}
"""
'ComputeConfidenceIntervalAt' : 'centralTendency.setLevelConfidenceInterval({ComputeConfidenceIntervalAt})'
}
-#TODO: Demander à Liana cf:eficas
#TODO: Associer les noms de variables au résultat
resultMC="""
result = centralTendency.getResult()