import Accas
debutTextePhys ="[VERSION\n NUM 1\n FILETYPE PHYS\n]\n"
-debutTextePhys+="[MATERIALS\n [CONDUCTOR\n"
+debutTextePhys+="[MATERIALS\n"
texteConductor =" [CONDUCTIVITY\n LAW LINEAR\n"
texteConductor+=" HOMOGENEOUS TRUE\n"
texteConductor+=" ISOTROPIC TRUE\n"
debutTexteParam+="[PROBLEM\n NAME HARMONIC\n]\n"
debutTexteParam+="[CAR_FILES\n NAME "
+debutTexteZs0 =" [ZSURFACIC\n NAME "
+debutTexteZs ="\n [CONDUCTIVITY\n"
+debutTexteZs+=" LAW LINEAR\n"
+debutTexteZs+=" HOMOGENEOUS TRUE\n"
+debutTexteZs+=" ISOTROPIC TRUE\n"
+debutTexteZs+=" VALUE COMPLEX "
+texteZs2 =" 0.0000000000000000E+00\n ]\n"
+texteZs2 +=" [PERMEABILITY\n LAW LINEAR\n"
+texteZs2 +=" HOMOGENEOUS TRUE\n"
+texteZs2 +=" ISOTROPIC TRUE\n VALUE COMPLEX "
+finTexteZs =" 0.0000000000000000E+00\n ]\n ]\n"
def entryPoint():
"""
# ecriture
#----------------------------------------------------------------------------------------
- def writeDefault(self,fn) :
+ def writeDefault(self,file) :
+#file ne sert pas
self.texteIngendof=""
self.texteParam=debutTexteParam
self.chercheFichier()
self.traiteSourceVCut()
- fileIngendof = fn[:fn.rfind(".")] + '.ingendof'
+
+ fn=self.fnBase
+ fileIngendofDeb = fn[:fn.rfind(".")] + '.ingendof'
+ fileIngendof = os.path.join(self.sauveDirectory,fileIngendofDeb)
f = open( str(fileIngendof), 'wb')
f.write( self.texteIngendof )
f.close()
self.textePhys=debutTextePhys
self.traiteMateriaux()
- filePhys = fn[:fn.rfind(".")] + '.phys'
+ filePhysDeb = fn[:fn.rfind(".")] + '.phys'
+ filePhys = os.path.join(self.sauveDirectory,filePhysDeb)
f = open( str(filePhys), 'wb')
f.write( self.textePhys )
f.close()
- fileParam = fn[:fn.rfind(".")] + '.param'
+ fileParamDeb = fn[:fn.rfind(".")] + '.param'
+ fileParam = os.path.join(self.sauveDirectory,fileParamDeb)
self.traiteParam()
f = open( str(fileParam), 'wb')
f.write( self.texteParam )
f.close()
- self.texteCMD="[ \n GLOBAL \n] \n[ \nVISU \nDomaine \nMED \nELEMENT \n] "
- fileCMD = fn[:fn.rfind(".")] + '.cmd'
+ self.texteCMD="[ \n GLOBAL \n] \n[ \nVISU \n"+self.fnBase.split(".med")[0]+"\nMED \nELEMENT \n] "
+ fileCMDDeb = fn[:fn.rfind(".")] + '.cmd'
+ fileCMD =os.path.join(self.sauveDirectory,fileCMDDeb)
f = open( str(fileCMD), 'wb')
f.write( self.texteCMD )
f.close()
nomBaseFichier=os.path.basename(fileParam).split(".med")[0]
self.texteInfcarmel=nomBaseFichier
- fileInfcarmel = fn[:fn.rfind(".")] + '.infcarmel'
+ fileInfcarmelDeb = fn[:fn.rfind(".")] + '.infcarmel'
+ fileInfcarmel=os.path.join(self.sauveDirectory,fileInfcarmelDeb)
f = open( str(fileInfcarmel), 'wb')
f.write( self.texteInfcarmel )
f.close()
self.texteInpostpro=nomBaseFichier+"\n"+nomBaseFichier.split(".param")[0]+'.xmat\n'+nomBaseFichier.split(".param")[0]+'.cmd'
- fileInpostpro = fn[:fn.rfind(".")] + '.inpostprocess'
+ fileInpostproDeb = fn[:fn.rfind(".")] + '.inpostprocess'
+ fileInpostpro = os.path.join(self.sauveDirectory,fileInpostproDeb)
f = open( str(fileInpostpro), 'wb')
f.write( self.texteInpostpro )
f.close()
debut=e.valeur[17:]
liste=debut.split(" - ")
nomFichier=liste[0]
- print 'nom=',nomFichier
- print 'e.va=',e.valeur.split(" ")[-1]
- print 'liste=',liste
+ #print 'nom=',nomFichier
+ #print 'e.va=',e.valeur.split(" ")[-1]
+ #print 'liste=',liste
nomDomaine=e.valeur.split(" ")[-1]
break
+ self.sauveDirectory=os.path.dirname(nomFichier)
+ self.fnBase=os.path.basename(nomFichier)
self.texteIngendof =os.path.basename(nomFichier)+"\n"
self.texteParam += os.path.basename(nomFichier).split(".med")[0]+".car\n]\n"
self.texteParam +="[PHYS_FILES\n NAME "+os.path.basename(nomFichier).split(".med")[0]+".phys\n]\n"
#----------------------------------------------------------------------------------------
-# analyse du dictionnaire pour trouver les sources et les VCut
+# analyse du dictionnaire pour trouver les sources et les VCut et les ZS
#----------------------------------------------------------------------------------------
def traiteSourceVCut(self) :
listeSource=[]
listeVCut=[]
+ self.listeZS=[]
self.texteSourcePhys="[SOURCES\n"
for k in self.dictMCVal.keys():
if k.find ("______SOURCE__") > -1 :
if k.find ("______VCUT__") > -1 :
noms=k.split("_____")
if noms[0] not in listeVCut : listeVCut.append(noms[0])
+ if k.find ("______ZS") > -1 :
+ noms=k.split("_____")
+ if noms[0] not in self.listeZS : self.listeZS.append(noms[0])
listeSource.sort()
for source in listeSource:
debutKey=source+"______SOURCE__"
- texteSource=self.dictMCVal[debutKey+"NomDomaine"]+"\n"
+ texteSource=self.dictMCVal[debutKey+"EnveloppeConnexeInducteur"]+"\n"
texteSource+="2\n"
for val in self.dictMCVal[debutKey+"VecteurDirecteur"] :
texteSource+=str(val)+" "
for val in self.dictMCVal[debutKey+"Centre"] :
texteSource+=str(val)+" "
texteSource+="\n"
- texteSource+=str(self.dictMCVal[debutKey+"SectionDomaine"])+"\n"
+ texteSource+=str(self.dictMCVal[debutKey+"SectionBobine"])+"\n"
self.texteIngendof+=texteSource
self.texteSourcePhys+=" [STRANDED_INDUCTOR\n"
self.texteSourcePhys+=" NAME "+source+"\n"
if self.dictMCVal["__PARAMETRES__TypedeFormule"]=="APHI" :self.texteIngendof+="1\n"
else : self.texteIngendof+="2\n"
+
#----------------------------------------------------------------------------------------
def traiteMateriaux(self) :
if noms[0] not in listeNoCond : listeNoCond.append(noms[0])
for c in listeCond:
+ self.textePhys +=" [CONDUCTOR\n"
self.textePhys +=" NAME "+c+"\n"
self.textePhys +=texteConductor
self.textePhys+=" VALUE COMPLEX "
self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__Conductivite"])
self.textePhys+=texteConducto2
self.textePhys+=" VALUE COMPLEX "
- self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__Permeabilite"])
+ self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__PermeabiliteRelative"])
self.textePhys+=" 0.0000000000000000E+00\n ]\n ]\n"
for c in listeNoCond:
self.textePhys +=" NAME "+c+"\n"
self.textePhys += texteNoCond
self.textePhys+=" VALUE COMPLEX "
- self.textePhys+=str(self.dictMCVal[c+"______NOCOND__Permeabilite"])
+ self.textePhys+=str(self.dictMCVal[c+"______NOCOND__PermeabiliteRelative"])
self.textePhys+=" 0.0000000000000000E+00\n ]\n ]\n"
+ for zs in self.listeZS:
+ self.textePhys+=debutTexteZs0+zs
+ self.textePhys+=debutTexteZs
+ self.textePhys+=str(self.dictMCVal[zs+"______ZS__Conductivite"])
+ self.textePhys+=texteZs2
+ self.textePhys+=str(self.dictMCVal[zs+"______ZS__PermeabiliteRelative"])
+ self.textePhys+=finTexteZs
+
self.textePhys+="]\n"
self.textePhys+=self.texteSourcePhys
# Creation du fichier Param
#----------------------------------------------------------------------------------------
def traiteParam(self):
- self.texteParam +="[FREQUENCY\n SINGLE "+str(self.dictMCVal["__PARAMETRES__Frequence_en_Hz"])+"\n]\n"
+ self.texteParam +="[FREQUENCY\n SINGLE "+str(self.dictMCVal["__PARAMETRES__Frequence"])+"\n]\n"
self.texteParam +="[SOLVER\n NAME BICGCR\n"
self.texteParam +=" [ITERATIVE_PARAM\n"
self.texteParam +=" NITERMAX "+str(self.dictMCVal["__PARAMETRES__Nb_Max_Iterations"])+"\n"