Para uma viga engastada submetida a uma carga, apresenta seção variável ao longo do comprimento, quando
no engaste a seção transversal da viga tem base
e altura de
, já no outro lado da viga (livre) em
a seção transversal tem base
e altura de
, modele a deflexão da viga com módulo de elasticidade de 70 MPa , considere o comprimento da barra de
. A viga está sujeita a uma distribuição de carga cujo módulo varia com x :
Sendo
.
A solução geral para a viga engastada é
Deflexão temos:
Momento fletor temos:
Temos a forma dinâmica
Pelo método das diferenças finitas, obtemos o sistema pentadiagonal
a) Criar um código computacional em Matlab para discretização espacial/temporal em três níveis (grosseira, refinada e média)
A solução geral para a viga engastada é
Passo 1
O enunciado descreve uma viga engastada em
e livre em
m, com seção variável: base
m e altura que varia linearmente de
m até
m. O módulo de elasticidade é
Pa e a carga distribuída é
Queremos resolver por diferenças finitas a equação de equilíbrio
e implementar em MATLAB três malhas (grosseira, média e refinada).
Passo 2
Discretizamos o domínio em
nós uniformes, com
Em cada nó calculamos
Passo 3
Para cada nó interior
montamos a equação pentadiagonal
onde
Isso gera as sub-sub-diagonais, sub-diagonais, diagonal principal e super-diagonais de uma matriz
.
Passo 4
Impondo as condições de contorno de viga engastada:
-
: deslocamento nulo e inclinação nula . -
: momento nulo e cisalhamento nulo .
As duas últimas equações substituem as linhas
e
da matriz
e do vetor
.
Passo 5
Para cada malha (grosseira, média e refinada) montamos
e
, resolvemos
e plotamos
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