首页/文章/ 详情

PFC双向流固耦合

6月前浏览8369

       PFC中流固耦合目前有两种方法,一种是使用PFC自带的CFD模块,这种方法建模简单计算快,但是只考虑了流体对颗粒的影响,没能考虑颗粒对流体的影响,所以一般称之为单向耦合。

        今天介绍一种利用Python的Fipy库在PFC内实现双向流固耦合,即既考虑流体对颗粒的影响也考虑颗粒对流体的影响。本文使用的为PFC自带的darcy.py案例进行修改。

        首先看几张效果图

3.png2.png4.png
PFC内生成的流体网格流体的流速场颗粒运动场


       下面来看具体的实现过程

       由于Fipy库的函数只能生成方形区域,而在实际应用中区域往往是不规则的,Fipy是支持从外部导入网格,但是却只支持导入Gmsh的网格。当我们满心欢喜的把Gmsh网格导入Fipy的时候,会遇见报错,提示Gmsh版本必须大于等于2.0。后面经过各种查找资料,我确认使用Gmsh划分网格这条路已经走不通了。万幸我们学校研究生课程有有限元的相关必修课,于是不得不捡起一年前学的Abques,利用Abques划分网格,之后通过Python的meshio库将Abques的inp文件转成Gmsh的msh文件,并通过可视化工具查看了导入Fipy中的效果图。

spacer.gif

屏幕截图 2024-04-30 103036.png屏幕截图 2024-04-30 103115.png
Abques单元Fipy单元

        此外由于Fipy中单元节点编号混乱,我们不能直接将Fipy中的流体单元转化成PFC中的CFD单元,还需使用“是要早起的钻钻”大佬编写的MATLAB程序把Abques的节点坐标信息和网格节点编号信息转化成PFC可读取的文件。至此,我们的网格就成功生成。

目前已经可以实现粗粒土渗流实验数值模拟,基坑渗流模拟,再结合PFC其他案例还可以实现注浆模拟。大家可根据自己的需求自行修改代码。

如需全部代码也可私信联系我

流-固&热耦合二次开发岩土离散元PFC
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-06
最近编辑:6月前
孙可乐
签名征集中
获赞 6粉丝 9文章 2课程 0
点赞
收藏
未登录
4条评论
kalent
签名征集中
5月前
可以分享一下代码吗
回复 1条回复
孙可乐
签名征集中
5月前
442327678建了一个企鹅群,感兴趣的可以加入,目前为新建群,里面几乎没人,我也是刚刚接触流固耦合不久,可以一起交流
回复
难道不是吗土豆
签名征集中
5月前
可以创建一个QQ学习群。大家一起学习讨论。🥺🥺🥺🥳
回复
难道不是吗土豆
签名征集中
5月前
大佬求代码。
回复 2条回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈