# coding: utf-8\r
+\r
import types\r
import sys,os\r
\r
\r
maClasseDelistesDB = listesDB.classeListesDB()\r
monModele=listesDB.sModele().monModele\r
+monPost=listesDB.sModele().monPost\r
+\r
+import types\r
+class Tuple:\r
+ def __init__(self,ntuple):\r
+ self.ntuple=ntuple\r
+\r
+ def __convert__(self,valeur):\r
+ if type(valeur) == types.StringType:\r
+ return None\r
+ if len(valeur) != self.ntuple:\r
+ return None\r
+ return valeur\r
\r
+ def info(self):\r
+ return "Tuple de %s elements" % self.ntuple\r
+\r
+ __repr__=info\r
+ __str__=info\r
+\r
+\r
+dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}}\r
\r
# --------------------------------------\r
# Fonctions appellees depuis le catalogue\r
# --------------------------------------\r
- \r
+\r
# --------------------------------------\r
# Dans Equation\r
# --------------------------------------\r
\r
def recupereDicoEquation(monMC):\r
- # Equation_reaction (ds 2 blocs)\r
- # ou dans Equation b_type_show b_reaction_type\r
- # ou dans Equation b_type_show b_aging_type\r
+ # Equation_reaction (ds 2 blocs)\r
+ # ou dans Equation b_type_show b_reaction_type\r
+ # ou dans Equation b_type_show b_aging_type\r
\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
editor=monMC.jdc.editor\r
+ monMC.dsMaFunct = True\r
\r
valeurDB=editor.getValeur('Equation','Equation_DB',())\r
maClasseDelistesDB.metAJour(valeurDB)\r
valeurEquationListe=editor.getValeur('Equation','Equation_Liste',('b_type_show',))\r
valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_reaction_type',))\r
if valeurAgingType == None :\r
- valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_aging_type',))\r
+ valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_aging_type',))\r
if valeurAgingType == None : monMC.dsMaFunct = False; return\r
\r
listeEquationPourIhm = []\r
listeReprEquationPourIhm = []\r
dicoListAffiche = {}\r
- \r
+\r
for equation in listEquation :\r
if valeurEquationListe == 'aging_type' :\r
- if equation.type_vieil == valeurAgingType : \r
- listeEquationPourIhm.append(equation)\r
- listeReprEquationPourIhm.append(equation.representation)\r
- dicoListAffiche[equation.representation]=equation\r
+ if equation.type_vieil == valeurAgingType :\r
+ listeEquationPourIhm.append(equation)\r
+ listeReprEquationPourIhm.append(equation.representation)\r
+ dicoListAffiche[equation.representation]=equation\r
else:\r
- if equation.type_react == valeurAgingType : \r
- listeEquationPourIhm.append(equation)\r
- listeReprEquationPourIhm.append(equation.representation)\r
- dicoListAffiche[equation.representation]=equation\r
+ if equation.type_react == valeurAgingType :\r
+ listeEquationPourIhm.append(equation)\r
+ listeReprEquationPourIhm.append(equation.representation)\r
+ dicoListAffiche[equation.representation]=equation\r
maClasseDelistesDB.dicoListAffiche = dicoListAffiche\r
\r
change=editor.changeIntoDefMC('Equation', ('b_type_show','ListeEquation'), listeReprEquationPourIhm )\r
if change :\r
- editor.reCalculeValiditeMCApresChgtInto('Equation', 'listeEquation', ('b_type_show',)) \r
- if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+ editor.reCalculeValiditeMCApresChgtInto('Equation', 'listeEquation', ('b_type_show',))\r
+ if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
monMC.dsMaFunct = False\r
\r
def afficheValeurEquation(monMC):\r
# Equation b_modification modification\r
+ print (monMC)\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
valeur=monMC.valeur\r
if valeur == None : return\r
maClasseDelistesDB.valeurEquationChoisie=str(valeur)\r
monEquation=maClasseDelistesDB.dicoListAffiche[str(valeur)]\r
\r
- aAfficher='jkljkljk \n je ne sais plus \njfkqsljqfkl\nkfsjqklfjkl\n'\r
+ aAfficher=str(monEquation)\r
editor=monMC.jdc.editor\r
- editor._viewText(aAfficher, "Rapport",largeur=30,hauteur=150)\r
- \r
+ editor._viewText(aAfficher, "Id",largeur=80,hauteur=300)\r
+\r
monMC.dsMaFunct = False\r
- \r
+\r
\r
def instancieChemicalFormulation(monMC):\r
+ print ('instancieChemicalFormulation pour ', monMC.nom)\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
if monMC.valeur == False : return\r
\r
if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
editor.dsMaFunct = True\r
\r
+ for e in monMC.jdc.etapes:\r
+ if e.nom == 'Equation' :break\r
print ('ds instancie')\r
v=maClasseDelistesDB.valeurEquationChoisie\r
monEquation=maClasseDelistesDB.dicoListAffiche[v]\r
type_vieil=monEquation.type_vieil\r
\r
editor.changeIntoMCandSet('Equation', ('b_type_show','b_modification','b_modif','ChemicalFormulation'),( v,),v )\r
- return\r
- #change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Reaction_Type'),type_react )\r
+ print ("je passe la")\r
+ change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Reaction_Type'),type_react )\r
change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Aging_Type'), type_vieil )\r
\r
for index,valeurConstituant in enumerate(monEquation.constituants):\r
- valeurEquation=monEquation.equation[index] \r
- editor.ajoutMC(monMC.etape,'OptionnelConstituant',None,('b_type_show','b_modification','b_modif',))\r
+ valeurEquation=monEquation.equation[index]\r
+\r
+ #PNPNPN --> decider des noms SVP ave un nom python\r
+ monMcl1=('Constituant','TXM',{'statut':'o','defaut':valeurConstituant})\r
+ monMcl2=('Differential_Equation','TXM',{'statut':'o','defaut':valeurEquation})\r
+ listeMC=(monMcl1,monMcl2)\r
+ editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f')\r
+ #editor.ajoutMCFact (e,('b_type_show','b_modification','b_modif',),valeurConstituant)\r
print (index,valeurConstituant,valeurEquation)\r
\r
#OptionnelConstituant = FACT ( statut = 'f',max = '**',\r
# Differential_Equation = SIMP(statut= 'o',typ= 'TXM'),\r
\r
for index,valeurConstituant in enumerate(monEquation.const_cine_nom):\r
- valeurArrhe=monEquation.arrhenius[index] \r
- if valeurArrhe : valeurConstanteType='Arrhenius type'\r
- else : valeurConstanteType='non Arrhenius type'\r
- print (index,valeurConstituant,valeurConstanteType)\r
- #OptionnelleConstante = FACT (statut = 'f', max = '**',\r
- # ConstanteName= SIMP (statut = 'o', typ = 'TXM',),\r
- # ConstanteType = SIMP(statut= 'o',typ= 'TXM', min=1,into=('Arrhenius type','non Arrhenius type'),defaut='Arrhenius type'),\r
+ valeurArrhe=monEquation.arrhenius[index]\r
+ if valeurArrhe : valeurConstanteType='Arrhenius type'\r
+ else : valeurConstanteType='non Arrhenius type'\r
+ monMcl1=('ConstanteName','TXM',{'statut':'o','defaut':valeurConstituant})\r
+ monMcl2=('ConstanteType','TXM',{'statut':'o','defaut':valeurConstanteType,'into': ('Arrhenius type','non Arrhenius type') })\r
+ listeMC=(monMcl1,monMcl2)\r
+ editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f')\r
+ #editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',))\r
+\r
\r
change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Commentaire'),monEquation.comment )\r
print (monEquation.comment )\r
\r
monMC.dsMaFunct = False\r
editor.dsMaFunct = False\r
- \r
-# TEMPORAIRE \r
-# TODO TODO TODO\r
-# PNPNPNPNPN\r
+\r
\r
\r
\r
def recupereDicoModele(monMC):\r
if monMC.valeur == None: return\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ monMC.dsMaFunct = True\r
print ('je passe dans recupereDicoModele')\r
- listEquation, listModele,listPostTraitement=recupereDicoGenerique(monMC)\r
+\r
editor=monMC.jdc.editor\r
- editor.maClasseVisuEquation = classeVisuEquation({},listEquation, listModele,listPostTraitement)\r
+ valeurDB=editor.getValeur('Modele','Modele_DB',())\r
+ maClasseDelistesDB.metAJour(valeurDB)\r
+\r
+ print ('fin recupereDicoModele')\r
monMC.dsMaFunct = False\r
\r
\r
def creeListeEquation(monMC):\r
if monMC.valeur == None: return\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
-\r
editor=monMC.jdc.editor\r
-# TEMPORAIRE \r
-# TODO TODO TODO\r
+ if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+ editor.dsMaFunct = True\r
+ print ('debut de creeListeEquation')\r
+\r
listeEquationsAAfficher=[]\r
listeConstantesAAfficher=[]\r
- for index,equation in enumerate( editor.maClasseVisuEquation.listEquation):\r
+ listeInitialEquations=[]\r
+\r
+ listEquation=maClasseDelistesDB.getListEquation()\r
+ for index,equation in enumerate( listEquation):\r
if index in monModele.equa:\r
listeEquationsAAfficher.append(equation.representation)\r
listeConstantesAAfficher.append(equation.const_cine_nom)\r
+ t=equation.representation+'\t\t\t\t '+str(equation.const_cine_nom)\r
+ listeInitialEquations.append(t)\r
\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','Initial_Equation_List'),listeInitialEquations )\r
+ maClasseDelistesDB.listeEquationsAAfficher = listeEquationsAAfficher\r
+ maClasseDelistesDB.listeConstantesAAfficher = listeConstantesAAfficher\r
monMC.dsMaFunct = False\r
+ print ('fin de creeListeEquation')\r
\r
- # listeEquation_stabilization=SIMP(statut='o', homo='SansOrdreNiDoublon', max='**', min=0 ),\r
+ editor.dsMaFunct = False\r
+\r
+ # listeEquation_stabilization=SIMP(statut='o', homo='SansOrdreNiDoublon', max='**', min=0 ),\r
\r
def recupereModeleEquation(monMC):\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
if monMC.valeur==False : return\r
editor=monMC.jdc.editor\r
if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+ editor.dsMaFunct = True\r
+ print ('je suis dans recupereModeleEquation')\r
\r
editor.dsMaFunct = True\r
dicoListeEquationAAfficher={}\r
\r
+ from VP_Cata_V2 import monDico\r
+ listEquation=maClasseDelistesDB.getListEquation()\r
for valeurReactionType in monDico['Equation_Liste']:\r
- dicoListeEquationAAfficher[valeurReactionType] = [] \r
- for index,equation in enumerate( editor.maClasseVisuEquation.listEquation):\r
- if equation.type_react==valeurReactionType : \r
- dicoListeEquationAAfficher[valeurReactionType].append(equation.representation)\r
- print (dicoListeEquationAAfficher)\r
- \r
- change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation'] )\r
- change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] )\r
- change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] )\r
- change=editor.changeIntoDefMC('Modele', ('b_type_creation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] )\r
+ dicoListeEquationAAfficher[valeurReactionType] = []\r
+ for index,equation in enumerate( listEquation):\r
+ if equation.type_react==valeurReactionType :\r
+ dicoListeEquationAAfficher[valeurReactionType].append(equation.representation)\r
+ maClasseDelistesDB.dictParametresInitiaux[equation.representation]=equation\r
+ #print (dicoListeEquationAAfficher)\r
+ #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux)\r
+ prepareDiffusionSansMC(editor,monMC.nom)\r
+\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation'])\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] )\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] )\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] )\r
if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+\r
+ print ('fin recupereModeleEquation')\r
+ monMC.dsMaFunct = False\r
editor.dsMaFunct = False\r
\r
+def ajoutDUneEquation(monMC):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ if monMC.valeur==False : return\r
+ editor=monMC.jdc.editor\r
+ prepareDiffusionSansMC(editor,monMC.nom)\r
+ if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+ editor.dsMaFunct = False\r
+ monMC.dsMaFunct = False\r
+\r
def prepareDiffusion(monMC):\r
- print ('je suis dans prepareDiffusion')\r
if monMC.valeur==False : return\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
monMC.dsMaFunct=True\r
editor=monMC.jdc.editor\r
if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
editor.dsMaFunct = True\r
- editor.dicoCoefS={}\r
- editor.dicoCoefD={}\r
- for c in monModele.coef[0].keys() :\r
- if c[0]=='S':\r
- clef=c[1:]\r
- valeur= monModele.coef[0][c]\r
- editor.dicoCoefS[clef]=valeur\r
- if c[0]=='D':\r
- clef=c[1:]\r
- valeur= monModele.coef[0][c]\r
- editor.dicoCoefD[clef]=valeur\r
- print (editor.dicoCoefS,editor.dicoCoefD)\r
+ print ('je suis dans prepareDiffusion', monMC.nom)\r
+ prepareDiffusionSansMC(editor,monMC.nom)\r
+ print ('fin de prepareDiffusion', monMC.nom)\r
monMC.dsMaFunct=False\r
editor.dsMaFunct = False\r
\r
+def prepareDiffusionSansMC(editor,monMCNom):\r
+ lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),)\r
+ lInitialCoche=[]\r
+ for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0])\r
+ lInititiationCoche=editor.getValeur('Modele','listeEquation_initiation', ('b_type_creation','Chemical_Equation',))\r
+ lPropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',))\r
+ lTerminationCoche=editor.getValeur('Modele','listeEquation_termination', ('b_type_creation','Chemical_Equation',))\r
+ lStabilizationCoche=editor.getValeur('Modele','listeEquation_stabilization', ('b_type_creation','Chemical_Equation',))\r
+\r
+ print (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche)\r
+ for liste in (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche):\r
+ # Il est possible qu'une liste soit vide lors de l initialisation\r
+ if liste == None : continue\r
+ for equation in liste :\r
+ print (equation)\r
+ for const in maClasseDelistesDB.dictParametresInitiaux[equation].constituants :\r
+ if const not in maClasseDelistesDB.listeParametresInitiaux : maClasseDelistesDB.listeParametresInitiaux.append(const)\r
+ #for coef in maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom :\r
+ # if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef)\r
+ for num,coef in enumerate(maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom ):\r
+ maClasseDelistesDB.dicoCoefAffichageArr[coef]=maClasseDelistesDB.dictParametresInitiaux[equation].arrhenius[num]\r
+ if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef)\r
+\r
+ #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux)\r
+ if monMCNom == 'Diffusion' :\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_diffusion','listeProduitPourLaDiffusion'), maClasseDelistesDB.listeParametresInitiaux )\r
+ if monMCNom == 'Evaporation' :\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_evaporation','listeProduitPourLEvaporation'), maClasseDelistesDB.listeParametresInitiaux )\r
+\r
+ if monMCNom in ('Evaporation','Diffusion') :\r
+ for c in list(monModele.coef[0].keys()) :\r
+ if c[0]=='D':\r
+ clef=c[1:]\r
+ if clef in maClasseDelistesDB.listeParametresInitiaux :\r
+ maClasseDelistesDB.listeCoefD.append(clef)\r
+ maClasseDelistesDB.listeCoefInitiaux.append('D'+clef)\r
+ maClasseDelistesDB.listeCoefInitiaux.append('S'+clef)\r
+ else :\r
+ maClasseDelistesDB.listeCoefASupprimer.append('S'+clef)\r
+ maClasseDelistesDB.listeCoefASupprimer.append('D'+clef)\r
+ if c[0]=='B':\r
+ clef=c[1:]\r
+ if clef in maClasseDelistesDB.listeParametresInitiaux :\r
+ maClasseDelistesDB.listeCoefB.append(clef)\r
+ maClasseDelistesDB.listeCoefInitiaux.append(c)\r
+ else :\r
+ maClasseDelistesDB.listeCoefASupprimer.append(c)\r
+ print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefB)\r
+ print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefD)\r
+ print ('maClasseDelistesDB.listeCoefInitiaux',maClasseDelistesDB.listeCoefInitiaux)\r
+ print ('maClasseDelistesDB.listeCoefASupprimer',maClasseDelistesDB.listeCoefASupprimer)\r
+ print ('maClasseDelistesDB.listeParametresInitiaux',maClasseDelistesDB.listeParametresInitiaux)\r
+ # au lieu des print il faut mettre a jour le MC Fact Coefficients avec ,maClasseDelistesDB.listeCoefInitiaux et le MC FACT\r
+ # Paraetres_initiaux avec maClasseDelistesDB.listeParametresInitiaux\r
+ # TO DO TO DO PNPN\r
+ # si on arrive avex\r
+ # if monMC.nom = Diffusion\r
+ if monMCNom == 'Diffusion' :\r
+ editor.setValeur('Modele','listeProduitPourLaDiffusion' ,maClasseDelistesDB.listeCoefD, ('b_type_creation','Transport','b_diffusion',))\r
+ #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefD')\r
+ # if monMCNom == 'Evaporation' :\r
+ #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefB')\r
+\r
+\r
+\r
+def ajouteEvaporation(monMC):\r
+ print ('je suis dans ajouteDiffusion')\r
+ if monMC.valeur == None : return\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ editor=monMC.jdc.editor\r
+ if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+\r
+ monMC.dsMaFunct=True\r
+ for v in monMC.valeur :\r
+ clef='B'+v\r
+ if clef not in maClasseDelistesDB.listeCoefInitiaux :\r
+ maClasseDelistesDB.listeCoefInitiaux.append(clef)\r
+\r
+ print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux)\r
+ monMC.dsMaFunct=False\r
+ editor.dsMaFunct = False\r
\r
def ajouteDiffusion(monMC):\r
print ('je suis dans ajouteDiffusion')\r
if monMC.valeur == None : return\r
- print (monMC.valeur)\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ editor=monMC.jdc.editor\r
+ if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+\r
monMC.dsMaFunct=True\r
+ for v in monMC.valeur :\r
+ clef='D'+v\r
+ if clef not in maClasseDelistesDB.listeCoefInitiaux :\r
+ maClasseDelistesDB.listeCoefInitiaux.append(clef)\r
+ maClasseDelistesDB.listeCoefInitiaux.append('S'+v)\r
+ maClasseDelistesDB.dicoCoefAffichageArr[clef] = True\r
+ maClasseDelistesDB.dicoCoefAffichageArr['S'+v] = False\r
+ #maClasseDelistesDB.dicoCoefAffichageArr['B'+v] = True\r
+\r
+ # on affiche dans l interface un mot clef avec clef comme nom et\r
+ # 2 reels si ce commence par D soit iniitialise a 0 si pas de valeur\r
+ # soit avec comme deifaut nomCoef in monModele.coef[0].keys()\r
+ print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux)\r
+\r
+ for nomCoef in maClasseDelistesDB.listeCoefInitiaux:\r
+ #A jout Ds Coef d'un MC\r
+ nomMC='Coef_'+nomCoef\r
+ if maClasseDelistesDB.dicoCoefAffichageArr[nomCoef] == True:\r
+ print ('2 r'),\r
+ if nomCoef in monModele.coef[0].keys() :\r
+ print (monModele.coef[0][nomCoef])\r
+ else :\r
+ print ((0,0))\r
+ else :\r
+ print ('1 r')\r
+ if nomCoef in monModele.coef[0].keys() :\r
+ print (monModele.coef[0][nomCoef])\r
+ else :\r
+ print (0)\r
+\r
+ print ('______________________')\r
+ #for v in monMC.valeur :\r
+ # print (v)\r
+ # mesValeurs=editor.dicoCoefS[v]\r
+ # MCFils='S'+v\r
+ # for e in monMC.jdc.etapes:\r
+ # if e.nom == 'Modele' :break\r
+ # editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' )\r
+ # editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',))\r
+ # print ('______')\r
+ #if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+ monMC.dsMaFunct=False\r
+ editor.dsMaFunct = False\r
+\r
+\r
+# --------------------------------------------------------------------------------------------\r
+# pour les modeles en modification ou en utilisation\r
+# --------------------------------------------------------------------------------------------\r
+def creeListeMateriauxSelonModele(monMC):\r
+ if monMC.valeur == None : return\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
editor=monMC.jdc.editor\r
if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
- editor.dsMaFunct = True\r
\r
+ valeurDB=editor.getValeur('Modele','Modele_DB',())\r
+ maClasseDelistesDB.metAJour(valeurDB)\r
+ listModele=maClasseDelistesDB.getListModele()\r
+ listModeleFiltre=[]\r
+ listMateriauxFiltre=[]\r
+ for modele in listModele :\r
+ if modele.technical_use == monMC.valeur :\r
+ maClasseDelistesDB.dicoModeleFiltre[modele.nom]=modele\r
+ listModeleFiltre.append(modele.nom)\r
+ if type(modele.materiaux) not in (list, tuple): modeleATraiter= modele.materiaux\r
+ else : modeleATraiter= modele.materiaux[0]\r
+ if modeleATraiter not in listMateriauxFiltre :\r
+ listMateriauxFiltre.append(modeleATraiter)\r
+ maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter]=[modele.nom,]\r
+ else :\r
+ maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter].append(modele.nom)\r
+\r
+\r
+\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','material'),listMateriauxFiltre )\r
+\r
+ monMC.dsMaFunct=False\r
+ editor.dsMaFunct = False\r
+\r
+def creeListeModelesPossibles(monMC):\r
+ if monMC.valeur == None : return\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ editor=monMC.jdc.editor\r
+ if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+ change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','modele'),maClasseDelistesDB.dicoMateriauxFiltre[monMC.valeur] )\r
\r
- for v in monMC.valeur :\r
- print (v)\r
- mesValeurs=editor.dicoCoefS[v]\r
- print (editor.dicoCoefS)\r
- print (mesValeurs) \r
- MCFils='S'+v\r
- for e in monMC.jdc.etapes:\r
- if e.nom == Modele :break\r
-\r
- print (e)\r
- editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' )\r
- print ('ggggg')\r
- editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',))\r
- print ('______')\r
- if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
monMC.dsMaFunct=False\r
editor.dsMaFunct = False\r
\r
+def choisitModele(monMC):\r
+ # Equation b_modification modification\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ valeur=monMC.valeur\r
+ if valeur == None : return\r
+ modele=maClasseDelistesDB.dicoModeleFiltre[monMC.valeur]\r
+ maClasseDelistesDB.monModele=modele\r
+ monMC.dsMaFunct = False\r
+\r
+def choisitActionModele(monMC):\r
+ if monMC.valeur == 'display' : afficheModele(monMC)\r
+ if monMC.valeur == 'modify' : changeValeurDefautModele(monMC)\r
+\r
+def afficheModele(monMC):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ valeur=monMC.valeur\r
+ aAfficher=str(maClasseDelistesDB.monModele)\r
+ editor=monMC.jdc.editor\r
+ editor._viewText(aAfficher, "Id",largeur=700,hauteur=500)\r
+\r
+ monMC.dsMaFunct = False\r
+\r
+def changeValeurDefautModele(monMC):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ monMC.dsMaFunct = True\r
+ editor=monMC.jdc.editor\r
+ change=editor.changeIntoMCandSet('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID','modeleName'),(maClasseDelistesDB.monModele.nom,),maClasseDelistesDB.monModele.nom, )\r
+ editor.setValeur('Modele','technicalUse',maClasseDelistesDB.monModele.technical_use, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+\r
+ editor.setValeur('Modele','material',maClasseDelistesDB.monModele.materiaux, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+ editor.setValeur('Modele','agingType',maClasseDelistesDB.monModele.type_vieil, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+\r
+ if maClasseDelistesDB.monModele.stabilise == 'True' : monBool = True\r
+ else : monBool = False\r
+ editor.setValeur('Modele','stabilizer',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+ editor.setValeur('Modele','material_thickness',maClasseDelistesDB.monModele.thickness, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+\r
+ if maClasseDelistesDB.monModele.dvt_EDF == 'True' : monBool = True\r
+ else : monBool = False\r
+ editor.setValeur('Modele','model_developed_by_for_EDF',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+ editor.setValeur('Modele','documentation',maClasseDelistesDB.monModele.reference, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID'))\r
+ if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+ monMC.dsMaFunct = False\r
+\r
+\r
+\r
+def creeCoefAModifier(monMC):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ if monMC.valeur == None : return\r
+ monMC.dsMaFunct = True\r
+ editor=monMC.jdc.editor\r
+ dicoArr={}\r
+ dicoNonArr={}\r
+ for coef in maClasseDelistesDB.monModele.coef[0] :\r
+ if len (maClasseDelistesDB.monModele.coef[0][coef]) == 1 :\r
+ dicoNonArr[coef]=maClasseDelistesDB.monModele.coef[0][coef][0]\r
+ else :\r
+ dicoArr[coef]=maClasseDelistesDB.monModele.coef[0][coef]\r
+ if coef[0] == 'D' : maClasseDelistesDB.listeDiffusion.append(coef[1:])\r
+ print (dicoNonArr)\r
+ print (dicoArr)\r
+ if 'ri' in dicoNonArr :\r
+ print ('ajoutDefinitionMC debitOfDose')\r
+ editor.ajoutDefinitionMC('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor'), 'debitOfDose',typ='R',statut='o' )\r
+\r
+ for coef in dicoNonArr :\r
+ print (coef)\r
+ # attention, notation scientifique\r
+ editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use',),coef, 'R', statut='o',defaut=dicoNonArr[coef])\r
+ # a faire marcher\r
+ # pour les Arr il faut un tuple(2)\r
+\r
+ # il fait creer un fact Boundary_Conditions_Param pour chacque espece de listeDiffusion\r
+\r
+ if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+\r
+ monMC.dsMaFunct = False\r
+\r
+\r
+def remplirAgingFactor(monMC):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ if monMC.valeur == None : return\r
+ monMC.dsMaFunct = True\r
+ editor=monMC.jdc.editor\r
+ if monMC.valeur in dicoAgingFactor:\r
+ print (monMC.valeur, 'trouve')\r
+ for MC in dicoAgingFactor[monMC.valeur]:\r
+ print (MC)\r
+ print (dicoAgingFactor[monMC.valeur][MC]),\r
+ editor.setValeur('Modele',MC,dicoAgingFactor[monMC.valeur][MC],('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor'))\r
+ monMC.dsMaFunct = False\r
+\r
+\r
+def creeInitialParameter(monMC):\r
+ print ('je passe dans creeInitialParameter')\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ if monMC.valeur == None : return\r
+ monMC.dsMaFunct = True\r
+ editor=monMC.jdc.editor\r
+ for coef in maClasseDelistesDB.monModele.param_ini:\r
+ editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use2','Initial_Parameter'),coef, 'R', statut='o',defaut=maClasseDelistesDB.monModele.param_ini[coef][0])\r
+ monMC.dsMaFunct = False\r
+ # creer nbdenode = monMC.valeur Initial_Parameter\r