基于D3Q19模型的LBM流体模拟

格子玻尔兹曼机(Lattice Boltzmann Method)系列2:LBM在不可压缩流动下的核心算法 教材 格子玻尔兹曼方法大概出现在上世纪八九十年代,在流体领域的普及大概也就只是在00年前后才开始,算是一门很新的研究方向。尽管出现得晚,但是到现在已经可以听到“LBM/SPH已死”类似的说法,“LBM已死”这样的说法显然是站不住脚的,但是也侧面反应了除传统有限体积法以外,其他新的偏微分方程求解器的局限性都是对于应用普及化的一个很大限制。尤其是SPH算法,CFD领域的工作实在是极其稀少,因为拥有算得... 阅读详情
AI摘要

本文介绍在CUDA上基于D3Q19模型的LBM流体模拟方法。LBM是一种介观流体计算方法,可简化Bolztmann方程求解,无内迭代收敛问题,但有外迭代收敛问题,适用于低March数不可压缩流体。文中给出常用规则网格模型布局、LBGK动量方程及模拟算法等内容。

 

 

在CUDA上实现基于D3Q19模型的LBM流体模拟方法简介

--cyrosly与2009.05.14下午

 

LBM(Lattice Boltzmann Model)方法简介:

  LBM是始与上世纪80年代末起源于70年代的LGA(格子气自动机)理论模型,并最终从90年代初开始趋于成熟(在适定的范围内)的一种流体计算的介观方法(处于微观与宏观之间),从本质上讲,它比N-S方程的描述更本质化。LBM是一种基于统计物理学方法,事实上我们这里所说的LBM是为了简化Bolztmann方程的求解而进行适当但确异常合理和有效的计算模型,因为在该模型中不存在非线性项因而不存在传统数值方法(如预处理共轭梯度发和多重网格法)的数值发散问题,也即内迭代收敛问题。所谓内迭代收敛是指在某个当前的时间步在有限步之后是否可以得到当前流场的正确解(例如当我们在某个时间点上运行N次PCG解算器,这N次迭代并非是按时间方向向前推进,而是一个数学上的N次计算步骤)。虽然如此,LBM和传统方法一样也存在所谓的外迭代收敛问题;外迭代是指流场在整个时空尺度上是否可以在有限步之后收敛与平衡状态,也就是说在时间方向上流场收敛与稳态的快慢。此外LBM目前基本只适用于低March数不可压缩(或允许存在小尺度可压缩性)的情况,对于可压缩流体模型还未成熟,不过已经有很多这方面的研究发表。与传统数值方法相比LBM的另一个优点是对复杂边界的适应性,但对于自由表面LBM目前仍然没有完美的解决方法,一般和传统方法一样采用level set。

 

LBM计算模型:

 目前常用的规则网格模型有D2Q9,D3Q13,D3Q15,D3Q19(还有D1Q3,D2Q5,D3Q27),

当然还有各种非规则以及类似于传统网格划分的自适应格子布局。有兴趣的可以参考下郭照立郑楚光合编的《格子Bolztmann方法的原理及应用》。

           

  LB Model D2Q9                                          LB Model D3Q19

 

上面分别是D2Q9和

在CUDA上实现基于D3Q19模型的LBM流体模拟方法简介 LBM(Lattice Boltzmann Model)方法简介: LBM是始与上世纪80年代末起源于70年代的LGA(格子气自动机)理论模型,并最终从90年代初开始趋于成熟(在适定的范围内)的一种流体计算的介观方法(处于微... 阅读详情

相关推荐

Matlab实现Lattice Boltzmann方法流体仿真代码库

Lattice Boltzmann Method(LBM)是一种基于微观粒子动力学的数值模拟方法,近年来在计算流体力学(CFD)领域中获得了广泛应用。与传统基于纳维-斯托克斯方程的连续介质方法不同,LBM通过模拟粒子在离散格子上的分布与演化,从介观尺度出发重构宏观流体行为。其核心思想是通过格子上的分布函数演化方程,将微观粒子运动与宏观守恒定律联系起来,具有良好的并行性与边界处理灵活性。LBM在处理复杂几何、多相流、热传导等领域展现出独特优势,已成为现代工程仿真中不可或缺的工具之一。

weixin_34885746的博客 964

LBM-classic:使用 D2Q9 和 D3Q19 模型的经典格子 Boltzmann 方法 (LBM) 的 C 实现

经典格子玻尔兹曼方法 (LBM) 使用 D2Q9 和 D3Q19 模型的经典格子玻尔兹曼方法 (LBM) 的 C 实现,基于 Nils Thuerey 的博士论文(参见参考文献 1)。 编译和运行 C 代码: Windows:在vcproj文件夹(独立测试和演示文件)以及vcproj_mlink和vcproj_wstp文件夹(Mathematica MathLink/WSTP 接口)中提供 Visual Studio 项目文件 Linux、MacOSX 等:查看bin文件夹(独立测试和演示文件)和mlink文件夹(Mathematica MathLink/WSTP 接口)中的 makefile 测试文件夹中的 Mathematica .cdf (可计算文档格式)演示文件可以用免费的查看或用打开和编辑。 执照 版权所有 (c) 2014, Christian B. Mendl 版权所

matlab精度检验代码-LB-t:使用常规格(D2Q9,D3Q15,D3Q19,D3Q27等)的不可压缩晶格-玻尔兹曼方法(LBM),针对规

matlab精度检验代码LB-t-平行3D格子-玻尔兹曼CFD求解器 作者:(2019年12月-2020年12月) 概述 这是一个基于C ++ 17和C的面向任意晶格(针对任意数量的速度和空间尺寸)的面向对象的并行晶格-玻尔兹曼计算流体动力学(CFD)求解器框架。 这些文件包括用于Intel Compiler ICC和Gnu Compiler GCC的Makefile。 安装 Linux(推荐) 复制此文件夹或通过键入直接克隆此存储库 $ git clone https://github.com/2b-t/LB-t.git 通过键入Make编译文件 $ make run 在Linux Shell中,或在中打开LB-t.cbp文件。 如果您遇到问题,请确保已安装Make sudo apt-get install build-essential且您的GCC版本大于8。您可以通过键入sudo apt install gcc-10来安装较新的GCC。 如果要将编译器更改为Intel编译器,请首先通过打开控制台并键入以下命令,确保系统上已安装Intel编译器集合。 $ icc -v 如果它在您的

LBM fluid D2Q9 D3Q19

含有LBM的多种模型,有D2Q9, D3Q19,做LBM不可多得的代码。

LBM_D3Q19-1.0.tar.gz_3D LBM_3D-LBM_D3Q19_LBM 3D guozhaoli_LBM D3

is verry goud code source LBM in 3D

LBM.zip_LBM_LBM D3Q_LBMD2Q9_lbm d3q15_lbm 多松弛

LBM算法的多松弛;LBM的D2Q9模型;LBM的D3Q15模型;LBM的两区域模型

格子玻尔兹曼 LBM 多孔介质水气分布规律 D3q19

格子玻尔兹曼 LBM 多孔介质水气分布规律 D3q19

MTK平台TP驱动设备树与GPIO配置实战解析

本文详细解析了MTK平台TP驱动开发中的设备树与GPIO配置实战。通过DCT工具配置GPIO引脚,结合设备树节点定义触摸参数,并分享驱动移植、编译调试技巧及常见问题解决方案,帮助开发者快速掌握MTK触摸驱动开发核心。

ice55的博客 235

Cursor3.0新界面使用说明

本文摘要:Cursor 3.x版本更新后,提供了两套主界面:Editor(类似VSCode的代码编辑器)和AgentsWindow(以AI智能体为中心的新界面)。Editor适合日常编码,AgentsWindow则支持并行运行多个AI任务、云端协作和多仓库管理。通过Ctrl+E可快速切换布局。文章详细介绍了AI聊天面板的操作技巧、四种工作模式(Agent/Plan/Ask/Debug)的区别,以及AgentsWindow的多任务管理功能。同时提供了Windows快捷键速查、中文化设置方法,并对比了新旧版本的

2501_90421497的博客 727

【遥感数字图像处理(朱文泉)】各章博文链接汇总及思维导图

遥感数字图像处理(北京师范大学朱文泉教授)课程各章博文笔记汇总,及各章节思维导图

甜子yu的博客 2623

Arcgis填补栅格空缺值Nodata

Arcgis填补栅格空缺值Nodata

pass17的博客 1万+

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3276

使用petalinux做嵌入式设计开发(1)

1.创建vivado工程,建立硬件环境,最终导出hdf文件 既可以在windows系统下的vivado上编写硬件工程并导出hdf文件,也可以在linux系统下的vivado中编写硬件工程并导出hdf文件。(对于windows系统下导出的hdf文件还需要传递到linux系统下的文件夹中。) 2.以hdf硬件文件为基础创建,配置,编译,打包petalinux工程,导出linux系统所需镜像文件。 具体步骤: (0)设置环境变量 设置环境变量使得我们可以直接使用petalin...

plotup的博客 2076

Docker 安装 CentOS7

本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件

折腾java的博客 1万+

别再搞混了!Vue3里xgplayer播放FLV视频与FLV直播流,配置到底差在哪?

本文详细解析了在Vue3项目中使用xgplayer播放FLV视频与FLV直播流的配置差异,帮助开发者避免常见错误。通过对比点播与直播的核心协议差异、插件选择及配置参数,提供实战代码示例和性能优化技巧,确保流畅播放体验。特别针对直播流场景,深入讲解专属配置和问题排查方法。

weixin_28687331的博客 150

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 哎,原来如此
下一篇: 那段感情飘到了世界的尽头
Cyrosly
博客等级 码龄19年 169粉丝 18原创
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值