From f4109b78e657bfc3242ab11c0b052864c5f22701 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 19 Mar 2019 14:41:46 +0100 Subject: [PATCH] pour partage avec Eric --- JP/cata_Vimmp.py | 452 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 451 insertions(+), 1 deletion(-) mode change 120000 => 100755 JP/cata_Vimmp.py diff --git a/JP/cata_Vimmp.py b/JP/cata_Vimmp.py deleted file mode 120000 index 767357d5..00000000 --- a/JP/cata_Vimmp.py +++ /dev/null @@ -1 +0,0 @@ -cata_Vimmp_V1803.py \ No newline at end of file diff --git a/JP/cata_Vimmp.py b/JP/cata_Vimmp.py new file mode 100755 index 00000000..36a8b8b6 --- /dev/null +++ b/JP/cata_Vimmp.py @@ -0,0 +1,451 @@ +# 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 . +# PNPN changer la place du trait dans les FACT ouverts +# PNPN ne pas afficher les facts optionnels + +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 + +liste_Objets_Surface_Elementaire = [] +class Surface_Elementaire (ASSD): + def __init__(self, nom): + ASSD.__init__(self) + self.setName(nom) + +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), + #Diffusivite = SIMP(statut='f', typ='R'), + #Concentration = SIMP(statut='f', typ='R'), +) + +def bloc_description_particule_fichier (): + return BLOC ( condition = 'type_description == "fichier"', + format_fichier = SIMP (statut='o', typ = 'TXM', into = ['txt','Autre',] ), + ) + +def champ (nomDelaContante, labels ,nbReels ) : +# ajouter les extensions pour le fichier et les blocs associes +# certains champs ne seront jamais uniformes + dicoBloc = {} + dicoBloc[nomDelaContante] = SIMP (statut='o', typ = 'R') + return FACT(statut ='o', + Exogene = SIMP(statut = 'o', typ = bool), + ) + #b_exogene = BLOC (condition = "Exogene == True, + # type_de_champ_exogene = SIMP ( statut='o', typ = 'TXM', into = ('format', 'interface')), + # b_type_de_champ_exogene_format = BLOC( condition = ' type_de_champ_exogene == "format" ', + # Format = SIMP (statut='o', typ = 'TXM', into = ['txt','Med','manuel',] ), + # td_manuel = BLOC ( condition = 'Format == "manuel"', + #Vecteur = SIMP( fenetreIhm='Tableau', homo = labels, + # statut='o', min=2, max='**', + # typ = Tuple(nbReels), + # validators=VerifTypeTuple(("'R',"*nbReels),),) # end Particule + # Vecteur= SIMP( typ ='R', statut ='o', max ='**'), + # ), + # td_txt = BLOC ( condition = 'Format == "txt"', + # Fichier = SIMP(statut='o', typ = ('Fichier','Text Files(*.txt);All Files (*)'),), + # ), + # td_med = BLOC ( condition = 'Format == "txt"', + # Fichier = SIMP(statut='o', typ = ('Fichier','Med Files(*.med);All Files (*)'),), + # ), + # ), # b_type_de_champ_exogene_format + # b_type_de_champ_exogene_interface = BLOC( condition = ' type_de_champ_exogene == "interface" ', + # Interface = SIMP ( statut='o', typ = 'TXM') + # ), # b_type_de_champ_exogene_interface + # ), + # b_endogene = BLOC (condition = "Exogene == False, + # Uniforme = SIMP(statut = 'o', typ = bool), + # b_uniforme = BLOC (condition = "Uniforme == True", **dicoBloc), + # b_non_uniforme = BLOC (condition = "Uniforme == False", + # Categorie = SIMP(statut = 'o', typ = 'TXM', into = ['Valeurs Directes Manuelles', 'Fonction Standard', 'Fichier']), + + # t_calcul = BLOC ( condition = 'Categorie == "Connue"', + # type_description = SIMP ( statut='o', typ = 'TXM', into = ['manuel', 'fichier']), + # td_fichier = BLOC ( condition = 'type_description == "fichier"', + # Format_Fichier = SIMP (statut='o', typ = 'TXM', into = ['txt','Autre',] ), + # Fichier = SIMP(statut='o', typ = ('Fichier','Med Files(*.med);All Files (*)'),), + # ), +# PNPN faire le bloc selon la longueur + # td_manuel = BLOC ( condition = 'type_description == "manuel"', + #Vecteur = SIMP( fenetreIhm='Tableau', homo = labels, + # statut='o', min=2, max='**', + # typ = Tuple(nbReels), + # validators=VerifTypeTuple(("'R',"*nbReels),),) # end Particule + # Vecteur= SIMP( typ ='R', statut ='o', max ='**'), + # ), + # ), + # t_externe = BLOC ( condition = 'Categorie == "Externe"', + # Code = SIMP(statut = 'o', typ = 'TXM'), + # ), + # ), + #) + + + + +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 + +def cree_Surface_Elementaire(MC) : + for surface in MC.valeur: + new_liste=[] + if not(surface in liste_Objets_Surface_Elementaire): + new_Surface=Surface_Elementaire(surface) + new_liste.append(new_Surface) + liste_Objets_Surface_Elementaire.append(surface) + print (liste_Objets_Surface_Elementaire) + return + +# + +dict_Composant = { "Usecase Silvia" : ['Particule'], + "Ecoulement_diphasique_disperse" : ['Particule', 'Fluide','Solide','Plasma',] + } +JdC = JDC_CATA('Vimmp') + + +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 ou Maillage']), + b_Forme = BLOC( condition = 'Forme == "Forme Simplifiee"', + Boite = SIMP(statut='o', typ = 'TXM',into = ['Cube', 'Boule',] ), + b_Cube = BLOC( condition = 'Boite == "Cube"', + Taille_Boite_Englobante = SIMP(statut='o', typ = 'R', max=3, min =3) + # derait etre un Tuple(3) mais a faire apres la projection + ), # fin b_Cube + b_Boule = BLOC( condition = 'Boite == "Sphere"', + Centre = SIMP(statut='o', typ = 'R', max=3, min =3), + Rayon = SIMP(statut='o', typ = 'R') , + # derait etre un Tuple(3) mais a faire apres la projection + ), # fin b_Sphere + ), # fin b_Forme + b_CAO = BLOC ( condition="Forme == 'CAO ou Maillage'" , + format_fichier = SIMP (statut='o', typ = 'TXM', into = ['txt','Med','I-deas', 'Gmsh', 'Harpoon', 'Simail', 'Star-CCM'], ), + # PNPN -> generer tous les blocs + # faire un mot clef pour avoir une projection qui permet le concatenation des into ? + b_format_fichier_med = BLOC ( condition="format_fichier == 'Med'", + Fichier_Domaine= SIMP(statut='o', typ = ('Fichier','Med Files(*.med);All Files (*)'),), + ), + ),# fin b_CAO + surface_Elementaire=SIMP(statut= 'o',typ= 'TXM',max='**', siValide=cree_Surface_Elementaire), + essai=SIMP(statut = 'ee', typ = Surface_Elementaire), + + ), # fin Domaine_Geometrique + + + Composant_Du_Systeme= FACT( statut='o', max = "**", +# #EF : Je ne ferais pas apparaître ici l'hybridation via le max=2 +# # J'attendrais de définir la méthode numérique... + Composant = SIMP(statut='o', typ = 'TXM',into = ['Particule', 'Fluide','Solide','Plasma'], position = 'global_jdc'), + Niveau_De_Description = FACT ( min=1, max= 2, statut='o', + Niveau_De_Description_Generale = SIMP( statut ='o', typ = 'TXM',into = ['Microscopique','Mesoscopique', 'Macroscopique']), + + # PNPN voir le global qui ne fonctionne pas + b_Mesoscopique_Particule = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' ", + #b_Mesoscopique_Particule = BLOC( condition = "Niveau_De_Description_Generale == 'Mesoscopique' and 'Composant' == 'Particule'", + Description_Physique = FACT( statut = 'o', + Electrostatics = SIMP( statut='o', typ=bool, defaut=False, position ='global'), + 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_Electrostatique = BLOC( condition = "Electrostatics == True", + Charge = SIMP( statut = 'o', typ = 'R'), + ), # fin b_electorsatique + ), # fin Espece + Categorie_Interaction = SIMP(statut ='o', typ ='TXM', into=['champ moyen', 'champ moyen dynamique','interaction par paire']), + b_Interactionparpaire = BLOC( condition = 'Categorie_Interaction == "interaction par paire"', + Interaction_Par_Paire = FACT( statut='o', # max = cardinalite du into + Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['electrostatique',], defaut = 'electrostatique'), + b_elec = BLOC( condition = "Type_Interaction == 'electrostatique'", + Couple_D_especes = 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 b_elec + ), # fin Interactions_Par_Paire + ), # fin b_Interactionparpaire + b_champ_moyen = BLOC( condition = 'Categorie_Interaction == "champ moyen"', + Interaction = FACT( statut='o', max = 2, # max = cardinalite du into + Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['champ gravite','champ electrostatique']), + b_gravite = BLOC (condition = 'Type_Interaction=="champ gravite"', + G= SIMP( statut='o', typ='R',defaut =9.81), + ), + b_elect = BLOC (condition = 'Type_Interaction=="champ electrostatique"', + Champ_Elec = champ ('E', ('E',), 1), + ), + Porte_Sur_Toutes_Les_especes = SIMP ( statut ='o', typ = bool, defaut = True), # faire un typ = "espece" + b_porte_espece = BLOC( condition = 'Porte_Sur_Toutes_Les_especes == False ', + Liste_D_Espece = SIMP ( statut ='o', typ = 'TXM', max= '**'), # faire un typ = "espece" + ), + ), # fin Interaction + ), # fin b_champ_moyen + b_champ_moyen_dynamique = BLOC( condition = 'Categorie_Interaction == "champ moyen dynamique"', + Interaction = FACT( statut='o', max = 2, # max = cardinalite du into + Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['champ gravite','champ electrostatique']), + Liste_D_Espece = SIMP ( statut ='o', typ = 'TXM', max= '**'), # faire un typ = "espece" + ), # fin Interaction + ), # fin b_champ_moyen_dynamique + + + ), # fin definition_Physique + + Physique_Statistique = SIMP( statut='o', typ='TXM', defaut='Non_Equilibre', into = ['Equilibre', 'Non_Equilibre']), + #Physique_Statistique =SIMP( statut='o', typ='TXM', defaut='Non_Equilibre', into = ['Equilibre', 'Non_Equilibre'], position ='global'), + #PN pourquoi global ?? + b_Physique_Statistique_Equilibre = BLOC( condition = "Physique_Statistique == 'Equilibre'", + 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 + b_Physique_Statistique_Equilibre_false = BLOC( condition = "Physique_Statistique == 'Non_Equilibre'", + Temperature = SIMP( statut='o', typ='R') + ), # b_Physique_statstique_equilibre + ), # fin b_Mesoscopique_Particule + + Type_De_Description = FACT( min=1, max =2, statut='o', + Type_Description = SIMP( statut ='o', typ = 'TXM',into = ['Description_par_Particule', 'Description_par_Champ'], ), + b_Particule = BLOC( condition = 'Type_Description == "Description_par_Particule"', + Modele_De_Particule = FACT ( statut='o', max ='**', + Type_D_Entite = SIMP(statut='o', typ = 'TXM',into =['Coarse', 'Atom','CVE'], defaut='Coarse'), + Type_D_Approche = SIMP(statut='o', typ = 'TXM',into =['Cinetique', 'Cinetique_Etendue', 'Position']), + ), # 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 + ), # Niveau_De_Description + +## Temps_Physique_Simule + ), # Composant du systeme + + Conditions_Aux_Limites = FACT ( statut ='o',max = '**', # max = nb de facette de bord + Type_Conditions_Limites = SIMP( statut='o', typ= 'TXM', into =['Entree', 'Sortie', 'Symetrie','Periodique', 'Paroi'], position ='global'), + Porte_Sur_Tout_le_Vecteur = SIMP(statut='o', typ = bool), + Facette_Bord= SIMP( statut='o', typ= 'TXM',), + b_periodique = BLOC( condition = "Type_Conditions_Limites == 'Periodique'", + Direction = SIMP(statut='o', typ = 'TXM', into = ['X','Y','Z', 'all']), + ), # b_periodique + b_Variable = BLOC( condition = "Porte_Sur_Tout_le_Vecteur == False ", + Variable_Du_Vecteur_Etat = SIMP(statut='o', typ = 'TXM'), + ), # b_Variable + ), # Conditions_Aux_Limites + Conditions_Initiales = FACT ( statut ='o', # 1 par valeur du vecteur d etat + Porte_Sur_Tout_le_Vecteur = SIMP(statut='o', typ = bool), + b_Variable = BLOC( condition = "Porte_Sur_Tout_le_Vecteur == False ", + Condition_Initiale_Par_Variable = FACT ( max = "**", statut ='o', + Variable_Du_Vecteur_Etat = SIMP(statut='o', typ = 'TXM'), + Type_Conditions_Initiales = SIMP( statut='o', typ= 'TXM', into =['Distribution Initiale Vecteur Etat', 'Valeurs Vecteur Etat Initiales'], position ='global'), + b_distrib = BLOC( condition = "Type_Conditions_Initiales == 'Distribution Initiale Vecteur Etat'", + Distribution_Initiale_Vecteur_Etat = SIMP( statut='o',typ ='TXM', into = ['MaxWell', 'Uniforme', 'Auto']), + Sous_Domaine_D_Injection = SIMP( statut='f', typ= 'TXM'), + ),# b_distrib + b_initials = BLOC( condition = "Type_Conditions_Initiales == 'Valeurs Vecteur Etat Initiales'", + Fichier_Vecteur_Etat_Initial= SIMP(statut='o', typ = ('Fichier','All Files (*)'),), + Format_Fichier_Vecteur_Etat_Initial = SIMP (statut='o', typ = 'TXM', into = ['txt', 'a definir avec Eric']), + ),# b_initials + ),# Condition_Initiale_Par_Variable + ), # b_Variable + b_Globale = BLOC( condition = "Porte_Sur_Tout_le_Vecteur == True ", + Condition_Initiale = FACT ( statut ='o', + Type_Conditions_Initiales = SIMP( statut='o', typ= 'TXM', into =['Distribution Initiale Vecteur Etat', 'Valeurs Vecteur Etat Initiales'], position ='global'), + b_distrib = BLOC( condition = "Type_Conditions_Initiales == 'Distribution Initiale Vecteur Etat'", + Distribution_Initiale_Vecteur_Etat = SIMP( statut='o',typ ='TXM', into = ['MaxWell', 'Uniforme', 'Auto']), + Sous_Domaine_D_Injection = SIMP( statut='f', typ= 'TXM'), + ),# b_distrib + b_initials = BLOC( condition = "Type_Conditions_Initiales == 'Valeurs Vecteur Etat Initiales'", + Fichier_Vecteur_Etat_Initial= SIMP(statut='o', typ = ('Fichier','All Files (*)'),), + Format_Fichier_Vecteur_Etat_Initial = SIMP (statut='o', typ = 'TXM', into = ['txt', 'a definir avec Eric']), + ),# b_initials + ),# Condition_Initiale_Par_Variable + ), # b_Globale + ), # Conditions_Initiales + +) # 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'), +### #), +### +### -- 2.39.2