说明:FLOW-3D
是一款专门用于解决瞬态自由表面问题的高精度CFD
软件,详情可访问FLOW-3D官网;文章仅介绍flow3d
在HPC
集群上个人用户没有root
权限情况下的安装方法,安装包需自行下载。
安装参考:flow3d
解压后的V11.2/Crack/readme_linux.txt
。
一、解压
tar xzf flow3d-linux-V11.2.tar.gz
cd V11.2/
7z x FLOW-3D.11.2.LINUX64.iso -oFLOW-3D.11.2.LINUX64
说明:文件解压很耗时,可在win
解压,再上传到系统上,解压后目录中的iso
文件也可在win
挂载,上传到Linux
上。
二、安装
下面提供两种安装方式,可根据自身情况选择:
1. 命令行操作
由于没有root
权限,需要对安装脚本作如下修改:
# 注释root权限判断
sed -i '57,60s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
# 没有root权限,注释使用rpm,使用rmp2cpio
sed -i '590,612s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sed -i '634s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sed -i '647,661s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sed -i '675s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sed -i '687,701s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sed -i '714s/^/#/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
# 脚本中会返回“.” ,改为指定脚本所在目录的绝对路径
sed -i '5s/SCRIPTDIR="`dirname "$0"`"/SCRIPTDIR=$(dirname $(readlink -f $0))/' FLOW-3D.11.2.LINUX64/install-flow3d.sh
sh FLOW-3D.11.2.LINUX64/install-flow3d.sh
# 依次输入以下内容
> no
> yes
> /path/to/flow3d-install/
> 1
> yes
> 27025@127.0.0.1
> no
> no
2. 图示版操作
如果手动修改安装脚本,请vim
打开FLOW-3D.11.2.LINUX64/install-flow3d.sh
,将以下红框中的内容注释:
1)注释root权限判断;
2)没有root
权限,注释使用rpm
,将使用rmp2cpio
解压rmp
文件;
3)脚本中默认会返回“.” ,改为SCRIPTDIR=$(dirname $(readlink -f $0))
,指定脚本所在目录的绝对路径;
4)执行sh FLOW-3D.11.2.LINUX64/install-flow3d.sh
,按照下列图示操作:
到这里flow3d-11.2
基本就安装好了,下一步只需要打上补丁即可。
三、 Crack
解压FLOW.SCIENCE.FLOW-3D.11.2.LINUX64-SSQ.tar.xz
到flow3d
安装目录进行覆盖:
export FLOW3D_HOME=/path/to/flow3d-install
tar Jxf Crack/FLOW.SCIENCE.FLOW-3D.11.2.LINUX64-SSQ.tar.xz -C $FLOW3D_HOME
四、测试
拷贝$F3D_HOME/examples/boxcast/prepin.inp
到测试目录,使用以下脚本提交:
#!/bin/bash
#SBATCH -p partion
#SBATCH -N 1
# flow3d环境
export F3D_HOME=$FLOW3D_ROOT
export F3D_VERSION=double
ulimit -s unlimited
export FLEXLM_TIMEOUT=30000
export F3D_HELP=/usr/bin/firefox
export PATH=$F3D_HOME/local:$PATH
export PATH=$F3D_HOME/gui:$PATH
export LD_LIBRARY_PATH=$F3D_HOME/gui/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$F3D_HOME/gui/lib/qt:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$F3D_HOME/gui/lib/ifort:$LD_LIBRARY_PATH
export PATH=$F3D_HOME/licenses:$PATH
export LICENSE=$F3D_HOME/licenses/flow3d.lic
# 检查license是否启动,如果没有则启动license
if ! lmstat -c $LICENSE | grep "license server UP"; then
lmgrd -c $LICENSE &
#再次检查license是否启动,未启动则退出
if lmstat -c $LICENSE | grep "lmgrd is not running"; then
echo "Failed to start license server. Exiting."
exit 1
fi
fi
# 如果之前测试过,需要把生成的文件删除才能重新测试
rm *.tmp *.dat
srun --unbuffered runhyd
# 关闭license
lmdown -c $LICENSE -q
说明:--unbuffered
确保srun
的输出不会被缓冲。
如果你在输出日志末尾看到FLOW-3D complete
,则说明运行成功。