Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Dissertation

.pdf
Скачиваний:
70
Добавлен:
13.05.2015
Размер:
5.41 Mб
Скачать

71

демонстрирует рисунок 142, где с помощью директив выделяются участки кода, которые будут выполняться параллельно.

Рисунок 14 - Общий принцип распараллеливания при помощи технологии

OpenMP

В MDOMP количество потоков параллельного региона для всех параллельных регионов остается постоянным и задается пользователем из соображений загруженности CPU.

Часто в применении техник параллельного программирования возникает проблема, связанная с совместным доступом с правом записи к одной и той же ячейке памяти компьютера разными потоками, которые выполняются параллельно. Такая ситуация возникает в циклах перебора по парам атомов, когда в теле цикла приходится рассчитывать характеристики для каждого атома пары (алгоритм 3).

2 Рисунок взят из [147]

72

Одним из решений такой проблемы в технологии OpenMP является применение опции #pragma omp atomic, которая обеспечивает доступ к данной ячейке памяти только одному потоку. В алгоритме 3 показан пример применения данной опции при вычислении электронной плотности в области расположения атомов. Вычисление электронной плотности производится в функции вычисления суммарных сил, действующих на атомы, и при вычислении энергии в рамках ЕАМ приближения. Однако применение данной опции может существенно снизить скорость вычислений. Другим решением является изменение алгоритма, его подстройка под OpenMP. В нашем случае изменение алгоритма может быть следующим. Изменение списка Верле должно быть таким, чтобы его применение в циклах for приводило к двойному учету каждой пары атомов

(алгоритм 4). То есть каждая пара атомов учитывается при этом два раза. В

случае компиляции программы без подключения технологии OpenMP или при работе параллельных регионов в 1 поток такое изменение алгоритма приведет к снижению скорости вычислений в (1,5-2) раза.

При создании программного комплекса были опробованы оба вышеописанных варианта. Тестирование проводилось на компьютере с процессором Intel(R) Core(TM)2 Quad CPU Q6600 (2,40 GHz) и ОЗУ 2,00 Gb.

При применении второго варианта с измененным списком Верле при количестве потоков, равном 4, наблюдалось двукратное увеличение скорости вычислений по сравнению с применением опции #pragma omp atomic,

поэтому в конечной версии реализован второй вариант.

73

//задание числа потоков для выполнения последующего цикла for omp_set_num_threads(NumOfThreads);

//начало параллельного участка кода

#pragma omp parallel for private(p,x,y,z,d2,at_j) for (intat_i=0; at_i < QnAt; at_i++)

{

p=1;

while (At_Neighb[at_i][p] != 0)

{

at_j = At_Neighb[at_i][p];

/* вычисление межатомного расстояния сучетом граничных условий */

x=coordinate[at_j][0]-coordinate[at_i][0]; if((fabs(x)>MaxRadCut)&&(BoundCondX)) x=PBC(x,0); y=coordinate[at_j][1]-coordinate[at_i][1]; if((fabs(y)>MaxRadCut)&&(BoundCondY)) y=PBC(y,1); z=coordinate[at_j][2]-coordinate[at_i][2]; if((fabs(z)>MaxRadCut)&&(BoundCondZ)) z=PBC(z,2);

d2 = (x*x + y*y + z*z); if (d2 < MaxRadCut2)

{

#pragma omp atomic

AtDensity[at_i] += DensityFunction(d2,sort[at_j]); #pragma omp atomic

AtDensity[at_j] += DensityFunction(d2,sort[at_i]);

}

p++;

}

}

Алгоритм 3 - Пример применения опции #pragma omp atomic

74

//At_NeighbTotal содержит в 2 раза больше элементов по сравнениюAt_Neighb

//задание числа потоков для выполнения последующего цикла for omp_set_num_threads(NumOfThreads);

//начало параллельного участка кода

#pragma omp parallel for private(p,x,y,z,d, d2,at_j) for (intat_i=0; at_i < QnAt; at_i++)

{

p=1;

while (At_NeighbTotal[at_i][p] != 0)

{

at_j = At_NeighbTotal[at_i][p]; x=coordinate[at_j][0]-coordinate[at_i][0]; if((fabs(x)>MaxRadCut)&&(BoundCondX)) x=PBC(x,0); y=coordinate[at_j][1]-coordinate[at_i][1]; if((fabs(y)>MaxRadCut)&&(BoundCondY)) y=PBC(y,1); z=coordinate[at_j][2]-coordinate[at_i][2]; if((fabs(z)>MaxRadCut)&&(BoundCondZ)) z=PBC(z,2);

d2 = (x*x + y*y + z*z); if (d2 < MaxRadCut2)

{

d = sqrt(d2);

AtDensity[at_i] += DensityFunction(d,sort[at_j]);

}

p++;

}

}

Алгоритм 4 - Массив с номерами соседей At_NeighbTotal[at_i] содержит в два раза больше элементов по сравнению с At_Neighb[at_i] (см. Алгоритм 3)

75

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

Компиляция исполняемых файлов программного комплекса проводилась при помощи компилятора Intel C++ Professional Edition 11.1 для операционных систем семейства MS Windows. При компиляции применялись опции /fast и /Qopenmp. Эффективность распараллеливания можно оценить из рисунка 15, где приведены зависимости скорости МД-

расчета от числа ядер 4-ядерного CPU, задействованных в расчете.

Приведены зависимости для двух кристаллических систем, содержащих

432 000 и 864 000 атомов, а также скорости вычислений программным пакетом LAMMPS.

в секунду

4

 

 

 

3.5

 

432 000 атомов

 

 

 

 

 

 

 

 

шагов

3

 

 

 

2.5

 

 

 

МД-

 

 

 

 

 

864 000 атомов

 

,

 

 

 

расчета

2

 

 

 

 

 

1.5

 

 

 

Скорость

1

 

 

 

0.5

2

3

4

 

1

 

 

Число ядер CPU, задействованных в расчете

 

 

 

– LAMMPS, 432 000 и 864 000 атомов

 

Рисунок 15 - Скорость МД-расчета в зависимости от числа задействованных ядер многоядерного CPU

76

2.2.3.4. Тестовые расчеты

Результаты, полученные с помощью программы MDOMP, находятся в хорошем согласии с результатами, полученными с помощью программы

LAMMPS. Результаты моделирования, представленные на рисунке 9,

дополнены результатами, полученными с помощью программы MDOMP, и

приводятся на рисунке 16. Диаграммы деформации, полученные с помощью программ LAMMPS и MDOMP при растяжении идеального кристалла в форме куба со стороной 20 параметров решетки с применением потенциалов

[64], представлены на рисунке 17. Более подробно параметры вычислительных экспериментов по расчету диаграмм деформации описаны в разделе 3.1.1. Из рисунка 17 следует хорошее согласие результатов,

полученных с применением различных программных комплексов.

Большинство выполненных расчетов, о которых речь пойдет ниже,

проводились двумя программными комплексами – MDOMP, разработанном в рамках данной работы, и LAMMPS. Результаты расчетов, выполненных с применением упомянутых программных комплексов, идентичны.

Рисунок 16 - Рисунок 9, дополненный результатами, полученными при применении программного комплекса MDOMP

 

 

 

 

 

77

 

 

 

10

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

ГПа

6

 

 

 

 

 

 

 

Напряжение,

4

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

0

2

4

6

8

10

12

14

 

 

 

Относительнаядеформация,%

 

 

 

 

 

 

а)

 

 

 

10

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

ГПа

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Напряжение,

4

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

0

2

4

6

8

10

12

14

 

 

 

Относительнаядеформация,%

 

 

 

 

 

 

б)

 

 

 

 

 

 

а – MDOMP, б - LAMMPS

 

Рисунок 17 - Диаграммы деформации идеального кристалла ОЦК-Fe,

рассчитанные с применением различных программных комплексов

78

2.3.Выводы по главе 2

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

2Описывается процесс создания программного комплекса MDOMP.

Необходимость создания такого комплекса возникла из-за существенных разногласий между существующими программными пакетами. В MDOMP

для интегрирования уравнений движения реализован скоростной алгоритм Верле, для поддержания заданных температуры и давления – термостат и баростат Берендсена, комплекс поддерживает ЕАМ и ADP подходы к описанию межатомного взаимодействия, а также приближение парных потенциалов. Для снижения нагрузки на CPU реализован метод списка Верле, для построения которого применяется метод разбиения пространства на ячейки. Для ускорения расчетов применена технология OpenMP. Имеется возможность анализа результатов моделирования. Результаты тестовых расчетов с применением программ LAMMPS и MDOMP идентичны.

79

ГЛАВА 3. ИССЛЕДОВАНИЕ ВЛИЯНИЯ ВОДОРОДА НА

ПРОЧНОСТЬ И ПЛАСТИЧНОСТЬ КРИСТАЛЛОВ ЖЕЛЕЗА

В данной главе приводятся описания моделей и методик вычислительных экспериментов по моделированию влияния водорода на прочность и пластичность бездислокационных кристаллов Fe. Точность проведенных вычислительных экспериментов обеспечивается применением переменных двойной точности. Устойчивость обеспечивается применением

скоростного алгоритма Верле с шагом по времени

t (0,1-1,0) фс для

систем чистого Fe и t 0,1фс для систем Fe-H. Показано

[148], что

скоростной алгоритм Верле устойчив при условии

t 2/ max,

где max

максимальная частота колебаний атомов в системе, которая составляет для ОЦК-Fe составляет ~1013 Гц [149]. Также в данной главе приводятся обсуждения полученных результатов.

Результаты диссертационной работы, описанные в данной главе,

опубликованы в работах [150 - 159].

3.1.Исследование деформированных состояний в кристаллах α-Fe

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

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

80

3.1.1. Описание модели и методики вычислительного эксперимента

Для проведения расчетов по моделированию деформированных состояний вдоль направления <001> сформированы следующие системы.

1 Идеальный кристалл ОЦК-железа размером 15×15×15 в числах параметра решетки вдоль каждого направления трехмерной прямоугольной декартовой системы координат (рисунок 18, а).

Граничные условия: периодические по всем направлениям. Полное число частиц составляет 6750.

2Кристалл ОЦК-железа размером 15×15×15, в котором отсутствуют части плоскостей (001), то есть имеется объемный дефект кристаллического строения (рисунок 18, б). Граничные условия:

периодические по всем направлениям. Полное число частиц составляет 6390. При соблюдении периодических граничных условий

дефект имеет смысл протяженной поры.

Согласно данным работы [60], размер подобных моделей,

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

Расчеты для случая деформирования вдоль направления <001>

проведены по следующей схеме.

1Релаксация (оптимизация) систем в течение 10 000 МД-шагов методом молекулярной статики (на каждом МД-шаге производится обнуление скоростей частиц) для получения структуры с минимальной энергией

при T ~0K.

2 Нагрев

системы до

T 300K,

затем выдержка в течение (30 000-

50 000)

МД-шагов в

приближении статистического NPT-ансамбля

(N const,

P11 0MПа,

P22

0MПа, P33

0MПа,

T 300K).

Выдержка

необходима

для

достижения

системой

состояния

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]