本文件对随机行走与扩散进行模拟
首先对单分子进行不同情况的随机漫步
其中
- 在随机漫步类(RandomWalk())的定义中通过 distance = 1 限制一个分子的步长一定,通过 direction = choice([1, -1]) 和 a = randint(1,3) 表示方向随机
- 在随机漫步类(RandomWalk())的定义中通过 distance = choice([0, 1, 2, 3, 4]) 使步长随机取0-4中的某个值
- 随机间隔在单分子模拟内不好表示,请参阅多分子模拟部分
然后是对多分子进行模拟
主要**为构建一个5000次的循环,一次循环代表一个分子的随机漫步过程,取漫步后的最终位置,即得到5000个分子在某个时刻的分布状态
其中
- 碰撞间隔一定:设置为在总时间内每个分子完成50000次碰撞
- 碰撞间隔随机:设置为总时间内每个分子完成的碰撞次数在500次到50000次取一个随机的值作为碰撞次数
- ONE_rw_1.py —— 模拟一个分子步长一定,方向随机情况下的随机漫步
- ONE_rw_2.py —— 模拟一个分子步长随机,方向随机情况下的随机漫步
- rw_1.py —— 模拟大量分子(统计意义上)的随机漫步,假设步长固定,方向随机
- rw_2.py —— 模拟大量分子(统计意义上)的随机漫步,假设步长随机,方向随机
- rw_3.py —— 模拟大量分子(统计意义上)的随机漫步,假设步长随机,方向随机,碰撞间隔随机
单分子随机漫步
- ONE_rw_1.png —— 模拟一个分子步长一定,方向随机情况下的随机漫步
- ONE_rw_2.png —— 模拟一个分子步长随机,方向随机情况下的随机漫步
多分子随机漫步
- rw_1.png —— 模拟大量分子(统计意义上)的随机漫步,假设步长固定,方向随机
- rw_2.png —— 模拟大量分子(统计意义上)的随机漫步,假设步长随机,方向随机
- rw_3.png —— 模拟大量分子(统计意义上)的随机漫步,假设步长随机,方向随机,碰撞间隔随机
多分子统计分布
- rw_1_distribution.png —— rw_1情况的距离分布
- rw_1_distribution.png —— rw_2情况的距离分布
- rw_1_distribution.png —— rw_3情况的距离分布