Preview only show first 10 pages with watermark. For full document please download

Mec Comp - A13-2420

Apostilas de Mecânica Computacional do prof. Emilio Carlos Nelli Silva

   EMBED


Share

Transcript

PMR 2420 – Mecânica Computacional MEF Aplicado à Dinâmica Problemas de dinâmica estrutural são representados por equações do tipo: [M ]{U}+ [C]{U}+ [K ]{U} = {F} com as condições iniciais: V0 = dU ; U = U0 . dt A matriz C é denominada matriz de amortecimento e as demais matrizes já foram definidas anteriormente. Todo sistema mecânico linear tem seu comportamento dinâmico representado pela equação acima. Análise Modal A análise modal permite calcular as freqüências de ressonância e modos de vibrar da estrutura. Para isso, a estrutura é considerada em vibração livre sem levar em conta a matriz de amortecimento, obtendo-se a equação: [M ]{U}+ [K ]{U} = 0 Substituindo {U (t )} = {Y}eiωt e i = − 1 obtém-se: [− ω [M ] + [K ]]{Y} = 0 [M ](iω )2 {Y}eiωt + [K ]{Y}eiωt = 0 2 onde ω é denominado freqüência de ressonância e {Y} o modo de vibrar correspondente. Quando o amortecimento é considerado utiliza-se a hipótese de Rayleigh: [C] = αω [M ] + β [K ] ω e a equação modal fica: [M ]{U} + [C]{U} + [K ]{U} = 0 Substituindo {U (t )} = {Y}eiωt e i = − 1 obtém-se: [[K ] + iβ [K ]]{Y} = ω 2 [[M] − iα [M ]]{Y} A equação modal pode ser resolvida usando o comando apropriado no SCILAB ou MATLAB. A seguir é apresentado um programa em MATLAB que calcula as freqüências de ressonância e os modos de vibrar da viga mostrada na figura abaixo. O comando do MATLAB que realiza a análise modal é o comando “eig”. 1 PMR 2420 – Mecânica Computacional %Construção do modelo de elementos finitos Nx = input('número de nós = '); leng = input('comprimento da barra = '); EI = 1; A = 1; Row = 1; Row = Row * A; Nelx = Nx - 1; X= [ ]; for i = 1:Nx X(i) = leng * (i - 1) / Nelx; end %construindo a matriz de massa e rigidez SK = zeros (2 * Nx); SM = zeros (2 * Nx); Ske = zeros (4); Sme = zeros (4); for Nel = 1:Nelx L = X(Nel + 1) - X(Nel); i1 = Nel; i2 = Nel + 1; Ske(1,1) = 12*EI/L^3; Sme(1,1) = 13*L*Row/35; Ske(1,2) = 6 * EI / L ^ 2; Sme(1,2) = 11 * L ^2 * Row / 210; Ske(1,3) = -12 * EI / L ^ 3; Sme(1,3) = 9 * L * Row / 70; Ske(1,4) = 6 * EI / L ^ 2; Sme(1,4) = -13 * L ^2 * Row / 420; Ske(2,1) = 6 * EI / L ^ 2; Sme(2,1) = 11 * L ^2 * Row / 210; Ske(2,2) = 4 * EI / L; Sme(2,2) = L ^3 * Row / 105; Ske(2,3) = -6 * EI / L ^ 2; Sme(2,3) = 13 * L ^2 * Row / 420; Ske(2,4) = 2 * EI / L; Sme(2,4) = - (L^3*Row)/140; Ske(3,1) = -12 * EI / L ^ 3; Sme(3,1) = 9 * L * Row / 70; Ske(3,2) = -6 * EI / L ^ 2; Sme(3,2) = 13 * L ^2 * Row / 420; Ske(3,3) = 12 * EI / L ^ 3; Sme(3,3) = 13 * L * Row / 35; Ske(3,4) = -6 * EI / L ^ 2; Sme(3,4) = -11 * L ^2 * Row / 210; Ske(4,1) = 6 * EI / L ^ 2; Sme(4,1) = -13 * L ^2 * Row / 420; Ske(4,2) = 2 * EI / L; Sme(4,2) = - L ^3 * Row / 140; Ske(4,3) = -6 * EI / L ^ 2; Sme(4,3) = -11 * L ^2 * Row / 210; Ske(4,4) = 4 * EI / L; 2 PMR 2420 – Mecânica Computacional Sme(4,4) = L ^3 * Row / 105; SK(2*i1-1:2*i2,2*i1-1:2*i2)=SK(2*i1-1:2*i2,2*i1-1:2*i2)+Ske; SM(2*i1-1:2*i2,2*i1-1:2*i2)=SM(2*i1-1:2*i2,2*i1-1:2*i2)+Sme; end %condições de contorno (suporte simples) SK(:,1)=zeros(2*Nx,1); SK(1,:)=zeros(1,2*Nx); SK (1,1)=1; SK(:,2*Nx-1)=zeros(2*Nx,1); SK(2*Nx-1,:)=zeros(1,2*Nx); SK(2*Nx-1,2*Nx-1)=1; SM(:,1)=zeros(2*Nx,1); SM(1,:)=zeros(1,2*Nx); SM(1,1)=1; SM(:,2*Nx-1)=zeros(2*Nx,1); SM(2*Nx-1,:)=zeros(1,2*Nx); SM(2*Nx-1,2*Nx-1)=1; % Problema de autovalor. Os autovetores são normalizados de forma que a norma seja 1 [D,R]=eig(SK,SM) %reescalando os autovetores tal que X'*SM*X=I for i = 1:2*Nx valuei=D(:,i)'*SM*D(:,i); D(:,i)=D(:,i)/sqrt(valuei); end %plota os modos de vibração for i = 1:2*Nx i xf = [ ]; Df = [ ]; ipx = 20; for Nel = 1:Nelx de(1) = D(2*Nel-1,i); de(2) = D(2*Nel,i); de(3) = D(2*Nel+1,i); de(4) = D(2*Nel+2,i); for ip = 1:ipx+1 L = X(Nel+1)-X(Nel); S= L*(ip-1)/ipx; N(1)=1-3*S^2/L^2+2*S^3/L^3; N(2)=S-2*S^2/L+S^3/L^2; N(3)=3*S^2/L^2-2*S^3/L^3; N(4)=-S^2/L+S^3/L^2; Df(ipx*(Nel-1)+ip)=de*N'; xf(ipx*(Nel-1)+ip)=X(Nel)+S; end end plot(xf,Df) title('autovetor') xlabel('D') ylabel('deflexao') pause end %********************************************************************** 3 PMR 2420 – Mecânica Computacional Em softwares comerciais (como o ADINA ou ANSYS) é considerado também o efeito de inércia da rotação da seção da viga. Esse efeito é representado pelo acréscimo de termos na matriz de massa da viga que são função do “raio de giração” da seção. A dedução da inclusão desse efeito está além do escopo desse curso, no entanto para o aluno poder comparar suas simulações utilizando a rotina acima com as simulações realizadas no ADINA ou ANSYS, a matriz de massa do elemento de viga na rotina acima deve ser alterada para: 13 6 rg 2 + 35 5 L2 11 rg 2 L+ [M e ] = ρAL 210 102L 9 6 rg − 70 5 L2 13 rg 2 − L+ 420 10 L onde: rg = 11 rg 2 L+ 210 10L 1 2 2 2 L + rg 105 15 13 rg 2 L− 420 10 L 1 2 1 2 − L − rg 140 30 9 6 rg 2 − 70 5 L2 13 rg 2 L− 420 10L 13 6 rg 2 + 35 5 L2 11 rg 2 − L− 210 10 L 13 rg 2 − L+ 420 10 L 1 2 1 2 − L − rg 30 140 11 rg 2 − L− 210 10 L 1 2 2 2 L + rg 105 15 I é o raio de giração da seção, I é o momento de inércia da viga e A a área. A 4 PMR 2420 – Mecânica Computacional Análise Transiente A análise transiente consiste em encontrar a resposta da estrutura quando sujeita a um carregamento que varia no tempo de forma não-periódica ,como por exemplo, uma pancada na estrutura. Existem várias métodos para resolver esse problema, um dos mais usados são baseados no método de diferenças finitas sendo chamados de métodos de integração direta. Entre os métodos de integração direta o mais popular é o método de Newmark β . Método Newmark β Esse método é baseado na aproximação do deslocamento, velocidade e aceleração: [M ]{an +1} + [C]{v n +1} + [K ]{dn +1} = {fn +1} {dn +1} = {dn } + ∆t{v n } + ∆t {(1 − 2 β ){a n } + 2β {an +1}} 2 2 {v n +1} = {v n } + ∆t{(1 − γ ){an } + γ {an +1}} Assim a aceleração no passo n+1 pode ser calculada como: [M ]{an +1} + + [C]({v n } + ∆t{(1 − γ ){a n } + γ {a n +1}}) + + [K ] {d n } + ∆t{v n } + [Mˆ ]{a n +1 } = {fˆn +1} ∆t 2 {(1 − 2 β ){a n } + 2β {an +1}} = {fn +1} 2 onde: [Mˆ ] = [M] + ∆tγ [C] + ∆t β [K ] 2 {fˆ }= {f n +1 ∆t (1 − 2 β ){a n } n +1 } − [C]({v n } + ∆t (1 − γ ){a n }) − [K ] {d n } + ∆t{v n } + 2 2 Assim, calculando-se {an+1} obtém-se a velocidade {vn+1} e o deslocamento {dn+1}. Em n=0 utilizam-se as condições iniciais de velocidade e deslocamento {v 0 } = {v 0 }; {d 0 } = {d0 }, e assumindo que a equação dinâmica também seja satisfeita no início, obtém-se: [M ]{a0} + [C]{v0 } + [K ]{d0 } = {f0} {a0 } = [M ]−1 ({f0 } − [C]{v 0} − [K ]{d0}) Os valores típicos de β e γ são: 5 PMR 2420 – Mecânica Computacional • • • • 1 1 Método da aceleração média constante: β = ; γ = 4 2 1 1 Método da aceleração linear: β = ; γ = 6 2 1 1 Método Fox-Goodwin: β = ; γ = 12 2 1 Método de Diferença Central: β = 0; γ = 2 {a} = 1 [{an } + {a n +1}] 2 Uma modificação do método Newmark β é o método α Método α Ao invés de usarmos: [M ]{an +1} + [C]{v n +1} + [K ]{d n +1} = {fn +1} utiliza-se: [M ]{an +1} + (1 + α )[C]{v n +1} − α [C]{v n } + (1 + α )[K ]{d n +1} − α [K ]{dn } = (1 + α ){fn +1} − α {fn } 1 1 1 2 onde: α ∈ − ,0 ; β = (1 − α ) ; γ = (1 − 2α ) 3 4 2 A seguir é apresentado um programa em MATLAB que realiza a análise transiente para a viga mostrada na figura abaixo usando o método Newmark β. Viga tem comprimento 1. 0,7 %Construção do modelo de elementos finitos Nx = input('número de nós leng = input('comprimento EI = 1; A = 1; Row = 1; Row = Row * A; Nelx = Nx - 1; X= [ ]; for i = 1:Nx X(i) = leng * (i end %parâmetros para o método = '); da barra = '); 1) / Nelx; de beta Newmark 6 PMR 2420 – Mecânica Computacional tinterval = input ('tempo final = '); nstep = input ('numero de passos de integração = '); beta = 0.25; ganma = 0.5; dt = tinterval / nstep; %construindo a matriz de massa e rigidez SK = zeros (2 * Nx); SM = zeros (2 * Nx); d = zeros (2 * Nx,1); v = zeros (2 * Nx,1); a = zeros (2 * Nx,1); Ske = zeros (4); Sme = zeros (4); for Nel = 1:Nelx L = X(Nel + 1) - X(Nel); i1 = Nel; i2 = Nel + 1; Ske(1,1) = 12 * EI / L ^ 3; Sme(1,1) = 13 * L * Row / 35; Ske(1,2) = 6 * EI / L ^ 2; Sme(1,2) = 11 * L ^2 * Row / 210; Ske(1,3) = -12 * EI / L ^ 3; Sme(1,3) = 9 * L * Row / 70; Ske(1,4) = 6 * EI / L ^ 2; Sme(1,4) = -13 * L ^2 * Row / 420; Ske(2,1) = 6 * EI / L ^ 2; Sme(2,1) = 11 * L ^2 * Row / 210; Ske(2,2) = 4 * EI / L; Sme(2,2) = L ^3 * Row / 105; Ske(2,3) = -6 * EI / L ^ 2; Sme(2,3) = 13 * L ^2 * Row / 420; Ske(2,4) = 2 * EI / L; Sme(2,4) = - L ^3 * Row / 140; Ske(3,1) = -12 * EI / L ^ 3; Sme(3,1) = 9 * L * Row / 70; Ske(3,2) = -6 * EI / L ^ 2; Sme(3,2) = 13 * L ^2 * Row / 420; Ske(3,3) = 12 * EI / L ^ 3; Sme(3,3) = 13 * L * Row / 35; Ske(3,4) = -6 * EI / L ^ 2; Sme(3,4) = -11 * L ^2 * Row / 210; Ske(4,1) = 6 * EI / L ^ 2; Sme(4,1) = -13 * L ^2 * Row / 420; Ske(4,2) = 2 * EI / L; Sme(4,2) = - L ^3 * Row / 140; Ske(4,3) = -6 * EI / L ^ 2; Sme(4,3) = -11 * L ^2 * Row / 210; Ske(4,4) = 4 * EI / L; Sme(4,4) = L ^3 * Row / 105; SK(2 * i1 - 1:2 * i2, 2 * i1 -1: 2 * i2) = SK(2 * i1 - 1:2 * i2, 2 * i1 -1: 2 * i2) + Ske; SM(2 * i1 - 1:2 * i2, 2 * i1 -1: 2 * i2) = SM(2 * i1 - 1:2 * i2, 2 * i1 1: 2 * i2) +Sme + (dt ^2) * beta * Ske; end %condições de contorno (suporte simples) SK( :,1) = zeros (2 * Nx,1); SK( 1,: ) = zeros (1,2 * Nx); SK (1,1) = 1; SK( :,2 * Nx - 1) = zeros (2 * Nx,1); 7 PMR 2420 – Mecânica Computacional SK( 2 * Nx - 1,: ) = zeros (1,2 * Nx); SK (2 * Nx - 1, 2 * Nx - 1) = 1; SM( :,1) = zeros (2 * Nx,1); SM( 1,: ) = zeros (1,2 * Nx); SM (1,1) = 1; SM( :,2 * Nx - 1) = zeros (2 * Nx,1); SM( 2 * Nx - 1,: ) = zeros (1,2 * Nx); SM (2 * Nx - 1, 2 * Nx - 1) = 1; SMI = inv(SM); resp= [ ]; for it = 1:nstep Time = (it - 1) *dt; F = zeros ( 2 * Nx,1); F(13) = sin(5 * Time); Fn = F-SK*(d+dt*v+0.5*(dt^2)*(1-2*beta)*a); an=SMI*Fn; d = d + dt * v + 0.5*(dt ^2) * ((1 - 2 * beta) * a + 2 * beta * an); v = v + dt * ((1 - ganma) * a + ganma * an); a = an; resp(it,1) = d(13); resp(it,2) = v(13); resp(it,3) = a(13); xf = [ ]; Df = [ ]; ipx = 20; for Nel = 1:Nelx de(1) = d(2*Nel - 1); de(2) = d(2*Nel); de(3) = d(2*Nel + 1) de(4) = d(2*Nel + 2); for ip = 1:ipx + 1 L = X(Nel + 1) - X(Nel); S= L * (ip - 1) / ipx; N(1) = 1 - 3 * S ^2 / L ^ 2 +2 * S ^3 / L ^ 3; N(2) = S - 2 * S ^2 / L + S ^3 / L ^ 2; N(3) = 3 * S ^2 / L ^ 2 - 2 * S ^3 / L ^ 3; N(4) = - S ^2 / L + S ^3 / L ^ 2; Df(ipx * (Nel - 1) + ip) = de * N'; xf(ipx * (Nel - 1) + ip) = X(Nel) + S; end end plot(xf,Df) title('deflexao') xlabel('X') ylabel('d') end plot(resp); %********************************************************************** Para testar o programa utilize um número de nós igual à 10, tempo final igual à 2s e número de passos de integração igual à 100. Da mesma forma como na análise modal, para o aluno obter resultados com a rotina acima que possam ser comparáveis aos resultados obtidos utilizando-se um software comercial (ADINA ou ANSYS, por exemplo), a matriz de massa do elemento deve ser acrescida dos termos de inércia como descrito no ítem anterior. 8