首页/文章/ 详情

基于LBM的开源CFD代码:FluidX3D

1月前浏览739

FluidX3D是一款开源的基于Lattice Boltzmann 方法的CFD软件,可通过OpenCL在所有GPU和CPU上运行。

 
官网上展示了一堆炫酷的动画,就像下面这种。作者 Dr. Moritz Lehmann 的油管空间上也有大量的里一共FluidX3D计算的结果动画(直接搜索Dr. Moritz Lehmann即可找到)。真心羡慕作者的计算资源,据说Dr. Moritz Lehmann是英特尔GPU软件开发工程师,应该是不缺计算资源的吧。

FluidX3D没有预编译版本,想要体验使用的话,可以从仓库下载源代码,然后利用Visual Studio打开,编译后才能运行。源代码中预置了不少的案例,有兴趣的道友可以自行尝试。

不过个人觉得,这玩意儿其实还是挺费计算资源的,工业应用目前还很难。LBM方法虽然天生适合并行和GPU计算,但是计算结果非常依赖于格点密度,在计算资源消耗方面要比FVM等传统方法大得多,妥妥的属于富人的玩具。

从FluidX3D提供的示例来看,要使用其求解问题,需要进入到源代码中进行程序编制,不是太方便。

后面有时间再耍。



来源:CFD之道
SolidWorks
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-12-05
最近编辑:1月前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2585粉丝 11519文章 756课程 27
点赞
收藏
作者推荐

利用CFX计算卡门涡街的完整流程

本文摘要(由AI生成):本文介绍了利用CFX计算卡门涡街的完整流程,包括计算模型、CFX设置、计算结果等。其中,CFX设置包括启动CFX、导入计算网格、计算类型设置、定义表达式、新建材料、计算区域设置、边界条件设置、Output控制、创建初始值、设置求解控制参数和解算计算等步骤。计算结果包括基本结果和曲线显示两部分。本案例演示利用CFX计算卡门涡街的完整流程。1 计算模型计算模型如图所示。圆柱直径2m,计算模型雷诺数100,属于层流涡街。2 CFX设置2.1 启动CFX启动CFX,如下图所示设置Work Directory,点击按钮CFX-Pre启动CFX点击工具栏按钮New Case打开设置对话框,选择General项,点击按钮OK新建Case2.2 导入计算网格选择菜单File → Import → Mesh…打开文件选择对话框如下图所示选择网格文件F10_S10_B15_Hex010.cfx5,点击OK按钮导入网格文件导入模型如图所示。2.3 计算类型设置如图所示,双击模型树选项如下图所示设置计算类型为Transient,设置Total为20 s,设置Timesteps为0.01 s2.4 定义表达式如下图所示定义相应的表达式2.5 新建材料如下图所示新建材料MyFluid,并指定材料属性2.6 计算区域设置鼠标双击模型树节点Default Domain打开区域设置面板进入Basic Settings标签页,如下图所示设置Material为MyFluid进入Fluid Models标签页,设置Heat Transfer Option为None,指定湍流模型为None(Laminar),点击OK按钮关闭面板2.7 边界条件设置1、添加边界inlet右键选择节点Default Domain,选择弹出对话框Insert → Boundary插入边界如下图所示指定边界名称为inlet,点击OK按钮打开设置面板进入面板Basic Settings标签页,设置Boundary Type为Inlet,指定Location为IN,如下图所示进入Boundary Details标签页,如下图所示指定速度为FlowVelocity,点击OK按钮关闭对话框2、插入出口边界outlet如下图所示插入边界指定边界名称为outlet如下图所示指定边界位置为OUT指定出口边界压力为0 Pa3、壁面边界插入边界Cylinder,如下图所示指定边界位置,其他参数保持默认设置插入壁面RightWall指定边界为Free Slip Wall插入壁面LeftWall指定边界为Free Slip Wall4、定义对称边界插入边界 sym1插入边界sym2注:CFX中计算二维模型必须定义对称边界。2.8 Output控制点击工具栏按钮Output Control打开输出控制设置对话框如下图所示定义文件保存频率定义表达式CdCylinderExpression为(force_x()@Cylinder*2)/(FluidDensity * FlowVelocity^2*0.5[m]*2[m])定义表达式ClCylinderExpression为(force_y()@Cylinder*2)/(FluidDensity * FlowVelocity^2*0.5[m]*2[m])如下图所示定义监测点CdCylinder相同方式定义下表所示的监测点2.9 创建初始值点击按钮Global Initialization弹出设置对话框定义U为FlowVelocity,定义v为tan(10[deg]*(pi/180[deg]))*FlowVelocity *step(x/1[m])2.10 设置求解控制参数鼠标双击模型树节点Solver Control弹出参数设置面板如下图所示指定求解控制参数点击工具栏按钮Define Run软件会自动打开求解管理器。2.11 求解计算如下图所示设置并行计算参数,指定CPU数量,点击按钮Start Run开始求解计算监测得到的升力系数曲线监测得到的Monitor3速度曲线注:这里注意输出监测数据,可以在图形显示窗口点击鼠标右键,选择Export Plot Data…将数据保存为CSV文件。注意修改x坐标为时间,默认情况下为时间步数,这里需要修改。计算完毕后如下图所示,选中选项Post-Process Results,点击OK按钮打开CFD-Post进行后处理3 计算结果3.1 基本结果20s时刻速度分布速度随时间变化注:受容量限制,这里对GIF的帧数做了大幅删减。3.2 曲线显示插入Chart如下图所示指定参数原始数据显示如图所示激活Fast Fourier Transform,如下图所示指定参数指定x轴坐标范围1~5,如下图所示指定Y Function为Magnitude,如下图所示绘制图形如下图所示可看到最大值对应的频率为1.5Hz。计算Strouhal数为:实验测量值为0.164,可以通过加密计算网格提高计算精度。推荐课程69个Fluent2023R1验证案例:SCDM、Mesh、Fluent以及CFD-Post流体仿真

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈