-#@ MODIF macro_miss_3d_ops Macro DATE 03/11/2004 AUTEUR ACBHHCD G.DEVESA
+#@ MODIF macro_miss_3d_ops Macro DATE 06/06/2007 AUTEUR SALMONA L.SALMONA
# -*- coding: iso-8859-1 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
UNITE_MODELE_SOL,UNITE_RESU_IMPE,
- PROJET,REPERTOIRE,OPTION,VERSION,**args):
+ PROJET,REPERTOIRE,OPTION,VERSION,
+ UNITE_RESU_FORC,PARAMETRE,**args):
"""
Ecriture de la macro MACRO_MISS_3D
"""
import types
from Accas import _F
+ from Utilitai.Utmess import UTMESS
+ from types import TupleType, ListType
ier=0
# On importe les definitions des commandes a utiliser dans la macro
DEFI_FICHIER =self.get_cmd('DEFI_FICHIER')
EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL')
# La macro compte pour 1 dans la numerotation des commandes
- #self.icmd=1
self.set_icmd(1)
DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER)
import aster
loc_fic=aster.repout()
- miss3d=loc_fic+'miss3d'
- #miss3d='/home/acbhhcd/MISS3D/V6.4/miss3d.csh'
+ tv = aster.__version__.split('.')
+ if len(tv) < 3:
+ tv.extend(['x']*(3-len(tv)))
+ elif len(tv) > 3:
+ tv = tv[:3]
+ vers = '%2s.%2s.%2s' % tuple(tv)
+ # if vers > ' 8. 3.11':
+ # miss3d='/aster/logiciels/MISS3D/NEW/miss3d.csh'
+ # else:
+ # miss3d=loc_fic+'miss3d'
+
+ miss3d=loc_fic+'miss3d'
+
+ # if VERSION=='V1_2':
+ # if PARAMETRE != None and PARAMETRE['TYPE']=='BINAIRE':
+ # raise AsException("MACRO_MISS_3D/PARAMETRE : type incompatible avec version")
+
if OPTION['TOUT']!=None:
MODUL2='COMPLET'
elif OPTION['MODULE']=='MISS_IMPE':
popti = 'fort.'+str(UNITE_OPTI_MISS)
pdsol = 'fort.'+str(UNITE_MODELE_SOL)
primp = 'fort.'+str(UNITE_RESU_IMPE)
-
+ prfor = 'fort.'+str(UNITE_RESU_FORC)
+
+ l_para = ['FREQ_MIN','FREQ_MAX','FREQ_PAS','Z0','RFIC','SURF',
+ 'FICH_RESU_IMPE','FICH_RESU_FORC','TYPE','DREF','ALGO',
+ 'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF',
+ 'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB',
+ 'LFREQ_LISTE']
+ if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None:
+ if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']:
+ UTMESS('F', 'MACRO_MISS3D', 'Longueur de LFREQ_LISTE incorrecte')
+ if PARAMETRE != None and PARAMETRE['CONTR_NB'] != None:
+ if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']:
+ UTMESS('F', 'MACRO_MISS3D', 'Longueur de CONTR_LISTE incorrecte')
+
+ dpara = {}
+ for cle in l_para:
+ if cle in ('SURF', 'ISSF', ):
+ dpara[cle] = 'NON'
+ else:
+ dpara[cle] = '0'
+ if PARAMETRE != None and PARAMETRE[cle] != None:
+ if type(PARAMETRE[cle]) in (TupleType, ListType):
+ dpara[cle] = repr(' '.join([str(s) for s in PARAMETRE[cle]]))
+ else:
+ dpara[cle] = str(PARAMETRE[cle])
+
EXEC_LOGICIEL(
LOGICIEL=miss3d,
- ARGUMENT=(_F(NOM_PARA=MODUL2),
- _F(NOM_PARA=ETUDE),
- _F(NOM_PARA=BASE),
- _F(NOM_PARA=paste),
- _F(NOM_PARA=popti),
- _F(NOM_PARA=pdsol),
- _F(NOM_PARA=primp),
- _F(NOM_PARA=VERSION), ),
+ ARGUMENT=(MODUL2,
+ ETUDE,
+ BASE,
+ paste,
+ popti,
+ pdsol,
+ primp,
+ VERSION,
+ dpara['FREQ_MIN'],
+ dpara['FREQ_MAX'],
+ dpara['FREQ_PAS'],
+ dpara['Z0'],
+ dpara['SURF'],
+ dpara['RFIC'],
+ dpara['FICH_RESU_IMPE'],
+ dpara['FICH_RESU_FORC'],
+ dpara['DREF'],
+ dpara['ALGO'],
+ dpara['OFFSET_MAX'],
+ dpara['OFFSET_NB'],
+ dpara['SPEC_MAX'],
+ dpara['SPEC_NB'],
+ dpara['ISSF'],
+ dpara['FICH_POST_TRAI'],
+ dpara['CONTR_NB'],
+ dpara['CONTR_LISTE'],
+ dpara['LFREQ_NB'],
+ dpara['LFREQ_LISTE'],
+ dpara['TYPE'],
+ prfor,
+ ),
)
return ier