Vous êtes sur la page 1sur 4

Universidade de Brasília - Doutorado em Estruturas (17/0192962)

Implementação da Matriz de Rigidez para o Elemento


Finito Quadrilateral de 4 Nós
Izabel.C. A. Neta – Departamento de Engenharia Civil e Ambiental, Universidade de Brasília
(izabel.castroa@gmail.com)

Resumo — O presente artigo tem por objetivo verificar as Estrutural, que tem como objetivo a determinação do estado de
tensões obtidas a partir da aplicação do Método dos Elementos tensão e de deformação de um sólido de geometria arbitrária
Finitos, em um problema de uma viga engastada, submetida ao sujeito a ações exteriores, este trabalho apresenta um resumo
estado plano de tensões. Inicialmente alguns conceitos básicos das principais definições, sendo voltado para o elemento finito
relativos ao método dos elementos finitos são apresentados,
posteriormente é proposta uma implementação computacional da
quadrilateral de quatro nós, que será o foco deste trabalho.
matriz de rigidez de elementos quadrilaterais de quatro nós, afim
de investigar os valores das tensões axiais e tensões de II. OBJETIVOS
cisalhamento atuantes, de modo a fazer comparações entre os O objetivo deste trabalho é a implementação da matriz de
resultados obtidos através do Método dos Elementos Finitos e os
resultados analíticos.
rigidez do elemento finito quadrilateral de quatro nós (Q4), no
software MATLAB para análise do estado plano de tensões, e
Palavras-chave: Método dos Elementos Finitos, Estado Plano de assim realizar as comparações dos resultados obtidos com a
tensões, Elementos quadrilaterais. solução exata do problema.

I. INTRODUÇÃO III. TIPOS DE ELEMENTOS


Em várias áreas do conhecimento, inclusive em mecânica
estrutural, existem problemas cuja solução analítica é O MEF é amplamente conhecido, por ser bem aplicável em
desconhecida ou de difícil desenvolvimento, para os quais problemas com geometrias diversas.
pode-se obter respostas aproximadas, com o uso de métodos Existem diferentes formas de estruturas mecânicas e para
numéricos. Tais métodos propõem o cálculo das grandezas de cada uma delas há um tipo de elemento capaz de representar e
interesse em pontos discretos do domínio em análise, como uma calcular o componente da melhor maneira possível. O uso
aproximação para a solução do problema. desses elementos é extremamente recomendado, pois cada
Dentre os métodos numéricos baseados na modelagem das estrutura tem suas particularidades que são as mesmas do
equações diferenciais do problema, destaca-se o Método dos referido elemento.
Elementos Finitos (MEF), cuja ideia principal consiste em se As formas mais comuns dos elementos finitos convencionais
dividir o domínio do problema em sub-regiões de geometria são as triangulares e quadrilaterais. Dentro de cada tipo de
simples (formato triangular, quadrático, cúbico). Os elementos elemento é possível definir elementos com mais ou menos nós,
finitos, utilizados na discretização (subdivisão) do domínio do e consequentemente funções de aproximação de grau mais ou
problema, são conectados entre si por determinados pontos, menos elevado.
denominados nós ou pontos nodais. Ao conjunto de elementos Neste trabalho será estudado o elemento bilinear retangular
finitos e pontos nodais, dá-se, usualmente, o nome de malha de de quatro nós (Q4), onde Q4 identifica o elemento como um
elementos finitos [1]. quadrilátero com quatro nós, com lados de comprimento 2a na
As seguintes variáveis determinam a exatidão do método: direção x e 2b na direção y, representado na Figura 1.
quantidade de nós e elementos (ou tamanho do elemento) e tipo
de elemento. Os resultados obtidos pelo MEF convergem para
a solução exata quando a malha estiver adequada, ou seja,
quanto menor o tamanho do elemento e maior o número de nós
(tendendo ao infinito). Assim, esta precisão dos resultados fica
atrelada a uma quantidade de elementos, onde a partir de certo
número os resultados não alteram (permanecem gerando
valores reais) e, portanto, não há mais necessidade de modificar
o tamanho de elemento. Este fenômeno é conhecido como
convergência da malha. Além disso, o interesse justifica-se, não
só por sua generalidade e eficiência, mas, sobretudo, pelo
grande desenvolvimento dos sistemas de computação.
No intuito de auxiliar sobre o entendimento do método dos
elementos finitos, aplicados a problemas da Engenharia Figura 1- Elemento bilinear retangular de 4 nós (Cook et al., 2002).

Artigo entregue para revisão - 23 de Abril de 2018. Este trabalho foi apoiado
pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq).
Izabel. C. A. Neta - Departamento de Engenharia Civil e Ambiental,
Universidade de Brasília (izabel.castroa@gmail.com).
Universidade de Brasília - Doutorado em Estruturas (17/0192962)

O elemento é denominado bilinear porque as funções de


forma são o produto de polinômios lineares em cada uma das
duas direções cartesianas. Para cada nó tem-se dois graus de
liberdade (deslocamentos em x e y):

𝐮 = 𝐚𝟏 + 𝐚𝟐 𝐱 + 𝐚𝟑 𝐲 + 𝐚𝟒 𝐱𝐲 (1)

𝐯 = 𝐚𝟓 + 𝐚𝟔 𝐱 + 𝐚𝟕 𝐲 + 𝐚𝟖 𝐱𝐲 (2)

Considerando que 𝑢 = ∑ 𝑁𝑖 𝑢𝑖 , em que 𝑁𝑖 é a função de


forma do elemento retangular de 4 nós, tem-se a seguinte
função de forma, em cada nó, para este elemento:

(𝐚 − 𝐱)(𝐛 − 𝐲) (3)
𝐍𝟏 = Figura 2- Viga em balanço modelada por elementos Q4, mostrando a
𝟒𝐚𝐛 variação qualitativa da tensão axil σx na superfície inferior (y = -b) e a
tensão de cisalhamento τxy no eixo x.
(𝐚 + 𝐱)(𝐛 − 𝐲) (4)
𝐍𝟐 =
𝟒𝐚𝐛 Cook et al. (2002), obteve os resultados das tensões através
do MEF, conforme apresentado na Figura 2, e os comparou com
(𝐚 + 𝐱)(𝐛 + 𝐲) (5)
𝐍𝟑 = a solução exata.
𝟒𝐚𝐛 Para esse modelo proposto por Cook et al. (2002), foi
(𝐚 − 𝐱)(𝐛 + 𝐲) (6) implementado a sua matriz de rigidez, utilizando a linguagem
𝐍𝟒 = de programação em Matlab, para que pudessem ser feitas
𝟒𝐚𝐛
análises desses elementos finitos quadrilaterais de quatro nós
O campo de deslocamento do elemento {𝒖} = [𝑵]{𝒅}, é: no estado plano de tensões.

𝐮𝟏 V. RESULTADOS E DISCUSSÕES
𝐮 𝐍 𝟎 𝐍𝟐 𝟎 𝐍𝟑 𝟎 𝐍𝟒 𝟎 𝐯𝟏
{ }=[ 𝟏 ] {𝐮𝟐 } Na Figura 3 e Figura 4, constam os resultados das tensões
𝐯 𝟎 𝐍𝟏 𝟎 𝐍𝟐 𝟎 𝐍𝟑 𝟎 𝐍𝟒 . (7)
axial σx e as tensões de cisalhamentos τxy, respectivamente,
𝐯𝟒
obtidas após a implementação da matriz de rigidez para o
elemento finito quadrilateral de 4 nós usado para a viga
A partir do elemento de deformação em termos dos graus de engastada apresentada na Figura 2 , realizada por meio de
liberdade atribuídos, {𝜺} = [𝑩]{𝒅}, por fim, chega-se a linguagem de programa em Matlab. Além disso, os resultados
seguinte relação: das tensões obtidas através do Matlab foram comparadas com
−(𝐛 − 𝐲) 𝟎 (𝐛 − 𝐲) 𝟎 (𝐛 + 𝐲) 𝟎 −(𝐛 + 𝐲) 𝟎
as soluções exatas.
𝟏
[𝐁] = [ 𝟎 −(𝐚 − 𝐱) 𝟎 −(𝐚 + 𝐱) 𝟎 (𝐚 + 𝐱) 𝟎 (𝐚 − 𝐱) ]
𝟒 ∙ 𝐚 ∙ 𝐛 −(𝐚 − 𝐱) −(𝐛 − 𝐲) −(𝐚 + 𝐱) (𝐛 − 𝐲) (𝐚 + 𝐱) (𝐛 + 𝐲) (𝐚 − 𝐱) −(𝐛 + 𝐲) (8)
15
A matriz de rigidez do elemento K é obtida a partir da MEF
Equação 9 utilizando o método de integração da Quadratura de Analítico
Gauss. Na equação, B é matriz das derivadas das funções de 10
σx (MPa)

forma, E é a matriz de elasticidade, t é a espessura.


𝐛 𝐚
[𝐤] = ∫ ∫ [𝐁]𝐓 ∙ [𝐄] ∙ [𝐁] ∙ 𝐭 ∙ 𝐝𝐱 ∙ 𝐝𝐲 (9) 5
−𝐛 −𝐚

σx·a·t·y = -b
0
IV. EXEMPLO NÚMERICO 0 8 16 24 32
Coordenadas em X
O modelo estudado está apresentado na Figura 2, foi Figura 3 - Resultados da variação qualitativa da tensão axil σx na
proposto por Cook et al. (2002), o qual consiste em uma viga superfície inferior (y = - b).
engastada, com as seguintes dimensões: a = 4,0m b = 2,0m e a
espessura t = 1,0m. Módulo elástico E = 200*10³MPa, Analisando os resultados apresentados na Figura 3, e
coeficiente de Poisson = 0,3 e a força F=0,5 N. comparando-os com os resultados obtidos por Cook et al.
A viga esta dividida em uma malha com 4 elementos (4 nós (2002), verifica-se que o elemento finito implementado em
por elemento), cada elemento tem dois graus de liberdade por linguagem Matlab apresentou bom desempenho no cálculo das
nó (deslocamentos u1 e u2), totalizando 20 graus de liberdade, tensões axiais para o exemplo da viga engastada com carga
pontual na extremidade. Verifica-se que tanto a solução
sendo 16 graus de liberdade livres e 4 graus de liberdade
analítica, quando a obtida a partir do MEF, que conforme vai se
restringidos.
Universidade de Brasília - Doutorado em Estruturas (17/0192962)

aproximando da extremidade livre da viga, os valores das %% Data: Janeiro de 2013


tensões atuantes vão diminuindo. %% Data: Adaptado Abril 2018
%% Entrada de dados
%% vetor de nós (x, y)
3 numero_nos = 10;
MEF global nos
Analítico nos = [ 0.0 2.0
8.0 2.0
0
τxy (MPa)

16.0 2.0
24.0 2.0
32.0 2.0
-3 0.0 -2.0
8.0 -2.0
16.0 -2.0
-6 24.0 -2.0
0 8 16 24 32 32.0 -2.0];
Coordenadas em X
E = 200*10^3;
Figura 4 - Resultados da variação qualitativa da tensão cisalhamento
poisson = 0.3;
σxy.
%% vetor dos elementos (nó inicial, nó final, E*A)
Analisando a Figura 4, verifica-se uma incoerência entre os
numero_elementos = 4;
resultados obtidos pelo MEF, quando comparados aos global elementos
resultados obtidos pelo MEF por Cook et al., (2002). Tais elementos = [6 7 2 1; 7 8 3 2; 8 9 4 3; 9 10 5 4];
incoerências podem ter ocorrido por algum erro na
implementação do Matlab, ocasionando incompatibilidade %% restrição nodal (nó, grau de liberdade)
entre os resultados. %% grau de liberdade: 1 => dir. x ou 0 => dir. y
numero_restricoes = 4;
restricoes = [1 1; 1 0; 6 1; 6 0];
VI. CONCLUSÕES
%% forças nodais aplicadas (nó, grau de liberdade, valor)
O presente estudo analisou a priori a resposta do MEF para numero_forcas = 2;
um problema de uma estrutura submetida ao estado plano de forcas = [5 0 0.5; 10 0 0.5];
tensões, bem como a apresentação da estrutura necessária para
%% tamanho da matriz de rigidez
a utilização do método. Foi observado que o uso de um
tamanho_matrix = numero_nos * 2; %% apenas dois graus de
elemento com quatro nós, apresentou resultados coerentes de liberdade por nó
tensões axiais quando comparados com os obtidos
analiticamente. Além disso, os resultados em forma de degrau %% cria o vetor de forças nodais
obtidos para a tensão axial, são em função do tipo de elemento F = zeros(tamanho_matrix,1);
adotado (Q4). Além disso, cada degrau apresentado demonstra for i = 1:numero_forcas
F (forcas(i,1)*2-forcas(i,2)) = forcas(i,3);
a mudança de um elemento para o outro.
end
Para os resultados das tensões de cisalhamento, novas
implementações deveram ser realizadas, para correções de %% monta a matrix de rigidez
possíveis erros, que ocasionaram incompatibilidade de K_Global = zeros(tamanho_matrix,tamanho_matrix);
resultados do MEF. for i = 1:numero_elementos
Para futuros estudos, recomenda-se o uso de um elemento
% obtem matrix do elemento e vetor de mapeamento
com com oito nós, para verificar se os resultados apresentam
k_elm = MatrixElemento (i, E, poisson);
uma resposta de convergência mais acentuada do que para um map = mapeamento (i);
elemento com quatro nós, isso considerando o mesmo número
de elementos componentes na malha. % obtem matrix de massa do elemento
% monta a matrix de massa global
% adiciona elementos na matrix de rigidez global
VII. APÊNDICE for m = 1:8
for n = 1:8
K_Global(map(m), map(n)) = K_Global(map(m), map(n)) +
A – IMPLEMENTAÇÃO NO MATLAB k_elm(m,n);
O programa de treliça em Matlab, usado para implementar a end
matriz de rigidez para o elemento bilinear retangular de quatro end
end
nós (Q4), foi elaborado pelo Professor Antonio Miranda
(acmiranda@unb.br), para ser usado para o modelo deste %% Condições de contorno
trabalho, foram realizadas algumas alterações nesse script de % apaga linha e coluna da matrix e deixa so a diagonal
modo a se adequar a proposta do trabalho. Segue o programa for i = 1:numero_restricoes
Viga : grau = restricoes(i,1)*2 - restricoes(i,2);
%% Método da rigidez direta para treliças K_Global(:,grau) = 0;
%% Autor: Antonio Miranda, acmiranda@unb.br K_Global(grau,:) = 0;
Universidade de Brasília - Doutorado em Estruturas (17/0192962)

K_Global(grau, grau) = 1; no_i = nos (elementos(i_elemento,1),:);


end no_j = nos (elementos(i_elemento,3),:);
a = (no_j(1,1) - no_i(1,1))./2;
[T]= Matriz_B(i,K_Global,F,numero_elementos,poisson,E); b = (no_j(1,2) - no_i(1,2))./2;
double(T(:,3)) B=((1./(4*a*b))*[-(b-y),0,b-y,0,b+y,0,-(b+y),0;0,-(a-x),0,-
(a+x),0,a+x,0,a-x;-(a-x),-(b-y),-(a+x),b-y,a+x,b+y,a-x,-(b+y)]);
%% Resultados d=K_Global\F;
XTick = 0:8:32; m_E=(E/(1-nu^2))*[1,nu,0;nu,1,0;0,0,(1-nu)/2];
stairs(X,A) for i_elemento = 1:numero_elementos
no_1 = elementos(i_elemento,1);
AA=T(:,3) no_2 = elementos(i_elemento,2);
no_3 = elementos(i_elemento,3);
X= linspace(0,32,10); no_4 = elementos(i_elemento,4);
v_map1 = no_1*2 - 1;
figure v_map2 = no_1*2;
XTick = 0:8:32; v_map3 = no_2*2 - 1;
plot(X,AA) v_map4 = no_2*2;
v_map5 = no_3*2 - 1;
Além do Script, foram adpatados os arquivos tipo function, v_map6 = no_3*2;
que admitem parâmetros de entrada, retomam valores e v_map7 = no_4*2 - 1;
v_map8 = no_4*2;
possuem variáveis locais:
u(1,1)=d(v_map1,1);
%% função que gera a matrix de rigidez do elemento i u(2,1)=d(v_map2,1);
function K_elemento = MatrixElemento (i_elemento) u(3,1)=d(v_map3,1);
no_i = nos (elementos(i_elemento,1); u(4,1)=d(v_map4,1);
no_j = nos (elementos(i_elemento,2); u(5,1)=d(v_map5,1);
u(6,1)=d(v_map6,1);
%% função que pega o vetor de mapeamento do elemento i u(7,1)=d(v_map7,1);
function v_map = mapeamento (i_elemento) u(8,1)=d(v_map8,1);
global elementos
no_1 = elementos(i_elemento,1); Eps=B*u;
no_2 = elementos(i_elemento,2); n_1=subs(Eps,{x,y},[nos(((v_map1)+1)/2,1),nos((v_map2)/2,2)]);
no_3 = elementos(i_elemento,3); n_2=subs(Eps,{x,y},[nos(((v_map3)+1)/2,1),nos((v_map4)/2,2)]);
no_4 = elementos(i_elemento,4); n_3=subs(Eps,{x,y},[nos(((v_map5)+1)/2,1),nos((v_map6)/2,2)]);
v_map(1) = no_1*2 - 1; n_4=subs(Eps,{x,y},[nos(((v_map7)+1)/2,1),nos((v_map8)/2,2)]);
v_map(2) = no_1*2; e(no_1,:)=n_1(:,1).';
v_map(3) = no_2*2 - 1; e(no_2,:)=n_2(:,1).';
v_map(4) = no_2*2; e(no_3,:)=n_3(:,1).';
v_map(5) = no_3*2 - 1; e(no_4,:)=n_4(:,1).';
v_map(6) = no_3*2; end
v_map(7) = no_4*2 - 1; T=e*m_E;
v_map(8) = no_4*2; end
%% função que gera a matrix de rigidez do elemento i
function K_elemento = MatrixElemento (i_elemento,E,nu) AGRADECIMENTOS
syms y x A autora registra neste preâmbulo, os agradecimentos ao
global elementos Professor e Orientador Antônio Carlos de Oliveira Miranda da
global nos
disciplina de Método dos Elementos Finitos e ao Conselho
no_i = nos (elementos(i_elemento,1),:);
no_j = nos (elementos(i_elemento,3),:); Nacional de Desenvolvimento Científico e Tecnológico
a = (no_j(1,1) - no_i(1,1))./2; (CNPq) por ter possibilitado a realização deste trabalho.
b = (no_j(1,2) - no_i(1,2))./2;
REFERÊNCIAS BIBLIOGRÁFICAS
B=((1./(4*a*b))*[-(b-y),0,b-y,0,b+y,0,-(b+y),0;0,-(a-x),0,-
(a+x),0,a+x,0,a-x;-(a-x),-(b-y),-(a+x),b-y,a+x,b+y,a-x,-(b+y)]);
A=B.'; [1] Becker E. B., Carey G. F. & Oden J. T., Finite elements.
m_E=(E/(1-nu^2))*[1,nu,0;nu,1,0;0,0,(1-nu)/2]; An introduction., Vol. I, Prentice-Hall, 1981.
k_temp=A*m_E; [2] COOK, R. D.; MALKUS, D. S.; PLESHA, M. E.. Concepts
k_temp2=k_temp*B; and applications of finite element analysis. Third edition. 2002.
K_elemento=int(int(k_temp2,x,-a,a),y,-b,b);
end

%% função que gera a matrix B dos elementos


function [T] =
Matriz_B(i_elemento,K_Global,F,numero_elementos,nu,E)
syms y x
global elementos
global nos