# -*- coding: utf-8 -*-
import sys,os
import types
+import Accas
# CONTEXT est accessible (__init__.py de Noyau)
from .mapDesTypes import listeParamTjsSequence, listeParamSelonType
from .mapDesTypes import Tuple
+PourTraduction = False
from .balises import *
-
# -----------------
class X_definition:
# -----------------
def CreeTexteComplexeVenantDesFils(self):
texteComplexeVenantDesFils=""
+ fichierDejaDumpe=False
for nom in self.ordre_mc:
mcFils = self.entites[nom]
mcFils.dumpXsd()
- self.texteComplexe += mcFils.texteElt
- self.texteSimple += mcFils.texteSimple
- texteComplexeVenantDesFils += mcFils.texteComplexe
+ if not (isinstance(mcFils, Accas.BLOC_FICHIER)) :
+ self.texteComplexe += mcFils.texteElt
+ self.texteSimple += mcFils.texteSimple
+ texteComplexeVenantDesFils += mcFils.texteComplexe
+ continue
+ elif not fichierDejaDumpe :
+ self.texteComplexe += mcFils.texteElt
+ self.texteSimple += mcFils.texteSimple
+ texteComplexeVenantDesFils += mcFils.texteComplexe
+ fichierDejaDumpe = True
return texteComplexeVenantDesFils
def dumpXsd(self):
#print ('------------------------------------------------')
#print ('dumpXsd de ' , self.nom)
+ if PourTraduction : print (self.nom)
self.getCode()
self.nomDuTypePyxb = self.definitNomDuTypePyxb()
class X_SIMP (X_definition):
#--------------------------------
def dumpXsd(self):
+ if PourTraduction : print (self.nom)
#print ('exploreObjet SIMP')
self.getCode()
self.aCreer = True
for val in self.defaut : txtDefaut+=str(val) +" "
self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
else :
- self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,self.defaut)
+ if self.defaut == True : txtDefaut = 'true'
+ else : txtDefaut = str(self.defaut)
+ self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
else : self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1)
# il faut gerer les types tuple et fichier
if hasattr(self.type[0], 'ntuple') : return ('XXXXXXXX')
- #print (self.type[0])
+ if not (self.type[0] in list(dictNomsDesTypes.keys())) :
+ if (isinstance(self.type[0], Accas.ASSD) or issubclass(self.type[0], Accas.ASSD)) : return 'string'
+ else : return ('YYYYY')
return dictNomsDesTypes[self.type[0]]
def traduitValMinValMax(self):
def info(self):
return "Tuple de %s elements" % self.ntuple
-liste_Objets_Surface_Elementaire = []
+#liste_Objets_Surface_Elementaire = []
class Surface_Elementaire (UserASSD):
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
), #b_vsaisie
b_vdsfich = BLOC (condition = "Mode_saisie == 'valeurs ds fichier'",
Format = SIMP (statut='o', typ = 'TXM', into = ['txt','Med',] ),
- td_txt = BLOC (condition = 'Format == "txt"',
+ td_txt = BLOC_FICHIER (condition = 'Format == "txt"',
Fichier = SIMP(statut='o', typ = ('Fichier','Text Files(*.txt);All Files (*)'),),
),
- td_med = BLOC ( condition = 'Format == "Med"',
+ td_med_1 = BLOC_FICHIER ( condition = 'Format == "Med"',
Fichier = SIMP (statut='o', typ = ('Fichier','Med Files(*.med);All Files (*)'),),
+ ),
+ td_med_2 = BLOC ( condition = 'Format == "Med"',
NomChamp = SIMP (statut='o', typ = 'TXM', ),
),
),
def creeSurfaceElementaire(MC) :
# PNPN pour qu eric puisse tester
- #MC.creeObjetClasse(Surface_Elementaire)
+ MC.creeObjetClasse(Surface_Elementaire)
return
#
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'),
+ Composant = SIMP(statut='o', typ = 'TXM',into = ['Particule', 'Fluide','Solide','Plasma'], position = 'global'),
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'",
+ #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'),
), # 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
+ Interaction_champ_moyen = 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),
), # 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
+ Interaction_champ_moyen_dynamique = FACT( statut='o', max = 2, # max = cardinalite du into
Type_Interaction = SIMP( statut='o', typ ='TXM', into = ['champ electrostatique'], defaut='champ 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),