* fichier : elas21.dgibi **======================================================================* ** ** test de la rigidite BAEX avec 2 directions d'excentrement ** ** BL le 25.07.2017 (correction erreurs dans MAPAEX) ** ** RAPPEL: une barre excentree est pilotee en allongement par ** les deplacements et rotations des 2 noeuds du seg 2 du mail., ** donc bien penser a maitriser ces rotations dans le modele. ** Le SEG2 a 6ddl mais la fibre travaillante (barre) n'en a que 1 ** La fibre travaillante est ROTULEE aux deux leviers d'excentr. ** ** ** MAILLAGE SEG2 ** (6ddl) A=========================B (6ddl) ** | |levier pilote par noeud B ** | barre excentree (1ddl) | ** rotule *-------------------------*rotule ** opti dime 3 elem seg2; OPTI ECHO 0; **======================================================================* MESS '======= TEST DES ELEMENTS BARRE EXCENTREES BAEX ==============='; **======================================================================* * CAS 1 : traction BAEX vers le haut, noeud haut PAS bloqué en rotation * parametrage geometrique, excentrements locaux % maillage LONG_B = 1.0 ; SECT_B = 0.03 * 0.03 ; EXCY_B = 0.010 ; EXCZ_B = 0.045 ; * vecteur local dir_Y section (ne pas changer ou changer post) LOC_X = 1.0 ; LOC_Y = 0. ; LOC_Z = 0. ; * deplacement impose faible suivant l'axe du maillage (uz) DEPL_Z = 0.003; * maillage barre (ne pas changer) PT_A = 0. 0. 0.; PT_B = 0. 0. LONG_B ; MAIL_B = PT_A D 1 PT_B; * modele et materiau MOD_B = MODE MAIL_B MECANIQUE ELASTIQUE ISOTROPE BAEX; MAT_B = MATE MOD_B 'YOUN' 2.E11 'NU' 0.3 'SECT' SECT_B 'VX' LOC_X 'VY' LOC_Y 'VZ' LOC_Z 'EXCY' EXCY_B 'EXCZ' EXCZ_B ; SAUT 1 LIGN; **======================================================================* MESS '========== CAS1 avec blocage des rotations du SEG2 ==========='; MESS ' ==> controle des forces et moments aux noeuds'; **======================================================================* * encastrement de la base (les BAEX ont des ddl de rotation!) BLOQ_BAS = BLOQ DEPL ROTA PT_A ; * blocage barre en x et y et Rotations en haut (guidage axial) BLOQ_LAT = BLOQ 'UX' 'UY' PT_B; BLOQ_ROT = BLOQ ROTA PT_B; * chargement en depl vertical sur le haut de la barre BLOQ_Z_H = BLOQ 'UZ' PT_B; DEPI_Z_H = DEPI BLOQ_Z_H DEPL_Z; RIG_TOT = (RIGI MOD_B MAT_B) et BLOQ_BAS et BLOQ_Z_H et BLOQ_LAT et BLOQ_ROT; * resolution BAEX et nouveau blocage des rotation en haut U_SOL = RESO RIG_TOT DEPI_Z_H; * post force et moments de réaction en BAS dans repere general F_SOL = REAC BLOQ_BAS U_SOL; FZ_BAS = EXTR F_SOL 'FZ' PT_A; MX_BAS = EXTR F_SOL 'MX' PT_A; MY_BAS = EXTR F_SOL 'MY' PT_A; * post effort axial dans la barre DEFO_BAR = EPSI MOD_B U_SOL MAT_B; CONT_BAR = ELAS MOD_B DEFO_BAR MAT_B; EFF_AXI = EXTR CONT_BAR EFFX 1 1 1; * messages : saut 1 lign; F_THEO = DEPL_Z * (2.E11 * SECT_B / LONG_B); MX_THEO = F_THEO * EXCZ_B * -1 ; MY_THEO = F_THEO * EXCY_B ; MESS ' '; MESS ' CONTROLE EFFORT BARRE : '; MESS ' EFFX = ' EFF_AXI ' pour une valeur attendue de ' F_THEO; MESS ' ' ; MESS ' CONTROLE DES MOMENTS A L ENCASTREMENT, EN BAS: '; MESS ' MX = ' MX_BAS ' pour une valeur attendue de ' MX_THEO; MESS ' MY = ' MY_BAS ' pour une valeur attendue de ' MY_THEO; * SI (ABS ((EFF_AXI - F_THEO) / F_THEO) > 1.E-5); erre 5; FINS; SI (ABS ((MX_BAS - MX_THEO) / MX_THEO) > 1.E-5); erre 5; FINS; SI (ABS ((MY_BAS - MY_THEO) / MY_THEO) > 1.E-5); erre 5; FINS; SAUT 2 LIGN; **======================================================================* MESS '======== CAS2 : rotations imposées sur PT_B (UZ(B) = 0)========'; MESS ' ==> controle des forces et moments aux noeuds'; **======================================================================* * encastrement de la base (les BAEX ont des ddl de rotation!) BLOQ_BAS = BLOQ DEPL ROTA PT_A ; * blocage barre en x et y et uz et Rz en haut (guidage axial) BLOQ_HAU = BLOQ 'UX' 'UY' 'UZ' 'RZ' PT_B; * blocages pour rotations imposees: BLOQ_RXH = BLOQ 'RX' PT_B; BLOQ_RYH = BLOQ 'RY' PT_B; * chargement en rotations (radian) sur le haut de la barre ROTA_X = 0.057; ROTA_Y = 0.030; DEPI_RXH = DEPI BLOQ_RXH ROTA_X; DEPI_RYH = DEPI BLOQ_RYH ROTA_Y; * resolution BAEX avec 2 rotations imposées en haut RIG_B = RIGI MOD_B MAT_B; RIG_TOT = RIG_B et BLOQ_BAS et BLOQ_HAU et BLOQ_RXH et BLOQ_RYH; U_SOL = RESO RIG_TOT (DEPI_RXH et DEPI_RYH); * post force et moments de réaction en BAS dans repere general F_SOL = REAC BLOQ_BAS U_SOL; FZ_BAS = EXTR F_SOL 'FZ' PT_A; MX_BAS = EXTR F_SOL 'MX' PT_A; MY_BAS = EXTR F_SOL 'MY' PT_A; * post effort axial dans la barre DEFO_BAR = EPSI MOD_B U_SOL MAT_B; CONT_BAR = ELAS MOD_B DEFO_BAR MAT_B; EFF_AXI = EXTR CONT_BAR EFFX 1 1 1; * messages : saut 2 lign; F_THEO = ((ROTA_X*EXCZ_B) - (ROTA_Y*EXCY_B)) * (2.E11 * SECT_B / LONG_B); MX_THEO = F_THEO * EXCZ_B * -1 ; MY_THEO = F_THEO * EXCY_B ; MESS ' '; MESS ' CONTROLE EFFORT BARRE : '; MESS ' EFFX = ' EFF_AXI ' pour une valeur attendue de ' F_THEO; MESS ' ' ; MESS ' CONTROLE DES MOMENTS A L ENCASTREMENT, EN BAS: '; MESS ' MX = ' MX_BAS ' pour une valeur attendue de ' MX_THEO; MESS ' MY = ' MY_BAS ' pour une valeur attendue de ' MY_THEO; * SI (ABS ((EFF_AXI - F_THEO) / F_THEO) > 1.E-5); erre 5; FINS; SI (ABS ((MX_BAS - MX_THEO) / MX_THEO) > 1.E-5); erre 5; FINS; SI (ABS ((MY_BAS - MY_THEO) / MY_THEO) > 1.E-5); erre 5; FINS; fin;