]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
chgts verifier avec Eric
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 29 Sep 2020 13:59:12 +0000 (15:59 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 29 Sep 2020 13:59:12 +0000 (15:59 +0200)
Efi2Xsd/AccasXsd.py
Vimmp/cata_CSAndCPS.xsd [new file with mode: 0644]

index af661c3b356d3dd485afd2ecb9823bde24bec813..b95a511a85b5668a562dd32e506299a2670404ca 100755 (executable)
@@ -122,12 +122,8 @@ class X_definition:
        
 
    def definitNomDuTypePyxb(self,forceACreer=False):
-       if self.nom   == 'bloc_one_spatial_bloc_no_model' : 
-          import traceback
-          traceback.print_stack()
-       if hasattr(self,'nomDuTypePyxb') : 
-          if self.nom   == 'bloc_one_spatial_bloc_no_model' : print ('self.nomDuTypePyxb')
-          return self.nomDuTypePyxb
+     
+       if hasattr(self,'nomDuTypePyxb') :  return self.nomDuTypePyxb
        #except : pass
        self.aCreer = True
        cata = CONTEXT.getCurrentCata() 
@@ -137,9 +133,9 @@ class X_definition:
           cata.dictTypesXSD[nom] = [self,]
           self.nomDuTypePyxb=nom
           return nom
+
        self.aCreer = False
        if nom == 'T_Consigne' : return nom
-       if self.nom   == 'bloc_one_spatial_bloc_no_model' : print ('jjjjjjjjjjjjjj')
        
        listePossible=cata.dictTypesXSD[nom]
        indice=0
@@ -155,7 +151,6 @@ class X_definition:
        if (hasattr (self, 'nomXML')) and self.nomXML != None : 
            nomAlter='T_'+self.nomXML+'_'+str(indice)
        self.nomDuTypePyxb=nomAlter
-       #traceback.print_stack()
        return nomAlter
 
 
@@ -292,9 +287,6 @@ class X_compoFactoriseAmbigu(X_definition):
        self.texteElt=substDsSequence.format(self.code,self.nomDuTypePyxb,0,1)
 
    def nomComplet(self) :
-       import traceback
-       traceback.print_stack()
-       print (poum)
        print ('dans nomComplet pourquoi ?',self, self.nom)
 
        
@@ -376,8 +368,8 @@ class X_compoFactoriseAmbigu(X_definition):
            mc=self.entites[nomMC][0]
            mc.dumpXsd(dansFactorisation=True)
            self.texteComplexe += '\t'*(indent) + mc.texteElt
-           self.texteComplexeVenantDesFils += mc.texteComplexe
-           self.texteSimple   += mc.texteSimple
+           if mc.aCreer : self.texteComplexeVenantDesFils += mc.texteComplexe
+           if mc.aCreer : self.texteSimple   += mc.texteSimple
            return
 
        leType=type(self.entites[nomMC][0])
@@ -410,18 +402,27 @@ class X_compoFactoriseAmbigu(X_definition):
            return
              
        # on ajoute le nom de l element
+       # PN : attention on dumpe 2 fois
        self.entites[nomMC][0].dumpXsd(dansFactorisation=True,multiple=True,first=first)
+       if not (isinstance(self.entites[nomMC][0], Accas.SIMP)) : 
+          print ('2 blocs freres ont le meme nom et pas le meme type : pas encore traite')
+          print ('Projection XSD impossible, changez un des ', nomMC)
+          exit()
        self.texteComplexe += '\t'*(indent) + self.entites[nomMC][0].texteElt
        texteSimpleUnion=debutSimpleType.format(self.entites[nomMC][0].nomDuTypePyxb)
        texteSimpleUnion+=debutUnion
        if len(listePourUnion) == 1 :
+       #PN  29 septembtre 20. Est ce que ce if a un sens
+       # si len(listePourUnion==1) on est deja sorti non ?
            mc=self.entites[nomMC][0]
            mc.dumpXsd(dansFactorisation=True,multiple=True,first=first)
-           self.texteComplexeVenantDesFils += mc.texteComplexe
-           self.texteSimple   += mc.texteSimple
+           if mc.aCreer : self.texteComplexeVenantDesFils += mc.texteComplexe
+           if mc.aCreer : self.texteSimple   += mc.texteSimple
        else :
            for e in listePourUnion :
                e.dumpXsd(dansFactorisation=True,multiple=True,first=first)
+               # si on ext un mc simple la ligne suivante est inutile
+               # en revanche on ajoute le texte a tous les coups
                self.texteComplexeVenantDesFils += e.texteComplexe
                first=first * 0
                texteSimpleUnion += '\t'*(indent)+e.texteSimple
@@ -444,20 +445,19 @@ class X_definitionComposee (X_definition):
        #print (self.nom)
        for mcFils in self.mcXSD :
           if not (isinstance(mcFils, Accas.BLOC)) :
-             #print (mcFils.nom , 'ajout')
              mcFils.dumpXsd(dansFactorisation)
              #print (mcFils.texteSimple)
              self.texteComplexe += mcFils.texteElt
-             self.texteSimple   += mcFils.texteSimple 
-             texteComplexeVenantDesFils += mcFils.texteComplexe
+             if mcFils.aCreer : self.texteSimple   += mcFils.texteSimple 
+             if mcFils.aCreer : texteComplexeVenantDesFils += mcFils.texteComplexe
           else   :
-             #print (mcFils.nom)
              if hasattr(mcFils,'nomXML')  and mcFils.nomXML in blocsDejaDumpes and mcFils.nomXML != None : continue 
              if hasattr(mcFils,'nomXML')  and mcFils.nomXML != None: blocsDejaDumpes.add(mcFils.nomXML)
              mcFils.dumpXsd(dansFactorisation)
              self.texteComplexe += mcFils.texteElt
-             self.texteSimple   += mcFils.texteSimple 
-             texteComplexeVenantDesFils += mcFils.texteComplexe
+             #if mcFils.nom == 'bloc_one_point' : print ('uuuuuuuuuuuuuuuuuu', self.nom, mcFils.aCreer)
+             if mcFils.aCreer : self.texteSimple   += mcFils.texteSimple 
+             if mcFils.aCreer : texteComplexeVenantDesFils += mcFils.texteComplexe
        return texteComplexeVenantDesFils
 
    def dumpXsd(self, dansFactorisation=False, multiple = False, first=False):
@@ -510,7 +510,6 @@ class X_definitionComposee (X_definition):
        return True
 
    def prepareDumpXSD(self):
-       #print (' uuuuuuuuuuuuuuuuuuuuuuuuu prepareDumpXSD pour', self.nom)
        self.dejaPrepareDump=True
        self.inUnion=False
        self.tousLesFils=[]
@@ -576,14 +575,14 @@ class X_definitionComposee (X_definition):
           lesPremiers.add(mc.nom)
        return False
 
-   def factorise(self,liste):
+   def factorise(self,liste,debug=False):
        self.listeConstruction=liste
        nomDebut=liste[0].nom
        indexDebut=self.mcXSD.index(liste[0])
        nomFin=liste[-1].nom
        indexFin=self.mcXSD.index(liste[-1]) + 1
        nom=nomDebut+'_'+nomFin
-       print ('___________ dans factorise', nom)
+       if debug : print ('___________ dans factorise', nom)
        listeAFactoriser=[]
        for  i in range(indexDebut, indexFin) :
           listeAFactoriser.append(self.mcXSD[i])
@@ -594,7 +593,7 @@ class X_definitionComposee (X_definition):
        newListe.append(monEltFacteur)
        newListe=newListe+self.mcXSD[indexFin:]
        self.mcXSD=newListe
-       print ('___________ fin fin factorise', nom)
+       if debug :print ('___________ fin fin factorise', nom)
 
    def construitTousLesFils(self):
        for nomChild in self.ordre_mc :
@@ -678,12 +677,12 @@ class X_BLOC (X_definitionComposee):
        self.texteSimple    = "" # on n ajoute pas de type simple
 
        # Pour les blocs le minOccurs vaut 0 et le max 1
-       #print ('dumpXsd Bloc', self.nom, self.aCreer)
        if self.aCreer :
           self.texteComplexe = debutTypeSubst.format(self.nomDuTypePyxb)
           texteComplexeVenantDesFils=self.CreeTexteComplexeVenantDesFils(dansFactorisation)
           self.texteComplexe  = texteComplexeVenantDesFils + self.texteComplexe
           self.texteComplexe += finTypeSubst
+          
        else :
           self.texteComplexe = ""
 
diff --git a/Vimmp/cata_CSAndCPS.xsd b/Vimmp/cata_CSAndCPS.xsd
new file mode 100644 (file)
index 0000000..f6490ee
--- /dev/null
@@ -0,0 +1,1413 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns="http://chercheurs.edf.com/logiciels/Vimmp"
+xmlns:Vimmp="http://chercheurs.edf.com/logiciels/Vimmp"
+targetNamespace="http://chercheurs.edf.com/logiciels/Vimmp"
+elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">
+       <xs:simpleType name="T_SystemType">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Quantum system"/>
+                       <xs:enumeration value="Classical partical system"/>
+                       <xs:enumeration value="Continuum system"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_FluidComplexe">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_FlowNature">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Laminar"/>
+                       <xs:enumeration value="Turbulent"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_TurbulenceModellingType">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="No Model (DNS)"/>
+                       <xs:enumeration value="Spatial filtering (LES)"/>
+                       <xs:enumeration value="One-point moment"/>
+                       <xs:enumeration value="One-point PDF"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_RANSModel">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Turbulent-Viscosity Model(TVM)"/>
+                       <xs:enumeration value="Reynolds Stress Model (RSM)"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_TVMChoice">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="k-epsilon"/>
+                       <xs:enumeration value="k-omega"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_RSMChoice">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Rotta"/>
+                       <xs:enumeration value="LRR-IP"/>
+                       <xs:enumeration value="LRR-QI"/>
+                       <xs:enumeration value="SSG"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ChoiceOfApproach">
+                       <xs:union>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Field-based LES"/>
+                       <xs:enumeration value="Filtered Density Function (FDF)"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="One-point Eulerian PDF"/>
+                       <xs:enumeration value="One-particle Lagrangian PDF"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Field-based DNS"/>
+                       <xs:enumeration value="N-Particle Method"/>
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_SubgridScaleModel">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="No SGS"/>
+                       <xs:enumeration value="Smagorinsky"/>
+                       <xs:enumeration value="Dynamical model"/>
+                       <xs:enumeration value="SGS Transport Equations"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_StochasticModel">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Langevin"/>
+                       <xs:enumeration value="Other"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_NumericalMethod">
+                       <xs:union>
+                       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FV"/>
+                       <xs:enumeration value="Spectral Method"/>
+               </xs:restriction>
+       </xs:simpleType>
+                       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="SPH"/>
+                       <xs:enumeration value="Vortex Method"/>
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_ThermalEffects">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Non thermal"/>
+                       <xs:enumeration value="No effect on flow dynamics"/>
+                       <xs:enumeration value="Effect on flow dynamics"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_DensityEquationOfState">
+                       <xs:union>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Constant density"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Variable density"/>
+                       <xs:enumeration value="Compressible"/>
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_WithChemicalReactions">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Name">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ParticleNature">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Atoms"/>
+                       <xs:enumeration value="Molecules"/>
+                       <xs:enumeration value="Dissipative"/>
+                       <xs:enumeration value="Fluid Particle"/>
+                       <xs:enumeration value="Discrete Particle"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_AtomsName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ChemicalSpecie">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Number">
+               <xs:restriction base="xs:int">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ElectricCharge">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_MagneticMoment">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Size">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_MoleculeName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ChemicalSpecieName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Proportion">
+               <xs:restriction base="xs:float">
+                       <xs:maxInclusive value = "1"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Shape">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Linear"/>
+                       <xs:enumeration value="Trigonal Planar"/>
+                       <xs:enumeration value="Angular"/>
+                       <xs:enumeration value="Tetrahedral"/>
+                       <xs:enumeration value="Octahedral"/>
+                       <xs:enumeration value="Trigonal pyramid"/>
+                       <xs:enumeration value="Other"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_DPDName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_BondedParticles">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_DiscreteParticleName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_TypeOfDiscreteParticle">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Solid"/>
+                       <xs:enumeration value="Droplets"/>
+                       <xs:enumeration value="Bubbles"/>
+                       <xs:enumeration value="Bio Organism"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_TypeOfSolid">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Primary Particle"/>
+                       <xs:enumeration value="Assemblage / Aggregate"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_TypeOfOrganism">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Unicellular"/>
+                       <xs:enumeration value="Multicellular"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Unicellular">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Bactaria"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Multicellular">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Animal"/>
+                       <xs:enumeration value="Fongus"/>
+                       <xs:enumeration value="Plant"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Geometry">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Sphere"/>
+                       <xs:enumeration value="Ellopsoids"/>
+                       <xs:enumeration value="Other Shape"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ParticleRadius">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Mass">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Density">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Mechanical">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Rigid"/>
+                       <xs:enumeration value="Flexible"/>
+                       <xs:enumeration value="Deformable"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_FractalDimension">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_NumberOfPrimaryParticle">
+               <xs:restriction base="xs:int">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_EquivalentSize">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Porosoty">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ListOfBondedParticles">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Name_Of_Bonded_Particles">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Species_in_Particle">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+                       <xs:minLength value = "2"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Type_Of_Bonded_Interaction">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="No"/>
+                       <xs:enumeration value="Covalent Bond Length"/>
+                       <xs:enumeration value="FENE"/>
+                       <xs:enumeration value="Covalent Bond Angle"/>
+                       <xs:enumeration value="Dihedral Angles"/>
+                       <xs:enumeration value="Improper Dihedral"/>
+                       <xs:enumeration value="Frozen Motion"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Apply_To_Bonded_Particles">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Spring_Stifness">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Mean_Bond_Length">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Mean_Bond_Angle">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Applies_To_All_Particles">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Species_Pair">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+                       <xs:maxLength value = "2"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Spring_Constant_H">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_LMax">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Particle_Name">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Type_Of_Unbonded_Interaction">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="No"/>
+                       <xs:enumeration value="electro_magnetic"/>
+                       <xs:enumeration value="Repulsion_and_VdW"/>
+                       <xs:enumeration value="Soft_Potentiel"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Permittivity">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Magnetic">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Permability">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Type_Repulsion_and_VdW">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Lennard_Jones"/>
+                       <xs:enumeration value="Hard_sphere_model"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_VdW_Radius">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Depth_Of_The_Potential_Well">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Groot_Warren_Repulsion">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Groot_Warren_Cutoff">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Drag_Coefficient">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Drag_Force_Cutoff">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Type_Of_Interaction_With_An_External_Field">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="No"/>
+                       <xs:enumeration value="gravitational field"/>
+                       <xs:enumeration value="electric field"/>
+                       <xs:enumeration value="magnetic field"/>
+                       <xs:enumeration value="Hydrodynamic_Field"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_G">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Input_Mode">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="uniform value"/>
+                       <xs:enumeration value="values directly assigned"/>
+                       <xs:enumeration value="values read in file"/>
+                       <xs:enumeration value="analytical function"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_E">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Field">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:float">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Format">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="txt"/>
+                       <xs:enumeration value="Med"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_File">
+                       <xs:union>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_FieldName">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Function">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_B">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_U">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Field_Applies_On_All_Species">
+               <xs:restriction base="xs:boolean">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Species_List">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Identifier">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_ModelType">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Particles"/>
+                       <xs:enumeration value="Fields"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_NumericalMethod_4">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FV"/>
+                       <xs:enumeration value="SPH"/>
+                       <xs:enumeration value="FEM"/>
+                       <xs:enumeration value="LBM"/>
+                       <xs:enumeration value="Lagrangian one-fluid-particle pdf"/>
+                       <xs:enumeration value="MD"/>
+                       <xs:enumeration value="Wave"/>
+                       <xs:enumeration value="Particle method"/>
+                       <xs:enumeration value="SDPD"/>
+                       <xs:enumeration value="CFD_Discrete_Particles"/>
+                       <xs:enumeration value="Spectral method"/>
+                       <xs:enumeration value="DPD"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Solver">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="FV"/>
+                       <xs:enumeration value="density functional tight binding method"/>
+                       <xs:enumeration value="Lagrangian one-fluid-particle pdf"/>
+                       <xs:enumeration value="Particles"/>
+                       <xs:enumeration value="Wave"/>
+                       <xs:enumeration value="Particle method"/>
+                       <xs:enumeration value="CFD_Discrete_Particles"/>
+                       <xs:enumeration value="Spectral method"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Shape_1">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Simplified Shape"/>
+                       <xs:enumeration value="CAD or Mesh"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Box">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Cube"/>
+                       <xs:enumeration value="Sphere"/>
+                       <xs:enumeration value="Cylinder"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Size_Of_Bounding_Box">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:float">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Center">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:float">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+                       <xs:maxLength value = "3"/>
+                       <xs:minLength value = "3"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Heigth">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0.0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Radius">
+               <xs:restriction base="xs:float">
+                       <xs:minInclusive value = "0.0"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_FileFormat">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="txt"/>
+                       <xs:enumeration value="med"/>
+                       <xs:enumeration value="I-deas"/>
+                       <xs:enumeration value="Gmsh"/>
+                       <xs:enumeration value="top"/>
+                       <xs:enumeration value="others"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_FileName">
+                       <xs:union>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_Surface">
+               <xs:restriction>
+                       <xs:simpleType>
+                               <xs:list>
+                                       <xs:simpleType>
+                                               <xs:restriction base="xs:string">
+                                               </xs:restriction>
+                                       </xs:simpleType>
+                               </xs:list>
+                        </xs:simpleType>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_origine">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_destination">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_termeLE">
+                       <xs:union>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Fluid_Velocity_Field"/>
+                       <xs:enumeration value="Fluid_Temperature_Field"/>
+                       <xs:enumeration value="Fluid_Species_Mass_Fraction_Fluid"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType>
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Fluid_Particle_Momentum_Exchange_Field"/>
+                       <xs:enumeration value="Fluid_Particle_Thermal_Exchange_Field"/>
+                       <xs:enumeration value="Lagrangian one-particle pdfFluid_Particle_Mass_Source_Field"/>
+                       <xs:enumeration value="Particle_Volumetric_Concentration_Modified_Fluid_Viscosity"/>
+                       <xs:enumeration value="Particle_Extra_Stress_Tensor"/>
+               </xs:restriction>
+       </xs:simpleType>
+                       </xs:union>
+       </xs:simpleType>
+       <xs:simpleType name="T_Format_1">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="Use converter"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_converter">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="gmsh"/>
+                       <xs:enumeration value="Saturne2CDM  and CDM2OpenFoam"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Initial_Time">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Duration">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_Name_1">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="T_masse_molaire">
+               <xs:restriction base="xs:float">
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:group name="T_bloc_TVM">   
+               <xs:sequence>
+                       <xs:element name="TVMChoice" type="Vimmp:T_TVMChoice" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_RSM">   
+               <xs:sequence>
+                       <xs:element name="RSMChoice" type="Vimmp:T_RSMChoice" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_one_point">   
+               <xs:sequence>
+                       <xs:element name="RANSModel" type="Vimmp:T_RANSModel" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_TVM"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_RSM"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_one_spatial_bloc_no_model">
+               <xs:sequence>
+                       <xs:element name="ChoiceOfApproach" type="Vimmp:T_ChoiceOfApproach" minOccurs="1" maxOccurs="1"/>
+                               <xs:choice>
+                                       <xs:element name="SubgridScaleModel" type="Vimmp:T_SubgridScaleModel" minOccurs="1" maxOccurs="1"/>
+                                       <xs:element name="StochasticModel" type="Vimmp:T_StochasticModel" minOccurs="1" maxOccurs="1" default="Langevin"/>
+                                       <xs:element name="NumericalMethod" type="Vimmp:T_NumericalMethod" minOccurs="1" maxOccurs="1"/>
+                                       <xs:sequence>
+                                       </xs:sequence>
+                               </xs:choice>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_TurbulenceForFlowDynamics" >
+               <xs:sequence>
+                       <xs:element name="TurbulenceModellingType" type="Vimmp:T_TurbulenceModellingType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_point"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_spatial_bloc_no_model"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_FlowNature_Turbulent">   
+               <xs:sequence>
+                       <xs:element name="TurbulenceForFlowDynamics" type="Vimmp:T_TurbulenceForFlowDynamics" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_NonThermalEffects_bloc_ThermalEffects_Active">
+               <xs:sequence>
+                       <xs:element name="DensityEquationOfState" type="Vimmp:T_DensityEquationOfState" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_ThermalFluxModel" >
+               <xs:sequence>
+                       <xs:element name="TurbulenceModellingType" type="Vimmp:T_TurbulenceModellingType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_point"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_spatial_bloc_no_model"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_scalar_thermal_flux">   
+               <xs:sequence>
+                       <xs:element name="ThermalFluxModel" type="Vimmp:T_ThermalFluxModel" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_ThermalEffects">   
+               <xs:sequence>
+                       <xs:group ref="Vimmp:T_bloc_scalar_thermal_flux"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="WithChemicalReactions" type="Vimmp:T_WithChemicalReactions" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Thermal" >
+               <xs:sequence>
+                       <xs:element name="ThermalEffects" type="Vimmp:T_ThermalEffects" minOccurs="1" maxOccurs="1" default="Non thermal"/>
+                       <xs:group ref="Vimmp:T_bloc_NonThermalEffects_bloc_ThermalEffects_Active"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_ThermalEffects"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_ScalarFluxModel" >
+               <xs:sequence>
+                       <xs:element name="TurbulenceModellingType" type="Vimmp:T_TurbulenceModellingType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_point"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_spatial_bloc_no_model"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Scalar" >
+               <xs:sequence>
+                       <xs:element name="Name" type="Vimmp:T_Name" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="ScalarFluxModel" type="Vimmp:T_ScalarFluxModel" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_AdditionalScalars" >
+               <xs:sequence>
+                       <xs:element name="Scalar" type="Vimmp:T_Scalar" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_scalar_FluidTurbulentandNonComplexe">   
+               <xs:sequence>
+                       <xs:element name="AdditionalScalars" type="Vimmp:T_AdditionalScalars" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_AdditionalScalars1" >
+               <xs:sequence>
+                       <xs:element name="Scalar" type="Vimmp:T_Scalar" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_scalar_FluidLaminaireandNonComplexe">   
+               <xs:sequence>
+                       <xs:element name="AdditionalScalars1" type="Vimmp:T_AdditionalScalars1" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_ScalarTurbulenceModelling" >
+               <xs:sequence>
+                       <xs:element name="TurbulenceModellingType" type="Vimmp:T_TurbulenceModellingType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_point"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_one_spatial_bloc_no_model"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_FlowNature_Turbulent_For_Scalars">   
+               <xs:sequence>
+                       <xs:element name="ScalarTurbulenceModelling" type="Vimmp:T_ScalarTurbulenceModelling" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_PhysicalDescriptionFM" >
+               <xs:sequence>
+                       <xs:element name="FluidComplexe" type="Vimmp:T_FluidComplexe" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="FlowNature" type="Vimmp:T_FlowNature" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_FlowNature_Turbulent"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Thermal" type="Vimmp:T_Thermal" minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_scalar_FluidTurbulentandNonComplexe"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_scalar_FluidLaminaireandNonComplexe"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_FlowNature_Turbulent_For_Scalars"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_FluideMacro">   
+               <xs:sequence>
+                       <xs:element name="PhysicalDescriptionFM" type="Vimmp:T_PhysicalDescriptionFM" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Atom" >
+               <xs:sequence>
+                       <xs:element name="ChemicalSpecie" type="Vimmp:T_ChemicalSpecie" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Number" type="Vimmp:T_Number" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="ElectricCharge" type="Vimmp:T_ElectricCharge" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="MagneticMoment" type="Vimmp:T_MagneticMoment" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Size" type="Vimmp:T_Size" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_Atom">   
+               <xs:sequence>
+                       <xs:element name="AtomsName" type="Vimmp:T_AtomsName" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Atom" type="Vimmp:T_Atom" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_ChemicalSpecie_1" >
+               <xs:sequence>
+                       <xs:element name="ChemicalSpecieName" type="Vimmp:T_ChemicalSpecieName" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Proportion" type="Vimmp:T_Proportion" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_Molecule">   
+               <xs:sequence>
+                       <xs:element name="MoleculeName" type="Vimmp:T_MoleculeName" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="ChemicalSpecie" type="Vimmp:T_ChemicalSpecie_1" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="ElectricCharge" type="Vimmp:T_ElectricCharge" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="MagneticMoment" type="Vimmp:T_MagneticMoment" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Shape" type="Vimmp:T_Shape" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Dissipative">   
+               <xs:sequence>
+                       <xs:element name="DPDName" type="Vimmp:T_DPDName" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="BondedParticles" type="Vimmp:T_BondedParticles" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_SolidPrimary">   
+               <xs:sequence>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_SolidAggregate">   
+               <xs:sequence>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_TypeDP_Solid">   
+               <xs:sequence>
+                       <xs:element name="TypeOfSolid" type="Vimmp:T_TypeOfSolid" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_SolidPrimary"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_SolidAggregate"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Unicellular">   
+               <xs:sequence>
+                       <xs:element name="Unicellular" type="Vimmp:T_Unicellular" minOccurs="1" maxOccurs="1" default="Bactaria"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Multicellular">   
+               <xs:sequence>
+                       <xs:element name="Multicellular" type="Vimmp:T_Multicellular" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_TypeBio_Solid">   
+               <xs:sequence>
+                       <xs:element name="TypeOfOrganism" type="Vimmp:T_TypeOfOrganism" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Unicellular"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Multicellular"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_geom_Sphere">   
+               <xs:sequence>
+                       <xs:element name="ParticleRadius" type="Vimmp:T_ParticleRadius" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Weight" >
+               <xs:sequence>
+                       <xs:element name="Mass" type="Vimmp:T_Mass" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Density" type="Vimmp:T_Density" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Morphological" >
+               <xs:sequence>
+                       <xs:element name="FractalDimension" type="Vimmp:T_FractalDimension" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="NumberOfPrimaryParticle" type="Vimmp:T_NumberOfPrimaryParticle" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="EquivalentSize" type="Vimmp:T_EquivalentSize" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Porosoty" type="Vimmp:T_Porosoty" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_SolidAggregate_1">   
+               <xs:sequence>
+                       <xs:element name="Morphological" type="Vimmp:T_Morphological" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_ElectroMagnetic" >
+               <xs:sequence>
+                       <xs:element name="ElectricCharge" type="Vimmp:T_ElectricCharge" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="MagneticMoment" type="Vimmp:T_MagneticMoment" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_BondedParticles_1" >
+               <xs:sequence>
+                       <xs:element name="ListOfBondedParticles" type="Vimmp:T_ListOfBondedParticles" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_SolidAggregateBonded">   
+               <xs:sequence>
+                       <xs:element name="BondedParticles" type="Vimmp:T_BondedParticles_1" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Properties" >
+               <xs:sequence>
+                       <xs:element name="Geometry" type="Vimmp:T_Geometry" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_geom_Sphere"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Weight" type="Vimmp:T_Weight" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Mechanical" type="Vimmp:T_Mechanical" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_SolidAggregate_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="ElectroMagnetic" type="Vimmp:T_ElectroMagnetic" minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_SolidAggregateBonded"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_Discrete">   
+               <xs:sequence>
+                       <xs:element name="DiscreteParticleName" type="Vimmp:T_DiscreteParticleName" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="TypeOfDiscreteParticle" type="Vimmp:T_TypeOfDiscreteParticle" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_TypeDP_Solid"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_TypeBio_Solid"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Properties" type="Vimmp:T_Properties" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Bonded_Particles" >
+               <xs:sequence>
+                       <xs:element name="Name_Of_Bonded_Particles" type="Vimmp:T_Name_Of_Bonded_Particles" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Species_in_Particle" type="Vimmp:T_Species_in_Particle" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_List_Of_Bonded_Particles" >
+               <xs:sequence>
+                       <xs:element name="Bonded_Particles" type="Vimmp:T_Bonded_Particles" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Interaction_Length_Parameters" >
+               <xs:sequence>
+                       <xs:element name="Apply_To_Bonded_Particles" type="Vimmp:T_Apply_To_Bonded_Particles" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Spring_Stifness" type="Vimmp:T_Spring_Stifness" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Mean_Bond_Length" type="Vimmp:T_Mean_Bond_Length" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_covalent_length">   
+               <xs:sequence>
+                       <xs:element name="Interaction_Length_Parameters" type="Vimmp:T_Interaction_Length_Parameters" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Interaction_Angles_Parameters" >
+               <xs:sequence>
+                       <xs:element name="Apply_To_Bonded_Particles" type="Vimmp:T_Apply_To_Bonded_Particles" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Spring_Stifness" type="Vimmp:T_Spring_Stifness" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Mean_Bond_Angle" type="Vimmp:T_Mean_Bond_Angle" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_covalent_angle">   
+               <xs:sequence>
+                       <xs:element name="Interaction_Angles_Parameters" type="Vimmp:T_Interaction_Angles_Parameters" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_FENE_Parameters" >
+               <xs:sequence>
+                       <xs:element name="Species_Pair" type="Vimmp:T_Species_Pair" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Spring_Constant_H" type="Vimmp:T_Spring_Constant_H" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="LMax" type="Vimmp:T_LMax" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_not_on_all">   
+               <xs:sequence>
+                       <xs:element name="FENE_Parameters" type="Vimmp:T_FENE_Parameters" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_on_all">   
+               <xs:sequence>
+                       <xs:element name="Spring_Constant_H" type="Vimmp:T_Spring_Constant_H" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="LMax" type="Vimmp:T_LMax" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_FENE">   
+               <xs:sequence>
+                       <xs:element name="Applies_To_All_Particles" type="Vimmp:T_Applies_To_All_Particles" minOccurs="1" maxOccurs="1" default="true"/>
+                       <xs:group ref="Vimmp:T_bloc_not_on_all"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_on_all"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_le_reste">   
+               <xs:sequence>
+                       <xs:element name="Particle_Name" type="Vimmp:T_Particle_Name" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Bonded_Interactions" >
+               <xs:sequence>
+                       <xs:element name="Type_Of_Bonded_Interaction" type="Vimmp:T_Type_Of_Bonded_Interaction" minOccurs="1" maxOccurs="1" default="No"/>
+                       <xs:group ref="Vimmp:T_bloc_covalent_length"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_covalent_angle"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_FENE"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_le_reste"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_magnetic">   
+               <xs:sequence>
+                       <xs:element name="Permability" type="Vimmp:T_Permability" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_bloc_elec">   
+               <xs:sequence>
+                       <xs:element name="Permittivity" type="Vimmp:T_Permittivity" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Magnetic" type="Vimmp:T_Magnetic" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_magnetic"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Lennard">   
+               <xs:sequence>
+                       <xs:element name="Depth_Of_The_Potential_Well" type="Vimmp:T_Depth_Of_The_Potential_Well" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Species_Pair_Parameters" >
+               <xs:sequence>
+                       <xs:element name="Type_Repulsion_and_VdW" type="Vimmp:T_Type_Repulsion_and_VdW" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Species_Pair" type="Vimmp:T_Species_Pair" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="VdW_Radius" type="Vimmp:T_VdW_Radius" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Lennard"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_bloc_VdW">   
+               <xs:sequence>
+                       <xs:element name="Species_Pair_Parameters" type="Vimmp:T_Species_Pair_Parameters" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Param_Soft_Potentiel">   
+               <xs:sequence>
+                       <xs:element name="Groot_Warren_Repulsion" type="Vimmp:T_Groot_Warren_Repulsion" minOccurs="1" maxOccurs="1" default="25.0"/>
+                       <xs:element name="Groot_Warren_Cutoff" type="Vimmp:T_Groot_Warren_Cutoff" minOccurs="1" maxOccurs="1" default="1.0"/>
+                       <xs:element name="Drag_Coefficient" type="Vimmp:T_Drag_Coefficient" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Drag_Force_Cutoff" type="Vimmp:T_Drag_Force_Cutoff" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Unbonded_Interactions" >
+               <xs:sequence>
+                       <xs:element name="Type_Of_Unbonded_Interaction" type="Vimmp:T_Type_Of_Unbonded_Interaction" minOccurs="1" maxOccurs="1" default="No"/>
+                       <xs:group ref="Vimmp:T_bloc_elec"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_bloc_VdW"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Param_Soft_Potentiel"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_gravite">   
+               <xs:sequence>
+                       <xs:element name="G" type="Vimmp:T_G" minOccurs="1" maxOccurs="1" default="9.81"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_uniforme">   
+               <xs:sequence>
+                       <xs:element name="E" type="Vimmp:T_E" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_vsaisies">   
+               <xs:sequence>
+                       <xs:element name="Field" type="Vimmp:T_Field" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_td_txt_td_med_1">
+               <xs:sequence>
+                       <xs:element name="File" type="Vimmp:T_File" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_td_med_2">   
+               <xs:sequence>
+                       <xs:element name="FieldName" type="Vimmp:T_FieldName" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_vdsfich">   
+               <xs:sequence>
+                       <xs:element name="Format" type="Vimmp:T_Format" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_txt_td_med_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_med_2"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_vfct">   
+               <xs:sequence>
+                       <xs:element name="Function" type="Vimmp:T_Function" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Electric_Field" >
+               <xs:sequence>
+                       <xs:element name="Input_Mode" type="Vimmp:T_Input_Mode" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_uniforme"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vsaisies"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vdsfich"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vfct"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_elect">   
+               <xs:sequence>
+                       <xs:element name="Electric_Field" type="Vimmp:T_Electric_Field" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_uniforme_1">   
+               <xs:sequence>
+                       <xs:element name="B" type="Vimmp:T_B" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_vdsfich_1">   
+               <xs:sequence>
+                       <xs:element name="Format" type="Vimmp:T_Format" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_txt_td_med_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_med_2"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Magnetic_Field" >
+               <xs:sequence>
+                       <xs:element name="Input_Mode" type="Vimmp:T_Input_Mode" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_uniforme_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vsaisies"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vdsfich_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vfct"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_magnetic">   
+               <xs:sequence>
+                       <xs:element name="Magnetic_Field" type="Vimmp:T_Magnetic_Field" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_uniforme_2">   
+               <xs:sequence>
+                       <xs:element name="U" type="Vimmp:T_U" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_vdsfich_2">   
+               <xs:sequence>
+                       <xs:element name="Format" type="Vimmp:T_Format" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_txt_td_med_1"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_td_med_2"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Hydrodynamic_Field" >
+               <xs:sequence>
+                       <xs:element name="Input_Mode" type="Vimmp:T_Input_Mode" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_uniforme_2"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vsaisies"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vdsfich_2"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_vfct"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_hydrodynamic">   
+               <xs:sequence>
+                       <xs:element name="Hydrodynamic_Field" type="Vimmp:T_Hydrodynamic_Field" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_porte_espece">   
+               <xs:sequence>
+                       <xs:element name="Species_List" type="Vimmp:T_Species_List" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_External_Field_Interaction">   
+               <xs:sequence>
+                       <xs:element name="Field_Applies_On_All_Species" type="Vimmp:T_Field_Applies_On_All_Species" minOccurs="1" maxOccurs="1" default="true"/>
+                       <xs:group ref="Vimmp:T_b_porte_espece"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_External_Field_Interaction" >
+               <xs:sequence>
+                       <xs:element name="Type_Of_Interaction_With_An_External_Field" type="Vimmp:T_Type_Of_Interaction_With_An_External_Field" minOccurs="1" maxOccurs="1" default="No"/>
+                       <xs:group ref="Vimmp:T_b_gravite"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_elect"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_magnetic"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_hydrodynamic"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_External_Field_Interaction"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_List_Of_Interactions" >
+               <xs:sequence>
+                       <xs:element name="Bonded_Interactions" type="Vimmp:T_Bonded_Interactions" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="Unbonded_Interactions" type="Vimmp:T_Unbonded_Interactions" minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="External_Field_Interaction" type="Vimmp:T_External_Field_Interaction" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Particle" >
+               <xs:sequence>
+                       <xs:element name="ParticleNature" type="Vimmp:T_ParticleNature" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Atom"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Molecule"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Dissipative"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Discrete"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="List_Of_Bonded_Particles" type="Vimmp:T_List_Of_Bonded_Particles" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="List_Of_Interactions" type="Vimmp:T_List_Of_Interactions" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_PhysicalDescription" >
+               <xs:sequence>
+                       <xs:element name="Particle" type="Vimmp:T_Particle" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_bloc_CPS">   
+               <xs:sequence>
+                       <xs:element name="PhysicalDescription" type="Vimmp:T_PhysicalDescription" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_modelTypeParticles_b_modelTypeFields">
+               <xs:sequence>
+                       <xs:element name="NumericalMethod" type="Vimmp:T_NumericalMethod_4" minOccurs="1" maxOccurs="1"/>
+                               <xs:choice>
+                                       <xs:element name="Solver" type="Vimmp:T_Solver" minOccurs="1" maxOccurs="1"/>
+                                       <xs:sequence>
+                                       </xs:sequence>
+                               </xs:choice>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_NumericalModel" >
+               <xs:sequence>
+                       <xs:element name="Identifier" type="Vimmp:T_Identifier" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="ModelType" type="Vimmp:T_ModelType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_modelTypeParticles_b_modelTypeFields"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:group name="T_b_systemType">   
+               <xs:sequence>
+                       <xs:element name="NumericalModel" type="Vimmp:T_NumericalModel" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Component" >
+        <xs:complexContent>
+         <xs:extension base="T_step_Vimmp">
+               <xs:sequence>
+                       <xs:element name="SystemType" type="Vimmp:T_SystemType" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_FluideMacro"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_bloc_CPS"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_systemType"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+               <xs:attribute name="name" type="xs:string"/>
+               <xs:attribute name="accasType" type="xs:string" fixed="ASSD"/>
+               <xs:attribute name="typeUtilisateur" type="xs:string" fixed="composant"/>
+         </xs:extension>
+        </xs:complexContent>
+       </xs:complexType>
+       <xs:group name="T_b_Cube">   
+               <xs:sequence>
+                       <xs:element name="Size_Of_Bounding_Box" type="Vimmp:T_Size_Of_Bounding_Box" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Boule">   
+               <xs:sequence>
+                       <xs:element name="Center" type="Vimmp:T_Center" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Cylinder">   
+               <xs:sequence>
+                       <xs:element name="Heigth" type="Vimmp:T_Heigth" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Boule_ou_Cylinder">   
+               <xs:sequence>
+                       <xs:element name="Radius" type="Vimmp:T_Radius" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_Shape">   
+               <xs:sequence>
+                       <xs:element name="Box" type="Vimmp:T_Box" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Cube"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Boule"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Cylinder"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Boule_ou_Cylinder"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_format_fichiertxt_b_format_fichier_others">
+               <xs:sequence>
+                       <xs:element name="FileName" type="Vimmp:T_FileName" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_b_CAO">   
+               <xs:sequence>
+                       <xs:element name="FileFormat" type="Vimmp:T_FileFormat" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_format_fichiertxt_b_format_fichier_others"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_Geometric_Domain" >
+        <xs:complexContent>
+         <xs:extension base="T_step_Vimmp">
+               <xs:sequence>
+                       <xs:element name="Shape" type="Vimmp:T_Shape_1" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_Shape"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_b_CAO"  minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="Surface" type="Vimmp:T_Surface" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+               <xs:attribute name="name" type="xs:string"/>
+               <xs:attribute name="accasType" type="xs:string" fixed="ASSD"/>
+               <xs:attribute name="typeUtilisateur" type="xs:string" fixed="geometricDomain"/>
+         </xs:extension>
+        </xs:complexContent>
+       </xs:complexType>
+       <xs:group name="T_monBloc_FFDP_monBloc_DPFF">
+               <xs:sequence>
+                       <xs:element name="termeLE" type="Vimmp:T_termeLE" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:group>
+       <xs:group name="T_monBloc_Saturne_Fluent_monBloc_Saturne_OpenFoam">
+               <xs:sequence>
+                       <xs:element name="Format" type="Vimmp:T_Format_1" minOccurs="1" maxOccurs="1"/>
+                               <xs:choice>
+                                       <xs:element name="converter" type="Vimmp:T_converter" minOccurs="1" maxOccurs="1"/>
+                                       <xs:sequence>
+                                       </xs:sequence>
+                               </xs:choice>
+               </xs:sequence>
+       </xs:group>
+       <xs:complexType name="T_InteractionComposant" >
+               <xs:sequence>
+                       <xs:element name="origine" type="Vimmp:T_origine" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="destination" type="Vimmp:T_destination" minOccurs="1" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_monBloc_FFDP_monBloc_DPFF"  minOccurs="0" maxOccurs="1"/>
+                       <xs:group ref="Vimmp:T_monBloc_Saturne_Fluent_monBloc_Saturne_OpenFoam"  minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Interactions" >
+        <xs:complexContent>
+         <xs:extension base="T_step_Vimmp">
+               <xs:sequence>
+                       <xs:element name="InteractionComposant" type="Vimmp:T_InteractionComposant" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+         </xs:extension>
+        </xs:complexContent>
+       </xs:complexType>
+       <xs:complexType name="T_Simulated_Time_Lapse" >
+        <xs:complexContent>
+         <xs:extension base="T_step_Vimmp">
+               <xs:sequence>
+                       <xs:element name="Initial_Time" type="Vimmp:T_Initial_Time" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="Duration" type="Vimmp:T_Duration" minOccurs="1" maxOccurs="1"/>
+               </xs:sequence>
+         </xs:extension>
+        </xs:complexContent>
+       </xs:complexType>
+       <xs:complexType name="T_Specie" >
+               <xs:sequence>
+                       <xs:element name="Name" type="Vimmp:T_Name_1" minOccurs="1" maxOccurs="1"/>
+                       <xs:element name="masse_molaire" type="Vimmp:T_masse_molaire" minOccurs="0" maxOccurs="1"/>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="T_Species" >
+        <xs:complexContent>
+         <xs:extension base="T_step_Vimmp">
+               <xs:sequence>
+                       <xs:element name="Specie" type="Vimmp:T_Specie" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+         </xs:extension>
+        </xs:complexContent>
+       </xs:complexType>
+       <xs:element name="Component" type="Vimmp:T_Component" substitutionGroup="step_Vimmp"/>
+       <xs:element name="Geometric_Domain" type="Vimmp:T_Geometric_Domain" substitutionGroup="step_Vimmp"/>
+       <xs:element name="Interactions" type="Vimmp:T_Interactions" substitutionGroup="step_Vimmp"/>
+       <xs:element name="Simulated_Time_Lapse" type="Vimmp:T_Simulated_Time_Lapse" substitutionGroup="step_Vimmp"/>
+       <xs:element name="Species" type="Vimmp:T_Species" substitutionGroup="step_Vimmp"/>
+       <xs:complexType name="T_step_Vimmp" abstract="true"/>
+       <xs:element name="step_Vimmp" type="Vimmp:T_step_Vimmp"/>
+       <xs:element name="Vimmp" type="Vimmp:T_Vimmp"/>
+               <xs:complexType name="T_Vimmp">
+                 <xs:choice minOccurs="0" maxOccurs="unbounded">
+                       <xs:element ref="step_Vimmp" minOccurs="0" maxOccurs="1"/>
+                 </xs:choice>
+               </xs:complexType>
+       <xs:simpleType name="PNEFdico">
+               <xs:annotation>
+               <xs:documentation>{'T_NumericalMethod': {'_NumericalMethod_bloc_Field_bloc_no_model_TurbulenceForFlowDynamics_bloc_FlowNature_Turbulent_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_NumericalMethod', '_NumericalMethod_bloc_Field_bloc_no_model_ThermalFluxModel_bloc_scalar_thermal_flux_bloc_ThermalEffects_Thermal_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_NumericalMethod_1', '_NumericalMethod_bloc_Field_bloc_no_model_ScalarFluxModel_Scalar_AdditionalScalars_bloc_scalar_FluidTurbulentandNonComplexe_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_NumericalMethod_2', '_NumericalMethod_bloc_Field_bloc_no_model_ScalarTurbulenceModelling_bloc_FlowNature_Turbulent_For_Scalars_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_NumericalMethod_3', '_NumericalMethod_b_modelTypeParticles_NumericalModel_b_ModeleNumerique_quantum_Component': 'T_NumericalMethod_4'}, 'T_ChoiceOfApproach': {'_ChoiceOfApproach_bloc_one_spatial_TurbulenceForFlowDynamics_bloc_FlowNature_Turbulent_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_ChoiceOfApproach', '_ChoiceOfApproach_bloc_one_spatial_ThermalFluxModel_bloc_scalar_thermal_flux_bloc_ThermalEffects_Thermal_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_ChoiceOfApproach_1', '_ChoiceOfApproach_bloc_one_spatial_ScalarFluxModel_Scalar_AdditionalScalars_bloc_scalar_FluidTurbulentandNonComplexe_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_ChoiceOfApproach_2', '_ChoiceOfApproach_bloc_one_spatial_ScalarTurbulenceModelling_bloc_FlowNature_Turbulent_For_Scalars_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_ChoiceOfApproach_3'}, 'T_File': {'_File_td_txt_b_vdsfich_Electric_Field_b_elect_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_File', '_File_td_txt_b_vdsfich_Magnetic_Field_b_magnetic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_File_1', '_File_td_txt_b_vdsfich_Hydrodynamic_Field_b_hydrodynamic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_File_2'}, 'T_b_modelTypeParticles_b_modelTypeFields': {}, 'T_Name': {'_Name_Scalar_AdditionalScalars_bloc_scalar_FluidTurbulentandNonComplexe_PhysicalDescriptionFM_b_FluideMacro_Component': 'T_Name', '_Name_Specie_Species': 'T_Name_1'}, 'T_ChemicalSpecie': {'_ChemicalSpecie_Atom_b_Atom_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_ChemicalSpecie', '_ChemicalSpecie_b_Molecule_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_ChemicalSpecie_1'}, 'T_Shape': {'_Shape_b_Molecule_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_Shape', '_Shape_Geometric_Domain': 'T_Shape_1'}, 'T_BondedParticles': {'_BondedParticles_b_Dissipative_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_BondedParticles', '_BondedParticles_b_SolidAggregateBonded_Properties_b_Discrete_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_BondedParticles_1'}, 'T_b_SolidAggregate': {'_b_SolidAggregate_b_TypeDP_Solid_b_Discrete_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_SolidAggregate', '_b_SolidAggregate_Properties_b_Discrete_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_SolidAggregate_1'}, 'T_b_uniforme': {'_b_uniforme_Electric_Field_b_elect_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_uniforme', '_b_uniforme_Magnetic_Field_b_magnetic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_uniforme_1', '_b_uniforme_Hydrodynamic_Field_b_hydrodynamic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_uniforme_2'}, 'T_b_vdsfich': {'_b_vdsfich_Electric_Field_b_elect_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_vdsfich', '_b_vdsfich_Magnetic_Field_b_magnetic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_vdsfich_1', '_b_vdsfich_Hydrodynamic_Field_b_hydrodynamic_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_b_vdsfich_2'}, 'T_Format': {'_Format_b_vdsfich_Electric_Field_b_elect_External_Field_Interaction_List_Of_Interactions_Particle_PhysicalDescription_b_bloc_CPS_Component': 'T_Format', '_Format_monBloc_Saturne_Fluent_InteractionComposant_Interactions': 'T_Format_1'}}
+               </xs:documentation>
+               </xs:annotation>
+       <xs:restriction base="xs:string"></xs:restriction>
+       </xs:simpleType>
+</xs:schema>