• Количество шагов 100 Размер сетки



  • страница3/21
    Дата11.07.2018
    Размер1.74 Mb.

    Разработка алгоритмов решения систем гиперболических уравнений на графических процессорах


    1   2   3   4   5   6   7   8   9   ...   21

    Реализация простейшей схемы.


    Для моделирования данной задачи в начале, был реализован последовательный алгоритм, который считал на CPU. Последовательный алгоритм необходим для 2-х основных целей:

    1. Сравнение расчетов, полученных с помощью CPU и с помощью GPU.

    2. Измерение ускорения.

    Для постпроцессинга и просмотров результатов расчета используется программа Paraview[2], которая позволяет визуализировать расчет и как результат, легко анализировать полученную информацию.

    Для численного решения данной задачи, можно воспользоваться схемой:



    (8)

    Но она не стабильна, если вместо , взять среднее значение на интервале, т.е. , то мы получим стабильную схему. Схема Лакса[3]:



    (9)

    Схема имеет первый порядок точности. При этом обладает свойством монотонности: при переходе от n к n+1 она сохраняет монотонный порядок решения.

    Для изучения стабильности схемы можно воспользоваться анализом Ньюмана[4]:

    (10)

    Тогда, при условии: , можно сказать, что схема является безусловно устойчивой, т.е. .



    Для моделирования 2-мерной задачи, можно воспользоваться последовательным применением 1-мерной схемы сразу по оси x, т.е. по строчкам, а потом по y, т.е. по столбцам. Это надо делать на каждом шаге по времени.

    (11)

    (12)

    Где - значение функции в точке , при проходе по строкам, аналогично для прохода по столбцам. В данном случаем, при проходе по строкам, остальные строки не имеют значения, аналогично для прохода по столбцам. В результате 2-х проходов, мы перейдем на новый шаг по времени.

    Константы в схеме были взяты следующими:


    c

    0.3

    τ

    0.1

    h

    1

    Характеристики сетки и количество шагов:

    Количество шагов

    100

    Размер сетки

    100x100

    Сетка немного специфичная, т.е. для того, чтобы протестировать саму схему, на предмет ее применимости и адекватности физическим явлениям, желательно было выбрать небольшую сетку, на которой, все же, можно было увидеть результат, даже через большое число шагов. На границах сетки выставлены периодические граничные условия. Т.е. правая граница копируется на левую, аналогично с верхней на нижнюю. Аналогично, если бы изначально движения возмущения было бы направлено в обратную сторону.

    Изначально скорости переноса в уравнении выбраны таким образом, что вектор направления движения возмущения направлен под , т.е. мы должны видеть что квадрат (начальное возмущение) перемещается по диагонали вверх, вправо.



    Вот результаты, которые получились при использовании такой, простейшей схемы:

    Рис. 3.1



    На Рис. 3 .1 изображено исходное возмущение. Карту цветов можно рассматривать таким образом, что синий – то место, где возмущения нет, красный – то место, где возмущение наибольшее.

    Рис. 3.2



    На Рис. 3 .2 изображено перемещение возмущения через 20 шагов. Из рисунка видно, что возмущение размывается.

    Рис. 3.3

    На Рис. 3 .3 показано возмущение через 80 шагов. Как видно из рисунка, возмущение уже очень сильно размыто.

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


    1   2   3   4   5   6   7   8   9   ...   21

    Коьрта
    Контакты

        Главная страница


    Разработка алгоритмов решения систем гиперболических уравнений на графических процессорах