Linux下COOLFluiD源码编译安装及使用

目录

软件介绍

基本依赖

其它可选依赖

一、源码下载

二、解压缩(通过Github下载zip压缩包格式)

三、编译安装

 3.1 依赖项-BOOST

3.2 依赖项-Parmetis

3.3 依赖项-PETSc

3.4 安装COOLFluiD

四、算例运行


软件介绍

         COOLFluiD(面向对象的流体动力学计算库,Computational Object-Oriented Libraries for Fluid Dynamics)是一个基于组件的框架,用于科学高性能计算、CFD和多物理应用,最初由von Karman流体动力学研究所开发。COOLFluiD是一个开放式的协作平台,提供了一套功能强大的工具,软件开源,可以通过Github下载。

基本依赖

1、c++编译器

2、fortran编译器

3、CMake跨平台安装工具(版本≥2.8.11)

4、Make自动化编译工具

5、MPI(可以是MPICH、OpenMPI、Mvapich)

6、BOOST(版本:1.42,1.47,1.54,1.55,1.59,1.60)

7、Parmetis(版本:3.1,4.0.3)

其它可选依赖

1、Curl

2、PETSc(版本:3.3,3.4.2,3.6.3,3.7.3,3.7.6,3.9.0)

3、Trilinos

        第三方依赖库可以在相应的官方网站/Github下载,或者可以通过COOLFluiD的Github/Wiki界面的链接进行下载。建议新建一个文件夹用来存放第三方依赖库,编译安装COOLFluiD时方便添加依赖库的路径。

HOWTO install dependencies · andrealani/COOLFluiD Wiki · GitHubicon-default.png?t=N7T8https://github.com/andrealani/COOLFluiD/wiki/HOWTO-install--dependencies

一、源码下载

通过Git下载或之间在Github上下载zip文件。

git clone https://github.com/andrealani/COOLFluiD.git YOUR_COOLFLUID

其中YOUR_COOLFUID是你自定义的文件路径,用于存储下载的源码文件。

Github官网下载地址为:GitHub - andrealani/COOLFluiD: The object-oriented HPC platform for CFD, plasma and multi-physics simulations whose development started in 2002 at the Von Karman Institute for Fluid Dynamics is finally open!icon-default.png?t=N7T8https://github.com/andrealani/COOLFluiD

二、解压缩(通过Github下载zip压缩包格式)

unzip COOLFluiD-master

三、编译安装

 3.1 依赖项-BOOST

        ①进入Boost源码文件夹。

cd boost_1_66_0

        ②生成安装所需配置文件。

./bootstrap.sh --prefix=path/to/installation/prefix

        --prefix选项用于指定安装路径。

        ③安装BOOST。

./b2 install

        上面所述为快速安装,如有其他安装要求,请参考BOOST源码文件中自带的网页指南:

(路径:../boost_1_66_0/more/getting_stared)

        安装完成后,在目标文件夹下会生成boost的头文件和库文件的文件夹。

3.2 依赖项-Parmetis

        ①进入Parmetis源码文件夹。

cd parmetis-4.0.3

        ②make编译安装。

make --prefix=path/to/installation/prefix

         --prefix选项用于指定安装路径。 

         安装完成后,在目标文件夹下会生成parmetis的可执行程序、头文件和库文件的文件夹。

3.3 依赖项-PETSc

        ①进入PETSc源码文件夹。

cd petsc-3.9.0

        ②生成安装所需配置文件。

 ./configure --prefix=path/to/installation/prefix --download-mpich -fblaslapack

          --prefix选项用于指定安装路径。 

         ③make编译。

make PETSC_DIR=path/to/installation/prefix PETSC_ARCH=arch-linux2-c-debug all

        这里默认下载安装了mpich和BLAS、LAPACK库。

        ④make安装。

make PETSC_DIR=path/to/installation/prefix PETSC_ARCH=arch-linux2-c-debug install

       

        ⑤make安装检查。

make PETSC_DIR=path/to/installation/prefix PETSC_ARCH="" test

        ⑥评估当前计算机。

make PETSC_DIR=path/to/installation/prefix PETSC_ARCH= streams

安装完成后,在目标文件夹下会生成petsc的可执行程序、头文件和库文件等的文件夹。

3.4 安装COOLFluiD

        ①拷贝conf文件。

        进入../tools/conf/中,拷贝并重命名conf文件至../COOLFluiD/COOLFluiD-master中 (博主这里拷贝的是coolfluid.conf.MF.static.mpich.clang)

         重命名为coolfluid.conf

cp tools/conf/coolfluid.conf.MF.static.mpich.clang ../../coolfluid.conf

        ②修改coolfluid.conf文件。

        主要对源码文件路径、依赖库路径进行修改。博主修改情况如下:

        ③生成编译所需makefile。

./prepare.pl --build=optim

        ④进入optim文件夹,编译。

make -j8

        8代表采用8核并行编译。

编译完成:

        ⑤安装。

make install

        其他安装细节及问题,可查看COOLFluiD在Github上的wiki介绍。

HOWTO configure & compile · andrealani/COOLFluiD Wiki · GitHubicon-default.png?t=N7T8https://github.com/andrealani/COOLFluiD/wiki/HOWTO-configure-&-compile

        安装成功,路径位于:/mnt/e/COOLFluiD/COOLFluiD/MPICH_MF_STATIC_CLANG

         相应的可执行文件:

四、算例运行

        相关算例及具体测试步骤及注意事项请参考官网。算例可以从下面的链接获得。HOWTO run a testcase · andrealani/COOLFluiD Wiki · GitHubicon-default.png?t=N7T8https://github.com/andrealani/COOLFluiD/wiki/HOWTO-run-a-testcase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学术共振 美妙发声 | 2024美沃斯大会完美收官,米兰柏羽倾力承办

5月10日-5月12日,为期3天的第十七届美沃斯医疗美容大会在杭州国际博览中心盛大举办,作为行业顶级学术交流平台,本届美沃斯大会不仅是医美行业的一次学术交流盛会,更是一次深度探讨行业未来的远眺之窗。 5月9日,即美沃…

vue-router路由,带参数的动态路由匹配(2024-05-14)

需求 需要将给定匹配模式的路由映射到同一个组件。例如,我们可能有一个 User 组件,它应该对所有用户进行渲染,但用户 ID 不同。在 Vue Router 中,我们可以在路径中使用一个动态字段来实现,我们称之为 路径参数 &#…

添砖Java之路(其五)——封装,String,StringBuilder类。

封装: 封装意义:更好的维护数据,让使用者无需关心如何使用,只需要知道怎么使用。 Java Bean: 然后我们要知道Java Bean(实体类)标准。 1.对于这个类的成员都需要设为私有,而且要对外提供相应Get,Set的接…

组合商标申请如何风控提高通过率!

最近一个老客户找到普推知产老杨,说要申请注册一个新的商标,是一个组合商标,有图形,两行文字,一行文字的拼音,还有三个字母的简称,组合商标在申请时会进行拆分审查,图形、文字、拼音…

【C++初阶】第十一站:list的介绍及使用

目录 list的介绍及使用 1.list的含义 2.list的介绍 3.list的使用 1.list的构造 2.list iterator的使用 3.list capacity 4.list element access 5 list modifiers 尾插尾删 和 头插头删 insert 和 erase resize swap clear 6.list sort and reverse 7.list copy vector copy li…

11.php-fpm模板(监控页面取值)

php-fpm模板(监控页面取值) 开启监控页面配置 #修改php配置文件 vim /etc/php-fpm.d/www.conf pm.status_path /php_status#修改nginx配置文件,添加到nginx配置文件中 vim /etc/nginx/conf.d/default.conflocation /php_status {root html;fastcgi_pass 127.0.…

肥猫“也能变“型男“?揭秘福派斯牛肉高脂猫粮的神奇效果!

福猫养成指南:福派斯牛肉高脂猫粮的优点与考虑因素 福派斯牛肉高脂猫粮,这款富含蛋白质与脂肪的猫粮,仿佛是猫咪世界中的美味佳肴,让无数猫咪为之倾倒。然而,这款猫粮的利与弊,你是否都了解呢?接…

AI模型部署实战:利用OpenCV的CUDA模块加速视觉模型部署流程

本文首发于公众号【DeepDriving】,欢迎关注。 一. 前言 我在之前的文章《AI模型部署实战:利用CV-CUDA加速视觉模型部署流程》中介绍了如何使用CV-CUDA库来加速视觉模型部署的流程,但是CV-CUDA对系统版本和CUDA版本的要求比较高,在…

Linux实验 Shell编程

实验目的: 熟练掌握Shell程序的建立与执行;掌握Shell变量的两种类型(Shell环境变量和用户自定义变量)及其用法;掌握Shell中的特殊字符、算术与逻辑运算;掌握Shell中输入输出命令;掌握Shell程序…

在Windows环境下安装CPU版的PyTorch

PytTorch是基于Python开发的,首先需要安装Python,Python的安装很简单,这里不再赘述。而 Windows用户能直接通过conda、pip和源码编译三种方式来安装PyTorch。 打开PyTorch官网(PyTorch),在主页中根据自己的…

python数据分析——时间序列

时间序列 前言一、Datetime 模块常用函数和数据结构的详细解释datetime模块示例一示例二 二、时间运算示例一示例二示例三 三、时间序列分析自回归(Autoregressive model/AR)模型示例 滑动平均(moving average model/MA)模型示例 自回归滑动平均(Autoregressive moving average…

企业微信hook接口协议,ipad协议http,发送链接的方式邀请成员进群

发送链接的方式邀请成员进群 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","roomid":10696052955013729, "vids":[788130334…

Qt---文件系统

一、基本文件操作 1. QFile对文件进行读和写 QFile file( path 文件路径) 读: file.open(打开方式) QlODevice::readOnly 全部读取->file.readAll(),按行读->file.readLine(),atend()->判断是否读到文件尾 …

STM32存储左右互搏 USB接口FATS文件读写U盘

STM32存储左右互搏 USB接口FATS文件读写U盘 STM32的USB接口可以例化为Host主机从而对U盘进行操作。SD卡/MicroSD/TF卡也可以通过读卡器转换成U盘使用。这里介绍STM32CUBEIDE开发平台HAL库实现U盘FATS文件访问的例程。 USB接口介绍 常见的USB接口电路部分相似而有不同的连接器…

K8S -----二进制搭建 Kubernetes v1.20

目录 一、准备环境 1.1 修改主机名 1.2 关闭防火墙(三台一起,这里只展示master01) 1.3 在master添加hosts(依旧是三台一起) 1.4 调整内核参数并开启网桥模式 二、部署docker引擎 三、部署 etcd 集群 1.在mast…

15.JUC原子类

文章目录 JUC原子类1.JUC中的Atomic原子操作包1.1. 基本原子类(Basic Atomic Classes)1.2. 数组原子类(Array Atomic Classes)1.3. 引用原子类(Reference Atomic Classes)4. 字段更新原子类(Fie…

StackQueue+泛型简单理解

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:Java专栏👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支持一…

LeetCode2215找出两数组的不同

题目描述 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中:answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组…

Autosar架构

蓝框那种叫component,绿框的叫function cluster。 接口 有三种接口,RTE跟SWC之间链接的叫Autosar Interface,RTE跟BSW的Components链接是Standardized Interface,RTE跟BSW的services链接的是Standardized Autosar Interface。 St…

网络协议的分类

1.概要 网络协议可以分为三类: 封装协议路由协议功能类协议 2.分类说明 OSPF报文直接调用_ IP协议__协议进行封装,以目的地址_244.0.0.5 __发送到所有的OSPF路由器? 244.0.0.1 所有主机;244.0.0.2 所有路由器;244.0.0.6 指定…