Исследование проблемы неинвариантности относительно поворота в методе частиц в ячейках (PIC) Выполнили: Агафонцев А.А. Веретельникова И.В. Руководитель: н.с. ИВМиМГ СО РАН, Киреев С.Е.
Цель работы Исследовать проблему неинвариантности относительно поворота в задаче моделирования самогравитирующего пылевого облака.
Решается задача: Используется PIC-метод: сетка частицы
Метод частиц в ячейках (PIC) 1. Лагранжев этап: осуществление сдвига частиц 2. Частица сетка: вычисление распределения плотности на сетке 3. Эйлеров этап: вычисление гравитационного потенциала (решение трехмерного уравнения Пуассона на сетке): ρ φ 4. Вычисление сил на сетке: Переход на Лагранжев этап.
Смотрим время, при котором плотность достигает некоторого порога.
ячеек по направлениюEPSчисло частицTAUшагмодельное время TAU1001,00E ,01650, ,00E ,05160,8 EPS1001,00E , ,00E ,01650,65 NP1001,00E ,01650, ,00E ,01650,65 Проверка правильности работы программы
Решение уравнения Пуассона с помощью быстрого преобразования Фурье (FFT) FFT R FFT 277 FFT – прямой метод, сложность порядка О(n*log(n)); является значительно более быстрым, чем методы Зейделя и Якоби.
fourie_7 fourie_27 Тест с шаром. Проверка на соответствие распределения потенциала аналитическому решению.
Исследование неинвариантности Базовый алгоритм 1.cетка частицы 2.частицы сетка 3.cетка 4.сетка Алгоритмы: Подпрограммы: 1.move_particles 2.density 3.poisson 4.force Алг 1Алг 2 Пуассон 7 точек Пуассон 27 точек
Выделяется 4-я гармоника, схема 27 точек. Выделяется 4-я гармоника, схема 7 точек. Тест с кругом для FFT
Сравнение графиков гармоник для различных алгоритмов решения задачи FFT, 7 точек FFT, 27 точек Первый алгоритм Второй алгоритм
Распараллеливание Использовали: многопоточную библиотеку FFTW OpenMP 7-точечная схема, FFT Threads1248 Time1279, , , ,0755 Speedup11, , , Efficiency, %10069, , ,
Threads1248 Time144, , , , Speedup11, , , Efficiency, %10083, , , Алгоритм 1
Threads1248 Time113,069356, , , Speedup11, , , Efficiency, %10099, , ,08106 Алгоритм 2
Выводы Схема решения уравнения Пуассона практически не влияет на неинвариантность. Этап перехода от сетки к частицам сильнее влияет на неинвариантность, чем этап вычисления распределения плотности (density).
Спасибо за внимание