По заданию в колледже я сделал 1d симуляцию. Постановка задачи состояла в том, чтобы решить проблему 1-мерной ударной трубы, используя сжимаемый идеальный газ в качестве рабочей жидкости Для этой задачи я решил систему уравнений Эйлера с помощью решателя Римана Роу. Я хочу знать, чтобы решить уравнения Эйлера в 2 или 3 измерениях, с чего мне начать? Какую проблему с тестом я должен рассмотреть в первую очередь? (Пожалуйста, не предлагайте коммерческие решатели. Я хочу написать свой собственный код) Просто мне нужна помощь в написании собственного кода.
Каковы хорошие ресурсы, которые представляют двумерную проблему наиболее практичным способом?
fluid-dynamics
Subodh
источник
источник
Ответы:
Как предполагает Дэвид Кетчесон, книга Левека - отличный ресурс; однако, он, естественно, фокусируется на методах решения Римана, используемых в CLAWPACK. Альтернативой этим методам являются не колебательные центральные схемы (например, схемы Курганова и Тадмора ), которые просты в реализации и естественным образом распространяются на 2-D или 3-D (вместо использования разбиения по размерам). Есть открытый исходный код и большой ресурс статей на http://www.cscamm.umd.edu/centpack/ .
В статье Лиски и Вендроффа (SIAM Journal of Scientific Computing 25 (3), 2003, 995-1017) сравниваются различные схемы (как риманова, так и центральная) для уравнений Эйлера в 1-D и 2-D, и имеется количество тестовых задач, которые могут быть полезны.
источник
Да, двумерная задача более или менее становится решением одномерной задачи в направлении X, за которой следует одномерная задача в направлении Y. Структуры данных немного сложнее, матрица Роу должна быть скорректирована для проекции характеристики во втором направлении, а также должно быть изменено ваше условие КЛЛ.
Clawpack и, в частности, 2D-примеры Clawpack (http://depts.washington.edu/clawpack/users-4.6/claw/doc/gallery/gallery_2d.html) могут быть вам полезны, если вы хотите посмотреть чужой код ,
источник