Mecânica de Fluidos Computacional I - Bem-vindo ao LCAD | Laboratório de ... · 2017-04-17 ·...

Post on 09-Nov-2018

212 views 0 download

Transcript of Mecânica de Fluidos Computacional I - Bem-vindo ao LCAD | Laboratório de ... · 2017-04-17 ·...

Mecanica de FluidosComputacional I

Prof. Gustavo Carlos Buscaglia

Laboratorio de Matematica Aplicada e Computacao Cientıfica (LMACC)Departamento de Matematica Aplicada e Estatıstica

Instituto de Ciencias Matematicas e de Computacao (ICMC)USP – Sao Carlos

2017

Mecanica dos Fluidos Computacional

A Mecanica dos Fluidos e a ciencia que estuda o comportamentodos fluidos.Este estudo e feito de tres formas:

Experimental: Fenomenos fısicos estudados em ambientescontrolados.Teorico: Obtencao de solucoes simplificadas as equacoes demodelo.Numerico: Utilizar o auxılio do computador.

Neste curso estudaremos a utilizacao do computador na resolucaode varios problemas de mecanica dos fluidos.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 2 / 142

Breve historico

Desde os primordios de nossa civilizacao, o ser humano seinteressa pelo movimento dos fluidos (ventos, rios, clima, etc.)Arquimedes (287-212 a.C.): planejamento de aquedutos, canais,casas de banho, etc.Leonardo da Vinci (1452-1519): observou e reportou variosfenomenos, reconhecendo sua forma e estrutura, reportando-os naforma de desenhos e esquemas.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 3 / 142

Breve historico

Isaac Newton (1643-1727): Muitascontribuicoes a mecanica dos fluidosSua segunda lei: F = m · aViscosidade: A tensao e proporcional ataxa de deformacao.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 4 / 142

Breve historico

Daniel Bernoulli (1700-1782): Equacao deBernoulli.Leonhard Euler (1707-1783): Equacoes deEuler para escoamento invıscido,conservacao de quantidade de movimento,conservacao de massa, potencial develocidade.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 5 / 142

Breve historico

Claude Louis Marie Henry Navier(1785-1836)Gabriel Stokes (1819-1903)Introduziram transporte viscoso asequacoes de Euler, resultando nas equacoesde Navier-Stokes para escoamentosincompressıveis

∂(ρu)∂t

+∇ · (ρu⊗ u) =

−∇p +∇ ·[µ(∇u +∇uT)

]+ ρg

∇ · u = 0

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 6 / 142

Breve historico

Claude Louis Marie Henry Navier(1785-1836)Gabriel Stokes (1819-1903)Introduziram transporte viscoso asequacoes de Euler, resultando nas equacoesde Navier-Stokes para escoamentosincompressıveis

∂(ρu)∂t

+∇ · (ρu⊗ u) =

−∇p +∇ ·[µ(∇u +∇uT)

]+ ρg

∇ · u = 0

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 6 / 142

Breve historico

Lewis Fry Richardson (1881-1953): desenvolveu o primeirometodo numerico para previsao do tempo (escoamentoatmosferico)Sua tentativa de calcular a previsao do tempo para um perıodo de8 horas lhe tomou 6 semanas de calculos, e foi um fracasso.Forecast-factory

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 7 / 142

Mecanica dos fluidos computacional

Solucoes numericas das equacoes de Navier-Stokes demandammuitos calculos.(em 1953, M. Kawaguti calculou a solucao de um escoamento emtorno de um cilindro, levou 18 meses trabalhando 20 horas porsemana).A evolucao da computacao beneficia diretamente a area.Hoje, com o advento dos supercomputadores, e possıvel resolverescoamentos complexos com precisao em tempo factıvel.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 8 / 142

Objetivo da disciplina

Mostrar como, utilizando a modelagem matematica e o calculonumerico, e possıvel resolver problemas de mecanica de fluidoscuja resolucao analıtica e impossıvel.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 9 / 142

Metodologia

Cada capıtulo do curso sera resolvido um problema.A modelagem fısica e matematica sera desenvolvida peloprofessor.O professor sugerira um ou varios tratamentos numericos, e osexplicara detalhadamente.Os estudantes, em grupos de 2, implementarao um programapara cada problema.Os programas serao testados e comparados.Um estudante escolhido aleatoriamente de cada grupo realizarauma apresentacao de quinze minutos. Os slides seraoconsiderados como relatorio do grupo.A nota final sera calculada a partir das notas obtidas em cadatrabalho, sendo que todos os capıtulos devem ser aprovados.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 10 / 142

Capıtulos

1 Calculo de forcas e torques em hidrostatica. Dinamica de corposrıgidos flutuantes e seu calculo numerico.

2 Aproximacao numerica de interfaces com tensao superficial.Minimizacao da energia e aproximacao variacional.

3 Modelagem numerica de redes hidraulicas. Origem e tratamentodas nao-linearidades.

4 Resolucao numerica das equacoes de Navier-Stokesincompressıveis. Convergencia em malha a uma solucaomanufaturada.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 11 / 142

Tecnicas numericas envolvidas em cada capıtulo

1 Parametrizacao de formas. Interpolacao. Integracao numerica.EDOs numericas.

2 EDOs numericas. Minimizacao de funcoes.3 Grafos e sua representacao computacional. Resolucao de sistemas

de equacoes nao lineares.4 Diferencas finitas. Volumes finitos. Aproximacao numerica de

EDPs. Calculo experimental de ordem de convergencia.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 12 / 142

Tecnologias relacionadas com cada capıtulo

1 Engenharia civil. Forcas em represas, em predios, etc. Engenharianaval. Estabilidade de estruturas flutuantes, navios, etc.

2 Industria quımica. Pintura por imersao, por deposicao de sprays.Impressao de jato de tinta. Industria do petroleo. Separacao demisturas. Misturas bifasicas.

3 Engenharia hidraulica. Distribuicao urbana de agua.4 Microfluıdica. Lab on a chip. Incorporando turbulencia numerica

(que nao veremos): Meteorologia, Oceanografia, Industriaautomotiva, etc.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 13 / 142

Duracao estimada de cada capıtulo

1 Calculo de forcas e torques em hidrostatica. Dinamica de corposrıgidos flutuantes e seu calculo numerico. ⇒ 3 semanas

2 Aproximacao numerica de interfaces com tensao superficial.Minimizacao da energia e aproximacao variacional. ⇒ 4semanas

3 Modelagem numerica de redes hidraulicas. Origem e tratamentodas nao-linearidades. ⇒ 3 semanas

4 Resolucao numericas das equacoes de Navier-Stokesincompressıveis. Convergencia em malha a uma solucaomanufaturada. ⇒ 4 semanas

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 14 / 142

Observacoes

Essa disciplina e direcionada a alunos do BMACC, com menosformacao em fısica e fluidos que alunos de engenharia ou fısica.Em cada capıtulo sera feita uma revisao rigorosa mas rapida dosconceitos de mecanica que sejam necessarios.Se espera que os estudantes tenham familiaridade com o calculonumerico. Os conceitos usados serao definidos mas naofundamentados teoricamente.E necessario saber programar. As aulas conterao exemplos deimplementacao em Octave.Seria conveniente ter acesso a uma notebook por grupo.Cada capıtulo envolvera 2 ou 3 aulas de trabalho em sala,consultando ao professor e/ou ao PAE.Havera sessoes de monitoria em laboratorio. Definir dia e horario.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 15 / 142

Capıtulo 1

Simulacao numerica de corpos em flutuacao

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 16 / 142

ExemplosNavios

1

1Ueng, J. Marine Sci. and Technol., 2013

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 17 / 142

Exemplos

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 18 / 142

Exemplos

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 19 / 142

Exemplos

Estruturas

2

2Watanabe et al, CORE Rep. 2004-02

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 20 / 142

Exemplos

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 21 / 142

Exemplos

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 22 / 142

Exemplos

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 23 / 142

Exemplos

3

3Coelho et al, 8th Conf. Stab. Ships and Ocean Vesicles, 2003

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 24 / 142

Como flutuam os corpos?

Equilıbrio dinamico entre:Peso proprioForcas exercidas pelo lıquidoForcas exercidas pela atmosfera (vento)Forcas externas (ancoras,...)

Md2~cdt2 = ∑~F ,

d~Ldt

= ∑~T

onde~c e a posicao do centro de massa,~F forca,~L momentoangular e~T torque (ambos respeito de~c).O corpo deforma pelas forcas aplicadas.Os fluidos respondem a presenca do corpo.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 25 / 142

Descricao geometrica do corpo

Existem diversas maneiras: Primitivas, interpolatorias com/semmalha, etc.Consideraremos a seguinte:

A superfıcie S do corpo e a uniao disjunta de um conjunto depatches, cada um deles sendo a imagem de um sımplice M por umatransformacao ~ϕ : M→ Rd.

S = ∪K ~ϕK(M)

A geometria de cada patch e definida por um conjunto de nos.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 26 / 142

Representacao linear por partes em 2D

x2

x1

~c

Ω

~x(1) =~x(n+1)

~x(2)

~x(n)

~x(3)

Lista de pontos:

x(1)1 x(1)2

x(2)1 x(2)2...

...x(n)1 x(n)2

x(n+1)1 x(n+1)

2

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 27 / 142

Representacao linear por partes em 2D

~x(i)

~x(i+1)

~x(ξ) ~x(ξ) = ~ϕK=i(ξ) =1− ξ

2~x(i) +

1 + ξ

2~x(i+1),

ξ ∈ M = [−1, 1]

A imagem de ~ϕi e o segmento reto de~x(i) a~x(i+1).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 28 / 142

Representacao linear por partes em 2D

~x(i)

~x(i+1)

~x(ξ)

Calculo do Jacobiano (comprimento dearco):

ds = |d~x| =∥∥∥∥d~x

∥∥∥∥ dξ =

∥∥∥∥∥~x(i+1) −~x(i)2

∥∥∥∥∥ dξ

Calculo da normal (anti-horaria):

~d def=~x(i+1) −~x(i) , n =

(d2,−d1)

‖~d‖

Ambos constantes em cada patch.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 29 / 142

Integracao em S

Seja f uma funcao definida em Rd, entao∫S

f (~x) dS = ∑K

∫~ϕK(M)

f (~x) dS

= ∑K

∫M

f (~ϕK(~ξ)︸ ︷︷ ︸~x(~ξ)

dSdM︸︷︷︸

Jacobiano de ~ϕK

dM .

A integral de curva/superfıcie transformou-se numa soma deintegrais sobre um unico sımplice M.Em 1D, certamente escolhemos M = [−1, 1].

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 30 / 142

Exercıcio

Dados tres pontos arbitrarios em 3D, com coordenadas~x(1),~x(2) e~x(3), determinar uma transformacao ~ϕ : M→ R3 que transforme otriangulo unitario M (com vertices (0, 0), (1, 0) e (0, 1)) notriangulo plano definido pelos tres pontos.Quanto vale o Jacobiano dessa transformacao?

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 31 / 142

Integracao em S , caso 1D

Nos calculos, vao aparecer muitas integrais da forma∫S

f (~x) ds = ∑K

∫ 1

−1f (~ϕK(ξ))

dsdξ︸ ︷︷ ︸

g(ξ)

dξ .

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 32 / 142

Quadratura de Gauss-Legendre

Existe uma quadratura

∫ 1

−1g(ξ) dξ '

N

∑k=1

Ak g(ξk)

que integra exatamente polinomios de grau 2N− 1. Se esperamos quea funcao a integrar seja aproximavel por um polinomio desse grau,escolhemos:

N = 2ξ1 = −1/

√3 A1 = 1

ξ2 = 1/√

3 A2 = 1

N = 3ξ1 = −

√3/5 A1 = 5/9

ξ2 = 0 A2 = 8/9ξ3 =

√3/5 A3 = 5/9

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 33 / 142

Integracao em S , numerica

∫S

f (~x) ds = ∑K

∫ 1

−1f (~ϕK(ξ))

dsdξ︸ ︷︷ ︸

g(ξ)

dξ .

' ∑K

N

∑k=1

Ak f (~ϕK(ξk))︸ ︷︷ ︸f (~xk)

dsdξ

A seguir, alguns exemplos de calculos de integrais sobre superfıcies“numericas”.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 34 / 142

Calculo do volume (2D) encerrado em S

V =∫

Ω1 dx dy

=∫

Ω

12

div~x dx dy

=∮S

12~x ·~n ds

= ∑K

N

∑k=1

Ak12~xk ·~nk

dsdξ

(ξk)

Indeed, if the geometrical interpolation is P1, then for each K we havethat~x(ξ) is P1 while~n and ds/dξ are constant in each segment (in fact,ds/dξ = `K/2).The integrand is thus P1, so that N = 1 suffices to compute the volumeto roundoff error.G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 35 / 142

Calculo do centro de massa de um polıgonohomogeneo

~c =1

3V

∂Ω(~x ·~n) x1 ds∮

∂Ω(~x ·~n) x2 ds

=1

3V

n

∑i=1

∫ 1

−1(~x(ξ) ·~n(i)) x1(ξ)

`i

2dξ

n

∑i=1

∫ 1

−1(~x(ξ) ·~n(i)) x2(ξ)

`i

2dξ

=1

3V

n

∑i=1

N

∑k=1

Ak~xk ·~n(i) x1k`i

2

n

∑i=1

N

∑k=1

Ak~xk ·~n(i) x2k`i

2

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 36 / 142

Calculo do empuxo hidrostatico

A forca de pressao por unidade de area que um meio fluido fazsobre um corpo que ocupa um domınio Ω e dada por

~fP = −p,~n .

A forca total e obtida por integracao em S ,

~FP =∫S−p~n dS .

Se o fluido esta imovel (estatico), a unica forca e a de pressao. Senao, devem ser consideradas tambem as forcas viscosas.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 37 / 142

Considerando a superfıcie libre do fluido num instante t comosendo

x2 = Z(t, x1) , ( x3 = Z(t, x1, x2) em 3D),

a aproximacao de pressao hidrostatica e

p(t, x1, x2) = patm(t, x1) + ρL g max(0, Z(t, x1)− x2)

Em geral se toma patm independente de~x.Caso estatico: Z(t, x1) = constante.Enchimento/esvaziamento quasestatico: Z(t, x1) = h(t).Onda de celeridade v:

Z(t, x1) = h(x− v t) , e.g.; Z(t, x1) = h0 + a sin(k (x1 − v t)) .

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 38 / 142

Caso estatico

x2

x1

s+

s−

~FA =∫

s+−patm~n ds = −patm

∫s+~n ds

~FL =∫

s−−p(~x)~n ds

=∫

s−− [patm + ρLg(z− x2)]~n ds

= −patm

∫s−~n ds− ρLg

∫s−(z− x2)~n ds

~F =~FA +~FL = −patm

∫s+~n ds− patm

∫s−~n ds− ρLg

∫s−(z− x2)~n ds

=

:

0−patm

∮s+∪s−

~n ds − ρLg∫

s−(z− x2)~n ds

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 39 / 142

Caso estatico

Como patm nao tem influencia no balanco de forcas, pode-sedefinir patm = 0.Princıpio de Arquimedes: No caso estatico o empuxo e igual ao pesodo lıquido deslocado, e de sentido contrario.Se Z ou patm dependem de x1, o empuxo tem componentehorizontal.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 40 / 142

Exercıcio

Programe uma funcao que, a partir da matriz de coordenadascoor de um polıgono e da funcao Z(t, x1), calcule o empuxo dolıquido sobre o corpo.Grafique as componentes horizontal e vertical do empuxo comofuncao do tempo.Considere Z(t, x1) = t, e outra funcao que represente uma ondaque passa pela posicao do corpo.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 41 / 142

Discussao do exercıcio

A partir dos conceitos desenvolvidos, uma formulacao razoavel seria:Seja xi

j a componente j do vetor de coordenadas do no i, comi = 1, . . . , N. Isto poderia ser uma matriz coor(1:n,1:2) em quecada linha e o vetor (linha) posicao de um no. Por exemplo,n=4; coor=[0 0;1 0;1 2;0 2];

coor=[coor;[coor(1,:)]];

constroi o retangulo (0, 1)× (0, 2)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 42 / 142

A regra de quadratura poderia serN=3; xi=[-sqrt(3/5),0,sqrt(3/5)];A=[5/9,8/9,5/9];

Pesos interpolatorios (1− ξ)/2 e (1 + ξ)/2):pint=[(1-xi)/2;(1+xi)/2];

Imagens dos pontos de quadratura no segmento (“patch”) ifor k=1:N

x(1,k)=pint(1,k)*coor(i,1)+pint(2,k)*coor(i+1,1);

x(2,k)=pint(1,k)*coor(i,2)+pint(2,k)*coor(i+1,2);

endfor

Os Jacobianos e vetores normais:d=[coor(2:n+1,:)-coor(1:n,:)];ll=norm(d,"rows");jac=ll/2;

normal=[d(:,2)./ll,-d(:,1)./ll]

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 43 / 142

Integral da funcao f = 1 (perımetro):perim=0;

for i=1:n

perim=perim+A*ones(N,1)*jac(i);

endfor

Integral de funcao arbitraria:f=@(x) x(1)*x(2);

res=0;

for i=1:n

for k=1:N

x=pint(1,k)*coor(i,:)’+pint(2,k)*coor(i+1,:)’;

res=res+A(k)*f(x)*jac(i);

endfor

endfor

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 44 / 142

Integral da normal (= 0):res=[0;0];

for i=1:n

for k=1:N

res=res+A(k)*normal(i,:)’*jac(i);

endfor

endfor

Integral de 12~x ·~n (=volume):

res=0;

for i=1:n

for k=1:N

x=pint(1,k)*coor(i,:)’+pint(2,k)*coor(i+1,:)’;

res=res+A(k)*1/2*normal(i,1:2)*x*jac(i);

endfor

endfor

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 45 / 142

Empuxo:Z=@(t,x1) 1.5;

p=@(t,x) max(0,Z(t,x(1))-x(2));

t=0;

res=[0;0];

for i=1:n

for k=1:N

x=pint(1,k)*coor(i,:)’+pint(2,k)*coor(i+1,:)’;

res=res+A(k)*normal(i,1:2)’*(-p(t,x))*jac(i);

endfor

endfor

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 46 / 142

Erros de integracao

x2

x1

s+

s−

A funcao p(t,~x) nao e um polinomioao longo das arestas cortadas pelasuperfıcie libre. Isto, no caso decorpos com arestas muito compridas,requer uma integracao especial.

~y(i)

~y(i+1)

y2(ξ) = 0

~y(ξ)~y(i)

~y(i+1)

y2(ξ) = 0

~y(ξ)

~ys

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 47 / 142

Consideremos o quadrilatero defido pelos pontos (1, 0), (2, 0),(3, 2) e (0, 2). Seu empuxo (Arquimedes) e, em funcao da alturada agua, E(z) = ρ g z (1 + z/2).Na figura se compara o erro relativo de usar quadratura de Gaussde 3 pontos, com o de quadraturas de 20 e 50 pontos.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 48 / 142

Calculo do torque de pressao

O torque e a quantidade que governa as rotacoes, assim como aforca governa as translacoes.E uma quantidade vetorial (pseudo), mas em 2D e escalar.

~TP =∫S(~x−~c)× (−p(~x)~n) dS

O torque e medido respeito de um centro de rotacao, nesse caso~c.Quando o centro de rotacao coincide com o centro de massa, adinamica rotacional e dada por I ω′(t) = T.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 49 / 142

Torque:Z=@(t,x1) 1.+exp(-(x1-0.1*t+3)^2/0.16);

p=@(t,x) max(0,Z(t,x(1))-x(2));

t=0; res=0;

for i=1:n

for k=1:N

x=pint(1,k)*coor(i,:)’+pint(2,k)*coor(i+1,:)’;

ff=(x(1)-cg(1))*normal(i,2)-(x(2)-cg(2))*normal(i,1);

res=res+A(k)*ff*(-p(t,x))*jac(i);

endfor

endfor

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 50 / 142

Erro de integracao

Consideremos o quadrilatero defido pelos pontos (1, 0), (2, 0),(3, 2) e (0, 2). Calculamos o torque respeito de~c quando passa aonda

Z(t, x1) = 1 + exp(− (x1 + 3− 0.1 t)2) .

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 51 / 142

Onda mais ingreme,

Z(t, x1) = 1 + exp(− (x1 + 3− 0.1 t)2

0.42

).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 52 / 142

Onda ainda mais ingreme,

Z(t, x1) = 1 + exp(− (x1 + 3− 0.1 t)2

0.12

).

O metodo misto tambem da resultado errado, porque a integracao de 3pontos nao consegue capturar a onda.G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 53 / 142

Complementemos vendo o empuxo para essa ultima onda.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 54 / 142

Corpo rıgido

Definicao (Corpo rıgido)Um corpo Ω e dito rıgido se, quando submetido a um movimento, asdistancias entre seus pontos nao variam.

Para conseguir descrever o movimento de corpos rıgidos, usaremosuma transformacao

~ϕ : R2 ×R→ R2

~x 7→ ~ϕ(~x, t)

onde~x e tomado em uma configuracao de referencia de Ω e ~ϕ(~x, t) e aposicao ocupada no tempo t pela partıcula do corpo que naconfiguracao de referencia esta no ponto~x.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 55 / 142

Corpo rıgido

~x

~ϕ(~x, t0)

~ϕ(~x, t1)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 56 / 142

Exemplo

θ

x1

x2

x3 Rotacao em torno do eixo x1 de um cubodeslocado em x3 = 2, por um angulo θ(t).A configuracao de referencia do cubo per-manece na origem.

~ϕ(~x, t) = 1 0 00 cos θ(t) − sen θ(t)0 sen θ(t) cos θ(t)

x1x2

x3 + 2

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 57 / 142

Movimentos rıgidos

Teorema (Representacao do movimento)

Uma transformacao~x 7→ ~ψ(~x) satisfaz

‖~x−~y‖ = ‖~ψ(~x)− ~ψ(~y)‖

se e somente se existe uma matriz ortogonal Q ∈ Rd×d e um vetor~b ∈ Rd

tais que~ψ(~x) = Q ·~x +~b

Definicao (Movimento rıgido)Sao transformacoes da forma

~ϕ(~x, t) = Q(t) ·~x +~b(t)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 58 / 142

Movimentos rıgidos

Teorema (Representacao do movimento)

Uma transformacao~x 7→ ~ψ(~x) satisfaz

‖~x−~y‖ = ‖~ψ(~x)− ~ψ(~y)‖

se e somente se existe uma matriz ortogonal Q ∈ Rd×d e um vetor~b ∈ Rd

tais que~ψ(~x) = Q ·~x +~b

Definicao (Movimento rıgido)Sao transformacoes da forma

~ϕ(~x, t) = Q(t) ·~x +~b(t)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 58 / 142

Movimentos rıgidos

~0

Ω(~x−~c)

~0

~ϕ(θ, b2) = Q(θ) ·Ω(~x−~c) +~b

b2

θ

x1

~c

Ω(~x)

x2

~0

Transformacao rıgida que rota o corpo um angulo θ e leva o centro~c aposicao~b = (0, b2).G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 59 / 142

Transformacao das coordenadas dos nos

Lembremos que~ϕ(~x) = Qθ (~x−~c) +~b

onde~x pertence a configuracao de referencia (coor0).

n=4; coor0=[1 0;2 0;3 2;0 2];

coor0=[coor0;[coor0(1,:)]];

cg=[1.5;0.5];

theta=60*(2*pi/360);b=[0;0];

qq=[cos(theta) -sin(theta);sin(theta) cos(theta)];

for i=1:n+1

coor(i,:)=(qq*(coor0(i,:)’-cg)+b)’;

endfor

Assim, podemos estudar empuxo e torque em diversas posicoes docorpo.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 60 / 142

Projeto: Parte I - Estatica

Consideramos um corpo bidimensional homogeneo cuja geometria edada por um vetor de coordenadas coor0(n,2) e cuja densidade e rho

(a densidade da agua e 1, assim como a gravidade). O centro de massaesta sempre em x1 = 0, mas o corpo pode rotacionar e movimentarverticalmente. A superfıcie livre e horizontal (x2 = 0).

1 Programe um codigo que, para cada valor de rho, construa umgrafico do torque T como funcao do angulo theta. A posicaovertical para cada angulo deve ser tal que o empuxo equilibre aopeso.

2 Identifique assim as posicoes de equilıbrio para cada rho e analisesua estabilidade.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 61 / 142

Dinamica

Dinamica de uma partıcula pontual

Partıcula de massa m, posicao~x, forca aplicada total~F.

Momento linear:~p = m~v = md~xdt

.

Segunda lei de Newton: md2~xdt

=d~pdt

=~F.

Energia cinetica: K =m2‖~v‖2.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 62 / 142

Momentos angulares

Momento de uma forca (torque) em~x respeito de~0:

~T =~x×~F

Momento respeito de um eixo pela origem de direcao e: Te = e ·~T.Momento angular respeito de~0:

~L =~x×~p =~x× (m~v)

Conservacao do momento angular:

d~Ldt

=d~xdt×~p︸ ︷︷ ︸

=0

+~x× d~pdt

=~x×~F = ~T

que e simplesmente uma re-escrita de F = m a.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 63 / 142

Varias partıculas

Partıcula k, massa mk, posicao~xk, momento~pk = mk~vk.Forca (externa + inter-partıculas):

~Fk =~Fke + ∑

j 6=k

~Fj→k

Forca total, momento linear total:

~F = ∑k

(~Fk

e + ∑j 6=k

~Fj→k

)= ∑

k

~Fke , ~p = ∑

k~pk

Conservacao do momento linear (segunda lei para variaspartıculas):

d~pdt

= ∑k

d~pk

dt= ∑

k

(~Fk

e + ∑j 6=k

~Fj→k

)=~F

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 64 / 142

Centro de massaMassa total: M = ∑k mk.Centro de massa:

~c =1M ∑

kmk~xk → 1

M

∫Ω

ρ~x dΩ

Entao,

~p = Md~cdt

, Md2~cdt2 =~F

o centro de massa se comporta como uma partıcula pontual.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 65 / 142

Momento angular de varias partıculasMomento angular total, torque total:

~L = ∑k

~Lk = ∑k~xk ×~pk , ~T = ∑

k~xk ×~Fk

e

Conservacao do momento angular:

d~Ldt

= ∑k

d~Lk

dt= ∑

k~xk ×

(~Fk

e + ∑j 6=k

~Fj→k

)=

= ∑k~xk ×~Fk

e + ∑k

(~xk ×∑

j 6=k

~Fj→k

)︸ ︷︷ ︸

=0 !

= ~T

Essa equacao e agora independente da conservacao do momentolinear.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 66 / 142

Equacoes dinamicas de corpo rıgido

Um conjunto de partıculas deve satisfazer as 6 EDOs (3 em 2D)

d~pdt

= ~F

d~Ldt

= ~T

Se o conjunto e rıgido, ele tem coincidentemente 6 graus deliberdade apenas (3 em 2D).Felizmente, as 6 EDOs determinam totalmente os 6 graus deliberdade! As equacoes dinamicas sao um sistema fechado.Apenas devemos trabalhar um pouco mais para levar a formafinal...

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 67 / 142

Momento angular de corpo rıgidoMovimento rıgido:

~xk(t) = ~ϕ(~Xk, t) = Q(t)~Xk +~b(t), ~Xk = Q(t)T(~xk(t)−~b(t))

Velocidade:

~vk(t) =dQdt

(t)~Xk =dQdt

(t)Q(t)T(~xk(t)−~b(t))

Q(t)Q(t)T = I ⇒ dQdt QT e antissimetrica.

0 =ddt(Q QT) =

dQdt

QT + QdQT

dt=

dQdt

QT +

(dQdt

QT)T

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 68 / 142

Produto com matrizes antissimetricas e equivalente a produtovetorial por (pseudo)vetor.

A(~ω)~z =

0 −ω3 ω2ω3 0 −ω1−ω2 ω1 0

z1z2z3

=

∣∣∣∣∣∣i j k

ω1 ω2 ω3z1 z2 z3

∣∣∣∣∣∣ = ~ω×~z

No caso 2D, simplesmente tomar ~ω = ω k, e A =

(0 −ωω 0

)~vk(t) = ~ω(t)× (~xk(t)−~b(t)) = ~ω(t)×~xk(t) + ~V(t)Onde ~V e a velocidade da partıcula atualmente em~0.

Notar que, sendo A(~ω) = dQdt QT,

dQdt

= A(~ω)Q

Em 2D isto e simplesmente dθdt = ω.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 69 / 142

Substituindo,

~L = ∑k~xk ×mk~V + ∑

kmk~xk × (~ω×~xk)

o primeiro termo e zero se tomamos momentos respeito de~c(t).

Utilizando~a× (~b×~c) = (~a ·~c)~b− (~a ·~b)~c,

~L =

[∑

kmk

(‖~xk‖2 I−~xk(~xk)T

)]︸ ︷︷ ︸

J

~ω →[∫

Ωρ(‖~x‖2 I−~x~xT) dΩ

]~ω

J e o tensor (matriz) de inercia angular.

~T = d~Ldt = d

dt (J ~ω) = J d~ωdt + ~ω× (J ~ω)︸ ︷︷ ︸

0 em 2D

(dJdt

= 0 em 2D)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 70 / 142

Equacoes finais em 2D

ddt

~cθ~pL

=

~Vω~FT

=

1M~p

1J L

~F

T

J =

∫Ω0 ρ(x2

1 + x22) dΩ0, pre-calculado, independente do tempo.

Forcas totais = Peso + Empuxo + “Amortecimento” (= −β~V, ondeβ poderia ser matriz diagonal)Torque total = Torque lıquido + “Amortecimento” (= −γω)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 71 / 142

Projeto: Parte II - Dinamica

Consideramos o mesmo corpo da Parte I. A posicao inicial e dada por~c(0) e θ(0), a velocidade inicial e nula. Pede-se um codigo que resolvaa dinamica com a superfıcie dada por uma funcao Z(x1, t) arbitraria.

1 Calculamos resposta a perturbacoes nos equilıbrios calculados naparte I, com Z(x1, t) = 0. Ajustar β e γ para que o sistema sejalevemente amortecido.

2 Calculamos resposta a uma onda cuja frequencia sejamenor/parecida/maior que as frequencias de oscilacao dosistema (ponto anterior).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 72 / 142

Equacoes finais em 3D

No caso 2D a orientacao era um angulo θ(t). Em 3D ela e dadapela matriz Q(t).No caso 2D o tensor J e um numero constante. Em 3D e umamatriz que varia com a orientacao. Se J0 e o momento de inerciana posicao de referencia,

J (t) = Q(t)J0 Q(t)T , J −1 = QJ −10 QT

ddt

~cQ~p~L

=

~V

A(~ω)Q~F~T

=

1M~p

A(QJ −10 QT~L) Q

~F

~T

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 73 / 142

Observacoes

Os graus de liberdade de rotacao sao 3, porem estamosrepresentando as rotacoes com uma matriz ortogonal (9incognitas!).O sistema depende fortemente de Q(t) ser ortogonal para todo t.Exercıcio: Prove que, se Q satisfaz dQ/dt = A(t)Q(t) com A(t)antissimetrica, e Q(0) e ortogonal, entao Q(t) e ortogonal ∀ t.Quando se utiliza resolucao numerica, a matriz Q perdeortogonalidade por erro de aproximacao!Exercıcio: Provar que a aproximacao de EulerQn+1 = Qn + ∆t An Qn faz que Qn+1 nao seja ortogonal, de fato

Qn+1QTn+1 = I− (∆t An)

2 .

Ambas dificuldades acima levam a preferir os quaternions.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 74 / 142

Quaternions

Quaternions sao uma melhor representacao das rotacoes do quematrizes.Um quaternion e um par escalar-vetor q = [s,~v] cuja multiplicacaoe definida como

[s,~v][r,~u] = [s r−~v ·~u, s~u + r~v +~v×~u]

Conjugacao: q∗ = [s,−~v]. Tambem: (p q)∗ = q∗ p∗.Norma: ‖q‖2 = q q∗ = s2 + ‖~v‖2.Inversa: q−1 = q∗/‖q‖2.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 75 / 142

Uma rotacao de angulo θ em torno de uma direcao unitaria~u erepresentada pelo quaternion unitario

q(θ,~u) = [cos(θ

2), sin(

θ

2)~u] , ‖q‖ = cos2(

θ

2) + sin2(

θ

2) ‖~u‖2 = 1

Rotacao de vetores: x = [0,~x] ⇒ q x q∗ = [0, Qθ,~u~x]Composicao de rotacoes:

[0,~y] = [0, Q(q)Q(p)~x] ⇒ [0,~y] = q p [0,~x] p∗ q∗

Isto e, Q(q p) = Q(q)Q(p).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 76 / 142

A matriz associada a um quaternion unitario q = [s,~v] e

Q(q) =

1− 2 v22 − 2 v2

3 2 v1 v2 − 2 s v3 2 v1 v3 + 2 s v22 v1 v2 + 2 s v3 1− 2 v2

1 − 2 v23 2 v2 v3 − 2 s v1

2 v1 v3 − 2 s v2 2 v2 v3 + 2 s v1 1− 2 v21 − 2 v2

2

Em termos de quaternions, a equacao Q′(t) = A(~ω(t))Q(t) sereescreve

dqdt

=12[0, ~ω(t)] q(t)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 77 / 142

Equacoes 3D com quaternions

ddt

~cq~p~L

=

~V

12 [0, ~ω] q

~F~T

=

1M~p

12 [0, Q(q)J −1

0 Q(q)T~L] q

~F

~T

Representam a mesma fısica com menos incognitas (13 em vez de18).Sempre que q se mantenha unitario, nao ha problema de Q(q)deixar de ser matriz ortogonal (conveniencia numerica).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 78 / 142

O sistema e assim transformado em

y′(t) = f (t, y(t)) , onde y = (~c, q,~p,~L)T

Algoritmo para avaliar f (t, y)1 Normalizar q.2 Calcular ~V =~p/M.3 De q, calcular Q(q) (formula matriz associada).4 Calcular J −1 = Q(q)J −1

0 Q(q)T. Notar que J −10 foi pre-calculado

no comeco.5 Calcular ~ω = J −1~L.6 Calcular~F e~T, funcoes de t e y.7 f (t, y) = (~V, 1

2 [0, ~ω]q,~F,~T)T.

D. Baraff. An introduction to physically based modeling. SIGGRAPH’97Course Notes.

M. Mason. Mechanics of Manipulation, 2010. Course Notes.G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 79 / 142

Dinamica numerica

Equacoes finais da dinamica 2D =⇒ dydt (t) = f (t, y(t)) onde

y =

c1c2θp1p2L

, f (t, y) =

p1/Mp2/ML/J

Fh1(t,~X(~c, θ))− β1 p1/M

Fh2(t,~X(~c, θ))− β2 p2/M−M g

Th(t,~X(~c, θ))− γ L/J

,

(Fh1, Fh

2) o empuxo, ~X(~c, θ) as posicoes dos vertices do polıgono(~X =~c + Q(θ)(~Xref −~cref )), Th o torque hidrostatico.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 80 / 142

Solucao numerica de y′ = f (t, y)

Seja Y(t) a solucao exata de Y′(t) = f (t, Y(t)), Y(0) = Y0.Metodos numericos sao receitas para calcular um conjunto devetores y0, y1, . . ., que aproximam sistematicamente Y(0), Y(t1),Y(t2), . . ., para uma sequencia de tempos t1, t2, . . .Exemplo mais simples: Metodo de Euler com passo fixo definidopelo usuario.

y0 = Y0 , tk = k ∆t , yk+1 = yk + ∆t f (tk, yk)

E um metodo explıcito porque nao requer inverter f , como e naversao implıcita yk+1 = yk + ∆t f (tk+1, yk+1).

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 81 / 142

Nos metodos explıcitos, o custo computacional esta na avaliacaoda funcao f . Para o metodo de Euler: 1 avaliacao por passo.Esses metodos se tornam instaveis se ∆t > c/Jf , com c ' 2 e Jf omaior autovalor em modulo da matriz Jacobiana de f .Por Jf depender de y o limite de estabilidade pode apenas seradivinhado.Metodos Runge-Kutta constituem bons compromissos entre custo(numero de avaliacoes de f ) e precisao (‖yk − Y(tk)‖).A precisao e usualmente avaliada pela ordem do metodo:‖yk − Y(tk)‖ ≤ C ∆t p.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 82 / 142

Metodos de Runge-Kutta e Tabela de Butcher

yn+1 = yn + ∆t (b1 k1 + b2 k2 + . . . + bs ks)

onde

k1 = f (tn, yn)

k2 = f (tn + c2 ∆t, yn + ∆t (a21 k1))

k3 = f (tn + c3 ∆t, yn + ∆t (a31 k1 + a32 k2))

. . . . . .

0c2 a21c3 a31 a32. . . . . .

b1 b2 . . . . . . bs

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 83 / 142

yn+1 = yn + ∆t (b1 k1 + b2 k2 + . . . + bs ks)

onde

k1 = f (tn, yn)

k2 = f (tn + c2 ∆t, yn + ∆t (a21 k1))

k3 = f (tn + c3 ∆t, yn + ∆t (a31 k1 + a32 k2))

. . . . . .

K(:,1)=f(y(:,n),time(n)); ## ydot=f(y,t), notar invers~ao de ordem

for m=2:nstage

tt=time(n)+c(m)*dt;

yy=y(:,n)+dt*K(:,1:m-1)*a(m,1:m-1)’;

K(:,m)=f(yy,tt);

endfor

ynew=y(:,n)+dt*K(:,1:nstage)*b’;

time(n+1)=time(n)+dt;

dtime(n+1)=dt;

y(:,n+1)=ynew;

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 84 / 142

Runge-Kutta ordem 2yn+1 = yn + ∆t

(12

k1 +12

k2

)k1 = f (tn, yn)

k2 = f (tn + ∆t, yn + ∆t k1)

Tabela de Butcher0 0 01 1 0

12

12

function [y time]=rk2(f,y0,t0,dt,nt)

time(1)=t0; y(:,1)=y0;

nstage=2;a=[0 0;1 0];c=[0; 1];b=[0.5 0.5];

for n=1:nt

K(:,1)=feval(f,y(:,n),time(n));

for m=2:nstage

tt=time(n)+c(m)*dt;

yy=y(:,n)+dt*K(:,1:m-1)*a(m,1:m-1)’;

K(:,m)=feval(f,yy,tt);

endfor

y(:,n+1)=y(:,n)+dt*K(:,1:nstage)*b’;

time(n+1)=time(n)+dt;

endfor

function f = foscil(y,t)

ome=1.;

f(1)=y(2);

f(2)=-ome*ome*y(1);

end

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 85 / 142

Resolvemos x′ = v, v′ = −x com x(0) = 0, v(0) = 1. A solucaoexata e x(t) = sin t, v(t) = cos t.

Matriz jacobiana =

(0 1−1 0

), entao Jf = 1 (autovalores ±i),

limite de estabilidade ∆t < 2.> [y time]=rk2("foscil",[0;1],0,0.4,500);

> plot(time,y(1,:),"-o","linewidth",2)

A pouca precisao leva a comportamento errado.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 86 / 142

Runge-Kutta de ordem 4

Tabela de Butcher:0 0 0 0 012

12 0 0 0

12 0 1

2 0 01 0 0 1 0

16

26

26

16

Mesmo codigo do slide anterior, comnstage=4;

a=[0 0 0 0;1/2 0 0 0;0 1/2 0 0;0 0 1 0];

c=[0; 1/2; 1/2; 1];

b=[1/6 2/6 2/6 1/6];

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 87 / 142

ComparacaoComparamos RK2 com ∆t = 0.4 e 0.2, e RK4 com ∆t = 0.4.

>[y1 time1]=rk2("foscil",[0;1],0,0.4,1000);

>[y2 time2]=rk2("foscil",[0;1],0,0.2,2000);

>[y4 time4]=rk4("foscil",[0;1],0,0.4,1000);

> plot(time1,y1(1,:),"-b","linewidth",2,...

time2,y2(1,:),"-k","linewidth",2,...

time4,y4(1,:),"-r","linewidth",2)

> axis([0 400 -1.5 1.5])

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 88 / 142

Qual e o ∆t tal que a t = 800 a amplitude continua sendo ' 1 com RK2?

>[y1 time1]=rk2("foscil",[0;1],0,0.2,4000);

>[y2 time2]=rk2("foscil",[0;1],0,0.1,8000);

>[y4 time4]=rk2("foscil",[0;1],0,0.05,16000);

>plot(time1,y1(1,:),"-b","linewidth",2,time2,y2(1,:),"-k",...

"linewidth",2,time4,y4(1,:),"-r","linewidth",2,...

time1,sin(time1),"-g","linewidth",1)

> axis([750 800 -1.2 1.2])

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 89 / 142

Massa-mola com paredefunction f = foscilw(y,t)

ome=1.;f(1)=y(2);

if (y(1)>0) f(2)=-ome*ome*y(1);

else f(2)=-100*ome*ome*y(1);

endif

end

>[y1 time1]=rk2("foscilw",[0;1],0,0.1,500);

>[y2 time2]=rk4("foscilw",[0;1],0,0.2,250);

>plot(time1,y1(1,:),"-b","linewidth",2,time2,y2(1,:),"-r",...

"linewidth",2)

> axis([0 50 -.2 2])

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 90 / 142

>[y1 time1]=rk2("foscilw",[0;1],0,0.02,2000);

>[y2 time2]=rk4("foscilw",[0;1],0,0.04,1000);

>plot(time1,y1(1,:),"-b","linewidth",2,time2,y2(1,:),"-r",...

"linewidth",2)

> axis([0 40 -.2 1.2])

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 91 / 142

Ajuste automatico de passo

Ideia geral: Em cada passo de tempo,Calcular yn+1 com dois metodos de diferente ordem.Exemplo: RK2→ yn+1, RK4→ zn+1.Estimar o erro como a diferenca desses resultados.

e = ‖yn+1 − zn+1‖

Se (erro > tolerancia) reduzir ∆t e voltar a 1.Predizer um ∆t adequado para proximos passos. Vamos suporque o esquema de menor ordem e de ordem p, o “passo ideal” ∆t∗daria erro igual a tolerancia.

e ' C ∆tp+1, ε ' C ∆tp+1∗ ⇒ ∆t∗ ' ∆t

e

) 1p+1

∆t ←− max (0.5∆t, min (2∆t, 0.9∆t∗))

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 92 / 142

Embedded Runge-Kutta methods (ERKM)

Para ajustar automaticamente ∆t sao precisos 2 metodos dediferente ordem.Em geral, esses dois metodos requerem avaliacoes em pontosdiferentes.ERKM consegue construir os dois metodos maximizando onumero de pontos comuns.Sao pares otimizados de metodos RK. Os mais utilizados sao osde Fehlberg, de Dormand-Prince, entre outros. Matlab e Octaveutilizam ERKM.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 93 / 142

Metodo de Dormand-Prince

0 0 0 0 0 0 0 015

15 0 0 0 0 0 0

310

340

940 0 0 0 0 0

45

4445 − 56

15329 0 0 0 0

89

193726561 − 5360

2187644486561 − 212

729 0 0 0

1 90173168 − 355

33467325247

49176 − 5103

18656 0 0

1 35384 0 500

1113125192 − 2187

67841184 0

35384 0 500

1113125192 − 2187

67841184 0

517957600 0 7571

16695393640 − 92097

339200187

2100140

Ha 2 vetores b, o primeiro e de ordem 4, o segundo de ordem 5.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 94 / 142

Utilizando lsode (Octave)

A funcao lsode implementa as melhoras discutidas.Se especifica a funcao e os tempos em que se deseja a solucao, ∆t eautomatico.T=[0:0.2:40];

[X, istate, MSG]=lsode("foscilw",[0 1],T);

plot(T,X,"linewidth",2)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 95 / 142

Capıtulo 2

Interfaces e tensao superficial

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 96 / 142

Interfaces e tensao superficial

As moleculas em uma superfıcie fluida estao menos ligadas queaquelas no seio do lıquido.E necessaria uma energia adicional para fazer crescer a area dainterface.Essa energia por unidade de superfıcie dE = γdS

pode ser vista tambem como uma forca, ou tensao superficial

~dF = γ ~d`× n = γ d` ν

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 97 / 142

A forca de tensao superficial e equilibrada pelas forcas dos fluidosadjacentes. O resultado e equivalente a uma forca (por unidade dearea) valendo γ κ n.Se considerarmos apenas as forcas de pressao (e.g., casohidrostatico), o balanco de forcas normais na interface e

pinterior − pexterior = γ κ

onde κ = 1/R1 + 1/R2 e a curvatura media da interface.A mesma equacao e obtida minimizando a energia total(gravitacional + capilar)

E =∫S

γ dS +∫

Ωρ g z dΩ

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 98 / 142

Na presenca de uma superfıcie solida, aparece um angulo decontato, que e uma propriedade dos materiais envolvidos.

cos(θ) =γSL − γSG

γ

Essa equacao tambem se deduz da minimizacao da energia, agoraconsiderando tambem a energia das interfaces solidas.

E =∫SLG

γ dS +∫SSG

γSG dS +∫SSL

γSL dS +∫

Ωρ g z dΩ

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 99 / 142

Problema a estudar

Tomado de Portuguez et al (2017)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 100 / 142

Tomado de B. Lautrup (2010)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 101 / 142

Primeira parte: Equacoes diferenciais da superfıcie

Uma superfıcie com simetria derevolucao pode ser descrita com duasfuncoes r(s) e z(s), onde s e acoordenada de arco.

drds

= cos θ ,dzds

= sin θ

A curvatura media e dada por

κ =1

R1+

1R2

=dθ

ds+

sin θ

r Tomado de B. Lautrup (2010)

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 102 / 142

Calculo de ∆p e condicoes de contorno

Nao conhecemos o valor de d, masmesmo conhecendo, isto nao seriasuficiente para calcular pint. De fato,pint(s = 0) = p(z = 0) + ρ g d, e p(z = 0)e desconhecido.

Entao, vamos deslocar os eixos levando aorigem (r = z = 0) a ponta da gota.

Tambem, vamos tomar pext = 0 epint(s = 0) sera um parametro livre p0.

Em qualquer s 6= 0 sera (hidrostatica)pint(s) = p0 − ρ g z(s).

A interface pode chegar no extremo daagulha com qualquer angulo, comoexplicado ao lado.

Tomado de B. Lautrup (2010)G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 103 / 142

Forma matematica da gota

Uma forma parametrizada (r(s), z(s), θ(s)) sa-tisfaz o equilıbrio mecanico de uma gota pen-dente se:

1 r(0) = z(0) = θ(0) = 0

2 ∃L > 0 tal que r(L) = a.

3 Para 0 < s < L,

r′(s) = cos θ(s)z′(s) = sin θ(s)

θ′(s) =p0 − ρ g z(s)

γ− sin θ(s)

r(s)

Dados: a, p0, ρ,g, γ.

Tomado de B. Lautrup (2010)G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 104 / 142

Projeto - Gota pendente hidrostatica

Se deseja calcular a forma exata de gotas de um certo lıquido quependem de uma agulha de radio a e espessura desprezıvel. Emespecial se deseja um codigo numerico que permita calcular:

1 O volume maximo Vmax que uma gota em equilıbrio pode ter.2 A curva d vs. V, da altura vertical da gota em funcao do volume.3 A forma exata das gotas de volumes Vmax/3, 2Vmax/3 e Vmax.

Mostrar os resultados para agua a 20C, com a igual a 0.1 mm e 1 mm.

G. C. Buscaglia (LMACC-ICMC-USP) Mecanica de Fluidos Computacional I 2017 105 / 142