From 1e13913d0aa5b835730c122d9dae969155721cc5 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Wed, 28 Jan 2015 11:09:07 +0100 Subject: [PATCH] ajout zs dans carmel --- Carmel3D/prefs_CARMEL3D.py | 2 +- CarmelCND/CarmelCND_Cata.py | 71 ++++++++++++++++++++++-------------- CarmelCND/acquiertGroupes.py | 36 +++++++++--------- 3 files changed, 62 insertions(+), 47 deletions(-) mode change 100644 => 100755 CarmelCND/acquiertGroupes.py diff --git a/Carmel3D/prefs_CARMEL3D.py b/Carmel3D/prefs_CARMEL3D.py index eb5409d2..52a50b5d 100644 --- a/Carmel3D/prefs_CARMEL3D.py +++ b/Carmel3D/prefs_CARMEL3D.py @@ -34,7 +34,7 @@ encoding='utf-8' catalogues = ( # catalogue avec generation Phys et materiaux reels - ('CARMEL3D','frequentiel (V0)',os.path.join(repIni,'Carmel3D_Cata_frequentiel_V0.py'),'CARMEL3DFV0','defaut'), + ('CARMEL3D','frequentiel ',os.path.join(repIni,'Carmel3D_Cata_frequentiel_V1.py'),'CARMEL3DFV0','defaut'), # ('CARMEL3D','frequentiel (V1)',os.path.join(repIni,'Carmel3D_Cata_frequentiel_V1.py'),'CARMEL3DFV1','defaut'), # ('CARMEL3D','temporel (V1)',os.path.join(repIni,'Carmel3D_Cata_temporel_V1.py'),'CARMEL3DTV1','defaut'), ) diff --git a/CarmelCND/CarmelCND_Cata.py b/CarmelCND/CarmelCND_Cata.py index 9a1e0757..38620451 100644 --- a/CarmelCND/CarmelCND_Cata.py +++ b/CarmelCND/CarmelCND_Cata.py @@ -12,46 +12,63 @@ class nocond(ASSD): class vcut(ASSD): pass +class zs(ASSD): + pass + + +import types +class Tuple: + def __init__(self,ntuple): + self.ntuple=ntuple + + def __convert__(self,valeur): + if type(valeur) == types.StringType: + return None + if len(valeur) != self.ntuple: + return None + return valeur + + def info(self): + return "Tuple de %s elements" % self.ntuple + + __repr__=info + __str__=info + JdC = JDC_CATA (code = 'monCode', execmodul = None, ) # ====================================================================== -# ====================================================================== -#INCLUDE = MACRO ( nom = "INCLUDE", op = None, -#DONNEES_GENE=MACRO(nom='DONNEES_GENE',op=None, -# UIinfo = { "groupes" : ( "iii", ) }, -# sd_prod = opsCarmelCND.INCLUDE, -# fichier_ini = 1, - -# mesh_file_name=SIMP(typ=('Fichier', 'All Files (*.med)'),fr= "No comment",ang= "No comment",statut= "o",), -#) - - -SOURCE=OPER(nom='SOURCE',op=None,sd_prod=source,UIinfo = { "groupes" : ( "toto", ) }, - NomDomaine=SIMP(statut='o',typ='TXM',defaut="default"), - VecteurDirecteur=SIMP(statut='o',typ='R',min=3,max=3), - Centre=SIMP(statut='o',typ='R',min=3,max=3), - SectionDomaine=SIMP(statut='o',typ='R',), - Amplitude=SIMP(statut='o',typ='R',), + + +SOURCE=OPER(nom='SOURCE',op=None,sd_prod=source,UIinfo = { "groupes" : ( "CACHE", ) }, + EnveloppeConnexeInducteur=SIMP(statut='o',typ='TXM',defaut="default"), + VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),defaut=(0,0,1),validators=VerifTypeTuple(('R','R','R'))), + Centre=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(1,2)), + SectionBobine=SIMP(statut='o',typ='R',fr='en m2',ang='en m2'), + Amplitude=SIMP(statut='o',typ='R',fr='en A',ang='en A'), NbdeTours=SIMP(statut='o',typ='I',val_min=1), ) -CONDUCTEUR=OPER(nom='CONDUCTEUR',op=None,sd_prod=conducteur,UIinfo = { "groupes" : ( "toto", ) }, - Conductivite=SIMP(statut='o',typ='R',), - Permeabilite=SIMP(statut='o',typ='R',), +CONDUCTEUR=OPER(nom='CONDUCTEUR',op=None,sd_prod=conducteur,UIinfo = { "groupes" : ( "CACHE", ) }, + Conductivite=SIMP(statut='o',typ='R',fr='en S/m',ang='en S/m'), + PermeabiliteRelative=SIMP(statut='o',typ='R',), ) -NOCOND=OPER(nom='NOCOND',op=None,sd_prod=nocond,UIinfo = { "groupes" : ( "toto", ) }, - Permeabilite=SIMP(statut='o',typ='R',), +NOCOND=OPER(nom='NOCOND',op=None,sd_prod=nocond,UIinfo = { "groupes" : ( "CACHE", ) }, + PermeabiliteRelative=SIMP(statut='o',typ='R',), ) # -VCUT=OPER(nom='VCUT',op=None,sd_prod=vcut,UIinfo = { "groupes" : ( "toto", ) }, - Orientation=SIMP(statut='o',typ='TXM',into=("Oppose","Meme sens")), +VCUT=OPER(nom='VCUT',op=None,sd_prod=vcut,UIinfo = { "groupes" : ( "CACHE", ) }, + Orientation=SIMP(statut='o',typ='TXM',into=("Oppose","Meme sens"),defaut="Oppose"), +) +ZS=OPER(nom='ZS',op=None,sd_prod=zs,UIinfo = { "groupes" : ( "CACHE", ) }, + Conductivite=SIMP(statut='o',typ='R',), + Permeabilite=SIMP(statut='o',typ='R',), ) -PARAMETRES=PROC(nom='PARAMETRES',op=None, UIinfo = { "groupes" : ( "toto", ) }, - RepCarmel=SIMP(typ='Repertoire',fr= "Repertoire Carmel",ang= "Carmel Directory",statut= "o",defaut="/projets/projets.002/carmel3d.001/frequentiel/V_240_test/Compil"), +PARAMETRES=PROC(nom='PARAMETRES',op=None, UIinfo = { "groupes" : ( "CACHE", ) }, + RepCarmel=SIMP(typ='Repertoire',fr= "Repertoire Carmel",ang= "Carmel Directory",statut= "o",defaut="/projets/projets.002/carmel3d.001/frequentiel/V_240/Compil"), TypedeFormule=SIMP(statut='o',typ='TXM',into=("TOMEGA","APHI")), - Frequence_en_Hz=SIMP(statut='o',typ='I',fr="frequence en hz",ang="frequence en hz"), + Frequence=SIMP(statut='o',typ='I',fr="en Hz",ang="en Hz"), Nb_Max_Iterations=SIMP(statut='o',typ='I',val_min=1,val_max=10000,defaut=10000), Erreur_Max=SIMP(statut='o',typ='R',defaut=1E-9), ) diff --git a/CarmelCND/acquiertGroupes.py b/CarmelCND/acquiertGroupes.py old mode 100644 new mode 100755 index 0a841055..52d65b60 --- a/CarmelCND/acquiertGroupes.py +++ b/CarmelCND/acquiertGroupes.py @@ -76,10 +76,14 @@ def getGroupes(filename,debug=0) : # print "gro = %s\n"%(gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE]) groupSplit=gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE] groupeName="".join(groupSplit).split("\x00")[0] + groupeName=groupeName.replace(' ','') if groupeName[0:7]=="CENTRE_" : dicoNumFam[groupeName]=numfam if groupeName not in listeGroupes : listeGroupes.append(groupeName) + print dicoNumFam + #print listeGroupes + # /* Lecture des Numeros de Familles */ nnoe, chgt, trsf = MEDmeshnEntity(fid,maa,MED_NO_DT,MED_NO_IT, MED_NODE,MED_NONE,MED_COORDINATE,MED_NO_CMODE) @@ -91,35 +95,29 @@ def getGroupes(filename,debug=0) : i=0 while i < nufano.size(): if nufano[i]==famille : - dicoNumNode[groupe]=i + dicoNumNode[groupe]=i+1 break i=i+1 print dicoNumNode dicoCoord={} -# for groupe in dicoNumNode.keys() : -# for groupe in (1,) : -# flt=MEDINT(1) -# flt[0]=2 -# print flt -# coo1=MEDFLOAT(4) -# filter=med_filter() -# print "kk" -# err=MEDfilterEntityCr( fid, nnoe, 1, sdim, MED_ALL_CONSTITUENT, MED_FULL_INTERLACE, MED_COMPACT_PFLMODE, MED_NO_PROFILE,1 , flt, filter) -# print err -# print "kk" -# MEDmeshNodeCoordinateAdvancedRd(fid, maa, MED_NO_DT, MED_NO_IT, filter, coo1) -# print "kk" -# MEDfilterClose(filter) -# print "kk" -# print coo1 - dicoCoord['CENTRE_saxBas']=(0,0,28.5e-3) - dicoCoord['CENTRE_saxHaut']=(0,0,31.5e-3) + for groupe in dicoNumNode.keys() : + flt=MEDINT(1) + flt[0]=dicoNumNode[groupe] + coo1=MEDFLOAT(3) + filter=med_filter() + err=MEDfilterEntityCr( fid, nnoe, 1, sdim, MED_ALL_CONSTITUENT, MED_FULL_INTERLACE, MED_COMPACT_PFLMODE, MED_NO_PROFILE,1 , flt, filter) + MEDmeshNodeCoordinateAdvancedRd(fid, maa, MED_NO_DT, MED_NO_IT, filter, coo1) + MEDfilterClose(filter) + dicoCoord[groupe]=coo1 +# dicoCoord['CENTRE_saxBas']=(0,0,28.5e-3) +# dicoCoord['CENTRE_saxHaut']=(0,0,31.5e-3) MEDfileClose(fid) return ("",listeGroupes,maa,dicoCoord) if __name__ == "__main__": filename="/home/A96028/Carmel/Pascale/Domaine_Bidouille.med" + #filename="/home/A96028/Carmel/nouveauMed/Domaine.med" print getGroupes(filename) -- 2.39.2