1 #@ MODIF macro_miss_3d_ops Macro DATE 13/05/2008 AUTEUR DEVESA G.DEVESA
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
23 def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
24 UNITE_MODELE_SOL,UNITE_RESU_IMPE,
25 PROJET,REPERTOIRE,OPTION,VERSION,
26 UNITE_RESU_FORC,PARAMETRE,**args):
28 Ecriture de la macro MACRO_MISS_3D
32 from Utilitai.Utmess import UTMESS
33 from types import TupleType, ListType
36 # On importe les definitions des commandes a utiliser dans la macro
37 # Le nom de la variable doit etre obligatoirement le nom de la commande
38 DEFI_FICHIER =self.get_cmd('DEFI_FICHIER')
39 EXEC_LOGICIEL =self.get_cmd('EXEC_LOGICIEL')
40 # La macro compte pour 1 dans la numerotation des commandes
43 DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER)
46 loc_fic=aster.repout()
47 tv = aster.__version__.split('.')
49 tv.extend(['x']*(3-len(tv)))
52 vers = '%2s.%2s.%2s' % tuple(tv)
54 # if vers > ' 8. 3.11':
55 # miss3d='/aster/logiciels/MISS3D/NEW/miss3d.csh'
57 # miss3d=loc_fic+'miss3d'
59 miss3d=loc_fic+'miss3d'
61 # miss3d='/aster/logiciels/MISS3D/miss3d.csh-beta-modif'
64 # if PARAMETRE != None and PARAMETRE['TYPE']=='BINAIRE':
65 # raise AsException("MACRO_MISS_3D/PARAMETRE : type incompatible avec version")
67 if OPTION['TOUT']!=None:
69 elif OPTION['MODULE']=='MISS_IMPE':
71 elif OPTION['MODULE']=='MISS_EVOL':
73 elif OPTION['MODULE']=='PRE_MISS':
78 paste = 'fort.'+str(UNITE_IMPR_ASTER)
79 popti = 'fort.'+str(UNITE_OPTI_MISS)
80 pdsol = 'fort.'+str(UNITE_MODELE_SOL)
81 primp = 'fort.'+str(UNITE_RESU_IMPE)
82 prfor = 'fort.'+str(UNITE_RESU_FORC)
84 l_para = ['FREQ_MIN','FREQ_MAX','FREQ_PAS','Z0','RFIC','SURF',
85 'FICH_RESU_IMPE','FICH_RESU_FORC','TYPE','DREF','ALGO',
86 'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF',
87 'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB',
88 'LFREQ_LISTE','DIRE_ONDE']
89 if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None:
90 if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']:
92 if PARAMETRE != None and PARAMETRE['CONTR_NB'] != None:
93 if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']:
99 if cle in ('SURF', 'ISSF', ):
103 if PARAMETRE != None and PARAMETRE[cle] != None:
104 if type(PARAMETRE[cle]) in (TupleType, ListType):
105 dpara[cle] = repr(' '.join([str(s) for s in PARAMETRE[cle]]))
107 dpara[cle] = str(PARAMETRE[cle])
108 if cle in ('DIRE_ONDE', ):
110 dpara['SURF'] = 'NON'
128 dpara['FICH_RESU_IMPE'],
129 dpara['FICH_RESU_FORC'],
137 dpara['FICH_POST_TRAI'],
139 dpara['CONTR_LISTE'],
141 dpara['LFREQ_LISTE'],