LINUX.ORG.RU

Моделирование броуновского движения в гравитационном поле

 , , , ,


0

1

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

[?][?][?]
[?][*][?]
[?][?][?]
и вероятность каждого шага равна 1/8. Если при попытке пойти куда-то частица упирается в стенку, она остается неподвижной на этом шаге симуляции. Гравитация симулируется так: каждый N-тый шаг частица идет на клетку вниз.
[ ][ ][ ]
[ ][*][ ]
[ ][.][ ]
Если внизу есть пол - остается неподвижной,

Загрузил я в этот симулятор шахматного короля такую вот «карту» https://i.imgur.com/u9nnDCS.png c начальными координатами x=3, y=250 (это получается левый нижний угол):

0
 +-----> (x)
 |
 |
 |
 V

(y)
и потом попробовал посмотреть на то, где обычно оказывается координата частицы после длительной симуляции. И вот получается такая картина https://i.imgur.com/NUXtBCo.png

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

[#][ ][#][?][#][ ][#]...
[#][ ][#][*][#][ ][#]...
[#][ ][#][?][#][ ][#]...
то идти она может только вверх и вниз, с вероятностью 1/8 вверх, и 1/8 вниз, 6/8 вероятность что она стоит на месте, но при этом гравитация ее толкает вниз, и получается так, что в этих решетках частица опускается быстрее, чем это происходит в пустом пространстве. А насколько это применимо к динамике движения реальных молекул газа или частиц в каких-нибудь коллоидах? Если сделать решетку из каких-нибудь нанотрубок достаточно большого диаметра, и в них залетают молекулы газа, они там тоже будут быстрее падать, чем без них?

Исходники программы могу выложить, если она кому-то интересна.

★★★★★

Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от AntonI

Кроме того есть взаимодействие частицы со стенками трубки, Вы его не учитываете.

Каким образом его учитывать при моделировании? Моделировать каждый отдельный атом в этой нанотрубке, методом молекулярной динамики?

SZT ★★★★★
() автор топика
Последнее исправление: SZT (всего исправлений: 1)
Ответ на: комментарий от SZT

В общем пока склоняюсь к версии, что надо взять некий пакет для молекулярной динамики (GROMACS например) и как-нибудь его запатчить, чтобы частица немного падала на каждом шаге.

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

SZT ★★★★★
() автор топика
Последнее исправление: SZT (всего исправлений: 2)
Ответ на: комментарий от SZT

Каким образом его учитывать при моделировании? Моделировать каждый отдельный атом в этой нанотрубке, методом молекулярной динамики?

А это зависит от потенциала взаимодействия со стенкой. В терминах клеточного автомата, энергия в пристеночной клетке будет отличаться от энергии в клетке которая не граничит со стенкой

AntonI ★★★★★
()
Ответ на: комментарий от SZT

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

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

AntonI ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.