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

news2025/1/15 6:22:18

目录

软件介绍

基本依赖

其它可选依赖

一、源码下载

二、解压缩(通过方式1下载源码.zip格式)

三、编译安装

3.1 自带算例

​编辑3.2 自行开发算例

四、简单使用

4.1 串行运行

4.2 并行运行

4.3 查看结果


软件介绍

        Palabos是一款基于LBM(格子Boltzmann方法)的开源软件,也是为数不多的基于LBM方法的计算流体力学软件,由来自不同国家的多位学者合作开发完成,主要用于流体模拟。Palobos集成了多个LBM模型。它采用c++编写,可实现MPI并行,并采用了多种优化措施。它能将计算结果输出为VTK形式,并采用诸如paraview等开源的后处理软件进行数据分析处理。

        Palabos的主要特点在于,其在并行结构上采取并行机制与模型分离的方式,使得应用建模与并行机制不相关。这也使得PalaBos的易于扩展。

基本依赖

1、C++编译器;

2、clang-format代码格式化工具;

3、make自动化编译工具;

4、cmake跨平台安装工具。

以上依赖项可以通过以下命令安装:

sudo apt install gcc clang clang-format cmake make

其它可选依赖

1、OpenMPI:用于并行计算;

2、imagemagick:用于计算生成GIF图片;

3、HDF5:用于输出HDF5文件;

4、ccache:用于加速编译过程。

以上依赖项可以通过以下命令安装:

sudo apt install libopenmpi-dev imagemagick libhdf5-dev libhdf5-mpi-dev ccache

一、源码下载

方式1:通过访问Palabos官网下载。

方式2:通过git下载。使用命令行跳转到需要存储Palabos源码的文件夹,如E:\software

cd /mnt/e/software

        命令行输入:

git clone https://gitlab.com/unigespc/palabos.git

二、解压缩(通过方式1下载源码.zip格式)

unzip palabos-master.zip

三、编译安装

3.1 自带算例

        Palabos提供了多个算例,如图所示:

        用户可以对不同的算例进行单独编译,形成单个算例对应的可执行文件。以cavity2D为例,编译步骤如下。

        第一步:进入算例所在文件夹。

cd /mnt/e/software/palabos-master/examples/showCases/cavity2d/build/

        第二步:使用cmake构建。

cmake ..

        第三步:算例编译。

make

        编译完成:

3.2 自行开发算例

        软件支持自定义开发,需要在二次开发的路径下使用cmake工具进行构建,流程与自带算例编译相同。

四、简单使用

4.1 串行运行

        以经典CFD算例——方腔驱动流(顶盖驱动流)为例: 

./cavity2D

        计算完成:

4.2 并行运行

         Palabos支持并行运行,运行方式为(以4核运行cavity2D为例):

mpirun -np 4 ./cavity2D

4.3 查看结果

        可在当前算例文件夹下查看计算过程中保存的GIF图片和VTK文件。

cavity2D

        也可以利用Paraview等后处理软件查看VTK文件,如下图

cavity2D

         下图为cavity3D计算结果在paraview软件中的显示:

cavity3D

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

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

相关文章

平平科技工作室-Python-步步惊心

一.准备图片 放在文件夹取名为imgs,分为两种boys和girls 二.编写程序 首先创建一个文件名为index.py 其次编写程序 # coding:utf-8 import sys, time, easygui, os, pygame from pygame.locals import * pygame.init() # 设置窗口显示位置、大小、颜色、标题 os.environ[ S…

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】 1. 前言2. 先决条件2.1 硬件准备2.2 软件准备2.3 接线 3. 核心代码3.1 驱动实现3.2 代码解析 4. 播放文本5. 结论 视频地址: SeeedXIAO ESP32S3 Sense【基于MAX98357的Minimax&am…

【Mac】Lightroom Classic 2024 v13.1安装教程

软件介绍 Lightroom Classic 2024是Adobe公司推出的一款专业的数字图像处理软件,旨在为摄影师提供强大的工具和功能,以管理、编辑和分享他们的照片作品。以下是Lightroom Classic 2024的主要特点和功能: 数字照片管理: 提供直观…

YOLOv5手势物体识别(附代码)

之前是做的yolov3手势物体识别,最近几天我将该项目进行了重新的整理和升级,实现了yolov5手势物体识别,同时为了方便更多的人直接拿来应用,我生成了支持windows系统的应用小程序,即便你电脑上没有安装pytorch,没有安装c…

【题解】NC109 岛屿数量(BFS / DFS)

https://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e?tpId196&tqId37167&ru/exam/oj dfs #include <vector> class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可…

电脑数据怎么拷贝到u盘?操作指南与数据丢失防范

在数字时代&#xff0c;数据的传输与备份已成为我们日常生活和工作中不可或缺的一部分。U盘作为一种便捷、高效的移动存储设备&#xff0c;广泛应用于各种数据拷贝场景。无论是个人文件的备份&#xff0c;还是工作资料的传输&#xff0c;U盘都发挥着举足轻重的作用。那么&#…

HTML_CSS学习:背景、鼠标相关属性

一、背景相关属性 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>背景相关属性</title><style>body{background-color: greenyellow;}div{width: 400px;height: …

光头强:IBM收购HashCorp (Terraform)有多大意义?

StrongBear公司在光头强强总以及合伙人熊大熊二的艰苦努力下&#xff0c;最近公司进了一次扩容。甚至将原来一些甲方的研发人员也拉入旗下&#xff0c;其中就包括与熊二共事多年的小玲子以及小强同学。 光头强也注意到最近在IT软件领域&#xff0c;频频发生一些并购事件。比如…

nodejs实战——搭建websocket服务器

本博客主要介绍websocket服务器库安装&#xff0c;并举了一个简单服务器例子。 服务器端使用websocket需要安装nodejs websocket。 cd 工程目录 # 此刻我们需要执行命令&#xff1a; sudo npm init上述命令创建package.json文件&#xff0c;系统会提示相关配置。 我们也可以使…

知乎广告开户流程,知乎广告的优势是什么?

社交媒体平台不仅是用户获取知识、分享见解的场所&#xff0c;更是品牌展示、产品推广的重要舞台。知乎作为国内知名的知识分享社区&#xff0c;以其高质量的内容生态和庞大的用户基础&#xff0c;成为了众多企业进行广告投放的优选之地。云衔科技通过其专业服务&#xff0c;助…

C++证道之路第十六章string类和标准模板库

一、string类 string实际上是模板具体化basic_string的一个typedef&#xff0c;省略了与内存管理相关的参数。 string类将string::npos定义为字符串的最大长度。 string库提供了很多其他的工具&#xff0c;包括完成下述功能的函数&#xff1a; 删除字符串的部分或全部内容&…

POWERBI==官网教程

地址 COVID-19 tracking sample for US state and local governments - Power BI | Microsoft Learn 已经非常全面了

【简单介绍下Lisp的学习历程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

【docker 】push 镜像到私服

查看镜像 docker images把这个hello-world 推送到私服 docker push hello-world:latest 报错了。不能推送。需要标记镜像 标记Docker镜像 docker tag hello-world:latest 192.168.2.1:5000/hello-world:latest 将Docker镜像推送到私服 docker push 192.168.2.1:5000/hello…

自动驾驶-第02课软件环境基础(ROSCMake)

1. 什么是ros 2. 为什么使用ros 3. ROS通信 3.1 Catkin编译系统

uniapp 文字转语音(文字播报、语音合成)、震动提示插件 Ba-TTS

简介&#xff08;下载地址&#xff09; Ba-TTS 是一款uniapp语音合成&#xff08;tts&#xff09;插件&#xff0c;支持文本转语音&#xff08;无服务费&#xff09;&#xff0c;支持震动提示。 支持语音合成&#xff0c;文本转语音支持震动&#xff08;可自定义任意震动效果…

python笔记:dataclass

1 引子&#xff1a;其他类似实现方法的局限性 假设我们现在需要实现这样的内容&#xff1a; nameChinaarea960population140967 1.1 tuple/list country1_tuple(China,960,140967) country1_tuple[0] #China 缺点&#xff1a;需要记住各个属性是list/tuple第几位的属性&am…

MYSQL从入门到精通(二)

1、MYSQL高级概述 【1】架构概述 【2】索引优化 【3】查询截取 【4】mysql锁机制 【5】主从复制 2、MYSQL概述 【1】mysql内核 【2】sql优化工程师 【3】mysql服务器的优化 【4】各种参数常量设定 【5】查询语句优化 【6】主从复制 【7】软硬件升级 【8】容灾百分 【9】sql编…

【005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放】

005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放 文章目录 005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放创作背景MA120X0P输出模式BTLSEPBTLSEBTL 硬件配置方式/硬件Limiter限幅器限幅器作用过程 主要寄存器操作指令 ma120x0p.cma120x0p.h 创作背景 学历代表过去、能…

ASP.NET视频点播系统的设计与实现

摘 要 本文阐述了基于WEB的交互式视频点播系统的协议原理、软件结构和设计实现。本视频点播系统根据流媒体传输原理&#xff0c;在校园局域网的基础上模拟基于Web的视频点播系统&#xff0c;实现用户信息管理、视频文件的添加、删除、修改及在线播放和搜索功能。本系统是一个…