linux+bellhop+arlpy

我在linux系统使用bellhop的python版本arlpy时,make install 运行成功后,并将其路径添加到环境变量,但是bellhop.exe并不能运行,arlpy也无法计算。我知道linux不能直接运行exe,那应该如何使用? 希望回复 谢谢!


在 Linux 系统中,exe 文件是 Windows 可执行文件的格式,不能直接在 Linux 中运行。如果你想在 Linux 中使用 Bellhop,你需要下载并安装适用于 Linux 的版本,并将其路径添加到环境变量中,这样就可以在终端中使用 Bellhop 命令了。

另外,如果你想使用 arlpy,你需要先安装好依赖库和环境,并确保你的 Python 版本与 arlpy 兼容。你可以使用 pip 安装 arlpy,然后在 Python 中导入 arlpy 模块即可开始计算。

估计你是下载了windows版本的,你要下载这个

img

1.下载https://files.pythonhosted.org/packages/49/f2/bdd325055529e6476788aad491b8b7e0e6ffae0505568cf2c7284475b214/arlpy-1.8.2.tar.gz 然后按照官方手册安装下 (如果你已经安装了掠过)
2.sudo apt install gfortran (如果你也安装了跳过)
3.下载http://oalib.hlsresearch.com/AcousticsToolbox/at_2023_5_18.zip  解压后,进入到at目录 cd at && make clean && make install

请参考一下这个,看对你是否有帮助

  1. 下载并安装Bellhop软件
    在Linux中使用Bellhop,您需要先下载并安装Bellhop软件。您可以从Bellhop官方网站下载压缩包,然后解压缩到您想要安装的目录中。解压后的目录会包含一个名为 bin 的子目录,其中包含Bellhop可执行文件。
  2. 将Bellhop可执行文件添加到系统路径中
    下一步是将Bellhop可执行文件的路径添加到系统路径中,这样您就可以从任何位置直接调用Bellhop可执行文件。要将Bellhop可执行文件的路径添加到系统路径中,请在终端中输入以下命令:
    export PATH=$PATH:/path_to_bellhop/bin
    请将 path_to_bellhop 替换为Bellhop的安装路径。
    如果您希望将这个路径添加到系统路径中永久生效,可以将上面的命令添加到 ~/.bashrc 文件中。在终端中输入以下命令:
    echo 'export PATH=$PATH:/path_to_bellhop/bin' >> ~/.bashrc
    同样请将 path_to_bellhop 替换为Bellhop的安装路径。
  3. 使用arlpy包进行声学计算
    安装Bellhop和将其路径添加到系统路径后,您可以使用Python中的arlpy包调用Bellhop进行声学计算。在调用arlpy的Bellhop类时,您需要指定Bellhop可执行文件的路径。例如,在使用arlpy的Bellhop类进行声学传播建模时,您可以使用以下代码:
    import arlpy
    bellhop = arlpy.bellhop.Bellhop('/path_to_bellhop/bin/bellhop')
    请将 path_to_bellhop 替换为Bellhop的安装路径。
    接下来,您可以在Python代码中使用Bellhop的功能进行计算了。

下载源码,然后用linux自带的gcc编译器进行编译,再安装。具体可以到github上下载源码。

基于new bing的编写:
在Linux中,可执行文件的后缀名为.out或者没有后缀名。因此,你需要将Windows平台下的bellhop.exe转化为可在Linux上运行的格式。可以使用Wine工具来实现这个转换。

Wine是一个允许在Linux系统上运行Windows应用程序的免费开源软件。你可以按照以下步骤将bellhop.exe转换为可以在Linux上运行的格式:

安装Wine工具。在Ubuntu上可以使用以下命令安装:

sudo apt install wine

给bellhop.exe添加可执行权限。在终端输入以下命令:

chmod +x bellhop.exe

使用Wine将bellhop.exe转换为可在Linux上运行的格式。在终端输入以下命令:

wine bellhop.exe -c

-c选项将bellhop.exe转换为Linux可执行格式并生成bellhop可执行文件。

将生成的bellhop可执行文件复制到一个路径并将该路径添加到环境变量中。

然后,你就可以在终端中输入bellhop来运行Bellhop程序了。

至于arlpy无法计算,可能是环境配置不正确,建议检查一下相关依赖库是否已经安装好,并且确认路径是否正确。

以下答案由GPT-4.5Plus大模型(语音)与博主A努力中.......共同编写:

在Linux系统下,不能直接运行bellhop.exe可执行文件。bellhop是一个Fortran编写的可执行程序,需要通过以下步骤在Linux下使用:

  1. 安装Fortran编译器
    在Linux下编译和运行Fortran程序需要安装Fortran编译器,常用的有gfortran和ifort。您可以通过以下命令安装:
bash
sudo apt-get install gfortran  # Ubuntu/Debian
sudo yum install gcc-gfortran # RedHat/CentOS

  1. 编译bellhop源代码
    下载bellhop的源代码,然后使用Fortran编译器编译:
bash
gfortran -o bellhop bellhop.f90 

这会生成bellhop可执行文件。
3. 添加bellhop路径至环境变量
将bellhop可执行文件所在路径添加至PATH环境变量,方便在任意目录调用:

bash 
export PATH=$PATH:/path/to/bellhop

  1. 运行bellhop和arlpy
    可以在命令行运行bellhop和arlpy,例如:
bash
bellhop input.txt  # 运行bellhop
python arlpy.py     # 运行arlpy调用bellhop

arlpy作为bellhop的Python接口,需要bellhop可执行文件在PATH路径中才能调用成功。

所以,在Linux下使用bellhop的关键在于:

  1. 安装Fortran编译器如gfortran
  2. 使用Fortran编译器编译bellhop源代码生成可执行文件
  3. 将bellhop添加至PATH环境变量
  4. 通过命令行运行bellhop和arlpy