news 2026/4/3 4:48:01

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

作者头像

张小明

前端开发工程师

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/1 5:52:22

GPT-5.2果然反超谷歌Gemini 3 Pro!北大数院校友核心贡献

红色警报拉响,OpenAI是真急了:30天,GPT-5.2系列紧接着GPT-5.1而来,这次还专门强化了打工能力。红色警报拉响,OpenAI是真急了:30天,GPT-5.2系列紧接着GPT-5.1而来,这次还专门强化了打…

作者头像 李华
网站建设 2026/3/31 6:50:37

《Git 入门:从 0 到 1 玩转 Gitee 仓库》 一

版本控制是编程学习和项目开发中不可或缺的技能,而 Git 作为最流行的分布式版本控制系统,搭配 Gitee 仓库可轻松实现代码的备份、版本管理与协作。但对新手而言,“仓库创建、远程连接、提交拉取” 等操作往往让人无从下手,甚至卡在…

作者头像 李华
网站建设 2026/4/1 11:30:51

springboot基于vue的故宫博物馆文创网店商城系统的设计与实现_oj61901i

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

作者头像 李华
网站建设 2026/4/2 8:33:09

BERT 变体综述:RoBERTa、ALBERT 与 DistilBERT 的架构与优化策略

【精选优质专栏推荐】 《AI 技术前沿》 —— 紧跟 AI 最新趋势与应用《网络安全新手快速入门(附漏洞挖掘案例)》 —— 零基础安全入门必看《BurpSuite 入门教程(附实战图文)》 —— 渗透测试必备工具详解《网安渗透工具使用教程(全)》 —— 一站式工具手册《CTF 新手入门实战教…

作者头像 李华
网站建设 2026/3/24 2:52:29

springboot基于vue的毕业生信息管理系统的设计与实现_yl4u9ezc

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

作者头像 李华