Calculo Numerico
35 pág.

Calculo Numerico


DisciplinaCálculo Numérico11.966 materiais247.329 seguidores
Pré-visualização35 páginas
x1y3
a3 = x1y2 \u2212 x2y1

b1 = y2 \u2212 y3
b2 = y3 \u2212 y1
b3 = y1 \u2212 y2

c1 = x3 \u2212 x2
c2 = x1 \u2212 x3
c3 = x2 \u2212 x1

ou na forma matricial

2\u2206 =

\u2223\u2223\u2223\u2223\u2223\u2223\u2223
1 x1 y1

1 x2 y2

1 x3 y3

\u2223\u2223\u2223\u2223\u2223\u2223\u2223 , a1 = (\u22121)1+1
\u2223\u2223\u2223\u2223\u2223 x2 y2x3 y3

\u2223\u2223\u2223\u2223\u2223 ,
a2 = (\u22121)2+2

\u2223\u2223\u2223\u2223\u2223 1 y11 y3
\u2223\u2223\u2223\u2223\u2223 , a3 = (\u22121)3+3

\u2223\u2223\u2223\u2223\u2223 1 x11 x2
\u2223\u2223\u2223\u2223\u2223 .

Os outros coeficientes podem ser obtidos de forma semelhante.

c) Tetrae´drica

236 Cap´\u131tulo 9 - Int. ao me´todo de elementos finitos

Para o tetraedro representado na figura 9.1c, em tre\u2c6s dimenso\u2dces, obte´m-se o sistema

linear

1 = L1 + L2 + L3 + L4

x = L1x1 + L2x2 + L3x3 + L4x4

y = L1y1 + L2y2 + L3y3 + L4y4

z = L1z1 + L2z2 + L3z3 + L4z4

o que resulta em

Li =
1

6V
(ai + bix+ ciy + diz), i = 1, 2, 3, 4.

onde

6V =

\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223
1 x1 y1 z1

1 x2 y2 z2

1 x3 y3 z3

1 x4 y4 z4

\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223\u2223
e os coeficientes sa\u2dco obtidos conforme:

a1 =

\u2223\u2223\u2223\u2223\u2223\u2223\u2223
x2 y2 z2

x3 y3 z3

x4 y4 z4

\u2223\u2223\u2223\u2223\u2223\u2223\u2223 , b1 = \u2212
\u2223\u2223\u2223\u2223\u2223\u2223\u2223
1 y2 z2

1 y3 z3

1 y4 z4

\u2223\u2223\u2223\u2223\u2223\u2223\u2223 ,

c1 =

\u2223\u2223\u2223\u2223\u2223\u2223\u2223
x2 1 z2

x3 1 z3

x4 1 z4

\u2223\u2223\u2223\u2223\u2223\u2223\u2223 , d1 = \u2212
\u2223\u2223\u2223\u2223\u2223\u2223\u2223
x2 y2 1

x3 y3 1

x4 y4 1

\u2223\u2223\u2223\u2223\u2223\u2223\u2223 .

Fund. de Ca´lculo Nume´rico para Engenheiros 237

9.3 Aplicac¸a\u2dco a` equac¸a\u2dco do calor unidimensional

Para resolver a equac¸a\u2dco de conduc¸a\u2dco de calor unidimensional

\u3c9u\u2d9 =
\u2202

\u2202x

(
\u3ba
\u2202u

\u2202x

)
supondo \u3c9 = 1, e as mesmas condic¸o\u2dces do exemplo (8.1) faz-se u = L1u1 + L2u2

com L1 =
x\u2212x1
x2\u2212x1 e L2 =

x2\u2212x
x2\u2212x1 (uma interpolac¸a\u2dco linear).

Tem-se

kij =

\u222b x2
x1

\u3b1
\u2202Li
\u2202x

\u2202Lj
\u2202x

dx,

ou seja,

k11 =

\u222b x2
x1

\u3b1

(
1

x2 \u2212 x1
1

x2 \u2212 x1

)
dx =

\u3b1

x2 \u2212 x1
k22 =

\u222b x2
x1

\u3b1

(
1

(x2 \u2212 x1)2
)
dx =

\u3b1

x2 \u2212 x1
k12 = k21 = \u2212

\u222b x2
x1

\u3b1

(
1

(x2 \u2212 x1)2
)
dx = \u2212 \u3b1

x2 \u2212 x1
e para o termo temporal

\u3c9ij = \u3c9LiLjdx

\u3c911 =

\u222b x2
x1

\u3c9
(x\u2212 x1)2
(x2 \u2212 x1)2 dx

=
\u3c9

(x2 \u2212 x1)2
[
x3

3
\u2212 x1x2 + x21x

]x2
x1

=
\u3c9

(x2 \u2212 x1)2
[
x32
3
\u2212 x1x22 + x21x2 \u2212

x31
3
+ x31 \u2212 x31

]
=

\u3c9

3
(x2 \u2212 x1) = \u3c922

238 Cap´\u131tulo 9 - Int. ao me´todo de elementos finitos

pois (x2\u2212x1)
3

6 =
x32\u2212x31

6 +
1
2(x2x

2
1 \u2212 x22x1).

Segue que

\u3c912 = \u3c921 = Kt21 =

\u222b x2
x1

\u3c9L1L2dx =
\u3c9

6
(x2 \u2212 x1)

e

R1i =

\u222b x2
x1

fLidx =

\u222b
x1

x2 [f1L1 + f2L2]Lidx

de forma que

R11 =

\u222b
x1

x2
[
f1L

2
1 + f2L1L2

]
dx

=
f1

(x2 \u2212 x1)2
[
x3

3
\u2212 x2x1 + x21x

]x2
x1

+
f2

(x2 \u2212 x1)2
[\u2212x3

3
\u2212 x2x1x+ x

2

2
(x2 + x1)

]x2
x1

=
1

3
f1(x2 \u2212 x1) + 1

6
f2(x2 \u2212 x1)

Analogamente tem-se R12 = (x2 \u2212 x1)
(
1
6f1 +

1
3f2
)
.

Desta forma,

[\u3c9]{u\u2d9} = [\u3c9]{u}+ {R}
ou, finalmente

\u3c9(x2 \u2212 x1)
[

1
3

1
6

1
6

1
3

]{
u\u2d91

u\u2d92

}
=

K

x2 \u2212 x1

[
1 \u22121
\u22121 1

]{
u1

u2

}

\u2212(x2 \u2212 x1)
{

f1
1
3 + f2

1
3

f1
1
6 + f2

2
3

}
.

Fund. de Ca´lculo Nume´rico para Engenheiros 239

9.4 Exerc´\u131cios

1. Obter os sistemas matriciais em elementos finitos para a conduc¸a\u2dco de calor bidi-

mensional

\u3c9u =
\u2202

\u2202x

(
K
\u2202u

\u2202x

)
+

\u2202

\u2202y

(
K
\u2202u

\u2202y

)
+ f.

240 Cap´\u131tulo 10 - Algoritmos implementados em FORTRAN 90

10 ALGORITMOS IMPLEMENTADOS

EM FORTRAN 90

Para finalizar, introduz-se alguns algoritmos desenvolvidos em FORTRAN para a

soluc¸a\u2dco dos problemas indicados nos cap´\u131tulos anteriores. Escolheu-se a linguagem

FORTRAN por ser uma das mais u´teis, juntamente com a linguagem C na soluc¸a\u2dco

de problemas cient´\u131ficos. A linguagem C e´ bastante aplicada em softwares de visual-

izac¸a\u2dco gra´fica e o FORTRAN em problemas (softwares) para a soluc¸a\u2dco de problemas

de grande porte.

10.1 Introduc¸a\u2dco

Existe uma etapa importante entre a escolha do me´todo que sera´ utilizado na

soluc¸a\u2dco do problema e a forma de escrita das instruc¸o\u2dces no computador. Esta etapa e´

a representac¸a\u2dco gra´fica do processo que se pretende executar atrave´s de um diagrama

que descreva a sequ¨e\u2c6ncia de operac¸o\u2dces envolvidas. Isto e´ chamado de \u201dfluxograma\u201d

ou \u201ddiagrama de blocos\u201d. O fluxograma e´ um me´todo formal de representar um

programa, de tal modo que a sua lo´gica se apresente clara e fa´cil de analisar e os

testes sejam especificados. Isto e´ feito de forma padronizada por figuras geome´tricas.

As vantagens do fluxograma sa\u2dco basicamente:

\u2022 facilitar uma visa\u2dco global do problema;
\u2022 facilitar a descoberta de erros lo´gicos;
\u2022 facilitar a comunicac¸a\u2dco entre programadores;
\u2022 evitar a repetic¸a\u2dco do mesmo conjunto de instruc¸o\u2dces em diferentes partes do pro-
grama.

Fund. de Ca´lculo Nume´rico para Engenheiros 241

Os s´\u131mbolos utilizados sa\u2dco mostrados na figura 10.1 (a). Um exemplo de fluxo-

grama e´ exibido na Fig. 10.1 (b).

Figura 10.1: S´\u131mbolos utilizados e exemplo de um fluxograma simples

Diz-se que todo algoritmo pode ser melhorado. Estudos realizados indicam que

em cada 3 linhas de um co´digo computacional uma melhoria pode ser feita. Talvez

isto na\u2dco seja verdade, mas o importante num algoritmo sa\u2dco os seguintes aspectos:

\u2022 simplicidade;
\u2022 facilidade de uso e entendimento;
\u2022 baixo custo;
\u2022 resultados confia´veis.

E´ importante lembrar que algoritmos muito sofisticados na\u2dco possuem todas estas

caracter´\u131sticas. Estes, portanto, nem sempre sa\u2dco os mais eficientes. Algoritmos

muito sofisticados sa\u2dco geralmente caros e exigem ma\u2dco-de-obra especializada para a

sua preparac¸a\u2dco. Lembre-se, criar um algoritmo nem sempre e´ uma atividade fa´cil.

242 Cap´\u131tulo 10 - Algoritmos implementados em FORTRAN 90

Apresenta-se, a seguir, apenas os comandos ba´sicos para a implementac¸a\u2dco de al-

goritmos em linguagem FORTRAN 90. O manual do usua´rio ou um livro texto deve

ser consultado para maiores informac¸o\u2dces.

10.2 FORTRAN (Formula Translation)

A linguagem que o computador entende e´ inerente ao seu projeto lo´gico e varia

de acordo com o tipo de computador. A linguagem Fortran e´ orientada de maneira

a resolver principalmente problemas nos campos te´cnico e cient´\u131fico. A linguagem

C e´ mais utilizada para computac¸a\u2dco gra´fica. Existe, assim, um programa especial

chamado de compilador Fortran cuja finalidade e´ traduzir o programa escrito em

Fortran para a linguagem de ma´quina do computador utilizado.

10.2.1 Varia´veis, operac¸o\u2dces aritme´ticas e func¸o\u2dces ba´sicas

As varia´veis sa\u2dco representadas por identificadores que sa\u2dco cadeias de caracteres

alfanume´ricos comec¸ando com uma letra. O tipo de varia´vel esta´ associado ao tipo

de dado que ela representa:

\u2022 Varia´vel inteira: i, j, k, l, m, n;

\u2022 Varia´vel real1: a - h, o - z.

As expresso\u2dces aritme´ticas sa\u2dco constitu´\u131das por operadores e operandos aritme´ticos.

Os operadores aritme´ticos adotados na linguagem Fortran sa\u2dco:

1Uma varia´vel pode ser declarada como real (4 bytes), real*8 (8 bytes) e complex (varia´veis
complexas).

Fund. de Ca´lculo Nume´rico para Engenheiros 243

Operac¸a\u2dco aritme´tica Operac¸a\u2dco aritme´tico

adic¸a\u2dco +

subtrac¸a\u2dco -

multiplicac¸a\u2dco *

divisa\u2dco /

potenciac¸a\u2dco **

com a seguinte prioridade de execuc¸a\u2dco:

\u2022 1 exponenciac¸a\u2dco ;
\u2022 2 multiplicac¸a\u2dco e divisa\u2dco;
\u2022 3 adic¸a\u2dco e subtrac¸a\u2dco.
A linguagem Fortran permite o uso direto de func¸o\u2dces alge´bricas numa expressa\u2dco

aritme´tica. A tabela 10.1 apresenta algumas destas func¸o\u2dces.

10.2.2 Comandos Ba´sicos

Para a implementac¸a\u2dco de algoritmos em linguagem Fortran considere os seguintes

comandos ba´sicos:

ALLOCATE - Aloca espac¸o e da´ um formato definido a uma matriz.

ALLOCATABLE - Indica as matrizes que sera\u2dco alocadas no programa.

CONTINUE ou END DO- Indica continuac¸a\u2dco.

DEALLOCATE - Libera o espac¸o previamente reservado em um comando allo-

cate.

DIMENSION - Indica dimensa\u2dco de varia´veis: dimension:: v1(a), v2(a, b)

DO - Indica uma seque\u2c6ncia