【深度学习驱动流体力学】配置安装 OpenFOAM 及其所需的ThirdParty-10与QT5工具

news2024/11/26 8:21:17

本文以ThirdParty-10 为例,ThirdParty-10 是 OpenFOAM 软件包中的一个重要组件目录,包含了一系列外部的第三方库和工具,这些库和工具对于 OpenFOAM 的编译和运行至关重要。该目录提供了各种脚本和配置文件,用于简化这些第三方库的下载、编译和安装过程。这些库和工具包括但不限于 MPI(用于并行计算)、Scotch(用于网格划分)、ParaView(用于数据可视化)等。通过执行 Allwmake 脚本,可以一键完成所有第三方库的编译和安装,确保 OpenFOAM 环境的完整性和依赖关系的正确配置。这极大地简化了用户配置环境的难度,提高了 OpenFOAM 的可用性和易用性。

在这里插入图片描述

1.工程文件介绍

针对以上文件及文件目录介绍其功能特性:

Allclean:
这是一个脚本或命令,通常用于清理(即删除)所有编译生成的临时文件和目标文件。执行后,可以将编译过程中生成的中间文件和已编译的程序删除,以便重新开始编译或者清理空间。

Allwmake:
这是一个脚本或命令,用于编译并安装ThirdParty-10目录中的所有软件包。执行此命令会遍历所有子目录,编译其中的软件包并将它们安装到指定位置。

AllwmakeLibccmio:
这是一个脚本或命令,用于编译和安装Libccmio库。Libccmio是一个用于读取和写入CFD(计算流体动力学)网格数据文件的库。

etc:
这个目录通常包含一些配置文件或者其他配置相关的文件。具体内容可能因软件包而异,需要查看具体文件来了解其作用。

makeGcc, makeCmake, makeGperftools, makeLLVM, makeMesa:
这些可能是用于编译和安装特定软件或库的脚本或命令。例如,makeGcc可能用于编译GNU Compiler Collection (GCC),makeCmake用于编译CMake,等等。每个脚本可能会调用特定的编译器或工具链来完成编译和安装过程。

makeParaView:
这个脚本或命令用于编译和安装ParaView软件包。ParaView是一个用于可视化大型数据集的开源多平台数据分析和可视化工具。

platforms:
这个目录通常包含特定平台(如Linux x86_64)下的编译和安装脚本、配置文件或者其他相关文件。在这里可能会找到ParaView和其他软件的特定平台的构建脚本和配置文件。

ParaView-5.6.3.patch:
这个文件通常是一个补丁文件,用于修复或更新ParaView 5.6.3版本的特定问题或添加特定功能。应用这个补丁可能需要使用patch工具或者其他相应的方法。

scotch_6.0.9:
这可能是scotch库的版本号,用于并行有限元网格的划分和重新划分。
这些文件和目录组成了ThirdParty-10目录,用于管理和编译OpenFOAM所需的第三方软件包和库。每个文件或目录在整个编译和安装过程中都起着特定的作用,确保依赖项正确安装和配置。

2.编译安装QT

如果你遇到下面的文件:这个错误表明系统中存在一个依赖问题,特别是涉及到Qt 5.15.3的依赖关系无法满足。这可能是由于软件包版本不匹配或系统配置问题引起的。
在这里插入图片描述
解决的方法如下:

前提条件:

sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key | apt-key add -"
sudo add-apt-repository http://dl.openfoam.org/ubuntu

更新包列表:

sudo apt-get update

方法1:命令安装

sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator qtbase5-doc-dev qtbase5-examples qtbase5-doc-html
sudo apt-get install qtmultimedia5-dev
sudo apt-get install qt5*
sudo apt-get install qtbase5-dev qttools5-dev-tools libqt5x11extras5-dev
sudo apt install qtmultimedia5-dev

等待的时间长一点:
在这里插入图片描述
方法2:下载之后命令安装
在官网http://download.qt.io/archive/qt/ 下载安装包,默认linux平台下提供的安装包以run后缀结尾.也可以选择其它地址下载 Qt官网下载地址:https://download.qt.io; 国内镜像下载地址:https://mirrors.cloud.tencent.com/qt/ 。建议用镜像下载速度快。集成安装包在 official_releases/qt 目录下,新地址:https://download.qt.io/new_archive/qt/
参考文章链接:https://blog.csdn.net/qq_37529913/article/details/136521711

在本文中测试的版本是5.14.2:

在这里插入图片描述
其他安装参考:https://blog.csdn.net/weixin_41194129/article/details/126874874

具体操作命令如下:

步骤 1:准备安装
确保权限:首先,确保下载的安装程序具有执行权限。如果没有,请使用以下命令添加执行权限:

chmod +x qt-opensource-linux-x64-5.14.2.run

步骤 2:运行安装程序
运行安装程序:运行下载的安装程序。请确保在一个可以执行文件的目录下运行此命令。如果你的 Qt 安装文件在当前目录,你可以运行以下命令:

./qt-opensource-linux-x64-5.14.2.run

在这里插入图片描述

按照安装向导:安装程序会启动 Qt 安装向导。按照向导指示进行操作,以下是一些通常的步骤:

选择安装类型:选择 Install Qt。
许可协议:阅读并接受许可协议。
安装组件:选择需要安装的组件。至少选择 Qt 5.14.2 版本和 Qt Creator。
在这里插入图片描述

步骤 3:设置环境变量
设置环境变量:安装完成后,需要设置环境变量,以便系统可以找到 Qt 工具和库。

打开终端,编辑你的 shell 配置文件,例如 ~/.bashrc 或 ~/.bash_profile:

sudo apt install gedit
gedit ~/.bashrc

在文件末尾添加以下行,设置 Qt 安装路径(假设 Qt 安装在 /opt/Qt,请根据实际安装路径修改):

export PATH=/opt/Qt/5.14.2/gcc_64/bin:$PATH
export QMAKE_PATH=/opt/Qt/5.14.2/gcc_64/bin/qmake

我的默认安装路径在:/home/ovo/Qt5.14.2,因此:

export PATH=/home/ovo/Qt5.14.2/gcc_64/bin:$PATH
export QMAKE_PATH=/home/ovo/Qt5.14.2/gcc_64/bin/qmake

在这里插入图片描述

保存文件并使其生效:

source ~/.bashrc

步骤 4:验证安装
验证安装:打开一个新的终端窗口,输入以下命令验证 qmake 是否正确安装并在路径中:

qmake -version

应该看到类似如下的输出,显示已安装的 Qt 版本:

在这里插入图片描述

3.编译安装ThirdParty-10

你可以吧下面的8修改为10

3.1 方法1

如果已经安装了OpenFOAM,可以直接安装推荐的ParaView版本。以下是一个示例,展示如何安装OpenFOAM 8和其推荐的ParaView 5.6:

安装OpenFOAM 8

sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key | apt-key add -"
sudo add-apt-repository http://dl.openfoam.org/ubuntu
sudo apt-get update
sudo apt-get install openfoam8

设置环境变量
在你的shell配置文件(如~/.bashrc)中添加以下行以设置环境变量:

source /opt/openfoam8/etc/bashrc

然后使更改生效:

source ~/.bashrc

验证安装
测试OpenFOAM:

simpleFoam -help

方法3.2:编译安装OpenFOAM

一次性复制下面所有内容到终端:

cd $HOME &&
if [ ! -d "OpenFOAM" ];then mkdir OpenFOAM; fi &&
sudo apt update &&
sudo apt-get install -y build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev &&
cd OpenFOAM &&
git clone https://e.coding.net/dyfluid/OpenFOAM/OpenFOAM-11.git &&
git clone https://e.coding.net/dyfluid/OpenFOAM/ThirdParty-11.git &&
source OpenFOAM-11/etc/bashrc &&
cd OpenFOAM-11 &&
./Allwmake -j &&
sed -i '$a source $HOME/OpenFOAM/OpenFOAM-11/etc/bashrc' $HOME/.bashrc

参考:http://dyfluid.com/install.html

3.3 编译安装与启动ParaView:

安装ParaView 5.6

sudo apt-get install paraviewopenfoam56

或者直接:

sudo apt-get install paravie

./makeParaView其会自动下载ParaView并开始编译,编译过程较长。然后键入paraFoam即可运行,其会自动创建一个后缀为.OpenFOAM的文件,并自动挂载。

cd $HOME/OpenFOAM/ThirdParty-10 &&
sudo apt-get install git cmake build-essential libgl1-mesa-dev libxt-dev libqt5x11extras5-dev libqt5help5 qttools5-dev qtxmlpatterns5-dev-tools libqt5svg5-dev python3-dev python3-numpy libopenmpi-dev libtbb-dev ninja-build qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools &&
./makeParaView &&
wmRefresh &&
cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders &&
./Allwclean &&
./Allwmake

运行截图:

在这里插入图片描述
在这里插入图片描述

paraview

在这里插入图片描述

示例:运行一个简单的OpenFOAM案例并在ParaView中可视化
创建案例目录:

mkdir -p $FOAM_RUN
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
cd cavity

运行预处理工具:

blockMesh

在这里插入图片描述

运行求解器:

icoFoam

在这里插入图片描述

在ParaView中可视化结果:
运行ParaView,然后在ParaView中打开cavity目录下的case.foam文件,进行结果的可视化。

在这里插入图片描述

cavity目录最初包含以下子目录:0,constent,和system。运行之后,它输出0.1、0.2、0.3、0.4、0.5 文件
0目录包含在这些时间步长的所有变量的值。一般是P和U,因此,0目录是初始条件。
constent目录包含运动学粘度的transportProperties字典,一般是一些常数。
system目录包含网格构建,运行控制设置、离散化方案和求解方案过程的设置。
icoFoam解决程序读取案例目录中的文件,并根据这些设置运行案例。
有一个速度恒为1的边界带动下面的流体进行运动。

参考链接:https://blog.csdn.net/lin958490203/article/details/124013542

参考

http://dyfluid.com/cnn.html#id7

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

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

相关文章

文生视频开源产品的一些调研(一)

笔者尝试AI视频生成的几个特点: 玄学prompt,每个视频的prompt可能也需要微调很多次,需要找到使用模型的最佳prompt词组合,不恰当的比喻,骑自行车,座位高度等都是人与车彼此熟悉玄学生成,因为需…

Ubuntu与RedHat Linux的不同

部署Ubuntu 安装在服务器上的系统一般追求极致的稳定,所以安装系统时为了避免潜在的问题,所以选的时候应该往后推选几个版本 首先因为现在使用的电脑是MacBook,还是最新的Mac所以在部署的时候要注意其安装的支持芯片架构(最新的…

Gitlab SSH无法连接但是HTTP可以连接

项目场景: Gitlab在docker中布置好之后测试,发现SSH无法连接但是HTTP可以连接 提示:这是一个无效的源路径 问题描述 http可以识别为git项目,而ssh无法识别成git项目。 原因分析: 三种猜想 端口号被占用 尝试查看…

UE5开发游戏Tutorial

文章目录 PlayerStart 初始化设置默认 LevelBP_Character 初始化BP_Character 添加动画BP_Character 攻击BP_Enemy 初始化 以及 AI 运动Camera Collision 相机碰撞BP_Character 生命以及伤害Wave Spawner 波生成UI 初始化以及 Damage Screen指定位置随机生成添加声音环境 Envir…

Apache Doris 全新分区策略 Auto Partition 应用场景与功能详解 | Deep Dive系列

编辑:SelectDB 技术团队 在当今数据驱动的时代,如何高效、有序地管理数据库中的海量数据成为挑战。为了处理庞大的数据集,分布式数据库引入了类似分区和分桶策略,通过将数据按特定规则划分成较小的单位并分布到不同节点上&#x…

Azure创建虚拟机

Azure创建虚拟机 一、创建步骤(1)登录到Azure portal(2)启动新实例(3)填写必要信息选择系统镜像(4)选择实例类型(5)配置管理员帐户和入站端口规则(6) 磁盘:保持默认(7) 网络:保持默认(8) 管理:保持默认(9) Monitoring:Boot diagnostics选择Disable(10) 最后直接点击查看 + …

2024年第三届数据统计与分析竞赛(A题)数学建模完整思路+完整代码全解全析

本次A题主要涉及正态分布、数据处理、自然语言处理等知识点 问题一题目重述:根据附件中抖音用户的评论数据,对抖音 APP 的“评分”和“点赞数”进行数据统计与分析,并使用假设检验判断这两个指标的分布是否服从正态分布。 接下来对问题一进…

深度学习工具jupyter的new没有环境选项以及遇到的EnvironmentLocationNotFound:Not such a environment

jupyter安装使用 安装完Anaconda(安装Anaconda具体请参考其他教程)后,一般默认有安装jupyter打开 注意当前是base环境,后期使用jupyter需要切换环境 我们找到文件地址。用记事本打开 可以搜索:c.NotebookApp.noteb…

redis持久化方式—AOF

redis为什么需要持久化 redis是内存数据库,redis所有的数据都保存在内存中 如果此时pc关机或重启,那么内存中的用户数据岂不是丢失了?redis这么不安全吗? 作为数据库,保证数据的安全,持久是基本需求&…

RERCS系统开发实战案例-Part05 FPM Application的Feeder Class搜索组件的实施

1、通过事务码 SE24对Feeder Class实施 1)接口页签的简单说明: ① IF_FPM_GUIBB:通用UI构建块,整个UIBB模块的基础接口; ② IF_FPM_GUIBB_SEARCH:通用搜索UI构建块,搜索组件UIBB的基础接口&…

操作系统入门 -- CPU调度算法

操作系统入门 – CPU调度算法 在了解完进程和线程的概念后,我们就需要了解当一个进程就绪后系统会进行怎样的资源分配并运行进程,因此我们就需要了解CPU的调度算法 1.CPU调度 1.1概念 CPU调度即按照某种算法将CPU资源分配给某个就绪的进程。 1.2调度…

外链是否会增加流量?

外链确实可以间接地帮助增加网站流量,不过要了解的是这不是直接影响,首先,外链主要是提升你的网站在搜索引擎中的整体权重。简单地说,当你的网站被很多其他的网站通过dofollow链接指向时,搜索引擎会认为你的网站内容质…

TCP三次握手和四次挥手过程简介(抓包分析,简单易懂,小白)

接上篇 传输层部分 链路层、网络层、传输层和应用层协议详解分析-CSDN博客文章浏览阅读689次,点赞10次,收藏15次。wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细…

SQL Server数据库安装

原文:https://blog.c12th.cn/archives/26.html SQL Server数据库安装 测试:笔记本原装操作系统:Windows 10 家庭中文版 资源分享链接:提取码:qbt2 注意事项: 请严格按照步骤安装,SQL软件安装较…

单片机 PWM输入捕获【学习记录】

前言 学习是永无止境的,就算之前学过的东西再次学习一遍也能狗学习到很多东西,输入捕获很早之前就用过了,但是仅仅是照搬例程没有去进行理解。温故而知新! 定时器 定时器简介 定时器的分类 高级定时器 通用定时器 基本定时器…

用TensorRT-LLM进行LLama的推理和部署

Deploy an AI Coding Assistant with NVIDIA TensorRT-LLM and NVIDIA Triton | NVIDIA Technical BlogQuick Start Guide — tensorrt_llm documentation (nvidia.github.io) 使用TensorRT-LLM的源码,来下载docker并在docker里编译TensorRT-LLM; 模型…

LabVIEW回热系统热经济性分析及故障诊断

开发了一种利用LabVIEW软件的电厂回热系统热经济性分析和故障诊断系统。该系统针对火电厂回热加热器进行优化,通过实时数据监控与分析,有效提高机组的经济性和安全性,同时降低能耗和维护成本。系统的实施大幅提升了火电厂运行的效率和可靠性&…

【调试笔记-20240617-Linux- frp 结合 nginx 实现内网网站在公网发布】

调试笔记-系列文章目录 调试笔记-20240617-Linux- frp 结合 nginx 实现内网网站在公网发布 文章目录 调试笔记-系列文章目录调试笔记-20240617-Linux- frp 结合 nginx 实现内网网站在公网发布 前言一、调试环境操作系统:Windows 10 专业版调试环境调试目标 二、调试…

CSS-0_2 CSS和继承(inherit initial)

文章目录 CSS的层叠和继承inheritinitial很多你以为的样式初始值,其实是用户代理样式 碎碎念 CSS的层叠和继承 在上一篇 CSS和层叠、样式优先级 里已经讲过了层叠和优先级之间的关系,但是在CSS中的层叠除了体现在争抢露脸机会的优先级之外,还…

HTML/CSS Xiaomi综合案例day 6.13-6.16

ok了家人们今天不做别的,今天浅做一个小米网站,话不多说看看怎么事 一.顶部 我们先看看代码 1,html 2,css代码 1.我们先消除浏览器自带的内外边距,添加一个总背景颜色为浅灰色,设置顶部盒子的大小&#x…