]> SALOME platform Git repositories - tools/eficas.git/blob - Exemples/ex20/ahlv100a.comm
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Exemples / ex20 / 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 MATRES=FACT_LDLT( reuse=MATRES,  MATR_ASSE=MATRES )
133
134
135
136 #-----------------------CALCUL HARMONIQUE-------------------------------
137
138
139 PRESHARM=DYNA_LINE_HARM( MATR_MASS=MATASM,  MATR_RIGI=MATASK,
140                              MATR_AMOR=MATASI,
141                                FREQ=F,
142                              EXCIT=_F( VECT_ASSE = VECTASS,  COEF_MULT = -1.,
143                                     PUIS_PULS = 1,  PHAS_DEG = 90.))
144
145 TEST_RESU(RESU=(
146              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
147               NOEUD = 'NO1',  NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
148              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
149               NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)),
150              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
151               NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)),
152              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES',  NUME_ORDRE = 1,
153               NOEUD = 'NO763',  NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)))
154              )
155
156 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
157                             TOUT_ORDRE='OUI',
158                              RESULTAT=PRESHARM,
159                                OPTION='INTE_ELNO_ACTI'
160            )
161
162 TEST_RESU(RESU=(
163            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
164             MAILLE = 'MA1',
165             NOEUD = 'NO1',  NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
166            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
167             MAILLE = 'MA1',
168             NOEUD = 'NO780', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
169            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
170             MAILLE = 'MA57',
171             NOEUD = 'NO751', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2),
172            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01,
173             MAILLE = 'MA57',
174             NOEUD = 'NO763', NOM_CMP = 'INTX',  VALE = 0.04370, PRECISION = 3.E-2))
175              )
176
177 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
178                             TOUT_ORDRE='OUI',
179                              RESULTAT=PRESHARM,
180                                OPTION='INTE_ELNO_REAC'
181            )
182
183 TEST_RESU(RESU=(
184              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
185               MAILLE = 'MA1',
186               NOEUD = 'NO1',   NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
187                                                  CRITERE = 'ABSOLU'),
188              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
189               MAILLE = 'MA1',
190               NOEUD = 'NO780', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
191                                                  CRITERE = 'ABSOLU'),
192              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
193               MAILLE = 'MA57',
194               NOEUD = 'NO751', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
195                                                  CRITERE = 'ABSOLU'),
196              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01,
197               MAILLE = 'MA57',
198               NOEUD = 'NO763', NOM_CMP = 'INTX',  VALE = 0.0, PRECISION = 3.5E-4,
199                                                  CRITERE = 'ABSOLU'))
200              )
201
202 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
203                             TOUT_ORDRE='OUI',
204                              RESULTAT=PRESHARM,
205                                OPTION='PRES_ELNO_DBEL'
206            )
207
208 TEST_RESU(RESU=(
209              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
210               MAILLE = 'MA1',
211               NOEUD = 'NO1',  NOM_CMP = 'DB',  VALE = 109.9),
212              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
213               MAILLE = 'MA1',
214               NOEUD = 'NO780', NOM_CMP = 'DB',  VALE = 109.9),
215              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
216               MAILLE = 'MA57',
217               NOEUD = 'NO751', NOM_CMP = 'DB',  VALE = 109.9),
218              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01,
219               MAILLE = 'MA57',
220               NOEUD = 'NO763', NOM_CMP = 'DB',  VALE = 109.9))
221              )
222
223 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
224                             TOUT_ORDRE='OUI',
225                              RESULTAT=PRESHARM,
226                                OPTION='PRES_ELNO_REEL'
227            )
228
229 TEST_RESU(RESU=(
230              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
231               MAILLE = 'MA1',
232               NOEUD = 'NO1',   NOM_CMP = 'PRES',  VALE = -6.2426),
233              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
234               MAILLE = 'MA1',
235               NOEUD = 'NO780', NOM_CMP = 'PRES',  VALE = -6.2426),
236              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
237               MAILLE = 'MA57',
238               NOEUD = 'NO751', NOM_CMP = 'PRES',  VALE = 6.02368),
239              _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01,
240               MAILLE = 'MA57',
241               NOEUD = 'NO763', NOM_CMP = 'PRES',  VALE = 6.02368))
242              )
243
244 PRESHARM=CALC_ELEM( reuse=PRESHARM,     MODELE=GUIDE,   CHAM_MATER=CHAMPMAT,
245                             TOUT_ORDRE='OUI',
246                              RESULTAT=PRESHARM,
247                                OPTION='PRES_ELNO_IMAG'
248            )
249
250 TEST_RESU(RESU=(
251            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
252             MAILLE = 'MA1',
253             NOEUD = 'NO1',  NOM_CMP = 'PRES',  VALE = 0.,
254                                      CRITERE = 'ABSOLU'),
255            _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
256             MAILLE = 'MA1',
257             NOEUD = 'NO780', NOM_CMP = 'PRES',  VALE = 0.,
258                                      CRITERE = 'ABSOLU'),
259           _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
260            MAILLE = 'MA57',
261            NOEUD = 'NO751', NOM_CMP = 'PRES',  VALE = 1.6387, PRECISION = 3.3E-3,
262                                      CRITERE = 'RELATIF'),
263           _F( RESULTAT = PRESHARM,  NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01,
264            MAILLE = 'MA57',
265            NOEUD = 'NO763',  NOM_CMP = 'PRES',  VALE = 1.6387, PRECISION = 3.3E-3))
266              )
267
268 FIN()
269 #
270 #