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

news2025/1/18 19:11:54

目录

软件介绍

基本依赖

其它可选依赖

一、源码下载

二、解压缩(通过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.coloradmin.cn/o/1674460.html

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

相关文章

【生信技能树】GEO数据挖掘全流程

R包的安装,每次做分析的时候先运行这段代码把R包都安装好了,这段代码不需要任何改动,每次分析直接运行。 options("repos""https://mirrors.ustc.edu.cn/CRAN/") if(!require("BiocManager")) install.packag…

Java的类和对象(一)—— 初始类和对象,this关键字,构造方法

前言 从这篇文章开始,我们就进入到了JavaSE的核心部分。这篇文章是Java类和对象的第一篇,主要介绍类和对象的概念,this关键字以及构造方法~~ 什么是类?什么是对象? 学过C语言的老铁们,可以类比struct自定义…

【RAG 论文】BGM:为 LLM 和 Retriever 的偏好 gap 搭建一个 Bridge

论文:Bridging the Preference Gap between Retrievers and LLMs ⭐⭐⭐ Google Research, arXiv:2401.06954 论文速读 LLM 与 Retriever 之间存在一个 preference gap:大多数 retriever 被设计为 human-friendly,但是 LLM 的偏好与人类的却…

基于Vue3+ElementPlus项目,复制文字到剪贴板功能实践指南,揭秘使用js-tool-big-box工具库的核心优势

在前端开发项目中,很多时候有那么一个场景,就是要求将一段文案复制下来,这段文案可能是一串很长的id,可能是一条命令语句,可能是一小段文案,复制到剪贴板上。这样有利于用户复制到其他地方去,使…

OpenHarmony 3.1 Release实战开发 + Linux 原厂内核Launcher起不来问题分析报告

1、关键字 Launcher 无法启动;原厂内核;Access Token ID; 2、问题描述 芯片:rk3566;rk3399 内核版本:Linux 4.19,是 RK 芯片原厂发布的 rk356x 4.19 稳定版内核 OH 版本:OpenHa…

漏桶算法:稳定处理大量突发流量的秘密武器!

漏桶算法的介绍 我们经常会遇到这样一种情况:数据包的发送速率不稳定,而网络的带宽有限。如果在短时间内有大量的数据包涌入,那么网络就会出现拥塞,数据包的丢失率就会增大。为了解决这个问题,人们提出了一种叫做“漏…

怎样辨别LED显示屏的品质

在当今数字化时代,LED显示屏已成为信息传播的重要媒介,广泛应用于广告、信息显示、舞台背景等领域。然而,市场上的LED显示屏品质参差不齐,如何鉴别其品质等级成为了用户关注的焦点。以下是一些专业的方法,帮助用户辨别…

geotrust ov泛域名证书2990

Geotrust是一家正规的CA证书颁发机构,致力于为个人以及企事业单位开发者提供安全可靠的数字证书产品,维护了个人博客网站、企业官网、商城网站以及银行等金融网站的数据安全,营造了一种健康的网络环境。今天就随SSL盾小编了解Geotrust旗下的O…

如何判断海外住宅ip的好坏?

在海外IP代理中,住宅IP属于相对较好的资源,无论是用于工作、学习、还是娱乐,都能得到较好的使用效果。作为用户,该如何判断海外住宅IP的好坏呢? 稳定性与可靠性:海外住宅IP相比动态IP地址,通常具…

C++(week3):数据结构与算法

文章目录 (十一) 常用数据结构1.动态数组(1)模型(2).h与.c(3)实现 2.链表(1)模型(2)分类(3)基本操作(API)(4)实现(5)链表常见面试题(6)空间与时间 3.栈(1)模型(2)基本操作(3)实现(4)栈的应用 4.队列(1)模型(2)基本操作(API)(3)实现(4)队列的应用 5.哈希表(1)哈希表的提出原因(2…

Samtec技术分享 | 电源/信号高密度阵列的新视角

【摘要/前言】 “角度”,这个词每天都出现在我们的生活中,有物理学的角度,如街边的拐角,还有视觉上的角度和观点中的角度~ Samtec新型 AcceleRate mP 高密度电源/信号互连系统正是从电源完整性 90度旋转的不同角度中诞生的。 …

作为前端开发,感受下 nginx 带来的魅力!

引言:纯干货分享,汇总了我在工作中八年遇到的各种 Nginx 使用场景,对这篇文章进行了细致的整理和层次分明的讲解,旨在提供简洁而深入的内容。希望这能为你提供帮助和启发! 对于前端开发人员来说,Node.js 是…

#自学习# 记一次py脚本打开浏览器页面

在项目总结中,遇到系统后台利用浏览器拉起一个已知路径页面的需求,趁着机会整理下。实现起来比较简单,浏览器默认谷歌。 一、技术原理 Selenium:Selenium 是一个用于自动化 Web 浏览器的工具,可模拟用户在浏览器中的各…

帧类型代价计算原理:slicetype_frame_cost 函数分析

slicetype_frame_cost 函数 函数功能 这个函数的核心是计算编码一系列帧(从 p0 到p1,以 b 为当前帧)的代价 cost,并根据这个代价 cost来辅助帧类型决策。它考虑了运动搜索的结果、帧间和帧内预测的成本,并且可以并行处理以提高效率。该函数在帧类型决策、MBtree 分析、场…

硅胶可以镭射吗?

在科技发展的今天,我们经常会遇到各种各样的材料,其中就有一种叫做硅胶的材料。那么,硅胶可以镭射吗?答案是肯定的,硅胶不仅可以镭射,而且在某些应用中,它的镭射特性还非常突出。 首先&#xff…

HarmonyOS应用模型Stage基本介绍

文章目录 <font colorcoral> HarmonyOS应用模型概况<font colorcoral> Stage模型基本概念<font colorcoral> Stage模型UIAbiliry的生命周期<font colorcoral> Stage模型的配置文件<font colorcoral> 写在后面的话<font colorcoral>Referen…

自动驾驶占据感知的综述:信息融合视角

24年5月香港理工的论文“A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective“。 3D 占据感知技术旨在观察和理解自动驾驶车辆的密集 3D 环境。该技术凭借其全面的感知能力&#xff0c;正在成为自动驾驶感知系统的发展趋势&#x…

Mapbox 天地图暗色系调整

效果&#xff1a; mapbox栅格图层样式设置 {//图层id&#xff0c;要保证唯一性"id": "tdtVec",//图层类型"type": "raster",//数据源"source": "tdtVec","paint": {"raster-hue-rotate": 1…

虚拟化软件栈面临的安全威胁主要涉及几个方面

1.基于虚拟层&#xff08;Hypervisor&#xff09;的攻击&#xff1a;VM Escape&#xff1a;攻击者利用虚拟化软件允许多个操作系统共享单个硬件处理器的漏洞。这使得黑客可以在受控制的虚拟层上攻击宿主机上的每个虚拟机。 VM sprawl&#xff1a;当网络上的虚拟机数量超过管理…

OpenAI 2024 Spring推出 GPT-4o,免费向所有人提供GPT-4级别的AI

OpenAI 2024 Spring推出 GPT-4o&#xff0c;这是OpenAI的新旗舰模型&#xff0c;可以实时对音频、视觉和文本进行推理。 GPT-4o&#xff08;“o”代表“omni”&#xff09;是迈向更自然的人机交互的一步——它接受文本、音频和图像的任意组合作为输入&#xff0c;并生成文本、音…