OpenFOAM-多孔介质模型(porous media)
文章目录
- 一、多孔介质(porous media)
- 二、使用步骤
- 1.达西定律
- 2.Darcy-Forchheimer
- 3.OpenFOAM fvOptions
- 4.paraview动画每帧显示时间(Annotate Time)
- 5.参考内容
- 总结
一、多孔介质(porous media)
在流体力学中,流体流经多孔介质是指流体流经多孔介质时的行为方式,如海绵或木材,或使用沙子或其他多孔材料过滤水。
我们将展示如何设置多孔层,并使用OpenFOAM模拟流体通过该介质。
二、使用步骤
1.达西定律
达西定律最初是由达西通过实验确定的,但后来通过均匀化方法从Navier-Stokes方程推导出来。热传导领域类似于傅里叶定律,电网络领域类似于欧姆定律,扩散理论类似于菲克定律。
达西定律的一个应用是用于分析通过含水层的水流;达西定律和质量守恒方程简化了水文地质基本关系之一的地下水流动方程。
2.Darcy-Forchheimer
Darcy Forchheimer模型用于模拟多孔介质,允许我们在流体域内简单地添加一个孔隙带,而无需任何费用。
在动量方程中,Sm作为源项
D和F在fvOption中修改
3.OpenFOAM fvOptions
为了使用这个模型,你必须把fvOptions文件放到 0/constant 常量文件夹中,其中包括以下内容:
达西公式
0/constant/fvOptions
porosity1
{type explicitPorositySource;//模拟多孔介质区域(显示)active yes;explicitPorositySourceCoeffs{selectionMode cellZone;//在toposet中配置cellZone fixedWalls;//在toposet中配置type DarcyForchheimer;f 4050; d 0; //本案例不考虑粘性损失DarcyForchheimerCoeffs{d ($d $d $d);f ($f $f $f);coordinateSystem{type cartesian;origin (0 0 0);coordinateRotation{type axesRotation;e1 (1 0 0);e2 (0 1 0);}}}}
}
多孔介质模型的位置
0/system/topoSetDict
actions
({name porousWalls;type cellSet;//faceSet;action new;source boxToCell;sourceInfo{box (0 0 -1) (0.2 1 1); }} //faceZone:leftAndRightWall{name fixedWalls;type cellZoneSet;//faceZoneSet;action new;source setToCellZone;sourceInfo{ //faceSet porousWalls;set porousWalls;}} );
4.paraview动画每帧显示时间(Annotate Time)
paraview动画每帧显示时间(Annotate Time)
- 点击Filters->Alphabetical->ProgrammableFilter,在Properties->Script中设置以下两段代码中任意一段,按照自己的需求选择并修改
pdo = self.GetOutput()
sexaTime = vtk.vtkFloatArray()
sexaTime.SetName("SexaTime")
t = inputs[0].GetInformation().Get(vtk.vtkDataObject.DATA_TIME_STEP())
#convertedTime = t+18.5 #compute your time here in python
convertedTime = t//12+18+(t*5)%60/100
sexaTime.InsertNextValue(convertedTime)
pdo.GetFieldData().AddArray(sexaTime)
#set as string
pdo = self.GetOutput()
sexaTime = vtk.vtkStringArray()
sexaTime.SetName("SexaTime")
t = inputs[0].GetInformation().Get(vtk.vtkDataObject.DATA_TIME_STEP())
#timeAsAString = f(t) #compute your time here in python in a string format
s1=t//12+18
s2=(t*5)%60
timeAsAString = str(t//12+18)+':'+str((t*5)%60)
sexaTime.InsertNextValue(timeAsAString)
pdo.GetFieldData().AddArray(sexaTime)
- 在Pipeline Browser中选中ProgrammableFilter然后点击Filters->Annotation->AnnotateGlobalData,然后在Properties中设置AnnotateGlobalData的显示格式
结果如下所示:
5.参考内容
Paraview设置动画显示时间(Annotate Time)格式:https://www.jianshu.com/p/404f183e7a77
DarcyForchheimer-openfoamwiki:
https://openfoamwiki.net/index.php/DarcyForchheimer
fvOptions----运行时可选的物理操作:https://blog.csdn.net/hanbingchegu/article/details/107417054
DarcyForchheimer-openfoamwiki:
https://openfoamwiki.net/index.php/DarcyForchheimer
(详细)Flow through a porous media: using OpenFOAM:https://www.hyperlyceum.com/product/flow-through-a-porous-media-using-openfoam/
总结
OpenFOAM : fvOptions, topoSetDict; Paraview : Annotate Time
CFD小白的进阶之路。
OpenFOAM-多孔介质模型(porous media)相关推荐
- OpenFOAM多孔介质模型_DarcyForchheimer
OpenFOAM中添加多孔介质区域及进行相关计算可通过DarcyForchheimer模型来实现.具体步骤如下: (一)设置多孔介质区域 在"system"文件夹下添加" ...
- 二十、多孔介质模型案例
1 概念介绍 多孔介质就是固体物质内部和表面有许多孔隙,如海绵等,由固体物质组成的骨架和由骨架分隔成大量密集成群的微小空隙所构成的物质.多孔介质内的流体以渗流方式运动. Fluent自带多孔介质模型 ...
- 二十六、多孔介质模型(二)-催化器
1.概念介绍 许多工业应用,如过滤器.催化剂床和填料,都涉及到模拟通过多孔介质的流动.本案例为气体通过催化转换器的流动.催化转换器通常用于净化汽油和柴油发动机的所产生的废气,将有害环境的废气转化为可接 ...
- 为多孔介质的当量直径_CFX多孔介质模型介绍
本文主要介绍 ANSYS CFX 11.0 中多孔介质模型的使用方法.首先详细讲述了 Porosity Settings 对话框的填写方法,之后以附录形式给出了多孔介质模型中的定 义.术语.方程等供参 ...
- OpenFOAM编程:VOF法与多孔介质模型相结合
目的 VOF法可以捕获两流体相的界面,可以将其中的一相区域设置为阻力很大的多孔介质,以模拟固体(流体不可侵入).这样可以使VOF法捕获气-固界面.动量方程的源项为 S i = − D U i , 在 ...
- 在ABAQUS中使用多孔介质模型
ABAQUS软件可以进行渗流/应力耦合分析,上一篇博文也提到过,ABAQUS里很多的本构模型可以与多孔介质一起结合使用,这意味着可以对那些本构模型描述的材料或对象进行渗流/应力耦合分析.ABAQUS使 ...
- Fluent多孔介质模拟固体区域(观点)
简介 Fluent多孔介质仿真的具体步骤可以参考[简单学微课堂]Fluent多孔介质应用 需要注意多孔介质区与流体介质区都属于"流体"材料.二者的交界面一定要设成interior ...
- FLUENT多孔介质数值模拟设置【转载】
转载自:http://zhengjun0228.blog.163.com/blog/static/71377014200971895419613/ 多孔介质条件 多孔介质模型可以应用于很多问题,如通过 ...
- 毕业了——课题代码开源(三)使用Palabos的自由表面流模型仿复杂多孔介质中的液滴渗透
简介 对于多相流模拟,Palabos中也是实现了很多,比如shanchen模型做的瑞丽-泰勒不平衡和两相混合器,还有helee模型做的双液滴碰撞,怎么说呢,我都跑过,但是,由于我的体系是气体和水,密度 ...
最新文章
- Scala Collection体系介绍
- TortoiseGit:拉代码密码错误remote: Coding 提示: Authentication failed! 认证失败,请确认您输入了正确的账号密码
- Androd开发之通过ComponentName和setComponent以及scheme打开外部应用 | 打开任意页面 | 打开指定页面
- matlab浮点数求绝对值_MATLAB仿真阵列天线切比雪夫综合法(附代码)
- 单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?
- ASP.Net请求处理模式
- Bootloader和App例程,实现M0基于UART的IAP升级功能,升级过程中通信中断,重新上电后Bootloader仍可运行。实现平台:STM32F030R8
- 95-30-050-java.util-LinkedHashMap
- Openresty 学习笔记(一)opm 工具的使用
- Caffe学习:Loss
- 【MDCC 2016】硬件产品开发峰会:硬件创业、创新之道深入探索
- 小程序流量主运营技巧
- HTML学生个人网站作业设计——HTML+CSS+JavaScript简单的大学生书店网页制作(13页) web期末作业设计网页 web结课作业的源码 web网页设计实例作业
- 轻轻松松实现角度转换(弧度度分秒)
- linux虚拟机usb网卡驱动,【Vbox】centos虚拟机安装usb网卡驱动
- 我的数模之旅(开始)
- Unity3d游戏引擎Windy系列教程:常见组件扫盲讲解引入unity所需的脚本语言基础
- 区块链在个性化推荐系统中的应用研究综述
- rabbitmq链接超时_RabbitMQ前置SLB中TCP连接超时900秒限制
- 【win技巧】Windows10支持快捷键右键菜单新建文本文档
热门文章
- java设计模式 课后习题参考答案 第 2 章 面向对象设计原则 清华出版社 刘伟
- USB Type-c手机无线领夹麦克风(MIC)快充方案,直播神器
- Java 8 辣么大(lambda)表达式不慌之—–(三)Consumer
- vue实现鼠标放上去就有提示_Vue实现鼠标经过文字显示悬浮框效果的示例代码
- C实现Unix时间戳和本地时间转化
- 最新cydia安装包和依赖包
- 3 Symmetry Group
- 缺少libcrypto-1_1-x64.dll以及缺少libssl-1_1-x64.dll问题,免费下载链接。
- ENVI5.3.1Landsat 8影像基于单窗算法和辐射传输方程进行地表温度反演
- AlarmManager的正确使用姿势