【Dust耦合preCICE模块Windows-Cygwin离线编译安装】

Dust耦合preCICE模块Windows-Cygwin离线编译安装


本编内容主要讲解在Windows系统下使用Cygwin编译工具,Dust软件增加PreCICE这一重要模块的详细编译安装过程,前期基本安装及所需的三方库软件都已默认安装,主要进行preCICE功能模块编译安装的过程讲解。如需了解Linux系统下DUST软件安装步骤请看作者另一个篇文章:

Dust耦合preCICE模块Linux-centos7.9最全离线编译安装

一、★Dust软件定义

DUST是解决空气动力学问题的一种新颖、灵活的解决方案。旨在为复杂构型的空气动力学问题提供价格合理、可靠的解决方案。DUST专注于输入、几何定义、移动和解决方案阶段的可扩展性和灵活性,使用户能够分析具有不断增加和可扩展保真度的各种配置.

二、★Precice库定义

preCICE是用于分区多物理模拟的开源耦合库,包括但不限于流体-结构相互作用和共轭传热模拟。分区意味着preCICE将能够模拟模拟中涉及的完整物理的一个子部分的现有程序/求解器耦合起来。这允许为复杂的多物理场景留出适当的解决时间所需的高度灵活性。该软件为瞬态方程耦合、通信和数据映射提供了方便的方法。它的主要组件是一个库,模拟程序可以使用该库以分区方式耦合在一起,从而实现多物理模拟,例如流体-结构相互作用。

三、★安装环境介绍

  • 操作系统:windows10/11/server2016
  • 构建软件:Cygwin (离线开发库/基本数学软件包已安装好)
  • 编译器版本:GNU7.4.0
  • 数学库:lapack lapack-devel
  • 三方依赖软件:hdf5-1.10.2.tar.gz CGNS-4.3.0.tar.gz precice-2.3.0.tar.gz python3-numpy。
  • 主程序版本:dust-0.8.0-b.tar.gz
    DUST_Windows源码包及依赖三方库源码包下载链接

注意! 本篇文章是利用cygwin工具,在windows下编译开源软件的,因为是离线编译,需要的三方库依赖工具包:gcc gfortran liblapack-devel cmake python3 boost 等都需要在联网的时候通过网络在线下载,然后把cygwin软件下的安装包复制到离线设备上。
★cygwin官网

四、★三方库依赖编译

4.1 hdf5编译安装
# 软件版本:hdf5-1.10.2.tar.gz 
tar -zxvf hdf5-1.10.2.tar.gz
cd hdf5-1.10.2
./configure --prefix=指定安装的绝对路径 \
--enable-fortran \
--enable-shared
make
make install
# 导入hdf5环境
echo -e "#hdf5_env\nHDF5_ROOT=指定上面hdf5的安装路径" >> ~/.bashrc
echo -e 'export PATH=$HDF5_ROOT:$PATH' >> ~/.bashrc
echo -e 'export PATH=$HDF5_ROOT/bin:$PATH' >> ~/.bashrc
echo -e 'export LD_LIBRARY_PATH=$HDF5_ROOT/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
4.2 cgns编译安装
# 软件版本:CGNS-4.3.0.tar.gz
tar -zxvf CGNS-4.3.0.tar.gz
cd CGNS-4.3.0
mkdir build;cd build
cmake .. -DCGNS_ENABLE_FORTRAN=ON \
-DCGNS_ENABLE_HDF5=ON \
-DCMAKE_INSTALL_PREFIX=指定cgns安装路径
make
make install
# 导入CGNS环境
echo -e 'export CGNS_DIR=指向cgns安装路径' >> ~/.bashrc
echo -e 'export LD_LIBRARY_PATH=$CGNS_DIR/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
五、★preCICE编译安装

注意! 由于cygwin内部安装boost版本的限制,这里Windows-Cygwin环境下安装precice的版本最高只能是preCICE-2.3.0,版本编译:需要依赖boost-1.66,eigen3-3.4.0,libxml2,python3-numpy。

5.1 boost (cygwin内部安装)
# 安装cygwin的时候,已选择安装包进行安装,无需手动编译安装
5.2 Eigen3编译安装
# 软件版本:eigen-3.4.0.tar.gz
tar -zxvf eigen-3.4.0.tar.gz
cd eigen-3.4.0
mkdir build;cd build
cmake .. -DCMAKE_INSTALL_PREFIX=指定eigen安装路径
make install
5.3 libxml2 (cygwin内部安装)
# 安装cygwin的时候,已选择安装包进行安装,无需手动编译安装
5.4 python3-numpy (cygwin内部安装)
# 安装cygwin的时候,已选择安装包进行安装,无需手动编译安装
5.5 preCICE编译安装
# 软件版本:preCICE-2.3.0 
tar -zxvf precice-2.3.0.tar.gz
cd precice-2.3.0
mkdir build;cd build
cmake .. -DCMAKE_INSTALL_PREFIX=指定precice安装路径\
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=ON \
-DPRECICE_MPICommunication=OFF \
-DPRECICE_PETScMapping=OFF \qq
-DEIGEN3_INCLUDE_DIR=指向eigen3头文件路径
make -j 4
make install
# 导入preCICE环境
echo -e 'export PRECICE_DIR=指向precice安装路径' >> ~/.bashrc
echo -e 'export LD_LIBRARY_PATH=$PRECICE_DIR/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

注意! 依赖库虽然比较多,但是很多在安装cygwin构建工具的时候都可以提前安装上,避免了很多麻烦。如果没有安装的话,只需要在联网的设备上下载对应的包,导入离线设备相同的包下利用apt-cyg install 命令安装就可以了。

六、★DUST编译安装

6.1 dust编译安装
# 软件版本:dust-0.8.0-b.tar.gz
tar -zxvf dust-0.8.0-b.tar.gz
cd dust-0.8.0-b
mkdir build;cd build
cmake .. \
-DPRECISION=DOUBLE \
-DWITH_PRECICE=YES \
-DCGNS_INC=指向CGNS安装头文件路径 \
-DCGNS_LIB=指向CGNS安装库文件路径 \
-DPRECICE_INC=指向precice安装头文件路径 \
-DPRECICE_LIB=指向precice安装库文件按路径
make
# 导入dust环境
echo -e 'export PATH=指向dust安装路径/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

注意 这里不需要运行命令make install ,安装好的可执行文件就在当前安装目录下bin的面,如果需要指定安装路径就在cmake最后追加参数-DCMAKE_INSTALL_PREFIX=指定dust安装路径。

编译完成后会生成:前后处理和求解器三个可执行目标: dust_pre dust_post dust

6.2 dust求解器调用

具体的求解器调用与错误提示请看作者另一篇文章:

Dust_Windows_cygwinCAE软件离线编译安装

七、★最后

以上内容都是经过实战验证过的,最重要的是保证构建软件Cygwin里的三方库能安装完整。
(●’◡’●) 最后感谢屏幕另一端的你,强有力的支持。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyq_龙呆呆

投桃报李

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值