当前位置: 首页 > news >正文

Abaqus水力压裂模拟:基于Cohesive单元与XFEM的方法研究

abaqus水力压裂 1 基于Cohesive单元的二维水力压裂模拟 2基于Cohesive单元的三维水力压裂模拟 3水力裂缝与天然裂缝相交模拟-Cohesive单元法 4裂缝发育地层的水力压裂模拟-Cohesive单元法 5基于XFEM的水力裂缝转向模拟 6基于XFEM的水平井多段压裂裂缝的缝间干扰问题研究

水力压裂数值模拟总让人头大,今天咱们来点硬核实操。用Abaqus搞裂缝扩展,核心玩法就两种:Cohesive单元和XFEM。先说Cohesive这个万金油,二维模型里塞上它就像给地层装了个智能裂缝开关。

做二维水力压裂时,材料定义脚本得这么玩:

mdb.models['Model-1'].Material(name='Cohesive') mdb.models['Model-1'].materials['Cohesive'].CohesiveZoneProperty(table=((0.1, 10.0, 0.5),)) mdb.models['Model-1'].materials['Cohesive'].elastic.Type=TRACTION mdb.models['Model-1'].materials['Cohesive'].elastic.table=((1e6, 1e6, 1e6),)

这里弹性刚度设成1e6是个经验值,太小容易数值发散,太大又会影响裂缝张开速度。断裂能参数0.5对应页岩的典型值,搞砂岩的兄弟得往上调到2.0左右。

三维模型就刺激了,网格质量直接决定会不会算崩。建议用扫掠网格配合粘性正则化:

mdb.models['Model-1'].steps['Step-1'].stabilizationScaleFactor=1e-5 mdb.models['Model-1'].steps['Step-1'].stabilizationMethod=DISSIPATED_ENERGY_FRACTION

这个粘性系数要是设大了计算结果会失真,设小了迭代十几次都收不敛,试过凌晨三点调参调到怀疑人生的举个手。

遇到天然裂缝交叉的情况,接触定义必须骚操作:

interaction = mdb.models['Model-1'].ContactProperty('Fracture-Contact') interaction.tangentialBehavior(formulation=PENALTY, directionality=ISOTROPIC) interaction.normalBehavior(pressureOverclosure=HARD)

这里罚函数刚度建议从材料刚度的1%开始试,方向性参数用各向同性更稳当。实测用指数衰减接触反而容易在裂缝尖端出现鬼畜抖动。

XFEM才是真正的裂缝魔术师,搞转向模拟时注意这个参数:

mdb.models['Model-1'].materials['Shale'].xfemCrackGrowth = True mdb.models['Model-1'].materials['Shale'].crackCurvatureType = KINKING mdb.models['Model-1'].materials['Shale'].crackKinkingAngle = 45.0

设置45度转向角时别太耿直,实际会根据应力场动态变化。遇到过转向角锁死的兄弟可以在材料属性里把软化定律从线性改成指数试试。

水平井多缝干扰问题最能检验模型可靠性,重点看这段流量分配代码:

mdb.models['Model-1'].FluidExchangeProperty(name='MultiStage') mdb.models['Model-1'].fluidExchangeProperties['MultiStage'].dependence=ON mdb.models['Model-1'].fluidExchangeProperties['MultiStage'].table=((0.01, 0.0), (0.1, 0.5))

流量-压力关系表里第二个参数0.5是缝间干扰系数,实际压裂时超过0.3就会明显出现主缝抢流量现象。建议配合现场微地震数据反演这个参数,比教科书上的推荐值靠谱得多。

最后说个血泪教训:千万别在Cohesive单元和XFEM混用的时候开几何非线性,算到一半单元扭曲得亲妈都不认识。真要玩高阶的,先把单元尺寸砍到1/3再说。

http://www.cnnetsun.cn/news/158664.html

相关文章:

  • 44、COMSOL模拟二维裂隙流压裂水平井裂缝性油藏离散裂缝网络模型COMSOL数值模拟案例
  • 今天咱们来聊聊ReliefF算法,一个在分类数据特征选择中相当实用的工具。废话不多说,直接上代码,边看边聊
  • MATLAB R2018A环境下的液相色谱信号自动调优降噪算法——交叉验证作为参数调节器
  • 计算机Java毕设实战-基于springboot的足球训练营系统的设计与实现设计与实现基于SpringBoot的青训足球综合运营平台设计与实现 【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2025年软件测试技术发展趋势与从业者应对策略
  • 电驱动(电机+电控)开发验证方法与技巧的高清视频教程,深入讲解精细技术,掌握实用技巧
  • 每天24小时的电价(元/kWh)
  • C#编程下的自定义控件与OpenCVSharp结合应用:卡尺测距功能实现
  • NGBoost-shap方法回归任务,由斯坦福吴恩达团队提出,属于集成模型的一种2019年提出的
  • Langchain-Chatchat Kubernetes集群部署策略
  • Langchain-Chatchat日志监控与性能分析最佳实践
  • Langchain-Chatchat模型微调指南:适配垂直领域任务
  • 如何配置IPv6静态路由?解决企业网络难题
  • 【Linux网络基础】详解 TCP 面向连接 vs UDP 无连接
  • Langchain-Chatchat如何评估问答质量?指标体系构建
  • springboot在线教育系统(11528)
  • 测了多款AI自动生成PPT工具,真正能用的不到一半
  • springboot星之语明星周边产品销售网站的设计与实现(11529)
  • 毕设救星:Spring Boot + Neo4j 打造“医疗知识问答”——基于知识图谱的智能导诊平台
  • 华为网络设备基本配置命令
  • 志同道合交友网站毕业论文+PPT(附源代码+演示视频)
  • 【Java 25 LTS六大核心特性】
  • Langchain-Chatchat助力医疗文档智能检索与问答
  • Langchain-Chatchat如何实现文档相似度比对?查重与去重依据
  • java学习--String和StringBuffer互转
  • 如何用Langchain-Chatchat实现本地化AI智能问答?
  • Langchain-Chatchat如何处理多义词歧义?上下文感知消歧算法
  • Langchain-Chatchat如何实现文档访问统计?了解知识使用情况
  • Langchain-Chatchat与Argo CD持续交付集成:自动化部署流水线
  • Langchain-Chatchat与Consul服务发现集成:动态节点管理