Você está na página 1de 17

Ref: CLME’2011_0602A

! " #$"%&' (# !) ( *(% (#+( ,(-.' ! / #! 01 ) &'


&
( 2( " ")( ( ,(
1
Escola de Engenharia de São Carlos, Universidade de São Paulo, Brasil.
2
Instituto Superior Politécnico de Tete, Moçambique
* romualdoj.brito@gmail.com

São apresentados diferentes exemplos de resolução de problemas normalmente apresentados


aos estudantes, profissionais e pesquisadores ligados às áreas dos fenômenos de transporte,
mecânica dos fluidos e hidráulica. Os exemplos fornecem códigos computacionais livres, que
permitem o uso imediato em exemplos ou na aplicação prática. Essa postura decorre do fato
de o engenheiro lidar, nessa área, com problemas cujas soluções não são triviais, sendo
necessário recorrer, com certa frequência, ao uso de códigos gratuitos e comerciais que podem
ser utilizados em calculadoras programáveis ou computadores de diferentes tipos. Assim,
objetiva;se colaborar nos aspectos vinculados ao ensino de engenharia associados ao uso de
recursos computacionais e métodos numéricos, que, conduzidos de forma adequada,
certamente trarão bons frutos à formação de profissionais e pesquisadores.
Palavras;chave:

* 3
O mundo moderno demanda projetos mais seguros e sustentáveis em diferentes áreas das
atividades humanas, que, associados às novas técnicas de produção e construção, e aos novos
materiais e técnicas de produção, implica em maior detalhamento e rapidez na preparação
desses projetos. Sendo assim, a Engenharia também deve ampliar seus métodos, apoiando;se
em técnicas cada vez mais aprimoradas para auxiliar os profissionais. Neste contexto, o
engenheiro necessita efetuar cálculos cada vez mais complexos e diversificados, o que
resultou em desenvolvimentos acelerados em áreas como a modelagem matemática,
fluidodinâmica computacional, simulação de processos etc. Para recorrer aos métodos e
recursos desses ramos é necessário dominar aspectos básicos de métodos numéricos, além de
ter à disposição programadores, softwares livres ou licenças de softwares, o que pode limitar a
difusão de determinadas ferramentas devido aos custos elevados.
O objetivo geral deste trabalho pode ser enunciado como oferecer conhecimentos básicos de
forma estruturada para auxiliar no uso e disseminação de ferramentas computacionais em
fenômenos de transporte, mecânica dos fluidos aplicada e hidráulica. O objetivo específico
pode ser enunciado como apresentar diferentes aplicações de pacotes e códigos
computacionais elaborados para a resolução de problemas nas áreas mencionadas.
Os exemplos propostos e resolvidos neste trabalho tiveram como objetivo destacar alguns
aspectos essenciais vinculados à física;matemática dos mesmos, aos métodos numéricos e ao
uso de códigos livres e comerciais. A planilha eletrônica Excel® é empregada para resolver
problemas de determinação da vazão escoada entre dois reservatórios ligados por uma
tubulação, para o ajuste de curvas e para a obtenção de soluções para equações diferenciais
ordinárias e parciais. Foram escritos códigos equivalentes que funcionam no software
Matlab® ou, com poucas adaptações, no software livre Octave. A seguir são apresentadas
sínteses sobre os problemas de aplicação propostos.

3 4 3 5
Um problema básico de hidráulica, que consta provavelmente em todos os programas de
Engenharia Civil, consiste em determinar a vazão escoada através de uma tubulação entre
dois reservatórios com nível de água constante, localizados em cotas diferentes. Este
problema é modelado com a primeira lei da termodinâmica escrita convenientemente e com a
equação de Darcy;Weisbach para o cálculo da energia dissipada (embora hajam alternativas
com maior base empírica, como a equação de Hazen;Williams). Uma vez que o fator de
resistência de Darcy;Weisbach é calculado através do diagrama de Moody, traduzido por
equações não;lineares e com partes logarítmicas, a solução explícita para o problema não é
viável. Sendo assim, é necessário utilizar um método numérico para calcular as raízes da
função objetivo definida a partir das equações mencionadas (método de Newton;Raphson,
entre outros). O uso do recurso solver do Excel® é uma alternativa interessante para solução
deste tipo de problema, sendo explorado aqui.
A Figura 1, apresentada a seguir, ilustra de forma esquemática o problema em questão. O
reservatório 1 (da esquerda) alimenta o reservatório 2 por meio de uma tubulação com
diâmetro D, comprimento L e rugosidade absoluta equivalente ε.

Figura 1 – Dois reservatórios de níveis constantes interligados por uma tubulação

Considera;se que as dimensões dos reservatórios são suficientemente grandes para que os
níveis z1 e z2 das superfícies livres sejam considerados constantes. Para tais condições, a
equação da energia assume a seguinte forma:
2 2
1 = 2+
2
+ ∑ 2
(1)
=1

em que: z = cota correspondente à energia potencial gravitacional, f = fator de resistência de


Darcy;Weisbach, L = comprimento da tubulação, V = velocidade média do líquido na
tubulação, D = diâmetro interno do conduto, g = aceleração da gravidade, Ki = coeficientes de
perda de carga localizada, com i = 1, 2,...,N, sendo N = número de perdas localizadas.
O problema modelado com a equação 1 exige o conhecimento do fator de resistência de
Darcy;Weisbach. Com o uso de análise dimensional (com o teorema de Vaschy;
Buckingham), sabe;se que este adimensional é uma função do número de Reynolds (Re) e da
rugosidade relativa (ε/D). A aplicação do referido teorema não resulta em uma solução, mas
em uma função que requer alguma teoria adicional ou a realização de experimentos para que
ela possa ser utilizada. O trabalho de Nikuradse é um exemplo clássico que relaciona f com
Re e ε/D. Atualmente, o cálculo do fator de resistência é realizado com equações ajustadas ao
diagrama de Moody que, assim como o diagrama de Nikuradse, abrange os regimes laminar e
turbulento. As equações para tubos e condutos com seções genéricas podem ser deduzidas a
partir das equações de Navier;Stokes para escoamentos laminares, sendo a solução de Hagen;
Poiseuille um exemplo interessante e bastante conhecido (f = 64/Re, válida para tubos de base
circular). Outros casos com seções transversais genéricas podem ser vistos em Simões
(2010), inclusive para o regime variável. Considerando o escoamento turbulento, há equações
que podem ser deduzidas a partir de hipóteses e informações experimentais. Entre elas, pode;
se citar a equação de von Kármán, de 1930 (Schulz, 2003), e a equação de Blasius que, a
despeito da sua simplicidade, ajusta;se satisfatoriamente a resultados experimentais em tubos
lisos, como P.V.C. para 3000<Re<105 (Porto, 2006). A possibilidade de generalizar o ajuste
aos dados do diagrama de Moody é de interesse prático e levou ao desenvolvimento de
algumas equações, como as de Churchill (1977), Chue (1984), Pereira e Almeida (1986) e
Swamee (1993). Neste trabalho é utilizada a equação de Swamee (1993), escrita a seguir:
−0.125
 −16 
 64 
8   ε 5.74   2500 
6

=   + 9.5ln +  −     (2)
 Re    3.7 Re 0.9   Re   
 

As informações relacionadas às perdas de carga localizadas podem ser obtidas em tabelas ou


gráficos desenvolvidos experimentalmente e, em poucos casos, por meio de formulações
teóricas (um exemplo é a equação de Borda;Carnott). Deste modo, escolhidos os valores de
Ki, para valores de z1, z2, L, D, ε, ν (viscosidade cinemática) conhecidos, tem;se um sistema
fechado de equações que possibilita calcular, por exemplo, a velocidade média e a vazão
escoada Q, sabendo;se que Q = VA e A = área da seção transversal do conduto. De forma
similar, se for dado o valor de Q é possível calcular o diâmetro e, em uma terceira situação,
pode;se determinar o valor de ε para Q e D conhecidos (além das demais grandezas). O
cálculo de z1, z2 ou L não requer o uso de métodos numéricos iterativos. No presente texto foi
elaborada uma planilha de cálculo (nesse caso utilizou;se a planilha Excell®) que possibilita o
cálculo das grandezas V, D ou ε. O passo inicial para a sua construção consiste na definição
de uma função objetivo “F” com a seguinte forma:
2 2
( , , ε) = 2 − 1 +
2
+ ∑ 2
=0 (3)
=1

Para duas variáveis fixas, a determinação da terceira requer o uso de um método iterativo.
Uma alternativa clássica e robusta é o método de Newton, definido a seguir tomando como
exemplo o cálculo da velocidade média:

( !)
! +1 = ! − (4)
'( ! )
Trata;se de um método iterativo, isto é, são necessárias iterações (repetições) até que a
solução seja encontrada. Vk+1 é o valor obtido com base em um valor Vk (k = 1, 2, ..., n, sendo
n = número total de iterações). Para k = 1, é necessário estabelecer uma estimativa inicial,
formalmente denominada de “semente” e, no Brasil, vulgarmente denominada de “chute
inicial” (analogamente a uma partida de futebol, cujo resultado depende da tática dos times e
não do chute inicial, que pode ser de qualquer intensidade e direção). Nota;se que o uso do
método de Newton exige a derivação da função objetivo. Nem sempre esta é uma tarefa
trivial, o que conduziu à elaboração de métodos denominados quase;Newton, que empregam
derivadas aproximadas.
A planilha desenvolvida utiliza o recurso solver (Excel®) que, entre os métodos numéricos,
possui o método de Newton (ou o método quase;Newton). Considerando o problema de
determinação da vazão, os dados conhecidos e demais informações para construção da
planilha podem ser vistos na Figura 2a. Nessa figura, as células A3 a H3 possuem dados de
entrada para o problema (neste caso foram desprezadas as perdas localizadas). A célula A8
apresenta o resultado correspondente à velocidade. Nesta célula é necessário inserir a
estimativa inicial para a velocidade média, ou seja, Vk com k = 1. A célula B8 calcula o
número de Reynolds, Re = VD/ν. A célula C8 calcula o fator de resistência por meio da
equação 2. A célula D8 contém a função objetivo (equação 3) e a célula E8 calcula a vazão
com a velocidade média e a área da tubulação. A Figura 2b indica quais células devem ser
utilizadas para resolver o problema. A célula de destino corresponde à função objetivo, que
deve ser igual a zero. A célula variável, para este problema de determinação da vazão, é a que
contém a velocidade média (A8). No item “opções” é possível escolher o método de Newton
e outros detalhes relacionados à solução numérica, como número máximo de iterações, tempo
máximo de cálculo, etc. Seguindo o mesmo procedimento, pode;se utilizar a mesma planilha
para calcular uma das outras variáveis. Para D, por exemplo, fixa;se V e atribui;se uma
estimativa inicial para D, ou seja, Dk com k = 1. A célula de destino é a mesma e a célula
variável passa a ser D3. Procedimento similar pode ser feito para determinar a rugosidade ε.

(a)

(b)
Figura 2 – Planilha para o cálculo da vazão: (a) Dados de entrada e células com as equações necessárias para
resolução do problema; (b) Parâmetros do Solver.
Pode ser interessante calcular vazões para diferentes diâmetros concomitantemente. Para
realizar esse tipo de cálculo a célula de destino continua sendo a função objetivo, enfatizando;
se que se usa apenas uma célula porque não é permitido que este campo seja preenchido com
mais de uma célula. As células variáveis são as diferentes velocidades para k = 1. Para que os
cálculos sejam realizados concomitantemente, pode;se estabelecer uma restrição no botão
“Adicionar”. A restrição deve incluir todas as células que contém a função objetivo,
igualando;as a zero. A Figura 3 ilustra um exemplo deste tipo de procedimento. Nesta
planilha (Figura 3a) as células D8 a D27 contêm a função objetivo. A Figura 3b mostra a
forma utilizada para encontrar as raízes da função para diferentes diâmetros simultaneamente
no item “Submeter às restrições”.

(a)

(b)
Figura 3 – Determinação de vazões para diferentes diâmetros: (a) Dados de entrada e células com as equações
para diferentes diâmetros; (b) Parâmetros do Solver.

* 6
O ressalto hidráulico é uma onda estacionária que ocorre freqüentemente na transição entre
um escoamento supercrítico e um escoamento subcrítico, como ilustrado na Figura 4. A
determinação da relação entre as alturas conjugadas e o número de Froude para canais
retangulares é realizada com a aplicação das equações de conservação de quantidade de
movimento e de conservação de massa. A equação resultante é simples e estabelece uma
relação explícita entre as variáveis adimensionais. A determinação das alturas conjugadas em
um canal com seção transversal trapezoidal, entretanto, é um pouco mais complicada. O uso
dos mesmos princípios básicos resulta na equação 5 (Porto, 2006, p.341), que relaciona Y, Fr1
e M para um canal trapezoidal com taludes com a mesma inclinação 1V:ZH, em que: Y =
h2/h1 (ver Fig. 4), Fr1 é o número de Froude calculado com h1 para uma seção transversal
trapeziforme e a partir da sua definição com a altura média (área molhada dividida pela
largura de topo). M é uma razão de aspecto da seção transversal, sendo definida como M =
Zh1/b.
1
2
[1− # 2 +] [
"
3
1−# 3 = ] 2
 (1 + " )2   (1 + " )
1  

− 1
 1 + 2 "   # (1 + "# ) 
(5)

Figura 4 – Ressalto hidráulico: Fr = número de Froude, x = coordenada longitudinal, h1 = conjugado


supercrítico, h2 = conjugado subcrítico, hc = profundidade crítica.
Para um dado M, pode;se calcular Fr1 para diferentes valores de Y>1 por meio da raiz
positiva da equação 5 (é uma equação de segundo grau simples em Fr1). Desta forma, torna;se
simples construir um gráfico que relacione as três variáveis adimensionais. A mesma
simplicidade não existe para determinar o valor de Y para valores dados de M e Fr1, uma vez
que se trata de uma equação de 5º grau em Y, não havendo solução geral conhecida para
equações algébricas desse grau. Sendo assim, este exemplo de aplicação tem como objetivo
ilustrar a possibilidade de programação do método de Newton em linguagem C com o intuito
de obter soluções de Y para a equação 5. Os resultados podem ser comparados com gráficos
construídos com o procedimento mencionado ou com resultados calculados através do Solver.
Para a elaboração do código com o método de Newton é necessário derivar a função objetivo
definida a partir da equação 5 em relação a Y:

(# ) =
1
2
[1−# 2 +]"
3
1−#3 −[ ] 2
 (1 + " )2   (1 + " )
1  

− 1 = 0 ⇒
 1 + 2"   # (1 + "# ) 

2 (1 + " )
2
(1 + " )(1 + 2 "# )
' (# ) = −# − "# 2 + 1  
 1 + 2"  (# + "# )
2 2

$% $

O código escrito para este exemplo de aplicação pode ser compilado gratuitamente no
programa Dev;C++. A sua estrutura é apresentada na Tabela 1. Ao longo do código são
apresentados alguns comentários com o formato /*comentário*/. O resultado são os valores
de Y que resolvem o problema posto.
Tabela 1 – Código em C com o método de Newton para resolução da equação 5
#include <stdio.h> /*biblioteca*/
#include <math.h> /*biblioteca*/
int k, decisao; /*int declara variáveis inteiras, como k e decisão*/
float Q, yt, b, Z, Yo; /*dados de entrada, i.e., fornecidos pelo usuário, com ponto flutuante*/
float M, YY, fY, Beta, y2, Fr1, Fr2;
double Y[100000000], e; /*Y é um vetor, no sentido computacional*/
main(){
printf("\n");/*\n separa as linhas*/
printf(" PROGRAMA PARA O CALCULO DO CONJUGADO SUBCRITICO DE UM\n");
printf(" RESSALTO ESTABELECIDO EM UM CANAL TRAPEZOIDAL SIMETRICO\n");
printf(" E DE FUNDO HORIZONTAL: SOLUCAO DA EQUACAO 11.15 DO LIVRO\n");
printf(" HIDRAULICA BASICA: PORTO, R. M. (2006, p.341) \n\n");
printf(" ; ATENCAO:\n\n");
printf(" ADOTAR SISTEMA INTERNACIONAL DE UNIDADES (SI)\n\n");
printf(" METODO NUMERICO DE NEWTON;RAPHSON\n");
printf("\n\n");
printf("\n\n");
printf("\n PARA DADOS DE ENTRADA: Q, b, y1, Z ; DIGITE 1\n");
printf("\n PARA DADOS DE ENTRADA: M e Fr1 ; DIGITE 2\n");
scanf("%d", &decisao); /*scanf armazena o valor digitado*/
printf("\n\n");
printf(" DIGITE OS DADOS DO PROBLEMA\n\n");
printf("\n");
if(decisao==1){
printf(" VAZAO (Q)\n\n");
scanf("%f", &Q);
printf("\n LARGURA DE FUNDO (b)\n\n");
scanf("%f", &b);
printf("\n PROFUNDIDADE SUPERCRITICA DO RESSALTO (y1)\n\n");
scanf("%f", &yt);
printf("\n INCLINACAO DO TALUDE (Z)\n\n");
scanf("%f", &Z);
printf("\n CHUTE INICIAL (Sugestao: 20)\n");
scanf("%f", &Yo);
}
if(decisao==2){
printf(" M\n\n");
scanf("%f", &M);
printf("\n Fr1\n\n");
scanf("%f", &Fr1);
printf("\n CHUTE INICIAL (Sugestao: 20)\n");
scanf("%f", &Yo);
}
printf("\n;;;;;;;;;;;;;;;;;;;;;;;;;Iteracoes;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n");
if(decisao==1){
M = Z*yt/b;
Fr1 = Q*pow((b+2*Z*yt), 0.5)/(pow(9.8, 0.5)*pow((b*yt+Z*yt*yt), 1.5));
}
printf("\n Y[k] f(Y[k]) = 0\n\n");
e = 1;
Beta = (pow(Fr1, 2)*pow((1+M), 2)/(1+2*M));
k=0;
Y[0]=Yo;
while(e > 0.0000001){
fY = 0.5;0.5*Y[k]*Y[k] +M/3;(M/3)*pow(Y[k], 3) ; Beta*((1+M)/(Y[k]+M*Y[k]*Y[k])) + Beta;
YY = ;Y[k];M*pow(Y[k], 2)+Beta*(1+M)*(1+2*M*Y[k])/pow((Y[k]+M*Y[k]*Y[k]), 2);
Y[k+1] = Y[k] ; fY/YY;
e = 0.5;0.5*Y[k+1]*Y[k+1] +M/3;(M/3)*pow(Y[k+1], 3) ; Beta*((1+M)/(Y[k+1]+M*Y[k+1]*Y[k+1])) + Beta;
if(e<0){
e = e*(;1); /*Apenas uma forma de considerar o módulo de e*/
}
printf(" %5f %5f", Y[k], e); /*Mostra na tela os valores de cada iteração*/
printf("\n");
k = k+1;
}
if(decisao==1){
y2 = Y[k]*yt;
Fr2 = Q*pow((b+2*Z*y2), 0.5)/(pow(9.8, 0.5)*pow((b*y2+Z*y2*y2), 1.5));
}
printf("\n;;;;;;;;;;;;;;;;;;;;;;;;;Resultados;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n");
printf(" Y = %10f \n\n", Y[k]);
if(decisao==1){
printf(" M = %10f\n\n", M);
printf(" Fr1 = %10f\n\n", Fr1);
printf(" Fr2 = %10f\n\n", Fr2);
printf(" y2 = %10f m\n\n", y2);
}
printf("\n");
printf("\n\n\n Para finalizar o programa pressione ENTER \n\n");
getchar();
getchar(); }
Download gratuito em http://stoa.usp.br/hidraulica/files/

*
O estudo e compreensão de fenômenos físicos normalmente têm como resultado a construção
de modelos matemáticos que os representem quantitativamente. Evidentemente os fenômenos
físicos também podem levar a modelos não;quantitativos, como é o caso do ciclo da água, por
exemplo. Os modelos quantitativos freqüentemente carregam em sua dedução uma ou mais
constantes que devem ser calculadas a partir de informações experimentais e, de acordo com a
forma matemática do modelo, pode ser necessário o uso de métodos numéricos para obtenção
de soluções (ex. Brito , 2010; Schulz ., 2010). Neste exemplo o solver é utilizado
para calcular a constante de resistência oferecida pelo ar presente em um modelo matemático
que representa a queda livre de um objeto.
As forças atuantes em um corpo em queda livre são: (1) força gravitacional=mg, em que
m=massa do corpo e g=aceleração da gravidade; (2) resistência oferecida pelo ar, modelada
aqui como sendo proporcional ao quadrado da velocidade: Fresistência=kV2, em que k é
supostamente constante; (3) empuxo de Arquimedes (desprezado). Com estas forças, a
segunda lei de Newton resulta na seguinte equação diferencial ordinária separável:
! 2
= − (6)

Esta equação pode ser resolvida analiticamente resultando em:


 2. !. / .( − ) −1 
/ ! . 
0

0+
1+ 2. ! . / . ( − ) 
 
0

= (7)
 2. ! . / .( − ) −1 
.  +1
0
0
/ !  1 + 2. !. / .( − ) 

0

Nesta equação V0 é a velocidade no instante inicial t0. Considerando que em t = t0=0, V0 = 0,
a equação anterior assume a seguinte forma:
 2 ! / 
 −1 
= (8)
!  1 + 2 ! / 
 
Se for realizado um experimento para medir a velocidade de um corpo em queda livre em
função do tempo, pode;se comparar a teoria representada pela equação 8 com os dados
experimentais. Para um problema genérico, se a forma assumida pelos pontos experimentais
Vexp(t) for próxima de uma reta e a forma prevista pela teoria para V(t) for uma parábola, por
exemplo, conclui;se que a teoria não é capaz de descrever o fenômeno ou os pontos
experimentais estão errados. Neste exemplo são apresentados dados de um experimento
hipotético correspondente à queda livre com o objetivo de comparar dados experimentais com
modelo físico;matemático. Sendo Vexp(ti) um valor da velocidade medida e V(ti) um valor da
velocidade calculada no mesmo instante ti, pretende;se minimizar a soma dos erros (Vexp(ti);
V(ti))2. Como alternativa, sugere;se o uso do recurso Solver da planilha Excel® (Chapra e
Canale, 2008, p.472). A forma de organização para realizar estes cálculos é apresentada na
Figura 5a. Nesta figura mostram;se uma coluna para o tempo, uma para a velocidade
experimental e uma terceira para a velocidade calculada. A quarta coluna calcula o erro
err=(Vexp(ti);V(ti))2 para cada instante ti (i = 1,2,...j, em que j = número de pontos medidos).
Na última célula abaixo da quarta coluna é realizada a soma dos erros. Com o uso do solver, a
célula D88 é definida como célula de destino. Escolhe;se a opção “min igual a zero” e a
célula variável é aquela que contém o valor de k (célula B3), que pode ser estimado por
tentativas antes de utilizar o solver. O aspecto geral após o ajuste é ilustrado na Figura 5b.
60
3 ;#<%=

40

20

Experimental
Teórico
0
0 2.5 5 7.5 , ;%= 10

Figura 5 – Cálculo da constante k presente na equação 8: (a) Uma possível forma de construir a planilha; (b)
Resultados experimentais (hipotéticos) e solução analítica.

7 8 7 9 :
O modelo matemático citado no exemplo sobre queda livre é obtido a partir da solução
analítica de uma equação diferencial ordinária, a equação 6. Neste exemplo essa EDO é
resolvida com os métodos de Runge;Kutta até 5ª ordem (isto é, cinco métodos distintos).
Além de ilustrar o uso dos métodos numéricos de resolução de equações diferenciais, este
exemplo serve para demonstrar o significado da ordem de um método numérico através da
comparação da solução numérica com a solução analítica. É utilizado o software Matlab® para
resolver a EDO com os cinco esquemas numéricos. Os dados utilizados foram: g = 9,806
m/s2, k = 0,3 [N.s2/m2], m = 50 kg, tt(tempo total) = 60 s e V(0) = 0.
Optou;se por apresentar aqui, por economia de espaço, a parte do programa escrita para o
método de Runge;Kutta de 5ª ordem. Os demais, desde o método de Euler (primeira ordem)
até o método de Runge;Kutta de 4ª ordem são mais simples e podem ser programados
seguindo procedimentos similares aos apresentados aqui. As primeiras linhas do programa
definem os valores das grandezas físicas que são constantes ao longo da solução, como g, k,
m e tt. Além disto, define;se também o espaçamento para a malha temporal, escrito como dt e
não t no programa. Feito isto, o número total de pontos nesta malha é calculado por tt/dt+1.

!"#$
% " &$ '( ) * ' $
+"$ ', * ' $
#"$ '- ./ * ' $
0 "$ '0 * ' $
" "+$ '1 . 2 * ' $
3 4 56$ 37 8 2

O próximo passo consiste em definir vetores para armazenar os resultados. Ao definir


V=zeros(1,Nt), o programa cria uma matriz com uma linha e Nt colunas com elementos iguais
a zero que, ao longo da solução, são substituídos pelos valores calculados. A matriz Va
armazena os valores calculados com a solução analítica. Para substituir em V e Va o primeiro
elemento por V(0), utiliza;se V(1,1)=Vo;. Finalmente, n=1 corresponde ao instante t = 0.

0 9 6:3 $
0 9 6:3 $
0 6:6 0 $
0 6:6 0 $
0 ; 4% $
6$

As linhas apresentadas a seguir correspondem ao laço necessário para que seja calculada a
solução para dt≤t≤tt. Uma vez calculados os valores de m1, m2,...,m6, é possível calcular
V(1,n), que é a velocidade no instante dt, correspondente a n = 2, pois t0 = 0, que corresponde
a n = 1. A solução analítica também é computada dentro deste laço.

) * *
56$
6 ; %4 ;0 6: 6 <= $
= ; %4 ; 0 6: 6 5 64> <= $
& ; %4 ; 0 6: 6 5 64!5 =4! <= $
> ; %4 ; 0 6: 6 =4=5 & <= $
+ ; %4 ; 0 6: 6 5 &46# ; 65 46# ; > <= $
# ; %4 ; 0 6: 6 &4? ; 65 =4? ; =5 6=4? ; &
6=4? ; >5 !4? ; + <= $
0 6: 0 6: 6 5 64 " ; ?; 65&=; &56=; >5&=; +5?; # $
0 6: 0 50 ; @ =; ; %; 4 <" + 6 4 @ =; ; %; 4 <" + 56 4
65 0 40 ; @ =; ; %; 4 <" +
6 4 @ =; ; %; 4 <" + 56 $ ./ A

O código a seguir é utilizado para visualizar os resultados. O comando plot constrói, no


mesmo plano, a solução numérica e a analítica. Com o uso deste método não é possível
vislumbrar as diferenças entre as curvas a partir dos valores absolutos de velocidade lançados
em gráfico com as amplitudes totais da variação da velocidade. Para perceber tal diferença,
sugere;se o uso do recurso “Zoom In”. O segundo plot mostra o erro absoluto para cada
instante. Finalmente, a variável err armazena o valor máximo do erro absoluto. É este valor
que deve ser utilizado para o cálculo da ordem de precisão. A Figura 6a ilustra a solução
numérica e a solução analítica (com a amplitude total de variação) e a Figura 6b contém os
erros absolutos para cada instante. A Figura 6c demonstra a ordem de convergência dos cinco
métodos por meio dos expoentes das potências ajustadas às relações entre erros absolutos e
espaçamento da malha temporal.

B C) C / *
"* * :0 6:* :"* * :0 6:*
@ D ' E F'
G D '0 E 4 F'

"* * : D 0 0
@ D ' E F'
G D 'H0 0 H E 4 F'

@ D 0 6:* 0 6:* $

(a) (b)
1,E+01
y = 1,9247x1,0224
R² = 1
1,E;01
y = 0,3543x2,0747
R² = 0,9999
1,E;03 y = 0,0272x3,0342
/>#!?@3A3!@

R² = 1
1,E;05 y = 0,0025x4,0728
R² = 1

1,E;07 y = 6E;05x5,0963
R² = 1

1,E;09

Euler RK2 RK3 RK4 RK5


1,E;11
0,05 0,5 ?> ,
(c)
Figura 6 – Comparação entre valores medidos e experimentais: (a) Soluções analíticas e numéricas pra a
velocidade; (b) Erro absoluto em função do tempo para um valor de t; (c) Erro absoluto em função de t para 5
métodos de discretização (Euler – 1ª ordem e Runge;Kutta, de 2ª a 5ª ordens)

7 8 7
Equações diferenciais parciais são propostas com grande freqüência como modelos
representativos de fenômenos físicos. Neste exemplo é calculada a distribuição bidimensional
de temperaturas em uma placa com as bordas aquecidas a 120 oC e com um núcleo a uma
temperatura igual a 160 oC. As soluções obtidas incluem o uso da planilha Excel® e do
Matlab.
A equação de conservação de energia pode ser simplificada de tal maneira que o modelo
resultante é uma equação de Laplace com a temperatura como variável dependente, do tipo:
T=0 ( = laplaciano). Para tanto, o regime deve ser permanente, não deve haver fontes ou
sumidouros e o meio deve estar parado, ou seja, Vi = 0. Considerando o caso bidimensional, a
equação T=0 assume a seguinte forma:

∂ 2' ∂ 2'
+ =0 (9)
∂( 2 ∂& 2

Utilizando uma aproximação por diferenças finitas centradas, a forma discretizada da equação
passa a ser aquela apresentada a seguir. A malha correspondente à discretização pode ser vista
na Figura 7.

' −1, ) − 2' , ) + ' +1, ) ' , ) −1 − 2' , ) + ' , ) +1


+ =0 (10)
(2 &2

Figura 7 – Malha bidimensional

Para calcular a solução numérica T(x,y), a equação pode ser reescrita com a seguinte forma:

−1
  1 1   1
',) = 2 +  ( 1
) (
 2 ' −1, ) + ' +1, ) + 2 ' , ) −1 + ' , ) +1 ) (11)
  ( 2 & 2   ( & 

A equação 11 é uma forma conveniente para uso na planilha Excel®, por exemplo. No
presente exercício considera;se uma chapa metálica com a geometria indicada na Figura 8.
Para as temperaturas apontadas nos contornos, o objetivo é calcular as temperaturas nos nós
internos utilizando um recurso computacional.
Figura 8 – Geometria da placa metálica (T em oC)

-
* +, (
Para resolver o problema com esta planilha eletrônica é utilizada a equação 11 para os nós
internos. Não é necessário digitar a equação para cada nó, mas apenas para um nó e, em
seguida, os recursos copiar e colar podem ser utilizados. O leitor pode acessar a planilha
T(x,y)_Laplace em http://stoa.usp.br/hidraulica/files/ e ver um exemplo resolvido. Para
construir esta planilha, sugere;se que sejam seguidos os passos: (1) Adotar valores para os
lados e os espaçamentos para a malha; (2) Desenhar a geometria impondo as condições de
contorno; (3) Acessar “Opções do Excel”, “Fórmulas” e marcar a opção “Habilitar cálculo
iterativo”; (4) Digitar a equação 11 em um dos nós internos; (5) Copiar e colar a célula que
contém a equação 11 nos demais nós internos. É mais rápido arrastar a célula; (6) Finalmente,
a tecla F9 deve ser pressionada até que não sejam vistas mais alterações nas temperaturas.
A visualização dos resultados com os recursos desta planilha é limitada. Sugere;se o uso de
outro recurso, como o Matlab® ou o Octave. Para utilizar o Matlab®, pode;se copiar e colar os
valores das temperaturas em outra planilha (apenas valores e não fórmulas). Em seguida,
esses valores devem ser copiados e colados no Notepad, assegurando;se de utilizar pontos
como separadores decimais. Ao abrir o Matlab®, acessar File, Import Data... e seguir as
instruções. O software deve criar uma matriz com os dados e com o nome do arquivo de
texto. O comando contourf(T) pode ser empregado para gerar a Figura 9a e
mesh(T,'FaceColor','c','EdgeColor','none'); camlight right; lighting phong produz o resultado
da Figura 9b. Além da limitação gráfica, se o número de células for muito grande, é possível
que a planilha não funcione adequadamente.

(a) (b)
Figura 9 – Visualização dos resultados (as cores em (a) correspondem a T [oC])
* +, . / 0 " 1-
A equação de Laplace é linear e a sua forma discreta pode ser escrita como Ax=b. O uso
destes softwares é interessante porque não exige que seja programado o algoritmo para a
solução do sistema Ax=b, sendo necessário apenas utilizar o comando x = A\b. O código
desenvolvido, denominado POISSON_MLAB_ex7, tem como função principal escrever as
matrizes A e b de acordo com a geometria do problema. Para que ele funcione é necessário
que o código ij2n esteja salvo na mesma pasta. Este código contém uma função capaz de
alocar adequadamente os elementos das matrizes em função da geometria. O nome parece não
ser adequado, pois a equação resolvida aqui é a de Laplace não de Poisson. Entretanto, para
que a equação de Poisson seja reduzida à equação de Laplace basta que a função f(x,y), de
f(x,y)= T, seja igual a zero. Esta função no código é denominada gradp, em referência ao
programa original, destinado ao cálculo de perfis de velocidades completamente
desenvolvidos (sendo gradp o gradiente de pressões no código original).
Para utilizar o programa é preciso inserir as seguintes informações: NI e NJ (número de
pontos nos eixos x e y), Lx e Ly (lados do domínio retangular), boundary;value = 120
(temperatura nos contornos externos), casemask = 2 (relacionado à geometria) e solid_value =
160 (temperatura do sólido interno). A geometria da chapa é desenhada impondo os valores
para a temperatura nos contornos do domínio. Isto é realizado com o uso de uma máscara,
escrita da seguinte maneira:
) =*3 6
@ 6 ; @$
) I =*3J 6
G I 6 ; G$
) GK " " LL GM " "## LL @K " " LL @M " "##
% :I 6$

) G K " =&> LL GM NG LL @K " " LL @M " "##


% :I 6$

) G K " LL GM " "## LL @K " =&> LL @M N@


% :I 6$

) G K " =&> LL GM NG LL @K " =&> LL @M N@


% :I 6$

) G K 6!; G LL GM &=; G LL @K =6; @ LL @M = ; @


% :I "$

Os dois laços do tipo “for” percorrem todos os nós internos. Os “if’s” são utilizados para
escolher posições específicas no domínio, ou seja, para escolher certos nós nos quais serão
fixados valores para a temperatura. Valores lógicos são utilizados para identificar contornos
internos, como ;1 e 0. Se mask(i,j)=;1, a temperatura será igual a 120oC. Se for zero,
T=160oC. Estas informações não estão presentes neste trecho do código, mas sim no trecho
apresentado a seguir:

) 6*3
) I 6*3J
I I= :I:3 :3J $ O 9 ) ./ I=
) % :I 6 1 8

6I I= 6:I:3 :3J $
6I I= 56:I:3 :3J $
I 6 I= :I 6:3 :3J $
I 6 I= :I56:3 :3J $
O) I: I P $
O) I: 6I P $
O) I: 6I P $
O) I: I 6 PD$
O) I: I 6 P $
) % :I " - 6#"
O) I: I 6 "$
D I P $
) % :I 6 - 6="
O) I: I 6 "$
D I D GP $

O aspecto da distribuição de temperaturas obtidas com este código é semelhante ao da Figura


9 e, os erros absolutos entre os resultados obtidos no Excel® e com este código apresentaram
valor máximo igual a 0,0477 oC, com a distribuição mostrada na Figura 10.

Figura 10 – Erro absoluto calculado com os resultados do Excel e Matlab®.

Com o intuito de ilustrar o uso do programa para uma geometria diferente da anterior, foi
simulada a distribuição de temperaturas em um triângulo com comprimento da base igual a 1
m, lado esquerdo definido por y = 2x e lado direito por y = ;2x+2. Inicialmente, define;se os
lados do domínio com Lx=Ly=1. A temperatura no contorno inferior (base do triângulo) é
definida em boundary_value (para este exemplo, igual a 20 oC). Os primeiros quatro laços
após esta definição devem ser alterados para a seguinte forma:

N
) I 6*3J
% 6:I "$ 6$
I56$

N
) I 6*3J
% 3 :I "$ 6$
I56$
N )
) 6*3
% :6 6$
56$

N
) 6*3
% :3J "$ 6$
56$

As definições anteriores garantem que as temperaturas nos contornos esquerdo, superior e


direito sejam iguais à temperatura nos lados inclinados do triângulo. Escolhendo casemask=3
e inserindo as informações dadas, obtém;se a distribuição de temperaturas apresentada na
Figura 12a, para uma malha com NI=NJ=91. É interessante notar que, mesmo para este
refinamento da malha, os lados inclinados do triângulo não são ajustados perfeitamente pela
malha. A partir do campo escalar de temperaturas é possível calcular o campo vetorial do
fluxo de calor cujas componentes são qx=;a∂T/∂x e qy=;a∂T/∂y. Para tanto, utiliza;se os
seguintes comandos:
EQR:QSF -: @: G $
R:S: ;QR: ;QS
@ E" 6F
G E" 6F
Com este recurso, o software utiliza diferença finita centrada para os nós internos e avançada
para os nós dos contornos. A imagem (b) da Figura 12 mostra o campo de fluxo, a imagem
12c contém um detalhe deste campo e a (d) apresenta o detalhe junto com o gráfico de
contornos.

(a) (b)

(c) (d)
Figura 12 – T(x,y) para uma geometria triangular e campo de fluxos. a) campo de temperaturas geral, b) campo
de fluxo geral, c) campo de fluxo no vértice esquerdo, d) campo de fluxo e de temperaturas no vértice esquerdo.
Dados: NI=NJ=91 e as cores indicam a temperatura.
7
Este trabalho teve como objetivo reunir problemas de engenharia relacionados aos fenômenos
de transporte e à hidráulica passíveis de resolução com o uso de recursos computacionais e
métodos numéricos de fácil alcance, e, portanto, com alto potencial didático. Explorou;se o
uso de softwares comerciais de custo relativamente baixo e o uso de softwares gratuitos. O
problema voltado ao cálculo de vazões entre dois reservatórios ilustrou a aplicação de uma
planilha eletrônica para obtenção de raízes de equações não lineares. Embora seja um caso
simples pertencente à engenharia hidráulica, a determinação da vazão escoada entre dois
reservatórios e das vazões para diferentes diâmetros mostra um caminho simples e prático
para resolução de sistemas não lineares. Um problema matematicamente semelhante
relacionado às características hidráulicas de ressaltos hidráulicos possibilitou o uso do método
de Newton em um código escrito em linguagem C. Em seguida, foi apresentado o uso de um
método de ajuste que possibilita minimizar os erros quadráticos entre valores medidos e
experimentais. O exemplo relacionado ao uso de discretizações de EDO’s pelos métodos de
Runge;Kutta ilustrou o uso do Matlab® e, o que é considerado mais importante nesse nível
didático, o significado da ordem de precisão de um método numérico de discretização. Ao
abordar o problema de transferência de calor por meio da solução de uma equação diferencial
parcial, exploraram;se aspectos básicos de programação numérica para equações diferenciais
parciais e formas de visualização normalmente empregadas em recursos computacionais
avançados.

B
Chapra, S.C.; Canale, R.P. (2008) Métodos numéricos para engenharia. McGrawHill.
Chue, S.H. (1984) A pipe skin friction Law of universal applicability. Proc. Instn. Civ. Engrs.,
Part 2, 77, Mar., p.43;84.
Churchill, S.W. (1977) Friction factor equation spans all fluid regimes, Chem. Engng., 84, 7
Nov., p.91;92.
Brito, R.J.R., Simões, A.L.A., Schulz, H.E., Porto, R.M., Puche, A.A.S. (2010). Incorporação
de ar por aeradores de fundo em escoamentos de alta velocidade em vertedores: análise de
dados e modelos. In: Congresso Latinoamericano de Hidráulica, 24., Punta del Este,
Memorias... Punta del Este, Uruguay.
Pereira, A.J.S.; Almeida, A.B. (1986) Formulação explícita e universal da resistência em
tubos, XII Congresso Latino;Americano de Hidráulica, São Paulo.
Porto, R.M. (2006) Hidráulica básica. Projeto Reenge – EESC – USP.
Schulz, H.E. (2003) O essencial em fenômenos de transporte. Projeto Reenge – EESC – USP.
Schulz, H.E., Brito, R.J.R., Simões, A.L.A., Porto, R.M., Puche, A.A.S., Lobosco, R.J.
(2010). Modelos teóricos para análise de aeração em aeradores de fundo utilizando princípios
físicos. In: Congresso Latinoamericano de Hidráulica, 24., Punta del Este, Memorias... Punta
del Este, Uruguay.
Simões, A.L.A.; Schulz, H.E.; Porto, R.M. (2011) Equações e princípios básicos de mecânica
dos fluidos e hidráulica (Livro ainda não publicado).
Swamee, P.K. (1993) Design of a submarine pipeline. J.Transp. Eng. ASCE, 119(1), p.159;
170.

Você também pode gostar