Anda di halaman 1dari 26

REBÚBLICA FEDERATIVA DO BRASIL

MINISTÉRIO DA EDUCAÇÃO
UNIVERSIDADE FEDERAL DE PERNAMBUCO
PROGRAMA DE PÓR-GRADUAÇÃO EM ENGENHARIA MECÂNICA
MESTRADO EM MECÂNICA COMPUTACIONAL E PROJETO MECÂNICO

RESOLUÇÃO DO PROBLEMA DE UMA TRELIÇA PLANA PELO MÉTODO


DOS ELEMENTOS FINITOS – ANÁLISE DE RIGIDEZ, UTILIZANDO O
SOFTWARE MATLAB

AMÉLIA LAÍSY DO NASCIMENTO

RECIFE
Maio 2012

1
AMÉLIA LAÍSY DO NASCIMENTO

RESOLUÇÃO DO PROBLEMA DE UMA TRELIÇA PLANA PELO MÉTODO


DOS ELEMENTOS FINITOS – ANÁLISE DE RIGIDEZ, UTILIZANDO O
SOFTWARE MATLAB

Exercício acadêmico apresentado em


cumprimento às exigências de avaliação da
disciplina Engenharia Com Auxílio De
Computador I – Método Dos Elementos
Finitos do Programa de Pós-Graduação em
Engenharia Mecânica, ministrada pelo
professor Félix Christian Guimarães Santos.

RECIFE
Maio 2012
2
SUMÁRIO

1. INTRODUÇÃO ....................................................................................................... 4
1.1. OBJETIVO GERAL ........................................................................................... 5
1.2. OBJETIVOS ESPECÍFICOS............................................................................. 5
2. MATERIAIS E MÉTODOS ................................................................................... 6
3. RESULTADOS E DISCUSSÃO ............................................................................ 8
3.1.1. Resultados para o exemplo A ........................................................................ 10
3.1.2. Resultados para o exemplo B ........................................................................ 11
3.1.3. Resultados para o exemplo C ........................................................................ 12
4. CONCLUSÃO ....................................................................................................... 14
5. REFERÊNCIAS BIBLIOGRÁFICAS ................................................................ 15
ANEXO 1 - ‘Dados_da_estrutura’ para o exemplo A ................................................ 16
ANEXO 2 - ‘Dados_da_estrutura’ para o exemplo B ................................................ 17
ANEXO 3 - ‘Dados_da_estrutura’ para o exemplo C ................................................ 18
ANEXO 4 - ‘calctet’ ...................................................................................................... 22
ANEXO 5 - ‘protreca’ ................................................................................................... 23

3
1. INTRODUÇÃO

Motivados pela forte concorrência industrial os fabricantes de máquinas e


equipamentos tem buscado soluções cada vez mais otimizadas, com o intuito de reduzir
custos aumentando segurança, conforto e performance. Este desafio tem sido confiado a
equipes de engenharia que tem se tornado cada vez mais multidisciplinares, sendo
formadas não só por engenheiros das diversas modalidades, mas também por
economistas, físicos, matemáticos etc (PAVANELLO, 1997). Uma importante
ferramenta computacional para executar cálculos que na prática seriam muito difíceis ou
mesmo impossíveis é o método dos elementos finitos – MEF – (SILVA, 2009).

Muitos problemas físicos e de engenharia em meios contínuos são descritos por


equações diferenciais parciais, cuja solução pode ser adquirida utilizando a ferramenta
do método dos elementos finitos (SILVA, 2009), que consiste em um método de análise
de modelos matemáticos, normalmente feita através de equações diferenciais ou
equações integrais com suas respectivas condições de contorno (AMARAL, 2005).

O MEF divide o domínio de integração em um número finito de pequenas


regiões denominadas de elementos finitos, transformando o contínuo em discreto. Essa
divisão do domínio recebe o nome de “malha” (grid em inglês). A malha, ou grid, é
composta por elementos: arestas (faces) e nós (pontos de interseção das arestas)
(AMARAL, 2005). A análise passa a ser feita nos elementos da estrutura, fornecendo
uma solução aproximada com precisão aceitável na resolução de problemas complexos.

Aliado ao método dos elementos finitos, o software MATLAB, sistema para


cálculo científico, permite a busca por soluções de problemas de engenharia, através de
algoritmos numéricos sobre matrizes com o mínimo de programação. No ambiente
Matlab é possível a criação e manipulação de matrizes sem a necessidade de
dimensionamento prévio e a manipulação das variáveis pode ser realizada de forma
interativa, proporcionando um ambiente de fácil utilização com uma notação intuitiva,
porém poderosa. O termo “Matlab” tem origem na conjugação dos termos “MATrix” e
“LABoratory”.

O MEF pode ser aplicado na análise de estruturas reticuladas: vigas, treliças


planas e espaciais, grelhas, pórticos planos e espaciais. As treliças são formadas por
elementos rígidos, os quais são denominados ‘barras’, que se encontram ligados entre si

4
por articulações, os nós. As cargas são aplicadas nos nós, evitando a presença de
momento fletor entre os seus elementos, ficando assim as barras sujeitas apenas a
esforços normais e/ou axiais – tração e compressão. Seu uso como elemento estrutural,
torna imprescindível, a análise das cargas suportadas pelos seus elementos e os
deslocamentos causados nos nós devido estas ações.

O presente estudo foca nos casos de elementos estruturais triangulares


bidimensionais, tais como treliças submetidas a cargas nodais (cargas aplicadas nos
nós), forças normais e axiais, realizando um algoritmo no software MATLAB que
solucione o problema, calculando o deslocamento ocorrido nos nós da treliça e as
reações nos apoios da estrutura.

1.1. OBJETIVO GERAL

 Gerar um algoritmo matemático que solucione o problema de uma treliça plana


sujeita a carregamento nodal, normal e axial, calculando os deslocamentos
sofridos pelos seus elementos e as reações de apoio.

1.2. OBJETIVOS ESPECÍFICOS

 Discretizar a treliça em n elementos, formando uma malha;

 Definir as condições de contorno;

 Criar a matriz de rigidez de cada elemento;

 Criar a matriz de rigidez global;

 Calcular o deslocamento nodal;

 Calcular as reações de apoio.

5
2. MATERIAIS E MÉTODOS

Para realização desse estudo foram utilizados o software MATLAB versão


7.10.0 e notas de aula da disciplina Engenharia com Auxílio de Computador I – Método
dos Elementos Finitos do Programa de Pós-Graduação em Engenharia Mecânica da
Universidade Federal de Pernambuco.

O programa computacional para análise de uma treliça plana foi dividido em


várias fases, começando pela reunião dos dados da estrutura: coordenadas dos nós (em
metros – m); massa especifica (Kg/m³); módulo de elasticidade (kPa ou kN/m²);
comprimentos dos elementos (m); área da seção transversal dos elementos (m²); ângulos
entre a direção da carga aplicada e a horizontal, em cada nó; cargas concentradas nos
nós; cargas distribuídas sobre os membros da treliça; condições de restrição; constante
que multiplica o deslocamento calculado, utilizada apenas ao plotar o gráfico com o
objetivo de facilitar a visualização.

As cargas aplicadas nos nós foram listadas na matriz ‘CN’ (arquivo de entrada
de dados ‘Dados_da_estrutura’ – Anexo 1, 2 e 3), que relaciona, ainda, o nó
correspondente à carga aplicada. As cargas restantes sobre a estrutura e que atuam
diretamente nos seus membros, são referentes ao peso dos elementos, cujo valor foi
determinado e, junto às propriedades físicas dos membros (módulo de elasticidade e
área da seção transversal do elemento), reunido na matriz ‘bar’ do arquivo de entrada de
dados.

Como etapa seguinte da análise, todos os nós e membros (barras) foram


numerados e em seguida, foi registrado, em matrizes correspondentes, os dois números
de nó que estão associados com cada membro (‘barnos’), assim como quais membros se
relacionam com cada nó (‘nobar’).

Com exceção dos elementos estruturais unidimensionais, os eixos dos membros


de uma estrutura reticulada qualquer não são necessariamente paralelos ou coincidentes
aos eixos da estrutura. Dessa forma, é conveniente gerar a matriz de rigidez de membro
(rigidezes de membro) e o vetor das cargas sobre os membros, obtendo-se,
primeiramente, a respectiva matriz (ou vetor) para os eixos orientados com o membro e
em seguida transformar essa matriz (ou vetor) por um processo de rotação de eixos.
Usando uma matriz de transformação apropriada que considera os ângulos entre os

6
membros e o eixo principal da estrutura, obtidos através da função ‘calctet’ (arquivo
‘calctet’ – Anexo 4), o giro dos eixos foi realizado através de multiplicações matriciais.

Com as rigidezes de membro determinadas, é possível criar a matriz de rigidez


dos nós, que consiste na soma das contribuições dos membros individuais. Destaca-se,
portanto, a importância das matrizes ‘nobar’ e ‘barnos’ no auxílio dessa etapa, já que
são elas que possuem as relações entre os nós e os membros, e entre as barras e os nós,
respectivamente. O cálculo da matriz de rigidez global da estrutura foi obtido através da
combinação adequada dos elementos das matrizes de rigidez dos nós, considerando suas
influências sobre cada elemento da matriz de rigidez global.

Depois de encontrar a matriz de rigidez global, a etapa seguinte na análise foi


considerar as cargas sobre a estrutura. As cargas nodais podem ser colocadas
imediatamente no vetor de ações a ser usado na solução, no entanto, as cargas sobre os
membros devem ser consideradas, calculando as ações de engastamento que produzem
na extremidade do elemento. Estas ações foram agrupadas na matriz ‘fe’ (arquivo
‘protreca’ – Anexo 5) onde cada linha contém as ações de extremidade para um
membro dado. As ações de engastamento consideradas nesse estudo foram os
momentos fletores provocados pelas cargas sobre os membros da estrutura.

Invertendo-se a direção das ações de engastamento, determinam-se as cargas


nodais equivalentes, estas, por sua vez, podem ser postas em um vetor de mesma forma
do vetor com as cargas nodais reais, para que, assim, umas possam ser somadas às
outras, produzindo o vetor de cargas combinadas.

De posse do vetor com as cargas combinadas e da matriz de rigidez global,


pode-se calcular os deslocamentos nodais, representadas por ‘F’, ‘K’ e ‘U’,
respectivamente – arquivo ‘protreca’ (Anexo 5).

Para o cálculo das reações de apoio, etapa final da análise da treliça plana, foi
realizada uma superposição dos efeitos das ações de extremidade, consideradas
previamente, e as ações multiplicadas pelos deslocamentos nodais correspondentes.

7
3. RESULTADOS E DISCUSSÃO

Como resultado do processamento dos dados, o programa apresenta a reação


(Rn) no nó solicitado (no), os deslocamentos nodais e apresenta, em um gráfico, a
treliça sem sofrer deslocamentos e a estrutura deslocada em função das cargas
suportadas. Para ilustrar os resultados apresentados pelo programa foram utilizados três
exemplos. Os dados de cada problema apresentado estão reunidos nos seus respectivos
arquivo de entrada de dados (‘Dados_da_estrutura’)

A)

Figura 1. Geometria e cargas aplicadas na estrutura do exemplo A.

8
B)

Figura 2. Geometria e cargas aplicadas na estrutura do exemplo A.

C)

Figura 3. Geometria e cargas aplicadas na estrutura do exemplo C.

9
3.1.1. Resultados para o exemplo A

Os resultados apresentados pelo programa para o primeiro exemplo sugerido


estão expostos na tabela 1 e 2. A figura 2 apresenta o gráfico com a estrutura inicial
(azul) e após sofrer os deslocamentos (linha pontilhada). O erro máximo entre a solução
calculada pelo programa e a solução exata foi 3,552713678800501e-016.

Tabela 1. Reações calculadas pelo programa ‘protreca’ e reações exatas. Unidade: kN.
nó Rx protreca Ry protreca Rx exata Ry exata
1 -61,3675134594812 -55,1147367097487 -61,3675134594812 -55,1147367097487
2 9,999999999999996 -11,4145188432738 - -11,4145188432738

Figura 2. Estrutura inicial e estrutura após sofrer deslocamento dos nós. Constante de
ampliação do deslocamento = 1,1.

Tabela 2. Deslocamentos nodais.


Deslocamento

X (m) Y (m)
1 0 0
2 0,002894505223373 0
3 0,005523809523810 0,002539682539683

10
3.1.2. Resultados para o exemplo B

Os resultados apresentados pelo programa para o segundo exemplo sugerido


estão expostos na tabela 2 e 4. A figura 3 apresenta o gráfico com a estrutura inicial
(azul) e após sofrer os deslocamentos (linha pontilhada). O erro máximo entre a solução
calculada pelo programa e a solução exata foi 1,28316579085.

Tabela 3. Reações calculadas pelo programa ‘protreca’ e reações exatas. Unidade: kN.
nó Rx protreca Ry protreca Rx exata Ry exata
2 -11,414517999999994 35,184193872927409 -8,897121656721849 15,410266750563633
3 18,137197374054640 3,700203320616268 54,679169656721854 15,411728249436365

Figura 3. Estrutura inicial e estrutura após sofrer deslocamento dos nós. Constante de
ampliação do deslocamento = 10.

Tabela 4. Deslocamentos nodais.


Deslocamento

X (m) Y (m)
1 -0,005961419316552 -0,002287028317916
2 -0,003989147006906 0
3 0 0

11
3.1.3. Resultados para o exemplo C

Os resultados apresentados pelo programa para o terceiro exemplo sugerido


estão expostos na tabela 5 e 6. A figura 4 apresenta o gráfico com a estrutura inicial
(azul) e após sofrer os deslocamentos (linha pontilhada). O erro máximo calculado entre
a solução calculada pelo programa e a solução exata foi 1,23105307118626.

Tabela 5. Reações calculadas pelo programa ‘protreca’ e reações exatas. Unidade: kN.
nó Rx protreca Ry protreca Rx exata Ry exata
1 4,883105274088484 2,170091804507385 - -9,392179006172835
7 0,564393900660392 0,749157170958796 - -9,392179006172837

Figura 4. Estrutura inicial e estrutura após sofrer deslocamento dos nós. Constante de
ampliação do deslocamento = 1000.

Tabela 5. Deslocamentos nodais (x 1,0e-003).


Deslocamento

X (m) Y (m)
1 0 0
2 0.001986166016488 -0.236201375258133
3 0.003972332032977 -0.315749678477802
4 0.000000000000000 -0.329610174612956
5 -0.003972332032977 -0.315749678477801
6 -0.001986166016488 -0.236201375258132

12
Tabela 5. Deslocamentos nodais (x 1,0e-003). Continuação.
Deslocamento

X Y
7 0 0
8 0.043045927028252 -0.234834727019058
9 0.033328061721517 -0.308037420357340
10 -0.000000000000000 -0.294165719220665
11 -0.033328061721517 -0.308037420357339
12 -0.043045927028252 -0.234834727019056

13
4. CONCLUSÃO

O código do programa processou os dados e calculou as reações nos apoios e os


deslocamentos, além de plotar o gráfico com este resultado. O erro máximo calculado
para os exemplos A, B e C foram, respectivamente: 3,552713678800501e-016;
1,28316579085 e 1,23105307118626.

A diferença significativa entre os erros máximos para os três problemas, exige


uma maior análise no código fonte do programa principal, assim como os arquivos dos
dados de entrada e geração da malha da estrutura e os códigos de cálculo das reações
exatas.

14
5. REFERÊNCIAS BIBLIOGRÁFICAS

AMARAL, H. M. C., O Método dos Elementos Finitos Aplicado a análise de


Estruturas – Fundamentos. 2008.

PAVANELLO, R. Introdução ao Método dos Elementos Finitos. Notas de


Aulas. Universidade Estadual de Campinas. Campinas – SP. 1997.

SILVA, S. Introdução ao Método dos Elementos Finitos. Notas de Aulas.


Universidade Estadual do Oeste do Paraná. Foz do Iguaçu – RS. 2009.

15
ANEXO 1 - ‘Dados_da_estrutura’ para o exemplo A

% Dados_da_estrutura Exemplo A
coords=[0.0 0.0; 1.0 0.0; 0.5 sqrt(3)/2];

L1=1; % comprimento do membro 1;


L2=1; % comprimento do membro 2;
L3=1; % comprimento do membro 3;
alfa1=0;
alfa2=pi/6;
alfa3=0;
P3=10;
P5=20;
P6=30;
Fx1=9*L1;
Fx2=9*L2;
Fx3=9*L3;
Fy1=10*L1;
Fy2=10*L2;
Fy3=10*L3;
d=1.1;
nobar={[1 3] [1 2] [2 3]};
barnos=[1 2; 2 3; 1 3];
ang=[alfa1;
alfa2;
alfa3];

% características da barra, respectivamente: módulo de elasticidade,


% área da seção transversal, força de corpo (peso etc) em x e em y.

bar=[21000 0.5 Fx1 Fy1; 21000 0.5 Fx2 Fy2; 21000 0.5 Fx3 Fy3];

% se o nó não tiver restrição, ele é do tipo 0


% se o nó tiver uma restrição, ele é do tipo 1
% se o nó tiver duas restrições, ele é do tipo 2
% primeira coluna escreve o número do nó e segunda coluna escreve o tipo,
% terceira e quarta escreve a restrição!

CR=[1 2 0 0; 2 1 0 0];

% Cargas nodais

CN=[2 P3 0; 3 P5 P6];

16
ANEXO 2 - ‘Dados_da_estrutura’ para o exemplo B

% Dados_da_estrutura Exemplo B
coords=[0.0 0.0; 1.0 0.0; 0.5 sqrt(3)/2];

L1=1; % comprimento do membro 1;


L2=1; % comprimento do membro 2;
L3=1; % comprimento do membro 3;
alfa1=0;
alfa2=-pi/6;
alfa3=0;
P3=-11.414518;
P1=-61.36753;
P2=-55.114736;
Fx1=9*L1;
Fx2=9*L2;
Fx3=9*L3;
Fy1=10*L1;
Fy2=10*L2;
Fy3=10*L3;
d=10;
nobar={[1 3] [1 2] [2 3]};
barnos=[1 2; 2 3; 1 3];
ang=[alfa1; alfa2; alfa3];
bar=[21000 0.5 Fx1 Fy1; 21000 0.5 Fx2 Fy2; 21000 0.5 Fx3 Fy3];
% características da barra, respectivamente: módulo de elasticidade,
% área da seção transversal, força de corpo (peso etc) em x e em y.

% Condições de restrição

% se o nó não tiver restrição, ele é do tipo 0


% se o nó tiver uma restrição, ele é do tipo 1
% se o nó tiver duas restrições, ele é do tipo 2
% primeira coluna escreve o número do nó e segunda coluna escreve o tipo, terceira e
quarta escreve a restrição?
CR=[2 1 0 0; 3 2 0 0];

% Cargas nodais

CN=[1 P1 P2; 2 P3 0];

17
ANEXO 3 - ‘Dados_da_estrutura’ para o exemplo C

% Dados_da_estrutura Exemplo C

% Coordenadas dos nós (m):

coords=[0 0; 1.5 0; 3 0; 4.5 0; 6 0; 7.5 0; 9 0;


1.5 0.556776; 3 1.113553; 4.5 1.67; 6 1.113553; 7.5 0.556776];

% Características físicas do material:

massaespecifica=1143; % Kg/m³
E=22733000; % kPa ou kN/m²

% Comprimentos dos elementos (m):

L1=1.5;
L2=1.5;
L3=1.5;
L4=1.5;
L5=1.5;
L6=1.5;
L7=1.6;
L8=1.6;
L9=1.6;
L10=1.6;
L11=1.6;
L12=1.6;
L13=0.556776;
L14=1.113553;
L15=1.67;
L16=1.113553;
L17=0.556776;
L18=1.5999998;
L19=1.868154;
L20=1.868154;
L21=1.5999998;

% Área da seção transversal dos elementos (m²):

A1=0.009375;
A2=0.009375;
A3=0.009375;
A4=0.009375;
A5=0.009375;
A6=0.009375;
A7=0.009375;
A8=0.009375;
A9=0.009375;

18
A10=0.009375;
A11=0.009375;
A12=0.009375;
A13=0.004375;
A14=0.004375;
A15=0.004375;
A16=0.004375;
A17=0.004375;
A18=0.0075;
A19=0.0075;
A20=0.0075;
A21=0.0075;

% Ângulos:

a=size(coords);
for i=1:a
ang(i)=0;
end

alfa2=0;

% Cargas concentradas (kN):

P1=-1.5;
P7=-1.5;
P8=-2.6;
P9=-2.6;
P10=-2.6;
P11=-2.6;
P12=-2.6;

% Cargas distribuídas ao longo dos elementos devido o peso próprio da


% estrutura (kN):

Fx1=0;
Fx2=0;
Fx3=0;
Fx4=0;
Fx5=0;
Fx6=0;
Fx7=0;
Fx8=0;
Fx9=0;
Fx10=0;
Fx11=0;
Fx12=0;
Fx13=0;
Fx14=0;
Fx15=0;

19
Fx16=0;
Fx17=0;
Fx18=0;
Fx19=0;
Fx20=0;
Fx21=0;
Fy1=-massaespecifica*A1*L1*9.81/1000;
Fy2=-massaespecifica*A2*L2*9.81/1000;
Fy3=-massaespecifica*A3*L3*9.81/1000;
Fy4=-massaespecifica*A4*L4*9.81/1000;
Fy5=-massaespecifica*A5*L5*9.81/1000;
Fy6=-massaespecifica*A6*L6*9.81/1000;
Fy7=-massaespecifica*A7*L7*9.81/1000;
Fy8=-massaespecifica*A8*L8*9.81/1000;
Fy9=-massaespecifica*A9*L9*9.81/1000;
Fy10=-massaespecifica*A10*L10*9.81/1000;
Fy11=-massaespecifica*A11*L11*9.81/1000;
Fy12=-massaespecifica*A12*L12*9.81/1000;
Fy13=-massaespecifica*A13*L13*9.81/1000;
Fy14=-massaespecifica*A14*L14*9.81/1000;
Fy15=-massaespecifica*A15*L15*9.81/1000;
Fy16=-massaespecifica*A16*L16*9.81/1000;
Fy17=-massaespecifica*A17*L17*9.81/1000;
Fy18=-massaespecifica*A18*L18*9.81/1000;
Fy19=-massaespecifica*A19*L19*9.81/1000;
Fy20=-massaespecifica*A20*L20*9.81/1000;
Fy21=-massaespecifica*A21*L21*9.81/1000;

% Matrizes das relações entre os índices dos nós e das barras (nobar) e das barras e dos
nós (barnos):

nobar={[1 7] [1 2 13] [2 3 14 18] [3 4 15 19 20]


[4 5 16 21] [5 6 17] [6 12] [7 8 13 18]
[8 9 14 19] [9 10 15] [10 11 16 20] [11 12 17 21]};
barnos=[1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 1 8; 8 9; 9 10; 10 11; 11 12;
12 7; 2 8; 3 9; 4 10; 5 11; 6 12; 3 8; 4 9; 4 11; 5 12];

% Matriz que reúne as características dos elementos (respectivamente: módulo de


elasticidade, área da seção transversal, força devido ao peso próprio da treliça):

bar=[E A1 Fx1 Fy1; E A2 Fx2 Fy2; E A3 Fx3 Fy3;


E A4 Fx4 Fy4; E A5 Fx5 Fy5; E A6 Fx6 Fy6;
E A7 Fx7 Fy7; E A8 Fx8 Fy8; E A9 Fx9 Fy9;
E A10 Fx10 Fy10; E A11 Fx11 Fy11; E A12 Fx12 Fy12;
E A13 Fx13 Fy13; E A14 Fx14 Fy14; E A15 Fx15 Fy15;
E A16 Fx16 Fy16; E A17 Fx17 Fy17; E A18 Fx18 Fy18;
E A19 Fx19 Fy19; E A20 Fx20 Fy20; E A21 Fx21 Fy21];

% Condições de restrição - se o nó não tiver restrição, ele é do tipo 0


% se o nó tiver uma restrição, ele é do tipo 1

20
% se o nó tiver duas restrições, ele é do tipo 2
% primeira coluna escreve o número do nó e segunda coluna escreve o tipo, terceira e
quarta escreve a restrição.

CR=[1 2 0 0; 7 2 0 0];

% Cargas nodais

CN=[1 0 P1; 7 0 P7; 8 0 P8; 9 0 P9; 10 0 P10; 11 0 P11; 12 0 P12];

% Constante que multiplica o deslocamento calculado, usada apenas ao plotar % o


gráfico, para facilitar a visualização:

d=1000;

21
ANEXO 4 - ‘calctet’

function[tet]=calctet(dx)

if dx(1)==0
if dx(2)>0
% tet=2.0*pi;
tet=pi/2.0;
else
tet=3.0*pi/2.0;
end
else
tet=atan(dx(2)/dx(1));
if tet*dx(2)<0
tet=tet+pi;
end
if tet<0.0
tet=2.0*pi+tet;
end
end

22
ANEXO 5 - ‘protreca’

clear all;
clc;
format long
dados_da_estrutura;
nnos=size(coords,1);
tam=nnos*2;
K=sparse(tam,tam);
F=zeros(tam,1);
K1=[1.0 -1.0;
-1.0 1.0];
Ue=zeros(4,1);
nb=size(bar,1);
fe=zeros(4,1);
for i=1:nb
nos=barnos(i,:);
for r=1:2
pa=2*(nos(r)-1)+1;
pb=pa+1;
for s=1:2
pc=2*(nos(s)-1)+1;
pd=pc+1;
K(pa:pb,pc:pd)=0.0;
end
end
end

for i=1:nb
nos=barnos(i,:);
xi=coords(nos(1),:);
xj=coords(nos(2),:);
dx=xj-xi;
tet=calctet(dx);
Lb=norm(dx);
E=bar(i,1);
A=bar(i,2);
K2=E*A*K1/Lb;
alf1=ang(nos(1));
alf2=ang(nos(2));
gam1=tet-alf1;
gam2=tet-alf2;
betah=[cos(gam1) sin(gam1) 0.0 0.0;
0.0 0.0 cos(gam2) sin(gam2)];
Ke=betah'*K2*betah;
f=bar(i,3:4)';
fe(1:2)=f*Lb/2.0; % incompatibilidade da dimensão
fe(3:4)=f*Lb/2.0;
Ri=[cos(alf1) -sin(alf1);
sin(alf1) cos(alf1)];

23
Rj=[cos(alf2) -sin(alf2);
sin(alf2) cos(alf2)];
fe(1:2)=Ri'*fe(1:2);
fe(3:4)=Rj'*fe(3:4);

for r=1:2
pa=2*(nos(r)-1)+1;
pb=pa+1;
p1=2*(r-1)+1;
p2=p1+1;
F(pa:pb)=F(pa:pb)+fe(p1:p2);
for s=1:2
pc=2*(nos(s)-1)+1;
pd=pc+1;
p3=2*(s-1)+1;
p4=p3+1;
K(pa:pb,pc:pd)=K(pa:pb,pc:pd)+Ke(p1:p2,p3:p4);
end
end
end

% carga nodal concentrada

nc=size(CR,1);
for i=1:nc
no=CN(i,1);
pn=CN(i,2:3)';
pa=2*(no-1)+1;
pb=pa+1;
F(pa:pb)=F(pa:pb)+pn;
end
% carga distribuída

nr=size(CR,1);
for i=1:nr
no=CR(i,1); % nó
t=CR(i,2); % tipo do nó
Ur=CR(i,3:4)'; % condição de restrição
pa=2*(no-1)+3-t;
pb=2*no;
g=K(:,pa:pb);
p1=3-t;
p2=2;
K(:,pa:pb)=0.0;
K(pa:pb,:)=0.0;
K(pa,pa)=1.0;
K(pb,pb)=1.0;
F=F-g*Ur(p1:p2);

24
F(pa:pb)=Ur(p1:p2); % ?? Erro usando ==> mtimes Dimensões da matriz internas
devem concordar.
end
U=K\F;
% Obs: cálculo das reações

for j=1:nr
no=CR(j,1);
barras=nobar{no};
ne=size(barras,2);
Rn=zeros(2,1);
Ue=zeros(4,1);
for v=1:ne
i=barras(v);
nos=barnos(i,:);
xi=coords(nos(1),:);
xj=coords(nos(2),:);
dx=xj-xi;
tet=calctet(dx);
Lb=norm(dx);
E=bar(i,1);
A=bar(i,2);
K2=E*A*K1/Lb;
alf1=ang(nos(1));
alf2=ang(nos(2));
gam1=tet-alf1;
gam2=tet-alf2;
betah=[cos(gam1) sin(gam1) 0.0 0.0;
0.0 0.0 cos(gam2) sin(gam2)];
Ke=betah'*K2*betah;
f=bar(i,3:4)';
fe(1:2)=f*Lb/2.0;
fe(3:4)=f*Lb/2.0;
Ri=[cos(alf1) -sin(alf1);
sin(alf1) cos(alf1)];
Rj=[cos(alf2) -sin(alf2);
sin(alf2) cos(alf2)];
fe(1:2)=Ri'*fe(1:2);
fe(3:4)=Rj'*fe(3:4);
for r=1:2
pa=2*(nos(r)-1)+1;
pb=pa+1;
p1=2*(r-1)+1;
p2=p1+1;
Ue(p1:p2)=U(pa:pb);
end
Re=Ke*Ue-fe;
if nos(1)==no
Rn=Rn+Re(1:2);
else

25
Rn=Rn+Re(3:4);
end
end

no
Rn
end

gráfico;

26

Anda mungkin juga menyukai