waves2Foam的安装
本文使用Ubuntu 22.04 OpenFOAM 版本为v1912
安装waves2Foam步骤:
1.首先是下载依赖:
sudo apt install libgsl-dev gfortran subversion git
2.通过svn版本管理器下载源代码
mkdir OpenFOAM/usr-v1912/applications/utilities
cd OpenFOAM/usr-v1912/applications/utilities
svn co http://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.6/other/waves2Foam
3.svn下载时有一定的可能性会出现下载失败或者校验失败等等.
这个时候需要先解除svn对文件夹的锁定,然后再次执行svn下载.
svn clean up waves2Foam
svn co http://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.6/other/waves2Foam
如果步骤2没有出错,就无须执行此步骤.
4.手动下载OceanWave3D放到waves2Foam/ThirdParty/ 路径下,在该路径下解压,请确认解压后的文件夹名称为OceanWave3D-Fortran90.下载网址:https://github.com/boTerpPaulsen/OceanWave3D-Fortran90
5.修改usr-v1912/applications/utilities/waves2Foam/ThirdParty/Allwmake文本文件,
附近多余代码删掉,如在githup上下载OceanWave3D-Fortran90的操作删掉,关于git自动更新的代码也删掉.
修改后的样子如下:
if [ ! -d "bin" ]
then
mkdir bin
fi
cp $settings/oceanWave3DSettings/common.mk $ocw/.
cp $settings/oceanWave3DSettings/makefile $ocw/.
# Check for the correct environmental variables
if [ -z "$WAVES_LIBBIN" ]
then
echo ""
echo "Set the environmental variables for waves2Foam"
echo "Exiting compilation process"
echo ""
exit 1
fi
6.完成上述操作就可以编译了,在waves2Foam路径下编译
./Allwmake -j
7.注意:如果gcc版本过高,需要手动在githup上下载gcc-9版本,gfortran-9版本.
步骤:
1.在命令行输入以下命令,下载9.xx版本的gcc、gfortran
sudo apt-get install gcc-9
sudo apt-get install gfortran-9
2.继续输入命令,调整编译器默认使用的版本
#调整gcc-11的优先级为40,gcc-9的优先级为100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
#调整gfortran-11的优先级为40,gfortran-9的优先级为100
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 40
sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 100
3.重新编译,结果编译无报错,安装成功。
检测是否安装成功:
打开终端,加载openfoam环境,输入waveFoam,出现下面界面表示安装成功