Ma thèse porte sur le développement de méthodes numériques pour la réduction des modèles de combustion. J'exécute mes méthodes uniquement sur la partie chimie des simulations de combustion, et j'ai de nombreuses études de cas pour les simulations 0-D (sans débit). Ce que j'aimerais, c'est exécuter des simulations qui contiennent du flux, de préférence des simulations 2D ou 3D.
Ces simulations devraient être parallèles, en raison des exigences de calcul élevées. J'aurais également besoin de quelque chose qui puisse s'interfacer avec des solveurs de chimie comme Chemkin ou Cantera, pour lesquels j'ai le code source. (Chemkin est en Fortran 77, et Cantera est en C ++.)
Dans le cas idéal, je pourrais spécifier un schéma d'écoulement en utilisant les connaissances de base de la mécanique des fluides que j'ai de mon programme d'études supérieures et de certains packages CFD, ajouter la chimie et l'exécuter. Si je le dois, je peux configurer les équations régissant le mouvement des fluides et la chimie pour une étude de cas simple basée sur une configuration expérimentale utilisée par un ancien collaborateur, mais je préférerais de loin ne pas rouler mon propre code CFD à moins qu'il n'y ait un ou des packages qui ont rendu extrêmement facile le faire. Je serais prêt à y passer 2-3 semaines; Je ne sais pas si cette exigence exclut PETSc ou Trilinos. Si je dois y consacrer plus de temps, je préfère le reporter à plus tard, car j'ai un collaborateur qui fournit également un code CFD pour les études de cas.
Quelqu'un a-t-il une expérience de l'utilisation d'un package CFD ou de l'écriture de code CFD, et si oui, pouvez-vous en recommander un? Je sais que j'aimerais utiliser le fractionnement de Strang, mais je ne suis pas un expert en CFD ou PDE; J'étudie la chimie et les méthodes numériques pour la réduction du modèle. Veuillez également indiquer le temps qu'il vous a fallu pour vous familiariser avec le logiciel que vous recommandez.
@FrenchKheldar souligne que je devrais mentionner les caractéristiques des problèmes que j'aimerais résoudre:
- Gaz idéal (parfait), monophasé
- Compressible
- Le flux laminaire est essentiel; un écoulement turbulent est un plus. (Je connais un peu la turbulence des travaux précédents sur les méthodes numériques en CFD, mais je n'ai pas travaillé sur les solveurs CFD; je connais juste un peu la physique.)
- La formulation du nombre zéro-Mach est correcte (je ne me soucie pas des chocs ou du flux supersonique)
- Chimie de la combustion, ignorant les flux de Soret et Dufour et traitant la diffusion comme Fickian
- La géométrie peut être quelque chose de simple
Je peux écrire du code d'interfaçage, mais moins j'en ai à écrire, mieux c'est; @FrenchKheldar souligne également que Cantera a des liaisons Fortran et Python. J'utilise les liaisons Cantera Python en ce moment pour le prototypage rapide, donc je suis à l'aise avec celles-ci également.
la source
Réponses:
Je suis un grand utilisateur d' OpenFOAM , donc naturellement je le recommanderais. Il a une grande quantité de fonctionnalités, y compris des modèles de combustion (mais pas nécessairement exactement ce dont vous avez besoin) et a été utilisé avec Canterra par d'autres personnes. Si vous avez besoin d'un solveur pour une équation spécifique qui n'a pas encore été implémentée, vous pouvez à peu près littéralement écrire vos équations . Je ne sais pas ce qu'est l'éclatement (je ne travaille pas moi-même sur la combustion), mais d'autres personnes l'ont utilisé dans OpenFOAM .
Il existe un nombre limité de tutoriels. Celles documentées dans le guide de l'utilisateur n'incluent pas la chimie. Il existe des exemples de cas pour les solveurs de réaction que vous pouvez consulter. Votre meilleur pari est de consulter le site Web des cours pour diplômés OS-CFD à Chalmers (le lien est pour 2011, mais il contient un lien vers les pages des années précédentes). Les étudiants là-bas documentent souvent les solveurs sur lesquels ils travaillent, par exemple ici .
À propos de l'effort pour l'apprendre: Si vous obtenez en utilisant l'un des modèles prédéfinis, il est assez simple à utiliser et vous devriez pouvoir obtenir des résultats en quelques semaines. Si vous devez descendre sous le niveau supérieur (par exemple pour ajouter un nouveau solveur ODE), les choses peuvent devenir plus difficiles assez rapidement et vous apprécierez de connaître le C ++.
la source
Vous pouvez utiliser PyClaw , une extension parallèle de Clawpack (note: je suis l'un des principaux développeurs de PyClaw). Il comprend des solveurs 2D et 3D pour les équations d'Eiscis inviscides (écoulement compressible) d'un gaz idéal. Le fractionnement de Strang est également intégré, mais vous devez ajouter vous-même l'évaluation des termes visqueux et de la chimie. L'interface avec Chemkin et Cantera devrait être simple, car PyClaw est écrit en Python et inclut déjà à la fois le code Fortran 77 et le code C.
PyClaw est relativement nouveau (bien que le code Clawpack sous-jacent soit assez ancien) et donc pas aussi établi que quelque chose comme OpenFOAM.
la source
Le simulateur de dynamique du feu (FDS) du NIST ressemble à ce que vous voulez. FDS est un solveur de débit à faible nombre de Mach. La densité peut changer, mais les effets acoustiques et les chocs sont négligés.
Le FDS est assez bien documenté, cependant, j'avoue que je n'ai pas regardé dans les routines principales du solveur de flux. Je ne sais pas non plus grand chose sur la façon dont le FDS gère la chimie de la combustion.
Je suggère de télécharger le dernier code à partir du site Google Code de FDS .
la source
Il y en a plein là-bas!
OpenFOAM est le meilleur, à mon humble avis, mais d'autres sont à ce lien ,
la source
Vous pouvez utiliser la bibliothèque de simulation avancée open source qui est accélérée par le matériel (dans le cas où le calcul haute performance est important). Il a des écoulements laminaires et turbulents et des réactions chimiques. Il est également simple d'utilisation, voir le code source de l' Aérodynamique d'une locomotive dans un tunnel de référence.
la source