Редактирование: Общая схема численного эксперимента модели молекулярной динамики, использующей многочастичное взаимодействие.
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 8: | Строка 8: | ||
# Цикл по всем индексам (i) оригинальных частиц. С индексом i связана форма представления энергии при многочастичном взаимодействии: <math>E = \sum_{i = 1}^n E_i</math>. Слагаемое <math>E_i</math> зависит от координат частицы с индексом i, а также от координат близких к ней частиц, т.е. частиц, с которыми эта частица взаимодействует. Суммирование ведется по всем частицам одной ячейки периодичности. При этом близкими для каждой частицы могут являться частицы соседней ячейки. Поскольку частицы соседней ячейки являются копиями частиц рассматриваемой ячейки, то они ссылаются на оригинальные частицы. Этим достигается учет взаимодействия между ячейками периодичности (периодические граничные условия). | # Цикл по всем индексам (i) оригинальных частиц. С индексом i связана форма представления энергии при многочастичном взаимодействии: <math>E = \sum_{i = 1}^n E_i</math>. Слагаемое <math>E_i</math> зависит от координат частицы с индексом i, а также от координат близких к ней частиц, т.е. частиц, с которыми эта частица взаимодействует. Суммирование ведется по всем частицам одной ячейки периодичности. При этом близкими для каждой частицы могут являться частицы соседней ячейки. Поскольку частицы соседней ячейки являются копиями частиц рассматриваемой ячейки, то они ссылаются на оригинальные частицы. Этим достигается учет взаимодействия между ячейками периодичности (периодические граничные условия). | ||
# Внутри цикла по всем частицам, имеющим индекс i, следует расположить цикл по всем 27 подъячейкам, в которых могут находиться близкие частицы к i-ой частице и разместить указатели на близкие частицы в отдельный массив. Этот цикл на самом деле представляет собой три вложенных цикла по индексам трехмерного массива подъячеек с диапазоном изменения индексов, включающем в себя три значения, либо равных, либо отличающихся на единицу в большую или меньшую сторону от значения индексов подъячейки, содержащей i-ую частицу. Внутри этого цикла вызывается функция CalcStep(), которая может принадлежать классу Interaction, и которой передается ссылка на i-ую частицу и массив указателей на близкие к ней частицы. | # Внутри цикла по всем частицам, имеющим индекс i, следует расположить цикл по всем 27 подъячейкам, в которых могут находиться близкие частицы к i-ой частице и разместить указатели на близкие частицы в отдельный массив. Этот цикл на самом деле представляет собой три вложенных цикла по индексам трехмерного массива подъячеек с диапазоном изменения индексов, включающем в себя три значения, либо равных, либо отличающихся на единицу в большую или меньшую сторону от значения индексов подъячейки, содержащей i-ую частицу. Внутри этого цикла вызывается функция CalcStep(), которая может принадлежать классу Interaction, и которой передается ссылка на i-ую частицу и массив указателей на близкие к ней частицы. | ||
− | # Функция CalcStep(), в свою очередь, содержит два | + | # Функция CalcStep(), в свою очередь, содержит два вложеных цикла. Фнутри внешнего цикла (по индексам j) должно производиться изменение координат скорости частиц с индексами i и j, что обусловлено воздействием сил на шаге нтегрирования, вычисляемых как производная по вектору координат частиц i и j от слагаемого энергии многочастичного взаимодействия <math>E_i</math>. Индекс j принимает значения индексов соседних частиц к i-ой частице посредством найденного и переданного функции CalcStep() массива указателей на переменные класса Atom3D. Второй вложенный цикл (по индексам k) обусловлен формой слагаемого <math>E_i</math> многочастичного взаимодействия, точнее его зависимостью от углов между межатомными связями. В этом цикле происходит изменение координат скорости частиц с индексами i, j, k. Индекс k принимает значения из того же набора значений, что и индекс j, за исключением значения j (<math>k \neq j</math>). Во всех случаях изменение скорости происходит по ссылке на оригинальные частицы, в то время как среди соседних частиц (обозначенных j, k) могут быть и копии, находящиеся в соседней ячейке периодичности. |
# Изменение векторов координат частиц на данном шаге интегрирования по времени. | # Изменение векторов координат частиц на данном шаге интегрирования по времени. | ||
* Вывод результатов (координат, рассчитываемых величин). | * Вывод результатов (координат, рассчитываемых величин). |