Моя диссертация посвящена разработке численных методов для моделирования снижения горения. Я использую свои методы исключительно в химической модели моделирования горения, и у меня есть много примеров для моделирования 0-D (без потока). Я хотел бы запустить симуляции, в которых есть потоки, предпочтительно 2-мерные или 3-мерные.
Эти моделирования должны быть параллельными из-за высоких вычислительных требований. Мне также нужно что-то, что может взаимодействовать с химическими решателями, такими как Chemkin или Cantera, для которых у меня есть исходный код. (Чемкин в Фортране 77, а Кантера в С ++.)
В идеальном случае я мог бы указать схему потока, используя базовые знания о механике жидкости, которые я получил из моей программы подготовки и некоторого пакета CFD, добавить химию и запустить ее. Если мне нужно, я могу установить уравнения, управляющие движением жидкости и химией, для простого тематического исследования, основанного на экспериментальной установке, используемой бывшим сотрудником, но я бы очень предпочел не свернуть свой собственный код CFD, если не было пакет или пакеты, которые сделали это чрезвычайно легко сделать это. Я был бы готов потратить 2-3 недели на это; Я не знаю, исключает ли это требование PETSc или Trilinos. Если мне придется потратить на это больше времени, я бы предпочел отложить это на потом, потому что у меня есть сотрудник, который также предоставляет код CFD для тематических исследований.
У кого-нибудь есть опыт использования пакета CFD или написания кода CFD, и если да, можете ли вы порекомендовать его? Я знаю, что хотел бы использовать Strang-расщепление, но я не эксперт по CFD или PDE; Я изучаю химию и численные методы для сокращения модели. Также, пожалуйста, прокомментируйте, сколько времени у вас ушло на то, чтобы освоить программное обеспечение, которое вы рекомендуете.
@FrenchKheldar отмечает, что я должен упомянуть характеристики проблем, которые я хотел бы решить:
- Идеальный (идеальный) газ, однофазный
- сжимающийся
- Ламинарный поток имеет важное значение; турбулентный поток это плюс. (Я немного знаю о турбулентности из предыдущей работы по численным методам в CFD, но я не работал над решателями CFD; я просто немного разбираюсь в физике.)
- С формулировкой нулевого числа Маха все в порядке (меня не волнуют удары или сверхзвуковой поток)
- Химия горения, игнорируя потоки Соре и Дюфура и рассматривая диффузию как Фикиана
- Геометрия может быть чем-то простым
Я могу написать интерфейсный код, хотя чем меньше мне придется писать, тем лучше; @FrenchKheldar также указывает, что Cantera имеет привязки Fortran и Python. Я использую привязки Cantera Python прямо сейчас для быстрого создания прототипов, так что я тоже доволен ими.