问题标签 [lammps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CMake:使用相同的代码但具有不同的包含路径构建多个库
我有一个与 LAMMPS 接口的源代码。但是,出于本论坛范围之外的原因,我必须维护我的代码的两个工作版本,每个版本都与不同版本的 LAMMPS 兼容。因此,我需要从相同的代码编译两个库:每个库都针对相应的 LAMMPS 源代码进行了编译。我怎样才能在 CMake 中做到这一点?
那么问题来了,假设你有源代码a1.cpp, a2.cpp, ...., aN.cpp。所有这些源代码都包含来自另一个包的代码。但我想为每一轮编译使用不同的包含路径。
lammps - 如何在 Lampps 中创建二十面体簇?
我知道如何在 Lampps 中创建立方体、圆柱体和球体形状,但我不知道如何在 Lampps 中创建二十面体簇。有人知道吗?
networking - 将 nohup 用于 lammps 命令
我正在使用 MPICH2 并行运行的远程 Windows 机器上运行 Lammps,但有时,连接断开并且模拟退出。我使用了这个命令,但它不起作用:
它在没有“nohup”的情况下工作。
我在这里想念什么?
c++ - 使用 mpicxx 时由于 _noalias 导致 OpenMPI 构建失败
我尝试使用 11Aug17 的较新版本在我的部门机器上安装 lammps。但是,mpicxx 对以下行给出了错误:
我的同事告诉我是openmpi的问题。所以我尝试为我安装一个新的 openmpi。但是,我收到以下错误,告诉我 automake 没有像这样安装:
我没有任何 sudo 特权在这台奇怪的部门机器上做任何事情。
即使我尝试在部门机器上完成安装灯,我也想知道我是否可以完成大型粘合力场模型的运行。
opencl - 是否可以在 AMD Radeon 上安装 lammps gpu 包?
我一直在互联网上搜索这个答案,但找不到。问题是,我有一张 AMD (R9 380) 的显卡。根据我在 lammps 手册上阅读的内容,gpu 包仅适用于 NVIDIA 卡,因为 AMD 没有 cuda 内核。但他们也有一个 Makefile.linux_opencl,理论上,它可以与 AMD 卡一起使用。我试图安装这个 gpu 包 2 天没有成功......有人成功在 AMD 卡中安装了这个包吗?如果是这样,有什么问题?
lammps - 有没有办法将 lammp_file.data 转换为 Gromacs 文件(top 和 gro),如果没有,则转换为 CHARMM 文件(psf 和 pdb)?
我有一个 lammps_file.data,我需要将其转换为 Gromacs 文件(gro 和 top)来运行我的模拟。有谁知道如何做到这一点?另一种选择是从 lammps 转换为 charmm 文件(psf 和 pdb)。一旦我得到了 charmm 文件,我就可以使用 Topotools 来获取我需要的 gromacs 文件。
谢谢
shell - 使用多个并发 MPI LAMMPS 作业减慢速度
我正在使用 AMD 2990WX (Ubuntu 18.04) 运行 LAMMPS 模拟。
当我使用 mpirun 只运行一个 LAMMPS 作业时,如下所示。
我没有问题,模拟按照我的意愿进行。
但是当我运行下面的脚本时。每个 LAMMPS 作业几乎是单个 LAMMPS 作业的 3 倍。因此,我在并行环境中没有性能提升(因为 3 个作业的运行速度是单个作业的 1/3)
没有主机文件my_host
,它是一样的。主机文件如下:
我安装了 openmpi --with-cuda
, fftw--enable-shared
和 LAMMPS 几个包。
我已经尝试过 openmpi v1.8、v3.0、v4.0 和 fftw v3.3.8。RAM足够了,存储也足够了。我还检查了平均负载和核心使用情况。当我运行第二个脚本时,它们显示机器使用 24 个内核(或相应的负载)。sh first.sh
当我在单独的终端(即每个终端)中同时运行第一个脚本的副本时,会发生同样的问题。
我使用 bash 脚本有什么问题吗?mpirun
或者(或 LAMMPS)+ Ryzen是否存在任何已知问题?
更新
我已经测试了以下脚本:
结果显示如下:
我对 MPI 了解不多,但对我来说,它并没有显示出任何奇怪的地方。有什么问题吗?
physics - 如何解决 proc 0 上的错误:无法打开文件 tersoff.data (../read_data.cpp:1938)?
我刚开始使用灯泡,但在阅读 tersoff 时遇到了麻烦。数据。我该如何解决
我收到此错误
python - 仅读取文本文件的特定部分并将它们输出到不同的文本文件
我有一个大文本文件,其中包含以下内容:
共有 5 组 2000 行数据,我希望 python 读取和写入 5 个不同的文本文件。像这样的东西:
在线浏览我发现以下内容:从python中的大文本文件中高效读取部分
哪个问题与我的类似,但是,此功能我收到以下错误:
我相信这是因为我的输入文本文件在数据集之间有很多文本行。它也只接受一个间隔的行,而我希望我的脚本一次运行并提取所有包含数据的行。
我不知道修改此脚本是否是解决此问题的最佳方法,或者是否有更好的方法来实现我想要的目标。任何帮助表示赞赏!
python - 如何根据通过 Pandas 从 LAMMPS 输出文件导入的键合数据将原子细分为三个组?
我是编程和分子动力学模拟的新手。我正在使用 LAMMPS 来模拟物理气相沉积 (PVD) 过程并确定不同时间步长中原子之间的相互作用。
在我执行分子动力学模拟后,LAMMPS 为我提供了一个输出键文件,其中包含每个原子的记录(作为原子 ID)、它们的类型(与特定元素交互的数字)以及与这些特定原子键合的其他原子的信息. 典型的债券文件如下所示。
我的目标是通过考虑来自键输出文件的键合信息并计算每个时间步长的组数,根据它们的类型(如 Group1:Oxygen-Hydrogen-Hydrogen)在三组中对原子进行分类。我使用 pandas 并为每个时间步创建了一个数据框。
请参阅此示例,该示例说明了我对 3 个原子进行分组的算法。键列显示与其行中的原子键合在一起的不同原子(按原子 ID)。例如,通过使用该算法,我们可以将 [1,2,5] 和 [1,2,6] 分组,但不能将 [1,2,1] 分组,因为原子不能与自身建立键。此外,我们可以在分组后将这些原子 ID(第一列)转换为它们的原子类型(第二列),例如 [1,3,7] 到 [1,1,3]。
通过遵循上面提到的键,1)我可以成功地根据它们的 ID 对原子进行分组,2)将它们转换为它们的原子类型,以及3)分别计算每个时间步中存在多少个组。第一个while 循环(上图)计算每个时间步的组数,而第二个while 循环(下图)将每一行的原子(等于存在的每个原子 ID)与数据帧中不同行的相应键合原子分组。
尽管代码有效,但效率不高;
对于每个原子 ID,它只能迭代超过 4 个键原子(但是,模拟结果最多可以达到应该计算的 12 个键原子。)
该程序运行缓慢。(我使用超过 50000 个原子,计算每个时间步可能需要长达 88 分钟。)
你能推荐我一个更有效的方法吗?由于我是编程新手,我不知道是否有任何其他 Python 迭代工具或包可以适用于我的情况。我相信如果我可以用更少的代码行来执行这些操作(特别是如果我可以摆脱重复的if语句),它会更有效率。
谢谢你的时间。