Вычислительная гидродинамика (CFD) в картинках
От: Didro Россия home~pages
Дата: 06.05.07 21:36
Оценка:
Добрый день,

Задача:

Смоделировать движение потоков (вещества\энергии) в замкнутом пространстве. В замкнутом пространстве присутствуют динамические объекты, из-за которых движение потоков может изменяться.

Степень реалистичности посредственная. Приложение не инженерное, а обучающее (можно рассматривать как "стенд" для студенческих лабораторных работ). Т.е. не требуется детальное моделирование физ.процессов и т.д.(как, например, здесь).

Пример: движение газа в комнате, движение пучка частиц, распространение шума(звуковых волн), распространение тепла.

Понимаю, что в общем случае задача архисложная, поэтому рассматриваю такое моделирование больше как fake, нежели как попытку чего-то там реальное моделировать. Я посмотрел на существующие решения в области CFD(computational fluid dynamics) и, учитывая, что рассматриваю только Open Source\FreeWare решения под Windows ничего хорошего не нашел.

Для того чтобы обрисовать степень посредственности (не реалистичности) моделирования приведу пример библиотеки, которую мы выбрали для использования в этой же системе при моделировании частиц: Particle Systems API. Все что нам нужно – гравитация, аттракторы и столкновение частиц с объектами эта библиотеку предоставляет.

Теперь вот ищем способ решения задачи на таком же уровне реалистичности, но не для частиц, для потоков веществ. Конечно можно и поток вещества\энергии смоделировать с помощью частиц(и этой библиотеки), но хотелось бы все-таки получить именно непрерывный поток (визуализируемый как градиентная заливка некоторой области), а не как множество «шариков»-частиц.

Буду благодарен за любые мысли, советы,
Может кто-нибудь занимался подобными полу-fake-овыми задачами... или знает подходящий инструментарий.

Спасибо.

Ещё раз отмечу, что несмотря на такие "наукоёмкие" формулировки примеров, задача как раз состоит в том, чтобы максимально упростить моделирование, показав, так сказать, общее виденье процесса, не вдаваясь в его детали, возможно даже на каком-то уровне, можно вообще все выше названные примеры моделировать одинаково.

Вопрос в инструментарии.

p.s.
буду рад услышать критику по самой постановке задания.




Сейчас рассматриваем несколько вариантов решения

1. Моделировать потоки вещества на основе частиц(благо библиотека(Particle System API) для моделирования динамики частиц имеется)

2. Клеточные автоматы (в частности эта идея была озвучена и на RSDN'е — здесь
Автор: Рома Мик
Дата: 31.05.06
)

3. Подсмотреть алгоритмы у игроделов, в частности моделирование жидкостей является частым примером в т.н. GP GPU (General-Purpose computation on Graphics Processing Units) — www.gpgpu.org

4. Разобраться с простейшими численными алгоритмами, которые решают CFD(computational fluid dynamics) задачи. Насколько я понимаю (исходя в основном из общих соображений) эти алгоритмы лежат в области моделирования методом конечных элементов. Существуют ли какие-либо доступные(простые для понимания) библиотеки этих алгоримтов или другие инструметы, которые могли бы использоваться не-физиками. Т.е. это не CFX, Fluent, FlowVision, ANSYS. Поскольку это законченные не Open-Source комплексы, то толку от них для решения нашей задачи в нашем случае будет мало.

5. Найти что-то готовое и доработать. Из чего-то готового и opensource-нового пока нашли только RTFSS, проект безусловно красивый и интересный(судя по сайту). Но в работе не очень удобный — исходники комментированы на итальянском и документации нет. Модульность плохая(визуализатор частично впаян в решатель), поэтому пока продолжаем поиски решения.

Если кто-то имел опыт с чем-то из выше перечисленного или может предложить другие варианты, будем крайне признательны за советы.

Спасибо.
Это в некотором роде кросспостинг
Автор: Didro
Дата: 03.05.07
, поэтому извиняюсь.
Re: Вычислительная гидродинамика (CFD) в картинках
От: Аноним  
Дата: 07.05.07 05:39
Оценка:
Здравствуйте, Didro, Вы писали:

D>Добрый день,


D>Задача:


D>Смоделировать движение потоков (вещества\энергии) в замкнутом пространстве. В замкнутом пространстве присутствуют динамические объекты, из-за которых движение потоков может изменяться.


D>Степень реалистичности посредственная. Приложение не инженерное, а обучающее (можно рассматривать как "стенд" для студенческих лабораторных работ). Т.е. не требуется детальное моделирование физ.процессов и т.д.(как, например, здесь).



D>Спасибо.

D>Это в некотором роде кросспостинг
Автор: Didro
Дата: 03.05.07
, поэтому извиняюсь.


Возможен такой подход достаточно простой для понимания
Частное решение может быть найдено как линейная комбинация общих решений
В частности если есть система дифференциальных уравнений которую требуется решить
нужно найти функции которые обращают эту систему в тождество
Например для уравнений газовой динамики (несжимаемая невязкая жидкость)
такими базовыми решениями могут выступать источник-сток и вихрь и равномерный ветер
Далее имея конкретную задачу с граничными условиями надо распределить как-то базовые решения
Неизвестные коэффициенты перед ними находим используя граничные условия —
Для этого можно построить систему линейных уравнений — может получиться что-то типа метода
наименьших квадратов
Минимизироваться будет квадрат скалярного произведения вектора скорости на вектор нормали к поверхности
(непротекание)
Внимание система будет сингулярной det==0 (минимальное СЧ=0)
так что потребует специальной работы над собой
Простейший метод решения просто прибавте к диагонали небольшое число это сдвинет спектр матрицы вверх
Так как матрица положительно определена то решится гарантировано
Re: Вычислительная гидродинамика (CFD) в картинках
От: FDSC Россия vinj.ru блог
Дата: 07.05.07 08:59
Оценка:
Здравствуйте, Didro, Вы писали:


D>4. Разобраться с простейшими численными алгоритмами, которые решают CFD(computational fluid dynamics) задачи. Насколько я понимаю (исходя в основном из общих соображений) эти алгоритмы лежат в области моделирования методом конечных элементов. Существуют ли какие-либо доступные(простые для понимания) библиотеки этих алгоримтов или другие инструметы, которые могли бы использоваться не-физиками. Т.е. это не CFX, Fluent, FlowVision, ANSYS. Поскольку это законченные не Open-Source комплексы, то толку от них для решения нашей задачи в нашем случае будет мало.


Попробуйте найти нормальные дифференциальные уравения, описывающие вашу среду, и решить их стандартными методами (на основе Рунге-Кутты или преобразовав в систему не/линейных уравнений, используя разностные для первых производных). Скорее всего, это будет один из лёгких путей, его делают даже студенты самостоятельно.
Re: Вычислительная гидродинамика (CFD) в картинках
От: minorlogic Украина  
Дата: 07.05.07 15:46
Оценка:
Поищи разработчика Plasma Pong, он этим професионально занимается , есть демки.

http://www.plasmapong.com/
http://www.google.com/search?hl=en&q=Plasma+Pong
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Вычислительная гидродинамика (CFD) в картинках
От: Didro Россия home~pages
Дата: 07.05.07 17:11
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Поищи разработчика Plasma Pong, он этим професионально занимается , есть демки.


M>http://www.plasmapong.com/

M>http://www.google.com/search?hl=en&q=Plasma+Pong

Да, этот продукт тоже смотрели... он правда не opensource, зато через него вышли на Ichor, он уже с исходниками(для старой не GPU-based версии). Разбираемся.
Re[2]: Вычислительная гидродинамика (CFD) в картинках
От: Аноним  
Дата: 07.05.07 17:42
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Попробуйте найти нормальные дифференциальные уравения, описывающие вашу среду, и решить их стандартными методами (на основе Рунге-Кутты или преобразовав в систему не/линейных уравнений, используя разностные для первых производных). Скорее всего, это будет один из лёгких путей, его делают даже студенты самостоятельно.


Re[3]: Вычислительная гидродинамика (CFD) в картинках
От: FDSC Россия vinj.ru блог
Дата: 07.05.07 19:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, FDSC, Вы писали:


FDS>>Попробуйте найти нормальные дифференциальные уравения, описывающие вашу среду, и решить их стандартными методами (на основе Рунге-Кутты или преобразовав в систему не/линейных уравнений, используя разностные для первых производных). Скорее всего, это будет один из лёгких путей, его делают даже студенты самостоятельно.


А>


Чего смешного, сам видел. Всё получается.
Re[4]: Вычислительная гидродинамика (CFD) в картинках
От: Trean Беларусь http://axamit.com/
Дата: 07.05.07 21:25
Оценка: -1
Здравствуйте, FDSC, Вы писали:

FDS>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, FDSC, Вы писали:


FDS>>>Попробуйте найти нормальные дифференциальные уравения, описывающие вашу среду, и решить их стандартными методами (на основе Рунге-Кутты или преобразовав в систему не/линейных уравнений, используя разностные для первых производных). Скорее всего, это будет один из лёгких путей, его делают даже студенты самостоятельно.


А>>


FDS>Чего смешного, сам видел. Всё получается.


Уравнения Навье-Стокса?

"До сих пор решения этих уравнений найдены лишь в некоторых частных случаях. Решение уравнений в общем виде является одной из открытых проблем, за решение которых Математический институт Клэя назначил премию в 1 млн. долларов США."
Re[5]: Вычислительная гидродинамика (CFD) в картинках
От: Аноним  
Дата: 07.05.07 22:14
Оценка:
Здравствуйте, Trean, Вы писали:

FDS>>Чего смешного, сам видел. Всё получается.


T>Уравнения Навье-Стокса?


T>"До сих пор решения этих уравнений найдены лишь в некоторых частных случаях. Решение уравнений в общем виде является одной из открытых проблем, за решение которых Математический институт Клэя назначил премию в 1 млн. долларов США."


Ну лохи там в институте Клэя сидят
Не слышали про Рунге-Кутта...
Re[5]: Вычислительная гидродинамика (CFD) в картинках
От: FDSC Россия vinj.ru блог
Дата: 08.05.07 10:23
Оценка:
Здравствуйте, Trean, Вы писали:

T>Здравствуйте, FDSC, Вы писали:


FDS>>Здравствуйте, Аноним, Вы писали:


А>>>Здравствуйте, FDSC, Вы писали:


FDS>>>>Попробуйте найти нормальные дифференциальные уравения, описывающие вашу среду, и решить их стандартными методами (на основе Рунге-Кутты или преобразовав в систему не/линейных уравнений, используя разностные для первых производных). Скорее всего, это будет один из лёгких путей, его делают даже студенты самостоятельно.


А>>>


FDS>>Чего смешного, сам видел. Всё получается.


T>Уравнения Навье-Стокса?


Конкретно его решали не так давно мои друзья, учащиеся в Южной Корее

T>"До сих пор решения этих уравнений найдены лишь в некоторых частных случаях. Решение уравнений в общем виде является одной из открытых проблем, за решение которых Математический институт Клэя назначил премию в 1 млн. долларов США."


Решения, я так понимаю,нужны аналитические
Я вот занимаюсь решением нелинейных задач деформации стержней, там то же решения получены только в частных случаях, но численно никто не мешает решать.

Другое дело, что в гидродинамике правдоподобность решения получить сложнее, чем в стержнях, но там, вроде, оно особо и не нужно, это правдоподобие
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.