ПрИМЕНЕНИЕ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ВЫЧИСЛЕНИЯ МАТРИЧНЫХ ЭЛЕМЕНТОВ, МОДЕЛИРУЮЩИХ МЕЖАТОМНОЕ ВЗАИМОДЕЙСТВИЕ В ОСЦИЛЛЯТОРНОМ БАЗИСЕ

Объединенный институт ядерных исследований, *****@***ru

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

Ключевые слова: параллельное программирование, С++, MPI, матричный элемент.

Введение

При решении квантово-механических задач часто возникает необходимость вычисления большого числа матричных элементов – нефакторизуемых двумерных интегралов. В данной работе для оптимизации расчета матричных элементов, моделирующих межатомное взаимодействие в осцилляторном базисе, используется параллельное программирование. Нами были разработаны программы Potential_MPI для расчетов на многопроцессорном кластере и Potential_PC для расчетов на персональном компьютере(ПК).

В обеих программах, Potential_MPI и Potential_PC, использовался метод Симпсона с  равномерной сеткой дискретизации (NЧN узлов).

    Программа Potential_PC написана на языке C++ [1] и отлажена на ПК(процессор Intel Celeron). Программа Potential_MPI написана на языке С++ с использованием библиотеки для параллельного программирования MPI [2] и отлажена на машине кластера ЛИТ ОИЯИ(12-ядерный процессор Xeon X5650).

Постановка задачи

В данной работе рассчитывались матричные элементы:

  (1)

где,- собственные функции одномерного гармонического осциллятора,

НЕ нашли? Не то? Что вы ищете?

- полином Эрмита,

- квантовые числа,

- размерный параметр, который задаётся частотой осциллятора .

Расчеты выполнены для потенциала взаимодействия , допускающего факторизацию двумерного интеграла (1) в произведение одномерных интегралов , а также для потенциалов , , не допускающих такую факторизацию.

Численный пример

Для случая , где , , , , интеграл (1) рассчитывается на прямоугольной сетке , с изменяющемся числом узлов и  .

где, .

Погрешность аппроксимации контролировалась по сходимости результатов на последовательности сгущающихся сеток. Результаты расчетов иллюстрируются табл. 1 и рис. 1.

В Таблице 1 N – количество узлов сетки дискретизации,  - время работы программы Potential_PC, - время работы программы Potential_MPI(1 ядро), - время работы программы Potential_MPI(12 ядер). Отношение демонстрирует нам закон Амдала[3]: обратно пропорциональную зависимость времени решения задачи числу процессоров. А отношение  показывает во сколько раз расчетное время программы Potentail_MPI(1 ядро) меньше времени работы программы Potential_PC. 

Таблица 1. Результаты работы программ Potential_PC и Potential_MPI

N

10000

15000

20000

40000

100000

235.718

951.54

1060.703

-

-

3.2

12.85

12.82

51.12

321.042

0.29

1.11

1.13

4.39

27.49

11.03

11.58

11.35

11.64

11.68

73.66

74.05

82.74

-

-


На Рис.1. кривая 1 core демонстрируется зависимость времени расчета программы Potential_MPI с одним процессором от количества узлов N, а кривая 12 cores показывает зависимость времени расчета программы Potential_MPI с двенадцатью процессорами от количества узлов N.

Рис. 1. Результаты работы программы Potential_MPI c одним и двенадцатью ядрами

Выводы

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

Литература

1.    Как программировать на С++. 3-е издание. Пер. с англ. – С.-П.: - Петербург», 2005. – стр.301-350.

2. араллельное программирование в MPI – 2-е изд., испр.-Новосибирск: Изд-во ИВМиМГ СО РАН, 2002.-стр.150-170.

3.аконы Амдала и Густавсона, 2007. - http://www. software. unn. ru/ccam/multicore/materials/arch/Ar07_speech. pdf

application of paralell programming for caLculation of matrix elements, modeling interatomic interaction in oscillator basis

Melezhyk A. V.

Join institute for nuclear research, *****@***ru

The aim of this work is demonstration of efficiency of paralell programing in problems of quantum mechanichs on example of obtaining the matrix elements, modeling interatomic interaction in oscilator basis.

Кеу words: paralell programming, C++, MPI, matrix element.