Minha tese é sobre o desenvolvimento de métodos numéricos para redução de modelos na combustão. Eu executo meus métodos puramente na parte química das simulações de combustão e tenho muitos estudos de caso para simulações 0-D (sem fluxo). O que eu gostaria é executar simulações que tenham fluxo nelas, preferencialmente simulações em 2D ou 3D.
Essas simulações precisariam ser paralelas, devido aos altos requisitos computacionais. Eu também precisaria de algo que possa interagir com solucionadores de química como Chemkin ou Cantera, para o qual eu tenho o código-fonte. (Chemkin está em Fortran 77 e Cantera está em C ++.)
No caso ideal, eu poderia especificar um padrão de fluxo usando o conhecimento básico de mecânica dos fluidos que tenho no meu programa de graduação e em algum pacote de CFD, adicionar a química e executá-la. Se for necessário, posso configurar as equações que governam o movimento e a química dos fluidos para um estudo de caso simples, com base em uma configuração experimental usada por um ex-colaborador, mas eu prefiro não usar meu próprio código CFD, a menos que haja um pacote ou pacotes que tornaram extremamente fácil fazê-lo. Eu estaria disposto a gastar 2-3 semanas nisso; Não sei se esse requisito descarta o PETSc ou o Trilinos. Se eu tiver que gastar mais, prefiro adiar até mais tarde, porque tenho um colaborador que fornece um código CFD para estudos de caso também.
Alguém tem alguma experiência em usar um pacote CFD ou escrever código CFD? Em caso afirmativo, você pode recomendar um? Uma coisa que eu sei que gostaria de usar é a divisão do Strang, mas não sou especialista em CFD ou PDE; Estudo a química e os métodos numéricos para a redução de modelos. Além disso, comente o tempo que você levou para se atualizar usando o software recomendado.
O @FrenchKheldar enfatiza que devo mencionar as características dos problemas que gostaria de resolver:
- Gás (perfeito) ideal, monofásico
- Compressível
- O fluxo laminar é essencial; fluxo turbulento é uma vantagem. (Eu sei um pouco sobre turbulência de trabalhos anteriores em métodos numéricos em CFD, mas não trabalhei em solucionadores de CFD; só sei um pouco sobre física.)
- A formulação do número zero-Mach está correta (não me importo com choques ou fluxo supersônico)
- Química da combustão, ignorando os fluxos de Soret e Dufour e tratando a difusão como Fickian
- A geometria pode ser algo simples
Eu posso escrever código de interface, embora quanto menos eu precise escrever, melhor; O @FrenchKheldar também aponta que o Cantera possui ligações Fortran e Python. Eu uso as ligações do Cantera Python agora para prototipagem rápida, por isso também me sinto à vontade.
fonte
Respostas:
Eu sou um usuário pesado do OpenFOAM , então naturalmente eu o recomendaria. Possui uma grande quantidade de recursos, incluindo modelos de combustão (embora não necessariamente precisamente o que você precisa) e foi usado junto com o Canterra por outras pessoas. Se você precisar de um solucionador para uma equação específica que ainda não foi implementada, você pode literalmente escrever suas equações . Não sei o que é separação de estranhos (eu não trabalho com combustão), mas outras pessoas o usaram no OpenFOAM .
Há uma quantidade limitada de tutoriais. Os documentados no guia do usuário não incluem química. Existem alguns exemplos de casos para os solucionadores de reações que você pode dar uma olhada. Sua melhor aposta é verificar o site do curso de graduação em OS-CFD em Chalmers (o link é para 2011, mas contém um link para as páginas dos anos anteriores). Os alunos frequentemente documentam os solucionadores em que estão trabalhando, por exemplo, aqui .
Sobre o esforço para aprendê-lo: se você usar um dos modelos predefinidos, é bastante simples de usar e deverá conseguir resultados dentro de semanas. Se você tiver que descer abaixo do nível superior (por exemplo, para adicionar um novo solucionador de ODE), as coisas podem ficar mais difíceis rapidamente e você gostará de conhecer C ++.
fonte
Você pode usar o PyClaw , uma extensão paralela do Clawpack (nota: eu sou um dos principais desenvolvedores do PyClaw). Inclui solucionadores 2D e 3D para as equações invíscidas de Euler (fluxo compressível) de um gás ideal. Ele também possui a divisão Strang, mas você precisa adicionar a avaliação dos termos viscosos e da química. Deve ser simples fazer interface com Chemkin e Cantera, já que o PyClaw é escrito em Python e já inclui os códigos Fortran 77 e C.
PyClaw é relativamente novo (embora o código Clawpack subjacente seja bastante antigo) e, portanto, não é tão estabelecido quanto algo como o OpenFOAM.
fonte
O Fire Dynamics Simulator (FDS) do NIST soa como o que você deseja. O FDS é um solucionador de fluxo com baixo número de Mach. A densidade pode mudar, mas os efeitos acústicos e os choques são negligenciados.
O FDS está bastante bem documentado, no entanto, admito que não procurei nas principais rotinas do solucionador de fluxo. Também não sei muito sobre como o FDS lida com a química da combustão.
Sugiro baixar o código mais recente do site do Google Code da FDS .
fonte
Há muitas por lá!
OpenFOAM é o melhor, IMHO, mas outros estão neste link ,
fonte
Você pode usar a Biblioteca de Simulação Avançada de código aberto, que é acelerada por hardware (no caso , a computação de alto desempenho é importante). Possui fluxos laminar e turbulento e reações químicas. Também é fácil de usar, veja o código fonte da aerodinâmica de uma locomotiva em uma referência de túnel .
fonte