1 # -*- coding: utf-8 -*-
6 MAP_DIRECTORY=os.getenv('MAP_DIRECTORY')
7 if MAP_DIRECTORY == None : print ('sourcer l environnement Map SVP'); exit()
8 sys.path.append(MAP_DIRECTORY)
9 sys.path.append(os.path.join(MAP_DIRECTORY,'lib/python2.7/site-packages/mapy/virtual_polymer_common'))
10 sys.path.append(os.path.join(MAP_DIRECTORY,'lib/python2.7/site-packages'))
14 def __init__(self,ntuple):
17 def __convert__(self,valeur):
18 if type(valeur) == types.StringType: return None
19 if len(valeur) != self.ntuple: return None
23 return "Tuple de %s elements" % self.ntuple
25 from for_eficace import filtre_calculation_mechanistic
26 from for_eficace import filtre_calculation_analitic
27 from for_eficace import filtre_data_model
28 #print filtre_calculation_analitic
30 database = os.path.join(MAP_DIRECTORY,'share/map/tests/components/c_pre_polymer_data_management/local/')
31 database="/home/A96028/MAPVp/my_map_installdir/share/map/tests/components/c_pre_polymer_data_management/local/"
32 #database = "/home/A96028/MAPVp/my_map_installdir/lib/python2.7/site-packages/mapy/virtual_polymer_common"
35 'Type_D_Equation' : ('initiation', 'propagation', 'termination', 'stabilization'),
36 'Modele_TechnicalUse' : ('cable', 'coating', 'pipes'),
37 'Aging_Factor' : { 'predefinedSimulationTime' : ('40years BR top', '40years BR bottom')},
38 'Boundary_Conditions' : ('flux_volume','flux_surface','constant_constration','convection_flux'),
39 'posttraitement_Typ' : ('chimique','mecanique','physique'),
45 dicoEquationsParTechnicalUseParModelePartypeDEquation={}
46 for technicalUse in dicoInfoGenerales['Modele_TechnicalUse'] :
47 dicoTechnicalUse[technicalUse] = filtre_calculation_mechanistic(database, technicalUse)
48 dicoEquations[technicalUse] = filtre_data_model(database, 'mechanistic_models',technicalUse)
50 #print (dicoEquations)
51 #print (1,dicoTechnicalUse)
52 print (dicoEquations.keys())
53 #print (dicoEquations['pipes'])
54 #print (dicoEquations['cable']['base']['initiation'])
55 #print (dicoTechnicalUse.keys())
57 # --------------------------- blocPourCalculationForMechanisticSelonModeleTechnicalUse ------------
59 def calculGeneralInformations(technicalUse, modelName):
60 # la class contient l objet modele
61 monObj = dicoEquations[technicalUse][modelName]['class']
62 Material = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.materiaux[2:-2])
63 stabilized = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.stabilise)
64 EDF_developpement = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.dvt_EDF)
65 Documentation_report = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.reference)
66 Thickness = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.thickness)
67 Aging_conditions = SIMP(statut='o', typ ='TXM', homo = 'constant', defaut = monObj.type_vieil[1:-1])
68 Diffusion = SIMP(statut='o', typ = bool, homo = 'constant', defaut = monObj.diffusion)
69 Evaporation = SIMP(statut='o', typ = bool, homo = 'constant', defaut = monObj.evaporation)
70 Model_takes_into_account = FACT(statut ='o', Diffusion=Diffusion, Evaporation=Evaporation)
71 return FACT(statut = 'o',Material=Material,stabilized=stabilized,EDF_developpement=EDF_developpement,Documentation_report=Documentation_report,Thickness=Thickness,Aging_conditions=Aging_conditions,Model_takes_into_account=Model_takes_into_account)
75 def calculAnalyticalEquations(technicalUse,modelName):
76 # PN il faut ameliorer l algo
79 Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = 'Les equations ne sont pas modifiables')
81 for debutEquation in dicoInfoGenerales['Type_D_Equation']:
83 for nomEquation in dicoEquations[technicalUse][modelName]['equations'].keys():
84 if nomEquation.find(debutEquation) != -1 :
85 liste.append(dicoEquations[technicalUse][modelName]['equations'][nomEquation] )
86 dicoListeEquation[debutEquation]=liste
87 for debutEquation in dicoInfoGenerales['Type_D_Equation']:
89 for chaineEquation in dicoListeEquation[debutEquation]:
90 nom,params=chaineEquation.split("\t\t")
91 dicoArgsDuFact[nom]=SIMP(statut = 'o', typ ='TXM', defaut = params, homo= 'constant')
92 dicoArgs[debutEquation]=FACT(statut = 'o',**dicoArgsDuFact)
93 Equations = FACT(statut = 'o',Consigne = Consigne,**dicoArgs)
95 # on le garde pour pouvoir l utiliser plus tard dans DataBase
96 dicoEquationsParTechnicalUseParModelePartypeDEquation[technicalUse][modelName]=dicoListeEquation
101 # Attention coef est une liste
102 for constante in dicoEquations[technicalUse][modelName]['class'].coef[0].keys():
103 v=dicoEquations[technicalUse][modelName]['class'].coef[0][constante]
105 dicoArgsArrhenius [constante] = SIMP(statut ="o",typ=Tuple(2),validators = VerifTypeTuple(('R','R')),defaut =v )
107 dicoArgs [constante] = SIMP(statut ="o",typ='R',defaut =v[0] )
108 ConstantesNonArrhenius = FACT(statut = 'o',**dicoArgs)
109 ConstantesArrhenius = FACT(statut = 'o',**dicoArgsArrhenius)
110 Constantes = FACT(statut = 'o',ConstantesNonArrhenius = ConstantesNonArrhenius, ConstantesArrhenius=ConstantesArrhenius)
113 return FACT(statut = 'o',Equations = Equations, Constantes=Constantes)
115 def calculAgingParameters():
116 Time = SIMP(statut='o',typ='R',)
117 Temperature = SIMP(statut='o',typ='R',)
118 DoseRate = SIMP(statut='o',typ='R',)
119 Thickness = SIMP(statut='o',typ='R',)
120 return FACT(statut='o', Time=Time, Temperature=Temperature,DoseRate=DoseRate,Thickness=Thickness)
121 #dicoArgs['Dicretization'] = SIMP(statut='o',typ='R',)
123 def calculInitialParameters(technicalUse,modelName):
124 # Attention les parametres initiaux sont renvoyes sous forme de liste alors que la valeur attendue est un reel
126 for (k,v) in dicoTechnicalUse[technicalUse][modelName]['initial_parameter'].items():
127 dicoArgs[k]= SIMP(statut='o',typ='R', defaut=v[0])
128 return FACT(statut='o',**dicoArgs)
132 def blocPourCalculationForMechanisticSelonModeleTechnicalUse(technicalUse):
133 # technicalUse = ['pipes', 'coating', 'cable']
135 dicoEquationsParTechnicalUseParModelePartypeDEquation[technicalUse]={}
137 condition = "TechnicalUse == '" + technicalUse + "'"
138 ModelName = SIMP(statut='o',typ='TXM', into = dicoTechnicalUse[technicalUse].keys(),)
139 SimulationName = SIMP(statut='o',typ='TXM')
141 for modeleName in dicoTechnicalUse[technicalUse].keys() :
142 # modeleName est le modele par exmple radio_oxydation_PE_tetra_stabilization
144 dicoBloc['condition' ] = "ModelName == '" + modeleName + "'"
145 dicoBloc['GeneralInformations'] = calculGeneralInformations(technicalUse,modeleName)
146 dicoBloc['AnalyticalEquation'] = calculAnalyticalEquations(technicalUse,modeleName)
147 dicoBloc['AgingParameters'] = calculAgingParameters()
148 dicoBloc['InitialParameters'] = calculInitialParameters(technicalUse,modeleName)
149 if dicoBloc != None : dicoArgs['b_ModelName_' + modeleName] = BLOC(**dicoBloc)
150 return BLOC(condition=condition, ModelName = ModelName,SimulationName=SimulationName,**dicoArgs)
154 JdC = JDC_CATA ( code='VP',
159 # ---------------------------------------------------------------------------------
160 Calculation_for_Mechanistic = PROC (nom="Calculation_for_Mechanistic", op=None,
161 # ---------------------------------------------------------------------------------
162 TechnicalUse= SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Modele_TechnicalUse'], defaut = 'cable'),
163 b_cable = blocPourCalculationForMechanisticSelonModeleTechnicalUse('cable'),
164 b_pipes = blocPourCalculationForMechanisticSelonModeleTechnicalUse('pipes'),
165 b_coating = blocPourCalculationForMechanisticSelonModeleTechnicalUse('coating'),
171 from mapy.virtual_polymer_common import class_data
172 monMechanisticModel=class_data.Modele()
173 monMechanisticEquation=class_data.Equation()
174 if monMechanisticEquation.comment == "" : monMechanisticEquation.comment = ' '
178 def chercheConstituant(laClasse):
180 lesArgs['statut']='o'
181 for constituant in laClasse.constituants :
182 monIndex=laClasse.constituants.index(constituant)
183 valdefaut=laClasse.equation[monIndex]
184 monSimp=SIMP(statut = 'o', typ = bool, defaut=True)
185 lesArgs[constituant]=monSimp
188 nomEquation = ' differentiel_'+constituant
189 monSimp2 = SIMP(statut= 'o',typ= 'TXM', defaut = valdefaut)
190 laCondition= constituant+' == True'
191 lesArgsBloc['condition']=laCondition
192 lesArgsBloc[nomEquation]=monSimp2
193 nomBloc = 'b_'+constituant
194 leBloc = BLOC(**lesArgsBloc)
195 lesArgs[nomBloc]=BLOC(**lesArgsBloc)
196 return FACT(**lesArgs)
198 def chercheConstantes(laClasse):
200 lesArgs['statut']='o'
201 for constante in laClasse.const_cine_nom :
202 monSimp=SIMP(statut = 'o', typ = bool, defaut=True)
203 lesArgs[constante]=monSimp
204 return FACT(**lesArgs)
207 def calculBlocAnalyticalEquationsForModification():
209 #print (dicoEquations['cable']['base']['initiation'])
210 #for technicalUse in dicoInfoGenerales['Modele_TechnicalUse']:
211 #condition = "TechnicalUse == '" + technicalUse + "'"
212 for technicalUse in ('cable',):
214 typeReaction = SIMP (statut='o', typ='TXM', into = dicoInfoGenerales['Type_D_Equation'])
215 for typeDeLaReaction in dicoInfoGenerales['Type_D_Equation']:
217 laCondition= "typeReaction == '" + typeDeLaReaction + "'"
218 dicoListeEquation=dicoEquations[technicalUse]['base'][typeDeLaReaction]
219 ListeEquation = dicoListeEquation.keys()
220 equationsAModifier=SIMP (statut='o', typ='TXM', max="**", homo = 'SansOrdreNiDoublon', into=ListeEquation)
221 #print (equationsAModifier)
222 dicoArgs['b_'+typeDeLaReaction]=BLOC(condition=laCondition, equationsAModifier=equationsAModifier)
223 return FACT(statut='o', typeReaction = typeReaction, **dicoArgs)
225 #for debutEquation in dicoInfoGenerales['Type_D_Equation']:
227 # for chaineEquation in dicoListeEquation[debutEquation]:
228 # nom,params=chaineEquation.split("\t\t")
229 # dicoArgsDuFact[nom]=SIMP(statut = 'o', typ ='TXM', defaut = params, homo= 'constant')
230 # dicoArgs[debutEquation]=FACT(statut = 'o',**dicoArgsDuFact)
231 #Equations = FACT(statut = 'o',Consigne = Consigne,**dicoArgs)
234 #dicoArgsArrhenius={}
236 # Attention coef est une liste
237 #for constante in dicoEquation[technicalUse]['class'].coef[0].keys():
238 # v=dicoEquation[technicalUse]['class'].coef[0][constante]
240 # dicoArgsArrhenius [constante] = SIMP(statut ="o",typ=Tuple(2),validators = VerifTypeTuple(('R','R')),defaut =v )
242 # dicoArgs [constante] = SIMP(statut ="o",typ='R',defaut =v[0] )
243 #ConstantesNonArrhenius = FACT(statut = 'o',**dicoArgs)
244 #ConstantesArrhenius = FACT(statut = 'o',**dicoArgsArrhenius)
245 #Constantes = FACT(statut = 'o',ConstantesNonArrhenius = ConstantesNonArrhenius, ConstantesArrhenius=ConstantesArrhenius)
247 return FACT(statut = 'o',Equations = Equations, Constantes=Constantes)
252 # ------------------------------------------
253 Database = PROC (nom="Database", op=None,
254 # ------------------------------------------
257 # ------------------------------------------------------------------------
258 Type_chgt = SIMP (statut= 'o',typ= 'TXM',into=('modify equation', 'create equation', 'modify model', 'create model'),),
260 b_creation_equation = BLOC (condition = 'Type_chgt == "create equation"',
261 # toutes les valeurs sont par defaut class_data.Equation
262 # generer le catalogue avec un fact
263 # Aging_Type type_vieil,
264 Creation = FACT ( statut = 'o',
265 ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = monMechanisticEquation.representation ),
266 Aging_Type = SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'), defaut = monMechanisticEquation.type_vieil[0]),
267 Reaction_Type = SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=dicoInfoGenerales['Type_D_Equation'], defaut = monMechanisticEquation.type_react),
268 Constituants = chercheConstituant(monMechanisticEquation),
269 New = SIMP (statut = 'o', typ = bool, defaut=False),
270 b_new = BLOC(condition = " New == True" ,
271 Constituant = FACT ( statut = 'o', min=1, max='**',
272 Name = SIMP(statut= 'o',typ= 'TXM'),
273 Differential_Equation = SIMP(statut= 'o',typ= 'TXM'),
277 Constantes = chercheConstantes(monMechanisticEquation),
278 New_Cst = SIMP (statut = 'o', typ = bool, defaut=False),
279 b_new_cst = BLOC(condition = " New_Cst == True" ,
280 Constante = FACT ( statut = 'o', min=1, max='**',
281 Name = SIMP (statut = 'o', typ = 'TXM'),
285 Arrhenius = SIMP (statut = 'o', typ = bool, defaut=monMechanisticEquation.arrhenius),
286 Comment = SIMP(statut= 'o',typ= 'TXM', defaut = monMechanisticEquation.comment),
287 ), # fin creation mechanistic model
288 ), # fin b_create_equation
290 b_modify_equation = BLOC (condition = 'Type_chgt == "modify equation"',
291 # les valeurs par defaut seront lues dans la base de données
292 Filtre = calculBlocAnalyticalEquationsForModification(),
293 #Filtre = FACT (statut='o',
294 # #Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=dicoInfoGenerales['Type_D_Equation'], siValide=lienDB.remplitMechanisticModifyEquationListeEquation),
295 # Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=dicoInfoGenerales['Type_D_Equation'],),# siValide=lienDB.remplitMechanisticModifyEquationListeEquation),
296 # Filtre getMechanisticEquation(Reaction_Type)
297 # diictionnaire key : nom de l equation / valeur classe instancies liste de nom d'equation
298 # Equation_List=SIMP(statut= 'o',typ= 'TXM'), #siValide=lienDB.remplitModificationEquation),
300 # lorsque le choix est fait on peut recuperer les valeurs par defaut
302 #ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),
303 Modification = FACT (statut='o',
304 ChemicalFormulation = SIMP(statut='o', typ='TXM', ), # classe.representation
305 Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=dicoInfoGenerales['Type_D_Equation']), # classe.type_react
306 Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'),), # classe.type_vieil
308 Constituants = FACT ( statut = 'o', # classe.constituants --> liste de nom. les equations sont dans le meme ordre self.equation
309 POOH = SIMP (statut = 'o', typ = bool, defaut=False),
310 b_pooh = BLOC(condition = " POOH == True" ,
311 Differential_Equation_POOH = SIMP(statut= 'o',typ= 'TXM', defaut = '-ku1*POOH'),
313 PO = SIMP (statut = 'o', typ = bool, defaut=False),
314 b_po = BLOC(condition = " PO == True" ,
315 Differential_Equation_PO = SIMP(statut= 'o',typ= 'TXM', defaut = '-ku1*POOH'),
317 New = SIMP (statut = 'o', typ = bool, defaut=False),
318 b_new = BLOC(condition = " New == True" ,
319 Constituant = FACT ( statut = 'o', min=1, max='**',
320 Name = SIMP (statut = 'o', typ = 'TXM'),
321 Differential_Equation = SIMP(statut= 'o',typ= 'TXM'),
326 Constantes = FACT ( statut = 'o', # self.const_cine_nom
327 KU1 = SIMP (statut = 'o', typ = bool, defaut=False),
328 New = SIMP (statut = 'o', typ = bool, defaut=False),
329 b_new = BLOC(condition = " New == True" ,
330 Constante = FACT ( statut = 'o', min=1, max='**',
331 Name = SIMP (statut = 'o', typ = 'TXM'),
335 Arrhenius = SIMP (statut = 'o', typ = bool, ), # classe.arrhenius[0]
336 Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
337 ), # fin modification
338 ), # fin b_modify_equation
341 b_create_model = BLOC (condition = 'Type_chgt == "create model"',
342 # Filtre getMechanisticTechnicalUse(Filtre_TechnicalUse)
343 # dictionnaire key : nom du modele / valeur classe instancies liste de nom modele
344 # la classe par defaut getDefaultMechanistic
345 # renvoie un obj instancie
346 # toutes les valeurs sont par defaut class_data.Equation
347 # generer le catalogue avec un fact
348 Creation = FACT (statut='o',
350 Name =SIMP(statut='o',typ='TXM'), # obj.nom
351 Material=SIMP(statut='o',typ='TXM',),# obj.materiaux[0]
352 TechnicalUse = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Modele_TechnicalUse']),#defaut=obj.technical_use
353 Reference=SIMP(statut='o',typ='TXM',), # defaut=monModele.reference, momModele = obj par la suite
354 Model_Developed_For_EDF = SIMP(typ = bool, statut = 'o'), #defaut = monModele.dvt_EDF[0]
355 Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('all', 'thermo', 'radio'),), # defaut = monModele.type_vieil
356 # attention c est une liste --> a reflechir
357 Stabilizer = SIMP(typ = bool, statut = 'o'), #,defaut = monModele.stabilise
358 material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']), # monModele.thickness
359 Diffusion = SIMP(typ = bool, statut = 'o'),# defaut = monModele.diffusion ,siValide = lienDB.prepareDiffusion
360 Evaporation = SIMP(typ = bool, statut = 'o'), # defaut monModele.evaporation
361 Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
363 Equations = FACT (statut = 'o',
364 # remplir avec getEquation sur modele
365 # dictionnaire avec comme clef 'base' puis initiation ...
366 Liste=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P [k]' , 'A [K5,Y5]', 'B', 'C']),
367 # quand coche je recupere le nom entre crochet + split sur , attention sans blanc
368 # et on cree le SIMP apres pour recuperer la valeur
369 K5=SIMP (statut = 'o', typ = 'R' ),
370 New = SIMP (statut = 'o', typ = bool, defaut=False),
372 b_new = BLOC(condition = " New == True" ,
373 Add=FACT(statut = 'o',max='**',
374 Filtre = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Type_D_Equation']),
375 Equations=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P' , 'A', 'B', 'C'])
380 ), # fin create model
382 b_modify_model = BLOC (condition = 'Type_chgt == "modify model"',
383 # Filtre getMechanisticTechnicalUse(Filtre_TechnicalUse)
384 # dictionnaire key : nom du modele / valeur classe instancies liste de nom modele
385 # la classe par defaut getDefaultMechanistic
386 # renvoie un obj instancie
387 Filtre = FACT (statut='o',
388 TechnicalUse=SIMP(statut= 'o',typ= 'TXM', min=1,into=dicoInfoGenerales['Modele_TechnicalUse'],),
390 ModeleName=SIMP(statut='o',typ='TXM',into=['A','B']), # a choisir dans la liste des clefs
392 Modification = FACT (statut='o',
394 Name =SIMP(statut='o',typ='TXM'), # obj.nom
395 Material=SIMP(statut='o',typ='TXM',),# obj.materiaux[0]
396 TechnicalUse = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Modele_TechnicalUse']),#defaut=obj.technical_use
397 Reference=SIMP(statut='o',typ='TXM',), # defaut=monModele.reference, momModele = obj par la suite
398 Model_Developed_For_EDF = SIMP(typ = bool, statut = 'o'), #defaut = monModele.dvt_EDF[0]
399 Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('all', 'thermo', 'radio'),), # defaut = monModele.type_vieil
400 # attention c est une liste --> a reflechir
401 Stabilizer = SIMP(typ = bool, statut = 'o'), #,defaut = monModele.stabilise
402 material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']), # monModele.thickness
403 Diffusion = SIMP(typ = bool, statut = 'o'),# defaut = monModele.diffusion ,siValide = lienDB.prepareDiffusion
404 Evaporation = SIMP(typ = bool, statut = 'o'), # defaut monModele.evaporation
405 Comment = SIMP(statut= 'o',typ= 'TXM',), # classe.comment
407 Equations = FACT (statut = 'o',
408 # remplir avec getEquation sur modele
409 # dictionnaire avec comme clef 'base' puis initiation ...
410 Liste=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P [k]' , 'A [K5,Y5]', 'B', 'C']),
411 # quand coche je recupere le nom entre crochet + split sur , attention sans blanc
412 # et on cree le SIMP apres pour recuperer la valeur
413 K5=SIMP (statut = 'o', typ = 'R' ),
414 New = SIMP (statut = 'o', typ = bool, defaut=False),
416 b_new = BLOC(condition = " New == True" ,
417 Add=FACT(statut = 'o',max='**',
418 Filtre = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Type_D_Equation']),
419 Equations=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['POOH -> 2P' , 'A', 'B', 'C'])
424 ), # fin modify model
426 # ------------------------------------------------------------------------
427 # b_Model_Analytic = BLOC(condition = "Model_Type == 'analytic model'",
428 # Type_chgt = SIMP (statut= 'o',typ= 'TXM',into=('modify equation', 'create equation', 'modify model', 'create model') ),
430 # b_creation_equation = BLOC (condition = 'Type_chgt == "create equation"',
431 # Creation = FACT(statut = 'o',
432 # Name=SIMP(statut= 'o',typ= 'TXM',), # defaut o.nom
433 # Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['posttraitement_Typ']), # defaut o.type_equa
434 # PostProcessing = SIMP (statut = 'o', typ = bool,),# o.post_processing
435 # Calculation_Result = SIMP(statut= 'o',typ= 'TXM'), # defaut o.calculation_result
436 ## dans o.parameters on a une liste
437 # Parameters=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'Ea', 'C']),
438 # New = SIMP (statut = 'o', typ = bool, defaut=False),
439 # b_new = BLOC(condition = " New == True" ,
440 # Param = FACT(statut = 'o', max='**',
441 # Name=SIMP(statut= 'o',typ= 'TXM',),
444 # Equation = SIMP(statut= 'o',typ= 'TXM'), # defaut o.equation
445 # Universal_Constants=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'B', 'C']),
446 # Results_Unit = SIMP(statut= 'o',typ= 'TXM'), # defaut o.results_unit
447 # Integrate = SIMP (statut = 'o', typ = bool),# defaut o.integrate
448 # Comment = SIMP(statut= 'o',typ= 'TXM'), # defaut o.comment
450 # ), #bloc b_creation_equation
452 # b_modification_equation = BLOC (condition = 'Type_chgt == "modify equation"',
453 # Filtre = FACT(statut = 'o',
454 # Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['posttraitement_Typ']), # defaut o.type_equa
455 # Equation_Choice = SIMP(statut= 'o',typ= 'TXM',into=['A','B','C']),
457 # Modification = FACT(statut = 'o',
458 # Name=SIMP(statut= 'o',typ= 'TXM',), # defaut o.nom
459 # Equation_Type = SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['posttraitement_Typ']), # defaut o.type_equa
460 # PostProcessing = SIMP (statut = 'o', typ = bool,),# o.post_processing
461 # Calculation_Result = SIMP(statut= 'o',typ= 'TXM'), # defaut o.calculation_result # dans o.parameters on a une liste
462 # Parameters=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'Ea', 'C']),
463 # New = SIMP (statut = 'o', typ = bool, defaut=False),
464 # b_new = BLOC(condition = " New == True" ,
465 # Param = FACT(statut = 'o', max='**',
466 # Name=SIMP(statut= 'o',typ= 'TXM',),
469 # Equation = SIMP(statut= 'o',typ= 'TXM'), # defaut o.equation
470 # Universal_Constants=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon',into =['A', 'B', 'C']),
471 # Results_Unit = SIMP(statut= 'o',typ= 'TXM'), # defaut o.results_unit
472 # Integrate = SIMP (statut = 'o', typ = bool),# defaut o.integrate
473 # Comment = SIMP(statut= 'o',typ= 'TXM'), # defaut o.comment
474 # ),# Fact Modification
476 # ), #bloc b_modification_equation
477 # ), # Fin model analytic
478 # ------------------------------------------------------------------------
479 # ---------------------------------------------------------------------------