--- /dev/null
+# coding: utf-8 -*-
+#
+# Copyright (C) 2012-2013 EDF
+#
+# This file is part of SALOME HYDRO module.
+#
+# SALOME HYDRO module is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# SALOME HYDRO module is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
+
+import types
+from Accas import *
+import types
+class Tuple:
+ def __init__(self,ntuple):
+ self.ntuple=ntuple
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType: return None
+ if len(valeur) != self.ntuple: return None
+ return valeur
+
+ def info(self):
+ return "Tuple de %s elements" % self.ntuple
+
+
+
+dico_Modeles_Numeriques = {
+ 'DPD' : { 'hybride': ('hybride_microscopic', 'hybride_macroscopic SPDP'),
+ 'standalone' : ('DPD'),
+ }
+}
+def description_manuelle_particule_DEM():
+ return FACT(statut ='o', max= "**",
+ Position = SIMP(statut='o', typ='R', max=3, min =3),
+ Vitesse = SIMP(statut='o', typ='R', max=3, min =3),
+ Vitesse_Rotation = SIMP(statut='o', typ='R', max=3, min =3 ),
+ )
+
+def description_manuelle_particule_cinetique():
+ return FACT(statut ='o', max= "**",
+ Position = SIMP(statut='o', typ='R', max=3, min =3),
+ Vitesse = SIMP(statut='o', typ='R', max=3, min =3),
+ )
+
+def description_manuelle_particule_cinetique_etendue():
+ return FACT(statut ='o', max= "**",
+ Position = SIMP(statut='o', typ='R', max=3, min =3),
+ Vitesse = SIMP(statut='o', typ='R', max=3, min =3),
+ Temperature = SIMP(statut='f', typ='R', ),
+ Diffusivite = SIMP(statut='f', typ='R'),
+ Concentration = SIMP(statut='f', typ='R'),
+)
+
+def bloc_description_particule_fichier ():
+ return BLOC ( condition = 'type_description_particule == "fichier"',
+ fichier_particules= SIMP(statut='o', typ = ('Fichier','All Files (*)'),),
+ format_fichier = SIMP (statut='o', typ = 'TXM', into = ['txt', 'a definir avec Eric']),
+ )
+
+def bloc_description_particule_manuelle (fonction_type_de_description) :
+ return BLOC ( condition = 'type_description_particule == "manuelle"',
+ Nombre_D_Especes = SIMP(statut = 'o', typ = 'I', defaut =1,),
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = " definir autant d espece que le nombre d especes"),
+ Espece = FACT ( statut='o', max = "**",
+ Particule = apply(fonction_type_de_description),
+ ), # fin fact Espece
+ ) # end b_manuelle
+
+def bloc_description_particule_tableau (nbReels, labels):
+ return BLOC ( condition = 'type_description_particule == "tableau"',
+ Nombre_D_Especes = SIMP(statut = 'o', typ = 'I', defaut =1,),
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = " definir autant d espece que le nombre d especes"),
+ Espece = FACT ( statut='o', max = "**",
+ Particules = SIMP( fenetreIhm='Tableau', homo = labels,
+ statut='o', min=2, max='**',
+ typ = Tuple(nbReels),
+ validators=VerifTypeTuple(("'R',"*nbReels),),) # end Particule
+ ), # fin fact Espece
+ ) # end b_tableau
+
+dict_Composant = { "Cas Silvia" : ['Particule'],
+ "Ecoulement_diphasique_disperse" : ['Particule', 'Fluide','Solide','Plasma','Particule']
+ }
+JdC = JDC_CATA()
+
+
+Etude = PROC (nom = 'Etude',
+ Titre = SIMP(statut='o', typ = 'TXM'),
+
+ Domaine_Geometrique= FACT( statut='o',
+ Forme = SIMP(statut='o', typ = 'TXM',into = ['Forme Simplifiee', 'CAO']),
+ b_Forme = BLOC( condition = 'Forme == "Forme Simplifiee"',
+ Boite = SIMP(statut='o', typ = 'TXM',into = ['Cube', 'Sphere']),
+ ),
+ ),
+
+ Systeme_Global= FACT( statut='o',
+ Type_De_Systeme = SIMP(statut='o', typ = 'TXM',into = ['Ecoulement_diphasique_disperse', 'Cas Silvia']),
+
+ # PN pour XSD
+ #b_Type_Silvia = BLOC( condition = 'Type_Definition == "Cas Silvia"',
+ # Composant = SIMP( statut='o', typ = 'TXM',into = ['Particule', 'Fluide'], max='**'),
+ #),
+ #b_Type_Ecoulement = BLOC( condition = 'Type_Definition == "Ecoulement_diphasique_disperse"',
+ Composant = SIMP(statut='o', typ = 'TXM',into = ['Particule', 'Fluide','Solide','Plasma','Particule'], max="**"),
+ #),
+
+ Niveau_De_Description = FACT ( min=1, max= 2, statut='o',
+ Niveau_De_Description_Generale = SIMP( statut ='o', typ = 'TXM',into = ['Microscopique','Mesoscopique', 'Macroscopique']),
+
+ b_Mesoscopique = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique'",
+ Description_Physique = FACT( statut = 'o',
+ Nombre_D_Especes = SIMP( statut = 'o', typ = 'I', defaut =1, position ='global_jdc'),
+ Espece = FACT( statut='o', max = "**",
+ Nom_De_L_Espece = SIMP( statut='o', typ = 'TXM'),
+ Masse_Molaire = SIMP( statut='o', typ='R',),
+ Proportion_En_Nbre_Ou_Masse = SIMP(statut='f', typ='R',),
+ b_Electostatique = BLOC( condition = "electrostatics == True",
+ Charge = SIMP( statut = 'o', typ = 'R')
+ ) # fin b_electorsatique
+ ), # fin Espece
+
+ Electrostatics = SIMP( statut='o', typ=bool, defaut=False, position ='global'),
+ b_Electrostatics= BLOC( condition = 'electrostatics == True',
+ Definition_Electrostatic = FACT ( statut ='o',
+ Type_Interaction = SIMP ( statut ='o', typ = 'TXM', into = ['champ moyen', 'interparticulaire']),
+ b_Interparticulaire = BLOC( condition = 'type_interaction == "interparticulaire"',
+ Interactions_Par_Particule = FACT( statut='o', min = 1, max = "**", # min=n, max=n(n+1)/2
+ Nom_Des_Especes = SIMP ( statut ='o', typ = 'TXM', min=2, max=2),
+ ), # fin Interactions_par_particule
+ ), # fin b_interparticulaire
+ ), # fin definition_electrostatic
+ ), # fin b_Electrostatics
+
+ InterActions_Interparticulaires = FACT( statut='o', min = 1, max = "**", # n n(n+1)/2
+ Nom_Des_Especes = SIMP ( statut ='o', typ = 'TXM', min=2, max=2),
+ ), # InterActions_interparticulaires
+
+
+ Physique_Statistique_Equilibre = SIMP( statut='o', typ=bool, defaut=False, position ='global'),
+ b_Physique_Statistique_Equilibre = BLOC( condition = "Physique_statistique_equilibre == True",
+ Distribution = SIMP(statut='o', typ='TXM', defaut='nvt', into=['nvt','nve']),
+ b_Nvt = BLOC ( condition = "distribution == 'nvt'",
+ Target_Temperature = SIMP( statut='o', typ='R')
+ ), # fin b_nvt
+ b_nve = BLOC ( condition = "distribution == 'nve'",
+ Target_Energie = SIMP( statut='o', typ='R')
+ ), # fin b_nve
+ ), # b_Physique_statstique_equilibre
+ ), # Description_Physique
+
+ Type_De_Description = FACT( min=1, max =2, statut='o',
+ Type_Description = SIMP( statut ='o', typ = 'TXM',into = ['Description_par_Particule', 'Description_par_Champ'], defaut = 'Description_par_Particule'),
+ b_Particule = BLOC( condition = 'Type_De_Description == "Description_par_Particule"',
+ Modele_De_Particule = FACT ( statut='o', max ='**',
+ Type_D_Entite = SIMP(statut='o', typ = 'TXM',into =['Coarse', 'Atom'], defaut='Coarse'),
+ Vecteur_Etat_Cinetique = SIMP( fenetreIhm='Tableau', homo = ('Ux','Uy', 'Uz,', 'Vx','Vy', 'Vz',),
+ statut='o', min=2, max='**',
+ typ = Tuple(6),
+ validators=VerifTypeTuple(('R','R','R','R','R','R'),),), # end Particule
+
+ ), # Modele_De_Particule
+ Modele_Numerique = FACT ( statut='o',
+ Modele_Numerique = SIMP (statut = 'o', typ = 'TXM', into = ['MD', 'DPD'], defaut ='DPD'),
+ b_DPD = BLOC(condition = 'Modele_Numerique == "DPD"' ,
+ Structure_Loi_evolution = SIMP (statut = 'o', typ = 'TXM', into = ['Equations de Langevin']),
+ # a faire en fonction et projection des types fonctions en XSD a reflechir
+ Species_Pair_Parameters = FACT(statut='o', max="**",
+ #Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "renvoie a InterActions_interparticulaires "),
+ Pair_Interaction = SIMP(statut ='o', max=2, typ = 'TXM'),
+ # lennard_jones si MD et groot_warren DPD
+ Species_Pair_Parameters_Potential_Type = SIMP( statut='o', typ='TXM',into=['groot_warren','lennard_jones']),
+ b_Parameters_Potential_Type_Groot_Warren = BLOC( condition= "species_pair_parameters_potential_type == 'groot_warren'",
+ Groot_Warren_Repulsion = SIMP( statut='o',typ='R',defaut=25.0,val_min=0),
+ Groot_Warren_Cutoff = SIMP( statut='o',typ='R',defaut=1.0,val_min=0),
+ ), # b_parameters_potential_type_groot_warren
+ Drag_Coefficient = SIMP( statut='o', typ='R'),
+ Drag_Force_Cutoff = SIMP( statut='o', typ='R', val_min=0, ),
+ ), # species_pair_parameters
+
+ ), # b_DPD
+ ), # Modele_Numerique
+ ), # b_Particule
+
+ ), # Type_De_Description
+ ), # bloc b_Mesoscopique
+ ), # Niveau_De_Description
+
+ #electrostatics_is_on = SIMP(statut='o', typ=bool, defaut=False)
+# Temps_Physique_Simule
+ ), # fin Systeme_Global
+
+) # Etude
+
+# # Systeme physique : met en oeuvre 1 ou plusieurs des 4 entites ELectron
+# # Atome Coarse CVE (en check) but de l etude
+# # plasma, solid, fluid , particule
+# # met en oeuvre des composants principaux puis a quel niveau
+# # sous systeme physique elementaire pour composant principal
+# #
+# Niveau_De_Description = SIMP(statut='o', max= '**',typ ='TXM', into = ['Microscopic','Mesoscopic', 'Macroscopic',], homo= 'SansOrdreNiDoublon',position='global') ,
+# Type_De_Description = SIMP( statut='o', max= '**',homo ='SansOrdreNiDoublon',typ ='TXM', into = ['Modele Particulaire','Particulaire Stochastique','Automate sur reseau','Lagrangien Stochastique'],position='global') ,
+# Modele_numeric = SIMP( statut='o', max= '**',homo ='SansOrdreNiDoublon',typ ='TXM', into = ['MD','DPD', 'DEM', 'CFD','LBM'],position='global') ,
+# # selon les types de description on aura un modele de description de particules =
+# # vecteur d etat ( approche cinetique et approche cinetique etendue ( electromagnetisme ou charge ...)) (independant du nb d espece)
+# # on peut avoir des vecteurs d etat differents pour chacune des especes mais un vecteur d etat seulement par espece (differentes especes )
+# #
+# #
+# # en ddp la loi de comportement est donnée
+# # DPD - > approche cinetique
+# # on choisit la structure de loi d evolution = langevin
+# # expression de la force conservative = loi de comportement (p33) _ MR (0 ou n)
+# # pour la m loi d evolution avec parametres fixes standalone
+# # pour la m loi d evolution avec parametres sont donnes par 1 ou +sieurs calculs (surtout en CFD pour +sieurs calcul pour chaque niveau) (hybride)
+# # on pourrait ne pas avoir de loi de comportement mais des parametres de la loi d evolution
+# # fermeture des contraintes : q faire sur une quantite numerique
+# # il y a des familles de structure de loi d evolution en fonction du couple ( modele de description et du modele numerique )
+# # DPD : 1 structure de loi d evolution : 3 termes
+# # 1 et 1 seule structure de loi d evolution par modele numerique (inverse pas vrai : si langevin par forcement DPD)
+# #Entite = SIMP(statut='o', max= '**',homo ='SansOrdreNiDoublon',typ ='TXM', into = ['element','atomic', 'grain', 'CVE (cont volume)'],position='global'),
+# #method_numeric = SIMP(statut='o', typ ='TXM', into = ['DPD ', 'SDPD']),
+# type_de_methode= SIMP(statut='o', typ ='TXM', into = ['stand_alone', 'hybride'])
+# # MD = molecular dynamics (= microscopic)
+# # CFD = computational fluid dynamics (= macroscopic)
+# # DPD = Dissipative Particule dynamics (= meso)
+# # DEM = Discrete Element Method
+# # ----------------------------------------------
+# #b_DEM = BLOC (condition = 'Type_Etude == "DEM"',
+# # ----------------------------------------------
+# # type_description_particule = SIMP(statut = 'o', typ ='TXM', into =['fichier', 'tableau', 'manuelle'],position = 'global'),
+# # b_fichier = bloc_description_particule_fichier(),
+# # b_tableau = bloc_description_particule_tableau (9, ('Ux','Uy', 'Uz,', 'Vx','Vy', 'Vz','Rx','Ry','Rz')),
+# # b_manuelle = bloc_description_particule_manuelle(description_manuelle_particule_DEM),
+# # ), # fin b_DEM
+#
+# # ------------------------------------------------
+## b_CFD = BLOC (condition = 'Type_Etude == "CFD"',
+## # -----------------------------------------------
+## Ecoulement = SIMP(statut='o', typ ='TXM', into = ['Laminaire','Turbulent']),
+## FLuid = FACT( statut = 'o',
+## Masse_Volumique = SIMP(statut='o', typ='R', ),
+## Viscosite_cinetique = SIMP(statut='o', typ='R', ),
+## Diffusivite_thermique = SIMP(statut='f', typ='R', ),
+## Diffusivite_des_especes = SIMP(statut='f', typ='R', max = '**'),
+## ),
+##
+## #Particule = FACT( statut = 'o', max="**",
+## # Description_Cinetique = Description_manuelle_Particule_Cinetique_etendue(),
+## # ),
+## # type_description_particule = SIMP(statut = 'o', typ ='TXM', into =['fichier', 'tableau', 'manuelle'],position = 'global'),
+## # b_fichier = bloc_description_particule_fichier(),
+## #b_tableau = bloc_description_particule_tableau (9, ('Ux','Uy', 'Uz,', 'Vx','Vy', 'Vz','Rx','Ry','Rz')),
+## ), # fin b_CFD
+##
+## b_MD = BLOC (condition = 'Type_Etude == "MD"',
+## type_description_particule = SIMP(statut = 'o', typ ='TXM', into =['fichier', 'tableau', 'manuelle'],position = 'global'),
+## b_fichier = bloc_description_particule_fichier(),
+## b_tableau = bloc_description_particule_tableau (6, ('Ux','Uy', 'Uz,', 'Vx','Vy', 'Vz')),
+## b_manuelle = bloc_description_particule_manuelle(description_manuelle_particule_cinetique),
+##
+## Materiel_Relation = FACT( statut ='f',
+## Entree_Possible= SIMP(statut='o', typ ='TXM', into = ['calcul', 'fichier']),
+## b_fichier = BLOC (condition = "Entree_Possible == 'fichier'",
+## fichier_MR= SIMP(statut='o', typ= ('Fichier','All Files (*)')),
+## ),
+## ),
+## ), # fin b_MD
+## # ---------------------------------------------
+## b_DPD = BLOC (condition = 'Type_Etude == "DPD"',
+## # ---------------------------------------------
+## type_description_particule = SIMP(statut = 'o', typ ='TXM', into =['fichier', 'tableau', 'manuelle'],position = 'global'),
+## b_fichier = bloc_description_particule_fichier(),
+## b_tableau = bloc_description_particule_tableau (6, ('Ux','Uy', 'Uz,', 'Vx','Vy', 'Vz')),
+## b_manuelle = bloc_description_particule_manuelle(description_manuelle_particule_cinetique),
+## Thermostat = SIMP(statut='o', typ='R', ),
+## ),
+##)
+### ),
+### ),
+#)
+### #Fluid = SIMP(statut='o', typ ='TXM', into ='Laminaire', 'Trubulent'])
+### # Temperature = SIMP(statut='f', typ='R', ),
+### # Concentration = SIMP(statut='f', typ='R'),
+### # Diffusivite = SIMP(statut='f', typ='R'),
+### # Frottement = SIMP(statut='f', typ='R'),
+### # Concentration = SIMP(statut='f', typ='R'),
+### #),
+###
+###
--- /dev/null
+# -*- coding: utf-8 -*-
+import types
+from Accas import *
+
+#import lienDB
+
+monDico= { 'Equation_Liste' : ('initiation', 'propagation', 'termination', 'stabilization'),
+ 'Modele_TechnicalUse' : ('cable', 'coating', 'pipes'),
+ 'Aging_Factor' : { 'predefinedSimulationTime' : ('40years BR top', '40years BR bottom')},
+ 'Boundary_Conditions' : ('flux_volume','flux_surface','constant_constration','convection_flux'),
+ 'posttraitement_Typ' : ('chimique','mecanique','physique'),
+ }
+
+from mapy.virtual_polymer_common import class_data
+monMechanisticModel=class_data.Modele()
+monMechanisticEquation=class_data.Equation()
+if monMechanisticEquation.comment == "" : monMechanisticEquation.comment = ' '
+
+
+
+def chercheConstituant(laClasse):
+ lesArgs={}
+ lesArgs['statut']='o'
+ for constituant in laClasse.constituants :
+ monIndex=laClasse.constituants.index(constituant)
+ valdefaut=laClasse.equation[monIndex]
+ monSimp=SIMP(statut = 'o', typ = bool, defaut=True)
+ lesArgs[constituant]=monSimp
+
+ lesArgsBloc={}
+ nomEquation = ' differentiel_'+constituant
+ monSimp2 = SIMP(statut= 'o',typ= 'TXM', defaut = valdefaut)
+ laCondition= constituant+' == True'
+ lesArgsBloc['condition']=laCondition
+ lesArgsBloc[nomEquation]=monSimp2
+ nomBloc = 'b_'+constituant
+ leBloc = BLOC(**lesArgsBloc)
+ lesArgs[nomBloc]=BLOC(**lesArgsBloc)
+ return FACT(**lesArgs)
+
+def chercheConstantes(laClasse):
+ lesArgs={}
+ lesArgs['statut']='o'
+ for constante in laClasse.const_cine_nom :
+ monSimp=SIMP(statut = 'o', typ = bool, defaut=True)
+ lesArgs[constante]=monSimp
+ return FACT(**lesArgs)
+
+
+
+
+JdC = JDC_CATA(code='VP',
+ execmodul=None,
+ )
+
+# ------------------------------------------
+Database = PROC (nom="Database", op=None,
+# ------------------------------------------
+ Database_Type = SIMP(statut= 'o',typ= 'TXM', into=("Local database", "Standard database"),),
+ Model_Type = SIMP(statut= 'o',typ= 'TXM', into=("master model", "analytic model" ,"mechanistic model") ),
+
+
+# ------------------------------------------------------------------------
+ b_Model_Mechanistic = BLOC(condition = "Model_Type == 'mechanistic model'",
+# ------------------------------------------------------------------------
+ Type_chgt = SIMP (statut= 'o',typ= 'TXM',into=('modify equation', 'create equation', 'modify model', 'create model'),),
+
+ b_creation_equation = BLOC (condition = 'Type_chgt == "create equation"',
+ # toutes les valeurs sont par defaut class_data.Equation
+ # generer le catalogue avec un fact
+ # Aging_Type type_vieil,
+ Creation = FACT ( statut = 'o',
+ ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = monMechanisticEquation.representation ),
+ Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'), defaut = monMechanisticEquation.type_vieil[0]),
+ Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=monDico['Equation_Liste'], defaut = monMechanisticEquation.type_react),
+ Constituants = chercheConstituant(monMechanisticEquation),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new = BLOC(condition = " New == True" ,
+ Constituant = FACT ( statut = 'o', min=1, max='**',
+ Name = SIMP(statut= 'o',typ= 'TXM'),
+ Differential_Equation = SIMP(statut= 'o',typ= 'TXM'),
+ ),
+ ), # b new
+
+ Constantes = chercheConstantes(monMechanisticEquation),
+ New_Cst = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new_cst = BLOC(condition = " New_Cst == True" ,
+ Constante = FACT ( statut = 'o', min=1, max='**',
+ Name = SIMP (statut = 'o', typ = 'TXM'),
+ ), # fin constante
+ ), #fin b_new
+
+ Arrhenius = SIMP (statut = 'o', typ = bool, defaut=monMechanisticEquation.arrhenius),
+ Comment = SIMP(statut= 'o',typ= 'TXM', defaut = monMechanisticEquation.comment),
+ ), # fin creation mechanistic model
+ ), # fin b_create_equation
+
+ b_modify_equation = BLOC (condition = 'Type_chgt == "modify equation"',
+# les valeurs par defaut seront lues dans la base de données
+ Filtre = FACT (statut='o',
+ #Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'], siValide=lienDB.remplitMechanisticModifyEquationListeEquation),
+ Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],),# siValide=lienDB.remplitMechanisticModifyEquationListeEquation),
+# Filtre getMechanisticEquation(Reaction_Type)
+# diictionnaire key : nom de l equation / valeur classe instancies liste de nom d'equation
+ Equation_List=SIMP(statut= 'o',typ= 'TXM'), #siValide=lienDB.remplitModificationEquation),
+ ),
+ # lorsque le choix est fait on peut recuperer les valeurs par defaut
+
+ #ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),
+ Modification = FACT (statut='o',
+ ChemicalFormulation = SIMP(statut='o', typ='TXM', ), # classe.representation
+ Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste']), # classe.type_react
+ Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'),), # classe.type_vieil
+
+ Constituants = FACT ( statut = 'o', # classe.constituants --> liste de nom. les equations sont dans le meme ordre self.equation
+ POOH = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_pooh = BLOC(condition = " POOH == True" ,
+ Differential_Equation_POOH = SIMP(statut= 'o',typ= 'TXM', defaut = '-ku1*POOH'),
+ ), # Fin b_pooh
+ PO = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_po = BLOC(condition = " PO == True" ,
+ Differential_Equation_PO = SIMP(statut= 'o',typ= 'TXM', defaut = '-ku1*POOH'),
+ ), # Fin b_po
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new = BLOC(condition = " New == True" ,
+ Constituant = FACT ( statut = 'o', min=1, max='**',
+ Name = SIMP (statut = 'o', typ = 'TXM'),
+ Differential_Equation = SIMP(statut= 'o',typ= 'TXM'),
+ ), # Fin Constituant
+ ), # Fin b_new
+ ),# Fin Constituants
+
+ Constantes = FACT ( statut = 'o', # self.const_cine_nom
+ KU1 = SIMP (statut = 'o', typ = bool, defaut=False),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new = BLOC(condition = " New == True" ,
+ Constante = FACT ( statut = 'o', min=1, max='**',
+ Name = SIMP (statut = 'o', typ = 'TXM'),
+ ), # fin constante
+ ), #fin b_new
+ ), # fin constantes
+ Arrhenius = SIMP (statut = 'o', typ = bool, ), # classe.arrhenius[0]
+ Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
+ ), # fin modification
+ ), # fin b_modify_equation
+
+
+ b_create_model = BLOC (condition = 'Type_chgt == "create model"',
+# Filtre getMechanisticTechnicalUse(Filtre_TechnicalUse)
+# dictionnaire key : nom du modele / valeur classe instancies liste de nom modele
+# la classe par defaut getDefaultMechanistic
+# renvoie un obj instancie
+ # toutes les valeurs sont par defaut class_data.Equation
+ # generer le catalogue avec un fact
+ Creation = FACT (statut='o',
+ ID=FACT (statut='o',
+ Name =SIMP(statut='o',typ='TXM'), # obj.nom
+ Material=SIMP(statut='o',typ='TXM',),# obj.materiaux[0]
+ TechnicalUse = SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse']),#defaut=obj.technical_use
+ Reference=SIMP(statut='o',typ='TXM',), # defaut=monModele.reference, momModele = obj par la suite
+ Model_Developed_For_EDF = SIMP(typ = bool, statut = 'o'), #defaut = monModele.dvt_EDF[0]
+ Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('all', 'thermo', 'radio'),), # defaut = monModele.type_vieil
+# attention c est une liste --> a reflechir
+ Stabilizer = SIMP(typ = bool, statut = 'o'), #,defaut = monModele.stabilise
+ material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']), # monModele.thickness
+ Diffusion = SIMP(typ = bool, statut = 'o'),# defaut = monModele.diffusion ,siValide = lienDB.prepareDiffusion
+ Evaporation = SIMP(typ = bool, statut = 'o'), # defaut monModele.evaporation
+ Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
+ ), #fin id
+ Equations = FACT (statut = 'o',
+# remplir avec getEquation sur modele
+# dictionnaire avec comme clef 'base' puis initiation ...
+ Liste=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P [k]' , 'A [K5,Y5]', 'B', 'C']),
+# quand coche je recupere le nom entre crochet + split sur , attention sans blanc
+# et on cree le SIMP apres pour recuperer la valeur
+ K5=SIMP (statut = 'o', typ = 'R' ),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+#
+ b_new = BLOC(condition = " New == True" ,
+ Add=FACT(statut = 'o',max='**',
+ Filtre = SIMP(statut= 'o',typ= 'TXM',into=monDico['Equation_Liste']),
+ Equations=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P' , 'A', 'B', 'C'])
+ )
+ ), # b new
+ ) # fin equations
+ ), #fin creation
+ ), # fin create model
+
+ b_modify_model = BLOC (condition = 'Type_chgt == "modify model"',
+# Filtre getMechanisticTechnicalUse(Filtre_TechnicalUse)
+# dictionnaire key : nom du modele / valeur classe instancies liste de nom modele
+# la classe par defaut getDefaultMechanistic
+# renvoie un obj instancie
+ Filtre = FACT (statut='o',
+ TechnicalUse=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Modele_TechnicalUse'],),
+# si valide
+ ModeleName=SIMP(statut='o',typ='TXM',into=['A','B']), # a choisir dans la liste des clefs
+ ),
+ Modification = FACT (statut='o',
+ ID=FACT (statut='o',
+ Name =SIMP(statut='o',typ='TXM'), # obj.nom
+ Material=SIMP(statut='o',typ='TXM',),# obj.materiaux[0]
+ TechnicalUse = SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse']),#defaut=obj.technical_use
+ Reference=SIMP(statut='o',typ='TXM',), # defaut=monModele.reference, momModele = obj par la suite
+ Model_Developed_For_EDF = SIMP(typ = bool, statut = 'o'), #defaut = monModele.dvt_EDF[0]
+ Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('all', 'thermo', 'radio'),), # defaut = monModele.type_vieil
+# attention c est une liste --> a reflechir
+ Stabilizer = SIMP(typ = bool, statut = 'o'), #,defaut = monModele.stabilise
+ material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']), # monModele.thickness
+ Diffusion = SIMP(typ = bool, statut = 'o'),# defaut = monModele.diffusion ,siValide = lienDB.prepareDiffusion
+ Evaporation = SIMP(typ = bool, statut = 'o'), # defaut monModele.evaporation
+ Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
+ ), #fin id
+ Equations = FACT (statut = 'o',
+# remplir avec getEquation sur modele
+# dictionnaire avec comme clef 'base' puis initiation ...
+ Liste=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P [k]' , 'A [K5,Y5]', 'B', 'C']),
+# quand coche je recupere le nom entre crochet + split sur , attention sans blanc
+# et on cree le SIMP apres pour recuperer la valeur
+ K5=SIMP (statut = 'o', typ = 'R' ),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+#
+ b_new = BLOC(condition = " New == True" ,
+ Add=FACT(statut = 'o',max='**',
+ Filtre = SIMP(statut= 'o',typ= 'TXM',into=monDico['Equation_Liste']),
+ Equations=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P' , 'A', 'B', 'C'])
+ )
+ ), # b new
+ ) # fin equations
+ ), #fin modification
+ ), # fin modify model
+
+ ), # Fin mechanistic
+# ------------------------------------------------------------------------
+ b_Model_Analytic = BLOC(condition = "Model_Type == 'analytic model'",
+ Type_chgt = SIMP (statut= 'o',typ= 'TXM',into=('modify equation', 'create equation', 'modify model', 'create model') ),
+
+ b_creation_equation = BLOC (condition = 'Type_chgt == "create equation"',
+ Creation = FACT(statut = 'o',
+ Name=SIMP(statut= 'o',typ= 'TXM',), # defaut o.nom
+ Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=monDico['posttraitement_Typ']), # defaut o.type_equa
+ PostProcessing = SIMP (statut = 'o', typ = bool,),# o.post_processing
+ Calculation_Result = SIMP(statut= 'o',typ= 'TXM'), # defaut o.calculation_result
+# dans o.parameters on a une liste
+ Parameters=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'Ea', 'C']),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new = BLOC(condition = " New == True" ,
+ Param = FACT(statut = 'o', max='**',
+ Name=SIMP(statut= 'o',typ= 'TXM',),
+ ), #param
+ ), # b_new
+ Equation = SIMP(statut= 'o',typ= 'TXM'), # defaut o.equation
+ Universal_Constants=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'B', 'C']),
+ Results_Unit = SIMP(statut= 'o',typ= 'TXM'), # defaut o.results_unit
+ Integrate = SIMP (statut = 'o', typ = bool),# defaut o.integrate
+ Comment = SIMP(statut= 'o',typ= 'TXM'), # defaut o.comment
+ ),# Fact creation
+ ), #bloc b_creation_equation
+
+ b_modification_equation = BLOC (condition = 'Type_chgt == "modify equation"',
+ Filtre = FACT(statut = 'o',
+ Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=monDico['posttraitement_Typ']), # defaut o.type_equa
+ Equation_Choice = SIMP(statut= 'o',typ= 'TXM',into=['A','B','C']),
+ ),
+ Modification = FACT(statut = 'o',
+ Name=SIMP(statut= 'o',typ= 'TXM',), # defaut o.nom
+ Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=monDico['posttraitement_Typ']), # defaut o.type_equa
+ PostProcessing = SIMP (statut = 'o', typ = bool,),# o.post_processing
+ Calculation_Result = SIMP(statut= 'o',typ= 'TXM'), # defaut o.calculation_result
+# dans o.parameters on a une liste
+ Parameters=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'Ea', 'C']),
+ New = SIMP (statut = 'o', typ = bool, defaut=False),
+ b_new = BLOC(condition = " New == True" ,
+ Param = FACT(statut = 'o', max='**',
+ Name=SIMP(statut= 'o',typ= 'TXM',),
+ ), #param
+ ), # b_new
+ Equation = SIMP(statut= 'o',typ= 'TXM'), # defaut o.equation
+ Universal_Constants=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'B', 'C']),
+ Results_Unit = SIMP(statut= 'o',typ= 'TXM'), # defaut o.results_unit
+ Integrate = SIMP (statut = 'o', typ = bool),# defaut o.integrate
+ Comment = SIMP(statut= 'o',typ= 'TXM'), # defaut o.comment
+ ),# Fact Modification
+
+ ), #bloc b_modification_equation
+ ), # Fin model analytic
+# ------------------------------------------------------------------------
+# ---------------------------------------------------------------------------
+
+ b_model_master=BLOC(condition = 'Model_Type == "master model"',
+ Type_chgt = SIMP (statut= 'o',typ= 'TXM',into=('modify model', 'create model') ),
+ ),
+)
import types\r
import sys,os\r
\r
-import listesDB\r
\r
+dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}}\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
+def entoure(func):\r
+ def wrapper(*args, **kwargs):\r
+ if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
+ monMC.dsMaFunct = True\r
+ retour =func(*args, **kwargs)\r
+ monMC.dsMaFunct = False\r
+ return retour\r
+ return wrapper\r
\r
-dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}}\r
\r
# --------------------------------------\r
# Fonctions appellees depuis le catalogue\r
# --------------------------------------\r
\r
# --------------------------------------\r
-# Dans Equation\r
+# Dans Calculation\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
-\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
- listEquation=maClasseDelistesDB.getListEquation()\r
-\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
- if valeurAgingType == None : monMC.dsMaFunct = False; return\r
-\r
- listeEquationPourIhm = []\r
- listeReprEquationPourIhm = []\r
- dicoListAffiche = {}\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
- else:\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
- 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=str(monEquation)\r
- editor=monMC.jdc.editor\r
- editor._viewText(aAfficher, "Id",largeur=80,hauteur=300)\r
- \r
- monMC.dsMaFunct = False\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
- editor=monMC.jdc.editor\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_react=monEquation.type_react\r
- type_vieil=monEquation.type_vieil\r
-\r
- editor.changeIntoMCandSet('Equation', ('b_type_show','b_modification','b_modif','ChemicalFormulation'),( v,),v )\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
- \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
- # Constituant = SIMP (statut = 'o', typ = 'TXM'),\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
- 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
- if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
-\r
- monMC.dsMaFunct = False\r
- editor.dsMaFunct = False\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
-\r
- editor=monMC.jdc.editor\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
- editor=monMC.jdc.editor\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
- 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
- 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( 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,monMC)\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)\r
- if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
- editor.dsMaFunct = False\r
- monMC.dsMaFunct = False\r
-\r
-def prepareDiffusion(monMC):\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
- print ('je suis dans prepareDiffusion', monMC.nom)\r
- prepareDiffusionSansMC(editor,monMC)\r
- print ('fin de prepareDiffusion', monMC.nom)\r
- monMC.dsMaFunct=False\r
- editor.dsMaFunct = False\r
-\r
-def prepareDiffusionSansMC(editor,monMC):\r
- #lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),)\r
- monMCNom = monMC.nom \r
- monEtape = monMC.getEtape()\r
- lInitialBadCoche=editor.getValeurDsEtape(monEtape, 'ForDiffusion',('b_type_mechanistic','Model_Mechanistic','b_diffusion'),)\r
- if lInitialBadCoche == None : lInitialBadCoche=[]\r
- lInitialCoche=[]\r
- for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0])\r
- print (lInitialCoche)\r
- print ('kkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhh')\r
-\r
- #PropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',))\r
- #TerminationCoche=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
- for liste in (lInitialCoche,):\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
- print (maClasseDelistesDB.listeParametresInitiaux)\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
- 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
-\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
- 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
+@entoure\r
+def remplitMasterModel(monMC):\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
+# from Test import Dico2\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
+ print (editor) \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
+#\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
+# listEquation=maClasseDelistesDB.getListEquation()\r
+#\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
+# if valeurAgingType == None : monMC.dsMaFunct = False; return\r
+#\r
+# listeEquationPourIhm = []\r
+# listeReprEquationPourIhm = []\r
+# dicoListAffiche = {}\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
+# else:\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
+# 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=str(monEquation)\r
+# editor=monMC.jdc.editor\r
+# editor._viewText(aAfficher, "Id",largeur=80,hauteur=300)\r
+# \r
+# monMC.dsMaFunct = False\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
+# editor=monMC.jdc.editor\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_react=monEquation.type_react\r
+# type_vieil=monEquation.type_vieil\r
+#\r
+# editor.changeIntoMCandSet('Equation', ('b_type_show','b_modification','b_modif','ChemicalFormulation'),( v,),v )\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
+# \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
+# # Constituant = SIMP (statut = 'o', typ = 'TXM'),\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
+# 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
+# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
+#\r
+# monMC.dsMaFunct = False\r
+# editor.dsMaFunct = False\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
+#\r
+# editor=monMC.jdc.editor\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
+# editor=monMC.jdc.editor\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
+# 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
+# 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( 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,monMC)\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)\r
+# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
+# editor.dsMaFunct = False\r
+# monMC.dsMaFunct = False\r
+#\r
+#def prepareDiffusion(monMC):\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
+# print ('je suis dans prepareDiffusion', monMC.nom)\r
+# prepareDiffusionSansMC(editor,monMC)\r
+# print ('fin de prepareDiffusion', monMC.nom)\r
+# monMC.dsMaFunct=False\r
+# editor.dsMaFunct = False\r
+#\r
+#def prepareDiffusionSansMC(editor,monMC):\r
+# #lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),)\r
+# monMCNom = monMC.nom \r
+# monEtape = monMC.getEtape()\r
+# lInitialBadCoche=editor.getValeurDsEtape(monEtape, 'ForDiffusion',('b_type_mechanistic','Model_Mechanistic','b_diffusion'),)\r
+# if lInitialBadCoche == None : lInitialBadCoche=[]\r
+# lInitialCoche=[]\r
+# for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0])\r
+# print (lInitialCoche)\r
+# print ('kkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhh')\r
+#\r
+# #PropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',))\r
+# #TerminationCoche=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
+# for liste in (lInitialCoche,):\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
+# print (maClasseDelistesDB.listeParametresInitiaux)\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
+# 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
+#\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
+# 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