December 27, 2007

Do Colour Fluid Dynamic para Computational Fluid Dynamics

Já vai tempo desde que falei sobre o Colour Fluid Dynamics e prometi descrever o que seria necessário para ter um resultado bem apresentado. Pois bem, antes tarde do que nunca.

Eu vou fazer uma divisão aqui: Modelagem, Simulação e Resultados. Apesar da divisão ser pessoal, os conceitos são bem abrangentes. Cada uma dessas três etapas compreende uma parte importante da obtenção dos resultados e principalmente na apresentação dos resultados.

Começamos pela modelagem.
  • Para se fazer entender, a primeira coisa a ser feito é, de fato, apresentar o problema. Definir o que estamos fazendo. De preferência definir as condições físicas do problema. Como temperatura, vazão, pressão, ou seja, tudo que define o problema como um problema.
  • Juntamente com a etapa anterior, temos a apresentação do ambiente de simulação. Ele pode ser uma outra geometria qualquer (como um duto), uma área aberta ou até a mão de alguém. A definição da geometria faz parte do seu problema.
  • Já o terceiro item, eu classifico aqui, é a definição da malha. Algumas pessoas poderiam, de forma correta, classificar na área de simulação, mas eu prefiro colocar aqui, na modelagem. Por um motivo muito simples: ela está intimamente ligada a definição da geometria. Eu já disse que dizer quantos nós/elementos tem uma malha, não diz tudo, é preciso dizer principalmente o tamanho da geometria e o tamanho médio do elemento. Isso diz quase tudo. Se o trabalho for honesto, de fato diz tudo, mas como estamos falando de questionar o trabalho de outro, temos que exigir algumas outras garantias dessa malha. As principais (mas não únicas) são a razão de aspecto, que define a razão entre a maior e a menor aresta de um dado elemento (pode ser o inverso disso também) e a razão de volumes, que defini a razão entre o volume de elemento e pelo volume dos seus elementos vizinhos. Entender a importância desses valores é muito simples. Se a razão de aspecto for muito grande, isso significa que o elemento é muito esticado para um dos lados, ou seja, ele está muito deformado, como, por exemplo, uma "agulha". Deve ser intuitivo imaginar que isso pode provocar problemas na definição dos resultados. Da mesma forma, se a razão de volumes for muito grande, significa que existe um elemento muito grande perto de um elemento muito pequeno. Também é intuitivo imaginar que isso não é bom. Normalmente quando esses parâmetros são ruins, o principal problema está associado a capacidade do problema de convergir para algum lugar. Outra questão importante sobre a malha é o aspecto visual. Significa que você olha para ela e vê alguma coisa boa. Outros fatores, ou características da malha, como a presença ou não de camadas de primas na superfícies, até merecem menção, mas são mais importantes em textos do que em apresentações.
  • Bom, então chegamos a modelagem do problema propriamente dita. Significa definir claramente quais são as equações que você deve/quer resolver. Quais são os modelos, especialmente os modelos de fechamento, como turbulência, arrasto, dispersão turbulenta, etc (a lista é grande) serão usados e se serão usados. Os erros da sua modelagem começam aqui. É também nessa parte onde se exige mais conhecimento de quem está sentado fazendo o problema e de quem está lendo/ouvindo também. A despeito disso, só porque os modelos utilizados não são adequados não significa que eles não podem ser testados, vai que o sujeito quer justamente provar que tais modelos não são adequados?
Olhando para trás, você verá o problema e sua modelagem como um todo. Resta, então, resolver. Como ?
  • É preciso definir o método matemático que será utilizado.
  • Estado estacionário (onde o tempo não é uma variável importante) ou transiente (onde o tempo é uma das variáveis mais importantes).
  • É importantes definir o erro numérico de simulação que definirá o problema como convergido. De forma básica, dois tipos de erro são monitorados, o erro absoluto (que é o erro de uma variável propriamente dito, está relacionado com o valor do interação anterior) e o erro médio. Esse último tem o problema da média. Se a média é boa não significa que o valores estão bem. Pode existir um ponto com um erro muito grande compensado por outro ponto onde o erro é muito pequeno. Eu gosto de definir os meus problemas pelo erro máximo que eu aceito ver entre todos os pontos nos quais estou resolvendo o problema e eu normalmente 0.00001 como um valor base interessante. Ignorando-se opiniões, pode ter certeza de que 0.001 ou 0.01 não são bons valores para erro máximo.
  • Se o problema é transiente, ainda existem outras questões, tipo: de quanto em quanto tempo você vai imprimir os valores que te interessam no tempo ? Qual o tempo de simulação total necessário/desejado ? Qual o passo de tempo que está sendo utilizado ? As respostas para essas perguntas estão intimamente ligadas ao problema físico modelado.
Então você definiu o problema, especificou as questões de simulação e colocou o caso para rodar. Aí depois de algum tempo (pode ser daqui algumas horas ou meses) você tirou o caso do forno e está pronto para apresentar a outros os seus resultados. Então, o que podemos "exigir/desejar" do palestrante ?
  • Que ele mostre, ou pelo menos mencione alguma coisa sobre convergência de malha. Esse tópico é muito importante se desejar convergir um determinado valor do seu problema. Se torna menos importante se o seu caso for um estudo de tendências em diversas variações geométricas (onde o valor pontual é menos importante), mas de qualquer ponto de vista tem seu valor e deve ao menos ser mencionado se foi ou não foi feito e quais foram as condições.
  • Que ele se lembre do y+ (y plus). A controvérsias sobre essa minha expectativa, mas não custa nada. Se ele já resolveu o problema então, por que não mostrar ou mencionar o valor de y+. Mas o que é isso afinal ? Em termos leigos ele fornece uma forma de mensurar se a solução foi bem resolvida perto da parede. Se o y+ máximo for de até 5. Então o problema está bem resolvido na parede (pelo menos em termos numéricos e em relação a malha). Se ele estiver entre 5-10, ele está aceitável. É desconfortável, mas você aceita. Se estiver entre 10-26 e for um placa plana, ainda está aceitável. Entre 26-100 você diz que o problema não foi bem resolvido perto da parede e a malha precisa de ser refinada perto da parede se você quiser uma solução boa perto da parede. A parede pode não ser importante, por exemplo, se o modelo de turbulência utilizado não resolver a parede. De qualquer forma, se ele estiver maior que 200, então definitivamente você deve voltar para sua malha e diminuir o tamanho dos elementos perto da parede. As controvérsias estão nas faixas de valores (obtidas experimentalmente em condições ideais e que ninguém disse que são boas fora dessas condições) e no fato de que nem todo mundo vê na parede seu principal problema. Mas será que custa mesmo mencionar que o valor do y+ máximo é de x ?
  • Pelo amor de Deus, apresente uma variável de cada vez, com raras excessões para duas variáveis simultâneas, uma definida em cores e outra em uma estrutura geométrica, com uma superfície que satisfaz uma certa especificação física. Nada de apresentar quatrocentas variáveis simultaneamente. Quais são as variáveis importantes ? Aquelas que você mencionou quando apresentou o problema. Você, as vezes, até pode mecanicamente apresentar tudo em uma única figura, mas não fica nada fácil para o observador entender o que você quer dizer com isso.
  • Cuidado com a escala. Os professores de física experimental que tive sem disseram-me a mesma coisa: "Cuidado com a escala ela deve ser clara de fácil entendimento para quem vê e discreta em número que permita boa observação do problema". Não imagina como é fácil erra isso quando se têm tantas cores e variáveis para lidar. Erros aqui são muito comuns.
  • Em CFD existem, superfícies de revolução, volumes e planos dados por condições físicas (onde estão os isovolumes e isosuperfícies), linhas de fluxo, e milhões de outros objetos que podem fazer o seu problema ser melhor entendido. Eles devem ser usados, mas usados corretamente. Não é fácil, mas quando se acerta, você percebe pelo olhar de "oh! Entendi." que as pessoas que vêem faz.
Terminado tudo isso, você pode até não saber se tudo é ou não correto, mas terá condições de saber se a apresentação é ou não coerente. E, principalmente, se existe algum ponto que necessita de esclarecimento. Qualquer pessoa que tenha conhecimento sobre mecânica dos fluidos deve ser capaz de entender os resultados, mesmo que não entenda muito bem questões sobre modelagem e especificações da simulação. Entretanto, as questões de simulação são, em geral, auto-destrutivas, se estiver errado, acaba com o problema.

Já modelagem errada, gera resultados sem sentido ou que não condizem com a realidade física. O principal problema é que aqueles que não tiverem nenhuma noção do problema (as vezes por conta do problema e não da pessoa) e não se tenha condições de diferenciar a priori o que é ou não realidade física. E isso não está ligado apenas a questões de saber ou não a física do problema, mas muitas vezes em não saber quais sãos os valores esperados ou o comportamento esperado de um dados problema. Aí não tem jeito. Somente a validação experimental acaba com as dúvidas. Diga-se de passagem eu enfrento um problema desses atualmente, mas essa deve ser a única questão pendente de uma apresentação de resultados de CFD. Uma vez que o erro, nesse caso, não é um erro em si, mas uma necessidade de aperfeiçoar algum ponto da técnica utilizada.

Bom, ficou grande. Até a próxima, provavelmente no ano que vêm. Boas Festas.

3 comments:

  1. Muito bom o seu blog! Acompanho-o há algum tempo, mas não tive a oportunidade de parabenizá-lo.

    Neste post, você mencionou valores de y+ adequados. Faltou falar dos dois métodos de solução: Solve to wall e Wall function.

    Eu costumava usar malhas não estruturadas de até 14 milhões de elementos e com y+ em torno de 50. Diminuir o y+ seria suicídio, como esse número grotesco de elementos, portanto eu utilizava o Wall function. Entretanto, era possível obter bons resultados com erros em torno de 5% a 15% em relação à ensaios experimentais.

    Obviamente, eu utilizava RANS em regime permanente. Em simulações com alto nível de separação ou ondas de choque, aí o bicho pegava!

    ReplyDelete
  2. Elton,
    primeiramente obrigado pelo comentário, pelos elogios e por nos acompanhar.

    Você tocou em um assunto que é um dos pontos que eu considero um problema para o CFD. A Parede.

    Tocar nesse assunto seria suicídio para o tamanho desse texto. Por isso eu não mencionei, imagina o tamanho que ficaria o tópico ! Vou anotar como uma idéia para um tópico futuro.

    Normalmente quem não usa Wall Function está realmente estudando a parede, ou seja, a parede em si é o foco/objetivo do trabalho.

    Mas tocando no assunto de y+ igual a 50 e ainda assim erros de 5 a 15 % com experimental, me ocorreu que nós obtemos coisa similar com valores ainda maiores de y+ para alguns tipos de simulação para alguns casos. Por outro lado tenho um caso que trabalho atualmente que y+ de 10 induz a comparações ruins com o experimental.

    Se eu fiz parecer que era fácil distinguir quando a parede era importante ou não, me desculpe. Não é !
    É muito difícil, especialmente quando não tem dados experimentais para comparação.

    Um abraço !

    ReplyDelete
  3. Muito interessante a discussão!

    Primeiramente parabéns pelo blog! De fato é muito informativo em um "mundo" de tão pouca gente.

    Gostaria só de acrescentar que a questão do modelo de turbulência também entra na consideração de faixas de valores de y+. Há modelos típicos de parede (Spalart-Allmaras, por exemplo), e modelos de 'wall function' (os RANS na sua essência).

    Usar um modelo de 'wall function' com um y+ pequeno demais pode levar a resultados tão ruins como com y+ altos.

    Pelo menos essa tem sido a nossa experiência aqui na Universidade Federal do Ceará.

    Reitero que é ótimo ter com quem discutir isso aqui no Brasil.

    Saudações cordiais e parabéns novamente!

    Paulo Alexandre C. Rocha
    paulo {at} posmec {dot} ufc {dot} br

    ReplyDelete