Você está na página 1de 68

Universidade Federal de Minas Gerais

Escola de Engenharia
Curso de Graduação em Engenharia Aeroespacial

ESTUDO COMPARATIVO DE ESQUEMAS


NUMÉRICOS EM DIFERENÇAS E VOLUMES FINITOS
NO ESCOAMENTO EM TORNO DE UM CILINDRO
RETANGULAR

Guilherme Teixeira Pimentel

Orientador: Prof. Marcos Vinicius Bortolus

Belo Horizonte, fevereiro de 2022


GUILHERME TEIXEIRA PIMENTEL

ESTUDO COMPARATIVO DE ESQUEMAS NUMÉRICOS EM DIFERENÇAS E


VOLUMES FINITOS NO ESCOAMENTO EM TORNO DE UM CILINDRO
RETANGULAR

Trabalho de conclusão de curso apresentado à Escola de En-


genharia da Universidade Federal de Minas Gerais como re-
quisito parcial para obtenção do grau de Bacharel em Enge-
nharia Aeroespacial.

Belo Horizonte, fevereiro de 2022


i

Resumo

O uso de simulações numéricas é hoje, extremamente atraente para a análise e soluções


de problemas no ramo da engenharia. No ramo de Mecânica dos Fluídos Computacional
(CFD), esta é utilizada em conjunto com experimentos e ensaios para projetos diversos,
reduzindo custos e acelerando o desenvolvimento de novas tecnologias.
Neste trabalho, partiu-se da definição de um problema base, variadas discretizações e
metodologias para a resolução do problema. Tomou-se como principal objetivo a compara-
ção dos resultados obtidos através da visualização dos campos de velocidade e pressão e o
cálculo dos coeficientes de arrasto e sustentação. Para tanto, implementou-se cada método
utilizando-se da linguagem de programação C++ e do Gnuplot para a produção dos gráficos.
O problema base escolhido foi o escoamento externo em torno de um cilindro retangular
quadrado. Pôde-se identificar a correta implementação de cada método através da conver-
gência encontrada entre os múltiplos métodos, constatando também, grande influência destes
nos resultados encontrados para diferentes refinamentos de malha.

Palavras chave: Volumes Finitos, Diferenças Finitas, CFD, TVD, Esquemas Compactos
iii

Agradecimentos

Agradeço primeiramente a Deus, que sempre fez parte da minha vida, sempre me gui-
ando, mesmo durante os momentos mais sombrios.
Em seguida, aos meus pais, Vânia e Fernando, que sempre me colocaram como principal
em suas vidas nunca deixando faltar nada para o meu desenvolvimento, me ensinando e me
impulsionando sempre para coisas boas e melhores.
Ao meu irmão Lucas, que nunca deixou de me escutar quando necessário, pelas brinca-
deiras, pela paciência e pelas experiências únicas que me proporcionou.
À minha noiva e futura esposa Lorena, que a quase 6 anos me ajuda e também faz parte
da minha estrutura.
À Universidade Federal de Minas Gerais e todos os docentes que foram essenciais à
minha formação como engenheiro, especialmente ao meu orientador Prof. Bortolus que
aceitou com muita felicidade e incentivo me orientar neste trabalho.

“Se eu vi mais longe, foi por estar sobre ombros de gigantes.” - Isaac Newton
Sumário

Resumo i

Agradecimentos iii

Lista de Figuras viii

Lista de Tabelas ix

1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3.2 Objetivo específico . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Revisão Bibliográfica 3
2.1 Modelagem e modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Equações Diferenciais Parciais . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Mecânica dos Fluidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Definição de Fluido . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.2 Fluidos Newtonianos e Não-Newtonianos . . . . . . . . . . . . . . 5
2.3.3 Conjuntos Adimensionais . . . . . . . . . . . . . . . . . . . . . . 6
2.3.4 Princípios Físicos Básicos . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Escoamentos Laminares e Turbulência . . . . . . . . . . . . . . . . . . . . 9
2.5 Escoamentos Compressíveis e Incompressíveis . . . . . . . . . . . . . . . 9
2.6 Escoamentos Externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Camada Limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 Métodos de Discretização . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8.1 Diferenças Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8.2 Volumes Finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.8.3 Acoplamento Velocidade-Pressão . . . . . . . . . . . . . . . . . . 14
2.8.4 Abordagem Implícita e Explícita . . . . . . . . . . . . . . . . . . . 14
2.8.5 Malha Escalonada/Decalada (Staggered Grid) . . . . . . . . . . . . 15
2.8.6 Condições de Contorno . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8.7 Difusividade e Dispersividade Numérica . . . . . . . . . . . . . . 17
2.9 Solução de Sistemas de Equações Lineares . . . . . . . . . . . . . . . . . . 19
v
vi SUMÁRIO

2.9.1 Métodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.9.2 Sistemas Tridiagonais . . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 Computação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.10.1 Linguagem de Programação C++ . . . . . . . . . . . . . . . . . . 20
2.10.2 Código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10.3 Compilador/IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Metodologia 23
3.1 Problema Analisado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Recurso Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Diferenças Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 Método da Projeção . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 Discretização Espacial . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.3 Discretização Temporal . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.4 Interpolação Espacial . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.5 Condições de Contorno . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.6 Implementação em Código . . . . . . . . . . . . . . . . . . . . . . 28
3.4 Volumes Finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.1 REMIXCS Improved . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2 Discretização espacial . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.3 Condições de Contorno . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.4 Implementação em Código . . . . . . . . . . . . . . . . . . . . . . 34

4 Resultados 37
4.1 Simulações Realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Aspectos do Escoamento Simulado . . . . . . . . . . . . . . . . . . . . . . 38
4.2.1 Campos de Pressão e Velocidade . . . . . . . . . . . . . . . . . . . 38
4.2.2 Distribuição de Velocidades Próximo ao Cilindro . . . . . . . . . . 42
4.2.3 Coeficientes de Sustentação e Arrasto . . . . . . . . . . . . . . . . 45

5 Conclusões 51
5.1 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Propostas de Continuidade . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Referências Bibliográficas 53
Lista de Figuras

2.1 Domínio e contornos para a solução de equações hiperbólicas. . . . . . . . 4


2.2 Domínio e contornos para a solução de equações parabólicas. . . . . . . . . 4
2.3 Domínio e contornos para a solução de equações elípticas. . . . . . . . . . 5
2.4 Comportamento em tempos t (a) de um corpo sólido e (b) de um fluido sob
a ação de esforço tangencial constante. . . . . . . . . . . . . . . . . . . . . 5
2.5 (a) Tensão tangencial, τ , e (b) viscosidade aparente, η, como função da taxa
de deformação para o escoamento unidimensional de vários fluidos não-
newtonianos. Adaptado de Robert W. Fox (1985) . . . . . . . . . . . . . . 6
2.6 Módulo do campo de velocidades de um escoamento no entorno de um cilin-
dro retangular quadrado. Cores azuladas representam maiores velocidades e
avermelhadas menores. Re ≈ 100. . . . . . . . . . . . . . . . . . . . . . . 10
2.7 Escoamento no entorno de um cilindro circular: (a) Re < 1; (b) 5 < Re <
40; (c) 100 < Re < 200; (d) Re ≈ 104 e (e) Re ≈ 106 . Adaptado de
Davidson (2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 Representação da camada limite. . . . . . . . . . . . . . . . . . . . . . . . 11
2.9 Distribuição de pressão checkerboard. . . . . . . . . . . . . . . . . . . . . 16
2.10 Malha após deslocamento dos pontos de cálculo de velocidade. . . . . . . . 16
2.11 (a) Parte real e (b) Parte Imaginária. Extraído de Tapan K. Sengupta (2019) 18
2.12 Ambiente de desenvolvimento integrado Visual Studio Community 2019. . 22

3.1 Geometria do problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


3.2 Condições de contorno do problema analisado. . . . . . . . . . . . . . . . 24
3.3 Análise espectral do método SUCS de quinta ordem. Retirado de Fan (2016). 27

4.1 Campo de pressão. Passo de malha 0, 002. Discretização utilizada: Van


Albada/Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Campo de pressão. Passo de malha 0, 001. Discretização utilizada: Van
Albada/Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Campo de pressão. Passo de malha 0, 0005. Discretização utilizada: Van
Albada/Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4 Campo de pressão. Passo de malha 0, 002. Discretização utilizada: SUCS/RK4. 40
4.5 Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização
utilizada: Upwind/RK4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6 Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização
utilizada: SUCS/RK4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.7 Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização
utilizada: Van Albada/Euler. . . . . . . . . . . . . . . . . . . . . . . . . . 41
vii
viii LISTA DE FIGURAS

4.8 Campo de velocidade vertical W. Passo de malha 0, 0005. Discretização


utilizada: SUCS/RK4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.9 Campo de velocidade vertical W. Passo de malha 0, 0005. Discretização
utilizada: SUCS/Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.10 Distribuição de velocidades horizontais próxima a face superior do cilindro
utilizando malha fina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.11 Detalhe de ponto de recirculação próximo à face superior do cilindro utili-
zando malha fina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.12 Distribuição de velocidades horizontais próxima a face superior do cilindro
utilizando malha grosseira. . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.13 Distribuição de velocidades horizontais próxima a face superior do cilindro
utilizando malha média. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.14 Cl ao longo do tempo. Discretização SUCS/RK4 bi-dimensional. . . . . . . 46
4.15 Cl ao longo do tempo. Discretização SUCS/Euler bi-dimensional. . . . . . 46
4.16 Cl ao longo do tempo. Discretização Upwind/RK4 bi-dimensional. . . . . . 47
4.17 Cl ao longo do tempo. Discretização Van Albada/Euler bi-dimensional. . . 47
4.18 Cd ao longo do tempo. Discretização SUCS/RK4 bi-dimensional. . . . . . 48
4.19 Cd ao longo do tempo. Discretização SUCS/Euler bi-dimensional. . . . . . 48
4.20 Cd ao longo do tempo. Discretização Upwind/RK4 bi-dimensional. . . . . 49
4.21 Cd ao longo do tempo. Discretização Van Albada/Euler bi-dimensional. . . 49
Lista de Tabelas

3.1 Especificações técnicas do computador utilizado. . . . . . . . . . . . . . . 24


3.2 Coeficientes utilizados no método SUCS com escoamento na direção positiva. 26
3.3 Coeficientes utilizados no método SUCS com escoamento na direção negativa. 26
3.4 Coeficientes utilizados para o método UPWIND de discretização em volu-
mes finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1 Simulações realizadas para análise de convergência. Re = 100 . . . . . . . 37

ix
Capítulo 1

Introdução

1.1 Motivação
Os computadores são ferramentas muito versáteis e, atualmente, muito acessíveis. A área
de simulações computacionais é crescente, e vai de encontro a multidisciplinariedade da
engenharia. Dessa maneira, o estudo da área e suas aplicações é muito rico, inclusive na área
da Engenharia Aeroespacial.

1.2 Justificativa
Uma ferramenta imprescindível para a resolução de problemas e estudo de fenômenos físicos
hoje, é o uso de computadores. O avanço do poder de processamento tornou possível a
resolução de uma gama de problemas através de métodos numéricos que antes não podiam
ser explorados (Anderson, 1995). Dessa maneira, faz-se necessário o estudo destes métodos,
suas principais características, limitações, e até mesmo sua influência no resultado final. A
definição de suas características é necessária para a comparação entre cada um dos métodos,
objetivando-se escolher o mais adequado para a resolução de um determinado problema.

1.3 Objetivos
A presente seção propõe-se a apresentar os objetivos gerais e específicos, de forma a sinteti-
zar o que se pretende alcançar com o trabalho de monografia realizado.

1.3.1 Objetivos Gerais


O objetivo geral deste trabalho é o desenvolvimento de múltiplos experimentos computa-
cionais e numéricos, utilizando-se métodos da literatura. Objetiva-se também, desenvolver
códigos fonte do tipo "Open Source"que podem ser utilizados por estudantes como auxílio
em seu aprendizado.
1
2 CAPÍTULO 1. INTRODUÇÃO

1.3.2 Objetivo específico


O objetivo específico deste trabalho é identificar os principais efeitos associados a um con-
junto seleto de métodos e formas de discretização, utilizados para a resolução de um pro-
blema da mecânica dos fluidos.

1.4 Organização do trabalho


O trabalho está dividido em cinco capítulos. O capítulo 2 descreve toda parte teórica de
métodos numéricos e simulação. Em seguida, o 3º capítulo aborda a metodologia de desen-
volvimento, apresentando os métodos implementados e o problema exemplo utilizado como
ferramenta na comparação entre estes métodos. No capítulo 4, tem-se a apresentação dos
resultados obtidos. E por fim, no capítulo 5, a conclusão da pesquisa, com a apresentação
dos principais pontos levantados e sugestões para próximos trabalhos.
Capítulo 2

Revisão Bibliográfica

Pela natureza do trabalho, tema e método de desenvolvimento, espera-se que a revisão bi-
bliográfica seja extensa. A abundância de artigos, livros e tutoriais disponíveis tornam o
processo revisional muito rico, mas também desafiador, no sentido de selecionar os materi-
ais mais relevantes.

2.1 Modelagem e modelos


Na construção ou desenvolvimento de qualquer tipo de sistema complexo é extremamente
importante o uso de modelagem. A modelagem é uma técnica de engenharia aprovada e
bem-aceita (G. Booch, 2012).
Um modelo pode ser definido como uma tentativa de representar a realidade por meio de
suas características principais, ou aquelas mais relevantes para a situação em análise. Trata-
se de objeto de estudo que pode agregar mais conhecimento sobre o problema em análise, e
ajudar a prever possíveis problemas associados ao processo.
No caso da mecânica dos fluidos computacional, os modelos construídos são matemáti-
cos, e as propriedades mais relevantes são os princípios físicos.

2.2 Equações Diferenciais Parciais


Equações diferenciais são ferramentas utilizadas na modelagem de problemas físicos diver-
sos, o comportamento matemático e as diversas propriedades associadas a estas ao reger
determinado fenômeno são importantes para a análise. Está no cerne deste trabalho o estudo
do comportamento das equações diferenciais parciais.
As equações de Navier-Stokes são equações diferenciais parciais não lineares que des-
crevem o comportamento de um fluido (Seção 2.3). Apesar de seu comportamento misto,
para casos específicos (como por exemplo considerando a incompressibilidade), é possível
identificar comportamentos encontrados também em outros conjuntos de equações.
Em equações denominadas hiperbólicas, a influência de uma perturbação em um deter-
minado ponto fica restrita a uma região ou cone de influência, sendo que, qualquer região
fora da zona de influência não poderá ser afetada por qualquer condição de contorno ou efeito
dentro desta (Anderson, 1995). Estas regiões são delimitadas pelas chamadas curvas carac-
terísticas. Escoamentos invíscidos supersônicos estacionários são hiperbólicos em relação
3
4 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

ao espaço, enquanto escoamentos não estacionários invíscidos são hiperbólicos em relação


ao tempo.

Figura 2.1: Domínio e contornos para a solução de equações hiperbólicas.

Para equações parabólicas a região de influência acontece ao longo de um dos eixos


(Anderson, 1995). Escoamentos estacionários dentro da camada limite (2.3) e condução
térmica não estacionária são exemplos de processos físicos regidos por equações parabólicas.

Figura 2.2: Domínio e contornos para a solução de equações parabólicas.

Por fim, para as equações elípticas, a região de influência é todo o domínio, ou seja, per-
turbações em qualquer ponto do domínio afetam toda a solução (Anderson, 1995). Exemplos
de escoamentos regidos por essas equações são: subsônico invíscido estacionário e invíscido
incompressível. Nas figuras apresentadas (2.1), (2.2) e (2.3) é possível identificar a diferença
quanto às condições de contorno do problema.
Para o caso de escoamentos viscosos incompressíveis, os quais são resolvidos neste tra-
balho, as equações resultantes têm características mistas: elípticas (no espaço) e parabólicas
(no tempo). As condições de contorno devem ser definidas para cada limite com uma condi-
ção inicial em todo o domínio, sendo que, para que um problema seja bem-posto é necessária
a definição suficiente das condições de contorno e iniciais.
2.3. MECÂNICA DOS FLUIDOS 5

Figura 2.3: Domínio e contornos para a solução de equações elípticas.

2.3 Mecânica dos Fluidos


2.3.1 Definição de Fluido
Uma definição de fluido é dada por Robert W. Fox (1985), como sendo: "... substância que
se deforma continuamente sob a ação de um esforço (tensão) tangencial não importando
quão diminuto seja este esforço". Essa definição pode ser aplicada tanto aos gases quanto
aos líquidos.

Figura 2.4: Comportamento em tempos t (a) de um corpo sólido e (b) de um fluido sob a
ação de esforço tangencial constante.

Como exibido na imagem acima, se for disposto duas placas planas com um fluido qual-
quer entre elas, e aplicarmos uma força tangencial em uma das placas, haverá a movimenta-
ção contínua desta e a deformação do fluido.

2.3.2 Fluidos Newtonianos e Não-Newtonianos


Como mostrado na figura 2.4 (b), para uma força aplicada será produzido continuamente
uma deformação no fluido. Assim, podemos expressar a seguinte relação:

du
τyx ∝ (2.1)
dy
6 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

Quando é possível definir uma constante simples para o relacionamento entre deformação
e tensão, podemos denominar o fluido como Newtoniano. A essa constante damos o nome
de viscosidade cinemática.
du
τyx = µ (2.2)
dy
Assim, são definidas a viscosidade cinemática (2.4) e a viscosidade dinâmica (2.3)
τyx
µ= du
(2.3)
dy

µ
ν= (2.4)
ρ
Já para o caso de fluidos não-newtonianos, existem diversos comportamentos diferentes.
Na figura 2.5, são apresentados tipos de comportamentos diferentes em relação a tensão-
deformação.

Figura 2.5: (a) Tensão tangencial, τ , e (b) viscosidade aparente, η, como função da taxa de
deformação para o escoamento unidimensional de vários fluidos não-newtonianos. Adaptado
de Robert W. Fox (1985)

2.3.3 Conjuntos Adimensionais


O Teorema π de Vaschy-Buckingham indica que, dado um problema físico de qualquer natu-
reza o qual envolve x variáveis físicas dimensionais, sendo estas variáveis representadas por
n dimensões fundamentais, a equação do processo ou sistema poderá ser descrita por uma
equação com n − r variáveis adimensionais.
O Número de Reynolds é um adimensional muito importante na caracterização geral de
escoamentos. De maneira geral, ele está associado à transição entre os regimes laminares e
2.3 Mecânica dos Fluidos 7

turbulentos, isto é, para valores altos de Reynolds há a tendência de escoamentos turbulentos.


Essa tendência é mensurada quantitativamente pela razão entre forças de inércia e forças
viscosas (eq. 2.5).
ρV D VD
Re = = (2.5)
µ ν
Com:
• ρ a densidade de um fluido
• V uma velocidade característica (por exemplo a velocidade não perturbada)
• D uma distância característica (por exemplo o diâmetro de um tubo)
• µ a viscosidade cinemática do fluido
• ν a viscosidade dinâmica do fluido
Os coeficientes de força (Sustentação CL e Arrasto CD ) são utilizados para fazer compa-
rações e por garantirem uma maneira simples de cálculo das forças hidrodinâmicas atuantes
em um corpo imerso. A forma genérica para uma força qualquer é dada na eq. 2.6
Fx Fx
Cx = = 1 2 (2.6)
q 2
ρV A
Onde:
• Fx é dado como a força de sustentação ou arrasto
• ρ é a densidade do fluido
• V é a velocidade de escoamento
• A é uma área característica
O Número de Mach está diretamente relacionado ao efeito de compressibilidade do fluido
no escoamento sendo determinado por meio da eq. (2.7).
V
M= (2.7)
C
Onde:
• V velocidade do escoamento
• C velocidade de propagação sonora do meio
Outro adimensional importante é o chamado Número de Courant ou Condição de Cou-
rant, Friedrichs e Lewy (CFL). Pode-se mostrar que tal coeficiente está diretamente relaci-
onado à estabilidade e difusividade numérica causada pela discretização temporal (Carlos
A. de Moura, 2013).
U ∆t
CCF L = (2.8)
∆x
Com:
8 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

• U a velocidade na direção x em um ponto qualquer

• ∆t o passo no tempo utilizado para avançar a solução

• ∆x o passo no espaço utilizado na discretização

2.3.4 Princípios Físicos Básicos


Para se chegar nas equações que modelam o fenômeno físico do escoamento dos fluidos
(Equações de Navier-Stokes) faz-se o uso dos seguintes princípios físicos básicos:
• Conservação de massa

• Conservação de momentum (Segunda Lei de Newton)

• Conservação da energia
A conservação de massa pode ser expressa pela seguinte equação diferencial parcial:
∂ρ
+ ∇.(ρV) = 0 (2.9)
∂t
A conservação de momento, para um fluido Newtoniano compressível, em X, Y e Z,
respectivamente, pode ser definido pelas equações:
∂ρu ∂P
+ ∇.(ρuV) = − + µ∇2 u + Fx (2.10)
∂t ∂x

∂ρv ∂P
+ ∇.(ρvV) = − + µ∇2 v + Fy (2.11)
∂t ∂y
∂ρw ∂P
+ ∇.(ρwV) = − + µ∇2 w + Fz (2.12)
∂t ∂z
A demonstração completa das equações pode ser encontrada em diversos livros de me-
cânica dos fluidos como, por exemplo: Robert W. Fox (1985), Anderson (1995) e Versteeg
and Malalasekera (2007).
Uma consideração comumente utilizada nos problemas em que o escoamento possui pe-
quenos valores de M ach é a de incompressibilidade, ou seja, a densidade passa a ser cons-
tante em todo o campo e também independe do tempo. Assim, as equações (2.9) (2.10),
(2.11) e (2.12) se tornam:
∂u ∂v ∂w
+ + = 0 = ∇.V (2.13)
∂x ∂y ∂z
∂u ∂P 1 µ 2
+ ∇.(uV) = − + ∇ u + Fx (2.14)
∂t ∂x ρ ρ
∂v ∂P 1 µ 2
+ ∇.(vV) = − + ∇ v + Fy (2.15)
∂t ∂y ρ ρ
∂w ∂P 1 µ 2
+ ∇.(wV) = − + ∇ w + Fz (2.16)
∂t ∂z ρ ρ
2.4. ESCOAMENTOS LAMINARES E TURBULÊNCIA 9

2.4 Escoamentos Laminares e Turbulência


Pode-se caracterizar o escoamento de fluidos viscosos entre: laminares e turbulentos. Para
o caso laminar, no escoamento é possível verificar a existência de camadas bem separadas
de fluidos onde não há troca de massa, momento ou energia por efeitos advectivos (apenas
difusivos). Dessa maneira, "Tênue filamento colorido injetado no escoamento laminar terá a
aparência de uma linha reta."(Robert W. Fox, 1985). No caso de um escoamento turbulento
a taxa de transferência de massa, momento ou energia entre camadas é grande e causado
principalmente por efeitos advectivos.
A maioria dos escoamentos a ser analisados pela engenharia são turbulentos. Apesar
de não existir uma definição bem estabelecida e um critério que defina a partir de que mo-
mento um escoamento se tornará turbulento, têm-se como características de um escoamento
turbulento (H. Tennekes, 1972):

• Irregularidade: O escoamento turbulento é altamente irregular ou randômico.

• Difusivo: A difusividade da turbulência, causando rápida mistura e aumento de taxas


de transferência de momento, calor e massa.

• Alto Número de Reynolds: Escoamentos turbulentos sempre ocorrem a altos Números


de Reynolds (2.5). Turbulência geralmente origina como uma instabilidade em escoa-
mentos laminares quando o número de Reynolds se torna alto. As instabilidades estão
associadas com a interação dos termos viscosos e os termos não lineares de inércia nas
equações de momentum: (2.10), (2.11) e (2.12).

• Flutuações de vorticidade tridimensionais: Turbulência é rotacional e tri-dimensional,


é caracterizada por altos níveis de flutuabilidade da vorticidade.

• Dissipativo: Dado a existência de grandes gradientes em um escoamento turbulento,


há também grande dissipação causada pelas tensões cisalhantes viscosas. Estas fazem
trabalho de deformação que aumentam a energia interna do fluido a custo da energia
cinética turbulenta.

• Escoamentos turbulentos são escoamentos: Turbulência não é uma característica dos


fluidos, mas sim de escoamentos.

2.5 Escoamentos Compressíveis e Incompressíveis


Dada a natureza dos fluidos é comum a existência de diferentes massas específicas ao longo
do escoamento, essa variação de massa específica está associada à compressibilidade do
fluido e as condições de contorno do próprio escoamento. Podemos definir os escoamentos
incompressíveis como aqueles onde a variação de massa específica entre diferentes pontos
pode ser desprezada, concluímos assim que esta, é uma simplificação do caso mais geral e
não existe um escoamento perfeitamente incompressível. Desta forma é possível notar que,
assim como a turbulência, a consideração de compressibilidade ou não é feita a partir do
escoamento em si e não apenas do fluido. Como regra geral, escoamentos com Números de
Mach abaixo de 0, 3 podem ser definidos como incompressíveis.
10 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

2.6 Escoamentos Externos


Escoamentos nos quais há barreiras físicas (não fluidas) em todo o seu entorno dá-se o nome
de escoamentos internos, tendo como exemplo, escoamentos em dutos e canos. Em escoa-
mentos externos há um corpo submerso em um fluido sem barreiras físicas e considera-se a
perturbação produzida por ele no fluido.
Em escoamentos externos é possível identificar duas regiões com características diferen-
tes: regiões em que os efeitos viscosos são predominantes no comportamento do fluido e
regiões onde a viscosidade possui pouca influência.

Figura 2.6: Módulo do campo de velocidades de um escoamento no entorno de um cilin-


dro retangular quadrado. Cores azuladas representam maiores velocidades e avermelhadas
menores. Re ≈ 100.

A região mais distante do corpo onde as linhas de corrente são bem definidas indepen-
dente dos efeitos viscosos. Dessa maneira, poderia-se modelar o escoamento nestes pontos
através de modelos invíscidos.
Como representado na figura 2.6, a região próxima à superfície do corpo possui grande
influência da viscosidade, podendo ser denominada como camada limite. Define-se camada
limite a espessura ou distância até a superfície do corpo em que a velocidade do fluido é de
99% da velocidade da corrente livre.
Outro ponto em que a viscosidade também tem papel importante está associado à posição
imediatamente atrás do corpo, esta localidade é marcada pela mistura do escoamento não
perturbado e o escoamento perturbado pelo corpo. A esta região é dado o nome de esteira.
É importante lembrar que as definições anteriormente definidas também são válidas para
ambos os escoamentos, ou seja, para escoamentos internos e externos existem efeitos asso-
ciados à turbulência e compressibilidade.
Na figura 2.7 está representado o escoamento em torno de um corpo rombudo para dife-
rentes valores de Número de Reynolds. Um corpo rombudo pode ser definido como o corpo
que possui razão espessura comprimento grande. Como pode ser visto, para valores baixos
de Reynolds (a) e (b) temos a apresentação de um escoamento simétrico. Para valores próxi-
mos a 100 existe a formação de uma estrutura não estacionária denominada Vórtices de Von
2.7. CAMADA LIMITE 11

Figura 2.7: Escoamento no entorno de um cilindro circular: (a) Re < 1; (b) 5 < Re < 40;
(c) 100 < Re < 200; (d) Re ≈ 104 e (e) Re ≈ 106 . Adaptado de Davidson (2004) .

Karman (c). Com valores crescentes (d) e (e) há a formação de instabilidades e consequente
formação de turbulência.

2.7 Camada Limite


Como apresentado no tópico anterior, a camada limite é uma região em que os efeitos visco-
sos são predominantes, a região próxima ao corpo responsável pela interação entre este e o
fluido.

Figura 2.8: Representação da camada limite.

Como pode ser visto na figura 2.8 com o aumento do valor de x, há também o aumento
12 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

da espessura da camada limite δ.


A camada limite, para o caso de uma placa plana, é laminar, com pouca troca de mo-
mentum entre as camadas por efeitos advectivos. Com o aumento da distância até a borda, a
camada limite entra em uma região de transição onde os efeitos de perturbação começam a
se acumular até que a camada se torne completamente turbulenta.
A solução da camada limite laminar para uma placa plana sem gradientes de pressão
foi encontrada por Blasius em 1908. O valor da espessura e tensão tangencial pode ser
encontrados por meio das equações:
5 5x
δ≈q =√ (2.17)
U Rex
νx
p
τw = 0, 332U ρµU/x (2.18)

2.8 Métodos de Discretização


A solução de sistemas de equações diferenciais parciais não lineares é um problema em
aberto dentro do ramo da matemática. Dessa maneira, a solução das equações de Navier-
Stokes para exemplos fora de um conjunto pequeno de problemas os quais, foi possível
encontrar soluções através de simplificações, não é possível.

2.8.1 Diferenças Finitas


No caso das Diferenças Finitas, faz-se a substituição das derivadas parciais por expressões
algébricas que são válidas apenas quando a discretização alcança um valor infinito de pontos,
ou seja, a um erro para um valor finito. Podemos utilizar um polinômio de Taylor para apro-
ximar qualquer função contínua e diferenciável em torno de um ponto a através da seguinte
expressão (Stewart, 2014):

∆x1 ∆x2 ∆xn


+ f 00 (x)
f (x + ∆x) = f (x) + f 0 (x) + ... + f n (x) (2.19)
1! 2! n!
Resolvendo na equação (2.19) para a primeira derivada de x e considerando uma função
de duas variáveis:

∂ 2u ∂ 3u ∆x2
     
∂u ux+∆x,y − ux,y ∆x
= − − + ... (2.20)
∂x x,y ∆x ∂x2 x,y 2 ∂x3 x,y 6

Assim, da equação (2.20) pode-se observar que para valores pequenos de ∆x os termos
que envolvem derivadas de ordem mais alta tendem a ser nulos. Dessa forma, podemos
escrever:
 
∂u ux+∆x,y − ux,y
= + O(∆x) (2.21)
∂x x,y ∆x
De maneira semelhante, também é possível utilizar ∆x negativo, obtendo a seguinte
expressão:
2.8 Métodos de Discretização 13

0(−∆x)1 00 (−∆x)2 n (−∆x)n


f (x − ∆x) = f (x) + f (x) + f (x) + ... + f (x) (2.22)
1! 2! n!
Resolvendo na equação (2.22) para a primeira derivada de x e considerando uma função
de duas variáveis:

∂ 2u ∂ 3u ∆x2
     
∂u ux−∆x,y − ux,y −∆x
= − − + ... (2.23)
∂x x,y −∆x ∂x2 x,y 2 ∂x3 x,y 6

Assim, da equação (2.23) pode-se observar que para valores pequenos de ∆x os termos
que envolvem derivadas de ordem mais alta tendem a ser nulos. Sendo assim podemos
formular:
 
∂u ux,y − ux−∆x,y
= + O(∆x) (2.24)
∂x x,y ∆x
Utilizando métodos similares é possível generalizar a resolução para um caso geral de-
pendente do grau da derivada, do número de pontos e da posição de cada ponto. Uma ferra-
menta como a disponibilizada em (Taylor) é capaz de calcular as discretizações para diversos
esquemas simples. Para uso posterior, é apresentado abaixo algumas das discretizações mais
comuns:
 
∂u ux+∆x,y − ux−∆x,y
= + O(∆x)2 (2.25)
∂x x,y 2∆x
 2 
∂ u ux+∆x,y − 2ux−∆x,y + ux−∆x,y
2
= + O(∆x)2 (2.26)
∂x x,y ∆x2
Esquemas de diferenciação compactos são capazes de oferecer grande acurácia espec-
tral, com altas ordens erro de truncamento e com o uso de poucos pontos necessários para
o cálculo. Para conseguir estas características, os esquemas são implícitos, ou seja, faz-se
necessário o cálculo simultâneo das derivadas através de sistemas lineares. Em geral, para
garantir a viabilidade destes esquemas, os sistemas lineares são do tipo tridiagonais ou pen-
tadiagonais, os quais podem ser resolvidos por algoritmos simples e eficientes (exemplo,
Algoritmo de Thomas).

2.8.2 Volumes Finitos


De maneira análoga à demonstração das equações de Navier-Stokes, pode-se chegar na se-
guinte equação integral do transporte para uma quantidade genérica φ:

Z Z Z Z Z Z Z Z

( ρφ dV ) dt+ n. (ρφu) dA dt = n.(Γgradφ) dA dt+ Sφ dV dt
∆t ∂t CV ∆t A ∆t A ∆t CV
(2.27)
Com Γ igual a difusividade, CV um volume de controle e A as faces do volume de
controle. O termo Sφ representa um termo fonte para a quantidade φ.
14 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

Dessa forma, para o caso tridimensional é possível discretizar a equação integral em


Volumes finitos, gerando a seguinte equação (Versteeg and Malalasekera, 2007):

aP φP = aW φW + aE φE + aS φS + aN φN + aB φB + aT φT + a0P φ0P + Su (2.28)

Com:

aP = aW + aE + aS + aN + aB + aT + a0P + ∆F − Sp (2.29)

ρ0P ∆V
a0P = (2.30)
∆t

S̄∆V = Su + Sp φP (2.31)
Os valores dos coeficientes aW , aE , aS , aN , aB , aT , ∆F são dependentes do método de
discretização utilizado e relacionam o valor do campo para todos os pontos. O valor φα é o
valor da variável a ser conservada em uma das faces (leste, oeste, sul, norte, cima e baixo)
ou no centróide (P).
Também se define duas quantidades associadas à convecção e difusão respectivamente
nas equações 2.32 e 2.33.

Ff ace = (ρu)f ace Af ace (2.32)

Γf ace
Df ace = Af ace (2.33)
δxP f ace

2.8.3 Acoplamento Velocidade-Pressão


O acoplamento velocidade-pressão para o caso incompressível não é direto. Dado a apro-
ximação de densidade constante em todo o campo, a pressão passa a cumprir o papel de
garantir a incompressibilidade. Dessa maneira, desenvolveu-se diversos métodos diferentes
para o realizar. Os diferentes métodos utilizados neste trabalho estão detalhados na Metodo-
logia, seções (3.4.1) e (3.3.1).

2.8.4 Abordagem Implícita e Explícita


Na discretização das equações, pode-se tomar duas abordagens diferentes em relação às
variáveis utilizadas para calcular as derivadas espaciais: adotar os valores conhecidos (ou
atrasados) ou utilizar os valores que serão calculados. Efetivamente, a principal diferença é
que a escolha de uma abordagem implícita garante a necessidade de se solucionar um sistema
de equações lineares para as variáveis.
Seguindo (Anderson, 1995), podemos tomar por simplicidade a discretização da equação
de condução de calor unidimensional em diferenças finitas:

∂T ∂ 2T
=α 2 (2.34)
∂t ∂x
Utilizando uma abordagem explícita:
2.8 Métodos de Discretização 15

Tin+1 − Tin n
α(Ti+1 − 2Tin + Ti−1
n
)
= (2.35)
∆t (∆x)2
∆t
Tin+1 = Tin + α (T n − 2Tin + Ti−1
n
) (2.36)
(∆x)2 i+1
Utilizando uma abordagem implícita [Crank-Nicolson (Anderson, 1995)] com o valor
sendo considerado com uma média temporal dos valores:

Tin+1 − Tin 1
[T n+1 + Ti+1
2 i+1
n
] − 12 [2Tin+1 + 2Tin ] + 12 [Ti−1
n+1 n
+ Ti−1 ]
=α 2
(2.37)
∆t (∆x)
Assim, a equação (2.35) pode ser utilizada para calcular o valor da temperatura num
ponto, enquanto no caso da equação (2.37) é necessário a solução para todos os pontos
simultaneamente (para cada ponto há uma equação que a relaciona com os pontos próximos).
A principal vantagem da abordagem explícita é a simplicidade de se implementar e oti-
mizar um código que calcule os valores a um passo de tempo posterior. A principal desvan-
tagem está relacionada ao fato de que para valores de passo de tempo ∆t > ∆t0 a solução
se torna instável e a solução diverge. Na abordagem implícita a estabilidade é muitas vezes
garantida para quaisquer valores de passo no tempo, sendo apenas impeditivo considerando
o aumento do erro para cada passo de tempo e o principal ponto negativo está associado ao
grande esforço computacional de se resolver sistemas de equações grandes.

2.8.5 Malha Escalonada/Decalada (Staggered Grid)


Com a consideração de incompressibilidade, a pressão tem o papel de garantir a conservação
de massa. Para uma malha, na qual os pontos em que se calcula a pressão são os mesmos da
velocidade, há a possibilidade de aparecimento de uma perturbação espúria, que não é sentida
pelo campo de velocidades. Isso pode ser visto através do seguinte exemplo (Versteeg and
Malalasekera, 2007):
Considere, um campo de pressões como o dado na figura (2.9). Para o cálculo das equa-
ções de momentum na direção x é necessário o cálculo da influência da pressão nas faces
do volume, essa influência, pode ser vista como a diferença ou variação de pressão entre as
faces, e para o seu cálculo, é necessário o valor da pressão nas faces. Assim, considerando
uma interpolação linear da pressão:
PE +PP
− PP +P
 
∂P 2 2
W
PE − PW
= = (2.38)
∂x δx 2δx
Dessa forma, fica claro que a distribuição do campo de pressões apresentado não é ’sen-
tido’ pelo escoamento. Ele se torna ’barulho’ na solução e leva a não convergência do pro-
blema. O mesmo problema acontece quando estamos utilizando o método das diferenças
finitas (Anderson, 1995).
Dessa maneira, uma solução para este problema é deslocar os pontos de cálculo das
velocidades em relação aos pontos onde é calculada a pressão. Cada uma das três velocidades
é calculada em pontos deslocados de meio comprimento de célula na direção da própria
velocidade. Isto é, a velocidade u é deslocada na direção x, a v se desloca na direção y e por
fim, a velocidade w é deslocada na direção z.
16 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

Figura 2.9: Distribuição de pressão checkerboard.

Figura 2.10: Malha após deslocamento dos pontos de cálculo de velocidade.


2.8 Métodos de Discretização 17

A figura 2.10 apresenta os volumes de controle utilizados para o cálculo de P , u e v.


Setas foram utilizadas para indicar os pontos onde há o cálculo das velocidades, para cima e
baixo, respectivamente. Os pontos onde são feitos o cálculo da pressão possuem subscritos
I, J, a velocidade u o subscrito i, J e no caso de v o subscrito I, j. A extensão para três
dimensões é direta utilizando k e K, respectivamente.

2.8.6 Condições de Contorno


Como já apresentado na subseção de equações diferenciais, é necessário que as condições
de contorno e iniciais estejam suficientemente definidas. Assim, a escolha de condições de
contorno adequadas é muito importante para a obtenção de resultados válidos.
A definição das condições de contorno pode ser de dois tipos. A primeira, denominada
Condição de contorno de Dirichlet, está associada à definição do valor da propriedade em
um ponto para todos os instantes de tempo, já a segunda, denominada Condição de contorno
de Neumann, está associada à definição do valor da derivada em um ponto para todos os
instantes de tempo.
A implementação da condição de intransponibilidade é feita através da definição de ve-
locidade nula na direção normal à face, já o deslizamento livre é dado considerando-se a
ausência de gradiente de velocidades na direção normal à parede, ou seja:

∂U ∂W ∂V
= = =0 (2.39)
∂y ∂x ∂z
A condição de não deslizamento aplicada ao corpo pode ser implementada por meio da
consideração de velocidade lateral nula na superfície do corpo.

V.n̂ = 0 (2.40)
Na entrada, as velocidades são impostas como região de far field, isto é, velocidade não
perturbada.

V = (U∞ , 0, 0) (2.41)
Na região de saída, é aplicada a conservação de massa, ou seja, dada as velocidades
existentes no ponto, a velocidade na direção normal (em direção à saída) é calculada de
maneira a garantir a conservação de massa.

∇.V = 0 (2.42)

2.8.7 Difusividade e Dispersividade Numérica


A estabilidade da solução numérica após a sua discretização dependerá do esquema utilizado
e de questões relacionadas ao próprio problema. A difusividade numérica é um aspecto
importante no quesito manter a estabilidade da solução, e, ao mesmo tempo é um problema,
pois altera o problema resolvido. A dispersividade, por sua vez, está associada a apresentação
de modos espúrios na solução, que também alteram o problema resolvido.
Uma maneira possível de explicitar o motivo da existência de tais efeitos é apresentada
por Anderson (1995) e repetida aqui:
18 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

Considere a equação da onda unidimensional:


∂u ∂u
+a =0 (2.43)
∂t ∂x
Escolhendo uma discretização espacial para frente (upwind) para a derivada temporal, e
para trás (downwind) na espacial, obtemos:

ut+∆t
i − uti uti − uti−1
+a =0 (2.44)
∆t ∆x
Utilizando uma expansão de Taylor nos pontos uit+∆t e uti−1 , substituindo na equação
discretizada e após um rearranjo, é possível chegar em:

∂u ∂u a∆x ∂ 2 u a∆x2 ∂ 3u
+a = (1 − ν) 2 + (3ν − 2ν 2 − 1) 3 + ... (2.45)
∂t ∂x 2 ∂x 6 ∂x
Com
a∆t
ν= (2.46)
∆x
Observe que a equação 2.45 é uma equação diferencial parcial, e que a discretização dada
em 2.44 corresponde à solução exata desta. Os termos do lado direito correspondem ao erro
de discretização.
Os termos relacionados à segunda derivada possuem o efeito de difusão (relembre a equa-
ção do calor), enquanto os termos de terceira ordem produzem um efeito dispersivo. Como
estes termos estão diretamente associados à discretização numérica, eles são chamados difu-
são e dispersão numérica.
Outra maneira de se analisar o efeito difusivo e dispersivo de um esquema numérico, é
através da análise espectral. No livro de Tapan K. Sengupta (2019) é apresentado a função
de transferência para diversos comprimentos de onda para diversos esquemas:

Figura 2.11: (a) Parte real e (b) Parte Imaginária. Extraído de Tapan K. Sengupta (2019)

Na figura 2.11 está representada a parte real e imaginária dos esquemas centrais de se-
gunda, quarta e sexta ordem e esquemas enviesados de primeira e segunda ordem. A parcela
real, representa a resolução espacial do esquema, já a parcela imaginária denota a difusão
numérica adicionada pela discretização, valores positivos indicam possíveis instabilidades.
2.9. SOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES 19

2.9 Solução de Sistemas de Equações Lineares


Como pôde ser visto, a discretização das equações diferenciais parciais utilizando os méto-
dos de diferenças finitas ou volumes finitos podem gerar sistemas de equações lineares, os
quais devem ser resolvidos de maneira eficiente. Dessa maneira, diversos métodos foram
desenvolvidos e otimizados para esse fim.

2.9.1 Métodos Iterativos


Os sistemas lineares produzidos pela discretização possuem N × N termos com N igual ao
número de elementos de discretização. Dessa maneira, considerando uma malha com um
milhão de elementos, teríamos um sistema linear 106 × 106 ou um total de 1012 termos. Para
armazenar esses valores em memória seriam necessários aproximadamente quatro terabytes
de RAM. Felizmente, pela própria natureza do método, o tipo de sistema linear é o que
chamamos de esparso, ou seja, a maioria de seus coeficientes é zero.
A solução via métodos diretos como, por exemplo, decomposição LU, não seria viável,
dado o grande uso de memória já apresentado. Assim, na solução de tais sistemas emprega-se
extensivamente métodos iterativos, os quais, de maneira geral, resolvem o problema apenas
para uma determinada precisão. Estes métodos tem características interessantes quanto a
possibilidade de otimização e paralelismo, o que torna ainda mais atraente seu uso.
Um método muito utilizado é o chamado Biconjugate Gradient Stabilized Method (BiCGS-
TAB) em conjunto de métodos de multi-grid. Uma introdução sobre o uso de métodos base-
ados no Método dos Gradientes Conjugados pode ser encontrado em (Shewchuk, 1994).
Pode-se mostrar que com o aumento do número de elementos de discretização as matrizes
produzidas tornam-se cada vez mais mal comportadas, o que significa dizer que existe um
aumento no número de condicionamento da matriz. A utilização de preconditioning, que é
a aplicação de uma matriz de transformação para reduzir o número de condicionamento, é
mandatório.
Por fim, há também o uso de métodos denominados multi-grid, conceitualmente falando,
com o aumento do refino da malha e consequentemente do número de pontos no sistema há
uma maior faixa, em que os erros de frequência menores se tornam menos atenuados por
cada iteração. Dessa maneira, pode-se resolver o problema para malhas mais grosseiras,
utilizar algum tipo de função de interpolação e resolver o problema com malhas mais finas
partindo da solução dada pela malha mais grosseira. A malha aqui referida pode ser tanto os
elementos utilizados na discretização quanto o que chamamos de malha "algébrica".
Neste trabalho o método BiCGSTAB foi utilizado em conjunto com os métodos de multi-
grid algébricos e precondicionadores. A biblioteca OpenSource AMGCL (Demidov, 2020)
foi adotada para a solução de todos os problemas esparsos.

2.9.2 Sistemas Tridiagonais


Métodos de discretização como The Beam and Warming Method (Anderson, 1995) ou mesmo
o cálculo das derivadas utilizando métodos compactos, exigem a solução de um sistema de
equações tridiagonais. A solução desses sistemas pode ser feita através do algoritmo de
Thomas, seguindo o apêndice A do livro (Anderson, 1995):
20 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

    
d1 a1 0 0 0 ... u1 c1
 b2 d2 a2 0 0 ...  u2   c2 
    
 0 b 3 d 3 a3 0 ...
  u3  =  c3 
   

 0 0 b 4 d 4 a4 (2.47)
 ...
  u4   c4 
   
 0 0 0 b5 d 5 ...  ...   ... 

0 0 0 0 b6 ... uN cN
Pode-se transformar o sistema tridiagonal em um sistema bidiagonal superior:
    
d1 a1 0 0 0 ... u1 c1
 0 d02 a2 0 0 ...   u2   c02 
    
 0 0 d03 a3 0 ...   u3   c03 
 0 0 0 d04 a4 ...   u4  =  c04  (2.48)
    
    
 0 0 0 ... ... ...   ...   ... 
0 0 0 0 0 d0N uN c0N
Com

bi ai−1
d0i = di − (2.49)
d0i−1
c0i−1 bi
c0i = ci − (2.50)
d0i−1
Observe que a solução da última equação é direta, ou seja:

c0N
uN = 0 (2.51)
dN
Logo, pode-se utilizar o método de substituições sucessivas para o cálculo de cada variá-
vel seguindo a fórmula

c0i − ai ui+1
ui = (2.52)
d0i

2.10 Computação
Atualmente, a Ciência da Computação está inserida em todas as áreas da engenharia e aplica-
ções da ciência. O computador moderno expandiu as possibilidades de simulações e tornou
acessível para qualquer pessoa o estudo de fenômenos físicos por meio de simulações numé-
ricas.

2.10.1 Linguagem de Programação C++


C++ é uma linguagem de programação compilada multi-paradigma de uso geral (Wikipedia).
Muito utilizada no desenvolvimento de sistemas embarcados e quando há a necessidade de
elevados níveis de otimização. É a linguagem escolhida para o programa opensource Open-
FOAM e, de acordo com Bjarne Stroustrup (criador da linguagem) (Stroustrup, 2013), a
ideia da linguagem é prover:
2.10. COMPUTAÇÃO 21

• Mapeamento direto para operações e tipos integrados (built in operations and types)
em hardware para garantir uso eficiente de memória e operações baixo nível

• Mecanismos de abstração flexíveis e com baixo custo computacional

Dessa maneira, entende-se que ao utilizar essa linguagem é possível apresentar um có-
digo eficiente, que utiliza tecnologias mais próximas do processador, mantendo ainda a pos-
sibilidade de um código limpo e manutenível.

2.10.2 Código
O desenvolvimento do código foi feito seguindo o padrão Programação Orientado a Objetos.
Todo o código foi implementado tendo em vista as seguintes considerações:

• Legibilidade e Encapsulamento: O desenvolvimento de código sem o mínimo de cui-


dado com a legibilidade do código e o encapsulamento de partes específicas do código
torna impossível encontrar problemas e desenvolver novas funcionalidades.

• Simplicidade em conceitos: O código não tenta ser um código comercial genérico.


Dessa maneira, a atenção foi voltada para a solução do problema proposto. Sem dedi-
car atenção para os conceitos mais novos da linguagem escolhida.

• Velocidade: Por fim, como princípio fundamental, o código foi otimizado após os
testes utilizando as ferramentas conhecidas pelo autor. Quando este requisito entrou
em confronto com os anteriores, prezou-se sempre pela velocidade.

2.10.3 Compilador/IDE
A escolha do ambiente de desenvolvimento foi baseada apenas na familiaridade do autor.
Microsoft Visual Studio é um ambiente de desenvolvimento integrado (IDE) para desenvol-
vimento de software. Ele dá suporte às linguagens Visual Basic, C, C++, C# e F#. A versão
gratuita é denominada Community, e é orientada para desenvolvedores individuais e peque-
nas equipes. A IDE dá suporte ao chamado IntelliSense componente de auto-completar e
refatoramento de código.
Uma das principais vantagens do uso de uma IDE é a possibilidade de uso de um de-
purador. O depurador do Visual Studio é capaz de apresentar em tempo de execução locais
na memória, o código de máquina executado e até mesmo os registradores associados. Em
momentos que, há a necessidade de se diagnosticar problemas na implementação, seu uso é
oportuno.
22 CAPÍTULO 2. REVISÃO BIBLIOGRÁFICA

Figura 2.12: Ambiente de desenvolvimento integrado Visual Studio Community 2019.


Capítulo 3

Metodologia

Para alcançar os objetivos propostos para este trabalho, foi adotada uma abordagem quali-
quantitativa: com a comparação dos valores das propriedades do campo entre si bem como
a análise quantitativa dada pelo uso de pós processamento.

3.1 Problema Analisado


Para a comparação entre os diversos métodos numéricos implementados, escolheu-se o es-
coamento no entorno de um cilindro quadrado. Tal problema foi escolhido pela simplicidade
de implementação das condições de contorno, pela possibilidade de utilizar uma malha car-
tesiana hexaédrica simples, pela riqueza de detalhes dado pelo exemplo e a característica
oscilatória do problema.

Figura 3.1: Geometria do problema.

Na figura 3.1 são apresentados os valores utilizados para a geometria do problema.


Quando utilizado uma solução tridimensional, utiliza-se 10D na direção transversal. As
23
24 CAPÍTULO 3. METODOLOGIA

distâncias foram escolhidas de maneira a reduzir os efeitos das condições de contorno no far
stream do problema e alguns valores bases foram retirados de Yong Cao (2019). O valor de
D foi definido como 2 centímetros, a densidade do fluido a unidade, a velocidade do campo
livre 0, 15 m/s e a viscosidade dinâmica escolhida de maneira a proporcionar o Número de
Reynolds escolhido.

Figura 3.2: Condições de contorno do problema analisado.

A condição de não deslizamento foi obtida por meio dos diferentes métodos diferentes
apresentados nas seções sobre condições de contorno. É aplicada a consideração de incom-
pressibilidade e coeficientes constantes.

3.2 Recurso Computacional


A obtenção dos resultados foi feita utilizando um computador pessoal com as seguintes ca-
racterísticas:

Memória Sistema
Processador HD
RAM Operacional
I5-7200U 16 GB 1 TB Windows 10

Tabela 3.1: Especificações técnicas do computador utilizado.

Um tempo estimado de 15 dias foi considerado como máximo para tornar viável o cálculo
dos resultados.
3.3. DIFERENÇAS FINITAS 25

3.3 Diferenças Finitas


3.3.1 Método da Projeção
Nas equações (2.13), (2.14), (2.15) e (2.16) fica claro que para o caso incompressível não
há uma maneira óbvia de se acoplar a pressão com a velocidade. É sabido que a pressão
tem o papel de garantir a conservação de massa do sistema. A ideia principal do método da
projeção é de se calcular um passo no tempo e encontrar um valor intermediário incorreto
do valor das velocidades. Após isso, calcula-se o valor da pressão que garante a condição de
campo livre de divergência de velocidades. Isso pode ser interpretado da seguinte maneira:

1. Realiza-se o avanço das equações no tempo ignorando-se a parcela relacionada a pres-


são
∂U ∗
= −U.(∇U ) + ν∇2 U (3.1)
∂t
2. Resolve-se uma equação de Poisson para a pressão que garante o requisito de incom-
pressibilidade (equação 2.13)
ρ
∇2 P = (∇.U∗ ) (3.2)
∆t

3. Por fim, projeta-se a pressão na velocidade obtendo a velocidade corrigida (com a


condição de incompressibilidade)
∆t
Un+1 = U∗ − ∇P (3.3)
ρ

É importante notar que no método acima, a discretização temporal da pressão possui


acurácia de primeira ordem. Os operadores utilizados no cálculo do Laplaciano da pressão
e do gradiente da pressão devem ser consistentes. Uma discussão mais completa sobre o
método pode ser encontrada em Weinan E. (1995).

3.3.2 Discretização Espacial


Nos termos relacionados a difusão, utilizou-se o esquema de Lele, com precisão de 4ª or-
dem como apresentado em (Tapan K. Sengupta, 2019). Assim, incluindo os “fechamentos”
necessários para problemas não periódicos, tem-se:

00 00 00 b a
α2 uj+1 + uj + α2 uj−1 = 2
(uj+2 − 2uj + uj−2 ) + 2 (uj+1 − 2uj + uj−1 ) (3.4)
4h h

00 1
Uj = (Uj+1 − 2Uj + Uj−1 ) (3.5)
h2
00 1
U1 = (2U1 − 5U2 + 4U3 − U4 ) (3.6)
h2
00 1
UN = (2UN − 5UN −1 + 4UN −2 − UN −3 ) (3.7)
h2
26 CAPÍTULO 3. METODOLOGIA

Para os termos convectivos utilizou-se métodos enviesados na direção do escoamento, de


maneira a se garantir a estabilidade ou métodos com viscosidade numérica adicionada. O
método Upwind é o mais básico a garantir a estabilidade da solução incondicionalmente, ele
é apresentado na eq. (3.8) nas situações de escoamentos com direção positiva e negativa (em
relação aos eixos cartesianos) respectivamente.
Uj + Uj±1
Uj0 = ± (3.8)
h
Como apresentado por (Fan, 2016), a eq. (3.9) apresenta a forma geral de um conjunto de
discretizações compactas inviesadas na direção do escoamento e as equações (3.10) e (3.11)
apresentam os fechamentos utilizados nas fronteiras.
X 1 X
U00 + αi Ui0 = (Cj Uj ) (3.9)
i ∈ Ω1
h j∈Ω
2

1
U00 = ± (−25U0 + 48±1 − 36U±2 + 16U±3 − 3U±4 ) (3.10)
12h

0 1
U±1 =± (−3U0 − 10±1 + 18U±2 − 6U±3 − U±4 ) (3.11)
12h

α−1 α1 C−2 C−1 C0 C1


1 1 −1 1 5
2 6 18
-1 2 9

Tabela 3.2: Coeficientes utilizados no método SUCS com escoamento na direção positiva.

α−1 α1 C−1 C0 C1 C2
1 1 −5 −1 1
6 2 9 2
1 18

Tabela 3.3: Coeficientes utilizados no método SUCS com escoamento na direção negativa.

Nas tabelas 3.2 e 3.3 estão apresentados os valores das constantes utilizadas no cálculo
das derivadas. A utilização destes coeficientes resulta em um esquema de quinta ordem.
Na figura 3.3 é possível observar as melhores características associadas ao método SUCS
quando comparadas ao método Upwind de quinta ordem não compacto. Também é possível
notar a maior difusão associada à maiores números de onda em (b).

3.3.3 Discretização Temporal


Como discretização temporal simples, foi utilizado o método de Euler, descrito pela equação
3.12.

∂U∗
U∗ = Un + δt (3.12)
∂t n
3.3. DIFERENÇAS FINITAS 27

Figura 3.3: Análise espectral do método SUCS de quinta ordem. Retirado de Fan (2016).

O método de Runge-Kutta de quarta ordem garante menor difusividade e ordem de dis-


cretização mais alta ao custo do cálculo repetido dos valores das derivadas. As equações
3.13 à 3.16 apresentam o método.

δt ∂U∗
U∗1 = Un + (3.13)
2 ∂t n

δt ∂U∗1
U∗2 =U + n
(3.14)
2 ∂t n

∂U∗2
U∗3 n
= U + δt (3.15)
∂t n
!

δt ∂U ∂U∗1 ∂U∗2 ∂U∗3
U∗ = Un + +2 +2 + (3.16)
6 ∂t n ∂t n ∂t n ∂t n

∂U∗
Para o caso deste trabalho, ∂t n
é dado pelas equações (2.14), (2.15) e (2.16).

3.3.4 Interpolação Espacial


A escolha de utilizar pontos diferentes para o cálculo de cada propriedade do campo (seção
2.8.5) se torna necessária a interpolação dos valores em diferentes direções. Seguindo Ta-
pan K. Sengupta (2019), utilizou-se o seguinte esquema de interpolação dado pela equação
(3.17):

aI   b 
I

αI Ûj−1 + Ûj + αI Ûj+1 = Uj− 1 + Uj+ 1 + Uj− 3 + Uj+ 3 (3.17)
2 2 2 2 2 2

Na equação acima, Û é dado como o valor interpolado em um ponto qualquer. O método


descrito, utilizando as constantes e fechamentos dados pelas equações (3.18), (3.19), (3.20),
(3.21) e (3.22) produzem um erro de truncamento de ordem 5.
28 CAPÍTULO 3. METODOLOGIA

3
αI = (3.18)
10
1
aI = (9 + 10αI ) (3.19)
8
1
bI = (6αI − 1) (3.20)
8
1
Û1 = (U 1 + U 3 ) (3.21)
2 2 2

1
ÛN = (UN − 1 + UN + 1 ) (3.22)
2 2 2

3.3.5 Condições de Contorno


A implementação das condições de contorno utilizando diferenças finitas, é dada através da
definição direta dos valores das variáveis no campo. Pode-se separar as seguintes condições
de contorno a serem implementadas:

• Entrada do campo;

• Saída do campo;

• Condições de parede;

• O restante dos contornos: superior, inferior, posterior e anterior.

A entrada do campo é dada pela imposição dos valores, isto é, o valor da velocidade
é definido como o valor da velocidade não perturbada. A saída é imposta para garantir a
validade da equação da continuidade discretizada no ponto.
As condições de parede são feitas de maneira mista: As velocidades perpendiculares são
definidas diretamente no campo, e as velocidades paralelas são dadas de maneira a garantir
que a velocidade no ponto médio (que consiste na parede do sólido) seja nula. Isto se dá pela
utilização de uma malha decalada.
O restante dos contornos é calculado garantindo zero gradiente nas velocidades paralelas
e nula nas velocidades perpendiculares.
Uma questão a ser resolvida é que a pressão analisada é diferencial. Sendo assim, para
evitar problemas numéricos, é aplicado um valor nulo em algum ponto dentro do campo, de
maneira a normalizar o valor em torno de zero.

3.3.6 Implementação em Código


No código 1 estão apresentadas as definições das constantes e outros parâmetros utili-
zados na simulação. Para a variação do valor do Número de Reynolds apenas o valor da
viscosidade dinâmica foi alterado. É importante ressaltar que o valor do passo no tempo foi
escolhido como uma função do passo no espaço de maneira a manter um número de CFL
baixo.
3.3. DIFERENÇAS FINITAS 29

constexpr double h = 0.002; // passo no espaço


constexpr double l = 0.02; // dimensão do cilindro
constexpr double L = 26.0*l; // dimensão horizontal do campo
constexpr double H = 15.0*l; // dimensão vertical do campo
constexpr int NX = int(L / h + 2); // num. pontos horizontal
constexpr int NZ = int(H / h + 2); // num. pontos vertical
constexpr int NN = int(NX * NZ); // total de pontos
constexpr double ufree = 0.15; // vel. horizontal farfield
constexpr double wfree = 0.0; // vel. vertical farfield
constexpr double dt = h / 2; // passo no tempo
constexpr double cfl = 4 * ufree * dt / h; // CFL < 0.3
constexpr double rho = 1.0; // massa especifica
constexpr double mu = 3.0e-5;// visc. dinamica
constexpr double tfinal = 15.0; // tempo final
constexpr int NT = int(tfinal / dt) + 1; // qtd. de passos no tempo

Código 1: Declaração e definição das constantes utilizadas.

void SquareCylinder2DStaggeredField::UpdateBCFlatPlate()
{
// extrapolate outlet (i = NX - 1)

for (int k = 1; k < cNZU - 1; k++)


{
const int i = cNXU - 1;
const int iu = cNXU - 2;

cUnp(iu + 1, 0, k) = cUnp(iu, 0, k) +
cWnp(i, 0, k - 1) - cWnp(i, 0, k);
}
}

Código 2: Cálculo da condição de saída.


30 CAPÍTULO 3. METODOLOGIA

No código 2 está a implementação de cálculo da velocidade para a saída (outlet). Pode-


se identificar que a velocidade horizontal é calculada de maneira a garantir a condição de
campo livre de divergência (continuidade) para o caso de uma malha uniforme.

SquareCylinder2DStaggeredField fdcolfield(rho, mu, h, l, L, H, ufree);

fdcolfield.InterpolateUWInRespDirections(aa, bb, cc,


aa1, bb1, cc1,
aa2, bb2, cc2);

std::thread dphidtumomThread(&SquareCylinder2DStaggeredField::CalcdphidtUmomAdv,
&fdcolfield, std::ref(fdcolfield.cdUdtn),
std::ref(aa), std::ref(bb), std::ref(cc));

Código 3: Interpolação da propriedade de velocidade horizontal e cálculo da derivada tem-


poral de U.

No código 3 está representada a definição do objeto fdcolfield o qual é responsável


por armazenar e aplicar operações em cada propriedade do campo. Este, é dependente das
constantes físicas definidas anteriormente e, dessa maneira, são passadas como parâmetros.
Em seguida, apresenta-se a função que faz a interpolação das velocidades horizontais e
verticais em suas respectivas direções, sendo os parâmetros passados utilizados como vetores
temporários para armazenar os termos do sistema tridiagonal.
Por fim, é exibido a chamada da função que faz o cálculo da derivada temporal da velo-
cidade horizontal utilizando uma thread diferente. O uso de threads diferentes para o cálculo
simultâneo das derivadas temporais garante um uso integral do processador e acarreta na
diminuição do tempo de simulação.
O código 4 apresenta o loop principal do programa, o qual é executado para cada iteração
no tempo. Apresenta-se o cálculo da velocidade horizontal para um tempo intermediário (em
caso do uso de RK4). Também é apresentada a função que constrói e resolve a equação da
pressão, a qual garante a continuidade e corrige as velocidades. Por fim, é feito o avanço no
tempo das velocidades definindo as atuais com as calculadas.
Para as definições completas de cada função, recomenda-se verificar os códigos fontes
disponibilizados na plataforma GitHub do autor deste trabalho (Pimentel, a) disponibilizado
nas referências bibliográficas.

3.4 Volumes Finitos


3.4.1 REMIXCS Improved
O método denominado REMIXCS é baseado no algoritmo SIMPLE com a principal dife-
rença do cálculo explícito da pressão. No artigo de Chin-Yuan Perng (1987) é apresentado
uma versão aprimorada do método. Existem dois tipos de implementações apresentadas:
implícitas e explicitas.
O uso do esquema de Euler é utilizado para o avanço no tempo, assim o resultado para
uma célula centrada num nó "P"tem a forma:
3.4. VOLUMES FINITOS 31

for (int it = 0; it < NT; it++)


{
/*
Interpolação dos valores e cálculo das derivadas
temporais a partir de métodos compactos.
*/

for (int k = 1; k < fdcolfield.cNZU - 1; k++)


for (int i = 1; i < fdcolfield.cNXU - 1; i++)
{
// caso esteja dentro do cilindro, ignorar.
if (i >= fdcolfield.ciCyInit - 1
&& i < fdcolfield.ciCyEnd
&& k >= fdcolfield.ckCyInit
&& k < fdcolfield.ckCyEnd
)
{
continue;
}
fdcolfield.cUnp(i, j, k) =
fdcolfield.cUn(i, j, k) +
(dt / 2.0)*fdcolfield.cdUdtn(i, j, k);
}

/*
Para o caso do RK4, repete o processo
acima para cada derivada no tempo 'parcial'.
--------------------------------------------------------
Para o caso de Euler não utiliza a divisão por 2.0 acima
e segue para os calculos abaixo.
*/

// Faz o calculo da pressão para garantir a continuidade e


// 'corrige' as velocidades utilizando esta pressão.
fdcolfield.EnforceContinuityVelnp(dt, aa, bb, cc, ptr, col,
val, rhs, show, lssolver);

// Escreve na tela informando sobre o estado da simulação.

// Avança as velocidades no tempo


fdcolfield.cUn = fdcolfield.cUnp;
fdcolfield.cWn = fdcolfield.cWnp;
}

Código 4: Laço principal da implementação.


32 CAPÍTULO 3. METODOLOGIA

X
Ap φp = Anp φnp + b (3.23)
A equação da pressão é obtida por meio da substituição das velocidades na equação
discretizada da continuidade e pode ser escrita como:
X
ap p p = anp pnp + b∗ (3.24)

1. Determinar as velocidades "intermediárias" u∗ por meio da equação


X 
u∗P = Anp unp + b̄ /Ap (3.25)

2. Resolver a equação da pressão com

b∗ = − (ρu∗ ∆A)e + (ρu∗ ∆A)w


− (ρu∗ ∆A)n + (ρu∗ ∆A)s
− (ρu∗ ∆A)d + (ρu∗ ∆A)b
(3.26)

3. Resolver para a velocidade "verdadeira"com

up = u∗p + (pp − pe )∆Ae /Ap (3.27)

4. Retornar ao passo 1 até a convergência.

3.4.2 Discretização espacial


A discretização dos termos relacionados à difusão, assim como nas Diferenças Finitas, foi
desenvolvida utilizando um esquema simétrico. Para o caso dos Volumes Finitos, utilizou-se
diferenças centrais O(∆x2 ). Os termos convectivos foram discretizados de duas maneiras
diferentes: Upwind e TVD.
Os coeficientes Aα ao utilizar a discretização TVD são os mesmos que no caso UPWIND.
É adicionado um termo de correção ao somatório da equação 3.23. O termo adicionado SUDC
é chamado de termo fonte de correção deferida.
X
Anp φnp + SuDC + b

Ap φp = (3.28)
   
1 1
SUDC = −Fe ψ(re )(φE − φP ) + Fw ψ(rw )(φP − φW ) (3.29)
2 2
A função ψ(r) tem várias formas diferentes e é denominada função limitadora de fluxo.
Neste trabalho adotou-se as funções limitadoras Van Albada e SUPERBEE, dadas nas equa-
ções 3.30 e 3.31 respectivamente.

r + r2
ψ(r)V anAlbada = (3.30)
1 + r2
3.4. VOLUMES FINITOS 33

Coeficiente UPWIND
Fw
Aw Dw + 2
Fe
Ae De − 2
Fs
As Ds + 2
Fn
An Dn − 2
Fb
Ab Db − 2
Ft
At Dt − 2

Ap AW + AE + AS + AN + AB + AT + ∆ F
∆F Fe - Fw + Fn - Fs + Ft - Fb

Tabela 3.4: Coeficientes utilizados para o método UPWIND de discretização em volumes


finitos

ψ(r)SU P ERBEE = max[0, min(2r, 1), min(r, 2)] (3.31)


Por fim, o termo r é dado pela razão da diferença entre dois valores do campo e depende
da direção do escoamento.

φP − φW
re+ = (3.32)
φE − φP

φP − φW
rw+ = (3.33)
φE − φP
Nas equações 3.32 e 3.33 estão apresentados os valores no caso de escoamento na direção
positiva e nas equações 3.34 e 3.35 os valores no caso de escoamento na direção negativa.

φEE − φE
re− = (3.34)
φE − φP

φE − φP
rw− = (3.35)
φP − φW

3.4.3 Condições de Contorno


As condições de contorno no Método dos Volumes Finitos geralmente são implementadas
por meio dos valores das fontes volumétricas dadas por SP e SU e valores constantes impos-
tos ao campo.
No Código 6 adiante é apresentada as condições de contorno e iniciais para o problema
em questão. Pode-se identificar que, os valores fontes para a velocidade horizontal é dada
por (Versteeg and Malalasekera, 2007):

2∆A
SP = −µ (3.36)
∆h
34 CAPÍTULO 3. METODOLOGIA

Para as velocidades perpendiculares, os valores das velocidades são definidas diretamente


no campo e entram nas contas normalmente.

3.4.4 Implementação em Código

A declaração e definição das constantes é dada de maneira idêntica à apresentada no código


1. Há, no entanto, a necessidade de definição dos valores de resíduos para cada quantidade,
assim como dado no código 5.

double maxuResidual = 5e-5;


double maxwResidual = 5e-5;
double maxpResidual = 5e-5;

double maxContinuityResidual = 1e-5;

Código 5: Definição dos resíduos máximos.

No código 6 é apresentada a função responsável por definir as condições de contorno para


cada parede do cilindro. Como pode ser visto, elas são implementadas a partir da adição de
um valor fonte dependente da velocidade (SP ). Foram utilizadas as funções SetSPUValu-
eInterval e SetSPWValueInterval, as quais definem o valor da variável para um intervalo
especificado.

O código 7 apresenta o laço principal da simulação. É possível identificar o laço utili-


zado para verificar e garantir a convergência das propriedades após o cálculo da pressão e
consequente correção das velocidades. No fim de cada laço no tempo, após a convergên-
cia, define-se a velocidade horizontal e vertical como a calculada e segue-se para a próxima
iteração.

Assim como para o caso das diferenças finitas, o código completo pode ser encontrado
na página do GitHub do autor, como referenciado nas referências bibliográficas (Pimentel,
b).
3.4. VOLUMES FINITOS 35

void FieldRectCylinder2D::SetBCFlatPlate()
{
// SET INITIAL VALUES
SetUValueInterval({ ciCyInit, ciCyEnd + 1 }, { ckCyInit, ckCyEnd }, 0.0);
SetWValueInterval({ ciCyInit, ciCyEnd }, { ckCyInit, ckCyEnd + 1 }, 0.0);
SetPValueInterval({ ciCyInit, ciCyEnd }, { ckCyInit, ckCyEnd }, 0.0);

// INLET; OUTLET TUDO OK


// VALORES PADROES

// WALL (1)
SetSpWValueInterval({ ciCyInit - 1, ciCyInit }, { ckCyInit, ckCyEnd + 1 },
-cMU * cdA / (cdd / 2.0));

// WALL (2)
SetSpWValueInterval({ ciCyEnd, ciCyEnd + 1 }, { ckCyInit, ckCyEnd + 1 },
-cMU * cdA / (cdd / 2.0));

// WALL (4)
SetSpUValueInterval({ ciCyInit, ciCyEnd + 1 }, { ckCyInit - 1, ckCyInit },
-cMU * cdA / (cdd / 2.0));

// WALL (3)
SetSpUValueInterval({ ciCyInit, ciCyEnd + 1 }, { ckCyEnd, ckCyEnd + 1 },
-cMU * cdA / (cdd / 2.0));
}

Código 6: Função utilizada para definir condições de contorno.


36 CAPÍTULO 3. METODOLOGIA

FieldRectCylinder2D field(L, H, l, dd, rho, mu, ufreestream, wfreestream);

field.SetBCFlatPlate();

for (int itTime = (tempoPassado / dt); itTime < NITMAX; itTime++)


{
/*
...
*/
// Itera até convergencia ou um máximo de iterações.
for (int itSimple = 0; itSimple < NITMAXSIMPLE; itSimple++)
{
field.CalcUHatValuesCN(u0Field, dt);
field.CalcWHatValuesCN(w0Field, dt);
int nn = field.CreatePressureLSCSRFI(ptr, col, val, rhs);

// solve LS Pressure eqt


linearSystemSolver.SolvePreconditionedCRS(
std::move(field.cPressureField), nn, ptr, col,
val, rhs, errPressLS, nitPressLS);
nItPressure = nitPressLS;
/*
Mostra residuais da pressão.
*/

// u
for (int K = 1; K < NZ - 1; K++)
for (int i = 2; i < NX - 1; i++)
{
if (i >= field.ciCyInit && i < field.ciCyEnd + 1 &&
K >= field.ckCyInit && K < field.ckCyEnd)
{
// DENTRO OU NA PAREDE DO SÓLIDO
continue;
}
field.cUVelField[(K * NX) + i] =
field.cUHatVelField[(K * NX) + i]
+ (
(field.cPressureField[(K * NX) + i - 1] -
field.cPressureField[(K * NX) + i])
*(dd / field.caijkU[(K * NX) + i])
);
}

/*
Corrige velocidade vertical
Calcula os residuos das velocidades
Escreve na tela dados e em caso de convergencia,
salva os valores calculados em disco e finaliza
o loop principal.
*/
}
u0Field = field.cUVelField;
w0Field = field.cWVelField;
}

Código 7: Laço principal.


Capítulo 4

Resultados

Após a implementação dos métodos apresentados nas seções 3.4.1 e 3.3.1, e a construção do
problema a ser utilizado como benchmark, (apresentado em no tópico 3.1) selecionou-se uma
série de combinações de discretizações a serem simuladas. Estas simulações foram então
analisadas e foram calculadas parâmetros globais, como coeficiente de sustentação e arrasto.
Além disso, gráficos e figuras foram produzidas com o intuito de facilitar a visualização dos
resultados.

4.1 Simulações Realizadas


Foram simuladas as configurações de parâmetros apresentadas na tabela 4.1 para a análise
da convergência dos parâmetros. O valor do Número de Reynolds calculado em função da
aresta do cilindro foi mantida em 100 e, para garantir a viabilidade das simulações, utilizou-
se apenas duas dimensões. Dessa maneira, e com os valores já definidos na metodologia, o
valor da viscosidade dinâmica foi dado como 3 ∗ 10−5 P a.s.
A utilização do modelo bidimensional não afeta a solução, dado que, como apresentado
por Ahmad Sohankar (1999), os efeitos tridimensionais começam a surgir para valores de
Reynolds entre 150 e 300. Para a simulação dos exemplos apresentados, foram utilizados
um total de 39.824, 157.644 e 627.284 células para uma dimensão de célula de 0, 002, 0, 001
e 0, 0005. Estas foram denominadas discretização grosseira, média e fina, respectivamente.
A escolha do passo no tempo ∆t foi feita de maneira a cumprir a condição de CCF L <
0, 15. Foram utilizados 0, 001, 0, 0005 e 0, 00025 como passo no tempo para as malhas
grosseiras, médias e finas. O tempo total simulado para os casos foi de 15 segundos.

Metodologia Discretização Espacial/Temporal


Projeção SUCS/Euler
Projeção SUCS/RK4
Projeção Upwind/RK4
REMIXCS Van Albada/Euler

Tabela 4.1: Simulações realizadas para análise de convergência. Re = 100

37
38 CAPÍTULO 4. RESULTADOS

4.2 Aspectos do Escoamento Simulado


Para os diferentes tipos de discretizações aplicadas, espera-se diferentes níveis de detalha-
mento no escoamento, devido aos diferentes níveis de precisão apresentados por cada um.
Dessa maneira, para a análise a seguir, foram aplicadas diferentes discretizações em tem-
pos de simulação iguais. O tempo escolhido para a apresentação do escoamento é dado por
t = 13, 360, após o aparecimento dos Vórtices de Von Kármán.

4.2.1 Campos de Pressão e Velocidade


O aspecto geral do escoamento não foi grandemente afetado pela variação no método utili-
zado. Para valores de Reynolds igual a 100, houve sempre o surgimento da esteira de vórtices
de Von Kármán, independente da metodologia empregada.

Figura 4.1: Campo de pressão. Passo de malha 0, 002. Discretização utilizada: Van Al-
bada/Euler.

Observando as figuras 4.1, 4.2 e 4.3 fica claro que, com o aumento do número de ele-
mentos empregados e conseguinte refino da malha, há o surgimento de mais detalhes no
escoamento. Esse efeito pode ser visto especialmente em posições próximas às superfícies
superior e inferior do cilindro.
Por meio da figura 4.4 é possível identificar que, ao utilizar uma discretização com me-
lhores características, mesmo no caso mais grosseiro, temos resultados mais próximos do
resultado encontrado na figura 4.3, ou seja, o uso da discretização SUCS proporciona um
detalhamento do campo maior mesmo com o uso de menos células de discretização.
No campo de velocidade horizontal dado nas figuras 4.5, 4.6 e 4.7 pode ser observado
o mesmo efeito de melhor qualidade de solução, dado um método com melhores caracterís-
ticas. A solução encontrada utilizando o método Upwind apresenta menos detalhes que a
solução utilizando o método Van Albada e o método SUCS apresenta melhor detalhamento
do campo que o Van Albada.
4.2. ASPECTOS DO ESCOAMENTO SIMULADO 39

Figura 4.2: Campo de pressão. Passo de malha 0, 001. Discretização utilizada: Van Al-
bada/Euler.

Figura 4.3: Campo de pressão. Passo de malha 0, 0005. Discretização utilizada: Van Al-
bada/Euler.
40 CAPÍTULO 4. RESULTADOS

Figura 4.4: Campo de pressão. Passo de malha 0, 002. Discretização utilizada: SUCS/RK4.

Figura 4.5: Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização utili-
zada: Upwind/RK4.
4.2. ASPECTOS DO ESCOAMENTO SIMULADO 41

Figura 4.6: Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização utili-
zada: SUCS/RK4.

Figura 4.7: Campo de velocidade horizontal U. Passo de malha 0, 002. Discretização utili-
zada: Van Albada/Euler.
42 CAPÍTULO 4. RESULTADOS

As figuras 4.8 e 4.9 podem ser utilizadas para comparar o uso de discretizações temporais
de ordem de acurácia diferentes. Para o escoamento analisado, o uso de resoluções temporais
mais altas, como RK4 não produziram grandes efeitos no campo da solução.

Figura 4.8: Campo de velocidade vertical W. Passo de malha 0, 0005. Discretização utili-
zada: SUCS/RK4.

Figura 4.9: Campo de velocidade vertical W. Passo de malha 0, 0005. Discretização utili-
zada: SUCS/Euler.

4.2.2 Distribuição de Velocidades Próximo ao Cilindro


As localidades próximas à parede do cilindro são as regiões mais importantes para a aná-
lise da interação fluído-estrutura. Além disso, também são nestes pontos que existem os os
4.2. ASPECTOS DO ESCOAMENTO SIMULADO 43

maiores gradientes de velocidade. Para a análise abaixo, foram escolhidos os campos com o
tempo para o qual o CL é máximo e a posição mediana da parede superior do cilindro.

Figura 4.10: Distribuição de velocidades horizontais próxima a face superior do cilindro


utilizando malha fina.

Na figura 4.10 está apresentada a distribuição de velocidades na direção horizontal para


os pontos próximos à superfície utilizando uma malha fina. Como pode ser observado, há a
convergência dos valores para os métodos de ordem mais alta. No caso do método de pri-
meira ordem, Upwind, observa-se que em pontos próximos à superfície e nos mais distantes
há uma tendência de convergência com a falta desta em pontos medianos.

Como observado na figura 4.11 e de resultados da literatura, a geometria do cilindro pro-


porciona uma separação do fluido e uma zona de recirculação representado pela velocidade
negativa próxima à parede. Novamente, o efeito fica claro para os métodos de ordem mais
alta, enquanto o método com piores características não apresenta o efeito mesmo conside-
rando uma discretização fina.
44 CAPÍTULO 4. RESULTADOS

Figura 4.11: Detalhe de ponto de recirculação próximo à face superior do cilindro utilizando
malha fina.

Figura 4.12: Distribuição de velocidades horizontais próxima a face superior do cilindro


utilizando malha grosseira.

A figura 4.12 apresenta o perfil de velocidades utilizando a malha mais grosseira. É


4.2. ASPECTOS DO ESCOAMENTO SIMULADO 45

possível identificar que, para os métodos compactos, houve tendência de superestimação do


descolamento. Seguindo a direção contrária, os métodos TVD e Upwind não apresentaram
o efeito do descolamento.
Como apresentado na figura 4.13, no caso de uma malha média, os resultados são bem
próximos para os casos TVD e SUCS. Apesar disso, pode-se observar que os resultados TVD
se encontram mais próximos do caso mais fino e, portanto, podem ser considerados como
mais corretos.

Figura 4.13: Distribuição de velocidades horizontais próxima a face superior do cilindro


utilizando malha média.

4.2.3 Coeficientes de Sustentação e Arrasto

As figuras 4.14, 4.15 e 4.16 apresentam o coeficiente de sustentação bi-dimensional ao longo


do tempo para diferentes métodos de discretização e níveis de refinamento de malha. É
possível notar que, em todos os casos, com o aumento no número de elementos, há uma
tendência de convergência para um coeficiente de sustentação máximo de 0, 23. Apesar
disso, a convergência por meio da discretização espacial SUCS foi monotônica, enquanto o
mesmo não acontece para o Upwind.
Ao analisarmos isoladamente as figuras 4.14 e 4.15 é possível comparar o efeito da dis-
cretização temporal na solução. Pode-se observar que, para um nível mais grosseiro de
malha, o resultado é pior. Apesar disso, com o aumento do número de elementos aplicados
a diferença entre os resultados se torna pequena.
46 CAPÍTULO 4. RESULTADOS

0.4
Discretização grosseira
Discretização média
0.3 Discretização fina
0.2

0.1

0
Cl

−0.1

−0.2

−0.3

−0.4
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.14: Cl ao longo do tempo. Discretização SUCS/RK4 bi-dimensional.

0.5
Discretização grosseira
0.4 Discretização média
Discretização fina
0.3
0.2
0.1
0
Cl

−0.1
−0.2
−0.3
−0.4
−0.5
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.15: Cl ao longo do tempo. Discretização SUCS/Euler bi-dimensional.


4.2. ASPECTOS DO ESCOAMENTO SIMULADO 47

0.3
Discretização grosseira
Discretização média
0.2 Discretização fina

0.1

0
Cl

−0.1

−0.2

−0.3
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.16: Cl ao longo do tempo. Discretização Upwind/RK4 bi-dimensional.

0.3
Discretização grosseira
Discretização média
0.2 Discretização fina

0.1

0
Cl

−0.1

−0.2

−0.3
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.17: Cl ao longo do tempo. Discretização Van Albada/Euler bi-dimensional.

As figuras 4.18, 4.19, 4.20 e 4.21 apresentam o valor do coeficiente de arrasto bidimensi-
onal para os diferentes métodos de discretização e níveis de refinamento de malha. Pode-se
observar que em todos os gráficos há o surgimento de oscilações de frequência mais alta que
para o caso da sustentação. Estas oscilações possuem também menor amplitude.
48 CAPÍTULO 4. RESULTADOS

1.6
Discretização grosseira
Discretização média
1.58 Discretização fina

1.56

1.54
Cd

1.52

1.5

1.48

1.46
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.18: Cd ao longo do tempo. Discretização SUCS/RK4 bi-dimensional.

1.7
Discretização grosseira
Discretização média
Discretização fina
1.65

1.6
Cd

1.55

1.5

1.45
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.19: Cd ao longo do tempo. Discretização SUCS/Euler bi-dimensional.

Ao analisar as figuras 4.20 e 4.21 é possível identificar uma variação não existente para
as outras simulações. Para o caso utilizando a discretização Upwind observa-se que, para
uma discretização grosseira, existe algum tipo de variação no Cd com o tempo seguindo uma
diminuição. Para o caso da utilização do método TVD Van Albada, foi identificado que há o
surgimento de uma segunda oscilação de baixa frequência.
4.2. ASPECTOS DO ESCOAMENTO SIMULADO 49

1.57
Discretização grosseira
1.565 Discretização média
Discretização fina
1.56
1.555
1.55
Cd

1.545
1.54
1.535
1.53
1.525
1.52
12 13 14 15 16 17 18 19
Tempo [s]

Figura 4.20: Cd ao longo do tempo. Discretização Upwind/RK4 bi-dimensional.

1.57
1.56
1.55
1.54
1.53
Cd

1.52
1.51
1.5
1.49
Discretização grosseira
1.48 Discretização média
Discretização fina
1.47
12 12.5 13 13.5 14 14.5 15
Tempo [s]

Figura 4.21: Cd ao longo do tempo. Discretização Van Albada/Euler bi-dimensional.

Apesar das diferenças apresentadas, os resultados seguem o mesmo sentido de conver-


gência: com o aumento do refino de malha há uma diminuição do valor de arrasto calculado.
Este comportamento é esperado dado que, todos os métodos utilizados possuem a garantia de
estabilidade a partir da adição de uma parcela difusiva que elimina oscilações espúrias. Essa
parcela difusiva também faz parte do erro da solução e se encontra nos termos de erro após
a discretização. Assim, com a diminuição do erro há a redução do coeficiente de arrasto.
50 CAPÍTULO 4. RESULTADOS
Capítulo 5

Conclusões

5.1 Considerações Finais


A implementação dos métodos utilizando a linguagem proposta em conjunto as diferentes
discretizações pode ser considerada bem sucedida. A análise de convergência demonstra
que, para um nível suficiente de refinamento, há a convergência dos resultados.
Após a análise dos resultados apresentados na seção anterior, pode-se confirmar parte da
teoria já exemplificada anteriormente. O uso de métodos de discretização, como os compac-
tos e TVD, com melhores características de convergência garantem um melhor resultado em
algumas propriedades, mesmo quando utilizada uma malha mais grosseira. A convergên-
cia das propriedades globais se demonstraram mais estáveis e efeitos puderam ser captados
mesmo em malhas mais grosseiras. Apesar disso, o uso de métodos de passo no tempo con-
siderados de ordem mais alta não tiveram grande influência nos resultados. Este fato pode
ser justificado pelo uso de critérios rígidos quanto ao passo no tempo, o Número de CFL foi
mantido baixo de maneira conservadora.
O uso de diferentes métodos numéricos de resolução de equações diferenciais e discre-
tizações afetaram diretamente a solução a critério do nível de refinamento de malha, como
pôde ser visto nos resultados. Dessa maneira, para garantir a qualidade de uma solução é ne-
cessário que o usuário conheça as características dos métodos empregados, suas vantagens e
desvantagens.
Através da convergência dos resultados obtidos por diferentes métodos e implementa-
ções, pôde-se identificar a validade de cada implementação e das condições de contorno
aplicadas. Durante o processo de verificação do problema, ficou clara a necessidade de re-
finamento localizado de malha. Este, pode ser feito em locais onde há um maior gradiente
das propriedades do campo, de maneira a garantir a qualidade dos resultados nestes pon-
tos sem alcançar o limite do poder computacional. Os estudos de convergência para casos
tridimensionais se tornaram inviáveis dado a falta de tal refinamento.

5.2 Propostas de Continuidade


Como já citado anteriormente, a principal barreira encontrada neste trabalho está relacionada
ao nível de refinamento de malha aplicada. O número máximo de 10 milhões de elementos
foi identificado como o limiar utilizando as implementações apresentadas, sendo utilizados
51
52 CAPÍTULO 5. CONCLUSÕES

em média 24 horas por segundo de simulação. O tempo de execução de cada algoritmo dado
o nível de otimização empregado em cada um destes garantiu que a performance de todos
fosse próxima.
Também é notável que, em diversas regiões do escoamento apresentado, o aumento de
elementos não se faz importante, sendo essencialmente processamento desperdiçado. Dessa
maneira, a inclusão de malhas mais sofisticadas é um passo óbvio a ser dado como melhoria
no código.
Consequentemente, com a implementação dessa melhoria, será possível a simulação de
escoamentos para Números de Reynolds mais elevados e expande-se a possibilidade de aná-
lise dos métodos para outras condições. Dessa maneira, são deixadas como sugestões de
melhorias no código já existente:

• A reimplementação das condições de contorno de maneira a suportar malhas mais


complexas;

• A implementação de um gerador de malhas capaz de refinamentos localizados e inte-


ligentes;

• A solução de outros problemas da mecânica dos fluidos, como o escoamento em torno


de perfis aerodinâmicos e corpos não rombudos.
Referências Bibliográficas

L. D. Ahmad Sohankar, C. Norberg. Numerical simulation of flow past a square cylinder. 1999.

J. D. Anderson. Computational Fluid Dynamics. McGraw-Hill Series in Aeronautical and Aerospace


Engineering. McGraw-Hill Book Co, 1995. ISBN 000.

C. S. K. Carlos A. de Moura. The Courant–Friedrichs–Lewy(CFL) Condition. Birkhäuser, 2013.


ISBN 978-0-8176-8393-1.

R. L. S. Chin-Yuan Perng. Improved numerical codes for solving three-dimensional unsteady flows.
1987.

P. A. Davidson. Turbulence An Introduction For Scientists and Engineers. Oxford University Press,
2004.

D. Demidov. Amgcl - a c++ library for efficient solution of large sparse linear systems. 2020.

P. Fan. The standard upwind compact difference schemes for incompressible flow simulations. 2016.

I. J. G. Booch, J. Rumbaugh. UML Guia do Usuário. Elsevier Editora Ltda, 2012. ISBN 000.

J. L. L. H. Tennekes. A First Course in Turbulence. The Massachusetts Institute of Technology, 1972.


ISBN 0262200198.

G. T. Pimentel. Implementação em diferenças finitas c++, a. URL


https://github.com/guiteixeirapimentel/FiniteDifferenceTCC.

G. T. Pimentel. Implementação em volumes finitos c++, b. URL


https://github.com/guiteixeirapimentel/FiniteVolumeTCC.

A. T. M. Robert W. Fox. Introdução à Mecânica dos Fluídos. Terceira Edição. Editora Guanabara
S.A., 1985. ISBN 000.

J. R. Shewchuk. An introduction to the conjugate gradient method without the agonizing pain. 1994.

J. Stewart. Cálculo Volume II. Sétima Edição. Cengage Learning Edições Ltda, 2014. ISBN 978-0-
13-127498-3.

B. Stroustrup. The C++ Programming Language. Pearson Education, Inc, 2013.

S. B. Tapan K. Sengupta. DNS of Wall-Bounded Turbulent Flows. Springer Nature Singapore Pte
Ltd, 2019. ISBN 978-981-13-0037-0.

C. Taylor. Finite difference coefficients calculator. URL


https://web.media.mit.edu/ crtaylor/calculator.html.
53
54 REFERÊNCIAS BIBLIOGRÁFICAS

H. K. Versteeg and W. Malalasekera. An Introduction to Computational Fluid Dynamics. Second


Edition. Person Education Limited, 2007. ISBN 978-0-13-127498-3.

J.-G. L. Weinan E. Projection method i: Convergence and numerical boundary layers. 1995.

Wikipedia. The c++ programming language. URL https://pt.wikipedia.org/wiki/C%2B%2B.

H. K. Yong Cao, Tetsuro Tamura. Spanwise resolution requirements for the simulation of high-
reynolds-number flows past a square cylinder. 2019.

Você também pode gostar