1 #@ MODIF macro_miss_3d_ops Macro DATE 06/06/2007 AUTEUR SALMONA L.SALMONA
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'
62 # if PARAMETRE != None and PARAMETRE['TYPE']=='BINAIRE':
63 # raise AsException("MACRO_MISS_3D/PARAMETRE : type incompatible avec version")
65 if OPTION['TOUT']!=None:
67 elif OPTION['MODULE']=='MISS_IMPE':
69 elif OPTION['MODULE']=='MISS_EVOL':
71 elif OPTION['MODULE']=='PRE_MISS':
76 paste = 'fort.'+str(UNITE_IMPR_ASTER)
77 popti = 'fort.'+str(UNITE_OPTI_MISS)
78 pdsol = 'fort.'+str(UNITE_MODELE_SOL)
79 primp = 'fort.'+str(UNITE_RESU_IMPE)
80 prfor = 'fort.'+str(UNITE_RESU_FORC)
82 l_para = ['FREQ_MIN','FREQ_MAX','FREQ_PAS','Z0','RFIC','SURF',
83 'FICH_RESU_IMPE','FICH_RESU_FORC','TYPE','DREF','ALGO',
84 'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF',
85 'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB',
87 if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None:
88 if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']:
89 UTMESS('F', 'MACRO_MISS3D', 'Longueur de LFREQ_LISTE incorrecte')
90 if PARAMETRE != None and PARAMETRE['CONTR_NB'] != None:
91 if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']:
92 UTMESS('F', 'MACRO_MISS3D', 'Longueur de CONTR_LISTE incorrecte')
96 if cle in ('SURF', 'ISSF', ):
100 if PARAMETRE != None and PARAMETRE[cle] != None:
101 if type(PARAMETRE[cle]) in (TupleType, ListType):
102 dpara[cle] = repr(' '.join([str(s) for s in PARAMETRE[cle]]))
104 dpara[cle] = str(PARAMETRE[cle])
122 dpara['FICH_RESU_IMPE'],
123 dpara['FICH_RESU_FORC'],
131 dpara['FICH_POST_TRAI'],
133 dpara['CONTR_LISTE'],
135 dpara['LFREQ_LISTE'],