Escolar Documentos
Profissional Documentos
Cultura Documentos
JOINVILLE - SC
2010
JOINVILLE, SC
2010
BANCA EXAMINADORA
Orientador: ________________________________________________________
Doutor Itamar Ribeiro Gomes
UDESC
Membro:
________________________________________________________
Mestre Sandra Denise Krger Alves
UDESC
Membro:
________________________________________________________
Mestre Eduardo Martins dos Reis
UDESC
AGRADECIMENTOS
Aos meus pais, Ernesto e Erotides, por todos os ensinamentos para que eu
me tornasse quem eu sou.
A minha futura esposa Vilmara, por todo apoio e pacincia para aguardar
minha formatura e amenizar os momentos difceis.
s minhas irms e cunhados pela compreenso e carinho sempre que
precisei.
Aos mestres pelo conhecimento, cobrana e dedicao que ao compartilhlos me fizeram aproveitar muito do curso.
Aos irmos e amigos da Universidade, que estavam sempre ao meu lado, nas
horas alegres e nas menos alegres.
Ao meu orientador, Itamar Ribeiro Gomes, pelo apoio e pacincia, alm do
imenso conhecimento
durante o curso.
Principalmente ao meu pai, de quem herdei o gosto pela construo civil e um
dos principais responsveis por esta conquista.
RESUMO
ABSTRACT
LISTA DE FIGURAS
SUMRIO
INTRODUO ........................................................................................13
1.1
OBJETIVOS.........................................................................................15
1.2
METODOLOGIA ..................................................................................15
1.2.1
Coleta de dados ...............................................................................16
1.2.2
Anlise estrutural..............................................................................16
1.2.3
Impresso dos resultados ................................................................16
2
2.1
2.2
3
3.1
INTRODUO AO MTODO DOS DESLOCAMENTOS....................23
3.2
DESENVOLVIMENTO DO MTODO ..................................................25
3.2.1
Etapas de resoluo.........................................................................27
3.3
MATRIZ DE RIGIDEZ DO ELEMENTO DE GRELHA .........................28
4
4.1
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.3
4.4
4.5
4.5.1
4.5.2
4.5.3
INTRODUO.....................................................................................35
COLETA DOS DADOS NO AUTOCAD ...............................................36
Varredura completa pelos elementos do arquivo base ....................37
Coleta dos apoios.............................................................................38
Coleta das barras .............................................................................38
Verificao das conectividades ........................................................40
Gravao dos dados ........................................................................40
ARQUIVO DE COMPATIBILIDADE.....................................................41
ANLISE ESTRUTURAL.....................................................................43
PS-PROCESSAMENTO DOS DADOS.............................................44
Leitura dos dados do arquivo de compatibilizao secundrio ........45
Separao dos dados ......................................................................45
Rotina de gravao dos dados.........................................................46
APNDICE ..............................................................................................60
8.1
8.2
8.3
8.4
13
INTRODUO
14
mesmas tarefas que outros mtodos. Alm de facilitar a sua manipulao, softwares
especficos agilizam sua execuo e ajudam a garantir, atravs de uma interface
grfica, que o usurio alimente o sistema com as informaes e que obtenha as
respostas (KATTAN, 2008).
Por se tratar de um dos softwares que mais satisfaz s necessidades dos
profissionais de todos os ramos de engenharia, relacionadas representao grfica
de projetos, o AutoCAD tornou-se um dos softwares mais difundidos no meio
tcnico. Um sistema que utilize sua interface grfica para efetuar o dimensionamento
e detalhamento de alguma estrutura, torna-se um potente aliado engenharia
moderna, pois alm de diminuir o tempo do processo de insero de dados, garante
que a interpretao de resultados tambm seja extremamente rpida.
As novas verses do AutoCAD possuem vrias interfaces de programao
que permitem ampliar o uso do software, automatizando a criao de entidades
geomtricas e permitindo tambm a exportao destas entidades por meio de um
arquivo de texto. Uma delas a linguagem Visual Basic, que juntamente difundida
nos programas da MS Office. Pois possui linguagem simples e dinmica, alm de
ser muito utilizado por programadores iniciantes, estimulando a quem se interessar
por prosseguir o trabalho que decorrer para poder ampliar suas ferramentas para
possvel dimensionamento e detalhamento de estruturas em concreto armado
(BALDAM, 2007).
A linguagem Visual Basic tem mais versatilidade dentro do ambiente
Windows, potencializando ainda mais o sistema para futuros relatrios de clculos
estruturais e quantitativos dispostos em MS Word ou MS Excel, sendo que os dados
podem ser novamente manipulados e retornarem ao AutoCAD sem sair da mesma
linguagem (REYNOLDS, 2002).
Por sua facilidade de uso, o Visual Basic torna-se lento quando solicitado a
efetuar determinadas tarefas, como lgebra de matrizes, por exemplo. Devido a esta
busca por eficincia do sistema, optou-se por apenas coletar os dados na plataforma
Visual Basic, tratando-os em um programa especfico criado em ambiente SciLAB,
15
que possui estrutura para resolver matrizes de grande porte em curtos espaos de
tempo.
Por possuir uma estrutura de tratamento de matrizes muito potente, o SciLAB
foi escolhido como a plataforma para programao responsvel pelo tratamento dos
dados e soluo do problema estrutural, diminuindo consideravelmente o tempo de
execuo do processamento, e por conseqncia, tornando o desenvolvimento do
software mais rpido.
Os modelos estruturais mais usados em edifcios so viga contnua, prtico
plano, grelha e prtico espacial. A diviso do andar do edifcio por pavimentos
representa melhor as cargas do que o modelo de viga contnua, alm de representar
a evoluo do processo construtivo. Tornando-se deste modo as estruturas do tipo
grelha uma simplificao do modelo de prtico espacial, que conserva as
caractersticas de transmisso de cargas muito prximas a realidade. Ao se sofisticar
os modelos pode-se garantir com mais confiana o comportamento da estrutura.
1.1
OBJETIVOS
Este trabalho se prope a efetuar um clculo estrutural a partir de um projeto
1.2
METODOLOGIA
O sistema que permitir o clculo estrutural a partir do AutoCAD se constituir
de 3 etapas:
16
17
ANLISE DE ESTRUTURAS
18
formadas por barras (que podem ser reduzidas a linhas), o n pode ser qualquer
ponto do eixo da barra.
Os elementos podem ser barras inteiras, partes de barras ou at associaes
de barras (funcionando como sub-estruturas). Cada elemento deve ser to simples
tal que se possa exprimir com facilidade as suas relaes solicitao-deformao.
Contudo, quanto mais elementos a estrutura tiver, maior a grandeza da matriz da
estrutura (MOREIRA, 1977).
Define-se grelha como uma estrutura plana carregada perpendicularmente ao
seu plano, regida pelas equaes de equilbrio:
Fy = 0;
(2.1)
Mx = 0;
(2.2)
Mz = 0.
(2.3)
2.1
19
2.2
ESTRUTURAS DE EDIFCIOS
Grande parte dos edifcios em concreto armado pode ser facilmente dividida
20
21
22
23
3.1
estruturas
constitudas
por
elementos
estruturais
conectados
24
idias primrias sobre rigidez no estudo da fsica bsica diz respeito rigidez da
mola, que expressa entre a fora aplicada e o deslocamento elstico da mesma,
sendo que a constante elstica pode ser entendida como um coeficiente de rigidez.
(ALVES FILHO, 2000)
25
(3.1)
3.2
DESENVOLVIMENTO DO MTODO
Segundo Alves Filho (2000) a rigidez da estrutura inteira depende da rigidez
26
grelhas, por exemplo), esse procedimento valido para qualquer tipo de estrutura,
sob quaisquer condies de carregamento.
Os problemas relacionados montagem de elementos finitos seguem alguns
fundamentos bsicos. O primeiro fundamento o equilbrio das foras, onde se
aplica as equaes de equilbrio conhecidas do estudo da mecnica geral em cada
membro isoladamente. Da mesma forma esta condio pode ser aplicada
internamente a cada membro, pois se este elemento est em equilbrio, parte dele
tambm se encontra em equilbrio, conforme pode ser entendido pela figura 6.
27
28
deslocamentos nodais. Esta etapa denominada de soluo, como pode ser notado
na figura 8.
3 Etapa de ps-processamento, novo clculo dos esforos nodais, gerao
de tabelas ou representaes grficas.
3.3
qualquer n da estrutura composto pela soma das rigidezes dos membros que
concorrem a este n.
29
6EI
L
12EI
L
0
6EI
L
0
GJ
L
0
0
GJ
L
0
6EI
L
12EI
L
4EI
L
6EI
L
6EI
L
12EI
L
2EI
L
6EI
L
0
GJ
L
0
0
GJ
L
0
6EI
L
0
2EI
L
6EI
L
0
4EI
L
(3.2)
30
(3.3)
[R] =
1
0
0
0
0
0
0
C
-S
0
0
0
0
S
C
0
0
0
0
0
0
1
0
0
0
0
0
0
C
-S
0
0
0
0
S
C
(3.4)
Supondo a estrutura mostrada na figura 10, temos uma estrutura com quatro
barras, onde pode-se notar que as barras A e C tem o mesmo sistema de
coordenadas que o global, enquanto as barras B e D sofrem rotao.
31
[K]A =
11
21
12
22
(3.5)
[k] =
11
21
31
41
12
22
32
42
13
23
33
43
14
24
34
44
(3.6)
32
Na
figura
12,
demonstra-se
o efeito causado
(representada pela letra V) sobre determinado elemento de grelha, sendo que uma
face de cada parte do elemento sofre deslocamento vertical em relao outra (ver
figura 11). Podem existir distores das sees transversais, mas seu efeito na
determinao dos deslocamentos mnimo e pode ser desprezado.
33
A figura 14 deixa clara a influncia que um binrio fletor causa nas diversas
partes da estrutura, rotacionando relativamente s faces e causando compresso
em um lado e trao do outro, conforme mostra a figura 13. O encurtamento no lado
da trao e o alongamento do lado da compresso fazem com que as sees
transversais deixem de ser paralelas, sendo que este tipo de deformao
denominado como flexo.
34
Como uma ltima fora atuante a ser calculada nas grelhas tem-se as foras
de toro, como pode ser visto na figura 16. Na figura 15, pode-se notar a rotao
da barra e o deslocamento de A para a nova posio A.
Em todas as barras podem ocorrer distores das sees transversais, exceto
nas barras circulares, onde a toro produzir apenas deformaes de cisalhamento
e as sees transversais permanecem planas.
As deformaes produzidas pelo cortante so sempre pequenas em
estruturas reticuladas, e em qualquer estrutura particular sob investigao, nem
todos os tipos de deformaes sero significativos no clculo dos deslocamentos
(GERE, WEAVER JNIOR, 1987 p. 4).
Aliado a estas consideraes Sssekind (1981) escreve que o uso de tais
simplificaes deve ser utilizado somente em casos em que se tem absoluta certeza
de suas influncias, e em casos de possveis erros o autor recomenda a insero de
todas as variveis possveis, para que se possa avaliar a importncia de cada dado.
35
4.1
IMPLEMENTAO COMPUTACIONAL
INTRODUO
Para programar o mtodo de clculo escolhido anteriormente, necessrio
36
4.2
37
38
39
A carga da barra ser estipulada por um attribute que ter seu valor inicial
zero, situao em que a barra exista, mas no possua cargas diretas sobre ela.
Caso exista a necessidade de cargas pontuais dentro de uma estrutura a rotina de
insero ser a mesma, contudo, como o programa ignorar cargas com menos de
um centmetro de comprimento, ser obtido por analogia uma carga pontual no
determinado ponto, ou uma carga distribuda com a largura do elemento que a
transferiu, seja este um pilar ou viga.
4.2.3.3 Rotina de leitura das barras carregadas
Para efetuar este processo dentro do lao geral de varredura do arquivo,
sero baseadas as restries dos elementos a fim de separ-los utilizando sua
configurao padro. Ou seja, o elemento uma barra carregada apenas se for um
bloco e estiver no layer de cargas. Garantindo-se estas caractersticas pode-se
ento coletar as informaes pertinentes ao seu processo.
Seqencialmente distino do elemento, faz-se as separao das suas
coordenadas x e y, valor da sua carga, suas dimenses base, seu ngulo e seu
comprimento. Com estas informaes consegue-se facilmente obter as coordenadas
dos dois extremos da barra.
4.2.3.4 Verificao dos ns
Para garantir a existncia de estrutura, a relao entre as barras e apoios e o
tipo caracterstico da estrutura, conclui-se que a posio dos ns parte
fundamental para a garantia que o sistema funcionar como o esperado e que a
estrutura tenha comportamento que o sistema espera. Em outras palavras, na
verificao da linearidade dos ns ser aliada uma verificao do plano de trabalho
ser bidimensional, garantindo que os apoios, engastes e barras formem uma grelha
ou viga simples, evitando conflitos e possveis estruturas espaciais que o sistema
no estaria preparado para averiguar, podendo gerar erro de uso do sistema.
A verificao dos ns dar-se- novamente por meio de um lao interno que
busca entre todas as extremidades de barras e compara com os dados lidos nas
40
voltas anteriores a fim de localizar ns internos das barras e ns que sero de fato
conectivos.
4.2.4 Verificao das conectividades
Tendo separado todos os tipos de elementos em ns e barras, com suas
caractersticas peculiares, se obtm enfim, a possibilidade de organizar estas
informaes para que o programa que calcular as solicitaes as localize e
interprete de maneira automtica. Gerando a matriz de rigidez com garantia de que
os dados correspondam exatamente ao que o usurio informou na interface junto ao
AutoCAD.
4.2.5 Gravao dos dados
Para que o programa de clculo reconhea os dados, precisa-se disp-los de
forma organizada. Todas as informaes sero alocadas de modo que ocupem
setores predeterminados conforme suas caractersticas.
Esta gravao se dar apenas por comandos especficos que criem um
arquivo de dados temporrio denominado temp.dad, que ser lido e interpretado
pelo programa de clculo de grelhas. A alocao deste arquivo ter sempre o
mesmo endereo, garantindo que o arquivo base no necessite estar sempre na
mesma pasta, dando mais flexibilidade ao sistema e a organizao dos dados do
usurio e suas estruturas de clculo.
Para evitar erros no futuro, deve-se garantir que o arquivo de texto ainda no
exista, para isso ser includo no corpo do programa de clculo um artifcio que
elimine este arquivo aps ter sido lido.
41
4.3
ARQUIVO DE COMPATIBILIDADE
A disposio dos dados do arquivo de compatibilidade temp.dad obedecer
NE
NA
NNC
x1
y1
x2
y2
...
...
...
xn
yn
42
N i 1
N f 1
I1
J1
E1
G1
L1
T1
N i 2
N f 2
I2
J2
E2
G2
L2
T2
...
...
...
...
...
...
...
...
...
N i n
N f n
In
Jn
En
Gn
Ln
Tn
R1
N 2
R2
...
...
...
...
N n
Rn
Qy 1
Mx 1
Mz 1
N 2
Qy 2
Mx 2
Mz 2
...
...
...
...
N n
Qy n
Mx n
Mz n
43
4.4
ANLISE ESTRUTURAL
Como j foi comentado anteriormente, a anlise que ser feita pelo SciLAB
ter como base principal a programao disposta no livro de Kattan (2008), que
sero organizados conforme o fluxograma mostrado na figura 23.
44
quantidade muito menor de laos, pois grande parte de sua leitura se faz
diretamente em comparao e criao de matrizes.
4.5
45
trs
listas
distintas,
uma
para
cada
grupo
de
resposta
esperado.
46
47
EXEMPLO NUMRICO
48
49
Alm dos apoios ser necessrio fazer o lanamento das cargas pontuais,
tambm feito atravs de blocos com atributos, chamado cargapontual, sendo o nico
atributo o valor da carga aplicada ao ponto:
50
51
52
53
seja, algum dado que possua casa aps a vrgula, o valor 1092.2 por exemplo, ser
lido como um vetor (1092,2). Para evitar isto, basta uma substituio do caractere
vrgula pelo caractere ponto.
O programa SciLAB far uma leitura e tratamento destes dados, conforme a
seguinte seqncia:
1 Leitura dos dados do arquivo de texto;
2 Montagem das matrizes k, utilizando a sub-rotina GridElementStiffness
proposta por Kattan (2008);
3 Montagem da matriz global K, utilizando a sub-rotina GridAssemble
proposta por Kattan (2008);
4 Leitura do vetor de cargas;
5 Aplicao das condies de contorno;
6 Soluo matricial por Gauss, u = k \ f;
7
Clculo
das
solicitaes
das
barras,
utilizando
sub-rotina
resultados
obtidos
sero
dispostos
separadamente
Uy
N 1
Uy 1
x 1
z 1
N 2
Uy 2
x 2
z 2
...
...
...
...
N n
Uy n
x n
z n
entre
os
54
Uy
N 1
0.0007245
N 2
0.0015002
N 3
0.0020758
N 4
N 5
0.0002023
N 6
0.0007704
N 7
0.0000748
-0.0000019
0.0000008
N 8
0.0007237
-0.0000034
0.0000024
N 9
0.0002729
-0.0000017
0.0000022
N 10
-0.0000727
-0.0000002
-0.0000001
N 11
0.0019725
-0.0000014
0.0000016
N 12
0.0012276
-0.0000029
0.0000018
N 13
0.0004559
-0.0000026
0.0000021
N 14
0.0000438
-0.0000024
0.0000016
N 1
Elemento
Cortante
N 2
Momento Momento
Fletor
Torsor
...
...
Cortante
Momento Momento
Fletor
Torsor
...
...
1
2
...
...
...
n
Figura 32 Resultados genricos das solicitaes dos elementos
55
N A
Cortante
N B
Momento
Momento
Fletor
Torsor
Cortante
Momento
Momento
Fletor
Torsor
-8716
-1372788
8716
-1372788
5554290
3541405
6.11e8
-5554290
3541405
3.055e8
118402
1408028
16378947
-118402
1408028
32757895
880055
1.219e8
-880055
2.433e8
878011
-10441252
2.429e8
-878011
10441252
1.215e8
749009
-26261331
41195534
-749009
26261331
82391069
906301
90630175
-906301
45315088
13988
2098332
-13988
2098332
862830
86283087
-862830
1726e8
10
1219163
1.689e8
-1219163
3.37e8
11
12
9078
13486164
749009
-9078
-13486164
749009
13
93159
7685645
-93159
7685645
14
-9675
-1523966
9675
-1523966
15
19034519
-4.06e-8
19034519
-8.135e-8
16
527190
-927510
1.107e8
-52719
9827510
2.214e8
17
121432
-14447888
3.361e8
-121432
14447888
1.681e8
18
26815
1541912
-26815
1541912
19
5871816
4.502e8
-5871816
2.251e8
56
CONSIDERAES FINAIS
57
58
REFERNCIAS BIBLIOGRFICAS
59
60
8.1
APNDICE
61
62
63
For k = 1 To NNC
For jk = 1 To NN 'looping para os ns carregados
If VNC1(2, k) = Vno(2, jk) And VNC1(3, k) = Vno(3, jk) Then
GoTo Pulo0
End If
Next jk
NN = NN + 1 'como no tem o n ainda, ele ser criado
64
Vno(1, NN) = NN
Vno(2, NN) = VNC1(2, k)
Vno(3, NN) = VNC1(3, k)
Pulo0:
Next k
65
For lc = 1 To NNC
If VBc1(1, k) = VNC1(2, lc) And VBc1(2, k) = VNC1(3, lc) Then GoTo
Pulo3
Next lc
NNC = NNC + 1
VNC1(1, NNC) = NNC
VNC1(2, NNC) = VBc1(1, k)
VNC1(3, NNC) = VBc1(2, k)
VNC1(4, NNC) = 0
VNC1(5, NNC) = 0
Pulo3:
66
67
Next i
'criando o arquivo temporrio
Dim fs, f, ts
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CreateTextFile "C:\temp.dad"
Set f = fs.GetFile("C:\temp.dad")
Set ts = f.OpenAsTextStream(2, 0) '2 para escrever daqui em diante
'gravando no arquivo temporario
ts.WriteLine NN & " " & NE & " " & NA & " " & NNC & " 0 0 0 0 0" 'primeira
linha, completada com zeros para garantir a largura (9) da matriz GERAL
For n = 1 To NN
ts.WriteLine Vno(1, n) & " " & Vno(2, n) & " " & Vno(3, n) & " 0 0 0 0 0 0"
Next
For n = 1 To NE
ts.WriteLine VBc2(1, n) & " " & VBc2(2, n) & " " & VBc2(3, n) & " " & VBc2(4,
n) & " " & VBc2(5, n) & " " & VBc2(6, n) & " " & VBc2(7, n) & " " & VBc2(8, n) & " " &
VBc2(9, n) 'sem zeros, pois estas linhas j possuem a largura certa
Next
For n = 1 To NA
ts.WriteLine VAp(1, n) & " " & VAp(2, n) & " 1 1 0 0 0 0 0"
Next
For n = 1 To NNC
ts.WriteLine VNC2(1, n) & " " & VNC2(2, n) & " " & VNC2(3, n) & " 0 0 0 0 0
0"
68
Next
ts.Close
End Sub
8.2
SUB-ROTINA GRIDASSEMBLE
Adaptado de KATTAN (2008):
function [y] = GridAssemble(K,k,i,j)
// Ouput variables initialisation (not found in input variables)
y=[];
// Display mode
mode(0);
// Display warning for floating point exception
ieee(1);
//GridAssemble This function assembles the element stiffness
//
//
//
//
//
k is assembled.
K(mtlb_s(3*i,2),mtlb_s(3*i,2)) = mtlb_a(K(mtlb_s(3*i,2),mtlb_s(3*i,2)),k(1,1));
K(mtlb_s(3*i,2),mtlb_s(3*i,1)) = mtlb_a(K(mtlb_s(3*i,2),mtlb_s(3*i,1)),k(1,2));
K(mtlb_s(3*i,2),3*i) = mtlb_a(K(mtlb_s(3*i,2),3*i),k(1,3));
K(mtlb_s(3*i,2),mtlb_s(3*j,2)) = mtlb_a(K(mtlb_s(3*i,2),mtlb_s(3*j,2)),k(1,4));
K(mtlb_s(3*i,2),mtlb_s(3*j,1)) = mtlb_a(K(mtlb_s(3*i,2),mtlb_s(3*j,1)),k(1,5));
69
K(mtlb_s(3*i,2),3*j) = mtlb_a(K(mtlb_s(3*i,2),3*j),k(1,6));
K(mtlb_s(3*i,1),mtlb_s(3*i,2)) = mtlb_a(K(mtlb_s(3*i,1),mtlb_s(3*i,2)),k(2,1));
K(mtlb_s(3*i,1),mtlb_s(3*i,1)) = mtlb_a(K(mtlb_s(3*i,1),mtlb_s(3*i,1)),k(2,2));
K(mtlb_s(3*i,1),3*i) = mtlb_a(K(mtlb_s(3*i,1),3*i),k(2,3));
K(mtlb_s(3*i,1),mtlb_s(3*j,2)) = mtlb_a(K(mtlb_s(3*i,1),mtlb_s(3*j,2)),k(2,4));
K(mtlb_s(3*i,1),mtlb_s(3*j,1)) = mtlb_a(K(mtlb_s(3*i,1),mtlb_s(3*j,1)),k(2,5));
K(mtlb_s(3*i,1),3*j) = mtlb_a(K(mtlb_s(3*i,1),3*j),k(2,6));
K(3*i,mtlb_s(3*i,2)) = mtlb_a(K(3*i,mtlb_s(3*i,2)),k(3,1));
K(3*i,mtlb_s(3*i,1)) = mtlb_a(K(3*i,mtlb_s(3*i,1)),k(3,2));
K(3*i,3*i) = mtlb_a(K(3*i,3*i),k(3,3));
K(3*i,mtlb_s(3*j,2)) = mtlb_a(K(3*i,mtlb_s(3*j,2)),k(3,4));
K(3*i,mtlb_s(3*j,1)) = mtlb_a(K(3*i,mtlb_s(3*j,1)),k(3,5));
K(3*i,3*j) = mtlb_a(K(3*i,3*j),k(3,6));
K(mtlb_s(3*j,2),mtlb_s(3*i,2)) = mtlb_a(K(mtlb_s(3*j,2),mtlb_s(3*i,2)),k(4,1));
K(mtlb_s(3*j,2),mtlb_s(3*i,1)) = mtlb_a(K(mtlb_s(3*j,2),mtlb_s(3*i,1)),k(4,2));
K(mtlb_s(3*j,2),3*i) = mtlb_a(K(mtlb_s(3*j,2),3*i),k(4,3));
K(mtlb_s(3*j,2),mtlb_s(3*j,2)) = mtlb_a(K(mtlb_s(3*j,2),mtlb_s(3*j,2)),k(4,4));
K(mtlb_s(3*j,2),mtlb_s(3*j,1)) = mtlb_a(K(mtlb_s(3*j,2),mtlb_s(3*j,1)),k(4,5));
K(mtlb_s(3*j,2),3*j) = mtlb_a(K(mtlb_s(3*j,2),3*j),k(4,6));
K(mtlb_s(3*j,1),mtlb_s(3*i,2)) = mtlb_a(K(mtlb_s(3*j,1),mtlb_s(3*i,2)),k(5,1));
K(mtlb_s(3*j,1),mtlb_s(3*i,1)) = mtlb_a(K(mtlb_s(3*j,1),mtlb_s(3*i,1)),k(5,2));
K(mtlb_s(3*j,1),3*i) = mtlb_a(K(mtlb_s(3*j,1),3*i),k(5,3));
K(mtlb_s(3*j,1),mtlb_s(3*j,2)) = mtlb_a(K(mtlb_s(3*j,1),mtlb_s(3*j,2)),k(5,4));
K(mtlb_s(3*j,1),mtlb_s(3*j,1)) = mtlb_a(K(mtlb_s(3*j,1),mtlb_s(3*j,1)),k(5,5));
K(mtlb_s(3*j,1),3*j) = mtlb_a(K(mtlb_s(3*j,1),3*j),k(5,6));
K(3*j,mtlb_s(3*i,2)) = mtlb_a(K(3*j,mtlb_s(3*i,2)),k(6,1));
K(3*j,mtlb_s(3*i,1)) = mtlb_a(K(3*j,mtlb_s(3*i,1)),k(6,2));
K(3*j,3*i) = mtlb_a(K(3*j,3*i),k(6,3));
K(3*j,mtlb_s(3*j,2)) = mtlb_a(K(3*j,mtlb_s(3*j,2)),k(6,4));
K(3*j,mtlb_s(3*j,1)) = mtlb_a(K(3*j,mtlb_s(3*j,1)),k(6,5));
70
K(3*j,3*j) = mtlb_a(K(3*j,3*j),k(6,6));
y = K;
endfunction
8.3
SUB-ROTINA GRIDELEMENTFORCES
Adaptado de KATTAN (2008):
function [y] = GridElementForces(E,G,I,J,L,theta,u)
// Ouput variables initialisation (not found in input variables)
y=[];
// Display mode
mode(0);
// Display warning for floating point exception
ieee(1);
//GridElementForces This function returns the element force
//
//
//
//
//
x = (theta*%pi)/180;
C = cos(x);
S = sin(x);
w1 = ((12*E)*I)/((L*L)*L);
w2 = ((6*E)*I)/(L*L);
71
w3 = (G*J)/L;
w4 = ((4*E)*I)/L;
w5 = ((2*E)*I)/L;
kprime = [w1,0,w2,-w1,0,w2;0,w3,0,0,-w3,0;
w2,0,w4,-w2,0,w5;-w1,0,-w2,w1,0,-w2;
0,-w3,0,0,w3,0;w2,0,w5,-w2,0,w4];
R = [1,0,0,0,0,0;0,C,S,0,0,0;0,-S,C,0,0,0;
0,0,0,1,0,0;0,0,0,0,C,S;0,0,0,0,-S,C];
y = (kprime*R)*u;
endfunction
8.4
SUB-ROTINA GRIDELEMENTSTIFFNESS
Adaptado de KATTAN (2008):
function [y] = GridElementStiffness(E,G,I,J,L,theta)
// Ouput variables initialisation (not found in input variables)
y=[];
// Display mode
mode(0);
// Display warning for floating point exception
ieee(1);
//GridElementStiffness This function returns the element
//
//
//
72
//
//
//
//
matrix is 6 x 6.
x = (theta*%pi)/180;
C = cos(x);
S = sin(x);
w1 = ((12*E)*I)/((L*L)*L);
w2 = ((6*E)*I)/(L*L);
w3 = (G*J)/L;
w4 = ((4*E)*I)/L;
w5 = ((2*E)*I)/L;
kprime = [w1,0,w2,-w1,0,w2;0,w3,0,0,-w3,0;
w2,0,w4,-w2,0,w5;-w1,0,-w2,w1,0,-w2;
0,-w3,0,0,w3,0;w2,0,w5,-w2,0,w4];
R = [1,0,0,0,0,0;0,C,S,0,0,0;0,-S,C,0,0,0;
0,0,0,1,0,0;0,0,0,0,C,S;0,0,0,0,-S,C];
y = (R'*kprime)*R;
endfunction
8.5
NN = temp(1,1)
NE = temp(1,2)
73
NA = temp(1,3)
NNC = temp(1,4)
K = zeros(NN * 3,NN * 3)
for k=1:NE
i = temp(1+NN+k, 2)
j = temp(1+NN+k, 3)
E = temp(1+NN+k, 6)
G = temp(1+NN+k, 7)
I = temp(1+NN+k, 5)
J = temp(1+NN+k, 4)
L = temp(1+NN+k, 8)
theta = temp(1+NN+k, 9)
k = GridElementStiffness(E,G,I,J,L,theta)
K = GridAssemble(K,k,i,j)
end
f = zeros(NN * 3,1)
for i = 1:NNC
for j =1:3
f((i-1)*3+j,1)=temp(1+NN+NE+NA+i,j+1)
end
end
K0 = K
for i = 1:NA
74
for j = 1:3
if temp(1+NN+NE+i,j+1) == 1 then
K0(1:NN * 3, (i-1)*3+j ) = zeros(NN * 3,1)
K0((i-1)*3+j , 1:NN * 3) = zeros(1,NN * 3)
K0((i-1)*3+j , (i-1)*3+j ) = 1
f((i-1)*3+j , 1) = 0
else
end
end
end
U=K0\f
F=K*U
M = zeros(NE,7)
u = zeros(6,1)
for k=1:NE
i = temp(1+NN+k, 2)
j = temp(1+NN+k, 3)
E = temp(1+NN+k, 6)
G = temp(1+NN+k, 7)
I = temp(1+NN+k, 5)
J = temp(1+NN+k, 4)
L = temp(1+NN+k, 8)
theta = temp(1+NN+k, 9)
u(1:3,1) = U(i:i+2,1)
u(4:6,1) = U(j:j+2,1)
75
f=GridElementForces(E,G,I,J,L,theta,u)
M(k,1)=k
M(k,2:7)=f'
end