Я работал над симуляцией SPH на C++ с графическим ускорением и начал сталкиваться с некоторыми проблемами. Симуляция основана на версии процессора, которую я создал некоторое время назад, поэтому большая часть математических вычислений фактически скопирована прямо из нее.
Когда я пробую свою симуляцию, они появляются в странных кластерах с большими группами вдоль нижнего и левого краев. Это приводит к тому, что частицы перекрываются и движутся вместе, действуя по одной и той же физике.
В левом нижнем углу в точке (0, 0) есть особенно странный кластер, который выбрасывает частицы с высокой скоростью.
Весь код находится здесь вместе со снимком экрана симуляции, когда я ее впервые запускаю: https://github.com/JimaBob/GPU-SPH.git
Все это относительно ненадежно, и моя настройка компиляции может легко подвергнуться изменениям. критика.
Я пытался это исправить некоторое время, но безуспешно. Приветствуются любые предложения, даже если они не связаны с проблемой.
Подробнее здесь: https://stackoverflow.com/questions/798 ... behaviours