Académique Documents
Professionnel Documents
Culture Documents
Guaratinguet
2012
Guaratinguet
2012
S968a
I. Ttulo
CDU 624.04
AGRADECIMENTOS
Em primeiro lugar agradeo quele que no possui nome, mas conhecido por
vrios nomes,
minha famlia pela pacincia e apoio que me ajudou a chegar a este momento,
ao meu orientador, Prof. Dr. Fernando de Azevedo Silva pela ajuda, apoio e
conselhos que foram fundamentais para realizao deste trabalho,
a todos os professores desta conceituada instituio pelo compartilhamento de
conhecimentos que se mostraram de grande valor e nicos,
a todos os funcionrios da instituio,
s amizades da faculdade
e aos amigos de repblica pelo companheirismo nos bons e maus momentos.
RESUMO
ABSTRACT
The following paper means to develop a program to make structural analysis of space
trusses. The program to be implemented was based on the concepts of the finite
element method and used the programing resources of Visual Basic for Applications
(VBA) for the Excel Software. Being Excel a software of easy access, low cost,
capacity to make matrix calculations and with advanced resources of VBA
programing, it is possible to develop an economic solution, efficient and precise for
structural analysis of space trusses. Firstly is presented a finite elemento method and
the space truss. Then is developed a few important algorithms to be used during the
development of the program and also the use of a few resources of VBA. And to
validate the quality, efficiency and precision of the results, these are compared with
the established commercial software Ansys.
KEYWORDS: Space Truss. Numeric Simulation. Finite Element Method.
Programming in VBA.
LISTA DE FIGURAS
Figura 1 Domnio ..................................................................................................................20
Figura 2 Gerao de Malha ...................................................................................................22
Figura 3 Tronco Cnico.........................................................................................................22
Figura 4 Deslocamento nodal em funo do comprimento x................................................23
Figura 5 Convergncia dos elementos para soluo exata ....................................................24
Figura 6 Tenso em funo do comprimento x .....................................................................24
Figura 7 Matriz ordem mxn...................................................................................................26
Figura 8 Vetor-coluna ordem m ............................................................................................26
Figura 9 Vetor-linha ordem n ................................................................................................26
Figura 10 Matriz Identidade ..................................................................................................27
Figura 11 Matriz Transposta .................................................................................................27
Figura 12 Matriz multiplicada por escalar.............................................................................28
Figura 13 Adio e Subtrao das matrizes...........................................................................28
Figura 14 Multiplicao entre matrizes .................................................................................29
Figura 15 Sistema de equaes..............................................................................................29
Figura 16 Sistema equaes na forma matricial....................................................................29
Figura 17 Soluo por meio de operaes elementares.........................................................32
Figura 18 Obteno de matriz inversa...................................................................................33
Figura 19 Reflexo do ponto (x,y,z) nos trs planos .............................................................35
Figura 20 Reflexo ao eixo X................................................................................................36
Figura 21 Reflexo na Origem ..............................................................................................37
Figura 22 Rotao em torno do eixo Z ..................................................................................37
Figura 23 Matriz no Excel .....................................................................................................40
Figura 24 1 Passo para operao com matriz no Excel ........................................................40
Figura 25 2 Passo para operao com matriz no Excel ........................................................40
Figura 26 3 Passo para operao com matriz no Excel ........................................................40
Figura 27 Soma no Excel.......................................................................................................41
Figura 28 Escalar no Excel ....................................................................................................41
Figura 29 Multiplicao no Excel..........................................................................................41
Figura 30 Determinante no Excel ..........................................................................................41
Figura 31 Matriz inversa no Excel.........................................................................................41
Figura 32 Transposta no Excel ..............................................................................................41
LISTA DE QUADROS
Quadro 1 Principais funes do Excel para clculo matricial ...............................................41
Quadro 2 Frmulas Exemplo 4..............................................................................................52
Quadro 3 Frmulas Exemplo 4..............................................................................................54
Quadro 4 Tipos de Variveis (Fonte: Ajuda do Visual Basic) ..............................................76
Quadro 5 Estruturas de Controle ...........................................................................................78
Quadro 6 Reaes Ansys e Planilha (Exemplo 5) .................................................................94
Quadro 7 Deslocamentos nodais Ansys e Planilha (Exemplo 5) ...........................................94
Quadro 8 Foras e tenses axiais Ansys e Planilha (Exemplo 5) ..........................................94
Quadro 9 Dados do Exemplo 6 .............................................................................................95
Quadro 10 - Dados do Exemplo 6 ............................................................................................95
Quadro 11 Resultado do Exemplo 6 reaes nodais .............................................................95
Quadro 12 Resultado do Exemplo 6, deslocamentos nodais.................................................95
Quadro 13 - Resultado do Exemplo 6, fora e tenso axial .....................................................96
Quadro 14 Coordenadas (Exemplo 7) ...................................................................................97
Quadro 15 Elementos (Exemplo 7) .......................................................................................97
Quadro 16 - Resultado do Exemplo 7, reaes nodais .............................................................98
Quadro 17 - Resultado do Exemplo 7, deslocamentos nodais .................................................99
Quadro 18 - Resultado do Exemplo 7, foras e tenses axiais.................................................99
Quadro 19 Clulas Nmero de elementos e Numero de ns...............................................111
Quadro 20 Frmulas colunas G, H e I .................................................................................111
Quadro 21 Frmulas coluna X ............................................................................................112
Quadro 22 Frmulas coluna AA, AB e AC.........................................................................112
Quadro 23 Frmulas coluna AD, AE e AF .........................................................................112
Quadro 24 Frmulas coluna AG, AH e AI..........................................................................112
Quadro 25 Frmulas coluna AJ e AK .................................................................................112
Quadro 26 Frmulas coluna AN e AO ................................................................................112
Quadro 27 Frmulas coluna AP e AQ.................................................................................112
Quadro 28 Frmulas coluna AR e AS .................................................................................113
CAD
CAE
MEF
VBA
SUMRIO
1 INTRODUO ........................................................................................................17
2 CONCEITOS TERICOS ELEMENTOS FINITOS ..........................................18
2.1 Histrico (SORIANO, 2003)...................................................................................18
2.2 Teoria do Mtodo dos Elementos Finitos................................................................19
2.2.1 Funcionamento do Mtodo de Elementos Finitos................................................20
2.2.2 Comparao entre solues exatas e solues por Elementos Finitos .................21
2.2.3 Procedimentos gerais para anlise por elementos finitos.....................................25
3 LGEBRA MATRICIAL E EXCEL .....................................................................26
3.1 Nomenclaturas Usadas ............................................................................................27
3.2 Operaes com Matrizes .........................................................................................28
3.3 Sistema de Equaes e Matrizes..............................................................................29
3.4 Solues...................................................................................................................30
3.4.1 Obteno de Sistemas Equivalentes atravs de Operaes Elementares .............30
3.4.2 Inverso de matriz ................................................................................................32
3.5 Transformaes Lineares.........................................................................................34
3.5.1 Reflexes ..............................................................................................................35
3.5.2 Rotao .................................................................................................................37
3.5.3 Translao.............................................................................................................38
3.5.4 Projeo ................................................................................................................38
3.5.5 Escala....................................................................................................................39
3.6 Uso do Excel............................................................................................................39
4 MATRIZ DE RIGIDEZ, ELEMENTO TIPO MOLA E BARRA ......................42
4.1 Elemento Mola Linear .............................................................................................42
4.2 Elemento Barra Elstica ..........................................................................................47
4.3 Energia de Deformao e 1 Teorema de Castigliano.............................................49
5 TRELIA..................................................................................................................59
5.1 Trelia Plana ............................................................................................................59
5.1.1 Trelia Simples .....................................................................................................60
5.2 Trelias Espaciais ....................................................................................................61
17
1 INTRODUO
18
19
20
satisfazer exatamente qualquer ponto. Ou seja, capaz de obter solues exatas para
qualquer que seja o ponto Px, y dentro do domnio. Porm para obter solues em
domnios de geometria complexa demorado e pode ser invivel. Para estes casos o
MEF prope uma poderosa tcnica para obteno de solues aproximadas e junto da
computao digital possvel encontrar solues para problemas de engenharia
complexos com boa preciso.
(1)
21
22
23
0,025
Delta Real
Delta (MEF) para 1 elementos
Delta (MEF) para 2 elementos
Delta (MEF) para 5 elementos
0,02
Delta
0,015
0,01
0,005
0
0
0,2
0,4
0,6
x
0,8
1,2
24
Convergncia do Delta
0,025
Soluo Exata
Deltas
0,02
0,0193
0,0189
0,0178
0,015
Delta (x=L)
0,0143
0,01
0,0079
0,005
0,0040
0
0
10
15
20
N de Elementos
12
7HQVmR
Tenso (MEF) para 1 elemento
Tenso (MEF) para 2 elemento
10
Tenso
0
0
0,5
1,5
2,5
O refinamento para este problema poderia ser feito com mais de 20 elementos,
porm necessrio o usurio compreender as necessidades exigidas para cada projeto
e depender tambm da experincia e conhecimento terico de cada engenheiro.
Lembrando que quanto maior o refinamento maior ser o uso de capacidade e tempo
25
26
21 a22 .. a2 n
v1
v
2
vm
^v1
v2 vn `
27
In
1
0
0 ... 0
1 .. 0
0 ... 1
21 a22 .. a2 n transposta
o At
a11
a
12
a1n
a21
a22
a2 n
... am1
.. am 2
... anm
28
kA k
21 ka22 .. ka2 n
Ar B
a11
a
21
a m1
a12
a 22
am2
a1n b11
a 2 n b21
r
... a mn bm1
...
..
b12
b22
bm 2
b1n
b2 n
... bmn
...
..
a11 r b11
a r b
21
21
a m1 r bm1
r b1n
r b2 n
r bmn
Multiplicao entre matrizes s pode ser feita se, e somente se, a matriz A de
ordem m x p multiplicar uma matriz B de ordem p x n, a matriz resultante desta
operao ser a matriz C de ordem m x n onde os elementos cij so dados pela equao
(2):
cij
(2)
29
AB
a11
a
21
a m1
a m 2 ... a mp b p1 b p 2 ... b pn
a11b12 a12b22 ... a1 pbp 2 ... a11b1n a12b2 n ... a1 pbpn
a21b12 a22b22 ... a2 pbp 2 .. a21b1n a22b2 n ... a2 pbpn
...
..
a m1 x1 a m 2 x 2 ... a mn x n c m
Figura 15 Sistema de equaes
a m1
a12
a 22
am2
a1n x1
a 2 n x 2
... a mn x n
...
..
c1
c
2
c m
30
Um dos pr-requisitos para que um sistema de equaes lnear tenha uma nica
soluo a quantidade de incgnitas ser igual quantidade de equaes, portanto as
matrizes geralmente sero quadradas e tero ordem m x n com m=n.
3.4 Solues
Exemplo 1
Veja a seguir um exemplo do procedimento.
Todas as operaes so descritas indicando a linha que est sofrendo alterao e
a operao que esta sendo feita. Abaixo cada linha est sendo multiplicada por um
nmero para que todos os coeficientes de x sejam iguais a 1.
31
1
L1
2
o
2 x 4 y 6 z 10
1
L2
4
4 x 2 y 2 z 16 o
1
3
2 x 8 y 4 z 24 L
2
o
y z
L23
4 o
x
2 2
x 4 y 2 z 12
x 2 y 3z 5
L2 L2 L1
x 4 y 2 z 12 o
y z
3 L3 L1
x
4 L
o
2 2
x 2 y 3z 5
L2
2
x
y
z
0
2
7
o
2
3
0 x 3 y 7 z 1 L
3
o
2
2
x 2 y 3z 5
z 7
0 x y
2 2
7z
2 L3 L3 L 2
0 x y 3 3 o
x 2 y 3z 5
z 7
0 x y
2 2
17 z
17 L3 17
x
y
0
0
o
6
6
z
0 x y
2
0 x 0 y z
1 L1 3 L3
5 L
o
1
L 2 L 2 L3
2
7
o
2
1
1 L1 2 L 2
x 2 y 0 z 8 L
o
0 x y 0 z 3
0 x 0 y z 1
x 0 y 0z 2
0 x y 0 z 3
0 x 0 y z 1
32
0 0 1 z
2
3
1
a21
am1
a12
a22
am 2
... a1n
.. a2 n
... amn
c1
1 0 ... 0 s1
c2 operaes elementares 0 1 .. 0 s2
o
cm
0 0 ... 1 s m
>A@^X ` ^C`
(3)
(4)
(5)
33
>A I @ o>I A @
operaes
1
elementares
Exemplo 2
Para exemplificar ser usada a matriz do sistema do Exemplo 1.
1 2
2 4 6 1 0 0 L
o
L2 1 4
o
4 2 2 0 1 0
L3 1 2
2 8 4 0 0 1 o
2 x 4 y 6 z 10
4 x 2 y 2 z 16 o
2 x 8 y 4 z 24
1 2 3 1 2
1 4 2 0
1 1 2 1 2 0
1 2 3 1 2
1 1
2
4
0 1
7
1
0 1
3 3
0
0
1
1 2 3 1 2
1
1
4
2
0 1
0 0 1 7 34
1 0 0 6 34
5
0 1 0 34
0 0 1 7 34
0
L2 L2 L1
1
o
2
L3 L3 L1
0 o
0
0
1
34
1
17
2
2
3
3
1
1
1 2
0 1
0 0
1 L1 3 L3
0 L
o
L2 L2 1 2 L3
1
o
4
3
34
1
17
34
0
0
1
4
3 L3 L2
0 L
o
0
0
1 2 3 1 2
1
1
2 0
1 2
1 4 2 0
3
1
17
1
4
6
3 17
1 L
o
4
0
0
2
4
12
0
L2 12
1
o
2
L3 2 3
0 o
0
0
1
1 2 0 4 34
5
0 1 0 34
0 0 1 7 34
17
1
34
1
17
0
1
0
L23
0 o
1
2
1 L1 2 L2
L
o
7
34
3
34
34
34
3
34
5
34
Para comprovar que esta a matriz inversa, situado no lado direito do trao
vertical, basta multiplic-la pela matriz dos coeficientes. O resultado ser a matriz
identidade.
6 34
5
34
7 34
34
1
34
1
17
2 4 6
7 4
34
2 2
3 2
8 4
34
5
34
1 0 0
0 1 0
0 0 1
6 34
5
34
7 34
34
1
34
1
17
10
7 16
34
3 24
34
5
34
2
3
1
34
Sistema Linear
Para o caso do sistema linear compatvel determinado existir uma nica soluo,
a matriz com os coeficientes ser inversvel. E a soluo na forma matricial tem a
seguinte aparncia:
1 0 0 x 2
0 1 0 y 3
0 0 1 z 1
0 0 0 z
2
3
0
0 0 0 z
2
3
1
T(u+v)=T(u)+T(v)
35
II
T(ku)=kT(u)
para u, v V e k R .
Na computao o uso das transformaes lineares se d atravs da forma
matricial. A seguir algumas transformaes mais utilizadas.
3.5.1 Reflexes
A equao (6) refere-se a reflexo ao plano XOY, equao (7) ao plano XOZ e
equao (8) ao plano YOZ.
1 0 0 x
0 1 0 y
0 0 1 z
1 0 0 x
0 1 0 y
0 0 1 z
1 0 0 x
0 1 0 y
0 0 1 z
(6)
(7)
(8)
36
1 0 0 x
0 1 0 y
0 0 1 z
(9)
1 0 0 x
0 1 0 y
0 0 1 z
(10)
1 0 0 x
0 1 0 y
0 0 1 z
(11)
37
1 0 0 x
0 1 0 y
0 0 1 z
(12)
3.5.2 Rotao
38
cos T z
senT
z
senT z
cos T z
0 x
0 y
1 z
(13)
cos T x
0
senT x
0 senT x x
1
0 y
0 cos T x z
(14)
x
senT y y
cos T y z
(15)
1
0
0 cos T y
0 senT y
3.5.3 Translao
0 0 vx x
1 0 v y y
0 1 vz z
0 0 1 1
(16)
^x
1
0
z 1`
0
v x
0
1
0
vy
0
0
1
v z
(17)
3.5.4 Projeo
39
no plano z=0. Para projetar em outros planos basta usar a matriz identidade e substituir
o valor 1 por zero no respectivo plano a ser projetado.
1 0 0 x
0 1 0 y
0 0 0 z
(18)
3.5.5 Escala
0
vy
0
0 x
0 y
v z z
(19)
Neste tpico ser apresentado o uso do Excel para realizar clculos matriciais.
Cada linha e coluna das clulas do Excel podem ser consideradas linhas e colunas
de uma matriz. A Figura 23 mostra valores destacados no quadro vermelho e pode ser
considerada uma matriz de ordem 3x3. Esses valores so os mesmo usados nos
Exemplo 1e Exemplo 2.
40
Sero mostradas algumas operaes que pode ser feita com matrizes.
De forma geral as operaes com matrizes no Excel seguem os seguintes passos:
41
Quadro 1 Principais funes do Excel para clculo matricial
Operao
Soma
Barra de Formula
=Clulas1+Clulas2
Exemplo
Produto
=Escalar*Clulas
Escalar
Figura 28 Escalar no Excel
Produto
=MATRIZ.MULT(Clulas1;Clulas2)
Matricial
Figura 29 Multiplicao no Excel
Determinante =MATRIZ.DETERM(Clulas)
Matriz
=MATRIZ.INVERSO(Clulas)
Inversa
Figura 31 Matriz inversa no Excel
Transposta
=TRANSPOR(Clulas)
42
O calculo matricial a forma pela qual o MEF trabalha. E por essa razo foi
adotado e popularizou-se no meio computacional. A matriz de rigidez a matriz de
maior importncia dentro do mtodo. nela que esto embutidas as principais
informaes para a soluo do problema, como tipo de elemento finito usado,
geometria, propriedade dos materiais, conexo entre os elementos, ou seja, a matriz de
rigidez traduz o comportamento do sistema. Conforme o estimulo externo atuante
sobre o sistema a ser analisado, a matriz de rigidez mostrar como o sistema reagir.
Os estmulos externos so diversos, para cada tipo de problema pode ser empregado
um ou mais tipo, alguns exemplos so: carregamento, fora, fluxo de calor, etc.
O uso do termo rigidez bem apropriado, pois a matriz mostrar tambm o
quanto difcil ou fcil tirar o sistema de seu estado inicial, de forma paralela pode-se
comparar a matriz de rigidez ao mdulo de rigidez da mola, quanto maior seu valor
mais difcil para comprimi-la ou tracion-la e quanto menor o valor mais fcil para
deform-la.
O uso da mola nestas analogias no uma coincidncia, ela utilizada como
forma comparativa nos estudos mais bsicos de MEF e Resistncia dos Materiais.
kG
(20)
43
u j ui
(21)
Para o equilbrio f i f j
0 fi
k (u j ui )
(22)
k (u j ui )
(23)
fj
k (u j ui )
(24)
k ui
k u j
fi
fj
(25)
>ke @^u` ^ f `
(26)
Onde,
>ke @
k
k
k
k
(27)
44
(28)
Exemplo 3
Considere um sistema formado por duas molas, definido conforme a Figura 34:
45
k1 u1(1) f1(1)
k1 u2(1) f 2(1)
(29)
k2
k
2
k 2 u2( 2 ) f 2( 2 )
k 2 u3( 2 ) f 3( 2 )
(30)
possvel notar algumas relaes entre o sistema global com os sistemas locais
acima, que so:
u1(1)
u
(1)
2
u3( 2 )
U1
( 2)
2
(31)
U2
(32)
U3
(33)
O sistema global possui a matriz de rigidez global da ordem 3x3, j que possui 3
ns e portanto 3 graus de liberdade. Desse modo necessrio tornar a matriz de rigidez
do sistema local para o tamanho compatvel (3x3). Para isso adiciona-se 0 (zeros) nas
respectivas linha e colunas das matrizes locais no qual falta a representao da varivel
deslocamento. O sistema deste exemplo ficar do seguinte modo:
k1
k
1
0
k1 0 U1
k1 0 U 2
0 0 U 3
f1(1)
(1)
f2
0
(34)
0 U1
k 2 U 2
k 2 U 3
0
( 2)
f2
f ( 2)
3
(35)
0 0
0 k
2
0 k 2
46
k1
k
1
0
k1
k1 k 2
k2
0 U1
k 2 U 2
k 2 U 3
f1(1)
(1)
( 2)
f2 f2
f ( 2)
3
(36)
f
(1)
2
f 3( 2 )
F1
( 2)
2
(37)
F2
(38)
F3
(39)
k1
k1 k 2
k2
0 U1
k 2 U 2
k 2 U 3
F1
F2
F
3
(40)
[ K ]{U } {F }
Note que foram usadas letras minsculas nos elementos do sistema locais e
maisculas para o sistema global, alm de numeraes para diferenciar ns dos
elementos mola.
Para encontrar a soluo do sistema falta aplicar a condio de contorno.
Considere que o n 1 est engastado, portanto no sofrer deslocamento. Para aplicar a
condio de contorno basta eliminar as linhas e colunas da matriz e dos vetores na
posio correspondente ao n restringido, neste caso o as linhas 1 da matriz de rigidez
e vetores e coluna 1 da matriz de rigidez. O sistema matricial ficar:
k1 k 2
k
2
k 2 U 2
k 2 U 3
F2
F3
(42)
Agora basta inverter a matriz de rigidez e multiplicar pelo vetor das foras.
U 2
U 3
1
k
1
1
k1
1
k1 F2
k1 k 2 F3
k1k 2
(43)
47
(44)
48
0) ui
u( x
L) u j
(45)
N j (0)
(46)
N i ( L)
N j ( L) 1
(47)
(48)
N j ( x) b0 b1 x
(49)
N i ( x)
x
L
(50)
x
L
N j ( x)
(51)
u ( x)
(52)
Na forma matricial:
u ( x)
>N ( x)
i
ui
N j ( x)
u j
(53)
dG AE dx
(54)
(55)
G
F
AE
L
(56)
49
du
dx
(57)
Hx
(58)
EH x
u j ui
L
(59)
A fora axial :
F
VxA
AE
u j ui
L
(60)
fj
AE
u j ui
L
AE
u j ui
L
(61)
(62)
fi
fj
(63)
>ke @
AE 1 1
L 1 1
(64)
50
&
&
dr
(65)
onde:
&
&
&
dxi dyj dzk
&
dr
(66)
Reescrevendo (66):
&
& y2
& z2
F
dx
i
F
dy
j
F
dz
k
x
y
z
x2
x1
y1
(67)
z1
kG
dG
(68)
1 2
kG
2
(69)
1 AE 2
G
2 L
(70)
2 L AE
1 AE FL
W
2 L AE
1
W
VHV
2
(71)
(72)
(73)
1
VH a energia de deformao por
2
unidade de volume ue. A energia de deformao por unidade de volume dada por:
H
ue
V dH
(74)
(75)
i 1
1
VHV
2
(76)
51
wU
wG i
Combinando as equaes (58), (59) e (74):
fi
1
V xH xV
2
1 2
EH x AL
2
1 u j ui
AL
E
2 L
2
(77)
AE 2
u j 2ui u j ui2
2L
(78)
fi
fj
AE
u j ui
L
AE
u j ui
L
(79)
(80)
Exemplo 4
Ser usado um tronco cilndrico cnico, as informaes j foram usadas
anteriormente no tpico 2.2.2, veja a Figura 37.
x
r0 rL
L
(81)
S r x
S r0 r0 rL
L
(82)
52
xi 1
xi
F
dx
A x E
F
E
xi 1
xi
dx
x
S r0 r0 rL
L
(83)
FL2
1
1
(84)
longo do comprimento ser obtido o resultado da Figura 38. Est a soluo exata do
problema.
Clulas Frmulas
A9
B9
C9
=$B$4/20+A8
=$E$2*$B$4^2/(PI()*$E$3*$H$4)*(1/($H$3-A9*$H$4)-1/($H$3-$A$8*$H$4))
=B9*$E$3/$B$4
53
Pr-processamento
Discretizar o domnio da soluo em elementos finitos (gerao de malha), a
barra ser discretizada em ns e elementos conforme Figura 39. A exatido do
problema ser dada pela quantidade de ns e elementos adotados. Est sendo
assumindo 20 elementos de comprimentos iguais e 21 ns, as reas mdias estipuladas
so dadas por:
Ai
Ai 1 Ai
2
(85)
>K @
eq
k1
k
1
0
0
0
0
k1
k1 k 2
k2
k2
k 2 k3
k3
0
0
0
0
k3
0
0
0
0
k3 k 4
k4
0
0
k4
k 4 k5
0
0
0
0
0
0
0
0
k 20 k 21
k 21
0
0
0
0
0
k 21
k 21
(86)
54
Para obter a soluo ser aplicada a condio de contorno. Como a barra est
engastada, portanto u1=0 tambm informado que na outra extremidade da barra
possui um carregamento F. Ento o sistema de equaes lineares fica:
k1 k 2
k
2
0
0
0
k2
k 2 k3
k3
0
0
k3
k3 k 4
0
0
k4
k4
k 4 k5
0
0
0
0
0
0
0
0
0
0
k 20 k 21
k 21
u2
u
3
u4
0 u5
k 21 u20
k 21 u21
0
0
0
0
0
0
0
0
F
(87)
Clulas Frmulas
E8
E9
F8
G8
I9
J9
=0
=SE(($B$4/$H$2+E8)>$B$4;$B$4;$B$4/$H$2+E8)
=$B$2-E8*$H$4/$B$4
=PI()*F8^2
=(G8+G9)/2
=I9*$E$3/($B$4/$H$2)
55
Fase de Soluo
Resolver o sistema de equaes, para resolver o sistema de equaes lineares
basta inverter a matriz de rigidez descrito em (87) (j com a condio de contorno
aplicada) e multiplic-la pelo vetor das foras nodais.
> @
Onde K '
eq
1
^u '`
>K @
'
eq
1
^ f '`
(88)
56
Ps-processamento
No ps-processamento sero obtidas outras informaes.
A informao que pode ser obtida atravs dos deslocamentos a tenso normal,
dada pela equao (59). Atravs do Excel ser obtido o seguinte resultado:
57
Outra informao que pode ser obtida so as foras de reao Ri nos ns da barra,
fornecida por:
>K @^u` ^ f `
^R`
(89)
eq
Tem-se ento:
R1
R
2
R3
R4
R5
R20
R
21
k1
k
1
0
0
0
0
k1
k1 k 2
k2
k2
k 2 k3
k3
0
0
0
k3
k3 k 4
k4
0
0
0
0
0
0
0
0
0
0
k4
0
k 4 k5
0
k 20 k 21
0
k 21
0
R1
R
2
R3
R4
R5
R20
R
21
F
0
0
0
0
0
0
0 u1 0
0 u 2 0
0 u3 0
0 u4 0
0 u5 0
k 21 u 20 0
k 21 u 21 F
(90)
Obtm-se a soluo:
(91)
58
0,01
Delta
0,008
0,006
0,004
0,002
0
0
0,5
1,5
2,5
7HQVmR0()
7HQVmR5HDO
2,5
Tenso
1,5
0,5
0
0
0,5
1,5
2,5
59
5 TRELIA
Figura 48 (a) Trelia no ideal (b) Trelia ideal (adaptado de BEER e JOHNSTON JNIOR 3 ed.)
60
Segundo Beer e Johnston Jnior (1980) a trelia triangular a trelia rgida mais
elementar e a partir dela pode-se construir trelias rgidas maiores, para isto basta
adicionar mais duas barras a trelia triangular ligadas em diferentes ns existentes e
interligadas a um novo n conforme Figura 51. O processo pode ser repetido diversas
vezes e sempre obter uma trelia rgida. Trelias constitudas desta forma so
conhecidas como trelias simples. Mas nem sempre as trelias simples so constitudas
por formas triangulares. Como mostra a Figura 52 a trelia rgida e construda
adicionado duas barras e no constitudo somente de geometria triangular.
61
Figura 52 Trelia rgida com geometria quadriltera (adaptado de BEER e JOHNSTON JNIOR 3 ed.)
Figura 53 Tipos de Trelia plana (fonte: BEER e JOHNSTON JNIOR 3 ed. p. 219)
Toda vez que barras retas so unidas de forma a construir uma configurao
tridimensional denomina-se a estrutura como trelia espacial.
62
Figura 55 Trelia espacial, totalmente montada no cho, do Centro de Exposies do Anhembi dias
antes de ser erguida por guindastes. (fonte: http://eventoemfoco.wordpress.com/2009/07/08/espacial-doanhembi-ainda-no-chao)
63
64
65
axial da barra. O elemento finito ser exatamente o mesmo que a barra elstica j
apresentada. O sistema de equaes matricial ser a (92) exatamente igual a (63).
AE 1 1 u1
L 1 1 u 4
f1
f4
(92)
possvel realizar esse mesmo processo para todas as outras barras e obter um
sistema de coordenadas locais para cada elemento e um sistema de equaes matriciais
para cada elemento. Porm para montar o sistema global necessrio converter cada
sistema de coordenadas local no sistema de coordenadas global. Essa converso feita
pela matriz transformada.
X i Y j Yi Z j Z i
2
(93)
2YHWRUXQLWiULRpGHILQLGRSRU
O
>
&
&
&
1
X j X i i Y j Yi j Z j Z i k
L
&
&
&
cos T X i cos T Y j cos T z k
(94)
66
&
&
&
&
cos T X
O i
Xi
(95)
&
cos T Y
O j
cos T Z
O k
&
Yi
(96)
L
j
Zi
(97)
(98)
uj
(99)
ui
u j
cos T X
0
>T @
cos T Y
0
cos T X
0
cos T Y
0
cos T Z
0
0
cos T X
cos T Z
0
0
cos T X
0
cos T Y
0
cos T Y
U Xi
U
Yi
0
U Zi
cos T Z U Xj
U Yj
Zj
(100)
0
cos T Z
(101)
(102)
67
cos T X
cos T
Y
cos T Z
0
0
U Xi
Yi
0 1 1 U Zi
>T @
ke
cos T X 1 1 U Xj
U Yj
cos TY
cos T Z
U Zj
0
0
U Xi
U
Yi
1 1 U Zi
>T @T k e
>T @
1 1 U Xj
U Yj
U Zj
cos T X
cos T
Y
cos T Z
0
0
0 fi
cos T X f j
cos TY
cos T Z
f i cos T X
f cos T
Y
i
f i cos T Z
f j cos T X
f j cos T Y
f j cos T Z
0
0
(103)
(104)
sabido que:
FXi
f i cos T X
(105)
FYi
f i cos T Y
(106)
FZi
f i cos T Z
(107)
FXj
f j cos T X
(108)
FYj
f j cos T Y
(109)
FZj
f j cos T Z
(110)
U Zi
>T @T k e
>
@
T
1 1 U Xj
U Yj
Zj
FXi
F
Yi
FZi
FXj
FYj
Zj
(111)
68
>T @T k e
1
1
>T @
1
cos 2 T X
cosT X cosT Y
cosT X cosT Z
ke
2
cos T X
cosT cosT
X
Y
cosT X cosT Z
cosT X cosT Y
cos 2 T Y
cosT Y cosT Z
cosT X cosT Z
cosT Y cosT Z
cos 2 T Z
cos 2 T X
cosT X cosT Y
cosT X cosT Z
cosT X cosT Y
cos 2 T Y
cosT Y cosT Z
cosT X cosT Y
cos 2 T Y
cosT X cosT Z
cosT Y cosT Z
cos 2 T Z
cos 2 T X
cosT X cosT Y
cosT X cosT Y
cos 2 T Y
cosT X cosT Z
cosT Y cosT Z
cosT Y cosT Z
cosT X cosT Z
cosT Y cosT Z
2
cos T Z
cosT X cosT Z
cosT Y cosT Z
cos 2 T Z
>K e @
(112)
cos 2 T X
cos T X cos TY
cos T X cos T Z
ke
2
cos T X
cos T cos T
X
Y
cos T X cos T Z
cos T X cos TY
cos 2 TY
cos TY cos T Z
cos T X cos TY
cos T X cos T Z
cos TY cos T Z
cos 2 T Z
cos T X cos T Z
cos 2 T X
cos T X cos TY
cos T X cos T Z
cos 2 T X
cos T X cos TY
cos 2 TY
cos TY cos T Z
cos T X cos TY
cos 2 TY
cos TY cos T Z
cos TY cos T Z
cos 2 T Z
cos T X cos TY
cos T X cos T Z
cos 2 TY
cos TY cos T Z
cos T X cos T Z U Xi
cos TY cos T Z U Yi
2
U Zi
cos T Z
cos T X cos T Z U Xj
cos TY cos T Z U Yj
U Zj
cos 2 T Z
FXi
F
Yi
FZi
F
Xj (113)
FYj
FZj
A matriz de rigidez agora est maior. Ela indica 6 graus de liberdade por elemento, cada
n pode se deslocar em trs direes.
69
Como pde ser visto no capitulo anterior a matriz de rigidez, para um nico
elemento em trs dimenses com dois ns, exige uma matriz de rigidez global de
ordem 6x6. Para um caso onde existem 4 ns a matriz global exigida seria da ordem
3*nsx3*ns ou 12x12. Escrever manualmente estas matrizes e modific-las caso
necessrio totalmente invivel, demorada e muito suscetvel a erros por parte do
usurio, para casos deste tipo onde uma tarefa repetitiva exigida o Excel tem uma
excelente ferramenta o VBA. Que permite a criao de macros. Macro um pequeno
programa onde realiza tarefas pr-estabelecidas, ela pode ser personalizada e
otimizada caso o usurio conhea a linguagem de programao nativa. A linguagem de
programao usada a Microsoft Visual Basic for Aplications (VBA), baseado no
Visual Basic esta linguagem voltada, como o prprio nome diz, para aplicaes, est
presente em vrios softwares e em quase todos os aplicativos do Microsoft Office.
70
visvel na barra de ferramentas, alm do boto para acessar o cdigo fonte ele
apresenta outros recursos conforme mostra a figura abaixo.
71
Aperte no OK a partir de agora todas as aes feita pelo usurio ser gravada.
Aps a execuo de todas as aes desejadas aperte no boto Parar Gravao:
A janela para selecionar a macro surgir, selecione a macro que ser executar e
aperte OK. O macro ser executado conforme foi criada. Outras aes podem ser
tomadas nesta janela como excluir um macro criado, editar e depurar.
72
Figura 72 - Mdulo
73
Figura 75 Propriedades
74
75
possvel associar os valores assumidos por ele com uma clula da planilha,
para isso basta acessar a propriedade LinkedCell e informar qual clula ser associada.
Pode se alterar os valores mximos e mnimos alterando a propriedade Max e Min.
76
Tipo de dados
Byte
Boolean
Tamanho de
armazenamento
1 byte
2 bytes
Intervalo
de 0 a 255
True ou False
77
Integer
Long
(nmero inteiro
longo)
2 bytes
de -32.768 a 32.767
4 bytes
de -2.147.483.648 a 2.147.483.647
4 bytes
Double(vrgula
flutuante de dupla
preciso)
8 bytes
de 1,79769313486231E308 a
-4,94065645841247E-324 para valores
negativos; de 4,94065645841247E-324 a
1,79769313486232E308 para valores
positivos.
Currency
(nmero inteiro em
escala)
8 bytes
de -922.337.203.685.477,5808 a
922.337.203.685.477,5807
Single
(vrgula flutuante de
preciso simples)
Decimal
14 bytes
Date
8 bytes
Objeto
String
(comprimento
varivel)
String
(comprimento fixo)
Variant
(com nmeros)
4 bytes
10 bytes +
comprimento da
sequencia
Comprimento da
sequencia
+/-79.228.162.514.264.337.593.543.950.335
sem vrgula decimal;
+/-7,9228162514264337593543950335 com
28 casas decimais direita; o menor nmero
diferente de zero
+/-0,0000000000000000000000000001.
De 1 de janeiro de 100 a 31 de dezembro de
9999
Qualquer referncia Object
De 0 a aproximadamente 2 bilhes
De 1 a aproximadamente 65.400
16 bytes
Variant
(com caracteres)
22 bytes +
comprimento da
sequencia
Definido pelo
usurio
(usando Type)
Nmero requerido
por elementos
78
Controle
If -Then - Else
For Next
Do While Loop
Do Until Loop
Uso
Testa uma condio e executa um determinado conjunto de
instrues para um caso TRUE e outro conjunto de instrues
para o caso FALSE.
Executa uma determinada tarefa um determinado nmero de
vezes.
Executa uma determinada tarefa enquanto que a avaliao de
uma condio permanea TRUE.
Executa uma determinada tarefa enquanto que a avaliao de
uma condio at que seja TRUE.
79
Select - Case
For Each Next
6.6 Algoritmos
80
obtida atravs do produto vetorial das matrizes de rotao (13), (14) e (15). O vetor
translao obtido pelo produto vetorial entre a matriz de rotao e o vetor posio.
As clulas destacados em roxo so os ngulo de rotao em graus e as clulas
destacadas em amarelos so os ngulos convertidos em radianos.
Em outra parte da planilha ser digitada as coordenadas dos ns do desenho,
conforme Figura 82.
Figura 82 Coordenadas do n
A coluna J precisar conter valores iguais a 1, pois ser multiplicada pela matriz
de rotao e o vetor posio.
Para obter as coordenadas projetadas no plano ortogonal ao eixo Z, usa-se a
funo do Excel =MATRIZ.MULT(G2:J33;B2:D5)*B15 e aplicando somente em duas
colunas, conforme a equao (18) s so necessrio as coordenadas X e Y. O resultado
ser conforme Figura 83.
81
Figura 84 Elementos e ns
Para
exibir
as
coordenadas
=PROCV(O2;$F$2:$L$33;6),
Figura 85 - Elementos e ns
de
cada
elemento
use
as
funes
=PROCV(O2;$F$2:$L$33;7),
82
83
'insere a clula da coluna 18 e 20 nos valores de Y
.Values = "=(Plot!R" & i & "C18,Plot!R" & i & "C20)"
.ApplyDataLabels 'exibe os Rtulos dos pontos
'os dois comando abaixo modifica o texto dos Rtulos
.Points(1).DataLabel.Text = Worksheets("Plot").Cells(i, 15).Value
.Points(2).DataLabel.Text = Worksheets("Plot").Cells(i, 16).Value
'as linhas abaixo so formatao das linhas e pontos
.DataLabels.Font.ColorIndex = 1
.Points(1).DataLabel.Font.FontStyle = "Negrito"
.Points(1).DataLabel.Font.Size = 11
.Points(2).DataLabel.Font.FontStyle = "Negrito"
.Points(2).DataLabel.Font.Size = 11
.Border.ColorIndex = 4
.MarkerBackgroundColorIndex = 4
.MarkerForegroundColorIndex = 4
.MarkerStyle = xlCircle
End With
i=i+1
Loop
'as linhas abaixo formata o grfico
newchart.PlotArea.Interior.ColorIndex = xlNone
With newchart.Axes(xlValue)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart.Axes(xlCategory)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart
.HasAxis(xlCategory, xlPrimary) = False
.HasAxis(xlValue, xlPrimary) = False
End With
'os trs comandos abaixo reativa a atualizao da tela,
'eventos do Excel, o calculo automtico das clulas
'e torna visvel o grfico
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlAutomatic
newchart.Visible = True
'coloca o grfico na planilha Plot
newchart.Location Where:=xlLocationAsObject, Name:="Plot"
'altera a dimenso e posio do grfico
ChartObjects.Width = 620
ChartObjects.Height = 620
ChartObjects.Left = 200
ChartObjects.Top = 0
'exibe uma caixa de mensagem exibindo o tempo de execuo da macro
MsgBox "Calculo concludo. Tempo de execuo foi de " & Minute(Now - antes) & ":" & Second(Now - antes)
84
Volte para planilha e desative o Modo design. Para executar a macro basta dar
um clique no boto criado. O resultado ser algo semelhante a Figura 87. Pode-se
melhorar a visualizao do desenho basta alterar as clulas do ngulo de rotao,
posio ou zoom. Manualmente seria possvel construir o desenho, mas demoraria
muito, pela macro demorou 6 segundos (depender das caractersticas de cada
computador).
85
Cdigo Fonte 2 Inverso de Matriz
Private Sub CommandButton1_Click()
Dim antes As Variant
antes = Now
Dim i As Long
Dim j As Long
Dim k As Long
Dim a As Double
Dim celulas As Variant
Dim ordem As Integer
Dim matriz() As Variant
Dim inversa() As Double
'O comando abaixo exibe um InputBox para selecionar a matriz a ser invertida e armazena na varivel celulas
Set celulas = Application.InputBox("Selecione as clulas da matriz a ser invertida?","Inversa", Type:=8)
'verifica o tamanho da matriz e se a clula quadrada
If celulas.Columns.Count = celulas.Rows.Count Then
ordem = celulas.Columns.Count 'ordem da matriz
Else
MsgBox "A matriz no quadrada."
Exit Sub
End If
ReDim matriz(ordem, ordem)
ReDim inversa(ordem, ordem)
matriz = celulas.Value2 'Armazena os valores de celulas num array
Application.ScreenUpdating = False 'Este comando desativa a atualizao da tela
Application.Calculation = xlManual 'Este comando desativa o calculo automtico das clulas
Application.EnableEvents = False 'Este comando desativa os eventos do Excel
'lao de repetio que cria uma matriz identidade e armazena na varivel inversa
For i = 1 To ordem
For j = 1 To ordem
If i = j Then
inversa(i, j) = 1
Else
inversa(i, j) = 0
End If
Next j
Next i
'lao de repetio para fazer a triangulao inferior da matriz
For k = 1 To ordem
If matriz(k, k) <> 0 Then
For i = k To ordem
If matriz(i, k) <> 0 And matriz(i, k) <> 1 Then
a = matriz(i, k)
For j = 1 To ordem
matriz(i, j) = matriz(i, j) / a
inversa(i, j) = inversa(i, j) / a
Next j
End If
Next i
For i = k + 1 To ordem
If matriz(i, k) <> 0 Then
For j = 1 To ordem
86
matriz(i, j) = matriz(i, j) - matriz(k, j)
inversa(i, j) = inversa(i, j) - inversa(k, j)
Next j
End If
Next i
Else
MsgBox "No existe Matriz Inversa."
Exit Sub
End If
Next k
'lao de repetio para fazer a triangulao superior da matriz
For k = 1 To ordem - 1
For i = 1 To ordem - 1 - k
If matriz(i, ordem - k) <> 0 Then
a = matriz(i, ordem - k)
For j = 1 To ordem
matriz(i, j) = matriz(i, j) - a * matriz(ordem - k, j)
inversa(i, j) = inversa(i, j) - a * inversa(ordem - k, j)
Next j
End If
Next i
Next k
limpa as informaes da planilha Plan2
Worksheets("Plan2").Cells.Clear
'lao de repetio que transcreve a matriz para a planilha Plan2
For i = 1 To ordem
For j = 1 To ordem
Worksheets("Plan2").Cells(i, j) = inversa(i, j)
Next j
Next i
Application.EnableEvents = True
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
MsgBox "Calculo concludo. Tempo para achar a soluo foi de " & Minute(Now - antes) & ":" & Second(_
Now - antes)
End Sub
Talvez o algoritmo mais importante para o MEF seja aquele que gera a matriz de
rigidez global. O Cdigo Fonte 3 usado para gerar a matriz global no Excel.
Cdigo Fonte 3 Gerar Matriz de Rigidez Global
c1=Cells.Find(what:="k").Column 'coluna dos valores de k
'lao de repetio para gerao da matriz de rigidez global
For n=1 To elemento
i=Cells(n+1,Cells.Find(what:="N i").Column).Value 'no i
j=Cells(n+1,Cells.Find(what:="N j").Column).Value 'no j
r=n+1 'linha da clula do elemento n
For a=0 To 2
For b=0 To 2
c2=Cells.Find(what:="CosZ").Column-a
c3=Cells.Find(what:="CosZ").Column-b
matriz(3*i-a-1,3 *i-b-1)=matriz(3*i-a-1,3*i-b-1)+Cells(r,c1)*Cells(r,c2)*Cells(r,c3)
87
matriz(3*i-a-1,3*j-b-1)=matriz(3*i-a-1,3*j-b-1)-Cells(r,c1)*Cells(r,c2)*Cells(r,c3)
matriz(3*j-a-1,3*i-b-1)=matriz(3*j-a-1,3*i-b-1)-Cells(r,c1)*Cells(r,c2)*Cells(r,c3)
matriz(3*j-a-1,3*j-b-1)=matriz(3*j-a-1,3*j-b-1)+Cells(r,c1)*Cells(r,c2)*Cells(r,c3)
Next b
Next a
Next n
88
7 RESULTADOS
89
Para aplicar as condies de contorno basta digitar 0 (zero) abaixo da coluna UX,
UY e UZ nos ns e direes em que h restrio de movimento. Neste caso, uma
trelia plana, a movimentao dos ns na direo Z so restringidos.
Para verificar se a trelia est conforme desenho clique em Plotar. Ser exibido
um grfico semelhante a Figura 91.
90
Y
Z
91
92
93
94
Quadro 6 Reaes Ansys e Planilha (Exemplo 5)
Ansys Reaes
Planilha Reaes
Ns
FX
FY
FX
FY
FZ
FZ
1 1500,0 0,0000 1500,00
0,00
0,00
0,0000
2
0,00
0,00
0,00
3 -1500,0 1000,0 -1500,00 1000,00 0,00
0,0000
4
0,00
0,00
0,00
5
0,00
0,00
0,00
-
Variaes
FX FY FZ
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Variaes
UZ
UX UY UZ
0
0
0,00E+00 0
0,00E+00 0
0
0
0,00E+00 0
0
0
0,00E+00 0
0
0
0,00E+00 0
0
0
Exemplo 6
Uma trelia espacial conforme a Figura 99 submetida uma carga de 200 lb no
n 2, seu modulo de elasticidade de E=10,6x106 lb/in2 e rea da seco de 1,56 in2.
Deseja-se saber a deflexo no n 2.
95
Variaes
FX
0
0
0
0
FY
0
0
0
0
FZ
0
0
0
0
Variaes
UX UY UZ
0
0
0
0
0
0
0
0
0
0
0
0
96
Quadro 13 - Resultado do Exemplo 6, fora e tenso axial
Ansys
Planilha
Variaes
Elementos Fora Tenso Fora Tenso Fora Tenso
Axial Axial
Axial
Axial Axial Axial
1
-111,80 -71,67 -111,80 -71,67
0
0
2
-111,80 -71,67 -111,80 -71,67
0
0
3
50
32,051 50,000
32,051
0
0
4
0
0
0,0000
0,0000
0
0
5
282,84 181,31 282,84
181,31
0
0
6
0
0
0,000
0,000
0
0
Y
3
X
Z
1
97
Mas considerando estes valores so muito prximos dos valores obtidos no Ansys
(zero) pode-se dizer que no existe divergncia.
O exemplo seguinte ir testar a capacidade da planilha calcular matrizes inversas
maiores que 52x52, um limitante no Excel 2003 e verses anteriores.
Exemplo 7
As coordenadas da trelia espacial esto descritas no Quadro 14, os elementos
so descritas no Quadro 15.
Quadro 14 Coordenadas (Exemplo 7)
Ns
N 1
N 2
x
0
0
y
0
0
z
0
72
Ns
N 17
N 18
x
288
288
y
0
0
z
0
72
N 3
N 4
N 5
N 6
N 7
N 8
N 9
N 10
N 11
N 12
N 13
N 14
N 15
N 16
0
0
72
72
72
72
144
144
144
144
216
216
216
216
72
72
0
0
72
72
0
0
72
72
0
0
72
72
72
0
0
72
72
0
0
72
72
0
0
72
72
0
N 19
N 20
N 21
N 22
N 23
N 24
N 25
N 26
N 27
N 28
N 29
N 30
N 31
N 32
288
288
360
360
360
360
432
432
432
432
504
504
504
504
72
72
0
0
72
72
0
0
72
72
0
0
72
72
72
0
0
72
72
0
0
72
72
0
0
72
72
0
N i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
N j
2
3
4
1
6
7
8
5
10
11
12
9
14
15
16
13
18
19
20
17
22
23
24
21
Elementos
Elemento 25
Elemento 26
Elemento 27
Elemento 28
Elemento 29
Elemento 30
Elemento 31
Elemento 32
Elemento 33
Elemento 34
Elemento 35
Elemento 36
Elemento 37
Elemento 38
Elemento 39
Elemento 40
Elemento 41
Elemento 42
Elemento 43
Elemento 44
Elemento 45
Elemento 46
Elemento 47
Elemento 48
N i
25
26
27
28
29
30
31
32
1
5
9
13
17
21
25
2
6
10
14
18
22
26
4
8
N j
26
27
28
25
30
31
32
29
5
9
13
17
21
25
29
6
10
14
18
22
26
30
8
12
Elementos
Elemento 49
Elemento 50
Elemento 51
Elemento 52
Elemento 53
Elemento 54
Elemento 55
Elemento 56
Elemento 57
Elemento 58
Elemento 59
Elemento 60
Elemento 61
Elemento 62
Elemento 63
Elemento 64
Elemento 65
Elemento 66
Elemento 67
Elemento 68
Elemento 69
Elemento 70
Elemento 71
Elemento 72
N i
12
16
20
24
28
3
7
11
15
19
23
27
1
8
9
16
17
24
25
3
6
11
14
19
N j
16
20
24
28
32
7
11
15
19
23
27
31
8
9
16
17
24
25
32
6
11
14
19
22
Elementos
Elemento 73
Elemento 74
Elemento 75
Elemento 76
Elemento 77
Elemento 78
Elemento 79
Elemento 80
Elemento 81
Elemento 82
Elemento 83
Elemento 84
Elemento 85
Elemento 86
Elemento 87
Elemento 88
Elemento 89
Elemento 90
Elemento 91
Elemento 92
Elemento 93
Elemento 94
Elemento 95
Elemento 96
N i
22
27
1
6
9
14
17
22
25
3
8
11
16
19
24
27
1
6
9
14
17
22
25
30
N j
27
30
6
9
14
17
22
25
30
8
11
16
19
24
27
32
3
8
11
16
19
24
27
32
Nos ns 1, 2, 3 e 4 tm restrio nas trs direes. Nos ns 7, 8, 11, 12, 15, 16,
19, 20, 23, 24, 27 e 28 so submetidos a um carregamento FY=-250 lb. O modulo de
elasticidade dos elementos E=10,6x106 lb/in2 e rea da seco de 8 in2.
98
11
8
15
12
19
16
23
20
27
13
24
10
31
17
28
14
21
32
18
25
22
29
26
30
FX
5250
5250
-5250
-5250
-
Ansys
FY
1500
0
1500
0
-
FZ
1,26E-11
0
-6,91E-12
0
-
FX
5250
5250
-5250
-5250
0
3,63798E-12
0
3,63798E-12
-1,0914E-11
-3,638E-12
2,50111E-12
0
0
-3,638E-12
5,45697E-12
1,45519E-11
-1,4552E-11
1,81899E-12
3,63798E-12
-1,0914E-11
-1,819E-12
2,91038E-11
-1,819E-12
2,00089E-11
-7,276E-12
-5,457E-12
1,13687E-11
1,81899E-12
-1,819E-12
-4,5475E-12
1,81899E-12
-4,5475E-13
Planilha
FY
1500
0
1500
0
0
0
1,819E-12
1,819E-12
1,0914E-11
0
-7,276E-12
-3,638E-12
0
3,638E-11
7,276E-12
-1,4552E-11
1,4552E-11
0
1,4552E-11
1,4552E-11
0
4,3656E-11
-1,4552E-11
-2,1828E-11
7,276E-11
0
1,4552E-10
-1,4552E-11
0
-7,9581E-11
0
-4,5475E-13
Variaes
FZ
1,4552E-11
0
-1,5461E-11
0
0
1,5916E-12
0
9,0949E-13
1,819E-12
0
-2,9559E-12
0
0
-2,5011E-12
0
1,6371E-11
-5,457E-12
1,819E-12
-1,819E-12
2,7285E-12
0
-6,3665E-12
0
2,4102E-11
-7,7307E-12
-9,0949E-13
7,7307E-12
-9,0949E-13
0
-1,5007E-11
0
9,0949E-12
FX
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
FY
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
FZ
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
Quadro 17 - Resultado do Exemplo 7, deslocamentos nodais
Ns
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
UX
0,0000
0,0000
0,0000
0,0000
-3,1840E-03
-4,4575E-03
3,1840E-03
4,4575E-03
-6,3679E-03
-6,5802E-03
6,3679E-03
6,5802E-03
-7,6415E-03
-8,7028E-03
7,6415E-03
8,7028E-03
-8,9151E-03
-9,3396E-03
8,9151E-03
9,3396E-03
-9,1274E-03
-9,9764E-03
9,1274E-03
9,9764E-03
-9,3396E-03
-9,9764E-03
9,3396E-03
9,9764E-03
-9,3396E-03
-9,9764E-03
9,3396E-03
9,9764E-03
Ansys
UY
0,0000
0,0000
0,0000
0,0000
-8,0598E-03
-8,0598E-03
-8,2721E-03
-8,0598E-03
-2,1887E-02
-2,1887E-02
-2,1887E-02
-2,2099E-02
-3,9359E-02
-3,9359E-02
-3,9572E-02
-3,9359E-02
-5,8778E-02
-5,8778E-02
-5,8778E-02
-5,8991E-02
-7,8871E-02
-7,8871E-02
-7,9083E-02
-7,8871E-02
-9,8787E-02
-9,8787E-02
-9,8787E-02
-9,8999E-02
-1,1810E-01
-1,1810E-01
-1,1810E-01
-1,1810E-01
UZ
0,0000
0,0000
0,0000
0,0000
4,4575E-03
4,4575E-03
4,4575E-03
4,4575E-03
2,5472E-03
2,5472E-03
2,5472E-03
2,5472E-03
4,8821E-03
4,8821E-03
4,8821E-03
4,8821E-03
4,6698E-03
4,6698E-03
4,6698E-03
4,6698E-03
5,7311E-03
5,7311E-03
5,7311E-03
5,7311E-03
6,3679E-03
6,3679E-03
6,3679E-03
6,3679E-03
7,0047E-03
7,0047E-03
7,0047E-03
7,0047E-03
UX
0,0000
0,0000
0,0000
0,0000
-3,1840E-03
-4,4575E-03
3,1840E-03
4,4575E-03
-6,3679E-03
-6,5802E-03
6,3679E-03
6,5802E-03
-7,6415E-03
-8,7028E-03
7,6415E-03
8,7028E-03
-8,9151E-03
-9,3396E-03
8,9151E-03
9,3396E-03
-9,1274E-03
-9,9764E-03
9,1274E-03
9,9764E-03
-9,3396E-03
-9,9764E-03
9,3396E-03
9,9764E-03
-9,3396E-03
-9,9764E-03
9,3396E-03
9,9764E-03
Planilha
UY
0,0000
0,0000
0,0000
0,0000
-8,0598E-03
-8,0598E-03
-8,2721E-03
-8,0598E-03
-2,1887E-02
-2,1887E-02
-2,1887E-02
-2,2099E-02
-3,9359E-02
-3,9359E-02
-3,9572E-02
-3,9359E-02
-5,8778E-02
-5,8778E-02
-5,8778E-02
-5,8991E-02
-7,8871E-02
-7,8871E-02
-7,9083E-02
-7,8871E-02
-9,8787E-02
-9,8787E-02
-9,8787E-02
-9,8999E-02
-1,1810E-01
-1,1810E-01
-1,1810E-01
-1,1810E-01
Variaes
UZ
0,0000
0,0000
0,0000
0,0000
4,4575E-03
4,4575E-03
4,4575E-03
4,4575E-03
2,5472E-03
2,5472E-03
2,5472E-03
2,5472E-03
4,8821E-03
4,8821E-03
4,8821E-03
4,8821E-03
4,6698E-03
4,6698E-03
4,6698E-03
4,6698E-03
5,7311E-03
5,7311E-03
5,7311E-03
5,7311E-03
6,3679E-03
6,3679E-03
6,3679E-03
6,3679E-03
7,0047E-03
7,0047E-03
7,0047E-03
7,0047E-03
UX
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
UY
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ansys
Fora Axial Tenso Axial
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
-250
-31,25
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
-250
-31,25
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
Planilha
Fora Axial Tenso Axial
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
0
0
0
0
0
0
0
0
-250
-31,25
0
0
-250
-31,25
0
0
0
0
1,0216E-12
1,277E-13
0
0
-2,043E-12
-2,55E-13
-250
-31,25
0
0
-250
-31,25
0
0
0
0
-1,022E-12
-1,28E-13
0
0
1,0216E-12
1,277E-13
-250
-31,25
0
0
Variaes
Fora Axial Tenso Axial
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
UZ
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
0
0
0
-3750
-3750
-1500
-1500
-250
-250
0
-5250
-2500
-2500
-750
-750
-1,15E-11
-2,07E-11
5250
2500
2500
750
750
6,90E-12
6,90E-12
3750
3750
1500
1500
250
250
0
-2121,3
1767,8
-1414,2
1060,7
-707,11
353,55
-9,19E-12
2121,3
-1767,8
1414,2
-1060,7
707,11
-353,55
9,19E-12
-1,78E-11
1,41E-11
-1,26E-11
5,17E-12
-1,72E-12
-6,90E-12
4,60E-12
-9,77E-12
7,76E-12
-8,04E-12
4,02E-12
-7,47E-12
6,90E-12
5,75E-13
0
2,30E-12
4,88E-12
4,60E-12
-5,17E-12
1,84E-11
1,15E-11
-1,38E-11
0
0
0
-468,75
-468,75
-187,5
-187,5
-31,25
-31,25
0
-656,25
-312,5
-312,5
-93,75
-93,75
-1,44E-12
-2,59E-12
656,25
312,5
312,5
93,75
93,75
8,62E-13
8,62E-13
468,75
468,75
187,5
187,5
31,25
31,25
0
-265,17
220,97
-176,78
132,58
-88,388
44,194
-1,15E-12
265,17
-220,97
176,78
-132,58
88,388
-44,194
1,15E-12
-2,23E-12
1,76E-12
-1,58E-12
6,46E-13
-2,15E-13
-8,62E-13
5,75E-13
-1,22E-12
9,70E-13
-1,01E-12
5,03E-13
-9,34E-13
8,62E-13
7,18E-14
0
2,87E-13
6,11E-13
5,75E-13
-6,46E-13
2,30E-12
1,44E-12
-1,72E-12
0
0
0
-3750
-3750
-1500
-1500
-250
-250
-2,043E-12
-5250
-2500
-2500
-750
-750
-7,56E-11
-6,947E-11
5250
2500
2500
750
750
5,1078E-11
4,9035E-11
3750
3750
1500
1500
250
250
2,0431E-12
-2121,3203
1767,76695
-1414,2136
1060,66017
-707,10678
353,553391
-4,912E-11
2121,32034
-1767,767
1414,21356
-1060,6602
707,106781
-353,55339
1,2569E-10
-2,023E-11
2,1309E-11
-1,932E-11
2,7066E-11
-1,941E-11
2,7088E-11
-4,086E-11
-2,167E-11
2,2935E-11
-2,257E-11
1,3296E-11
-9,21E-12
4,1084E-12
-2,451E-11
0
0
-3,065E-12
-1,124E-11
2,5539E-12
-2,094E-11
2,1453E-11
3,1668E-11
0
0
0
-468,75
-468,75
-187,5
-187,5
-31,25
-31,25
-2,55E-13
-656,25
-312,5
-312,5
-93,75
-93,75
-9,45E-12
-8,68E-12
656,25
312,5
312,5
93,75
93,75
6,385E-12
6,129E-12
468,75
468,75
187,5
187,5
31,25
31,25
2,554E-13
-265,165
220,97087
-176,7767
132,58252
-88,38835
44,194174
-6,14E-12
265,16504
-220,9709
176,7767
-132,5825
88,388348
-44,19417
1,571E-11
-2,53E-12
2,664E-12
-2,42E-12
3,383E-12
-2,43E-12
3,386E-12
-5,11E-12
-2,71E-12
2,867E-12
-2,82E-12
1,662E-12
-1,15E-12
5,135E-13
-3,06E-12
0
0
-3,83E-13
-1,4E-12
3,192E-13
-2,62E-12
2,682E-12
3,959E-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
3
7
4
11
8
15
12
19
16
23
20
27
13
24
10
31
17
28
14
21
32
18
25
22
29
26
30
X
Z
102
8 CONCLUSO
103
REFERNCIAS BIBLIOGRFICAS
HUTTON, D. V.; Fundamentals of Finite Element Analysis. 1st ed. New York
McGraw-Hill, 2004. 494p.
MOAVENI, S.; Finite Element Analysis Theory and Application with Ansys.
2nd ed. New Jersey. Prentice Hall, 2003. 822p.
Ajuda do Microsoft Visual Basic. Disponvel em: <F1> no editor do Visual Basic.
Acesso em: 5 jan. 2011.
104
BIBLIOGRFIA
Projetos
Industriais.
Disponvel
em:
<http://www.technica.com.br/site/query_result.php?var=artigos_malhas_espaciais>.
Acesso em: 29 jan. 2011.
Disponvel
em:
Federal
de
Santa
Catarina.
Disponvel
<http://www.arq.ufsc.br/arq5661/trabalhos_2003-2/trelicas/historico.htm>.
em:
Acesso
Orthographic
Projection.
Disponvel
em:
105
APNDICE A
Neste apndice ser mostrada a planilha criada para realizar os clculos do
capitulo 7, as frmulas usadas na planilha e os cdigos fonte do VBA.
Facilitando a sua reproduo e compreenso.
106
3 Passo: Aperte no boto Plotar, ser gerado um grfico, conforme Figura 109.
107
108
109
Aps o boto Soluo ter sido apertado esta planilha pode ter as informaes
iniciais alteradas (coordenadas, foras nos ns, rea da seco, modulo de elasticidade
e travamento dos ns) e o resultado final ser modificado imediatamente, desde que
no adicione mais elementos neste caso necessrio aperta o boto soluo
novamente. Isso ocorre porque a planilha foi automatizada de forma a vincular as
informaes iniciais as matrizes e os resultados finais.
Para as verses do Excel anteriores a 2003 que tenham matrizes de rigidez
maiores que 52x52 (ou seja mais de 17 ns), ser preciso apertar o boto soluo para
110
que as modificaes sejam atualizadas. Caso a verso do Excel seja a 2003 ou anterior
e a matriz a ser calculada seja maior que 52x52 os valores na planilha da Matriz so
fixos.
Uma observao a ser feita que todos os valores inseridos e gerados no
possuem unidades, fica sob responsabilidade do usurio passar as informaes com os
valores no formato adequado. Por exemplo, se o problema estiver definido no sistema
internacional (SI) todos os valores devero estar no formato compatveis, as distncias
e comprimentos em metros [m], modulo de elasticidade em Pascal [kg.m/s2/m2], foras
em Newton [kg.m/s2] e as reas em metros quadrados [m2].
A aba Matriz tambm gerada quando o boto Soluo apertado. Nesta
planilha conter as matrizes usadas para os clculos da soluo.
So geradas quatro matrizes destacadas nas cores laranja, verde, amarelo e azul.
A matriz em laranja a matriz de rigidez sem condio de contorno.
A matriz verde a matriz de rigidez com as condies de contorno aplicadas.
A matriz amarela a inversa da matriz verde.
A matriz azul a matriz usada para multiplicar o vetor das foras.
111
Neste trabalho, sempre que possvel, usou os recursos padres do Excel para
automatizar os clculos para soluo dos problemas. Algumas clulas da planilha
Dados foram ocultadas para facilitar a visualizao das informaes. Neste tpico
sero mostradas as formulas que esto ocultas, para facilitar sua reproduo.
Abaixo so mostradas as frmulas das clulas D28 e D29.
Quadro 19 Clulas Nmero de elementos e Numero de ns
D
28 =CONT.SE(X:X;">0")
29
=CONT.SE(J:J;">0")
As colunas G, H, I e N possuem as clulas para realizar a projeo para Plotar
a trelia. As colunas O e P apresentar as coordenadas para projeo. As frmulas e
valores das colunas N, O e P so geradas pelo boto Plotar.
=COS(H7)*COS(I7)
=-COS(G7)*SEN(I7)+SEN(G7)*SEN(H7)*COS(I7)
=SEN(G7)*SEN(I7)+COS(G7)*SEN(H7)*COS(I7)
=COS(H7)*SEN(I7)
=COS(G7)*COS(I7)+SEN(I7)*SEN(G7)*SEN(H7)
=-COS(I7)*SEN(G7)+COS(G7)*SEN(H7)*SEN(I7)
=-SEN(H7)
=SEN(G7)*COS(H7)
=COS(H7)*COS(G7)
=MATRIZ.MULT(G11:I11;G2:I4)
=MATRIZ.MULT(G11:I11;G2:I4)
=MATRIZ.MULT(G11:I11;G2:I4)
=B18*PI()/180
=C18*PI()/180
=D18*PI()/180
=B11-100
=C11-100
=D11-100
13
=G2*$C$26
=H2*$C$26
=I2*$C$26
14
=G3*$C$26
=H3*$C$26
=I3*$C$26
15
=G4*$C$26
=H4*$C$26
=I4*$C$26
6
7
8
9
10
11
12
112
X
=SE(E(Y2<>"";Z2<>"");1;"")
=SE(E(Y3<>"";Z3<>"");X2+1;"")
AA
=SE($Y2<>"";PROCV($Y2;$J$2:$M$500;2);"")
AB
=SE($Y2<>"";PROCV($Y2;$J$2:$M$500;3);"")
AC
=SE($Y2<>"";PROCV($Y2;$J$2:$M$500;4);"")
AD
=SE($Z2<>"";PROCV($Z2;$J$2:$M$500;2);"")
AE
=SE($Z2<>"";PROCV($Z2;$J$2:$M$500;3);"")
AF
=SE($Z2<>"";PROCV($Z2;$J$2:$M$500;4);"")
AH
=SE($X2<>"";(AE2-AB2)/$AL2;"")
AI
=SE($X2<>"";(AF2-AC2)/$AL2;"")
AJ
=SE($X2<>"";RAIZ((AA2-AD2)^2+(AB2-AE2)^2+(AC2-AF2)^2);"")
AK
=SE(AJ2<>0;AK2*AJ2/AL2;"")
AN
=SE($Y2<>"";PROCV($Y2;$J$2:$R$500;6);"")
AO
=SE($Y2<>"";PROCV($Y2;$J$2:$P$500;7);"")
AP
=SE($Z2<>"";PROCV($Z2;$J$2:$P$500;6);"")
AQ
=SE($Z2<>"";PROCV($Z2;$J$2:$P$500;7);"")
113
Quadro 28 Frmulas coluna AR e AS
2
3
4
5
AR
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
AS
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
=MATRIZ.MULT({0.0.0;1.0.0;0.1.0;0.0.1};G13:I15)
114
End With
.MarkerSize = 2
.MarkerBackgroundColorIndex = 4
.MarkerForegroundColorIndex = 4
.MarkerStyle = xlCircle
End With
i=i+1
Loop
newchart.SeriesCollection.NewSeries
newchart.SeriesCollection.NewSeries
newchart.SeriesCollection.NewSeries
With newchart.SeriesCollection(i - 1)
.Name = "=""X"""
.XValues = "=(Dados!R2C44,Dados!R3C44)"
.Values = "=(Dados!R2C45,Dados!R3C45)"
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .Border
.ColorIndex = 16
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
.Size = 11
.ColorIndex = 1
End With
.Points(2).DataLabel.Text = "X"
.Points(1).DataLabel.Delete
End With
With newchart.SeriesCollection(i)
.Name = "=""Y"""
.XValues = "=(Dados!R2C44,Dados!R4C44)"
.Values = "=(Dados!R2C45,Dados!R4C45)"
With .Border
.ColorIndex = 15
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
.Size = 11
.ColorIndex = 1
End With
.Points(2).DataLabel.Text = "Y"
.Points(1).DataLabel.Delete
End With
With newchart.SeriesCollection(i + 1)
.Name = "=""Z"""
.XValues = "=(Dados!R2C44,Dados!R5C44)"
.Values = "=(Dados!R2C45,Dados!R5C45)"
With .Border
115
.ColorIndex = 1
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
.Size = 11
.ColorIndex = 1
End With
.Points(2).DataLabel.Text = "Z"
.Points(1).DataLabel.Delete
End With
newchart.PlotArea.Interior.ColorIndex = xlNone
With newchart.Axes(xlValue)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart.Axes(xlCategory)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart
.HasAxis(xlCategory, xlPrimary) = False
.HasAxis(xlValue, xlPrimary) = False
End With
Application.ScreenUpdating = True
newchart.Visible = True
Application.EnableEvents = True
newchart.Location Where:=xlLocationAsObject, Name:="Dados"
MsgBox "Calculo concludo. Tempo para achar a soluo foi de " & Minute(Now - antes) & ":"_
& Second(Now - antes)
End Sub
Private Sub Solucao_Click() 'Boto gera a matriz e principais clculos e rotinas
If Cells(28, 4) = 0 Or Cells(29, 4) = 0 Then
Exit Sub
End If
Dim antes As Variant
antes = Now
Application.Calculation = xlManual
Application.EnableEvents = False
Worksheets("Matriz").Cells.Delete Shift:=xlUp 'Apaga toda a planilha Matriz
'Criao de variveis
Dim matriz() As String
Dim inversa() As Variant
Dim contorno() As Variant
Dim k As Double
Dim a As Integer
Dim b As Integer
Dim i As Integer
116
Dim j As Integer
Dim l As Integer
Dim n As Integer
Dim no As Integer
Dim elemento As Integer
Dim r As Integer
Dim c1 As Integer
Dim c2 As Integer
Dim c3 As Integer
Dim c As Integer
Dim d As Integer
Dim ColUX As Integer
elemento = Cells(28, 4)
no = Cells(29, 4)
ReDim matriz(3 * no - 1, 3 * no - 1)
'coloca em todos os campos do array matriz o sinal =
For i = 0 To 3 * no - 1
For j = 0 To 3 * no - 1
matriz(i, j) = "="
Next j
Next i
117
'Transcreve o array matriz para a planilha matriz
For i = 1 To 3 * no
For j = 1 To 3 * no
Worksheets("Matriz").Cells(i, j).FormulaR1C1 = matriz(i - 1, j - 1)
Next j
Next i
'aplica condio de contorno
ColUX = Cells.Find(what:="UX").Column
For i = 1 To 3 * no
For j = 1 To 3 * no
If i = j Then
matriz(i - 1, j - 1) = "=IF(AND(Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX + (j - 1) Mod 3) &_
"=0,Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX + (j - 1) Mod 3) & "<>""""),1,R[-" & (3 * no + 1) & "]C)"
Else
matriz(i - 1, j - 1) = "=IF(OR(and(Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX + (i - 1) Mod 3) &_
"=0,Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX + (i - 1) Mod 3) & "<>""""),and(Dados!R" & (j - 1) \ 3 + 2_
& "C" & (ColUX + (j - 1) Mod 3) & "=0,Dados!R" & (j - 1) \ 3 + 2 & "C" & (ColUX + (j - 1) Mod 3) &_
"<>"""")),0,R[-" & (3 * no + 1) & "]C)"
End If
Next j
Next i
'transcreve matriz condio de contorno
For i = 1 To 3 * no
For j = 1 To 3 * no
Worksheets("Matriz").Cells(3 * no + i + 1, j).FormulaR1C1 = matriz(i - 1, j - 1)
Next j
Next i
118
k = contorno(i, l)
For j = 0 To 3 * no - 1
contorno(i, j) = contorno(i, j) / k
inversa(i, j) = inversa(i, j) / k
Next j
End If
Next i
For i = l + 1 To 3 * no - 1
If contorno(i, l) <> 0 Then
For j = 0 To 3 * no - 1
contorno(i, j) = contorno(i, j) - contorno(l, j)
inversa(i, j) = inversa(i, j) - inversa(l, j)
Next j
End If
Next i
Next l
For l = 0 To 3 * no - 2
For i = 0 To 3 * no - 2 - l
If contorno(i, 3 * no - 1 - l) <> 0 Then
k = contorno(i, 3 * no - 1 - l)
For j = 0 To 3 * no - 1
contorno(i, j) = contorno(i, j) - k * contorno(3 * no - 1 - l, j)
inversa(i, j) = inversa(i, j) - k * inversa(3 * no - 1 - l, j)
Next j
End If
Next i
Next l
'transcreve a matriz inversa
For i = 1 To 3 * no
For j = 1 To 3 * no
Worksheets("Matriz").Cells(i + 6 * no + 2, j) = inversa(i - 1, j - 1)
Next j
Next i
MsgBox "A funo MATRIZ.INVERSO no calcula inversa de matrizes maiores que 52x52 no Excel_
Verso" & Application.Version & ". Um modo alternativo ser usado."
End If
End With
For i = 1 To 3 * no
For j = 1 To 3 * no
If i = j Then
Worksheets("Matriz").Cells(i + 9 * no + 3, j) = "=IF(AND(Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX_
+(j - 1) Mod 3) & "=0,Dados!R" & (i - 1) \ 3 + 2 & "C" & (ColUX + (j - 1) Mod 3) & "<>""""),0,R[-" & (3 *_
no + 1) & "]C)"
Else
Worksheets("Matriz").Cells(i + 9 * no + 3, j) = "=R[-" & (3 * no + 1) & "]C"
End If
Next j
Next i
'Formatao da planilha matriz
With Worksheets("Matriz")
With .Range(.Cells(1, 1), .Cells(3 * no, 3 * no))
.Interior.ColorIndex = 40
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
With .Range(.Cells(3 * no + 2, 1), .Cells(6 * no + 1, 3 * no))
.Interior.ColorIndex = 35
119
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
With .Range(.Cells(6 * no + 3, 1), .Cells(9 * no + 2, 3 * no))
.Interior.ColorIndex = 36
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
With .Range(.Cells(9 * no + 4, 1), .Cells(12 * no + 3, 3 * no))
.Interior.ColorIndex = 37
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
.Rows("1:9").Insert Shift:=xlDown
.Range("B2").FormulaR1C1 = "Legenda"
.Range("C4:E4").Merge
.Range("C5:E5").Merge
.Range("C6:E6").Merge
.Range("B4").Interior.ColorIndex = 40
.Range("B5").Interior.ColorIndex = 35
.Range("B6").Interior.ColorIndex = 36
.Range("B7").Interior.ColorIndex = 37
.Range("C4").FormulaR1C1 = "Matriz Rigidez"
.Range("C5").FormulaR1C1 = "Matriz Condio de Contorno"
.Range("C6").FormulaR1C1 = "Matriz Inversa da Matriz Condio de Contorno"
.Range("C7").FormulaR1C1 = "Matriz Final"
With .Range("A1:F8")
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
End With
End With
'formatao da planilha resultado
With Worksheets("Resultado")
.Range("J:BA").Clear
.Cells.HorizontalAlignment = xlCenter
With .Range(.Cells(1, 10), .Cells(3 * no + 1, 13))
.Borders.LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
End With
With .Range(.Cells(1, 14), .Cells(no + 1, 25))
.Borders.LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlMedium
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).Weight = xlMedium
End With
.Range(.Cells(1, 14), .Cells(no + 1, 14)).Borders(xlEdgeRight).Weight = xlMedium
120
.Range(.Cells(1, 23), .Cells(no + 1, 23)).Borders(xlEdgeLeft).Weight = xlMedium
.Range(.Cells(1, 18), .Cells(no + 1, 18)).Borders(xlEdgeRight).Weight = xlMedium
.Range(.Cells(1, 14), .Cells(1, 20)).Borders(xlEdgeBottom).Weight = xlMedium
.Range(.Cells(1, 10), .Cells(1, 20)).Borders(xlEdgeBottom).Weight = xlMedium
.Range(.Cells(2, 10), .Cells(4, 13)).Borders(xlEdgeBottom).Weight = xlMedium
.Range(.Cells(2, 10), .Cells(4, 13)).AutoFill Destination:=.Range(.Cells(2, 10), .Cells(3 * no, 13))
.Range("J1").FormulaR1C1 = "Ns"
.Range("K1").FormulaR1C1 = "Carregamento"
.Range("L1").FormulaR1C1 = "Deslocamento"
.Range("M1").FormulaR1C1 = "Reaes"
.Range("N1").FormulaR1C1 = "Ns"
.Range("O1").FormulaR1C1 = "UX"
.Range("P1").FormulaR1C1 = "UY"
.Range("Q1").FormulaR1C1 = "UZ"
.Range("R1").FormulaR1C1 = "Zeros"
.Range("S1").FormulaR1C1 = "UX'"
.Range("T1").FormulaR1C1 = "UY'"
.Range("U1").FormulaR1C1 = "X'"
.Range("V1").FormulaR1C1 = "Y'"
.Range("W1").FormulaR1C1 = "FX"
.Range("X1").FormulaR1C1 = "FY"
.Range("Y1").FormulaR1C1 = "FZ"
.Range("AH1").FormulaR1C1 = "UXi"
.Range("AI1").FormulaR1C1 = "UYi"
.Range("AJ1").FormulaR1C1 = "UZi"
.Range("AK1").FormulaR1C1 = "UXj"
.Range("AL1").FormulaR1C1 = "UYj"
.Range("AM1").FormulaR1C1 = "UZj"
.Range("AN1").FormulaR1C1 = "Deslocamento"
.Range("AO1").FormulaR1C1 = "Deformao"
.Range("AP1").FormulaR1C1 = "Fora Axial"
.Range("AQ1").FormulaR1C1 = "Tenso Axial"
'Vetores deslocamento, Reaes e coordenadas para plotar
.Range(.Cells(2, 12), .Cells(3 * no + 1, 12)).FormulaArray = "=MMULT(Matriz!R" & 9 * no + 13 & "C1:R"_
& 12 * no + 12 & "C" & 3 * no & ",R2C11:R" & 3 * no + 1 & "C11)"
.Range(.Cells(2, 13), .Cells(3 * no + 1, 13)).FormulaArray = "=MMULT(Matriz!R10C1:R" & 3 * no + 9 &_
"C" & 3 * no & ",R2C12:R" & 3 * no + 1 & "C12)-R2C11:R" & 3 * no + 1 & "C11"
.Range(.Cells(2, 19), .Cells(no + 1, 20)).FormulaArray = "=MMULT(R2C15:R" & no + 1 &_
"C18*10000*R25C3+Dados!R2C11:R" & no + 1 & "C14,R2C7:R5C9)"
.Range(.Cells(2, 21), .Cells(no + 1, 22)).FormulaArray = "=MMULT(Dados!R2C11:R" & no + 1 &_
"C14,R2C7:R5C9)"
'Escreve coluna Ns, UX, UY, UZ, FX, FY, FZ, Carregamento no ns
For i = 1 To no
.Cells(3 * i - 1, 10).FormulaR1C1 = "X" & i
.Cells(3 * i, 10).FormulaR1C1 = "Y" & i
.Cells(3 * i + 1, 10).FormulaR1C1 = "Z" & i
.Cells(i + 1, 14) = i
.Range(.Cells(i + 1, 15), .Cells(i + 1, 17)).FormulaArray = "=TRANSPOSE(R" & 3 * i - 1 & "C12:R" &_
3 * i + 1 & "C12)"
.Cells(i + 1, 18) = 0
.Range(.Cells(i + 1, 23), .Cells(i + 1, 25)).FormulaArray = "=TRANSPOSE(R" & 3 * i - 1 & "C13:R" &_
3 * i + 1 & "C13)"
.Cells(3 * i - 1, 11).FormulaR1C1 = "=Dados!R" & i + 1 & "C" &_
Worksheets("Dados").Cells.Find(what:="FX").Column
.Cells(3 * i, 11).FormulaR1C1 = "=Dados!R" & i + 1 & "C" &_
Worksheets("Dados").Cells.Find(what:="FY").Column
.Cells(3 * i + 1, 11).FormulaR1C1 = "=Dados!R" & i + 1 & "C" &_
121
Worksheets("Dados").Cells.Find(what:="FZ").Column
Next i
'Reproduz as colunas Elementos, rea, Modulo E, Comprimento L e K
.Cells(1, 27).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="Elementos").Column
.Cells(1, 28).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="N i").Column
.Cells(1, 29).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="N j").Column
.Cells(1, 30).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="rea").Column
.Cells(1, 31).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="Modulo E").Column
.Cells(1, 32).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="Comprimento L").Column
.Cells(1, 33).FormulaR1C1 = "=Dados!RC" & Worksheets("Dados").Cells.Find(what:="k").Column
.Range(.Cells(1, 27), .Cells(1, 33)).AutoFill Destination:=.Range(.Cells(1, 27), .Cells(elemento + 1, 33))
'Preenche as colunas dos deslocamentos nodais dos elementos
For i = 1 To elemento
.Cells(i + 1, 34).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 25) - 1 & "C12"
.Cells(i + 1, 35).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 25) & "C12"
.Cells(i + 1, 36).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 25) + 1 & "C12"
.Cells(i + 1, 37).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 26) - 1 & "C12"
.Cells(i + 1, 38).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 26) & "C12"
.Cells(i + 1, 39).FormulaR1C1 = "=R" & 3 * Worksheets("Dados").Cells(i + 1, 26) + 1 & "C12"
Next i
122
.Range("AY2").FormulaR1C1 = "=VLOOKUP(Dados!RC26,R2C14:R" & no + 1 & "C22,9)"
If elemento <> 1 Then
.Range("AR2:AY2").AutoFill Destination:=.Range(.Cells(2, 44), .Cells(elemento + 1, 51))
End If
.Range(.Cells(2, 44), .Cells(elemento + 1, 53)).Font.ColorIndex = 2
.Range("AX2:BA5").Font.ColorIndex = 2
End With
Application.Calculation = xlAutomatic
Application.EnableEvents = True
MsgBox "Calculo concludo. Tempo para achar a soluo foi de " & Minute(Now - antes) & ":" &_
Second(Now - antes)
End Sub
123
newchart.SeriesCollection(i + elemento - 1).ApplyDataLabels
newchart.SeriesCollection(i + elemento - 1).DataLabels.Font.ColorIndex = 1
newchart.SeriesCollection(i + elemento - 1).Points(1).DataLabel.Text = Worksheets("Dados").Cells(i, 25).Value
newchart.SeriesCollection(i + elemento - 1).Points(2).DataLabel.Text = Worksheets("Dados").Cells(i, 26).Value
newchart.SeriesCollection(i + elemento - 1).Points(1).DataLabel.Font.FontStyle = "Negrito"
newchart.SeriesCollection(i + elemento - 1).Points(1).DataLabel.Font.Size = 9
newchart.SeriesCollection(i + elemento - 1).Points(2).DataLabel.Font.FontStyle = "Negrito"
newchart.SeriesCollection(i + elemento - 1).Points(2).DataLabel.Font.Size = 9
With newchart.SeriesCollection(i + elemento - 1)
With .Border
.ColorIndex = 15
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerSize = 2
.MarkerBackgroundColorIndex = 15
.MarkerForegroundColorIndex = 15
.MarkerStyle = xlSquare
.Border.LineStyle = xlDash
End With
i=i+1
Loop
newchart.HasLegend = False
newchart.PlotArea.Interior.ColorIndex = xlNone
With newchart.Axes(xlValue)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart.Axes(xlCategory)
.MinimumScale = -200
.MaximumScale = 200
.HasMajorGridlines = False
End With
With newchart
.HasAxis(xlCategory, xlPrimary) = False
.HasAxis(xlValue, xlPrimary) = False
End With
newchart.SeriesCollection.NewSeries
newchart.SeriesCollection.NewSeries
newchart.SeriesCollection.NewSeries
With newchart.SeriesCollection(2 * elemento + 1)
.Name = "=""X"""
.XValues = "=(Resultado!R2C52,Resultado!R3C52)"
.Values = "=(Resultado!R2C53,Resultado!R3C53)"
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .Border
.ColorIndex = 16
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
124
.Size = 11
.ColorIndex = 1
End With
.Points(1).DataLabel.Delete
End With
With newchart.SeriesCollection(2 * elemento + 2)
.Name = "=""Y"""
.XValues = "=(Resultado!R2C52,Resultado!R4C52)"
.Values = "=(Resultado!R2C53,Resultado!R4C53)"
With .Border
.ColorIndex = 15
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
.Size = 11
.ColorIndex = 1
End With
.Points(1).DataLabel.Delete
End With
With newchart.SeriesCollection(2 * elemento + 3)
.Name = "=""Z"""
.XValues = "=(Resultado!R2C52,Resultado!R5C52)"
.Values = "=(Resultado!R2C53,Resultado!R5C53)"
With .Border
.ColorIndex = 1
.Weight = xlMedium
.LineStyle = xlContinuous
End With
.MarkerStyle = xlNone
.ApplyDataLabels AutoText:=True, ShowSeriesName:=True
With .DataLabels.Font
.Name = "Arial"
.FontStyle = "Negrito"
.Size = 11
.ColorIndex = 1
End With
.Points(1).DataLabel.Delete
End With
newchart.Visible = True
Application.EnableEvents = True
newchart.Location Where:=xlLocationAsObject, Name:="Resultado"
MsgBox "Calculo concludo. Tempo para achar a soluo foi de " & Minute(Now - antes) & ":"& Second(Now - antes)
End Sub