Моделирование жидкости с использованием гидродинамики гладких частиц - PullRequest
0 голосов
/ 23 сентября 2011

На самом деле, я разрабатываю симулятор SPH с использованием C ++ и openGL.Есть несколько проблем, с которыми я столкнулся прямо сейчас:

Я создаю частицы инициирующей жидкости на одной стороне коробки (я делаю коробку как граничный объем), формирую их как коробку и даю им начальную скоростьравно нулю .Затем я запускаю основной цикл, альт, жидкости начинают двигаться, и здесь происходят странные явления.Жидкости начинают распространяться по всем направлениям.

Пожалуйста, посмотрите на картинку:

enter image description here http://i278.photobucket.com/albums/kk86/anggytrisnawan/Screenshot-UntitledWindow-2.png

Эта фотография сделана через несколько секунд от начала симуляции.Это кажется странным для меня.Вот параметр, который я использовал для моделирования:

#define H                   0.040   // Smoothing Length
#define Rho0            1000    // (kg/m^3) water particle rest density
#define Mass                    0.012       // (kg)
#define DT                  0.001       // time step
#define TotalParticles      5000        // total number of particle

Примечание: в настоящее время я еще не рассчитываю силу поверхностного натяжения.

решено: Моя ошибка здесь ... они перекрывают друг друга вначало .. так сила давления заставляет их распространяться ..

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Каковы значения граничных условий, т. Е. При каких числовых координатах находятся пределы ящика? Я предполагаю, что ваша симуляция уходит в определенном направлении из-за систематических ошибок округления.

Если я смотрю на картинку, у меня создается впечатление, что я смотрю вниз в направлении -Z, а левый нижний угол поля имеет значение (0, 0, 0) . Если это так, то ваша симуляция частиц не является консервативной, то есть имеет тенденцию толкать частицы к числовому 0, как если бы существовало силовое поле.

1 голос
/ 23 сентября 2011

Из предоставленного вами изображения кажется, что моделирование началось со всех частиц в одном углу.Поскольку частицы, по-видимому, должны иметь некоторый отталкивающий потенциал, чтобы не перекрывать друг друга, после начала симуляции это отталкивание заставит частицы разойтись.просто квалифицированное предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...