【问题标题】:Simulation of molecular dynamics in PythonPython中的分子动力学模拟
【发布时间】:2011-01-23 01:03:50
【问题描述】:

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

有谁知道任何可能适合的软件包?

【问题讨论】:

  • 这用于模拟表面周围的气体流动,而不是用于生物学。基本上是在系统中寻找各种表面和其他分子的弹性碰撞,以查看表面的存在对流动有什么影响。不平衡,因为表面的不同侧面处于不同的温度、压力等。
  • 还有流动对表面的影响,如果气体给它们足够的冲击力,表面可能会移动。

标签: python packages simulation physics kinematics


【解决方案1】:

以下程序可用于运行 MD 模拟:

以下 Python 包可用于准备和分析 MD 轨迹:

【讨论】:

    【解决方案2】:

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

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

    mdtraj pmx

    【讨论】:

      【解决方案3】:

      另一个通用模拟框架是我自己的GarlicSim。你可以试试。如果你是认真的,我可以帮你搞定一个 simpack。

      【讨论】:

        【解决方案4】:

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

        谷歌搜索“GromacsWrapper”或谷歌搜索“lammps”和“pizza.py”

        数字材料和 ASE 是两种分子动力学代码,具有很多功能,但我上次查看时,它们都相当专业。他们可能不允许你使用你想要的力量潜力

        谷歌搜索“数字材料”和“康奈尔”或谷歌搜索“ase”和 dtu

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

        【讨论】:

          【解决方案5】:

          我第二次使用 MMTK,但请看一下 VMD,这是我所知道的最好的 MD 软件,并且是 Python 可编写脚本的(除了 Tk)。有关示例和教程,请参阅 this

          【讨论】:

          • VMD 更适用于生物系统。我已经澄清了我在寻找什么。
          • VMD 是可视化包,不是模拟包。
          • @JoshAdel 严格来说,VMD 有 NAMD(负责 MD)的接口,它是 VMD 的默认扩展。
          【解决方案6】:

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

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

          我都没有使用过,但这听起来很有趣。 Python 作为一门语言,似乎在模拟软件中处于优势地位,人们可以通过脚本编写模型的具体细节,同时依赖于所有常见逻辑的框架,例如调度、可视化、监控等。当提供与生物学模型相称的代理数量时,此类工具包的扩展性如何(顺便说一句,这有多“大”?)

          【讨论】:

          • 生物制剂的数量充其量往往是数百万,但大规模的化学工程问题可能更大。
          【解决方案7】:

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

          我的一个朋友真的很先进和编程

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-05-17
            • 2018-03-23
            • 2011-10-20
            • 2020-04-26
            • 1970-01-01
            • 2010-11-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多