Python на самом деле был бы хорошим выбором, если бы вы писали все это с нуля. Но вам понадобится много фона, чтобы сделать это с нуля.
Связанное решение - сложная проблема.
Мне было указано, что вы используете пакет - FEniCS (спасибо, Свен). Мой оригинальный ответ нуждается в некоторой поправке. Я начну с нескольких вопросов о физике, а затем перейду к пакету.
Несжимаемое Навье-Стокса применяется к газообразному воздуху, если число Маха для воздуха при этой температуре меньше 0,1. Так ли это для вашей проблемы? Вероятно, это правда, но я подумал, что спросить.
Навье Стокс НЕ применяется к вашему твердому препятствию. Если вы смоделируете все это одной сеткой, как вы описываете тело? Это жидкость с высокой вязкостью? Это может сделать систему уравнений плохо обусловленной и трудной для решения. Это также повлияет на стабильный размер временного шага, если вы используете явную интеграцию.
Это постоянный поток или переходный процесс? (устойчивее легче) Является ли поток ламинарным или турбулентным? (ламинар легче)
Это теплопроводность в вашем твердом препятствии и конвекция в вашей жидкости. Жидкость будет иметь импульсные и тепловые граничные слои вдоль твердого препятствия на поверхности, которое должна решить ваша сетка. Вот где происходит важный теплообмен между твердым телом и жидкостью. Для этого потребуется тонкая сетка, локальная к твердой поверхности, чтобы разрешить переход от граничного условия к скорости и температуре дальнего поля. Вы учли это в своей сетке?
Мне кажется, что FEniCS использует конечные элементы, но я не вижу в документах ничего, что говорило бы мне о том, как вы должны соединить уравнения импульса и энергии.
Тебе придется рассказать намного больше, чтобы получить приличный совет здесь. Есть ли численные методы в физике Stackoverflow? Вам это понадобится.