Post on 09-Nov-2018
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ξ
∥∥∥∥ 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