$$$$ FRONABS * FRONABS PROCEDUR WANG 96/09/17 21:16:10 2279 'DEBPROC' FRONABS TAB_VAL*'TABLE ' TYP_FRON/'MOT ' NHARM/'ENTIER '; ************************************************************************ * * F R O N A B S * ------------- * * FONCTION: * --------- * * Calcule la matrice d'amortissement d'une frontière absorbante. * * PHRASE D'APPEL (EN GIBIANE): * ---------------------------- * * RIG1 = FRONABS TAB1 ( TYP_FRON ) NHARM ; * * OPERANDES: * ---------- * * TAB1 'TABLE ' indice 'FRONTIERE' : frontière. * indice 'MASSE_VOLUMIQUE' : masse volumique. * indice 'POISSON' : coef de poisson. * indice 'YOUNG' : module d'young. * TTYP_FRON 'MOT ' type de la frontière utilisée * type WHITE * type LYSMER (par défaut) * NHARM 'ENTIER' numéro du mode FOURIER ( en MODE FOUR ) * * RESULTATS: * ---------- * * RIG1 'RIGIDITE' matrice d'amortissement. * * * * REMARQUE: * --------- * On ne traite pas les modèles tridimensionnels ni les frontières * obliques. * * * * AUTEUR, DATE DE CREATION: * ------------------------- * * L. V. 13 février 1989 * * MODIFICATION: * ------------- * * F. WANG 12 mai 1992 * * - Modification de la matrice d'amortissement de la frontière * horizontale de l'option axisymetrique 'AXIS' ; * * - Creation de frontière absorbante pour le mode de calcul * déformation plane 'PLANDEFO' . * * ************************************************************************ * SI = 'MOT' 'SI' ; SINON = 'MOT' 'SINON' ; FINSI = 'MOT' 'FINSI' ; REPETER = 'MOT' 'REPETER'; FIN = 'MOT' 'FIN'; EXISTE = 'MOT' 'EXISTE' ; * MAIL = TAB_VAL.'FRONTIERE' ; YO = TAB_VAL.'YOUNG' ; RHO = TAB_VAL.'MASSE_VOLUMIQUE' ; NU = TAB_VAL.'POISSON' ; DEUXPI = 2.0 * PI ; L_NU = 'PROG' 0. 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 ; L_COEFA = 'PROG' 0.959 0.967 0.975 0.982 0.986 0.986 0.986 0.992 1.007 1.011 ; L_COEFB = 'PROG' 0.769 0.761 0.756 0.751 0.747 0.744 0.742 0.740 0.746 0.773 ; * G = YO / ( 2.0 * ( 1.0 + NU ) ) ; CS = ( G / RHO ) ** 0.5 ; CP = ( ( 2.0 * (1.0 - NU) ) / ( 1.0 - ( 2.0 * NU ) ) ) ** 0.5 ; CP = CP * CS ; * TYP_MODE = 'MOT' ('VALEUR' 'MODE') ; SI ('EGA' TYP_MODE 'FOUR') ; LIST_MOT = 'MOTS' 'UR' 'UZ' 'UT' ; ITYP = 1 ; SINON ; SI ('EGA' TYP_MODE 'AXIS') ; LIST_MOT = 'MOTS' 'UR' 'UZ' ; ITYP = 2 ; SINON ; SI ('EGA' TYP_MODE 'PLANDEFO') ; LIST_MOT = 'MOTS' 'UX' 'UY' ; ITYP = 3 ; SINON ; MESSAGE ' ***** ERREUR *****' ; MESSAGE ' On ne traite pas les modèles tridimensionnels.' MESSAGE ' Arrêt de la procédure.' ; QUITTER BOUCERR ; FINSI ; FINSI ; FINSI ; SI (EXISTE TYP_FRON) ; SI ('EGA' TYP_FRON 'WHITE') ; MESSAGE ' Type de frontière : WHITE' ; SI (NU '