news 2026/4/16 13:15:39

实验室里折腾多孔介质的时候,最让人头秃的莫过于看着两种流体在孔隙里掐架。想象一下往咖啡粉里倒热水——水怎么渗透的?油怎么被顶出去的?这背后全是两相流的宫斗大戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实验室里折腾多孔介质的时候,最让人头秃的莫过于看着两种流体在孔隙里掐架。想象一下往咖啡粉里倒热水——水怎么渗透的?油怎么被顶出去的?这背后全是两相流的宫斗大戏

多孔介质流动 多孔介质中的两相流动, 多尺度模拟,孔隙尺度建模,Darcy-Brinkman-biot理论。 可以模拟粘性指进,毛细管力驱动,接触角研究。 模拟驱替和渗吸过程。

先甩段代码热热身,用OpenFOAM搞个孔隙级模拟:

# 定义两相流场 twoPhaseSystem = TwoPhasePhaseSystem( phase1=Air, phase2=Water, porousZone=foam.PorousZone( permeability=1e-9, # 渗透率像堵车似的 porosity=0.35 # 孔隙率比海绵蛋糕还密 ) ) solver = PimpleFoam( timeSchemes=[Backward], nNonOrthogonalCorrectors=2 ) solver.run(endTime=0.1)

这段代码的核心是渗透率参数,单位是m²。1e-9什么概念?相当于沙子的渗透能力。当两相流体在这种介质里较劲时,Darcy方程可能hold不住了,得搬出Brinkman修正项来救场:

$$

\mu_{eff} \nabla^2 \mathbf{u} = \frac{\mu}{K} \mathbf{u} + \nabla p

$$

这个式子妙在左边是粘性项,右边是达西阻力,相当于让Navier-Stokes和Darcy两派大佬握手言和。实际模拟时要注意有效粘度μ_eff的取值,这货经常在孔隙尺度与宏观尺度之间反复横跳。

说到尺度问题,最近在折腾多尺度耦合。举个栗子,用Python的PoreSpy生成微观结构:

import porespy as ps im = ps.generators.blobs(shape=[500,500], porosity=0.6) props = ps.metrics.pore_size_distribution(im)

生成的孔隙网络活像显微镜下的砂岩(图1)。但直接拿这个做全场模拟?算到明年也出不来结果。机智的搞法是把微观参数升尺度到宏观模型——比如把局域毛细管压力曲线打包成等效参数。

驱替过程的代码更有意思,粘性指进现象堪比流体界的闪电:

// 表面张力项处理 volScalarField pc = pcModel->pc() * (1.0 - saturation); surfaceScalarField phic = fvc::interpolate(pc) * mesh.magSf(); // 求解饱和度方程 fvScalarMatrix sEqn ( fvm::ddt(s) + fvm::div(phi, s) == fvm::laplacian(M, s) + fvc::div(phic) );

关键在laplacian项里的M——流动特性矩阵,它决定了粘性指进的分叉程度。当注入速度超过某个阈值时,界面就开始发疯似的分叉,这时候需要自适应网格来捕捉细节(图2)。

最后说说接触角这个磨人精。实验室测接触角要烧香拜佛,数值模拟也没好到哪去。用VOF方法处理三相接触线时,边界条件要这么玩:

contact_angle = 60 # 亲水表面 mesh.boundary['wall'].setContactAngle( angle=contact_angle, limiter=ContactAngleLimiter.COSINE )

这个角度参数能让流体界面在固体表面"站"成特定姿势。但实际中发现,动态接触角跟静态设定值能差出20度——所以最新算法开始用神经网络实时预测接触角变化。

折腾完这些,终于能看着模拟动画里两种流体像贪吃蛇一样在孔隙迷宫里你追我赶。虽然头发掉了一地,但看着粘性指进的枝状分叉在屏幕上绽放,比看烟花还带劲——当然,前提是别问我算这个用了多少CPU小时。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:54:10

美颜SDK算法工程师实践笔记:滤镜与特效模块的可维护性设计

作为一个深耕美颜SDK的算法工程师,我常常会遇到一种“技术人的倔强”:只想把效果做到极致,却往往忽略了另一个决定产品寿命关键点的要素——可维护性。尤其在滤镜、特效模块这种 更新频率高、参与人员多、跨平台适配复杂 的领域,如…

作者头像 李华
网站建设 2026/4/15 12:38:58

springboot基于vue的护士资格在线练习和模拟考试系统的设计与实现_m23x6tm9

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/4/16 15:47:39

可信数据空间:驱动社会高质量发展的“数字基石”,必要性无可替代

数据已成为继土地、资本、劳动力之后的核心生产要素。而可信数据空间作为数据流通利用的关键基础设施,其建设与发展不仅是国家战略部署,更是推动社会高质量发展的必然选择。在《可信数据空间发展行动计划(2024—2028年)》的指引下…

作者头像 李华
网站建设 2026/4/15 18:59:07

什么是UUID,怎么组成的?

UUID的定义UUID(Universally Unique Identifier)是一种128位的标识符,用于在分布式系统中唯一标识信息。其设计目标是保证在时间和空间上的全球唯一性,无需中央注册机构即可生成。UUID的组成结构UUID由32个十六进制数字组成&#…

作者头像 李华