Para uma viga engastada submetida a uma carga, apresenta seção variável ao longo do comprimento, quando x=0 no engaste a seção transversal da viga tem base b=0.30 m e altura de h=0.60 m, já no outro lado da viga (livre) em x=L a seção transversal tem base b=0.30 m e altura de h=0.20 m, modele a deflexão da viga com módulo de elasticidade de 70 MPa , considere o comprimento da barra de L=10 m. A viga está sujeita a uma distribuição de carga cujo módulo varia com x :
omega(x)=omega0 sin (pi xLx)
Sendo omega0=4.6 kN / m.
A solução geral para a viga engastada é
v(x)=C1+C2 x+C32 x^2+C46 x^3+omega0 L^4E I pi^4 sin (pi xL)
Deflexão temos:
v(x)=-0.003142 x+0.001548 x^2-0.0000517 x^3+0.009993 sin (0.3141593 cdot x)(m)
Momento fletor temos:
M(x)=-1.465 cdot 10^5+1.464 cdot 10^4 x+4.660 cdot 10^4 sin (0.3141593 cdot x)(N cdot m)
Temos a forma dinâmica
[E I(x) v^prime prime(x)]^prime prime=omega0 sin (pi xL)
Pelo método das diferenças finitas, obtemos o sistema pentadiagonal
Eh^2[Ii+12(vi+1-2 vi+vi-1)-Ii-12(vi-2 vi-1+vi-2)]=omega0 sin (pi xL)
a) Criar um código computacional em Matlab para discretização espacial/temporal em três níveis (grosseira, refinada e média)

Passo 1

O enunciado descreve uma viga engastada em x=0 e livre em x=L=10 m, com seção variável: base b=0,30 m e altura que varia linearmente de h(0)=0,60 m até h(L)=0,20 m. O módulo de elasticidade é E=70times10^6 Pa e a carga distribuída é
omega(x)=omega0sin!l(tfracpi xLr), omega0=4,6times10^3;N/m
Queremos resolver por diferenças finitas a equação de equilíbrio
l[E,I(x),v''(x)r]''=omega(x)
e implementar em MATLAB três malhas (grosseira, média e refinada).

Passo 2

Discretizamos o domínio em N+1 nós uniformes, com
De<a x = LN, xi = (i-1),De<a x,;i=1,dots,N+1
Em cada nó calculamos
hi = h0 + hL-h0L,xi, Ii = b,hi^312

Passo 3

Para cada nó interior i=3,dots,N-1 montamos a equação pentadiagonal
EDe<a x^2l[ Ii+12l(vi+1-2vi+vi-1r) - Ii-12l(vi-2vi-1+vi-2r) r] =omegai,
onde
Iipm12=Iipm1+Ii2
Isso gera as sub-sub-diagonais, sub-diagonais, diagonal principal e super-diagonais de uma matriz A.

Passo 4

Impondo as condições de contorno de viga engastada:
  • x=0: deslocamento nulo v1=0 e inclinação nula v2=0.
  • x=L: momento nulo ;vN+1-2vN+vN-1=0 e cisalhamento nulo -vN-2+3vN-1-3vN+vN+1=0.
As duas últimas equações substituem as linhas N e N+1 da matriz A e do vetor f.

Passo 5

Para cada malha (grosseira, média e refinada) montamos A e f, resolvemos
v = Abackslash f
e plotamos v(x) para comparar convergência.

Resposta

% Diferenças finitas pentadiagonal para viga engastada com seção variável
L = 10;              % comprimento (m)
E = 70e6;            % módulo de elasticidade (Pa)
b = 0.3;             % largura constante (m)
h0 = 0.6;            % altura em x=0 (m)
hL = 0.2;            % altura em x=L (m)
w0 = 4.6e3;          % amplitude da carga (N/m)
meshas = [20, 40, 80];  % número de elementos: grosseira, média e refinada

figure;
for k = 1:length(meshas)
    N = meshas(k);
    x = linspace(0, L, N+1)';      % nós de 1 a N+1
    dx = x(2) - x(1);
    h = h0 + (hL - h0)/L * x;      % altura em cada nó
    I = b .* h.^3 / 12;            % momento de inércia em cada nó
    
    % Montagem da matriz e do vetor de carga
    A = zeros(N+1);
    f = w0 * sin(pi*x/L);
    
    % Equações interiores (i = 3..N-1)
    for i = 3:N-1
        Iph = 0.5*(I(i+1) + I(i));    % I_{i+1/2}
        Ih  = 0.5*(I(i)   + I(i-1));  % I_{i-1/2}
        A(i, i+1) =  E * Iph / dx^2;
        A(i, i  ) = -E*(2*Iph + Ih)/dx^2;
        A(i, i-1) =  E*(Iph + 2*Ih)/dx^2;
        A(i, i-2) = -E * Ih / dx^2;
    end
    
    % Condições de contorno em x=0: v(1)=0 e v(2)=0
    A(1, :) = 0;  A(1,1)       = 1;  f(1)   = 0;
    A(2, :) = 0;  A(2,2)       = 1;  f(2)   = 0;
    
    % Cisalhamento nulo em x=L (linha N)
    A(N,   :) = 0;
    A(N, N-2) = -1;
    A(N, N-1) =  3;
    A(N, N  ) = -3;
    A(N, N+1) =  1;
    f(N)      = 0;
    
    % Momento nulo em x=L (linha N+1)
    A(N+1,   :) = 0;
    A(N+1, N-1) =  1;
    A(N+1, N  ) = -2;
    A(N+1, N+1)=  1;
    f(N+1)      = 0;
    
    % Resolução e plot
    v = A \ f;
    subplot(3,1,k);
    plot(x, v, '-o');
    title(['Malha com ' num2str(N) ' elementos']);
    xlabel('x (m)');
    ylabel('v(x) (m)');
    grid on;
end

Exercícios relacionados