Salome HOME
CCAR : remplacement separateur New24.gif par Sep.gif
[tools/eficas.git] / Aster / ahlv100a.comm
1 # MODIF  DATE 11/12/2001   AUTEUR DURAND C.DURAND 
2 # TITRE GUIDE D'ONDE A SORTIE ANECHOIQUE (ONDES PLANES) E.F. CLASSIQUES
3 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6 #              SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND
7 #              REDISTRIBUTION OF THIS FILE.
8 # ======================================================================
9 #  MODELISATION 'ACOUSTIQUE' AVEC ELEMENTS HEXA20 ET FACE8
10 #  GUIDE D'ONDE ACOUSTIQUE EN E.F. CLASSIQUES
11 #
12
13 DEBUT(CODE=_F( NOM = 'AHLV100A')  )
14
15 F=500.
16
17 MAIL=LIRE_MAILLAGE( )
18
19 AIR=DEFI_MATERIAU( FLUIDE=_F( RHO = 1.3, CELE_C = ('RI',343.,0.,)))
20
21 CHAMPMAT=AFFE_MATERIAU(  MAILLAGE=MAIL,
22                                  AFFE=_F( TOUT = 'OUI',  MATER = AIR) )
23
24 GUIDE=AFFE_MODELE(  MAILLAGE=MAIL,     VERIF='MAILLE',
25                             AFFE=_F( TOUT = 'OUI', MODELISATION = '3D',
26                                      PHENOMENE = 'ACOUSTIQUE') )
27
28 CHARACOU=AFFE_CHAR_ACOU(      MODELE=GUIDE,
29                  VITE_FACE=_F( GROUP_MA = 'ENTREE', VNOR = ('RI',0.014,0.,)))
30
31 IMPEACOU=AFFE_CHAR_ACOU(      MODELE=GUIDE,
32                  IMPE_FACE=_F( GROUP_MA = 'SORTIE', IMPE = ('RI',445.9,0.,)))
33
34 MACRO_MATR_ASSE(
35                       MODELE=GUIDE,         CHARGE=IMPEACOU,
36                       CHAM_MATER=CHAMPMAT,
37                       NUME_DDL=CO("NUM"),MATR_ASSE=(
38                       _F(  MATRICE = CO("MATASK"), OPTION = 'RIGI_ACOU'),
39                                 _F(  MATRICE = CO("MATASM"), OPTION = 'MASS_ACOU'),
40                                 _F(  MATRICE = CO("MATASI"), OPTION = 'AMOR_ACOU'))
41                    )
42
43 #
44
45 VECTELEM=CALC_VECT_ELEM(   OPTION='CHAR_ACOU',  CHAM_MATER=CHAMPMAT,
46                                 CHARGE=CHARACOU )
47
48 #
49 # IMPRESSION DU VECT_ELEM COMPLEXE VECTELEM SELON LE GRAIN MAILLE
50
51
52 IMPR_MATRICE(   MATR_ELEM=_F(  MATRICE = VECTELEM,
53                                FORMAT = 'RESULTAT',
54                                FICHIER = 'RESULTAT',
55                                GRAIN = 'MAILLE'))
56
57 VECTASS=ASSE_VECTEUR(  VECT_ELEM=VECTELEM,   NUME_DDL=NUM )
58
59 #
60 #  ____________________CALCUL DES MODES_________________________________
61 #
62
63 MATASKR=COMB_MATR_ASSE(    COMB_R=_F( MATR_ASSE = MATASK,  PARTIE = 'REEL', COEF_R = 1.))
64
65 MATASMR=COMB_MATR_ASSE(    COMB_R=_F( MATR_ASSE = MATASM,  PARTIE = 'REEL', COEF_R = 1.))
66
67 #
68
69 MODES=MODE_ITER_SIMULT(      MATR_A=MATASKR,
70                                      MATR_B=MATASMR,
71                                   CALC_FREQ=_F( OPTION = 'BANDE',
72                                              FREQ = ( 1., 1000.,))
73                                )
74
75 TEST_RESU(RESU=(_F( RESULTAT = MODES,  PARA = 'FREQ',
76                     CRITERE = 'RELATIF',  PRECISION = 1.E-4,
77                     NUME_ORDRE = 1,  VALE = 171.5),
78               _F( RESULTAT = MODES,  PARA = 'FREQ',
79                     CRITERE = 'RELATIF',  PRECISION = 1.E-4,
80                     NUME_ORDRE = 2,  VALE = 343.), 
81               _F( RESULTAT = MODES,  PARA = 'FREQ',
82                     CRITERE = 'RELATIF',  PRECISION = 1.E-3,
83                     NUME_ORDRE = 3,  VALE = 514.5),
84               _F( RESULTAT = MODES,  PARA = 'FREQ',
85                     CRITERE = 'RELATIF',  PRECISION = 1.E-2,
86                     NUME_ORDRE = 4,  VALE = 686.),            
87               _F( RESULTAT = MODES,  PARA = 'FREQ',
88                     CRITERE = 'RELATIF',  PRECISION = 1.E-3,
89                     NUME_ORDRE = 5,  VALE = 857.5),     
90               _F( RESULTAT = MODES,  PARA = 'FREQ',
91                     CRITERE = 'RELATIF',  PRECISION = 5.E-3,
92                     NUME_ORDRE = 6,  VALE = 857.5),      
93               _F( RESULTAT = MODES,  PARA = 'FREQ',
94                     CRITERE = 'RELATIF',  PRECISION = 5.E-3,
95                     NUME_ORDRE = 7,  VALE = 874.482),      
96               _F( RESULTAT = MODES,  PARA = 'FREQ',
97                     CRITERE = 'RELATIF',  PRECISION = 5.E-3,
98                     NUME_ORDRE = 8,  VALE = 923.556))
99              )
100
101 #  ----------------------CALCUL DECOMPOSE-------------------------------
102 #
103
104 MATRES=COMB_MATR_ASSE( COMB_C=(   _F( MATR_ASSE = MATASK,
105                                         COEF_R = 1.),
106                                        _F( MATR_ASSE = MATASM,
107                                         COEF_R = -9869604.4),
108                                        _F( MATR_ASSE = MATASI,
109                                         COEF_C = ('RI',0.,3141.5926,)))
110                             )
111
112 #
113 # IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN NOEUD
114
115
116 IMPR_MATRICE(   MATR_ASSE=_F(  MATRICE = MATRES,
117                                FORMAT = 'RESULTAT',
118                                FICHIER = 'RESULTAT',
119                                GRAIN = 'NOEUD',
120                                OPTION = 'LIGNE'))
121
122 #
123 # IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN VALEUR
124
125
126 IMPR_MATRICE(   MATR_ASSE=_F(  MATRICE = MATRES,
127                                FORMAT = 'RESULTAT',
128                                FICHIER = 'RESULTAT',
129                                GRAIN = 'VALEUR',
130                                OPTION = 'LIGNE'))
131
132 VECRES=COMB_CHAM_NO(    COMB_C=_F( CHAM_NO = VECTASS,
133                                       COEF_C = ('RI',0.,-3141.5926,))
134                             )
135
136 MATRES=FACT_LDLT( reuse=MATRES,  MATR_ASSE=MATRES )
137
138 VECRES=RESO_LDLT( reuse=VECRES,  MATR_FACT=MATRES,
139                              CHAM_NO=VECRES
140                         )
141
142 TEST_RESU(CHAM_NO=(
143              _F( CHAM_GD = VECRES,
144               NOEUD = 'NO1',   NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
145              _F( CHAM_GD = VECRES,
146               NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
147              _F( CHAM_GD = VECRES,
148               NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)),
149              _F( CHAM_GD = VECRES,
150               NOEUD = 'NO763', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)))
151              )
152
153 CHNODBEL=CALC_CHAM_ELEM(      MODELE=GUIDE,
154                               CHAM_MATER=CHAMPMAT,
155                                PRES=VECRES,
156                                   OPTION='PRES_ELNO_DBEL'
157                             )
158
159 TEST_RESU(CHAM_ELEM=(
160              _F( CHAM_GD = CHNODBEL,
161               MAILLE = 'MA1',
162               NOEUD = 'NO1',   NOM_CMP = 'DB',  VALE = 109.9),
163              _F( CHAM_GD = CHNODBEL,
164               MAILLE = 'MA1',
165               NOEUD = 'NO780', NOM_CMP = 'DB',  VALE = 109.9),
166              _F( CHAM_GD = CHNODBEL,
167               MAILLE = 'MA57',
168               NOEUD = 'NO751', NOM_CMP = 'DB',  VALE = 109.9),
169              _F( CHAM_GD = CHNODBEL,
170               MAILLE = 'MA57',
171               NOEUD = 'NO763', NOM_CMP = 'DB',  VALE = 109.9))
172              )
173
174 #
175
176 PREEL=CALC_CHAM_ELEM(      MODELE=GUIDE,
177                               CHAM_MATER=CHAMPMAT,
178                                PRES=VECRES,
179                                   OPTION='PRES_ELNO_REEL'
180                             )
181
182 TEST_RESU(CHAM_ELEM=(
183              _F( CHAM_GD = PREEL,
184               MAILLE = 'MA1',
185               NOEUD = 'NO1',   NOM_CMP = 'PRES', VALE = -6.2426),
186              _F( CHAM_GD = PREEL,
187               MAILLE = 'MA1',
188               NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = -6.2426),
189              _F( CHAM_GD = PREEL,
190               MAILLE = 'MA57',
191               NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 6.02368),
192              _F( CHAM_GD = PREEL,
193               MAILLE = 'MA57',
194               NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 6.02368))
195              )
196
197 PIMAG=CALC_CHAM_ELEM(      MODELE=GUIDE,
198                               CHAM_MATER=CHAMPMAT,
199                                PRES=VECRES,
200                                   OPTION='PRES_ELNO_IMAG'
201                             )
202
203 TEST_RESU(CHAM_ELEM=(
204            _F( CHAM_GD = PIMAG,
205             MAILLE = 'MA1',
206             NOEUD = 'NO1',   NOM_CMP = 'PRES', VALE = 0.,
207             CRITERE = 'ABSOLU'),
208            _F( CHAM_GD = PIMAG,
209             MAILLE = 'MA1',
210             NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = 0.,
211             CRITERE = 'ABSOLU'),
212            _F( CHAM_GD = PIMAG,
213             MAILLE = 'MA57',
214             NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3),
215            _F( CHAM_GD = PIMAG,
216             MAILLE = 'MA57',
217             NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3))
218              )
219
220 #-----------------------CALCUL HARMONIQUE-------------------------------
221
222
223 PRESHARM=DYNA_LINE_HARM( MATR_MASS=MATASM,  MATR_RIGI=MATASK,
224                              MATR_AMOR=MATASI,
225                                FREQ=F,
226                              EXCIT=_F( VECT_ASSE = VECTASS,  COEF_MULT = -1.,
227                                     PUIS_PULS = 1,  PHAS_DEG = 90.))
228
229 TEST_RESU(RESU=(
230              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
231               NOEUD = 'NO1',  NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
232              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
233               NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
234              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
235               NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)),
236              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
237               NOEUD = 'NO763',  NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)))
238              )
239
240 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
241                             TOUT_ORDRE='OUI',
242                              RESULTAT=PRESHARM,
243                                OPTION='INTE_ELNO_ACTI'
244            )
245
246 TEST_RESU(RESU=(
247            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
248             MAILLE = 'MA1',
249             NOEUD = 'NO1',  NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
250            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
251             MAILLE = 'MA1',
252             NOEUD = 'NO780', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
253            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
254             MAILLE = 'MA57',
255             NOEUD = 'NO751', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
256            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
257             MAILLE = 'MA57',
258             NOEUD = 'NO763', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2))
259              )
260
261 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
262                             TOUT_ORDRE='OUI',
263                              RESULTAT=PRESHARM,
264                                OPTION='INTE_ELNO_REAC'
265            )
266
267 TEST_RESU(RESU=(
268              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
269               MAILLE = 'MA1',
270               NOEUD = 'NO1',   NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
271                                                  CRITERE = 'ABSOLU'),
272              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
273               MAILLE = 'MA1',
274               NOEUD = 'NO780', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
275                                                  CRITERE = 'ABSOLU'),
276              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
277               MAILLE = 'MA57',
278               NOEUD = 'NO751', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
279                                                  CRITERE = 'ABSOLU'),
280              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
281               MAILLE = 'MA57',
282               NOEUD = 'NO763', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
283                                                  CRITERE = 'ABSOLU'))
284              )
285
286 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
287                             TOUT_ORDRE='OUI',
288                              RESULTAT=PRESHARM,
289                                OPTION='PRES_ELNO_DBEL'
290            )
291
292 TEST_RESU(RESU=(
293              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
294               MAILLE = 'MA1',
295               NOEUD = 'NO1',  NOM_CMP = 'DB',  VALE = 109.9),
296              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
297               MAILLE = 'MA1',
298               NOEUD = 'NO780', NOM_CMP = 'DB',  VALE = 109.9),
299              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
300               MAILLE = 'MA57',
301               NOEUD = 'NO751', NOM_CMP = 'DB',  VALE = 109.9),
302              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
303               MAILLE = 'MA57',
304               NOEUD = 'NO763', NOM_CMP = 'DB',  VALE = 109.9))
305              )
306
307 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
308                             TOUT_ORDRE='OUI',
309                              RESULTAT=PRESHARM,
310                                OPTION='PRES_ELNO_REEL'
311            )
312
313 TEST_RESU(RESU=(
314              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
315               MAILLE = 'MA1',
316               NOEUD = 'NO1',   NOM_CMP = 'PRES',  VALE = -6.2426),
317              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
318               MAILLE = 'MA1',
319               NOEUD = 'NO780', NOM_CMP = 'PRES',  VALE = -6.2426),
320              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
321               MAILLE = 'MA57',
322               NOEUD = 'NO751', NOM_CMP = 'PRES',  VALE = 6.02368),
323              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
324               MAILLE = 'MA57',
325               NOEUD = 'NO763', NOM_CMP = 'PRES',  VALE = 6.02368))
326              )
327
328 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
329                             TOUT_ORDRE='OUI',
330                              RESULTAT=PRESHARM,
331                                OPTION='PRES_ELNO_IMAG'
332            )
333
334 TEST_RESU(RESU=(
335            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
336             MAILLE = 'MA1',
337             NOEUD = 'NO1',  NOM_CMP = 'PRES',  VALE = 0.,
338                                      CRITERE = 'ABSOLU'),
339            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
340             MAILLE = 'MA1',
341             NOEUD = 'NO780', NOM_CMP = 'PRES',  VALE = 0.,
342                                      CRITERE = 'ABSOLU'),
343           _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
344            MAILLE = 'MA57',
345            NOEUD = 'NO751', NOM_CMP = 'PRES',  VALE = 1.6387, PRECISION = 3.3E-3,
346                                      CRITERE = 'RELATIF'),
347           _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
348            MAILLE = 'MA57',
349            NOEUD = 'NO763',  NOM_CMP = 'PRES',  VALE = 1.6387, PRECISION = 3.3E-3))
350              )
351
352 FIN()
353 #
354 #