# MODIF DATE 11/12/2001 AUTEUR DURAND C.DURAND # TITRE GUIDE D'ONDE A SORTIE ANECHOIQUE (ONDES PLANES) E.F. CLASSIQUES # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG # SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND # REDISTRIBUTION OF THIS FILE. # ====================================================================== # MODELISATION 'ACOUSTIQUE' AVEC ELEMENTS HEXA20 ET FACE8 # GUIDE D'ONDE ACOUSTIQUE EN E.F. CLASSIQUES # DEBUT(CODE=_F( NOM = 'AHLV100A') ) F=500. MAIL=LIRE_MAILLAGE( ) AIR=DEFI_MATERIAU( FLUIDE=_F( RHO = 1.3, CELE_C = ('RI',343.,0.,))) CHAMPMAT=AFFE_MATERIAU( MAILLAGE=MAIL, AFFE=_F( TOUT = 'OUI', MATER = AIR) ) GUIDE=AFFE_MODELE( MAILLAGE=MAIL, VERIF='MAILLE', AFFE=_F( TOUT = 'OUI', MODELISATION = '3D', PHENOMENE = 'ACOUSTIQUE') ) CHARACOU=AFFE_CHAR_ACOU( MODELE=GUIDE, VITE_FACE=_F( GROUP_MA = 'ENTREE', VNOR = ('RI',0.014,0.,))) IMPEACOU=AFFE_CHAR_ACOU( MODELE=GUIDE, IMPE_FACE=_F( GROUP_MA = 'SORTIE', IMPE = ('RI',445.9,0.,))) MACRO_MATR_ASSE( MODELE=GUIDE, CHARGE=IMPEACOU, CHAM_MATER=CHAMPMAT, NUME_DDL=CO("NUM"),MATR_ASSE=( _F( MATRICE = CO("MATASK"), OPTION = 'RIGI_ACOU'), _F( MATRICE = CO("MATASM"), OPTION = 'MASS_ACOU'), _F( MATRICE = CO("MATASI"), OPTION = 'AMOR_ACOU')) ) # VECTELEM=CALC_VECT_ELEM( OPTION='CHAR_ACOU', CHAM_MATER=CHAMPMAT, CHARGE=CHARACOU ) # # IMPRESSION DU VECT_ELEM COMPLEXE VECTELEM SELON LE GRAIN MAILLE # IMPR_MATRICE( MATR_ELEM=_F( MATRICE = VECTELEM, FORMAT = 'RESULTAT', FICHIER = 'RESULTAT', GRAIN = 'MAILLE')) VECTASS=ASSE_VECTEUR( VECT_ELEM=VECTELEM, NUME_DDL=NUM ) # # ____________________CALCUL DES MODES_________________________________ # MATASKR=COMB_MATR_ASSE( COMB_R=_F( MATR_ASSE = MATASK, PARTIE = 'REEL', COEF_R = 1.)) MATASMR=COMB_MATR_ASSE( COMB_R=_F( MATR_ASSE = MATASM, PARTIE = 'REEL', COEF_R = 1.)) # MODES=MODE_ITER_SIMULT( MATR_A=MATASKR, MATR_B=MATASMR, CALC_FREQ=_F( OPTION = 'BANDE', FREQ = ( 1., 1000.,)) ) TEST_RESU(RESU=(_F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 1.E-4, NUME_ORDRE = 1, VALE = 171.5), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 1.E-4, NUME_ORDRE = 2, VALE = 343.), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 1.E-3, NUME_ORDRE = 3, VALE = 514.5), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 1.E-2, NUME_ORDRE = 4, VALE = 686.), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 1.E-3, NUME_ORDRE = 5, VALE = 857.5), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 5.E-3, NUME_ORDRE = 6, VALE = 857.5), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 5.E-3, NUME_ORDRE = 7, VALE = 874.482), _F( RESULTAT = MODES, PARA = 'FREQ', CRITERE = 'RELATIF', PRECISION = 5.E-3, NUME_ORDRE = 8, VALE = 923.556)) ) # ----------------------CALCUL DECOMPOSE------------------------------- # MATRES=COMB_MATR_ASSE( COMB_C=( _F( MATR_ASSE = MATASK, COEF_R = 1.), _F( MATR_ASSE = MATASM, COEF_R = -9869604.4), _F( MATR_ASSE = MATASI, COEF_C = ('RI',0.,3141.5926,))) ) # # IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN NOEUD # IMPR_MATRICE( MATR_ASSE=_F( MATRICE = MATRES, FORMAT = 'RESULTAT', FICHIER = 'RESULTAT', GRAIN = 'NOEUD', OPTION = 'LIGNE')) # # IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN VALEUR # IMPR_MATRICE( MATR_ASSE=_F( MATRICE = MATRES, FORMAT = 'RESULTAT', FICHIER = 'RESULTAT', GRAIN = 'VALEUR', OPTION = 'LIGNE')) VECRES=COMB_CHAM_NO( COMB_C=_F( CHAM_NO = VECTASS, COEF_C = ('RI',0.,-3141.5926,)) ) MATRES=FACT_LDLT( reuse=MATRES, MATR_ASSE=MATRES ) VECRES=RESO_LDLT( reuse=VECRES, MATR_FACT=MATRES, CHAM_NO=VECRES ) TEST_RESU(CHAM_NO=( _F( CHAM_GD = VECRES, NOEUD = 'NO1', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), _F( CHAM_GD = VECRES, NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), _F( CHAM_GD = VECRES, NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)), _F( CHAM_GD = VECRES, NOEUD = 'NO763', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,))) ) CHNODBEL=CALC_CHAM_ELEM( MODELE=GUIDE, CHAM_MATER=CHAMPMAT, PRES=VECRES, OPTION='PRES_ELNO_DBEL' ) TEST_RESU(CHAM_ELEM=( _F( CHAM_GD = CHNODBEL, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'DB', VALE = 109.9), _F( CHAM_GD = CHNODBEL, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'DB', VALE = 109.9), _F( CHAM_GD = CHNODBEL, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'DB', VALE = 109.9), _F( CHAM_GD = CHNODBEL, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'DB', VALE = 109.9)) ) # PREEL=CALC_CHAM_ELEM( MODELE=GUIDE, CHAM_MATER=CHAMPMAT, PRES=VECRES, OPTION='PRES_ELNO_REEL' ) TEST_RESU(CHAM_ELEM=( _F( CHAM_GD = PREEL, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = -6.2426), _F( CHAM_GD = PREEL, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = -6.2426), _F( CHAM_GD = PREEL, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 6.02368), _F( CHAM_GD = PREEL, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 6.02368)) ) PIMAG=CALC_CHAM_ELEM( MODELE=GUIDE, CHAM_MATER=CHAMPMAT, PRES=VECRES, OPTION='PRES_ELNO_IMAG' ) TEST_RESU(CHAM_ELEM=( _F( CHAM_GD = PIMAG, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = 0., CRITERE = 'ABSOLU'), _F( CHAM_GD = PIMAG, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = 0., CRITERE = 'ABSOLU'), _F( CHAM_GD = PIMAG, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3), _F( CHAM_GD = PIMAG, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3)) ) #-----------------------CALCUL HARMONIQUE------------------------------- PRESHARM=DYNA_LINE_HARM( MATR_MASS=MATASM, MATR_RIGI=MATASK, MATR_AMOR=MATASI, FREQ=F, EXCIT=_F( VECT_ASSE = VECTASS, COEF_MULT = -1., PUIS_PULS = 1, PHAS_DEG = 90.)) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, NOEUD = 'NO1', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, NOEUD = 'NO763', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,))) ) PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, TOUT_ORDRE='OUI', RESULTAT=PRESHARM, OPTION='INTE_ELNO_ACTI' ) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2)) ) PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, TOUT_ORDRE='OUI', RESULTAT=PRESHARM, OPTION='INTE_ELNO_REAC' ) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, CRITERE = 'ABSOLU'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, CRITERE = 'ABSOLU'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, CRITERE = 'ABSOLU'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, CRITERE = 'ABSOLU')) ) PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, TOUT_ORDRE='OUI', RESULTAT=PRESHARM, OPTION='PRES_ELNO_DBEL' ) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'DB', VALE = 109.9), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'DB', VALE = 109.9), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'DB', VALE = 109.9), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'DB', VALE = 109.9)) ) PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, TOUT_ORDRE='OUI', RESULTAT=PRESHARM, OPTION='PRES_ELNO_REEL' ) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = -6.2426), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = -6.2426), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 6.02368), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 6.02368)) ) PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, TOUT_ORDRE='OUI', RESULTAT=PRESHARM, OPTION='PRES_ELNO_IMAG' ) TEST_RESU(RESU=( _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = 0., CRITERE = 'ABSOLU'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, MAILLE = 'MA1', NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = 0., CRITERE = 'ABSOLU'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3, CRITERE = 'RELATIF'), _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, MAILLE = 'MA57', NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3)) ) FIN() # #