根据 Erwin Schrodinger(在什么是生命?)中,扩散可以完全用粒子的随机运动来解释。我想通过创建一个程序来测试这一点,该程序创建一个封闭容器中“气体分子”扩散的时间步长可视化。初始条件将有两个分区,一个具有低浓度,一个具有高浓度。在 t0 之后,隔板被移除,气体被允许扩散。我想使用的唯一机制是向每个分子添加位移随机向量。初始条件如下所示。
我不知道的部分问题是当分子撞击边界表面时如何创建简单的台球类型反射。我假设简单的对称反射(角度输入=边界处的角度)。我根本没有开始编写代码,因为我不知道如何处理这部分,而我知道如何完成其余部分。我知道这更像是一个数学问题,但是如何在 python 中创建这些边界条件?理想情况下,我希望自己编写这个功能以便我能理解它,而不是使用可以做到这一点的预构建包。对于任何给定的分子,这就是我正在寻找的东西。
最终,我真正需要的是:给定初始位置 (x1,y2)、向量幅度 v、角度 theta 以及盒子大小和位置,分子的最终静止位置是什么 (x2,y2)。