Andrew Moa Blog Site

解决OpenMPI的"Authorization required, but no authorization protocol specified"错误提示

最近在用OpenFOAM和SU2提交计算时,反复出现"Authorization required, but no authorization protocol specified"报错信息。尽管不理会它最终还是能完成计算,但总是出现的报错信息让人心里不安。

怀疑是OpenMPI的问题,通过以下命令验证:

mpirun -np 2 hostname

果然出现报错信息:

9369ef647d5aff57821c1d728ec4eca1.png

翻阅网上信息,比较靠谱的解决方案是这个1:在Slurm脚本中增加以下环境变量:

export HWLOC_COMPONENTS=-gl

测试一下,报错问题解决了:

b3c56243fce578a837d01d68ab24e935.png

阅读时长1分钟
Andrew Moa

OpenFOAM编译安装cfmesh和ccm工具

1. 编译cfmesh

前期编译安装的是com版的OpenFOAM,版本号是v2412,没有附带cfmesh的源码。根据官方文档的提示,需要手动下载cfmesh的源码文件:

cd $WM_PROJECT_DIR
git submodule update --init --recursive plugins/cfmesh

出现以下错误:

fatal: 不是 git 仓库(或者任何父目录):.git

无语了,直接通过git下载源码到指定文件夹,文件夹和URL路径可以查看.gitmodules文件:

cd $WM_PROJECT_DIR
git clone https://develop.openfoam.com/Community/integration-cfmesh.git plugins/cfmesh

进入cfmesh文件夹,开始编译:

cd plugins/cfmesh
./Allwmake -jN # N替换成CPU核心数

运行pMesh,验证是否安装成功:

pMesh -help

2. 编译ccm工具

OpenFOAM的ccm工具包含ccmToFoam和foamToCcm,前者用于将STAR-CCM+输出的ccm格式网格转换成OpenFOAM的网格,后者相反。需要先编译安装第三方库libccmio:

cd $WM_THIRD_PARTY_DIR
# 下载libccmio
wget http://portal.nersc.gov/project/visit/third_party/libccmio-2.6.1.tar.gz
# 备选链接
# wget https://sourceforge.net/projects/foam-extend/files/ThirdParty/libccmio-2.6.1.tar.gz
tar xvzf libccmio-2.6.1.tar.gz	# 解压下载的压缩包
./makeCCMIO	# 运行libccmio的编译程序

接下来编译ccmToFoam:

# 先编译libccm
cd $WM_PROJECT_DIR/src/conversion/ccm
./Allwmake
# 然后编译ccmToFoam和foamToCcm
cd $WM_PROJECT_DIR/applications/utilities/mesh/conversion/ccm
./Allwmake

运行ccmToFoam,验证是否安装成功:

ccmToFoam -help

阅读时长1分钟
Andrew Moa

Ubuntu24.04安装Ansys2025R1

1. 准备工作

全部安装需要161GB磁盘空间,请确保磁盘剩余可用空间满足需求,可以根据自己需求选择安装内容。

e8b6a55779447694ef28a8a9560f2bab.png
3f912a7795844465627dc878eb409e95.png

安装过程中至少需要8GB内存,推荐内存16~32GB。

安装过程中的依赖工具:

sudo apt install libnsl2 libpcre3 lsb-* ldap-utils libunistring5 xfonts-100dpi xfonts-75dpi

其他运行时的依赖工具安装,请查询官方文档。

Ansys2025R1安装文件中包含9个.iso安装文件,用以下命令挂载.iso文件到指定路径:

mkdir ${HOME}/ISO/1
sudo mount ${HOME}/Share/Ansys/ANSYS2025R1_LINX64_DISK1.iso ${HOME}/ISO/1 -o loop

同样的办法,将剩下的安装包分别挂载至其他文件夹。

2. 安装许可证服务器

2.1 安装Ansys License Manager

由于Ansys安装需要用到图形界面,因此需要先通过远程连接进入Ubuntu桌面系统。

进入第一个安装包的挂载点,运行安装程序:

cd ${HOME}/ISO/1
sudo ./INSTALL # 由于需要以服务形式运行,建议以管理员用户权限运行安装程序

598ba0142449e130e1d6680aef25e2db.png

阅读时长2分钟
Andrew Moa