问题标签 [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.

0 投票
5 回答
34666 浏览

python - python用CDLL加载c lib,在python路径中看不到库

我正在尝试让一些开源学术代码工作(项目主页在这里)。它是一个大型 C++ 代码库,带有一个(非常)薄的 Python 包装器,用于CDLL加载 C++ 并调用一些可用于允许代码的原始 Python 脚本编写的 C 函数。

但是,初始导入代码会崩溃,因为它在站点包中找不到位于其旁边的 .so 文件:

在安装的文件中:

并在脚本或解释器中:

其他答案似乎已经涵盖了这一点,但这仅CDLL()在实际调用的脚本(或运行解释器的提示的工作目录)中调用时才有效 - 即如果“相对路径”在用户空间中,而不是python库空间。

我们如何可靠地安装以导入我们自己构建的 C/C++ 库?没有污染系统库位置/usr/lib,比如不是很pythonic,我看不到一个简单的解决方案。

(编辑:更正的函数名称,不清楚的重构无济于事!对不起!)

0 投票
1 回答
4006 浏览

microsoft-dynamics - LAMMPS 错误 - 对系数的参数不正确

只有一种原子类型,我使用了:

但我不断收到错误消息:对系数的参数不正确。我也确信潜在文件的路径是正确的。我怎样才能解决这个问题?

0 投票
1 回答
480 浏览

cmake - 包和库管理和安装,以及与 cmake 的接口

我有一个具体问题,可以作为更一般问题的背景。

有一个名为 LAMMPS 的科学包,它通常用作可执行文件。但是,它支持用作“库”。为了尝试做正确的事情,我把它放在 /usr/local/lib/lammps 中。它包含一个 lammps/src/ 目录,其中包含大约 40 个源文件。使用提供的说明,我将 lammps 编译为 lammps/src/liblammps_serial.so 中的 .so 文件。

我在“~/code/ljtube/”中也有单独的代码。这使用 cmake 来尝试查找库。因此,我写了一个 FindLAMMPS.txt 以便我可以使用

在我的 CMakeLists 中。我修改了 libtool 配置文件以在 /usr/local/ 中搜索成功。我发现它在 /usr/local/lib/ 中搜索 .so 文件,在 /usr/local/include/ 中搜索 .h 文件。所以我在/usr/local/lib/ 中创建了一个.so 文件的动态链接,并将.h 文件从lammps/src/ 复制到/usr/local/include/。

CMake 现在可以找到这两个文件,但它无法链接到 lammps/src/ 中的任何其他文件。需要为我想要包含的每个 .h (group.h、fix.h、force.h、pair.h 等)创建一个单独的 FIND_PACKAGE 似乎很荒谬。将整个 .h 文件包转储到 /usr/local/include/ 目录中似乎也很荒谬。我将在本地和集群上使用此代码,并可能将其分发给其他组成员。

如何让 CMake 在 /usr/local/lib/lammps/src/ 的位置没有硬编码的情况下找到我想要找到的内容?更笼统地说,我应该如何管理像这样的大包,以使它们在我编写的代码中易于链接,即使原始开发人员没有使用最佳约定?

(作为旁注,我使用共享库是因为它似乎是正确的选择,但我并不是特别喜欢它。我应该使用静态库吗?CMake 有没有办法找到已经编译的相对于当前源目录的库,这可能是实现这一点的更好方法吗?我知道我将在多个项目中使用 LAMMPS,因此从表面上看,拥有一个本地共享副本似乎是最有意义的。)

0 投票
0 回答
236 浏览

python - 无法在 Ubuntu 13.04 中将 Python 包裹在 LAMMPS 周围

我从官方网站下载了 LAMMPS tar-ball的8-Jan13Makefile.ubuntu版本,并从网站/教程下载了文件(http://katter-world.blogspot.hk/2010/05/install-lammps-在 ubuntu.html 上

执行make ubuntu后创建Obj_ubuntu/文件夹。我相信我已经能够成功安装它,因为我已经能够运行命令。甚至是mpiexec -np 2 lmp_ubuntu命令。

但是,我在将 Python 包裹起来时运气不佳。我已经学习了几个教程,并且尝试了不同的组合(在执行之后make clean-all),例如:

  1. make makeshlib

  2. make -f Makefile.shlib ubuntu/g++/serial(我也执行了没有-f参数的命令,但我得到了错误

make 1 : *** 没有规则来制作目标“shlib”。停止。

我尝试过的大多数事情都有一个错误,显然在 Python 中我收到以下错误:

OSError: 无法加载 LAMMPS 动态库

0 投票
1 回答
197 浏览

c++ - 类成员函数声明前的类关键字

我正在阅读LAMMPS(一个开源项目)中的文件,并遇到了这行语法

在一个.h文件(Modify.h)中的一个类声明。我的问题是:为什么要在看起来像成员函数的前面添加关键字 class?这个语法是什么意思?

0 投票
2 回答
867 浏览

c++ - 如何调试从 gdb 中的脚本获取输入的 C++ 程序

背景信息:C++ 程序(LAMMPS - 一个开源)接受一个输入脚本,其中包含所有要执行的命令。可执行文件名为“lmp_fedora”,输入脚本名为“in.hit”。程序的运行命令“./lmp_fedora < in.hit”

我的问题:我正在尝试调试 LAMMPS 中的 .cpp 文件之一。

我的尝试: 1. 我尝试了“gdb lmp_fedora < in.hit”,但它失败了。2. 还尝试使用 ps aux 查找正在运行的程序的 pid,但不确定它是哪个 id。

我的问题:如何使用 gdb 调试输入脚本(具有链接到 c++ 项目的命令)?

0 投票
0 回答
1119 浏览

lammps - Lampps 的应力和应变曲线

我想尝试用 Lampps 绘制铜纳米粒子的应力和应变曲线。这是我的代码。我不知道这是否正确。有谁能够帮我?它有fix nve放松,但在此之前有fix nvt,这两个fix不能在一起。

0 投票
1 回答
843 浏览

linux - LAMMPS 用于 GPU 错误 - /usr/bin/ld: 在使用 make 命令制作时找不到 -lmpi_stubs

我正在尝试在 gpu 中安装 LAMMPS。按照http://lammps.sandia.gov/doc/accelerate_gpu.html中给出的步骤后,我完成了步骤 (a) 并获得了文件 - libgpu.a 和 Makefile.lammps。

当我尝试继续第二步(在 make yes-gpu 之后进行串行)时,我收到一条错误消息 - /usr/bin/ld: cannot find -lmpi_stubs

0 投票
1 回答
981 浏览

python - 类型错误:不支持的操作数类型 -: 'str' 和 'int'

我想将 pmma85compositedata.initeq 转换为 lammps 可接受的数据文件,但我遇到了这个错误:

错误:

0 投票
2 回答
931 浏览

macos - Homebrew 安装后从命令行调用 LAMMPS

我正在尝试从终端(OSX)调用 LAMMPS 包。

这里的文档似乎表明在 Mac OSX 下它会“正常工作”,在这里他们使用以下命令与库交互

我通过这个简约文档安装了带有自制软件的脚本,并且我检查了安装是否正确。我觉得这是更熟悉自制程序安装的人可能能够快速回答的问题