Python中的三维立方体系统

时间:2013-11-09 16:59:54

标签: python physics

我是编程新手,正在寻找一种使用类似于简单立方晶格的Python创建三维系统的方法。这几乎是笛卡尔基础上的规则重复点阵列,其间距可以控制,并且每个格点/原子可以具有与其相关联的变量(例如能量)。

我正计划开发一种用于相分离的动态Ising模型。其中每个晶格点/原子具有根据其能量值切换位置与其相邻的概率。我一直在网格网上玩np.arange,我不知道如何朝着正确的方向前进。

那么如何在Python中创建一个简单的10x10x10立方点数组,其中每个点都可以有一个与之关联的变量?

1 个答案:

答案 0 :(得分:0)

好吧,如果您需要直观地表示此网格,这可能不是您将使用典型的python模块获得的功能。如果您不需要在视觉上表示它并且您知道需要表示多少电子/原子,您可以将每个原子/电子设为字典并存储其坐标,能量等。以下是一个示例:

    atom_one = {"energy":3.14159265, "coordinates":[3,5,8]}

或者(这就是我要做的)您可以将它们存储在列表中,并始终将某个变量存储在某个索引处。这是一个例子:

    atom_one = [3.14159265, [3,5,8]]

这使您可以更轻松地参考您的价值观,就我而言。至于使它们动态化,您可以通过循环每秒将x,y和z分别添加到坐标的方法来设置所有类型的斜率。虽然我不知道找到量子纠缠概率的确切方程,但如果它仅仅是插入能量值的问题,它应该相当容易编码。如果我对某些事情不清楚,请告诉我。希望这有帮助!

更新:重新阅读您的问题,并在meshgrid上看到有关np.arrange的信息。虽然我不能假装成为专家(或者甚至确切地知道它是什么)如果你想在视觉上代表它,你可以简单地在你的方法的末尾放置一个绘图函数,每秒循环一次,告诉它使用atom_one [1]作为坐标。如果你能给出一个你遇到麻烦的特定事情,我会很乐意帮助你。