Моделирование гидродинамических процессов (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
Просмотров: 6495 | Загрузок: 1 | Комментарии: 4 | Рейтинг: 5.0/3
Всего комментариев: 4
avatar
0
1
занятные проги!!))) было весело с ними поиграться))
ps
саму физику сам писал? или готовые библиотеки использовал?
и еще одно, у меня довольно мощная банка (amd 64x2 3ГГц ) оба ядра грузятся на 50%. на слабых компах эта прога не пойдет. надо оптимизировать
avatar
0
2
Спасибо! )
физику писал сам! сейчас думаю сделать полноценный физический движок, а также реализовать шарики и жидкость на CUDA (вычисление на видеокартах NVIDIA серии 8000 и выше)
все программы однопоточные, поэтому будут всегда занимать одно ядро (неохото париться с распараллеливанием)
насчет слабых компов - это дело относительное (у меня Intel Core Quad 8200, 4 гига, GTX260 tongue ).. программы будут работать на любых процессорах с SSE1 и видеокартах с минимальной поддержкой OpenGL (версии 1.1), то есть практически на всех машинах (не пойдет разве что на каких-нибудь "пентиумах2"). в крайнем случае, если уж сильно тормозит, можно уменьшить количество частиц!
насчет оптимизации... программа BlueWater оптимизирована (в смысле физика) практически до предела (с SPH, думаю, можно еще поковыряться)... даже на довольно слабом компе (целерон 2.2) среднее время расчета столкновений 10000 шариков 5-7 миллисекунд!! а если повысить упругость шариков - это время сократится раза в 2-3. так что единственный способ реально ускорить расчет - распараллелить для многоядерных процессоров.
avatar
0
3
да, потоки хорошая вещь, бесспорно!! я тоже шибко потоками не занимаюсь...хотя иногда бывает очень полезно. а как писал физику??? от чего отталкивался?
avatar
0
4
А что именно из физики интересует?
В "BlueWater" физика жидкости (считается довольно неточно - не учитывается вязкость), и есть взаимодействие со статическими объектами.
В FreeBalls_SPH я делал жидкость методом SPH (Smoothed Particle Hydrodynamics), еще есть динамические объекты..
avatar