]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
sauvegarde VP
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 17 Sep 2018 09:22:50 +0000 (11:22 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 17 Sep 2018 09:22:50 +0000 (11:22 +0200)
VirtualPolymer/VP_Cata_V2.py
VirtualPolymer/lienDB.py
VirtualPolymer/prefs_VP.py

index d73b31923ec5fe3724c235abebb6a1c5323ebac7..4c575ebc41aa2c7595d281b195627f611a61558a 100644 (file)
-# coding: utf-8\r
-import types\r
-from Accas import *\r
-\r
-import lienDB\r
-import listesDB\r
-\r
-monDico= { 'Equation_Liste' : ('initiation', 'propagation', 'termination', 'stabilization'),\r
-           'Modele_TechnicalUse' : ('cable', 'coating', 'pipes'),\r
-           'Aging_Factor' : { 'predefinedSimulationTime' : ('40years BR top', '40years BR bottom')},\r
-           'Boundary_Conditions' : ('flux_volume','flux_surface','constant_constration','convection_flux'),\r
-           'posttraitement_Typ' : ('chimique','mecanique','physique'),\r
-         }\r
-\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
-\r
-JdC = JDC_CATA(code='VP',\r
-               execmodul=None,\r
-                )\r
-\r
-  \r
-#---------------------------------\r
-DataBase = PROC (nom="DataBase",\r
-      op=None,\r
-#---------------------------------\r
-      Equation_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ),\r
-      #b_suite = BLOC(condition = "Equation_DB ==  'My data base' ",\r
-      Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", "Equation creation"),),\r
-      #),\r
-      #b_suite_2 = BLOC(condition = "Equation_DB ==  'Approved data base' ",\r
-      #Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", ),),\r
-      #),\r
-      \r
-#     ---------------------------------------------------------------------------\r
-       b_type_show = BLOC(condition = " Equation_Type == 'Show equation database'",\r
-#      ---------------------------------------------------------------------------\r
-        Equation_Liste=SIMP(statut= 'o',typ= 'TXM', into=('reaction_type','aging_type')),\r
-\r
-         b_reaction_type =  BLOC(condition = " Equation_Liste  == 'reaction_type'",\r
-           Equation_reaction=SIMP(statut= 'o',typ= 'TXM', into=monDico['Equation_Liste'],siValide=lienDB.recupereDicoEquation),\r
-         ), # Fin b_reaction_type\r
-\r
-         b_aging_type =  BLOC(condition = " Equation_Liste  == 'aging_type'",\r
-              Equation_reaction=SIMP(statut= 'o',typ= 'TXM', into=('All', 'thermo', 'radio'),siValide=lienDB.recupereDicoEquation),\r
-         ), # Fin b_reaction_type\r
-\r
-         ListeEquation = SIMP(statut='o', typ='TXM',  homo='SansOrdreNiDoublon',siValide=lienDB.afficheValeurEquation),\r
-         #ListeEquation = SIMP(statut='o', typ='TXM',  homo='SansOrdreNiDoublon'),\r
-         b_modification = BLOC(condition = " ListeEquation != None ",\r
-           modification = SIMP(typ = bool, statut = 'o',defaut = False, fr='toto', ang='toto en anglais', siValide=lienDB.instancieChemicalFormulation),\r
-           \r
-           b_modif = BLOC(condition = "modification == True",\r
-            Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],),\r
-            Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'),),\r
-            ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),\r
-\r
-            OptionnelConstituant =  FACT ( statut = 'f',max = '**',\r
-                Constituant = SIMP (statut = 'o', typ = 'TXM'),\r
-                Differential_Equation =  SIMP(statut= 'o',typ= 'TXM'),\r
-               ), # fin Const_Equa\r
-            OptionnelleConstante  = FACT (statut = 'f', max = '**',\r
-                  ConstanteName= SIMP (statut = 'o', typ = 'TXM',),\r
-                  ConstanteType =  SIMP(statut= 'o',typ= 'TXM', min=1,into=('Arrhenius type','non Arrhenius type'),defaut='Arrhenius type'),\r
-                  ),# fin ConstanteOptionnelle\r
-            Commentaire =  SIMP (statut = 'f', typ = 'TXM', defaut = ' '),\r
-\r
-\r
-           ),# fin b_modif\r
-         \r
-         ), # fin b_modification\r
-       ), # Fin b_type_show\r
-\r
-\r
-#     ---------------------------------------------------------------------------\r
-      b_type_creation = BLOC(condition = " Equation_Type == 'Equation creation'",\r
-#         ---------------------------------------------------------------------------\r
-         Equation_Modification = FACT ( statut = 'o',\r
\r
-            ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),\r
-\r
-            Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],),\r
-            Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'),),\r
-\r
-            Constituants = FACT ( statut = 'o',\r
-               ConstituantPOOH = SIMP (statut = 'f', typ = 'TXM', into = ('POOH',)),\r
-               b_pooh =  BLOC(condition = " ConstituantPOOH == 'POOH'" ,\r
-                  Differential_Equation_POOH =  SIMP(statut= 'o',typ= 'TXM', defaut = '-ku1*POOH'),\r
-               ), # Fin b_pooh\r
-               #ConstituantP = SIMP (statut = 'f', typ = 'TXM', into = ('P',)),\r
-               #b_p =  BLOC(condition = " ConstituantP == 'P'" ,\r
-               #  Differential_Equation_P =  SIMP(statut= 'o',typ= 'TXM', defaut = '2*ku1*POOH'),\r
-               #), # Fin b_p\r
-               ConstituantP = FACT ( statut = 'f',\r
-                  ConstituantP = SIMP (statut = 'f', typ = 'TXM', into = ('P',)),\r
-                  Differential_Equation_P =  SIMP(statut= 'o',typ= 'TXM', defaut = '2*ku1*POOH'),\r
-               ), # Fin ConstituantP\r
-\r
-            OptionnelConstituant =  FACT ( statut = 'f',max = '**',\r
-                Constituant = SIMP (statut = 'o', typ = 'TXM'),\r
-                Differential_Equation =  SIMP(statut= 'o',typ= 'TXM'),\r
-               ), # fin Const_Equa\r
-            ),# Fin Constituants\r
-\r
-            Constante = FACT ( statut = 'o',\r
-               Constanteku1 = SIMP (statut = 'f', typ = 'TXM', into = ('ku1',), defaut= 'ku1'),\r
-               b_cku1 =  BLOC(condition = "Constanteku1 == 'ku1'" ,\r
-                  ConstanteType =  SIMP(statut= 'o',typ= 'TXM', into=('Arrhenius type','non Arrhenius type'),defaut='Arrhenius type'),\r
-                  ),\r
-               OptionnelleConstante  = FACT (statut = 'f', max = '**',\r
-                  ConstanteName= SIMP (statut = 'o', typ = 'TXM',),\r
-                  ConstanteType =  SIMP(statut= 'o',typ= 'TXM', min=1,into=('Arrhenius type','non Arrhenius type'),defaut='Arrhenius type'),\r
-                  ),# fin ConstanteOptionnelle\r
-            ), # fin constante\r
-            Commentaire =  SIMP (statut = 'f', typ = 'TXM', defaut = ' '),\r
-                  \r
-         ), # Fin Equation_Modification\r
-        ),  # fin b_type_creation\r
-                 \r
-      \r
-) # Fin Equation\r
-\r
-#---------------------------------\r
-ODE = PROC (nom="ODE",\r
-      op=None,\r
-      Modele_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base"),siValide=lienDB.recupereDicoModele ),\r
-      Modele_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show modele database", "Modele creation"),siValide=lienDB.creeListeEquation),\r
-#     ---------------------------------------------------------------------------\r
-      b_type_creation = BLOC(condition = " Modele_Type == 'Modele creation'",\r
-#         ---------------------------------------------------------------------------\r
-        ID=FACT(statut='o',\r
-          technicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],defaut=monModele.technical_use ),\r
-          modeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,),\r
-          material=SIMP(statut='o',typ='TXM',defaut=monModele.materiaux[0],),\r
-          agingType=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'), defaut=monModele.type_vieil),\r
-          stabilizer = SIMP(typ = bool, statut = 'o',defaut = monModele.stabilise),\r
-          material_thickness = SIMP(typ = 'TXM', statut = 'o',defaut = monModele.thickness, into = ['thin','thick']),\r
-          # il faudrait que position=global_jdc fonctionne\r
-          model_developed_by_for_EDF = SIMP(typ = bool, statut = 'o',defaut = monModele.dvt_EDF[0]),\r
-          documentation=SIMP(statut='o',typ='TXM',defaut=monModele.reference,),\r
-        \r
-       ), # fin ID\r
-       # ajouter la liste des equations et le remove (il faut garder ceux qu on a enlever)\r
-      \r
-      Chemical_Equation = FACT( statut='o',\r
-       Initial_Equation_List=SIMP(statut='o',typ='TXM',max="**",homo='SansOrdreNiDoublon',into=[],defaut=[], siValide=lienDB.recupereModeleEquation),\r
-\r
-       AjoutEquation=SIMP(statut= 'o',typ= bool, defaut=False, siValide=lienDB.recupereModeleEquation),\r
-       b_ajout_equation = BLOC(condition = " AjoutEquation == True",\r
-          listeEquation_initiation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ),\r
-          listeEquation_propagation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ),\r
-          listeEquation_termination=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ),\r
-          listeEquation_stabilization=SIMP(statut='o',typ='TXM', homo='SansOrdreNiDoublon', max='**', min=0, defaut=[],siValide=lienDB.ajoutDUneEquation ),\r
-       ),# fin b_ajout_equation\r
-       \r
-      ), # fin Equation\r
-        # coefficients monModele.coef = liste de dictionnaire mais il faut prendre que le 0\r
-        # on enleve ceux qui commence par D, S et B(casse imprtante)\r
-        # la clef est le coef, puis les valeurs\r
-\r
-      \r
-      #b_material_thickness =  BLOC(condition = "material_thickness == 'thick'",\r
-      # si position=global fonctionne\r
-        Transport = FACT( statut = 'o',\r
-        #Diffusion = SIMP(typ = bool, statut = 'o',defaut = monModele.diffusion,siValide = lienDB.prepareDiffusion),\r
-        Diffusion = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion),\r
-\r
-        b_diffusion = BLOC(condition = " Diffusion == True",\r
-           listeProduitPourLaDiffusion=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteDiffusion), \r
-          ),  # fin b_diffusion\r
-\r
-        Evaporation = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion),\r
-        b_evaporation = BLOC(condition = " Evaporation == True",\r
-           listeProduitPourLEvaporation=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteEvaporation), \r
-         ),  # fin b_evaporation\r
\r
\r
-         ),  # fin TRANSPORT\r
-       #),  # fin b_material_thickness\r
-\r
-      Coefficients = FACT( statut = 'o',\r
-        Coef_k2  = SIMP (statut ='o', typ='R'),\r
-        Coef_ku1 = SIMP (statut ='o', typ=Tuple(2),validators = VerifTypeTuple(('R','R')),),\r
-      ),\r
-      Parametres_Initiaux = FACT( statut = 'o',\r
-        Param_POOH=SIMP (statut ='o', typ='R'),\r
-        # La liste est la meme que le INTO des listeProduitsPourlaDiffusion\r
-        # la valeur par defaut si elle existe est contenue dans modele.param_ini['POOH']\r
-      ),\r
-\r
-\r
-       #AjoutEquation=Fact(statut='f',\r
-       #     Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],siValide=lienDB.recupereModeleEquation),\r
-       #), # fin AjoutEquation\r
-      ), # fin Creation\r
-#     ---------------------------------------------------------------------------\r
-      b_type_modification = BLOC(condition = " Modele_Type == 'Show modele database'",\r
-#         ---------------------------------------------------------------------------\r
-          technicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],siValide=lienDB.creeListeMateriauxSelonModele),\r
-          b_technicalUse = BLOC (condition = 'technicalUse != None and technicalUse != ""',\r
-            material= SIMP (statut ='o', typ='TXM',siValide=lienDB.creeListeModelesPossibles),\r
-            modele= SIMP (statut ='o', typ='TXM',siValide=lienDB.choisitModele),\r
-            b_modele = BLOC (condition = 'modele != None and modele != ""',\r
-              action = SIMP (statut ='o', typ='TXM',into = ['display','use','modify'], siValide=lienDB.choisitActionModele),\r
-#     ---------------------------------------------------------------------------\r
-           b_type_modify = BLOC(condition = " action == 'modify'",\r
-#         ---------------------------------------------------------------------------\r
-          ID=FACT(statut='o',\r
-          modeleName=SIMP(statut='o',typ='TXM'),\r
-          technicalUse= SIMP(statut= 'o',typ= 'TXM', into=monDico['Modele_TechnicalUse'] ),\r
-          material=SIMP(statut='o',typ='TXM'),\r
-          agingType=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio')),\r
-          stabilizer = SIMP(typ = bool, statut = 'o',),\r
-          material_thickness = SIMP(typ = 'TXM', statut = 'o', into = ['thin','thick']),\r
-          # il faudrait que position=global_jdc fonctionne\r
-          model_developed_by_for_EDF = SIMP(typ = bool, statut = 'o',),\r
-          documentation=SIMP(statut='o',typ='TXM',),\r
-\r
-\r
-# il faut recopier toute la suite en changeant eventuellement le nom du modele\r
-# il faut cocher toutes les equations par defaut\r
-        \r
-              ), # fin ID\r
-             ), # fin b_type_modify\r
-#     ---------------------------------------------------------------------------\r
-           b_type_use = BLOC(condition = " action == 'use'",\r
-#         ---------------------------------------------------------------------------\r
-             simulationName=SIMP(statut='o',typ='TXM'),\r
-             outputFolder = SIMP(statut="o", typ="Repertoire",siValide=lienDB.creeCoefAModifier),\r
-            ), # fin b_type_use\r
-#     ---------------------------------------------------------------------------\r
-           b_type_use2 = BLOC(condition = " action == 'use'",\r
-#         ---------------------------------------------------------------------------\r
-            Aging_Factor = FACT(statut='o',\r
-                predefinedSimulationTime = SIMP(statut='o',typ='TXM',into=monDico['Aging_Factor']['predefinedSimulationTime'],siValide=lienDB.remplirAgingFactor),\r
-                simulationTime=SIMP(statut='o',typ='R',),\r
-                numberOfNodes=SIMP(statut='o',typ='I',val_min=3,siValide=lienDB.creeInitialParameter),\r
-                sampleThickness=SIMP(statut='o',typ='R',),\r
-                #debitOfDose=SIMP(statut='o',typ='R',),\r
-                temperature=SIMP(statut='o',typ='R',),\r
-                oxygenPressure=SIMP(statut='o',typ='R',),\r
-                polymerConcentration=SIMP(statut='o',typ='R',),\r
-                ),\r
-            Initial_Parameter = FACT(statut='o',\r
-                max='**',\r
-                ),\r
-            Boundary_Conditions_Param = FACT(statut='o',\r
-                diffusionSpecies=SIMP(statut='o',typ='TXM',defaut='O2', into=['O2',]),\r
-                nodeNumber = SIMP(statut='o',typ='I',defaut=1, into=[1]), # tjours1\r
-                Boundary_Conditions_O2_1 = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),\r
-                BC_Value_Espece_1=SIMP(statut='o',typ='R'),\r
-                nodeNumber_Espece_4 = SIMP(statut='o',typ='I',defaut=4, into=[4]), # numberOfNodes+1\r
-                Boundary_Conditions_Espece_4 = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),\r
-                BC_Value_Espece_4=SIMP(statut='o',typ='R'),\r
-                ),\r
-\r
-            ), # fin b_type_use2\r
-          ), # fin b_modele\r
-        ), # fin b_technicalUse\r
-      ), # fin modification\r
-\r
-      Commentaire =  SIMP (statut = 'f', typ = 'TXM'),\r
-) # Fin Modele\r
-#---------------------------------\r
-AnalyticModel = PROC (nom="AnalyticModel",\r
-      op=None,\r
-      posttraitement_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ),\r
-      posttraitement_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show post-traitement database", "post-traitement creation"),),\r
-#     ---------------------------------------------------------------------------\r
-      b_post_creation = BLOC(condition = " posttraitement_Type == 'post-traitement creation'",\r
-        posttraitement_Name=SIMP(statut= 'o',typ= 'TXM',defaut=monPost.nom,),\r
-        generic=SIMP(statut= 'o',typ= bool,defaut=monPost.general,),\r
-        posttraitement_Typ = SIMP(statut= 'o',typ= 'TXM', into=monDico['posttraitement_Typ'],homo='SansOrdreNiDoublon',max='**',defaut=monPost.type_post),\r
-        calculation= FACT(statut='o',\r
-        # il faut un fact horizontal\r
-        calculation_results=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.calculation_results,defaut=monPost.calculation_results),\r
-        results_units=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.results_units,defaut=monPost.results_units),\r
-        #integrate=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.results_units,defaut=monPost.results_units),\r
-        prerequisite=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.prerequisite,defaut=monPost.prerequisite),\r
-        \r
-        ),\r
-        constituant=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.constituants,defaut=monPost.constituants) \r
-        \r
-      )# fin b_post_creation\r
-#         ---------------------------------------------------------------------------\r
-#---------------------------------\r
-) #Posttraitement\r
+# -*- coding: utf-8 -*-
+import types
+from Accas import *
+
+import lienDB
+import listesDB
+
+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'),
+         }
+
+monModele=listesDB.sModele().monModele
+monPost=listesDB.sModele().monPost
+
+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
+
+
+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") ),
+
+       AA= FACT(statut = 'o', max='**',
+            ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),
+       ),
+
+#     ------------------------------------------------------------------------
+      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"',
+            Creation = FACT ( statut = 'o',
+            ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),
+            Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'),),
+
+            Constituants = FACT ( statut = 'o',
+               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'),
+                      ),
+                ), # 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, defaut=False),
+            Comment   = SIMP(statut= 'o',typ= 'TXM', defaut = ' '),
+         ), # 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'],),
+# 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', min=1,into=['E','quation_Liste'],),
+            ),
+            # 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
+             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') ),
+      ),
+)
+##        ---------------------------------------------------------------------------
+## Est- un Bloc ?
+#        Equation_Modification = FACT ( statut = 'f',
+# 
+#            ChemicalFormulation = SIMP(statut='o', typ='TXM', defaut = 'POOH -> 2P'),
+#            #Reaction_Type=SIMP(statut= 'o',typ= 'TXM', min=1,into=monDico['Equation_Liste'],),
+#            #Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'),),
+#            Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('All', 'thermo', 'radio'),),
+#
+## Si un constituant ou une constante est a false il faut faire une liste d elements supprimes en sortie
+#            Constituants = FACT ( statut = 'o',
+#               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',
+#               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, defaut=False),
+#             Comment   = SIMP(statut= 'o',typ= 'TXM', defaut = ' '),
+#         ), # Fin Equation_Modification
+#
+#      
+#
+##                                    _____________________________________________
+#
+#        Equation_Modification2 = FACT ( statut = 'f',
+#           Name  = SIMP (statut = 'o', typ = 'TXM', defaut = 'Arrhenuis'),
+#           PostProcessing = SIMP (statut = 'o', typ = bool, defaut=False),
+#           Parameters = FACT ( statut = 'o',
+#               POOH = SIMP (statut = 'o', typ = bool, defaut=False),
+#               PO = SIMP (statut = 'o', typ = bool, defaut=False),
+#               New = SIMP (statut = 'o', typ = bool, defaut=False),
+#               b_new =  BLOC(condition = " New == True" ,
+#                 Parametre = FACT ( statut = 'o', min=1, max='**',
+#                   Name  = SIMP (statut = 'o', typ = 'TXM'),
+#                          ),
+#               ),
+#           ),
+#           Universal_Constantes = FACT ( statut = 'o',
+#               R = SIMP (statut = 'o', typ = bool, defaut=False),
+#               New = SIMP (statut = 'o', typ = bool, defaut=False),
+#               b_new =  BLOC(condition = " New == True" ,
+#                Equation = FACT ( statut = 'o', min=1, max='**',
+#                   Name  = SIMP (statut = 'o', typ = 'TXM'),
+#                   Equation  = SIMP (statut = 'o', typ = 'TXM'),
+#                   Unit = SIMP (statut = 'o', typ = 'TXM', defaut = "mol.l-1"),
+#                   Integrate = SIMP (statut = 'o', typ = bool, defaut=True),
+#                         ),
+#                 ),
+#           ),
+#
+#            Comment   = SIMP(statut= 'o',typ= 'TXM', defaut = ' '),
+#            Reference = SIMP(statut= 'o',typ= 'TXM', defaut = ' '),
+#        ), # Fin Modification 2
+#
+##     ----------------------------------------------------------------------------
+##      b_type_mechanistic_a = BLOC(condition = " Model_Type == 'mechanistic model'",
+##     --------------------------------------------------------------------------
+##          Model_Mechanistic = FACT ( statut = 'f',
+#             ModeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,),
+#             Material=SIMP(statut='o',typ='TXM',defaut=monModele.materiaux[0],),
+#             TechnicalUse = SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],defaut=monModele.technical_use ),
+#             Documentation=SIMP(statut='o',typ='TXM',defaut=monModele.reference,),
+#             Model_Developed_For_EDF = SIMP(typ = bool, statut = 'o',defaut = monModele.dvt_EDF[0]),
+#          #Aging_Type=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'), defaut=monModele.type_vieil),
+#             Aging_Type=SIMP(statut= 'o',typ= 'TXM', min=1,max=1, into=('both', 'thermo', 'radio'),),
+#             Stabilizer = SIMP(typ = bool, statut = 'o',defaut = monModele.stabilise),
+#             Diffusion = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion),
+#             b_diffusion = BLOC(condition = " Diffusion == True",
+#               ForDiffusion=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteDiffusion), 
+#                       ),  # fin b_diffusion
+#
+#             Evaporation = SIMP(typ = bool, statut = 'o',defaut = False ,siValide = lienDB.prepareDiffusion),
+#             b_evaporation = BLOC(condition = " Evaporation == True",
+#               ForEvaporation=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = [],siValide=lienDB.ajouteEvaporation), 
+#                    ),  # fin b_evaporation
+#             ),
+
+#         ), # fin bloc b_type_mechanistic
+            
+
+# ----------------------------------------------
+Calculation =  PROC (nom="Calculation", op=None, 
+# ----------------------------------------------
+      Database=SIMP(statut= 'o',typ= 'TXM', into=("local database", "standard database") ),
+      Model=SIMP(statut= 'o',typ= 'TXM', into=("master model", "analytic model" ,"mechanistic model") ),
+      b_Model_Name = BLOC(condition = 'Model in ("master model","mechanistic model")',
+          TechnicalUse= SIMP(statut= 'o',typ= 'TXM',into=monDico['Modele_TechnicalUse'],defaut=monModele.technical_use ),
+          ModeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,),
+# filtre_calculation_mechanistic - > 3 dictionnaires
+# la clef du 1er niveau est le modele qui remplit SimulationName
+      ),
+
+
+#   MASTER MODEL
+      b_simulation_modele = BLOC(condition = 'Model == "master model"',
+          Analytical_Equations =  FACT(statut= 'o', max='**',
+                   Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "Equation A"),
+                   Clef1=SIMP(statut='o',typ='R'),
+                   Clef2=SIMP(statut='o',typ='R'),
+                ),
+            ChemicalKinetics =  FACT ( statut = 'o',
+                SimulationName=SIMP(statut='o',typ='TXM'),
+                OutputFolder = SIMP(statut="o", typ="Repertoire"),
+                Time=SIMP(statut='o',typ='R',),
+                Temperature=SIMP(statut='o',typ='R',),
+                DebitOfDose=SIMP(statut='o',typ='R',),
+                Thickness=SIMP(statut='o',typ='R',),
+                Dicretization= SIMP(statut='o',typ='R',),
+# remplir les equations
+             InitialValue = SIMP(statut ='o', typ=Tuple(2),validators = VerifTypeTuple(('TXM','R')),max='**'),
+           
+             Boundary_Conditions = FACT(statut='o',
+                Product=FACT(statut='o', max='**',
+# a remplir avec le filtre une liste des boundary
+#       -----------------------------------
+                Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "Diffusion Product"),
+                Node_0 = FACT (statut='o',
+                Boundary_Condition_Type = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),
+                Value=SIMP(statut='o',typ='R',defaut=0),
+                             ),
+                Node_N = FACT (statut='o',
+                Boundary_Condition_Type = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),
+                Value=SIMP(statut='o',typ='R',defaut=0),
+                             ),
+                 ),
+              ),
+          ),# fin ChemicalKinetics
+          Analytical_Equations_PostTreatment =  FACT(statut= 'o', max='**',
+                   Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "Equation A"),
+                   Clef1=SIMP(statut='o',typ='R'),
+                   Clef2=SIMP(statut='o',typ='R'),
+           ),
+      ), # fin bloc b_simulation_modele
+
+
+
+
+
+#     MECHANISTIC MODEL
+# filtre_calculation_mechanistic - > 3 dictionnaires
+# la clef du 1er niveau est le modele qui remplit SimulationName
+# 
+      b_mechanistic = BLOC(condition = 'Model == "mechanistic model"',
+            ChimicalKinetics =  FACT ( statut = 'o',
+                SimulationName=SIMP(statut='o',typ='TXM'),
+                OutputFolder = SIMP(statut="o", typ="Repertoire"),
+                Time=SIMP(statut='o',typ='R',),
+                Temperature=SIMP(statut='o',typ='R',),
+# si dans le dictionnaire debit_of_dose = True je rentre la ligne suivante
+                DebitOfDose=SIMP(statut='o',typ='R',),
+                Thickness=SIMP(statut='o',typ='R',),
+                Dicretization= SIMP(statut='o',typ='R',),
+# initial_parameter pour remplir cela
+                InitialValue = SIMP(statut ='o', typ=Tuple(2),validators = VerifTypeTuple(('TXM','R')),max='**'),
+              ),
+           
+# si la liste est vide pas de Boundary_Conditions_Param sinon on cree les products
+      Boundary_Conditions_Param = FACT(statut='o',
+           Product=FACT(statut='o', max='**',
+# a remplir avec le filtre une liste des boundary
+#       -----------------------------------
+                Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "Diffusion Product"),
+                Node_0 = FACT (statut='o',
+                Boundary_Condition_Type = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),
+                Value=SIMP(statut='o',typ='R',defaut=0),
+                ),
+                Node_N = FACT (statut='o',
+                Boundary_Condition_Type = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),
+                Value=SIMP(statut='o',typ='R',defaut=0),
+                ),
+            ),
+        ),
+      ), # fin bloc b_simulation_modele
+
+#     ANALYTIC MODEL
+      b_analytic_model = BLOC(condition = 'Model  == "analytic model"',
+            Equation_Ty =  SIMP(statut= 'o',typ= 'TXM',into=monDico['Equation_Liste']),
+            ModeleName=SIMP(statut='o',typ='TXM',defaut=monModele.nom,),
+            ChimicalKinetics =  FACT ( statut = 'o',
+                SimulationName=SIMP(statut='o',typ='TXM'),
+                OutputFolder = SIMP(statut="o", typ="Repertoire"),
+# remplir les equations
+               Equation =  FACT(statut= 'o', max='**',
+                   Consigne = SIMP(statut ="o", homo="information", typ="TXM", defaut = "Equation A"),
+# dictionnaire cief de filtre_calculation_analitic avec clef = clef1, clef2... et valeur = coef[cle1]
+                   Clef1=SIMP(statut='o',typ='R'),
+                   Clef2=SIMP(statut='o',typ='R'),
+                 ),
+             ),
+      ), # fin bloc b_analytic_model
+
+)
+
+#                diffusionSpecies=SIMP(statut='o',typ='TXM',defaut='O2', into=['O2',]),
+#                nodeNumber = SIMP(statut='o',typ='I',defaut=1, into=[1]), # tjours1
+#                BC_Value_Espece_1=SIMP(statut='o',typ='R'),
+#                nodeNumber_Espece_4 = SIMP(statut='o',typ='I',defaut=4, into=[4]), # numberOfNodes+1
+#                Boundary_Conditions_Espece_4 = SIMP(statut='o',typ='TXM',into=monDico['Boundary_Conditions']),
+#                BC_Value_Espece_4=SIMP(statut='o',typ='R'),
+  
+
+##---------------------------------
+#Equation = PROC (nom="Equation",
+#      op=None,
+##---------------------------------
+#      Equation_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ),
+#      #b_suite = BLOC(condition = "Equation_DB ==  'My data base' ",
+#      Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", "Equation creation"),),
+#      #),
+#      #b_suite_2 = BLOC(condition = "Equation_DB ==  'Approved data base' ",
+#      #Equation_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show equation database", ),),
+#      #),
+#      
+##     ---------------------------------------------------------------------------
+#       b_type_show = BLOC(condition = " Equation_Type == 'Show equation database'",
+##      ---------------------------------------------------------------------------
+#        Equation_Liste=SIMP(statut= 'o',typ= 'TXM', into=('reaction_type','aging_type')),
+#
+#         b_reaction_type =  BLOC(condition = " Equation_Liste  == 'reaction_type'",
+#           Equation_reaction=SIMP(statut= 'o',typ= 'TXM', into=monDico['Equation_Liste'],siValide=lienDB.recupereDicoEquation),
+#         ), # Fin b_reaction_type
+#
+#         b_aging_type =  BLOC(condition = " Equation_Liste  == 'aging_type'",
+#              Equation_reaction=SIMP(statut= 'o',typ= 'TXM', into=('All', 'thermo', 'radio'),siValide=lienDB.recupereDicoEquation),
+#         ), # Fin b_reaction_type
+#
+#         ListeEquation = SIMP(statut='o', typ='TXM',  homo='SansOrdreNiDoublon',siValide=lienDB.afficheValeurEquation),
+#         #ListeEquation = SIMP(statut='o', typ='TXM',  homo='SansOrdreNiDoublon'),
+#         b_modification = BLOC(condition = " ListeEquation != None ",
index b834fc4d93c77be8e9b8800b3efd85075b7d85cb..ab2eb206db88f53af9491083cd61539a5d22eb27 100644 (file)
@@ -220,7 +220,7 @@ def recupereModeleEquation(monMC):
            maClasseDelistesDB.dictParametresInitiaux[equation.representation]=equation\r
     #print (dicoListeEquationAAfficher)\r
     #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux)\r
-    prepareDiffusionSansMC(editor,monMC.nom)\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
@@ -236,7 +236,7 @@ def ajoutDUneEquation(monMC):
     if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
     if monMC.valeur==False : return\r
     editor=monMC.jdc.editor\r
-    prepareDiffusionSansMC(editor,monMC.nom)\r
+    prepareDiffusionSansMC(editor,monMC)\r
     if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return\r
     editor.dsMaFunct = False\r
     monMC.dsMaFunct = False\r
@@ -249,22 +249,29 @@ def prepareDiffusion(monMC):
     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.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,monMCNom):\r
-    lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),)\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
-    lInititiationCoche=editor.getValeur('Modele','listeEquation_initiation', ('b_type_creation','Chemical_Equation',))\r
-    lPropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',))\r
-    lTerminationCoche=editor.getValeur('Modele','listeEquation_termination', ('b_type_creation','Chemical_Equation',))\r
-    lStabilizationCoche=editor.getValeur('Modele','listeEquation_stabilization', ('b_type_creation','Chemical_Equation',))\r
+    print (lInitialCoche)\r
+    print ('kkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhh')\r
 \r
-    print (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche)\r
-    for liste in (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche):\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
@@ -278,6 +285,7 @@ def prepareDiffusionSansMC(editor,monMCNom):
               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
index 05f4f643ebef33b624bfea30b52b512870cadf46..0d8010cebb251947a0c6c9ddf1401a2129ed1929 100644 (file)
@@ -37,9 +37,10 @@ encoding='iso-8859-1'
 catalogues=(
    ('VP','V1',os.path.join(repIni,'VP_Cata_V2.py'),'python','python'),
 )
-nombreDeBoutonParLigne=3
+nombreDeBoutonParLigne=2
 closeFrameRechercheCommande = True
 closeEntete = True 
 #closeArbre = True
 afficheOptionnelVide=False
 
+#### il faut afficher les listes pliees