为 C 寻找分子动力学可视化库

计算科学 模拟 可视化 分子动力学 C
2021-12-18 21:02:22

我在 stackoverflow 上问了这个问题,并为此受到了抨击。我目前正在使用我的大学使用的用 C 语言编写的遗留 MD 代码,并且还没有迁移到像 OpenMM 或 mdcore 这样的更现代的库(尽管我非常想这样做)。现在,我们的可视化程序已经过时了,我开始需要更高级的东西来制作我的模拟电影。

我们使用的当前可视化“库”是通过“glew”组合 OpenGL 基元,它是 X 扩展。我经常合作的研究人员负责可视化例程,但这是我的问题:

是否有一个更新的、“易于使用”的可视化库,我可以链接到人们可以推荐的?我真的需要它来显示 3D 模拟电影,并且能够改变视角、显示多个视角等,这将是很棒的。后处理也很好,因为我写出了包含模拟中所有对象的位置信息的二进制文件。其他人在分子动力学模拟中使用什么,而您拥有的不仅仅是球体?在当前的化身中,我有球体、圆柱体、波浪线等。

4个回答

你看过VMD吗?

我很久以前就用它从模拟快照中制作电影。在那个时候,它可以读取一系列 PDB 文件,渲染它们(或生成POV-Ray脚本来对它们进行光线追踪),并将它们存储为单独的图像。然后我用来mencoder从静止图像中生成 MPEG-4 文件。那是那些日子。

从那以后我就没有使用过 VMD,但我只能想象它已经变得非常非常好。虽然它与NAMD密切相关,但如果您自己的模拟可以生成 PDB 文件,那么应该没有什么可以阻止您使用它。

佩德罗的答案是我的。但是,如果您想自己管理球和棍子,VTK是用于此类事物的现代库。

通常我使用VMDVESTA但是你也有像AvogadroMolden这样的软件。由于我使用 VASP 来模拟固体,我更喜欢 VMD 来可视化“分子动力学电影”。

这些电影的一个非常简单的格式是 XDATCAR,一个例子可以在这里找到。最后 3 个块(共 13 行)表示电影中的 3 个帧,在这些块之前,您可以找到晶格常数3 个 Bravais 晶格向量(3x3 矩阵)的 3 个分量、原子种类每个种类的原子数。