CURSO DE ENGENHARIA AEROESPACIAL
GABRIEL YUDI RAGNI HAMADA
ALGORITMO PARA AUTOMATIZAÇÃO DE GERAÇÃO DE MALHA PARA PERFIS
AERODINÂMICOS
Joinville
2019
ALGORITMO PARA AUTOMATIZAÇÃO DE GERAÇÃO DE MALHA PARA PERFIS
AERODINÂMICOS
Trabalho apresentado como requisito para
obtenção do título de bacharel no Curso de
Graduação em Engenharia Aeroespacial
do
Centro
Tecnológico
de
Joinville
da
Universidade Federal de Santa Catarina.
Orientador: Prof. Dr. Marcos Alves Rabelo.
Joinville
2019
Gostaria de agradecer a todos que, direta ou indiretamente, fizeram parte desta
longa caminhada. Primeiramente aos meus pais e irmãos, por saber que me apoiariam
independente da minha escolha. Sem vocês não teria sido possível chegar até aqui.
A todos os professores que fizeram parte da minha formação, da pré-escola a
universidade, vocês foram muito mais que apenas professores, foram exemplos.
Aos meus amigos, principalmente ao Guilherme, Jhônatas e Luis, pelas
discussões, estudos, reclamações e o mais importante, risadas, durante esses cinco
anos.
Aos professores Mikowski e Casali, por serem meus orientadores enquanto fui
monitor de cálculo 1.
Ao professor Sacchelli e aos membros do PET, que me apoiaram durante o
ano que passamos juntos e me proporcionaram experiências que não seriam possíveis
fora do PET.
Ao professor Catapan, que me acolheu em seu laboratório onde passamos dois
anos trabalhando juntos. A oportunidade que o senhor proporcionou me fez crescer
como pesquisador e serei eternamente grato.
Aos meus amigos do LAC; Mauro pelas discussões sobre todos os assuntos
imagináveis; Thiago pelas piadas e por me ensinar a programar; Batalha pelas dicas
sobre a vida e conversas sobre Fórmula 1; Gustavo pelos cafés durante o banho
de sol; Cézar pela amizade e muitas risadas; Bona pelos jogos de LOL e memes;
Maíra pelas conversas sobre plasma, reciclagem e amêndoas defumadas; Paull pelas
piadas, companhia e o grande projeto de jogos de luta; Jaisson pelas conversas sobre
reformador e por fazer nossa camiseta.
Aos professores Dourado e Filipe, por orientar-me durante o projeto da NISUS.
Aos membros da NISUS, que apesar das dificuldades e diferenças, cumprimos a meta
de fazer o avião voar. Agradeço também pela companhia durante a competição, sem
vocês não teria sido uma experiência tão incrível.
Por último e mais importante, ao professor Rabelo, que, além de orientador, é
um amigo e exemplo a ser seguido. O senhor não tem idéia do quanto sou grato por
tudo que fez por mim, muito obrigado.
They may just be little things, but usually they make
the difference between winning and losing."
Kareem Abdul-Jabar
Devido ao aumento da disponibilidade de poder computacional, há cada vez mais
programas voltados a simulação de escoamentos. O OpenFOAM, por ser de código
fonte aberto, permite a implementação de novos casos pelo próprio usuário, além de
possuir dois geradores de malha, o BlockMesh e o SnappyHexMesh. A estrutura do
arquivo que gera a malha para o BlockMesh é simples, então, será utilizada para se
criar um algoritmo para automatização de geração de malha para perfis aerodinâmicos,
onde a linguagem utilizada será o Python.
Due to the increase in the availability of computational power there’s a increasing number
of CFD softwares. The OpenFOAM is an open source software, which allows the user
to implement new cases, gaining an increasing share of the market. It has two mesh
generators, the BlockMesh and the SnappyHexMesh, and since the file that generates
the mesh using BlockMesh is easy to write, it will be used to create an algorithm that
automate the mesh generation for aerodynamic profiles.
Figura 1 – Domínio da Simulação . . . .
22
Figura 2 – Diagrama do tratamento do aerofólio.
. . . .
25
Figura 3 – Disposição dos arquivos . . . .
28
Figura 4 – Diagrama de validação da malha . . . .
28
Figura 5 – Disposição de blocos para 1 elemento . . . .
29
Figura 6 – Malha para 1 elemento
. . . .
30
Figura 7 – Resultados para 1 elemento . . . .
31
Figura 8 – Nova disposição de blocos para 1 elemento . . . .
33
Figura 9 – Nova malha para 1 Elemento . . . .
34
Figura 10 – Novos resultados para 1 elementoo
. . . .
34
Figura 11 – Disposição dos blocos para 2 elementos . . . .
35
Figura 12 – Malha para 2 elementos . . . .
36
Figura 13 – Resultados para 2 elementos . . . .
37
Figura 14 – Nova disposição de blocos para 2 elementos . . . .
37
Figura 15 – Resultados: Langtry-Menter, 1 Elemento . . . .
38
Tabela 1 – Condições de Contorno . . . .
22
Tabela 2 – Camadas de y
+. . . .
23
Tabela 3 – Sinal das Coordenadas Rotacionadas . . . .
26
Tabela 4 – Parâmetros Fornecidos pelo Usuário . . . .
27
Tabela 5 – Parâmetros da malha 1 elemento . . . .
30
Tabela 6 – Condições Iniciais para 1 elemento
. . . .
31
Tabela 7 – Parâmetros de convergência para 1 elemento . . . .
32
Tabela 8 – Novos parâmetros de malha 1 elemento . . . .
33
Tabela 9 – Parâmetros da malha 2 elementos . . . .
35
AR
Razão de aspecto
CAD
Desenho assistido por computador
CFD
Dinâmica dos Fluidos Computacional
DES
Simulação dos Vórtices Desprendidos
DNS
Simulação Numérica Direta
DRS
Sistema de Redução de Arrasto
LES
Simulação das Grandes Escalas
N-S
Equações de Navier-Stokes
RANS
Média de Reynolds das Equações de Navier-Stokes
SIMPLE
Método semi implícito para equações acopladas por pressão
α
Ângulo de ataque do aerofólio
β
Ângulo formado entre cada ponto do aerofólio com a horizontal
δ
ijTensor de Kronecker
Taxa de Dissipação
γ
sepIntermitência de Separação
κ
Condutivade Térmica
µ
Viscosidade
µ
tViscosidade Turbulenta
ν
Viscosidade cinemática
ν
tViscosidade turbulenta
ω
Taxa de dissipação da turbulência específica
φ
Componente médio da variável φ
φ
0Componente flutuante da variável φ
ρ
Densidade
σ
ijTensor Viscoso
˜
f
Componente médio da variável f
ζ
Segunda Viscosidade
c
µConstante do modelo de turbulência
E
Energia Total do Sistema
e
Energia Interna
f
iAceleração resultante das Forças de Corpo na direção i
f
00Componente flutuante da variável f
H
Entalpia Total do Sistema
p
Pressão Estática
q
jFluxo de Calor na direção j
q
LjFluxo de calor laminar na direção j
R
eθtnúmero de Reynolds baseado na espessura de quantidade de movimento
s
ijTensor da taxa de deformação
T
Temperatura
t
Tempo
u
Velocidade Escalar
u
iVelocidade na direção i
u
τVelocidade de fricção
x
iComponente Espacial na Direção i
x
admCoordenada x adimensional do aerofólio
x
rotCoordenada x após a rotação do aerofólio
y
+Distância adimensionalizada da parede
y
admCoordenada y adimensional do aerofólio
1
INTRODUÇÃO
. . . .
13
1.1
OBJETIVOS . . . .
14
1.1.1
Objetivo Geral . . . .
14
1.1.2
Objetivos Específicos . . . .
14
2
REVISÃO TEÓRICA . . . .
15
2.1
EQUAÇÕES GOVERNANTES . . . .
15
2.2
MODELOS DE TURBULÊNCIA . . . .
15
2.2.1
Modelo SST k − ω . . . .
18
2.2.2
Modelo k − ε realizável . . . .
19
2.2.3
Langtry-Menter SST k − ω
. . . .
19
2.2.4
Condições Iniciais . . . .
20
2.3
MÉTODO DOS VOLUMES FINITOS
. . . .
20
2.3.1
Métodos de Interpolação . . . .
21
2.3.2
Métodos de Solução das Equações Discretizadas . . . .
21
2.3.3
Condições de Contorno . . . .
22
2.3.4
Malha
. . . .
22
2.3.5
Funções de Parede . . . .
23
3
METODOLOGIA
. . . .
25
3.1
GERAÇÃO DA MALHA . . . .
25
3.1.1
Tratamento do Aerofólio . . . .
25
3.1.2
Critérios da Geração de Malha . . . .
26
3.1.3
Arquivo blockMeshDict . . . .
27
3.2
VALIDAÇÃO DA MALHA . . . .
28
4
RESULTADOS
. . . .
29
4.1
GERAÇÃO E VALIDAÇÃO DA MALHA . . . .
29
4.1.1
Perfil com 1 elemento . . . .
29
4.1.2
Perfis com 2 Elementos . . . .
34
4.2
Langtry-Menter SST k - ω
. . . .
38
5
CONCLUSÕES . . . .
40
REFERÊNCIAS . . . .
41
1 INTRODUÇÃO
A dinâmica dos fluidos computacional, ou comumente chamado como CFD
do inglês Computational Fluid Dynamics, teve seus primeiros trabalhos numéricos
desenvolvidos na década de 1950 e 1960 (HESS; SMITH, 1967; KAWAGUTI, 1953).
Com a evolução dos computadores e dos programas de análises numéricas, o CFD
passou a exercer um papel essencial no desenvolvimento de novos projetos de diversas
áreas, como o setor aeroespacial, automotivo e até na otimização de equipamentos
esportivos (HANNA, 2012).
Um dos estudos realizados com o CFD é a análise da influência do efeito solo
no desempenho aerodinâmico, tanto em aeronaves como em veículos automotivos. O
setor que mais contribuiu na pesquisa do efeito solo foi a Fórmula 1, sendo pioneira
no desenvolvimento de diversas tecnologias (LÖFDAHL, 2018) como a saia, o difusor
(ZHANG et al., 2006) e o sistema de redução de arrasto (DRS) (AZMI et al., 2017).
Além das tecnologias citadas acima, o CFD pode ser utilizado para avaliar a
eficiência da asa ou aerofólio sob efeito solo, que possuia poucos estudos até o início da
década de 1990 (ZHANG et al., 2006). Desde então, estudos numéricos e experimentais
sobre aerofólios simétricos (AHMED; SHARMA, 2005; RANZENBACH; BARLOW,
1994), aerofólios arqueados (AHMED et al., 2007; RANZENBACH; BARLOW,1995
e 1996) e aerofólios com dois (MAHON; ZHANG, 2006; RANZENBACH et al., 1997;
ZERIHAN, 2001) e três elementos (QU et al., 2016), foram desenvolvidos, devido
principalmente ao avanço da capacidade de proccessamento dos computadores e a
evolução dos programas de CFD (HANNA, 2012).
Alguns programas de CFD mais conhecidos pelo mercado são o ANSYS
FLUENT e CFX, CD-Adapco’s STAR-CCM+, EXA Powerflow e o OpenFOAM, que,
diferentemente dos citados anteriormente, é de código aberto (HANNA, 2012). A
grande vantagem do OpenFOAM está em poder utilizá-lo sem precisar pagar uma
licença e a desvantagem está em não possuir uma interface gráfica.
O OpenFOAM possui dois utilitários para se gerar malha, o BlockMesh e o
SnappyHexMesh (OPENCFD, 2019b). O BlockMesh é utilizado para gerar malhas mais
simples, onde o usuário pode facilmente editar o diretório BlockMeshDict e modelar a
malha como desejar. Já o SnappyHexMesh é utilizado para geometrias mais complexas,
necessitando do desenho assistido por computador (CAD) do objeto que se quer gerar
a malha.
Gerar malhas para simulações em CFD é um ato demorado e de extrema
importância para se obter resultados plausíveis, assim, o objetivo do trabalho é
programar um algoritmo para automatização de geração de malha no blockMesh
para perfis aerodinâmicos. Sua aplicabilidade está na possibilidade de automatizar uma
das etapas que envolvem simulação em CFD, além de integrar rotinas de otimização.
O BlockMesh foi adotado como gerador de malha pois possui o arquivo fonte é escrito
de uma maneira estruturada e simples, facilitando a automatização. O algoritmo será
validado a partir dos resultados obtidos por Mahon e Zhang (2005 e 2006). Após a
validação será avaliado a influência nos resultados do modelo de turbulência
Langtry-Menter SST k − ω (LANGTRY; MENTER, 2009).
1.1
OBJETIVOS
1.1.1
Objetivo Geral
Este trabalho tem como objetivo geral programar um algoritmo para
automatização de geração de malha para perfis aerodinâmicos, utilizando o Python
como linguagem de programação e voltado para o gerador de malha BlockMesh,
validá-lo e, posteriormente, avaliar a influência nos resultados do modevalidá-lo de turbulência
Langtry-Menter SST k − ω.
1.1.2
Objetivos Específicos
Os objetivos específicos deste trabalho são:
a. Programar um algoritmo para automatização de geração de malha para perfis
aerodinâmicos com um e dois elementos;
b. Validar a malha a partir de um referencial teórico;
c. Analisar a influência nos resultados do modelo de turbulência Langtry-Menter
SST k − ω;
2 REVISÃO TEÓRICA
A simulação que será desenvolvida necessita de alguns conhecimentos prévios
sobre aerodinâmica e mecânica dos fluidos computacional. Os principais pontos
abordados neste capítulo serão voltados à compreensão das simulações realizadas
nos capítulos subsequentes.
2.1
EQUAÇÕES GOVERNANTES
As equações que representam o comportamento de um escoamento não
reativo são as equações da conservação da massa, da quantidade de movimento e da
energia. A partir das equações governantes (Equações 1, 2 e 3), diversos modelos de
simulação podem ser desenvolvidos.
a. Conservação da massa
(1)
∂ρ
∂t
+
∂
∂x
i(ρu
i) = 0
b. Conservação da quantidade de movimento
(2)
∂
∂t
(ρu
i) +
∂
∂x
j(ρu
iu
j) = −
∂
∂x
j(pδ
ij) +
∂
∂x
j(σ
ij) + ρf
ic. Conservação da energia
(3)
∂
∂t
(ρE) +
∂
∂x
j(ρu
jH) =
∂
∂x
j(u
iσ
ij) + ρu
if
i−
∂q
j∂x
jSendo que:
(4)
E = e +
u
iu
i2
(5)
H = e +
p
ρ
+
u
iu
i2
Onde σ
ijé o tensor viscoso, q
jé o fluxo de calor na direção “j”, δ
ijé o delta
de Kronecker e f
ié a aceleração resultante das forças de corpo (GATSKI; BONNET,
2013).
2.2
MODELOS DE TURBULÊNCIA
As equações governantes, na forma completa (Equações 1, 2 e 3), não são
resolvíveis analiticamente. Se o problema não for simplificável, será necessário
resolvê-lo numericamente.
Caso o problema seja viscoso, será necessário a resolução do tensor viscoso.
Há duas grandes maneiras de resolvê-lo, simulando ou modelando.
A simulação é realizada, de maneira generalizada, por dois modelos numéricos,
a simulação numérica direta (DNS) e simulações de grandes escalas (LES). A
abordagem mais rigorosa é realizada pela DNS, onde a equação de Navier-Stokes
(N-S)(Equação 2) é resolvida sem nenhuma modificação ou aproximação. A simulação
de grandes escalas resolve N-S sem aproximação até uma determinada escala,
dependente do refinamento da malha (ZIKANOV, 2010).
Na modelagem, em oposição à simulação, reformula-se o problema como
um sistema de equações para quantidades médias do escoamento. Usualmente, é
tirada a média de Favre (Equações 7 e 8), similar a média de Reynolds (Equação 6),
porém, com as variáveis ponderadas pela densidade e decompostas em componentes
médios e flutuantes. Para problemas compressíveis, aplicar a média de Favre remove as
flutuações da densidade das equações mas não o efeito que as flutuações da densidade
causam na turbulência, logo, a média de Favre é uma simplificação matemática, não
física (WILCOX et al., 1998).
(6)
φ = φ(~
x, t) + φ
0(~
x, t)
(7)
f = ˜
f (~
x, t) + f
00(~
x, t)
(8)
˜
f =
ρf
ρ
Onde os termos com sobrescrito til e barra são os componentes médios, já os
com sobrescrito apóstrofo são os componentes flutuantes. Os termos f e φ representam
qualquer propriedade.
Para um fluido newtoniano o tensor viscoso pode ser modelado por:
(9)
σ
ij= 2µs
ij+ ζ
∂u
k∂x
kδ
ij(10)
s
ij=
1
2
∂u
i∂x
j+
∂u
j∂x
i(11)
ζ = −
2
3
µ
Onde s
ijé o tensor da taxa de deformação, µ é a viscosidade e ζ é a segunda
viscosidade, que pode ser relacionada com a viscosidade pela Equação 11 para gases
monoatômicos, porém, é utilizado para praticamente todos os gases em CFD. O fluxo
de calor pode ser modelado pela lei de Fourier.
(12)
q
j= −κ
∂T
∂x
jOnde T é a temperatura e κ é a condutividade térmica.
Substituindo as Equações 7 e 8 nas Equações 1, 2 e 3 e escrevendo na
forma de tensor cartesiano, obtém-se a média de Favre das equações de conservação
(Equações 13, 14 e 15), similares as equações da média de Reynolds das equações
de Navier-Stokes (RANS) (WILCOX et al., 1998). .
(13)
∂ρ
∂t
+
∂
∂x
i(ρ˜
u
i) = 0
(14)
∂
∂t
(ρ˜
u
i) +
∂
∂x
j(ρ˜
u
iu
˜
j) = −
∂p
∂x
i+
∂
∂x
j(σ
ji− ρu
00 ju
00 i)
(15)
∂
∂t
"
ρ
˜
e +
u
˜
iu
˜
i2
+
ρu
00 iu
00 i2
#
+
∂
∂x
j"
ρ˜
u
j˜
h +
u
˜
iu
˜
i2
+ ˜
u
jρu
00iu
00i2
!#
=
∂
∂x
j[−q
Lj− ρu
00 jh
00+ σ
jiu
00 i− ρu
00 ju
00 iu
00 i/2] +
∂
∂x
j[˜
u
i(σ
ij− ρu
00 iu
00 i)]
Onde q
Ljé o fluxo de calor laminar na direção j.
Os modelos de turbulência servem para modelar o tensor de Reynolds,
representado pelo termo −ρu
00ju
00iou τ
ij. As aproximações realizadas por RANS resultam
em simulações de baixo custo computacional, porém, com erros envolvidos quando
comparados à DNS e LES (ZIKANOV, 2010).
Há duas grandes abordagens para modelar o tensor de Reynolds, a
aproximação de Boussinesq e o transporte do tensor de Reynolds. A grande diferença
entre as abordagens está na consideração ou não da isotropia da viscosidade
turbulenta.
A aproximação de Boussinesq (Equação 16), considera a isotropia das tensões
normais, o que não é precisamente correto, porém, é amplamente utilizado.
(16)
−ρu
00ju
00i= τ
ij= 2µ
ts
ij−
1
3
∂ ˜
u
k∂x
kδ
ij−
2
3
ρkδ
ijOnde µ
té a viscosidade turbulenta e k é a energia cinética turbulenta.
A praticidade associada a consideração de isotropia gerou diversos modelos
de turbulências consolidados e eficientes, como o modelo de Spalart-Allmaras, que
utiliza apenas uma equação para modelar o tensor de Reynolds, e os modelos k − ε e
k − ω, que utilizam duas equações.
Para o modelo transporte do tensor de Reynolds, por não utilizar a aproximação
de Boussinesq necessita de sete equações adicionais para resolver o problema
(ANSYS, 2013).
Mahon e Zhang (2005) notaram que o modelo SST k − ω (MENTER, 1994)
prediz melhor a distribuição de pressão na superfície e o modelo k − ε realizável
(SHIH et al., 1995) prediz melhor a esteira gerada pelo aerofólio. Como a previsão
do coeficiente de sustentação para aerofólio invertido bidimensional foi melhor para
o modelo SST k − ω, este será o modelo empregado para a validação da malha de
simulações bidimensionais de perfíl único. Já Mahon e Zhang (2006), avaliaram um
perfil bidimensional invertido com dois elementos e observaram que o modelo k − ε
realizável predizia melhor o comportamento do escoamento quando comparado com
os dados experimentais. Assim, o modelo k − ε realizável será utilizado para validar as
simulações de perfis bidimensionais invertidos com dois elementos.
A partir da visualização de escoamento de óleo, Zhang e Zerihan (2003a)
concluem que, para o flap com baixa inclinação, a transição da camada limite da asa
principal ocorre cada vez mais próxima ao bordo de ataque com o distanciamento do
solo. Para flaps de alta inclinação, grande parte da transição ocorre no bordo de ataque,
contudo, a relação entre distância do solo e posição da transição da camada limite se
mantém.
Devido a transição da camada limite não ser instantânea, deve-se considerar
um modelo de transição, que é dependente do modelo de turbulência adotado. O
modelo utilizado para comparar se há melhoria nos resultados será o Langtry-Menter
SST k − ω (LANGTRY; MENTER, 2009), implementado no OpenFOAM (OPENCFD,
2019b), que possui embutido o modelo de transição laminar-turbulento γ − R
eθ. Nos
subcapítulos serão descritos os modelos de turbulência e o modelo de transição laminar
turbulento utilizados neste trabalho.
2.2.1
Modelo SST k − ω
O modelo SST k − ω resolve duas equações, a de taxa de dissipação da
turbulência específica (Equação 17) e a da energia cinética turbulenta (Equação 18).
(17)
D
Dt
(ρω) =
γ
ν
tτ
ij∂u
i∂x
j− βρω
2+
∂
∂x
j(µ + σ
ωµ
t)
∂ω
∂x
j+ 2ρ(1 − F
1)σ
ω21
ω
∂k
∂x
j∂ω
∂x
j(18)
D
Dt
(ρk) = τ
ij∂u
i∂x
j− β
∗ρωk +
∂
∂x
j(µ + σ
kµ
t)
∂k
∂x
jOnde ω é a taxa de dissipação da turbulência específica e ν
té a viscosidade
turbulenta, que pode ser calculada por:
(19)
ν
t= a
1k
max(a
1ω; ΩF
2)
2.2.2
Modelo k − ε realizável
O modelo k − ε realizável, além da equação da energia cinética turbulenta
(Equação 20) se faz necessário também da equação da taxa de dissipação (Equação
21).
(20)
D
Dt
(k) = τ
ij∂u
i∂x
j− +
∂
∂x
j(ν + ν
t/σ
k)
∂k
∂x
j(21)
D
Dt
() = C
1k
τ
ij∂u
i∂x
j− C
2 2k
+
∂
∂x
j(ν + ν
tσ
)
∂
∂x
jOnde é a taxa de dissipação. ν
té representado por (Equação 22).
(22)
ν
t= C
µk
2A diferença entre no modelo k − ε padrão e realizável está nos coeficientes de
fechamento. C
µe os outros coeficientes de fechamento estão melhor representados
em (SHIH et al., 1995; WILCOX et al., 1998).
2.2.3
Langtry-Menter SST k − ω
O modelo de Langtry-Menter SST k − ω utiliza-se das mesmas equações do
modelo SST k − ω (Equação 17 e 18). Para modelar a transição laminar-turbulento
utiliza-se o modelo γ − R
eθ, onde γ representa a intermitência, que funciona como
gatilho para o início da transição local e R
eθrepresenta o número de Reynolds baseado
na espessura de quantidade de movimento, necessário para capturar a influência local
da intensidade turbulenta (LANGTRY; MENTER, 2009).
A intermitência é 0 na parede e 1 na face à montante da simulação (inlet). A
intermitência de separação é expressa por (Equação 23):
(23)
γ
sep= min
s
1max
0;
R
eν3, 235R
eθc− 1
F
reattach; 2
F
θtJá o número de Reynolds baseado na espessura de quantidade de movimento
é expresso por (Equação 24):
(24)
R
eθt=
1173, 51 − 589, 428T
u+
0, 2196
T
2 uF (λ
θ)
if T
u≤ 1, 3
331, 5[T
u− 0, 5658]
−0,671F (λ
θ)
if T
u> 1, 3
Onde T
ué descrito por (Equação 25):
(25)
T
u=
100p2k/3
u
A interação com o modelo SST k − ω se dá pela Equação 26.
(26)
D
Dt
(ρk) = γ
ef fP
k− min(max(γ
ef f; 0, 1); 1, 0)D
k+
∂
∂x
j(µ + σ
kµ
t)
∂k
∂x
j2.2.4
Condições Iniciais
Para que o modelo de turbulência funcione é necessário definir uma condição
inicial para cada parâmetro, junto com velocidade e pressão. As variáveis que serão
utilizadas neste trabalho são, k, ω, ε, γ e Re
θt.
Para k a equação utilizada será a Equação 27.
(27)
k =
3
2
(uI)
2
Onde I é a intensidade turbulenta e u a magnitude da velocidade inicial.
Como explicitado anteriormente, γ é definido como 0 nas paredes e 1 na
montante. Re
θtdepende dos valores de k e u, representados pela Equação 24.
As variáveis ω e ε possuem diversas maneiras de se calcular, sendo as mais
comuns utilizando a escala de comprimento turbulento (Equações 28 e 29) ou a razão
da viscosidade turbulenta (Equações 30 e 31).
(28)
ε = c
3/4µk
3/2l
(29)
ω = c
−1/4µ√
k
l
(30)
ε = c
µk
2ν
µ
tµ
−1(31)
ω =
k
ν
µ
tµ
−12.3
MÉTODO DOS VOLUMES FINITOS
O método dos volumes finitos, junto com o método dos elementos finitos e
diferenças finitas tem como propósito discretizar as equações, ou seja, aproximar
equações que estejam no formato diferencial para quantidades finitas (OPENCFD,
2019a). Usualmente há três tipos de equações em que esses métodos atuam, nas
discretizações temporais, espaciais e das equações algébricas em geral.
A malha, para o método dos volumes finitos, são volumes, sendo eles
estruturados ou não estruturados. Para discretização unidimensional a malha é
composta por intervalos e, para discretização bidimensionais ou tridimensionais elas
podem ser classificadas como estruturadas ou não estruturadas. As estruturadas
são quadriláteros (caso bidimensional) ou hexaédricas (caso tridimensional), sendo
organizadas de maneira ordenada ao longo de um sistema de coordenadas, seja
cartesiano ou curvilíneo. Já as não estruturadas possuem formatos como prisma,
tetraédros, hexaédros não regulares ou piramidais para casos tridimensionais e
triangular, quadrilátero não regular ou polígonos convexos para os casos bidimensionais
(ZIKANOV, 2010).
O método é composto pela aproximação de duas integrais, as volumétricas,
aplicadas em cada volume e as superficiais, aplicadas nas interfaces entre os volumes.
Torna-se necessário conectar as equações de cada volume e, para isso, utilizam-se
alguns métodos de interpolação.
2.3.1
Métodos de Interpolação
OpenCFD (2019b) lista diversos métodos de interpolação espacial, entre eles a
interpolação linear, onde é tirada uma média ponderada pela distância entre as células
adjacentes à desejada ou o método Upwind, onde a mesma média é tirada apenas
entre a célula a montante da célula desejada. O método de interpolação linear possui
uma ordem de discretização de segunda ordem e o método Upwind de primeira ordem.
O método Upwind possui vantagens quando comparado ao método linear para
problemas hiperbólicos, onde a direção da velocidade convectiva determina a direção e
velocidade com que as propriedades se propagam na solução (ZIKANOV, 2010).
Mahon e Zhang (2005) utilizam o método Upwind linear, onde é corrigido o
método Upwind baseado no gradiente da célula. Assim, obtém-se uma discretização
de segunda ordem aumentando a precisão da solução.
Métodos de discretização temporal não serão necessários para validação dos
casos pois segundo Mahon e Zhang (2005) as simulações foram realizadas em regime
permanente.
2.3.2
Métodos de Solução das Equações Discretizadas
Após discretizar as equações, é necessário resolvê-las. Para isso, é
fundamental definir como a simulação se comporta (transiente/ regime permanente) e
como se quer resolvê-la (método explicito/ implícito).
Métodos como SIMPLE, Semi-Implicit Method for Pressure Linked Equations
ou método semi implícito para equações acopladas por pressão, e seus derivados
estão entre os métodos mais populares na solução para escoamentos incompressíveis
estacionários, principalmente pela formulação pseudotransiente que, quando
adequadamente modificado, permite o cálculo para soluções transientes (FORTUNA,
2000). Mahon e Zhang (2005) utilizam o método SIMPLEC, ou SIMPLE compatível,
que aproxima alguns termos que no método SIMPLE são negligenciados.
2.3.3
Condições de Contorno
As condições de contorno adotadas são apresentadas na Tabela 1 e são as
mesmas adotadas por Mahon e Zhang (2005).
Tabela 1 – Condições de Contorno
Montante
Velocidade uniforme
Jusante
Pressão constante
Solo
Parede com velocidade constante
Aerofólio
Parede sem escorregamento
Topo
Plano de simetria
Fonte: Autor(2019)
Onde o domínio é representado pela Figura 1.
Figura 1 – Domínio da Simulação
Solo Montante Topo Aerofólio Jusante => U => =>
Fonte: Autor(2019)
Junto com as condições citadas acima, como a simulação é bidimensional, foi
adotado a condição de vazio para as paredes laterais.
Para as variáveis dos modelos de turbulência também são necessárias
condições de contorno. À montante foram considerados valores constantes para todas
as variáveis e a jusante foi considerado que não havia gradiente. No topo são todos
planos de simetria. Para o solo e o aerofólio foram consideradas funções de parede
para as variáveis k, ε e ω e que não havia gradiente para as variáveis Re
θte γ.
2.3.4
Malha
A malha, além de representar o domínio a ser simulado, é responsável pela
qualidade dos resultados, pois deve ser capaz de captar os fenômenos físicos que
ocorrem ao redor do objeto. Logo, é necessário quantificar alguns parâmetros da malha
para avaliar sua qualidade. Esses parâmetros são:
a. Razão de aspecto
b. Distorção ou não ortogonalidade
c. Assimetria (skewness)
A razão de aspecto (AR) para simulações bidimensionais pode ser definida
como razão entre o maior e menor comprimento de cada célula, onde se deve preservar
um gradiente suave na mudança da AR. A não ortogonalidade mede o ângulo entre o
centro de duas células e a horizontal, sendo desejado valores próximos a zero. Já a
assimetria mede a distância entre a interseção da linha que liga dois centros celulares
com sua face comum e o centro dessa face, sendo desejado valores próximos a zero
(ZIKANOV, 2010).
2.3.5
Funções de Parede
Devido a condição de não escorregamento ser aplicável nas paredes,
parâmetros como velocidade e energia cinética turbulenta devem ser nulas nas paredes.
Porém, o centro do volume adjacente a parede deve estar suficientemente próximo
para que a simulação seja representativa quanto ao comportamento do escoamento.
Em simulações de alto Reynolds, devido a redução da espessura da camada
subviscosa, a malha deve ser extremamente refinada para que seja aplicável a condição
de não escorregamento, o que muitas vezes se torna impraticável devido a restrição de
recursos computacionais. Assim, modela-se o comportamento da célula adjacente a
uma parede com as funções de parede (ZIKANOV, 2010).
É necessário uma função de parede para cada variável, k, ω, ε e ν
t. O
OpenFOAM possui funções de parede implementadas para cada umas das variáveis,
sendo usualmente dependentes da distância adimensionalizada a partir da parede, que
varia de acordo com a equação 32 (WILCOX et al., 1998; OPENCFD, 2019b).
(32)
y
+=
u
τy
ν
Onde u
τé a Velocidade de fricção.
A Tabela 2 apresenta os intervalos com os valores de y
+em que cada camada
está localizada.
Tabela 2 – Camadas de y
+1 < y
+< 5
Camada Subviscosa
5 < y
+< 30
Camada Tampão (Buffer )
30 < y
+< 300
Camada Logarítmica
Para valores de y
+entre 1 a 30 é recomendado a utilização de funções de
parede para baixo Reynolds e valores entre 30 e 300 funções de parede para alto
Reynolds (OPENCFD, 2019b).
3 METODOLOGIA
O trabalho pode ser segregado em duas grandes etapas, a geração da malha e
sua validação. As seções a seguir irão elucidar o procedimento adotado neste trabalho.
3.1
GERAÇÃO DA MALHA
A geração da malha pode ser separada em 3 etapas: tratamento do
aerofólio, critérios de geração da malha e a desenvolvimento do arquivo da malha
(blockMeshDict).
3.1.1
Tratamento do Aerofólio
O perfil é importado no Python utilizando o biblioteca csv, portanto, é necessário
salvar os pontos do aerofólio (arquivo .dat) no formato .csv.
O tratamento do aerofólio consiste em duas etapas: rotacioná-lo e
dimensionalizá-lo (Figura 2).
Figura 2 – Diagrama do tratamento do aerofólio.
Importar Aerofólio
Dimensionalizar
Comprimento
Rotacionar
Ângulo de ataque
Separar em duas superfícies
Fonte: Autor(2019)
A rotação do aerofólio ocorre com a aplicação de duas equações:
(33)
x
rot=
s
x
2 adm+ y
adm21 + tan
2(β + α)
(34)
y
rot=
q
x
2adm
+ y
adm2− x
2rotSendo que:
(35)
β = arctan
y
admx
admOnde α é o ângulo de rotação, sendo o sentido anti-horário a partir da
horizontal positivo, x
adme y
admsão as coordenadas antes da rotação. É necessário
observar que o sinal de x
rote y
rotsão definidos a partir do ângulo resultante β + α,
como mostrados na tabela a seguir (Tabela 3).
Tabela 3 – Sinal das Coordenadas
Rotacionadas
Ângulo
x
y
entre 0 e 90
◦+
+
entre 90 e 180
◦-
+
entre -90 e 0
◦+
-entre -180 e -90
◦-
-Fonte: Autor(2019)
A dimensionalização ocorre com a multiplicação do comprimento (corda) do
perfil pelas coordenadas já rotacionadas. A separação entre as duas superfícies são
feitas em superior e inferior para que possam ser aplicadas na malha.
Foram elaboradas duas maneiras de se separar em duas superfícies:
a. Utilizar metade dos pontos como ponto de separação;
b. Encontrar o ponto em que o valor de "x"seja mínimo, separando-o em duas
superfícies a partir do bordo de ataque;
Separar a partir do valor mínimo de ’x’ é mais utilizado quando a quantidade
de pontos para cada superfície é assimétrico.
Apo´s separar em duas superfícies, o aerofólio resultante é transladado para
que o primeiro ponto da superfície superior fique na posição x = 0 e y = 0.
Caso sejam utilizados dois perfis, para formar um aerofólio com dois elementos,
o mesmo tratamento apresentado anteriormente é realizado para o segundo perfil.
3.1.2
Critérios da Geração de Malha
Após a translação do aerofólio, são necessários alguns parâmetros que são
fornecidos pelo usuário para a geração da malha. Os parâmetros são, comprimento
do domínio, altura total do domínio, altura do aerofólio principal, distância do bordo de
ataque do aerofólio principal em relação ao início do domínio e o fator de correção, que
será explicado posteriormente.
A quantidade de parâmetros fornecidos pelo usuário depende da quantidade de
elementos que terá o aerofólio. Para aerofólios com um único elemento, os parâmetros
apresentados anteriormente, junto com o comprimento do perfil e ângulo de rotação
são suficientes para a geração da malha. Para dois elementos, além dos parâmetros
citados anteriormente, são necessários comprimento e ângulo de rotação do segundo
elemento, altura e sobreposição do segundo perfil em relação ao perfil principal. Todos
os parâmetros fornecidos pelo usuário estão listados na tabela 4.
A partir dos parâmetros fornecidos são definidos o domínio computacional
junto com a posição relativa do aerofólio em relação ao domínio.
Tabela 4 – Parâmetros Fornecidos pelo Usuário
Parâmetro
1 Elemento
2 Elementos
Comprimento do domínio
Sim
Sim
Altura do domínio
Sim
Sim
Distância entre o aerofólio e a montante do
domínio
Sim
Sim
Altura do aerofólio
Sim
Sim
Altura do segundo elemento em relação ao
primeiro
Não
Sim
Sobreposição do segundo elemento em relação
ao primeiro
Não
Sim
Comprimento elemento principal
Sim
Sim
Comprimento elemento secundário
Não
Sim
Ângulo de rotação elemento principal
Sim
Sim
Ângulo de rotação elemento secundário
Não
Sim
Fator de correção
Sim
Sim
Fonte: Autor(2019)
O fator de correção é aplicado de maneira em que não altere os parâmetros de
avaliação da malha, como, por exemplo, AR se mantém constante. Porém, permite que
o usuário tenha controle sobre o refino da malha. Valores abaixo de 1 irão produzir uma
malha mais esparça enquanto valores acima de 1 produz uma malha mais refinada.
3.1.3
Arquivo blockMeshDict
O arquivo blockMeshDict, utilizado pelo OpenFOAM é separado nas seções
vértices, arestas, blocos e fronteiras (OPENCFD, 2019b).
Os vértices são os pontos com coordenadas em x, y e z que descrevem o
domínio da simulação. Nas arestas se definem os perfis do aerofólios e os blocos
segregam regiões onde a malha possui comportamento similar. A quantidade de
volumes em cada direção e o refino dos volumes também são paramêtros definidos
nos blocos. As fronteiras explicitam as condições de contorno.
Para gerar o arquivo foi criado uma função que o escrevesse no formato
necessário para que o OpenFOAM pudesse executá-lo. Logo, foram respeitadas todas
as regras para se gerar os blocos e fronteiras. A função produzida pelo autor para
produzir o arquivo será apresentada no apêndice A e B.
Foi gerado também um roteiro para que fosse gerado o arquivo blockMeshDict.
O roteiro consiste na inicialização da classe que gera o arquivo, na importação dos perfis
dos aerofólios e na execução da função que gera a malha. O roteiro será apresentado
no apêndice C.
Foi criado um diretório para que o roteiro fosse executado, desde que o perfil
fosse salvo na pasta designada. Este diretório possui o arquivo do roteiro, uma pasta
com um script que gera a malha e uma pasta com os arquivos dos perfis. A Figura 3
demonstra a disposição dos arquivos.
Figura 3 – Disposição dos arquivos
Pasta Fonte
Classe BlockMesh
Dados Aerofólio
Roteiro
Fonte: Autor(2019)
3.2
VALIDAÇÃO DA MALHA
A validação da malha será realizada comparando os resultados obtidos pelo
autor com as simulações realizadas por Mahon e Zhang (2005) para simulação com
um elemento e Mahon e Zhang (2006) para simulações com dois elementos. Serão
comparados os coeficientes de sustentação.
Para isso será seguida a seguinte metodologia apresentada pela figura 4.
Figura 4 – Diagrama de validação da malha
Resultados Autor Resultados Literatura Equivalentes Sim Não Validado Escrever malha
Fonte: Autor(2019)
Os parâmetros que serão alterados para se obter a convergencia são, além de
parâmetros da malha, os parâmetros numéricos como os coeficientes de relaxação e
tolerância dos solvers.
4 RESULTADOS
Os resultados serão separados em, geração e validação da malha e teste com
novo modelo de turbulência.
4.1
GERAÇÃO E VALIDAÇÃO DA MALHA
Foram gerados um total de 4 malhas, 2 para elemento único e 2 para dois
elementos.
4.1.1
Perfil com 1 elemento
Para um elemento, inicialmente foram gerados os blocos da Figura 5.
Figura 5 – Disposição de blocos para 1 elemento
0 (16) 1 (17) 2 (18) 3 (19) 4 (20) 5 (21) 6 (22) 7 (23) 8 (24) 9 (25) 10 (26) 11 (27) 12 (28) 13 (29) 14 (30) 15 (31)
0
1
2
3
4
5
6
7
Fonte: Autor(2019)
Os valores dentro do círculo representam os blocos e os valores próximos aos
nós representam sua numeração. Esta disposição de blocos foi escolhida pois possuia
poucos blocos e era de simples execução.
A malha gerada tem, aproximadamente, 260 a 450 mil volumes, onde o
menor valor corresponde para a altura de 2 cm e o maior para altura de 10 cm. A
Tabela 5 exibe alguns parâmetros das malhas geradas a partir do bloco apresentado
anteriormente.
Tabela 5 – Parâmetros da malha 1 elemento
Volumes
260 a 450 mil
Máxima AR
96,6758
Máxima não ortogonalidade
69,2
◦Não ortogonalidade média
4,5
◦Máxima assimetria
1,35 mm
Fonte: Autor(2019)
A figura 6 representa a malha a 5 cm de altura do solo, com aproximadamente
350 mil volumes, mesmo valor utilizado por Mahon e Zhang (2005).
Figura 6 – Malha para 1 elemento
Fonte: Autor(2019)
A validação da malha para um elemento será realizada comparando-se com os
resultados de Mahon e Zhang (2005). Seu estudo é realizado sobre um perfil invertido
sob efeito solo.
A velocidade utilizada pelo túnel de vento foi de 30 m/s, que, em condições
atmosféricas padrões para nível do mar é de aproximadamente mach 0,087. Doig e
Barber (2011) estuda que a compressibilidade para asas invertidas sob efeito solo
passa a ser expressiva para mach acima de 0,15, diferente do setor aeronáutico,
onde a compressibilidade do fluido passa a ter influência considerável a partir de
aproximadamente mach 0,3 (ANDERSON, 2003). Assim, a simulação será realizada
desconsiderando a compressibilidade do fluido.
Tabela 6 – Condições Iniciais para 1 elemento
Velocidade
30 m/s
Comprimento do perfil
0,2234 m
Ângulo de ataque
3,6
◦Altura do perfil
2 a 10 cm
Comprimento do domínio
1,5638 m
Altura do domínio
1,519 m
Modelo de turbulência
SST k-ω
Intensidade Turbulenta
3 %
Re
4,6x10
5k
1,215 m
2/s
2ω
116,327 1/s
ν
t0,0104
Fonte: Mahon e Zhang (2005)
Os valores utilizados para as condições iniciais e condições de contorno foram
os mesmos utilizados por Mahon e Zhang (2005).
A figura 7 apresenta os resultados obtidos pelo autor comparado com Mahon e
Zhang (2005). Nota-se que os valores obtidos pelo autor foram equivalentes quando
comparadas com a literatura.
Figura 7 – Resultados para 1 elemento
Fonte: Autor(2019)
Os valores obtidos para y+ nas condições simuladas apresentaram uma média
de 1,29 para o solo e 30,8 para o aerofólio. As funções de parede utilizadas no perfil
eram para alto Reynolds e a média obtida condiz com as condições desejadas. Para o
solo foram utilizadas funções de parede para baixo Reynolds.
A tabela 7 apresenta quantas iterações e o tempo de execução para cada altura.
Tabela 7 – Parâmetros de convergência para 1 elemento
Altura [cm]
Iterações
Tempo de execução [s]
2
2316
222,63
2,5
1442
232,83
3
627
69,2
4
649
65,98
5
662
153,13
7
769
217
10
926
430,64
Fonte: Autor(2019)
A quantidade de iterações teve um grande intervalo devido as mudanças
utilizadas no solver para possibilitar a convergência. Foi utilizada uma tolerância de
10
−5nos parâmetros de pressão, velocidade e coeficientes dos modelos de turbulência.
Após validar a malha para um elemento, testou-se as funções de parede para
baixo Reynolds. Porém, ao refinar a malha para que o critério de y+ = 1 fosse satisfeito,
notou-se que a quantidade de volumes dobrava, pois para refinar a região do perfil era
necessário refinar todo o bloco.
Assim, foi criado um novo gerador de malha, para que fosse possível refinar
apenas as regiões próximas ao perfil e ao solo (Figura 8).
Figura 8 – Nova disposição de blocos para 1 elemento
0 1 2 3 4 5 6 10 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 0 (42) 1 (43) 2 (44) 3 (45) 4 (46) 9 (51) 5 (47) 11 (53) 17 (59) 23 (65) 29 (71) 35 (77) 41 (83) 6 (48) 12 (54) 18 (60) 24 (66) 30 (72) 36 (78) 37 (79) 38 (80) 39 (81) 40 (82) 31 (73) 32 (74) 33 (75) 34 (76) 25 (67) 19 (61) 13 (55) 7 (49) 8 (50) 14(56) 15(57) 10 (52) 16 (58) 22 (64) 28 (70) 20(62) 21(63) 26(68) 27(69)Fonte: Autor(2019)
Os parâmetros da malha gerada estão representados na tabela 8:
Tabela 8 – Novos parâmetros de malha 1 elemento
Volumes
310 a 350 mil
Máxima AR
115,3
Máxima não ortogonalidade
57,3
◦Não ortogonalidade média
1,9
◦Máxima assimetria
0,924 mm
Fonte: Autor(2019)
Figura 9 – Nova malha para 1 Elemento
Fonte: Autor(2019)
Os casos foram rodados com os valores da tabela 6 e os resultados estão
representados na figura 10.
Figura 10 – Novos resultados para 1 elementoo
Fonte: Autor(2019)
Nota-se que os resultados da nova malha são significativamente menores que
os validados pela malha anterior. Os valores de y+ ficaram na média de 0,1 para o solo
e 1,2 para o perfil. Assim, surgem duas hipóteses para explicar a discrepância gerada,
as funções de parede para baixo reynolds não funcionam de maneira adequada ou a
malha possui alguma falha que impede a simulação de ser executada corretamente.
4.1.2
Perfis com 2 Elementos
Para dois elementos, inicialmente foi gerado a seguinte disposição dos blocos
(Figura 11).
Figura 11 – Disposição dos blocos para 2 elementos
0 (16) 1 (17) 2 (18) 3 (19) 4 (20) 5 (21) 6 (22) 7 (23) 8 (24) 9 (25) 10 (26) 11 (27) 12 (28) 13 (29) 14 (30) 15 (31) 0 1 2 3 4 5 6 10 7 8 9 11 12 13 14 15 16 17 35 (49) 40 (54) 41 (55) 36 (50) 37 (51) 42 (56) 43 (57) 38 (52) 34 (48) 33 (47) 32 (46) 39 (53) 44 (58) 45 (59)Fonte: Autor(2019)
A malha tem de 270 a 500 mil volumes para a altura do perfil de 3 a 15 cm. A
tabela 9 apresenta dados gerais da malha produzida.
Tabela 9 – Parâmetros da malha 2 elementos
Volumes
270 a 500 mil
Máxima AR
167,6
Máxima não ortogonalidade
67,5
◦Não ortogonalidade média
6,8
◦Máxima assimetria
1,94 mm
Fonte: Autor(2019)
Figura 12 – Malha para 2 elementos
Fonte: Autor(2019)
A validação da malha foi realizada comparando-a com os resultados de Mahon
e Zhang (2006). Os parâmetros iniciais utilizados foram os da tabela 10.
Tabela 10 – Condições Iniciais para 2 elementos
Velocidade
30 m/s
Comprimento do perfil principal
0,2234 m
Ângulo de ataque do perfil principal
3,6
◦Altura do perfil principal
3 a 15 cm
Comprimento do perfil secundário
0,1657 m
Ângulo de ataque do perfil secundário
15,5
◦Comprimento do domínio
2,0026 m
Altura do domínio
1,748 m
Altura do perfil secundário
1,216 cm
Sobreposição do perfil secundário
0,912 cm
Modelo de turbulência
k- Realizável
Intensidade Turbulenta
3 %
Re
7,86x10
5k
1,215 m
2/s
212,72 m
2/s
3ν
t0,0104
Fonte: Mahon e Zhang (2006)
Os valores utilizados para as condições iniciais e de contorno são os mesmos
utilizados por Mahon e Zhang (2006).
Figura 13 – Resultados para 2 elementos
Fonte: Autor(2019)
Nota-se que os resultados obtidos estão congruentes com os de Mahon e
Zhang (2006).
Devido ao mesmo problema de refino encontrado na malha de um elemento,
foi gerada um segundo código onde seria possível refinar a malha apenas nas regiões
desejadas, obtendo assim regiões com y
+< 1. A disposição de blocos é representado
pela Figura 14.
Figura 14 – Nova disposição de blocos para 2 elementos
0 1 2 3 5 6 7 8 11 12 13 15 17 19 20 22 24 25 26 28 0 (42) 1 (43) 2 (44) 3 (45) 4 (46) 9 (51) 5 (47) 11 (53) 17 (59) 23 (65) 29 (71) 35 (77) 41 (83) 6 (48) 12 (54) 18 (60) 24 (66) 30 (72) 36 (78) 37 (79) 38 (80) 39 (81) 40 (82) 31 (73) 32(74) 33(75) 34 (76) 25 (67) 19 (61) 13 (55) 7 (49) 8 (50) 14(56) 15(57) 10 (52) 16 (58) 22 (64) 28 (70) 20(62) 21(63) 26(68) 27(69) 4 9 10 14 16 18 21 23 27 40 41 42 43 45 29 30 31 32 33 34 35 36 37 38 39 44 90 (111) 97 (118) 98 (119) 99 (120) 100(121) 101 (122) 102 (123) 103(124) 96 (117) 95 (116) 89 (110) 88 (109) 87 (108) 86 (107) 85 (106) 84 (105) 94 (115) 93 (114) 92 (113) 91 (112) 104 (125)
Fonte: Autor(2019)
Porém, não foi possível obter uma validação dessa malha devido a não
convergência da simulação. Foram avaliados diversos parâmetros como a qualidade
da própria malha, funções de parede, tolerância relativa/absoluta, fator de relaxação e
modelos de interpolação, entretando, nada se mostrou efetivo.
4.2
Langtry-Menter SST k - ω
Foi avaliado o modelo de Langtry-Menter SST k - ω para as malhas validadas.
Os casos foram simulados utilizando os mesmos parâmetros que os autores Mahon e
Zhang (2005), Mahon e Zhang (2006), porém com o valor de γ = 1 para a intermitência
e Re
θtde 182,652 para o número de Reynolds baseado na espessura da quantidade
de movimento. Os valores de γ e Re
θtforam definidos seguindo a metodologia utilizada
por Langtry e Menter (2009).
Os resultados estão representados na figura 15.
Figura 15 – Resultados: Langtry-Menter, 1 Elemento
Fonte: Autor(2019)
Nota-se que mesmo para a malha onde foi obtido validação com os resultados
experimentais não foi possível obter equivalência com o modelo de LM. De acordo com
a literatura, devido o modelo transicionar da camada limite laminar para a turbulenta ele
requer uma malha mais refinada, passa que possa adequadamente captar a transição
(ANSYS, 2013).
Na malha mais refinada próximo a parede, mesmo satisfazendo os critérios de
y+ = 1, não foi possível obter uma boa convergência com a literatura. Não foi possível
encontrar o motivo da discrepância, mas notou-se que o mesmo ocorreu para o modelo
SST k-ω com o novo modelo de malha.
Logo, a partir dessas simulações não é possível afirmar se o modelo é vantajoso
ou não em relação aos modelos mais simples.
Para dois elementos os resultados estão na Figura 16.
Figura 16 – Resultados: Langtry-Menter, 2 Elementos
Fonte: Autor(2019)
Nota-se que para 2 elementos os resultados para LM e k-ε estão
consideravelmente próximos quando comparados com o de um elemento, mesmo
que a malha utilizada tenha um y
+> 30. Novas discussões podem ser abertas com
esse resultado, pois a malha em torno do elemento principal é a mesma, porém, quando
existe apenas um elemento o modelo de turbulência não é capaz de representar os
resultados experimentais.
5 CONCLUSÕES
Durante a programação do gerador de malha, notou-se que diversos
parâmetros como distribuição de blocos e nós permaneciam constantes, o que
permitiu escrever um gerador de malha que dependesse apenas de alguns parâmetros
geométricos da malha.
Notou-se também que, devido a necessidade da malha ser estruturada
(requisito do BlockMesh) os parâmetros de refino também se limitavam a algumas
poucas variáveis, permitindo uma interação mais dinâmica e simplificada para se refinar
a malha.
Durante a validação da malha observou-se que para funções de parede de
alto Reynolds houve uma boa concordância com os resultados experimentais. Porém,
para malhas mais refinadas, onde a primeira camada era próxima de y+ = 1, havia
uma discrepância que não pôde ser explicada. Uma investigação mais rigorosa sobre
possíveis razões deve ser realizada.
Devido a pobre concordância entre o modelo de turbulência de Langtry-Menter
e os resultados experimentais não foi possível neste momento avaliar suas vantagens
e desvantagens quando comparados com modelos de turbulência mais simples.
Proposições para trabalhos futuros:
a. Investigar as possíveis razões para a discrepância observada entre os resultados
das diferentes malhas.
b. Buscar outras distribuições de blocos que permita uma malha de boa qualidade e
leve (refinada apenas nos locais de interesse).
c. Criar uma rotina que produza um gerador de malha mais genérico como, por
exemplo, sem a restrição na numeração dos nós e blocos.
d. Gerar uma rotina mais completa que, além de gerar a malha, gere os outros
arquivos necessários para se rodar uma simulação no OpenFOAM.
REFERÊNCIAS
AHMED, M. R.; SHARMA, S. An investigation on the aerodynamics of a symmetrical
airfoil in ground effect.
Experimental Thermal and Fluid Science, v. 29, n. 6, p.
633–647, 2005.
AHMED, M. R.; TAKASAKI, T.; KOHAMA, Y. Aerodynamics of a naca4412 airfoil in
ground effect.
AIAA journal, v. 45, n. 1, p. 37–47, 2007.
ANDERSON, J. D.
Modern Compressible Flow with Historical Perspective. [S.l.],
2003.
ANSYS. Ansys fluent theory guide.
ANSYS Inc, Canonsburg, PA, U.S.A., 2013.
AZMI, A. et al. Study on airflow characteristics of rear wing of f1 car.
IOP Conference
Series: Materials Science and Engineering, Songkhla, Thailand, v. 243, n. 1, p.
12–30, 2017.
DOIG, G.; BARBER, T. J. Considerations for numerical modeling of inverted wings in
ground effect.
AIAA Journal, v. 49, n. 10, p. 2330–2333, 2011.
OLIVEIRA FORTUNA, A. de.
Técnicas computacionais para dinâminca dos
fluidos: conceitos básicos e aplicações. [S.l.]: Edusp, 2000.
GATSKI, T. B.; BONNET, J.-P.
Compressibility, turbulence and high speed flow.
Oxford, Reino Unido: Academic Press, 2013.
HANNA, R. K. Cfd in sport-a retrospective; 1992-2012.
Procedia Engineering, v. 34, p.
622–627, 2012.
HESS, J. L.; SMITH, A. O. Calculation of potential flow about arbitrary bodies.
Progress
in Aerospace Sciences, v. 8, p. 1–138, 1967.
KAWAGUTI, M. Numerical solution of the navier-stokes equations for the flow around a
circular cylinder at reynolds number 40.
Journal of the Physical Society of Japan,
v. 8, n. 6, p. 747–757, 1953.
LANGTRY, R. B.; MENTER, F. R. Correlation-based transition modeling for unstructured
parallelized computational fluid dynamics codes.
AIAA journal, v. 47, n. 12, p.
2894–2906, 2009.
LÖFDAHL, L. Evolution of downforce on performance cars.
18. Internationales
Stuttgarter Symposium, Stuttgart, Germany, v. 18, p. 1411–1426, 2018.
MAHON, S.; ZHANG, X. Computational analysis of pressure and wake characteristics
of an aerofoil in ground effect.
Journal of Fluids Engineering, v. 127, n. 2, p. 290–298,
2005.
MAHON, S.; ZHANG, X. Computational analysis of a inverted double-element airfoil in
ground effect.
Journal of Fluids Engineering, v. 128, n. 6, p. 1172–1180, 2006.
MENTER, F. R. Two-equation eddy-viscosity turbulence models for engineering
applications.
AIAA journal, v. 32, n. 8, p. 1598–1605, 1994.
OPENCFD, L.
OpenFOAM-The Open Source CFD Toolbox-Programmer’s Guide.
[S.l.]: OpenCFD, LTD, 2019.
OPENCFD, L.
OpenFOAM: The Open Source CFD Toolbox-User Guide. [S.l.]:
OpenCFD, LTD, 2019.
QU, Q. et al. Numerical investigation of the aerodynamics of an inverted three-element
airfoil in ground effect for race car application.
34th AIAA Applied Aerodynamics
Conference, Washington, U.S.A., v. 34, p. 4180, 2016.
RANZENBACH, R.; BARLOW, J. Two-dimensional airfoil in ground effect, an
experimental and computational study.
SAE Technical Paper, Michigan, U.S.A., 1994.
RANZENBACH, R.; BARLOW, J. Cambered airfoil in ground effect-wind tunnel and
road conditions.
13th Applied Aerodynamics Conference, California, U.S.A., v. 13,
p. 1909, 1995.
RANZENBACH, R.; BARLOW, J. Cambered airfoil in ground effect-an experimental and
computational study.
SAE Technical Paper, Michigan, U.S.A., 1996.
RANZENBACH, R.; BARLOW, J.; DIAZ. Multi-element airfoil in ground effect-an
experimental and computational study.
15th Applied Aerodynamics Conference,
Georgia, U.S.A., v. 15, p. 2238, 1997.
SHIH, T.-H. et al. A new k-ε eddy viscosity model for high reynolds number turbulent
flows.
Computers & Fluids, v. 24, n. 3, p. 227–238, 1995.
WILCOX, D. C. et al.
Turbulence modeling for CFD. [S.l.]: DCW industries La Canada,
CA, 1998. v. 2.
ZERIHAN, J.
An investigation into the aerodynamics of wings in ground efect.
Tese (Doutorado) — University of Southampton, 2001.
ZHANG, X.; TOET, W.; ZERIHAN, J. Ground effect aerodynamics of race cars.
Applied
Mechanics Reviews, v. 59, n. 1, p. 33–49, 2006.
ZHANG, X.; ZERIHAN, J. Aerodynamics of a double-element wing in ground effect.
AIAA journal, v. 41, n. 6, p. 1007–1016, 2003a.
ZIKANOV, O.
Essential computational fluid dynamics. Hoboken, New Jersey: John
APÊNDICE A - GERADOR DE MALHA: INICIAL
#import necessary packages import numpy as np
import csv
#mesh generator for 2D meshes class BlockMesh(object):
#initial function
def __init__(self,airfoil,**params):
#### LOAD AIRFOIL DATA #### self.airfoil = airfoil
#get the airfoil rotation angle [o] self.rot = params.get(’alpha’,0)
#get the airfoil chord length [m] self.c = params.get(’length’,1)
#separation flag
self.sep_flag = params.get(’sep_flag’,0)
#get the airfoil height [m]
self.h = params.get(’height’,0.3*self.c) #get the airfoil distance from inlet [m] self.d = params.get(’distance’,2*self.c) #get domain height [m]
self.domain_h = params.get(’domain_h’,5*self.c) #get domain length [m]
self.domain_l = params.get(’domain_l’,7*self.c) #z coordenate
self.zcoord = params.get(’zcoord’,0.01)
#corrector factor
self.corr_fac = params.get(’corr_fac’,1)
#### SECOND AIRFOIL DATA FLAG ####
self.sec_airfoil = params.get(’sec_airfoil’,0)
#secondary airfoil input parameters if self.sec_airfoil == 1:
#import airfoil parameters
self.airfoil2 = params.get(’airfoil2’,None) #get the secondary airfoil chord length [m] self.c2 = params.get(’length2’,1)
#get the secondary airfoil rotation angle [o] self.rot2 = params.get(’alpha2’,0)
#get the overlap distance [m]
self.deltao = params.get(’delta_o’,9.12e-3) #get the gap distance [m]
self.deltag = params.get(’delta_g’,0.01216) #separation flag
self.sep_flag2 = params.get(’sep_flag2’,0)
#raise error if the airfoil param was not supplied if self.airfoil2 == None:
raise ValueError(’The secondary airfoil data was not supplied’)
#get the airfoil data to set the mesh def airfoil_data(self):
#Create an empty list to store the data self.data=[]
#Read and store the .csv file contents with open(self.airfoil, ’rt’) as f:
#Skip header next(f)
reader = csv.reader(f) for row in reader:
self.data.append(np.array(row,dtype=float)) f.close()
#Convert list to array
self.data = np.array(self.data)
#define the airfoil coordnates [-] self.xadm = self.data[:,0]
self.yadm = self.data[:,1]
#correct the points with the rotation angle self.r = np.sqrt(self.xadm**2+self.yadm**2) self.arg0 = np.argwhere(self.r == 0) self.xadm[self.arg0] = 1 self.yadm[self.arg0] = 1 self.r[self.arg0] = 1 self.beta = np.arctan(self.yadm/self.xadm) self.res = self.beta+np.deg2rad(self.rot) self.res_deg = np.rad2deg(self.res) self.xrot = np.sqrt(self.r**2/(1+(np.tan(self.res))**2)) self.yrot = np.sqrt(self.r**2 - self.xrot**2)
#correcting the modifications used for the rotation for i in self.arg0: self.xadm[i] = 0 self.yadm[i] = 0 self.r[i] = 0 self.xrot[i] = 0 self.yrot[i] = 0 self.beta[i] = 0 self.res[i] = 0 self.res_deg[i] = 0
#correct the point signal based on the resulting angle for i in range(len(self.xrot)):