Моделирование гидродинамических процессов (C/С++, OpenGL, GLUT) - Креатив - Портфолио - MariSoft.ru
Главная » Файлы » Креатив

Моделирование гидродинамических процессов (C/С++, OpenGL, GLUT)
01 Июль 2009, 00:17

Blue water physics

/hydrodynamics/bwp.rar

Программный комплекс моделирования гидродинамических процессов.







Возможности:
  • модель взаимодействия твердых шариков;
  • статическая геометрия методом SDM;
  • построение поверхности методом Marching Cubes;
  • 2D и 3D режимы.

Внимание! Для увеличения качества поверхности в 3D версии:

Для карт:
- Map_00_Sphere_boxes_monkey
- Map_01_tazik
Нужно выставить в файле конфига "config.ini":
    ; Разрешение сетки
    grid_res = 64
    ; Радиус частицы
    radius = 3

А для карт:
- Map_02_Hole_in_the_sky
- Map_03_Volcano
Нужно выставить в файле конфига "config.ini":
    ; Разрешение сетки
    grid_res = 96
    ; Радиус частицы
    radius = 3

А также, для карты "Map_03_Volcano" желательно устанавливать не более 3000 частиц (если больше - не то)

В ПРОГРАММЕ ЕСТЬ ОШИБКА (или не в программе, а в драйверах видеокарты): На машинах с видеокартой от NVIDIA (с последней версией драйверов) и многоядерным процессором программа падает с ошибкой. Для решения проблемы, в NVIDIA Control Panel, в разделе "Manage 3D settings" необходимо ОТКЛЮЧИТЬ настройку "Threaded optimiztion".



Blue Water Map Compiler

/hydrodynamics/mc.rar

Компилятор карт для "Blue water physics" (3D режим).

Для составления сценариев компилирования смотрите готовые примеры.



FreeBalls SPH

/hydrodynamics/fb_sph.rar
/hydrodynamics/fb_sph_src.rar

Демонстрационная программа, в которой реализованы модель жидкости методом SPH и физика твердых тел.



Все настройки программы с описанием в файле "config.ini"

P.S. Для компиляции исходных кодов необходимы заголовочные файлы: GLUT, GLEXT и WGLEXT



Авторы:


Категория: Креатив | Добавил: Freeman
Просмотров: 3532 | Загрузок: 1 | Комментарии: 4 | Рейтинг: 5.0/3
Всего комментариев: 4
4 Freeman   (05 Июль 2009 00:52)
А что именно из физики интересует?
В "BlueWater" физика жидкости (считается довольно неточно - не учитывается вязкость), и есть взаимодействие со статическими объектами.
В FreeBalls_SPH я делал жидкость методом SPH (Smoothed Particle Hydrodynamics), еще есть динамические объекты..
3 andrewka   (04 Июль 2009 22:13)
да, потоки хорошая вещь, бесспорно!! я тоже шибко потоками не занимаюсь...хотя иногда бывает очень полезно. а как писал физику??? от чего отталкивался?
2 Freeman   (01 Июль 2009 23:58)
Спасибо! )
физику писал сам! сейчас думаю сделать полноценный физический движок, а также реализовать шарики и жидкость на CUDA (вычисление на видеокартах NVIDIA серии 8000 и выше)
все программы однопоточные, поэтому будут всегда занимать одно ядро (неохото париться с распараллеливанием)
насчет слабых компов - это дело относительное (у меня Intel Core Quad 8200, 4 гига, GTX260 tongue ).. программы будут работать на любых процессорах с SSE1 и видеокартах с минимальной поддержкой OpenGL (версии 1.1), то есть практически на всех машинах (не пойдет разве что на каких-нибудь "пентиумах2"). в крайнем случае, если уж сильно тормозит, можно уменьшить количество частиц!
насчет оптимизации... программа BlueWater оптимизирована (в смысле физика) практически до предела (с SPH, думаю, можно еще поковыряться)... даже на довольно слабом компе (целерон 2.2) среднее время расчета столкновений 10000 шариков 5-7 миллисекунд!! а если повысить упругость шариков - это время сократится раза в 2-3. так что единственный способ реально ускорить расчет - распараллелить для многоядерных процессоров.
1 andrwka   (01 Июль 2009 23:30)
занятные проги!!))) было весело с ними поиграться))
ps
саму физику сам писал? или готовые библиотеки использовал?
и еще одно, у меня довольно мощная банка (amd 64x2 3ГГц ) оба ядра грузятся на 50%. на слабых компах эта прога не пойдет. надо оптимизировать
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]