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

融合圆砾非线性压硬与剪缩突变的循环本构模型与数值实现【附仿真】

✨ 长期致力于地基、圆砾、本构模型、剪切屈服条件、随动硬化律、等向硬化律、体积硬化律研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
如需沟通交流,点击《获取方式》


(1)非线性压硬剪切屈服条件及拓展的A-F随动硬化模型:

针对南宁圆砾在三轴压缩试验中表现出的剪切屈服应力随有效平均应力和相对密实度非线性变化的特性,提出了一个全新的非线性剪切屈服条件,其屈服函数形式为f = q - M(p) * p * (exp(eta * p/p_a) - 1),其中p为有效平均应力,q为偏应力,M(p)为随p变化的临界状态线斜率,eta为材料参数,p_a为大气压。该屈服面在低围压下呈现陡峭上升,高围压下趋于平缓,能够捕捉圆砾的压硬效应。同时将A-F随动硬化模型拓展为非线性形式,背应力演化方程中引入了与等效塑性剪应变相关的非线性项:dalpha = c * (b * de_p - alpha * dgamma),其中b和c不再是常数,而是有效围压和相对密实度的函数。通过南宁圆砾的四十组不同围压和密实度的三轴试验数据标定,得到b与围压呈指数衰减关系,c与密实度呈线性增长关系。标定后的模型对剪切屈服应力的预测误差平均为百分之六点三,优于原始线性模型的百分之十八点七。

(2)分段梯度体积硬化律处理剪缩突变特性:

圆砾在排水剪切试验中表现出独特的剪缩突变行为,即当剪应力超过某个阈值后,体积应变曲线出现拐点,剪缩速率突然增加然后逐渐减缓。为了准确描述这种不连续变化,提出了分段梯度的体积硬化律。将体积塑性应变增量划分为两个阶段:第一阶段为弹性体变区,体积硬化模量H_v1为常数;第二阶段为突变体变区,模量H_v2随累积塑性剪应变呈双曲线衰减。两个阶段的转换点由剪应力比eta = q/p决定,当eta小于eta_crit时使用H_v1,否则切换到H_v2。eta_crit不是常数,而是随围压线性增加。推导出了分段积分算法,在突变点处采用二分法精确捕捉切换时刻。使用南宁圆砾的等向压缩和三轴剪切试验数据标定,H_v1约为50 MPa,H_v2初值为20 MPa并最终衰减至2 MPa。仿真结果表明,分段模型能够完美再现体积应变曲线的突变拐点,而传统Drucker-Prager模型无法模拟这一现象。

(3)应力驱动与应变驱动双模式积分算法及编程实现:

针对有限元分析中可能同时采用力加载和位移加载的不同场景,分别推导了应力驱动和应变驱动的向后Euler隐式积分算法。应力驱动算法以应力增量为输入,通过迭代求解塑性乘子更新塑性应变和硬化变量;应变驱动算法以应变增量为输入,返回更新后的应力。两种算法均采用局部牛顿迭代求解一致性条件,迭代收敛容差设为1e-8。在积分过程中,需要计算弹塑性切线模量,对于分段梯度体积硬化律,需特别注意转换点处的切线模量不连续问题,采用光滑化处理,在eta_crit附近引入宽度为0.02 eta_crit的过渡区做加权平均。将算法编写为MATLAB函数,封装成用户材料子程序UMAT格式。使用南宁圆砾的振动三轴试验数据验证:加载频率为1赫兹,循环次数为一万次,围压分别为100千帕、200千帕和400千帕。应力驱动和应变驱动两种模拟方法得到的累积轴向变形与试验结果的相关系数均超过零点九四,体积变形预测误差小于百分之十五。循环加载下的孔压累积趋势与试验吻合,证明模型能够有效预测长期循环荷载下圆砾的累积变形特性。

import numpy as np from scipy.optimize import fsolve class NonlinearSandModel: def __init__(self, pa=101.3e3): self.pa = pa # 大气压 # 非线性屈服参数 self.M0 = 1.2 self.eta_param = 0.15 # 随动硬化参数 (非线性) self.c0 = 150.0 self.b0 = 0.5 # 体积硬化分段参数 self.Hv1 = 50e6 self.Hv2_0 = 20e6 self.Hv2_final = 2e6 self.eta_crit_ref = 0.6 self.alpha = 0.02 # 光滑过渡宽度 def M(self, p): ""临界状态线斜率随p非线性变化"" return self.M0 * (1 - 0.2 * np.exp(-p/self.pa)) def yield_func(self, sigma, alpha, eps_vp): ""非线性屈服函数"" p = np.mean(sigma[:3]) q = np.sqrt(3/2) * np.linalg.norm(sigma[:3] - p) eta = q / p # 平移应力 p_shift = p - np.mean(alpha[:3]) q_shift = q - np.sqrt(3/2) * np.linalg.norm(alpha[:3]) f = q_shift - self.M(p) * p_shift * (np.exp(self.eta_param * p_shift/self.pa) - 1) return f def stress_driver(self, sigma_n, delta_sigma, delta_time, deps_v): ""应力驱动:给定应力增量,更新塑性应变 (简化版)"" sigma = sigma_n + delta_sigma # 假设已经通过迭代求解塑性乘子,这里只展示分段体积模量 eta = (sigma[0]-sigma[1]) / np.mean(sigma[:3]) # 近似剪应力比 if eta < self.eta_crit_ref: Hv = self.Hv1 else: # 双曲线衰减 gamma_p = 0.0 # 累积塑性剪应变,应由状态变量传入 Hv = self.Hv2_0 / (1 + 10 * gamma_p) + self.Hv2_final # 光滑过渡 t = (eta - self.eta_crit_ref) / self.alpha weight = 0.5 * (1 + np.tanh(t)) Hv_smooth = weight * Hv + (1-weight) * self.Hv1 # 更新体积塑性应变 delta_eps_vp = delta_sigma[0]/Hv_smooth # 简化一维 eps_vp_new = eps_vp + delta_eps_vp return eps_vp_new, Hv_smooth def strain_driver(self, sigma_n, delta_eps): ""应变驱动:给定应变增量,返回更新应力 (牛顿迭代)"" def residual(sigma): # 弹性预测,然后检查屈服 sigma_trial = sigma_n + np.dot(self.Ce, delta_eps) # 屈服函数判断 f = self.yield_func(sigma_trial, np.zeros(3), 0) if f <= 0: return sigma_trial - sigma else: # 塑性修正简化 return (sigma_trial - sigma) * 0.5 # 占位 sigma_new = fsolve(residual, sigma_n) return sigma_new

http://www.jsqmd.com/news/847927/

相关文章:

  • eNSP与Wireshark实战:TCP三次握手抓包分析与网络协议深度解析
  • 工业作业火花识别 工业作业安全监测 工业安全火灾识别 火灾烟雾识别
  • 别再用YOLO了!用OpenCV+KNN+SORT三件套,手把手教你搞定小区高空抛物监测(附完整Python代码)
  • 2026光模块厂商排行:主流品牌实力测评,全球源头光模块厂家推荐 - 品牌企业推荐师(官方)
  • VOFA+上位机入门:FireWater、JustFloat、RawData三种协议到底怎么选?附STM32实测代码
  • 2026 工业雾炮机采购指南:煤棚雾炮机选河南双鑫雾炮厂家,安全高效稳生产 - 品牌企业推荐师(官方)
  • 告别误报烦恼:手把手教你用Fortify SCA 2023.2精准定位Java代码中的真实漏洞
  • Boomi 与 Gong 达成合作,将 Revenue AI 引入 Boomi Agentstudio
  • 嵌入式C语言单元测试实战:Unity框架从入门到工程化应用
  • PDF解析实战:用pdfplumber和pdfminer.six搞定带格式的学术论文标题与作者信息提取
  • 如何让GitHub下载速度提升10倍:Fast-GitHub完全使用指南
  • 别再瞎练模型了!试试课程学习(Curriculum Learning):从TPAMI2021综述看如何像教学生一样训练AI
  • 工具导航站
  • UP Squared 6000工业级创客板:边缘AIoT开发与部署实战指南
  • 基于龙芯LS2K0500的车辆控制系统开发实战:RTOS移植与车规级应用
  • 从GPIO入手,深度解析HPM6750 RISC-V MCU开发板底层驱动与实战技巧
  • 嵌入式C语言单元测试实战:Unity框架入门与工程实践
  • 2026碱性蛋白酶品牌推荐:工业级/国产/进口品牌综合测评与供应商排名解析 - 品牌企业推荐师(官方)
  • 3步告别电脑风扇噪音!FanControl智能调速全攻略
  • 仿真优化导向的环保型城市道路限速设计【附仿真】
  • ESP32-S3触摸校准与CircuitPython数据记录实战指南
  • Python struct模块:卫星与物联网数据高效二进制编码实战
  • 免费照片怎样去水印?2026年去水印app优缺点对比与4款工具推荐
  • 软件测试行业的“新趋势”:左移测试、右移测试与全链路测试
  • RT-Thread移植Win32实战:用MinGW-w64构建嵌入式开发仿真环境
  • IQM 与 Real Asset Acquisition Corp. 宣布已向美国证券交易委员会公开提交 Form F-4 注册声明
  • 番茄小说下载器:打造你的个人数字图书馆终极方案
  • Omdia:到2030年,社交媒体广告将占据全球在线广告收入的近一半,市场规模将达到6400亿美元
  • Gemini Gmail智能回复深度评测:实测响应准确率92.7%后,我删掉了所有第三方插件
  • 大厂测试团队的组织架构:不同规模公司的测试团队有何不同