我正在寻找一个 python 包,我可以用它来模拟非平衡情况下的分子动力学。我需要一个能够以主要动力学理论方式处理大量分子的设置,并且可以处理存在的固体表面。关于表面,我需要能够创建任意形状并监控由分子作用产生的压力和其他变量。或者,如果我有可以处理它的分子,我可以自己添加表面部分。
有谁知道任何可能合适的软件包?
我正在寻找一个 python 包,我可以用它来模拟非平衡情况下的分子动力学。我需要一个能够以主要动力学理论方式处理大量分子的设置,并且可以处理存在的固体表面。关于表面,我需要能够创建任意形状并监控由分子作用产生的压力和其他变量。或者,如果我有可以处理它的分子,我可以自己添加表面部分。
有谁知道任何可能合适的软件包?
你考虑过SimPy吗?SimPy 是一个相当通用的离散事件模拟包,但可以切实满足您的需求。
更好的是,分子建模工具包(MMTK)似乎更专业......
我都没用过,但这听起来很有趣。Python 作为一门语言,似乎在仿真软件中处于优势地位,人们可以通过脚本编写模型的具体细节,同时依赖于所有常见逻辑的框架,例如调度、可视化、监控等。当提供与生物学模型相称的代理数量时,这些工具包的扩展性如何(顺便说一句,那有多大?)
Lampps 和 gromacs 是两个众所周知的分子动力学代码。这些代码都有一些基于 python 的包装器的东西,但我不确定包装器暴露了多少功能。它们可能无法让您对模拟进行足够的控制。
谷歌搜索“GromacsWrapper”或搜索“lammps”和“pizza.py”
数字材料和 ASE 是两个具有很多功能的分子动力学代码,但我上次查看时,它们都相当专业。它们可能不允许您使用所需的力势
谷歌搜索“数字材料”和“康奈尔”或谷歌搜索“ase”和 dtu
注意 MJV:正常的 MD 代码一次采用一个时间步长,并且它们在每个时间步长中移动所有粒子。大部分时间都花在计算每个原子上的总力上。这涉及迭代相邻原子对的列表。我认为最好的想法是在 c++ 或 fortran 中进行力计算和更多基础知识,然后在 python 中包装该功能。(但看看使用 numpy 矩阵能走多远可能会很有趣)
另一个通用模拟框架是我自己的GarlicSim。你可以试试。如果你认真的话,我可以帮你搞定一个simpack。
我不知道这些程序是否具备您需要的所有功能,但 kde 程序中有 avogadro,我认为它是可扩展的,而且由于它是开源的,您可以用它做任何事情。http://www.kde-apps.org/content/show.php/Avogadro?content=59521
它真的很先进,是我的一个朋友编程的