\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
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
), # 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
),# fin ConstanteOptionnelle\r
Commentaire = SIMP (statut = 'f', typ = 'TXM', defaut = ' '),\r
\r
+\r
),# fin b_modif\r
\r
), # fin b_modification\r
# ---------------------------------------------------------------------------\r
b_type_creation = BLOC(condition = " Modele_Type == 'Modele creation'",\r
# ---------------------------------------------------------------------------\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
- stabilizer = SIMP(typ = bool, statut = 'o',defaut = monModele.stabilise),\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
+ 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=[] ),\r
- listeEquation_propagation=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ),\r
- listeEquation_termination=SIMP(statut='o', typ='TXM',homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ),\r
- listeEquation_stabilization=SIMP(statut='o',typ='TXM', homo='SansOrdreNiDoublon', max='**', min=0, defaut=[] ),\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
- Aging_Type=SIMP(statut= 'o',typ='TXM', min=1,max='**', homo='SansOrdreNiDoublon', into=('All', 'thermo', 'radio'), defaut=monModele.type_vieil),\r
- Diffusion = SIMP(typ = bool, statut = 'o',defaut = monModele.diffusion,siValide = lienDB.prepareDiffusion),\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
- #coefficients monModele.coef = liste de dictionnaire mais il faut prendre que le 0\r
- # on met ceux qui commence par D, S et pas les B ni les aitres( casse imprtante)\r
- listeProduitPourLaDiffusion=SIMP(statut='o', typ='TXM', max='**', min=1,homo='SansOrdreNiDoublon', into = monModele.param_ini.keys(),siValide=lienDB.ajouteDiffusion), \r
- ), # fin b_diffusion\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
- ), # fin b_type_creation\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
+PostTraitement = PROC (nom="PostTraitement",\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