Em uma simulação CFD, o domínio a ser resolvido é discretizado em diversas células, e as equações de conservação são resolvidos para cada célula. Por exemplo, para uma simulação compressível, transiente com transferência de calor, o escoamento pode ser descrito pelas equações de conservação de massa, momento e energia[1].
Equação 1: Equação da conservação de massa.
Equação 2: Equação da conservação de momento.
Equação 3: Equação da conservação de energia.
Para simulações transientes, essas três equações são resolvidas para todas as células do domínio a cada passo de tempo. Com um domínio que pode chegar na ordem das dezenas de milhões de células, é tentador diminuir esse passo de tempo. Contudo, a estabilidade e acurácia do resultado dependem do número de Courant (Co), que é uma relação do tamanho de célula, passo de tempo e velocidade do escoamento[2].
Figura 1: Representação gráfica sobre o sentido físico do número de Courant, adaptado de [3].
Assim o passo de tempo, em esquemas de integração de tempo padrão é limitado pelo número de Courant. Porém, o Co não necessariamente é constante por todo o domínio ou durante todo o prosseguimento da simulação. Se o Co varia durante o tempo, há formas simples de se ajustar o passo de tempo da forma que o Co máximo do domínio esteja em torno de um valor definido pelo usuário.
Para variações do Co no espaço, usar um único passo de tempo para todo o domínio resultaria em subutilização de recursos computacionais em regiões altamente dinâmicas e superutilização em regiões mais estagnadas. Porém, não há como fazer uma compensação análoga a variação de Co temporal para a variação de Co espacial. Pelo menos não com soluções transientes[4].
Os algoritmos de solução transiente podem ser configurados para produzir uma solução estacionária do escoamento por meio de uma simulação pseudo-transiente, ou seja, essas simulações não se destinam a capturar o comportamento transiente. Assim, o termo transiente nas equações de conservação (∂/∂t) passam a não mais representar um comportamento físico, e servem como ferramenta para uma solução estacionária[5].
Isso abre espaço para a utilização de um conceito que permite focar uso computacional em regiões do domínio com maior dinamicidade; o uso de Local Time Step (LTS), ou Passo de Tempo Local permite que usuários selecionem diferentes passos de tempo para diferentes regiões da malha com base no número máximo de Co. Essa ferramenta acelera a simulação e permite regiões de alta resolução mais refinadas.
Figura 2: Campo de ∆t⁻¹ para um domínio anular, mostrando as variações do campo no espaço.
O LTS reconhece que intervalo de tempo é limitado pelo número Co máximo associado à célula com um volume pequeno e/ou velocidade alta. É usado um campo de ∆t⁻¹ correspondente ao limite de Co em cada célula para acelerar a solução transiente[5].
Referências:
[1] – CFD Direct, Energy Equation in OpenFOAM. Disponível em: https://doc.cfd.direct/openfoam/energy-equation/
[2] – CFD Direct, Notes on Computational Fluid Dynamics: General Principles - 3.17 Time discretisation. Disponível em: https://doc.cfd.direct/notes/cfd-general-principles/time-discretisation#dx89-108001
[3] - Atsushi Ueyama, Basic Course of Thermo-Fluid Analysis - 5.8 Progress of time. Disponível em: https://www.cradle-cfd.com/media/column/a90
[4] - CFD Direct, Notes on Computational Fluid Dynamics: General Principles - 5.19 Transient solution. Disponível em: https://doc.cfd.direct/notes/cfd-general-principles/transient-solution
[5] - CFD Direct, Notes on Computational Fluid Dynamics: General Principles - 5.21 The PIMPLE algorithm. Disponível em: https://doc.cfd.direct/notes/cfd-general-principles/the-pimple-algorithm