From dea9971d70315ef53772f1c81ca70aa670eab855 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 26 Feb 2019 18:18:23 +0100 Subject: [PATCH] pour sauvegarde en raison du bruit sur mon disque --- JP/cata_JP.py | 299 +++++++ JP/prefs.py | 22 + JP/prefs_JP.py | 55 ++ JP/qtEficasJP.py | 36 + VirtualPolymer/VP_Cata_Calculation.py | 87 ++ VirtualPolymer/VP_Cata_Database.py | 293 +++++++ VirtualPolymer/lienDB.py | 1046 ++++++++++++------------- VirtualPolymer/prefs_VP.py | 4 +- 8 files changed, 1314 insertions(+), 528 deletions(-) create mode 100755 JP/cata_JP.py create mode 100644 JP/prefs.py create mode 100644 JP/prefs_JP.py create mode 100755 JP/qtEficasJP.py create mode 100644 VirtualPolymer/VP_Cata_Calculation.py create mode 100644 VirtualPolymer/VP_Cata_Database.py diff --git a/JP/cata_JP.py b/JP/cata_JP.py new file mode 100755 index 00000000..b301d372 --- /dev/null +++ b/JP/cata_JP.py @@ -0,0 +1,299 @@ +# 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 . + +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'), +### #), +### +### diff --git a/JP/prefs.py b/JP/prefs.py new file mode 100644 index 00000000..389a6df0 --- /dev/null +++ b/JP/prefs.py @@ -0,0 +1,22 @@ +# Copyright (C) 2007-2012 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +code="JP" +import sys, os +if os.path.dirname(os.path.abspath(__file__)) not in sys.path : + sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/JP/prefs_JP.py b/JP/prefs_JP.py new file mode 100644 index 00000000..030a42a8 --- /dev/null +++ b/JP/prefs_JP.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# maConfiguration MANAGEMENT OF EDF VERSION +# ====================================================================== +# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM 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 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM 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 THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# +# +# ====================================================================== + +import os,sys +# repIni sert a localiser le fichier editeur.ini +# Obligatoire +repIni=os.path.dirname(os.path.abspath(__file__)) +INSTALLDIR=os.path.join(repIni,'..') +sys.path[:0]=[INSTALLDIR] + + +# lang indique la langue utilisee pour les chaines d'aide : fr ou ang +lang='fr' + +# Codage des strings qui accepte les accents (en remplacement de 'ascii') +encoding='iso-8859-1' + +# +#typeDeCata='XML' +catalogues=( + ('JP','V2017',os.path.join(repIni,'cata_JP.py'),'python','python'), +) +#nombreDeBoutonParLigne=4 +#simpleClic=True +#closeFrameRechercheCommande=True +#boutonDsMenuBar=False +#closeArbre=True +#afficheListesPliees=False +#afficheCommandesPliees = False +#enleverActionStructures = True +#enleverParametres = True +#enleverSupprimer = True +#ajoutExecution = True +#translatorFichier = os.path.join(repIni,'Meteo') +#withXSD=True +dumpXSD=True +#afficheIhm=False diff --git a/JP/qtEficasJP.py b/JP/qtEficasJP.py new file mode 100755 index 00000000..38a990ba --- /dev/null +++ b/JP/qtEficasJP.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +""" + Ce module sert a lancer EFICAS configure pour Meteo +""" +# Modules Python +# Modules Eficas +import prefs +name='prefs_'+prefs.code +__import__(name) + +import sys +import os +sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'../..')) + +import prefs +from InterfaceQT4 import eficas_go +eficas_go.lanceEficas(code=prefs.code) diff --git a/VirtualPolymer/VP_Cata_Calculation.py b/VirtualPolymer/VP_Cata_Calculation.py new file mode 100644 index 00000000..1dbe4ffe --- /dev/null +++ b/VirtualPolymer/VP_Cata_Calculation.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +import os, sys +import types +from Accas import * + +MAP_DIRECTORY=os.getenv('MAP_DIRECTORY') +if MAP_DIRECTORY == None : print ('sourcer l environnement Map SVP'); exit() +sys.path.append(MAP_DIRECTORY) +sys.path.append(os.path.join(MAP_DIRECTORY,'lib/python2.7/site-packages/mapy/virtual_polymer_common')) +sys.path.append(os.path.join(MAP_DIRECTORY,'lib/python2.7/site-packages')) + + +from for_eficace import filtre_calculation_mechanistic +from for_eficace import filtre_calculation_analitic +from for_eficace import filtre_data_model +#print filtre_calculation_analitic + +database = os.path.join(MAP_DIRECTORY,'share/map/tests/components/c_pre_polymer_data_management/local/') +#database="/home/A96028/MAPVp/my_map_installdir/share/map/tests/components/c_pre_polymer_data_management/local/" +dicoInfoGenerales= { + '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'), + } + + +dicoTechnicalUse= {} +for technicalUse in dicoInfoGenerales['Modele_TechnicalUse'] : + dicoTechnicalUse[technicalUse] = filtre_calculation_mechanistic(database, technicalUse) +print (dicoTechnicalUse) + + +# --------------------------- blocPourCalculationForMechanisticSelonModeleTechnicalUse ------------ + + +def calculAnalyticalEquations(dicoEquation,modelName): + dicoArgs={} + print (dicoEquation) + dicoArgs['AFAIRE_pour_'+str(modelName)] = SIMP(statut='o',typ='TXM') + return FACT(statut = 'o',**dicoArgs) + +def calculChemicalKinetics(dicoEquation,modelName): + dicoArgs={} + dicoArgs['SimulationName']= SIMP(statut='o',typ='TXM') + dicoArgs['Time'] = SIMP(statut='o',typ='R',) + dicoArgs['Temperature'] = SIMP(statut='o',typ='R',) + dicoArgs['DebitOfDose'] = SIMP(statut='o',typ='R',defaut = dicoEquation['debit_of_dose']) + dicoArgs['Thickness'] = SIMP(statut='o',typ='R',) + dicoArgs['Dicretization'] = SIMP(statut='o',typ='R',) + for (k,v) in dicoEquation['initial_parameter'].items(): + dicoArgs[k]= SIMP(statut='o',typ='R', defaut=v) + return FACT(statut='o',**dicoArgs) + + + +def blocPourCalculationForMechanisticSelonModeleTechnicalUse(technicalUse): + print ('traitement ', technicalUse) + dicoArgs={} + condition = "TechnicalUse == '" + technicalUse + "'" + ModelName = SIMP(statut='o',typ='TXM', into = dicoTechnicalUse[technicalUse].keys(),) + for k in dicoTechnicalUse[technicalUse].keys() : + dicoBloc = {} + dicoBloc['condition' ] = "ModelName == '" + k + "'" + dicoBloc['AnalyticalEquation'+str(k)] = calculAnalyticalEquations(dicoTechnicalUse[technicalUse][k],k) + dicoBloc['ChemicalKinetics'] = calculChemicalKinetics(dicoTechnicalUse[technicalUse][k],k) + if dicoBloc != None : dicoArgs['b_ModelName_' + k] = BLOC(**dicoBloc) + return BLOC(condition=condition, ModelName = ModelName,**dicoArgs) + + + +JdC = JDC_CATA ( code='VP', + execmodul=None, + ) + + +# ---------------------------------------------- +Calculation_for_Mechanistic = PROC (nom="Calculation_for_Mechanistic", op=None, +# ---------------------------------------------- + TechnicalUse= SIMP(statut= 'o',typ= 'TXM',into=dicoInfoGenerales['Modele_TechnicalUse']), + b_cable = blocPourCalculationForMechanisticSelonModeleTechnicalUse('cable'), + b_pipes = blocPourCalculationForMechanisticSelonModeleTechnicalUse('pipes'), + b_coating = blocPourCalculationForMechanisticSelonModeleTechnicalUse('coating'), + +) + diff --git a/VirtualPolymer/VP_Cata_Database.py b/VirtualPolymer/VP_Cata_Database.py new file mode 100644 index 00000000..d233a489 --- /dev/null +++ b/VirtualPolymer/VP_Cata_Database.py @@ -0,0 +1,293 @@ +# -*- 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') ), + ), +) diff --git a/VirtualPolymer/lienDB.py b/VirtualPolymer/lienDB.py index ab2eb206..e5ba42f1 100644 --- a/VirtualPolymer/lienDB.py +++ b/VirtualPolymer/lienDB.py @@ -3,543 +3,535 @@ import types import sys,os -import listesDB +dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}} -maClasseDelistesDB = listesDB.classeListesDB() -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 - - __repr__=info - __str__=info - +def entoure(func): + def wrapper(*args, **kwargs): + if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return + monMC.dsMaFunct = True + retour =func(*args, **kwargs) + monMC.dsMaFunct = False + return retour + return wrapper -dicoAgingFactor={ '40years BR top' : {'temperature' : 50, 'simulationTime' : 350640}} # -------------------------------------- # Fonctions appellees depuis le catalogue # -------------------------------------- # -------------------------------------- -# Dans Equation +# Dans Calculation # -------------------------------------- -def recupereDicoEquation(monMC): - # Equation_reaction (ds 2 blocs) - # ou dans Equation b_type_show b_reaction_type - # ou dans Equation b_type_show b_aging_type - - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - monMC.dsMaFunct = True - - valeurDB=editor.getValeur('Equation','Equation_DB',()) - maClasseDelistesDB.metAJour(valeurDB) - listEquation=maClasseDelistesDB.getListEquation() - - valeurEquationListe=editor.getValeur('Equation','Equation_Liste',('b_type_show',)) - valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_reaction_type',)) - if valeurAgingType == None : - valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_aging_type',)) - if valeurAgingType == None : monMC.dsMaFunct = False; return - - listeEquationPourIhm = [] - listeReprEquationPourIhm = [] - dicoListAffiche = {} - - for equation in listEquation : - if valeurEquationListe == 'aging_type' : - if equation.type_vieil == valeurAgingType : - listeEquationPourIhm.append(equation) - listeReprEquationPourIhm.append(equation.representation) - dicoListAffiche[equation.representation]=equation - else: - if equation.type_react == valeurAgingType : - listeEquationPourIhm.append(equation) - listeReprEquationPourIhm.append(equation.representation) - dicoListAffiche[equation.representation]=equation - maClasseDelistesDB.dicoListAffiche = dicoListAffiche - - change=editor.changeIntoDefMC('Equation', ('b_type_show','ListeEquation'), listeReprEquationPourIhm ) - if change : - editor.reCalculeValiditeMCApresChgtInto('Equation', 'listeEquation', ('b_type_show',)) - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - monMC.dsMaFunct = False - -def afficheValeurEquation(monMC): - # Equation b_modification modification - print (monMC) - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - valeur=monMC.valeur - if valeur == None : return - maClasseDelistesDB.valeurEquationChoisie=str(valeur) - monEquation=maClasseDelistesDB.dicoListAffiche[str(valeur)] - - aAfficher=str(monEquation) - editor=monMC.jdc.editor - editor._viewText(aAfficher, "Id",largeur=80,hauteur=300) - - monMC.dsMaFunct = False - - -def instancieChemicalFormulation(monMC): - print ('instancieChemicalFormulation pour ', monMC.nom) - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur == False : return - - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = True - - for e in monMC.jdc.etapes: - if e.nom == 'Equation' :break - print ('ds instancie') - v=maClasseDelistesDB.valeurEquationChoisie - monEquation=maClasseDelistesDB.dicoListAffiche[v] - type_react=monEquation.type_react - type_vieil=monEquation.type_vieil - - editor.changeIntoMCandSet('Equation', ('b_type_show','b_modification','b_modif','ChemicalFormulation'),( v,),v ) - print ("je passe la") - change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Reaction_Type'),type_react ) - change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Aging_Type'), type_vieil ) - - for index,valeurConstituant in enumerate(monEquation.constituants): - valeurEquation=monEquation.equation[index] - - #PNPNPN --> decider des noms SVP ave un nom python - monMcl1=('Constituant','TXM',{'statut':'o','defaut':valeurConstituant}) - monMcl2=('Differential_Equation','TXM',{'statut':'o','defaut':valeurEquation}) - listeMC=(monMcl1,monMcl2) - editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') - #editor.ajoutMCFact (e,('b_type_show','b_modification','b_modif',),valeurConstituant) - print (index,valeurConstituant,valeurEquation) - - #OptionnelConstituant = FACT ( statut = 'f',max = '**', - # Constituant = SIMP (statut = 'o', typ = 'TXM'), - # Differential_Equation = SIMP(statut= 'o',typ= 'TXM'), - - for index,valeurConstituant in enumerate(monEquation.const_cine_nom): - valeurArrhe=monEquation.arrhenius[index] - if valeurArrhe : valeurConstanteType='Arrhenius type' - else : valeurConstanteType='non Arrhenius type' - monMcl1=('ConstanteName','TXM',{'statut':'o','defaut':valeurConstituant}) - monMcl2=('ConstanteType','TXM',{'statut':'o','defaut':valeurConstanteType,'into': ('Arrhenius type','non Arrhenius type') }) - listeMC=(monMcl1,monMcl2) - editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') - #editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) - - - change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Commentaire'),monEquation.comment ) - print (monEquation.comment ) - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - - monMC.dsMaFunct = False - editor.dsMaFunct = False - - - - -def recupereDicoModele(monMC): - if monMC.valeur == None: return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - monMC.dsMaFunct = True - print ('je passe dans recupereDicoModele') - - editor=monMC.jdc.editor - valeurDB=editor.getValeur('Modele','Modele_DB',()) - maClasseDelistesDB.metAJour(valeurDB) - - print ('fin recupereDicoModele') - monMC.dsMaFunct = False - - -def creeListeEquation(monMC): - if monMC.valeur == None: return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = True - print ('debut de creeListeEquation') - - listeEquationsAAfficher=[] - listeConstantesAAfficher=[] - listeInitialEquations=[] - - listEquation=maClasseDelistesDB.getListEquation() - for index,equation in enumerate( listEquation): - if index in monModele.equa: - listeEquationsAAfficher.append(equation.representation) - listeConstantesAAfficher.append(equation.const_cine_nom) - t=equation.representation+'\t\t\t\t '+str(equation.const_cine_nom) - listeInitialEquations.append(t) - - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','Initial_Equation_List'),listeInitialEquations ) - maClasseDelistesDB.listeEquationsAAfficher = listeEquationsAAfficher - maClasseDelistesDB.listeConstantesAAfficher = listeConstantesAAfficher - monMC.dsMaFunct = False - print ('fin de creeListeEquation') - - editor.dsMaFunct = False - - # listeEquation_stabilization=SIMP(statut='o', homo='SansOrdreNiDoublon', max='**', min=0 ), - -def recupereModeleEquation(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur==False : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = True - print ('je suis dans recupereModeleEquation') - - editor.dsMaFunct = True - dicoListeEquationAAfficher={} - - from VP_Cata_V2 import monDico - listEquation=maClasseDelistesDB.getListEquation() - for valeurReactionType in monDico['Equation_Liste']: - dicoListeEquationAAfficher[valeurReactionType] = [] - for index,equation in enumerate( listEquation): - if equation.type_react==valeurReactionType : - dicoListeEquationAAfficher[valeurReactionType].append(equation.representation) - maClasseDelistesDB.dictParametresInitiaux[equation.representation]=equation - #print (dicoListeEquationAAfficher) - #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) - prepareDiffusionSansMC(editor,monMC.nom,monMC) - - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation']) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] ) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] ) - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] ) - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - - print ('fin recupereModeleEquation') - monMC.dsMaFunct = False - editor.dsMaFunct = False - -def ajoutDUneEquation(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur==False : return - editor=monMC.jdc.editor - prepareDiffusionSansMC(editor,monMC) - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = False - monMC.dsMaFunct = False - -def prepareDiffusion(monMC): - if monMC.valeur==False : return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - monMC.dsMaFunct=True - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - editor.dsMaFunct = True - print ('je suis dans prepareDiffusion', monMC.nom) - prepareDiffusionSansMC(editor,monMC) - print ('fin de prepareDiffusion', monMC.nom) - monMC.dsMaFunct=False - editor.dsMaFunct = False - -def prepareDiffusionSansMC(editor,monMC): - #lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),) - monMCNom = monMC.nom - monEtape = monMC.getEtape() - lInitialBadCoche=editor.getValeurDsEtape(monEtape, 'ForDiffusion',('b_type_mechanistic','Model_Mechanistic','b_diffusion'),) - if lInitialBadCoche == None : lInitialBadCoche=[] - lInitialCoche=[] - for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0]) - print (lInitialCoche) - print ('kkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhh') - - #PropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',)) - #TerminationCoche=editor.getValeur('Modele','listeEquation_termination', ('b_type_creation','Chemical_Equation',)) - #lStabilizationCoche=editor.getValeur('Modele','listeEquation_stabilization', ('b_type_creation','Chemical_Equation',)) - - #print (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche) - #for liste in (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche): - for liste in (lInitialCoche,): - # Il est possible qu'une liste soit vide lors de l initialisation - if liste == None : continue - for equation in liste : - print (equation) - for const in maClasseDelistesDB.dictParametresInitiaux[equation].constituants : - if const not in maClasseDelistesDB.listeParametresInitiaux : maClasseDelistesDB.listeParametresInitiaux.append(const) - #for coef in maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom : - # if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) - for num,coef in enumerate(maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom ): - maClasseDelistesDB.dicoCoefAffichageArr[coef]=maClasseDelistesDB.dictParametresInitiaux[equation].arrhenius[num] - if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) - - #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) - print (maClasseDelistesDB.listeParametresInitiaux) - if monMCNom == 'Diffusion' : - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_diffusion','listeProduitPourLaDiffusion'), maClasseDelistesDB.listeParametresInitiaux ) - if monMCNom == 'Evaporation' : - change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_evaporation','listeProduitPourLEvaporation'), maClasseDelistesDB.listeParametresInitiaux ) - - if monMCNom in ('Evaporation','Diffusion') : - for c in list(monModele.coef[0].keys()) : - if c[0]=='D': - clef=c[1:] - if clef in maClasseDelistesDB.listeParametresInitiaux : - maClasseDelistesDB.listeCoefD.append(clef) - maClasseDelistesDB.listeCoefInitiaux.append('D'+clef) - maClasseDelistesDB.listeCoefInitiaux.append('S'+clef) - else : - maClasseDelistesDB.listeCoefASupprimer.append('S'+clef) - maClasseDelistesDB.listeCoefASupprimer.append('D'+clef) - if c[0]=='B': - clef=c[1:] - if clef in maClasseDelistesDB.listeParametresInitiaux : - maClasseDelistesDB.listeCoefB.append(clef) - maClasseDelistesDB.listeCoefInitiaux.append(c) - else : - maClasseDelistesDB.listeCoefASupprimer.append(c) - print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefB) - print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefD) - print ('maClasseDelistesDB.listeCoefInitiaux',maClasseDelistesDB.listeCoefInitiaux) - print ('maClasseDelistesDB.listeCoefASupprimer',maClasseDelistesDB.listeCoefASupprimer) - print ('maClasseDelistesDB.listeParametresInitiaux',maClasseDelistesDB.listeParametresInitiaux) - # au lieu des print il faut mettre a jour le MC Fact Coefficients avec ,maClasseDelistesDB.listeCoefInitiaux et le MC FACT - # Paraetres_initiaux avec maClasseDelistesDB.listeParametresInitiaux - # TO DO TO DO PNPN - # si on arrive avex - # if monMC.nom = Diffusion - if monMCNom == 'Diffusion' : - editor.setValeur('Modele','listeProduitPourLaDiffusion' ,maClasseDelistesDB.listeCoefD, ('b_type_creation','Transport','b_diffusion',)) - #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefD') - # if monMCNom == 'Evaporation' : - #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefB') - - - -def ajouteEvaporation(monMC): - print ('je suis dans ajouteDiffusion') - if monMC.valeur == None : return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - - monMC.dsMaFunct=True - for v in monMC.valeur : - clef='B'+v - if clef not in maClasseDelistesDB.listeCoefInitiaux : - maClasseDelistesDB.listeCoefInitiaux.append(clef) - - print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) - monMC.dsMaFunct=False - editor.dsMaFunct = False - -def ajouteDiffusion(monMC): - print ('je suis dans ajouteDiffusion') - if monMC.valeur == None : return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - - monMC.dsMaFunct=True - for v in monMC.valeur : - clef='D'+v - if clef not in maClasseDelistesDB.listeCoefInitiaux : - maClasseDelistesDB.listeCoefInitiaux.append(clef) - maClasseDelistesDB.listeCoefInitiaux.append('S'+v) - maClasseDelistesDB.dicoCoefAffichageArr[clef] = True - maClasseDelistesDB.dicoCoefAffichageArr['S'+v] = False - #maClasseDelistesDB.dicoCoefAffichageArr['B'+v] = True - - # on affiche dans l interface un mot clef avec clef comme nom et - # 2 reels si ce commence par D soit iniitialise a 0 si pas de valeur - # soit avec comme deifaut nomCoef in monModele.coef[0].keys() - print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) - - for nomCoef in maClasseDelistesDB.listeCoefInitiaux: - #A jout Ds Coef d'un MC - nomMC='Coef_'+nomCoef - if maClasseDelistesDB.dicoCoefAffichageArr[nomCoef] == True: - print ('2 r'), - if nomCoef in monModele.coef[0].keys() : - print (monModele.coef[0][nomCoef]) - else : - print ((0,0)) - else : - print ('1 r') - if nomCoef in monModele.coef[0].keys() : - print (monModele.coef[0][nomCoef]) - else : - print (0) - - print ('______________________') - #for v in monMC.valeur : - # print (v) - # mesValeurs=editor.dicoCoefS[v] - # MCFils='S'+v - # for e in monMC.jdc.etapes: - # if e.nom == 'Modele' :break - # editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' ) - # editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) - # print ('______') - #if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - monMC.dsMaFunct=False - editor.dsMaFunct = False - - -# -------------------------------------------------------------------------------------------- -# pour les modeles en modification ou en utilisation -# -------------------------------------------------------------------------------------------- -def creeListeMateriauxSelonModele(monMC): - if monMC.valeur == None : return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - - valeurDB=editor.getValeur('Modele','Modele_DB',()) - maClasseDelistesDB.metAJour(valeurDB) - listModele=maClasseDelistesDB.getListModele() - listModeleFiltre=[] - listMateriauxFiltre=[] - for modele in listModele : - if modele.technical_use == monMC.valeur : - maClasseDelistesDB.dicoModeleFiltre[modele.nom]=modele - listModeleFiltre.append(modele.nom) - if type(modele.materiaux) not in (list, tuple): modeleATraiter= modele.materiaux - else : modeleATraiter= modele.materiaux[0] - if modeleATraiter not in listMateriauxFiltre : - listMateriauxFiltre.append(modeleATraiter) - maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter]=[modele.nom,] - else : - maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter].append(modele.nom) - - - - change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','material'),listMateriauxFiltre ) - - monMC.dsMaFunct=False - editor.dsMaFunct = False - -def creeListeModelesPossibles(monMC): - if monMC.valeur == None : return - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - editor=monMC.jdc.editor - if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return - change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','modele'),maClasseDelistesDB.dicoMateriauxFiltre[monMC.valeur] ) - - monMC.dsMaFunct=False - editor.dsMaFunct = False - -def choisitModele(monMC): - # Equation b_modification modification - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - valeur=monMC.valeur - if valeur == None : return - modele=maClasseDelistesDB.dicoModeleFiltre[monMC.valeur] - maClasseDelistesDB.monModele=modele - monMC.dsMaFunct = False - -def choisitActionModele(monMC): - if monMC.valeur == 'display' : afficheModele(monMC) - if monMC.valeur == 'modify' : changeValeurDefautModele(monMC) - -def afficheModele(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - valeur=monMC.valeur - aAfficher=str(maClasseDelistesDB.monModele) - editor=monMC.jdc.editor - editor._viewText(aAfficher, "Id",largeur=700,hauteur=500) - - monMC.dsMaFunct = False - -def changeValeurDefautModele(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - monMC.dsMaFunct = True - editor=monMC.jdc.editor - change=editor.changeIntoMCandSet('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID','modeleName'),(maClasseDelistesDB.monModele.nom,),maClasseDelistesDB.monModele.nom, ) - editor.setValeur('Modele','technicalUse',maClasseDelistesDB.monModele.technical_use, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - - editor.setValeur('Modele','material',maClasseDelistesDB.monModele.materiaux, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - editor.setValeur('Modele','agingType',maClasseDelistesDB.monModele.type_vieil, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - - if maClasseDelistesDB.monModele.stabilise == 'True' : monBool = True - else : monBool = False - editor.setValeur('Modele','stabilizer',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - editor.setValeur('Modele','material_thickness',maClasseDelistesDB.monModele.thickness, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - - if maClasseDelistesDB.monModele.dvt_EDF == 'True' : monBool = True - else : monBool = False - editor.setValeur('Modele','model_developed_by_for_EDF',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - editor.setValeur('Modele','documentation',maClasseDelistesDB.monModele.reference, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - monMC.dsMaFunct = False - - - -def creeCoefAModifier(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur == None : return - monMC.dsMaFunct = True - editor=monMC.jdc.editor - dicoArr={} - dicoNonArr={} - for coef in maClasseDelistesDB.monModele.coef[0] : - if len (maClasseDelistesDB.monModele.coef[0][coef]) == 1 : - dicoNonArr[coef]=maClasseDelistesDB.monModele.coef[0][coef][0] - else : - dicoArr[coef]=maClasseDelistesDB.monModele.coef[0][coef] - if coef[0] == 'D' : maClasseDelistesDB.listeDiffusion.append(coef[1:]) - print (dicoNonArr) - print (dicoArr) - if 'ri' in dicoNonArr : - print ('ajoutDefinitionMC debitOfDose') - editor.ajoutDefinitionMC('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor'), 'debitOfDose',typ='R',statut='o' ) - - for coef in dicoNonArr : - print (coef) - # attention, notation scientifique - editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use',),coef, 'R', statut='o',defaut=dicoNonArr[coef]) - # a faire marcher - # pour les Arr il faut un tuple(2) - - # il fait creer un fact Boundary_Conditions_Param pour chacque espece de listeDiffusion - - if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() - - monMC.dsMaFunct = False - - -def remplirAgingFactor(monMC): - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur == None : return - monMC.dsMaFunct = True - editor=monMC.jdc.editor - if monMC.valeur in dicoAgingFactor: - print (monMC.valeur, 'trouve') - for MC in dicoAgingFactor[monMC.valeur]: - print (MC) - print (dicoAgingFactor[monMC.valeur][MC]), - editor.setValeur('Modele',MC,dicoAgingFactor[monMC.valeur][MC],('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor')) - monMC.dsMaFunct = False - +@entoure +def remplitMasterModel(monMC): -def creeInitialParameter(monMC): - print ('je passe dans creeInitialParameter') - if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return - if monMC.valeur == None : return - monMC.dsMaFunct = True +# from Test import Dico2 editor=monMC.jdc.editor - for coef in maClasseDelistesDB.monModele.param_ini: - 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]) - monMC.dsMaFunct = False - # creer nbdenode = monMC.valeur Initial_Parameter + print (editor) + +#def recupereDicoEquation(monMC): +# # Equation_reaction (ds 2 blocs) +# # ou dans Equation b_type_show b_reaction_type +# # ou dans Equation b_type_show b_aging_type +# +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# monMC.dsMaFunct = True +# +# valeurDB=editor.getValeur('Equation','Equation_DB',()) +# maClasseDelistesDB.metAJour(valeurDB) +# listEquation=maClasseDelistesDB.getListEquation() +# +# valeurEquationListe=editor.getValeur('Equation','Equation_Liste',('b_type_show',)) +# valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_reaction_type',)) +# if valeurAgingType == None : +# valeurAgingType=editor.getValeur('Equation','Equation_reaction',('b_type_show','b_aging_type',)) +# if valeurAgingType == None : monMC.dsMaFunct = False; return +# +# listeEquationPourIhm = [] +# listeReprEquationPourIhm = [] +# dicoListAffiche = {} +# +# for equation in listEquation : +# if valeurEquationListe == 'aging_type' : +# if equation.type_vieil == valeurAgingType : +# listeEquationPourIhm.append(equation) +# listeReprEquationPourIhm.append(equation.representation) +# dicoListAffiche[equation.representation]=equation +# else: +# if equation.type_react == valeurAgingType : +# listeEquationPourIhm.append(equation) +# listeReprEquationPourIhm.append(equation.representation) +# dicoListAffiche[equation.representation]=equation +# maClasseDelistesDB.dicoListAffiche = dicoListAffiche +# +# change=editor.changeIntoDefMC('Equation', ('b_type_show','ListeEquation'), listeReprEquationPourIhm ) +# if change : +# editor.reCalculeValiditeMCApresChgtInto('Equation', 'listeEquation', ('b_type_show',)) +# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# monMC.dsMaFunct = False +# +#def afficheValeurEquation(monMC): +# # Equation b_modification modification +# print (monMC) +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# valeur=monMC.valeur +# if valeur == None : return +# maClasseDelistesDB.valeurEquationChoisie=str(valeur) +# monEquation=maClasseDelistesDB.dicoListAffiche[str(valeur)] +# +# aAfficher=str(monEquation) +# editor=monMC.jdc.editor +# editor._viewText(aAfficher, "Id",largeur=80,hauteur=300) +# +# monMC.dsMaFunct = False +# +# +#def instancieChemicalFormulation(monMC): +# print ('instancieChemicalFormulation pour ', monMC.nom) +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur == False : return +# +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# editor.dsMaFunct = True +# +# for e in monMC.jdc.etapes: +# if e.nom == 'Equation' :break +# print ('ds instancie') +# v=maClasseDelistesDB.valeurEquationChoisie +# monEquation=maClasseDelistesDB.dicoListAffiche[v] +# type_react=monEquation.type_react +# type_vieil=monEquation.type_vieil +# +# editor.changeIntoMCandSet('Equation', ('b_type_show','b_modification','b_modif','ChemicalFormulation'),( v,),v ) +# print ("je passe la") +# change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Reaction_Type'),type_react ) +# change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Aging_Type'), type_vieil ) +# +# for index,valeurConstituant in enumerate(monEquation.constituants): +# valeurEquation=monEquation.equation[index] +# +# #PNPNPN --> decider des noms SVP ave un nom python +# monMcl1=('Constituant','TXM',{'statut':'o','defaut':valeurConstituant}) +# monMcl2=('Differential_Equation','TXM',{'statut':'o','defaut':valeurEquation}) +# listeMC=(monMcl1,monMcl2) +# editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') +# #editor.ajoutMCFact (e,('b_type_show','b_modification','b_modif',),valeurConstituant) +# print (index,valeurConstituant,valeurEquation) +# +# #OptionnelConstituant = FACT ( statut = 'f',max = '**', +# # Constituant = SIMP (statut = 'o', typ = 'TXM'), +# # Differential_Equation = SIMP(statut= 'o',typ= 'TXM'), +# +# for index,valeurConstituant in enumerate(monEquation.const_cine_nom): +# valeurArrhe=monEquation.arrhenius[index] +# if valeurArrhe : valeurConstanteType='Arrhenius type' +# else : valeurConstanteType='non Arrhenius type' +# monMcl1=('ConstanteName','TXM',{'statut':'o','defaut':valeurConstituant}) +# monMcl2=('ConstanteType','TXM',{'statut':'o','defaut':valeurConstanteType,'into': ('Arrhenius type','non Arrhenius type') }) +# listeMC=(monMcl1,monMcl2) +# editor.ajoutDefinitionMCFact ('Equation',('b_type_show','b_modification','b_modif',),valeurConstituant,listeMC,statut='f') +# #editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) +# +# +# change=editor.changeDefautDefMC('Equation', ('b_type_show','b_modification','b_modif','Commentaire'),monEquation.comment ) +# print (monEquation.comment ) +# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# +# monMC.dsMaFunct = False +# editor.dsMaFunct = False +# +# +# +# +#def recupereDicoModele(monMC): +# if monMC.valeur == None: return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# monMC.dsMaFunct = True +# print ('je passe dans recupereDicoModele') +# +# editor=monMC.jdc.editor +# valeurDB=editor.getValeur('Modele','Modele_DB',()) +# maClasseDelistesDB.metAJour(valeurDB) +# +# print ('fin recupereDicoModele') +# monMC.dsMaFunct = False +# +# +#def creeListeEquation(monMC): +# if monMC.valeur == None: return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# editor.dsMaFunct = True +# print ('debut de creeListeEquation') +# +# listeEquationsAAfficher=[] +# listeConstantesAAfficher=[] +# listeInitialEquations=[] +# +# listEquation=maClasseDelistesDB.getListEquation() +# for index,equation in enumerate( listEquation): +# if index in monModele.equa: +# listeEquationsAAfficher.append(equation.representation) +# listeConstantesAAfficher.append(equation.const_cine_nom) +# t=equation.representation+'\t\t\t\t '+str(equation.const_cine_nom) +# listeInitialEquations.append(t) +# +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','Initial_Equation_List'),listeInitialEquations ) +# maClasseDelistesDB.listeEquationsAAfficher = listeEquationsAAfficher +# maClasseDelistesDB.listeConstantesAAfficher = listeConstantesAAfficher +# monMC.dsMaFunct = False +# print ('fin de creeListeEquation') +# +# editor.dsMaFunct = False +# +# # listeEquation_stabilization=SIMP(statut='o', homo='SansOrdreNiDoublon', max='**', min=0 ), +# +#def recupereModeleEquation(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur==False : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# editor.dsMaFunct = True +# print ('je suis dans recupereModeleEquation') +# +# editor.dsMaFunct = True +# dicoListeEquationAAfficher={} +# +# from VP_Cata_V2 import monDico +# listEquation=maClasseDelistesDB.getListEquation() +# for valeurReactionType in monDico['Equation_Liste']: +# dicoListeEquationAAfficher[valeurReactionType] = [] +# for index,equation in enumerate( listEquation): +# if equation.type_react==valeurReactionType : +# dicoListeEquationAAfficher[valeurReactionType].append(equation.representation) +# maClasseDelistesDB.dictParametresInitiaux[equation.representation]=equation +# #print (dicoListeEquationAAfficher) +# #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) +# prepareDiffusionSansMC(editor,monMC.nom,monMC) +# +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_initiation'),dicoListeEquationAAfficher['initiation']) +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_propagation'),dicoListeEquationAAfficher['propagation'] ) +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_termination'),dicoListeEquationAAfficher['termination'] ) +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Chemical_Equation','b_ajout_equation','listeEquation_stabilization'),dicoListeEquationAAfficher['stabilization'] ) +# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# +# print ('fin recupereModeleEquation') +# monMC.dsMaFunct = False +# editor.dsMaFunct = False +# +#def ajoutDUneEquation(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur==False : return +# editor=monMC.jdc.editor +# prepareDiffusionSansMC(editor,monMC) +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# editor.dsMaFunct = False +# monMC.dsMaFunct = False +# +#def prepareDiffusion(monMC): +# if monMC.valeur==False : return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# monMC.dsMaFunct=True +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# editor.dsMaFunct = True +# print ('je suis dans prepareDiffusion', monMC.nom) +# prepareDiffusionSansMC(editor,monMC) +# print ('fin de prepareDiffusion', monMC.nom) +# monMC.dsMaFunct=False +# editor.dsMaFunct = False +# +#def prepareDiffusionSansMC(editor,monMC): +# #lInitialBadCoche=editor.getValeur('Modele', 'Initial_Equation_List',('b_type_creation','Chemical_Equation'),) +# monMCNom = monMC.nom +# monEtape = monMC.getEtape() +# lInitialBadCoche=editor.getValeurDsEtape(monEtape, 'ForDiffusion',('b_type_mechanistic','Model_Mechanistic','b_diffusion'),) +# if lInitialBadCoche == None : lInitialBadCoche=[] +# lInitialCoche=[] +# for equ in lInitialBadCoche: lInitialCoche.append(equ.split('\t')[0]) +# print (lInitialCoche) +# print ('kkkkkkkkkkkkhhhhhhhhhhhhhhhhhhhhhhhhhhh') +# +# #PropagationCoche =editor.getValeur('Modele', 'listeEquation_propagation',('b_type_creation','Chemical_Equation',)) +# #TerminationCoche=editor.getValeur('Modele','listeEquation_termination', ('b_type_creation','Chemical_Equation',)) +# #lStabilizationCoche=editor.getValeur('Modele','listeEquation_stabilization', ('b_type_creation','Chemical_Equation',)) +# +# #print (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche) +# #for liste in (lInitialCoche,lInititiationCoche,lPropagationCoche,lTerminationCoche,lStabilizationCoche): +# for liste in (lInitialCoche,): +# # Il est possible qu'une liste soit vide lors de l initialisation +# if liste == None : continue +# for equation in liste : +# print (equation) +# for const in maClasseDelistesDB.dictParametresInitiaux[equation].constituants : +# if const not in maClasseDelistesDB.listeParametresInitiaux : maClasseDelistesDB.listeParametresInitiaux.append(const) +# #for coef in maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom : +# # if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) +# for num,coef in enumerate(maClasseDelistesDB.dictParametresInitiaux[equation].const_cine_nom ): +# maClasseDelistesDB.dicoCoefAffichageArr[coef]=maClasseDelistesDB.dictParametresInitiaux[equation].arrhenius[num] +# if coef not in maClasseDelistesDB.listeCoefInitiaux : maClasseDelistesDB.listeCoefInitiaux.append(coef) +# +# #print('maClasseDelistesDB.dictParametresInitiaux', maClasseDelistesDB.dictParametresInitiaux) +# print (maClasseDelistesDB.listeParametresInitiaux) +# if monMCNom == 'Diffusion' : +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_diffusion','listeProduitPourLaDiffusion'), maClasseDelistesDB.listeParametresInitiaux ) +# if monMCNom == 'Evaporation' : +# change=editor.changeIntoDefMC('Modele', ('b_type_creation','Transport','b_evaporation','listeProduitPourLEvaporation'), maClasseDelistesDB.listeParametresInitiaux ) +# +# if monMCNom in ('Evaporation','Diffusion') : +# for c in list(monModele.coef[0].keys()) : +# if c[0]=='D': +# clef=c[1:] +# if clef in maClasseDelistesDB.listeParametresInitiaux : +# maClasseDelistesDB.listeCoefD.append(clef) +# maClasseDelistesDB.listeCoefInitiaux.append('D'+clef) +# maClasseDelistesDB.listeCoefInitiaux.append('S'+clef) +# else : +# maClasseDelistesDB.listeCoefASupprimer.append('S'+clef) +# maClasseDelistesDB.listeCoefASupprimer.append('D'+clef) +# if c[0]=='B': +# clef=c[1:] +# if clef in maClasseDelistesDB.listeParametresInitiaux : +# maClasseDelistesDB.listeCoefB.append(clef) +# maClasseDelistesDB.listeCoefInitiaux.append(c) +# else : +# maClasseDelistesDB.listeCoefASupprimer.append(c) +# print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefB) +# print ('aClasseDelistesDB.listeCoefB',maClasseDelistesDB.listeCoefD) +# print ('maClasseDelistesDB.listeCoefInitiaux',maClasseDelistesDB.listeCoefInitiaux) +# print ('maClasseDelistesDB.listeCoefASupprimer',maClasseDelistesDB.listeCoefASupprimer) +# print ('maClasseDelistesDB.listeParametresInitiaux',maClasseDelistesDB.listeParametresInitiaux) +# # au lieu des print il faut mettre a jour le MC Fact Coefficients avec ,maClasseDelistesDB.listeCoefInitiaux et le MC FACT +# # Paraetres_initiaux avec maClasseDelistesDB.listeParametresInitiaux +# # TO DO TO DO PNPN +# # si on arrive avex +# # if monMC.nom = Diffusion +# if monMCNom == 'Diffusion' : +# editor.setValeur('Modele','listeProduitPourLaDiffusion' ,maClasseDelistesDB.listeCoefD, ('b_type_creation','Transport','b_diffusion',)) +# #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefD') +# # if monMCNom == 'Evaporation' : +# #editor.changeValeur(....,'listeProduitPourLaDiffusion',maClasseDelistesDB.listeCoefB') +# +# +# +#def ajouteEvaporation(monMC): +# print ('je suis dans ajouteDiffusion') +# if monMC.valeur == None : return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# +# monMC.dsMaFunct=True +# for v in monMC.valeur : +# clef='B'+v +# if clef not in maClasseDelistesDB.listeCoefInitiaux : +# maClasseDelistesDB.listeCoefInitiaux.append(clef) +# +# print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) +# monMC.dsMaFunct=False +# editor.dsMaFunct = False +# +#def ajouteDiffusion(monMC): +# print ('je suis dans ajouteDiffusion') +# if monMC.valeur == None : return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# +# monMC.dsMaFunct=True +# for v in monMC.valeur : +# clef='D'+v +# if clef not in maClasseDelistesDB.listeCoefInitiaux : +# maClasseDelistesDB.listeCoefInitiaux.append(clef) +# maClasseDelistesDB.listeCoefInitiaux.append('S'+v) +# maClasseDelistesDB.dicoCoefAffichageArr[clef] = True +# maClasseDelistesDB.dicoCoefAffichageArr['S'+v] = False +# #maClasseDelistesDB.dicoCoefAffichageArr['B'+v] = True +# +# # on affiche dans l interface un mot clef avec clef comme nom et +# # 2 reels si ce commence par D soit iniitialise a 0 si pas de valeur +# # soit avec comme deifaut nomCoef in monModele.coef[0].keys() +# print ('sortie de ajouteDiffusion' , maClasseDelistesDB.listeCoefInitiaux) +# +# for nomCoef in maClasseDelistesDB.listeCoefInitiaux: +# #A jout Ds Coef d'un MC +# nomMC='Coef_'+nomCoef +# if maClasseDelistesDB.dicoCoefAffichageArr[nomCoef] == True: +# print ('2 r'), +# if nomCoef in monModele.coef[0].keys() : +# print (monModele.coef[0][nomCoef]) +# else : +# print ((0,0)) +# else : +# print ('1 r') +# if nomCoef in monModele.coef[0].keys() : +# print (monModele.coef[0][nomCoef]) +# else : +# print (0) +# +# print ('______________________') +# #for v in monMC.valeur : +# # print (v) +# # mesValeurs=editor.dicoCoefS[v] +# # MCFils='S'+v +# # for e in monMC.jdc.etapes: +# # if e.nom == 'Modele' :break +# # editor.ajoutDefinitionMC(e,('b_type_creation','b_diffusion'),MCFils,typ='TXM',statut='o' ) +# # editor.ajoutMC(e,MCFils,mesValeurs,('b_type_creation','b_diffusion',)) +# # print ('______') +# #if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# monMC.dsMaFunct=False +# editor.dsMaFunct = False +# +# +## -------------------------------------------------------------------------------------------- +## pour les modeles en modification ou en utilisation +## -------------------------------------------------------------------------------------------- +#def creeListeMateriauxSelonModele(monMC): +# if monMC.valeur == None : return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# +# valeurDB=editor.getValeur('Modele','Modele_DB',()) +# maClasseDelistesDB.metAJour(valeurDB) +# listModele=maClasseDelistesDB.getListModele() +# listModeleFiltre=[] +# listMateriauxFiltre=[] +# for modele in listModele : +# if modele.technical_use == monMC.valeur : +# maClasseDelistesDB.dicoModeleFiltre[modele.nom]=modele +# listModeleFiltre.append(modele.nom) +# if type(modele.materiaux) not in (list, tuple): modeleATraiter= modele.materiaux +# else : modeleATraiter= modele.materiaux[0] +# if modeleATraiter not in listMateriauxFiltre : +# listMateriauxFiltre.append(modeleATraiter) +# maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter]=[modele.nom,] +# else : +# maClasseDelistesDB.dicoMateriauxFiltre[modeleATraiter].append(modele.nom) +# +# +# +# change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','material'),listMateriauxFiltre ) +# +# monMC.dsMaFunct=False +# editor.dsMaFunct = False +# +#def creeListeModelesPossibles(monMC): +# if monMC.valeur == None : return +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# editor=monMC.jdc.editor +# if hasattr(editor,'dsMaFunct') and editor.dsMaFunct== True : return +# change=editor.changeIntoDefMC('Modele', ('b_type_modification','b_technicalUse','modele'),maClasseDelistesDB.dicoMateriauxFiltre[monMC.valeur] ) +# +# monMC.dsMaFunct=False +# editor.dsMaFunct = False +# +#def choisitModele(monMC): +# # Equation b_modification modification +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# valeur=monMC.valeur +# if valeur == None : return +# modele=maClasseDelistesDB.dicoModeleFiltre[monMC.valeur] +# maClasseDelistesDB.monModele=modele +# monMC.dsMaFunct = False +# +#def choisitActionModele(monMC): +# if monMC.valeur == 'display' : afficheModele(monMC) +# if monMC.valeur == 'modify' : changeValeurDefautModele(monMC) +# +#def afficheModele(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# valeur=monMC.valeur +# aAfficher=str(maClasseDelistesDB.monModele) +# editor=monMC.jdc.editor +# editor._viewText(aAfficher, "Id",largeur=700,hauteur=500) +# +# monMC.dsMaFunct = False +# +#def changeValeurDefautModele(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# monMC.dsMaFunct = True +# editor=monMC.jdc.editor +# change=editor.changeIntoMCandSet('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID','modeleName'),(maClasseDelistesDB.monModele.nom,),maClasseDelistesDB.monModele.nom, ) +# editor.setValeur('Modele','technicalUse',maClasseDelistesDB.monModele.technical_use, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# +# editor.setValeur('Modele','material',maClasseDelistesDB.monModele.materiaux, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# editor.setValeur('Modele','agingType',maClasseDelistesDB.monModele.type_vieil, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# +# if maClasseDelistesDB.monModele.stabilise == 'True' : monBool = True +# else : monBool = False +# editor.setValeur('Modele','stabilizer',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# editor.setValeur('Modele','material_thickness',maClasseDelistesDB.monModele.thickness, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# +# if maClasseDelistesDB.monModele.dvt_EDF == 'True' : monBool = True +# else : monBool = False +# editor.setValeur('Modele','model_developed_by_for_EDF',monBool, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# editor.setValeur('Modele','documentation',maClasseDelistesDB.monModele.reference, ('b_type_modification','b_technicalUse','b_modele','b_type_modify','ID')) +# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# monMC.dsMaFunct = False +# +# +# +#def creeCoefAModifier(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur == None : return +# monMC.dsMaFunct = True +# editor=monMC.jdc.editor +# dicoArr={} +# dicoNonArr={} +# for coef in maClasseDelistesDB.monModele.coef[0] : +# if len (maClasseDelistesDB.monModele.coef[0][coef]) == 1 : +# dicoNonArr[coef]=maClasseDelistesDB.monModele.coef[0][coef][0] +# else : +# dicoArr[coef]=maClasseDelistesDB.monModele.coef[0][coef] +# if coef[0] == 'D' : maClasseDelistesDB.listeDiffusion.append(coef[1:]) +# print (dicoNonArr) +# print (dicoArr) +# if 'ri' in dicoNonArr : +# print ('ajoutDefinitionMC debitOfDose') +# editor.ajoutDefinitionMC('Modele', ('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor'), 'debitOfDose',typ='R',statut='o' ) +# +# for coef in dicoNonArr : +# print (coef) +# # attention, notation scientifique +# editor.ajoutDefinitionMC('Modele',('b_type_modification','b_technicalUse','b_modele','b_type_use',),coef, 'R', statut='o',defaut=dicoNonArr[coef]) +# # a faire marcher +# # pour les Arr il faut un tuple(2) +# +# # il fait creer un fact Boundary_Conditions_Param pour chacque espece de listeDiffusion +# +# if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau() +# +# monMC.dsMaFunct = False +# +# +#def remplirAgingFactor(monMC): +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur == None : return +# monMC.dsMaFunct = True +# editor=monMC.jdc.editor +# if monMC.valeur in dicoAgingFactor: +# print (monMC.valeur, 'trouve') +# for MC in dicoAgingFactor[monMC.valeur]: +# print (MC) +# print (dicoAgingFactor[monMC.valeur][MC]), +# editor.setValeur('Modele',MC,dicoAgingFactor[monMC.valeur][MC],('b_type_modification','b_technicalUse','b_modele','b_type_use2','Aging_Factor')) +# monMC.dsMaFunct = False +# +# +#def creeInitialParameter(monMC): +# print ('je passe dans creeInitialParameter') +# if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return +# if monMC.valeur == None : return +# monMC.dsMaFunct = True +# editor=monMC.jdc.editor +# for coef in maClasseDelistesDB.monModele.param_ini: +# 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]) +# monMC.dsMaFunct = False +# # creer nbdenode = monMC.valeur Initial_Parameter diff --git a/VirtualPolymer/prefs_VP.py b/VirtualPolymer/prefs_VP.py index 11eb2f9a..869fc104 100644 --- a/VirtualPolymer/prefs_VP.py +++ b/VirtualPolymer/prefs_VP.py @@ -35,7 +35,9 @@ encoding='iso-8859-1' # catalogues=( - ('VP','V1',os.path.join(repIni,'VP_Cata_simplifie.py'),'python','python'), +# ('VPCalcul','V1',os.path.join(repIni,'VP_Cata_simplifie.py'),'python','python'), + ('VPCalcul','VCalcul',os.path.join(repIni,'VP_Cata_Calculation.py'),'MAPVp','python'), + ('VPDabase','VDatabase',os.path.join(repIni,'VP_Cata_Database.py'),'python','python'), ) nombreDeBoutonParLigne=2 closeFrameRechercheCommande = True -- 2.39.2