Python中分子动力学的模拟

时间:2010-03-03 04:06:09

标签: python packages simulation physics kinematics

我正在寻找一个python包,我可以用来模拟非平衡情况下的分子动力学。我需要一种能够以主要动力学理论方式处理相当多分子的装置,并且可以处理存在固体表面的装置。关于表面,我需要能够创建任意形状并监测由分子作用产生的压力和其他变量。或者,如果我有能够处理它的分子,我可以自己添加表面部分。

有谁知道任何可能合适的套餐?

7 个答案:

答案 0 :(得分:4)

您考虑过SimPy了吗? SimPy是一个相当通用的离散事件仿真软件包,但可以切实满足您的需求。

更好的是Molecular Modelling ToolKit (MMTK)似乎更专业......

我没有使用过,但这听起来很有趣。 Python作为一种语言似乎在仿真软件中处于特权地位,人们可以依赖于所有常见逻辑的框架来编写模型的特定细节,例如调度,可视化,监控等。当使用与生物模型相称的代理计数时,这样的工具包的扩展程度如何(顺便说一句,“大”是多少?)

答案 1 :(得分:2)

Lampps和gromacs是两种众所周知的分子动力学代码。这些代码都有一些基于python的包装器东西,但我不确定包装器暴露了多少功能。他们可能无法对模拟给予足够的控制。

谷歌为“GromacsWrapper”或google为“lammps”和“pizza.py”

数字材料和ASE是两个分子动力学代码,它们暴露了许多功能,但是上次我看,它们都是相当专业的。它们可能不允许您使用您想要的力势

谷歌为“数字材料”和“康奈尔”或google为“ase”和dtu

MJV注意事项:普通MD代码一次只执行一个步骤,它们会在每个时间步长中移动所有粒子。大部分时间都花在计算每个原子上的总力量上。这涉及迭代一对相邻原子的列表。我认为最好的想法是在c ++或fortran中进行力计算和一些基础知识,然后在python中包装该功能。 (但是看看使用numpy矩阵可以获得多远可能会很有趣)

答案 2 :(得分:2)

以下程序可用于运行MD符号:

以下 Python包对于准备和分析MD轨迹非常有用:

答案 3 :(得分:1)

另一个通用模拟框架是我自己的GarlicSim。你可以试试。如果你认真的话,我可以帮你解决问题。

答案 4 :(得分:0)

我不知道这些程序是否具备您需要的所有功能但是kde程序中有avogadro,我认为它是可扩展的,因为它是开源的,你可以用它做任何事情。 http://www.kde-apps.org/content/show.php/Avogadro?content=59521

我的朋友非常先进和编程

答案 5 :(得分:0)

我是第二个MMTK,但是看看VMD,这是我所知道的最好的MD软件,并且是Python脚本化的(除了Tk之外)。有关示例和教程,请参阅this

答案 6 :(得分:0)

我建议使用分子动力学软件来运行像Gromacs这样的MD模拟。该软件针对该特定目的进行了高度优化。您也可以在GPU上运行,您将能够在更短的时间内运行更大的系统。

之后,您只使用生成的轨迹运行python包的分析。

mdtraj pmx