Solução do Problema de Deflexão de Vigas com o Método das Diferenças Finitas

Autores/as

  • Gabrielle Piezzoti Oliveira
  • Viviane Colucci
  • Adilandri Mercio Lobeiro
  • Clicia Geovana Alves Pereira

DOI:

https://doi.org/10.5540/03.2014.002.01.0074

Palabras clave:

Equação Diferencial Ordinária, Solução Numérica, Diferenças Finitas, Deflexão de Vigas

Resumen

Este trabalho trata da obtenção das soluções analítica e numérica de um Problema de Valor de Contorno (PVC) para o problema de Deflexão de Vigas. Em particular, considera-se uma viga bi-apoiada de seção transversal retangular, de modo que as extremidades não sofrem deflexão, com uma carga uniformemente distribúıda sobre ela, como apresentada na Figura 1. Figura 1: Viga com extremidades apoiadas, sujeita a carga uniforme A Equação Diferencial Ordinária Linear que aproxima o caso à situação física é dada por: d2w dx2 S EI w qx 2EI (x l), onde w(x) é a deflexão a uma distância x a partir da extremidade esquerda da viga, l representa o comprimento da viga, q a intensidade de carga uniforme a que está submetida, E o módulo da elasticidade, S o esforço nas extremidades e I representa o momento de inércia central. Como não há deflexão nas extremidades da viga, vale as condições: w(0)  0 e w(l)  0. Para um estudo de caso, considera-se uma viga de aço com as seguintes características: l  120pol, q  100lb/pé 100 12 lb/pol, E  3, 0 107lb/pol2 , S  1000lb e I  625pol4 . bolsista de Iniciação Científica PICME, CNPq/Capes Obtém-se então o Problema de Valor de Contorno (PVC) d2w dx2  1.0 · 10 4 1875 w 1.0 · 109 4.5 (x2  120x) w(0)  0 e w(120)  0 , cuja solução analítica é dada por w(x)  c1e mx  c2e mx  c3x2  c4x  c5 , onde c1 ( 532 · 106)(1 e2· 3/125) e2· 3/125  e2· 3/125 , c2 ( 532 · 106)(e2· 3/125  1) e2· 3/125  e2· 3/125 , m 3 7500 , c3 1 240 , c4 1 2 e c5   5 32 · 106. Para obter a solução numérica do PVC, foi aplicado o método das Diferenças Finitas, substituindo-se as derivadas da equação pelas fórmulas de diferenças centrais [1] wi1 ( 2  h2 ( 1.0 · 104 1875 )) wi  wi1  h2 ( 1.0 · 109 4.5 ) (x2  120x) w0  0 e wN1  0 , obtendo um sistema linear de equações, para i variando de 1 até N . Dividiu-se o intervalo [0, 120] (comprimento da viga) em 1200 subintervalos iguais, cujas extremidades são os pontos da malha xi  ih, para i  0, ..., 1201, sendo h  0, 1 (passo), para os quais busca-se a aproximação wi. Quanto mais discretizado o intervalo, mais precisas são as aproximações. No entanto, tendo em vista o custo computacional e que a discretização aplicada foi suficiente para se obter um resultado satisfatório, não foi necessário um passo menor. A forma matricial do sistema gerado trabalha com uma matriz de coeficientes tridiagonal 1199 1199. O código em MATLAB a seguir implementa o método e resolve o sistema. Código 1: Solução Numérica de um PVC com o Método de Diferenças Finitas syms x %w’’  p(x)w’  q(x)w  r(x), [a,b] dados  inputdlg ({’P: ’, ’Q: ’, ’R: ’, ’n: ’},’Dados ’); limites  inputdlg ({’a: ’, ’f(a): ’, ’b: ’, ’f(b): ’},’PVC’); passo  (str2num(limites {3}) - str2num(limites {1}))/str2num(dados {4}); xVector  str2num(limites {1}) : passo : str2num(limites {3}); %Sistema matricial: Aw  d. Obtendo a matriz tridiagonal A: a(1)  2  (passo 2)*subs(dados {2},x,xVector (2)); %diagonal principal b(1)  -1  (passo /2)*subs(dados {1},x,xVector (2)); %diagonal superior d(1)  -(passo 2)*subs(dados {3},x,xVector (2))  ((1  (passo /2)*subs( dados {1},x,xVector (2)))*str2num(limites {2})); for i  2: length(xVector)-3 a(i)  2  (passo 2)*subs(dados {2},x,xVector(i1)); b(i)  -1  (passo /2)*subs(dados {1},x,xVector(i1)); c(i)  -1 - (passo /2)*subs(dados {1},x,xVector(i1)); %inferior d(i)  -(passo 2)*subs(dados {3},x,xVector(i1)); end a(i1)  2  (passo 2)*subs(dados {2},x,xVector(i2)); c(i1)  -1 - (passo /2)*subs(dados {1},x,xVector(i2)); d(i1)  -(passo 2)*subs(dados {3},x,xVector(i2))  ((1 - (passo /2)*subs (dados{1},x,xVector(i2)))*str2num(limites {4})); %Fatoraçao LU l(1)  a(1); u(1)  b(1)/a(1); z(1)  d(1)/l(1); for i  2: length(xVector)-3 l(i)  a(i) - (c(i)*u(i-1)); u(i)  b(i)/l(i); z(i)  (d(i) - (c(i)*z(i-1)))/l(i); end l(i1)  a(i1) - (c(i1)*u(i)); z(i1)  (d(i1) - (c(i1)*z(i)))/l(i1); %Resolvendo o sistema w(1)  str2num(limites {2}); w(length(xVector))  str2num(limites {4}); w(length(xVector) -1)  z(length(xVector) -2); for i  length(xVector) -2: -1 : 2 w(i)  z(i-1) - (u(i-1)*w(i1)); end A Figura 2 apresenta os gráficos de ambas as soluções. Figura 2: Soluções Gráficas Com as soluções gráficas fica visível a proximidade entre os resultados. A Tabela a seguir exemplifica alguns dos valores encontrados, também para facilitar a comparação entre as soluções. xi w(xi) wi Erro absoluto Erro percentual 0 0 0 0 0 20 0.0006073605 0.0006073609 0.0000000004 0.0000658587 40 0.0010428818 0.0010428824 0.0000000006 0.0000575329 60 0.0011999063 0.0011999070 0.0000000007 0.0000583379 80 0.0010428818 0.0010428824 0.0000000006 0.0000575329 100 0.0006073605 0.0006073609 0.0000000004 0.0000658587 120 0 0 0 0 Tabela 1: Resultados e Erros Pode-se concluir, pela ordem de magnitude dos erros, que ficou entre 0.00005% e 0.00007%, a eficácia do método numérico.

Descargas

Los datos de descargas todavía no están disponibles.

Publicado

2014-12-18

Número

Sección

Métodos Numéricos e Aplicações