首页/文章/ 详情

【科研论文】Minkowski和增强的高骨料体积分数混凝土三维细观结构模型

9天前浏览44
论文标题:Minkowski Sum–Enhanced 3D Mesoscale Structure Model for Concrete with High Aggregate Volume Fractions
论文作者:Qing-xiang MengKai-feng FanNing GuoJiu-chang Zhang*


研究背景

混凝土是工程复合材料的统称,其中骨料材料通过粘合材料粘合在一起成为一个有凝聚力的整体。混凝土作为当代土木工程的主要材料之一,具有生产工艺简单、成本低廉、原材料丰富的特点。此外,混凝土还具有高抗压强度、优异的耐久性和广泛的强度等级。它的应用非常多样化,不仅在土木工程领域,而且在机械工程、造船、地热工程等重要行业也是如此。在载荷的影响下,混凝土可能会发生变形或断裂,存在安全隐患。因此,研究混凝土的破坏演变过程具有重要的工程和理论价值。

混凝土作为一种非均相材料,表现出明显的非均质性。在细观建模中,混凝土可以分为各种不同的材料。大量实验结果表明,中尺度结构的特征,例如聚集体的体积分数、尺寸、角度和形状,可以影响此类材料的机械性能。可以采用实验室或现场测试来研究混凝土的机械性能和破坏模式;然而,但这种方法非常耗时且成本高昂。为了做出更准确的预测,有必要对混凝土进行真实的细观建模。



研究方法

本文提出了一种基于闵可夫斯基和与离散单元法(DEM)生成混凝土三维细观结构的方法。所提出的方法能够灵活、精确地模拟各种骨料形状和体积分数,这对于敏感性分析和计算研究至关重要。与传统的数字化方法不同,该技术专注于创建可调节的合成模型,以研究不同参数对混凝土机械性能的影响。该技术在生成复杂的凹型骨料和高骨料体积分数模型方面表现出显著优势,同时允许灵活控制颗粒间距,从而提高计算效率和模型准确性。

单个凹型三维颗粒的生成和clump颗粒填充:  

骨料的生成是混凝土细观建模的第一步,本文提出了一种基于蒙特卡罗随机采样原理的凹三维骨料生成方法。这种方法的优点是可以容易地改变骨料的大小和形状,包括了在球体上随机生成一系列顶点、随机的角度波动和半径波动、欧拉旋转等主要步骤,如图1所示。

图1 三维凹型骨料颗粒生成示意图

利用闵可夫斯基和理论(Minkowski Sum)扩展骨料颗粒从而灵活控制颗粒间的最小间距,并以此为模板填充为clump颗粒进行后续的离散元模拟,如图2所示。通过在初始骨料上增加一个圆盘,设置圆盘的半径可以灵活控制相邻骨料之间的最小间隙,骨料之间的接触甚至重叠会给后续的模型网格划分带来困难,因此应避免骨料之间相互接触和重叠。采用Minkowski Sum的优点在于,它能够在不改变骨料颗粒形状的情况下延伸指定的距离。这确保了后续DEM碰撞模拟的准确性。当用未延伸的骨料重建几何模型时,不会存在骨料之间的接触。

三维颗粒处理步骤示意图  


模型生成过程:

研究生成了骨料体积分数为30%(模型尺寸为100×100×100 mm)的3D细观混凝土模型,并基于网格模型划分为骨料和水泥浆。该模型的整个生成过程如图3所示。为了确保网格模型的高质量,所有网格都由三角形组成。此外,为了在控制计算时间的同时获得令人满意的模拟结果,确保几何模型中网格元素的尺寸范围在2到6mm之间。

三维混凝土细观结构模型的生成过程  

模拟结果:

图4显示了模拟和实验测试数据中的应力-应变曲线的比较(Chen等人,2018),证明两者之间具有良好的一致性,尤其是在初始弹性阶段。结果表明,所提出的建模方法能够准确反映混凝土单轴受压下的力学性能。图5展示了压缩过程中模型中的应变和相应的压缩损伤。应变和压缩损伤的区域在整个过程中是一致的,进一步验证了本研究所用模型和模拟方法的合理性。  

图4 单轴压缩下细观混凝土模型的应力-应变曲线  

图5 应变和压缩损伤云图




参数讨论

研究生成了四个混凝土的3D细观尺度模型,骨料体积分数范围为30%至60%,间隔10%,并且成功生成并划分了适合仿真的高质量有限单元网格模型,,如图6所示。这表明本文提出的建模方法可以根据需要轻松生成具有高骨料体积分数的3D细观混凝土模型,实现骨料体积分数达到60%甚至更高。  

图6 具有不同骨料体积分数的混凝土模型  

在相同的参数设置和加载条件下,对四种模型进行单轴压缩模拟,得到的应力-应变曲线如图7所示。该图表明,随着骨料体积分数的增加,混凝土试样的横向应变也增加,突出了横向体积膨胀的重要性。这可以归因于随着骨料含量的增加,内部应力集中和微裂纹扩展增加。更高的骨料分数导致更频繁的颗粒相互作用,使基质更容易在压缩下应力集中,这导致更大的横向膨胀。此外,较高分数的均匀骨料分布有助于提高混凝土强度。图7还显示,当骨料体积越高时,数值模拟预测混凝土强度越高,因为互锁和承载能力越高。然而,这种应力集中也加速了垂直微裂纹的形成,这解释了横向应变在较高体积分数下迅速增加的原因。

图7 不同骨料体积分数混凝土模型的应力-应变曲线

图8显示了最大应变为0.1%时各模型的压缩损伤。随着骨料体积分数的增加,混凝土模型中的塑性损伤区域变得更加分散,相应的最大抗压强度进一步提高。这与7所示的峰值应力随骨料体积分数增加的趋势完全一致。这是因为,在骨料分布均匀的条件下,较高的骨料含量可以有效地阻碍裂缝的扩展,分散应力集中区,从而显著提高混凝土的最大抗压强度,这与现有的研究结果相一致s (Zhao et al.2023; Zhou and Xu 2023).。因此,在设计混凝土时,必须确保足够的骨料含量和均匀的骨料分布,以提高其强度。  


 

不同骨料体积分数混凝土的压缩损伤图


研究结论  

本文提出了一种基于蒙特卡罗随机抽样、Minkowski和理论、离散元碰撞和粒子边界算法的混凝土三维细观建模方法。生成了具有复杂凹形骨料和周期性边界的体积分数细观混凝土模型,通过单轴压缩数值模拟与试验结果的对比,验证了模型的准确性和可靠性本研究初步探讨了骨料几何形状和体积分数对模拟结果的影响,并讨论了现有模型的局限性和约束条件。  

与现有的三维中尺度建模方法相比,该方法具有以下几个明显的优点:  

1.复杂的骨料形状且可调节。  

2.实现高骨料体积分数,提高计算效率。  

3.灵活控制最小颗粒间距的均匀骨料分布。  


来源:数字孪生与工程计算
ACT断裂复合材料碰撞UM离散元裂纹理论材料控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-29
最近编辑:9天前
Rockman
博士 | 副教授 十年饮冰
获赞 11粉丝 50文章 20课程 0
点赞
收藏
作者推荐

【仿真技术】简单的极限平衡计算的编程实现

引言笔者从教时间不长,只有三四年,每一次教学都能从中获取很多新的发现。正如徐芝纶老先生所言“学无止境、教亦无止境”。极限平衡是土力学中计算边坡安全系数最常用的方法,笔者在教学过程中给学生编写了一个简单的极限平衡计算程序,程序非常简单,只有几十行。后面有时间的话会加入图形界面进行进一步完善。计算采用最经典的瑞典条方法,具体原理公式如下: 图1 瑞典条方法计算基本原理算例介绍如下图所示有一个均值边坡,尺寸如下图。假定土体的重度为23.5kN,土体的黏聚力25kPa,内摩擦角30°,假定圆弧的圆心坐标为(10,40),半径为30m,试计算该滑弧对应的安全系数。 程序实现本程序在几何图形计算中使用了shapely库,shapely是一个python包,用于设置平面特征的理论分析和操作(通过python的 ctypes 模块)来自著名和广泛部署的地理类库的功能。本程序可以为三个部分:1. 计算滑坡体的几何信息:采用圆心和半径绘制圆,然后将这个圆与边坡多边形相切,交集部分即为滑坡体,代码如下:polygon = Polygon([[0, 0], [50, 0], [50, 40], [40, 40], [10,10],[0,10], [0, 0]])circle = Point(center[0], center[1]).buffer(radius)pintersect = polygon.intersection(circle) 2. 将滑坡体分条:我们提供的思路是将滑坡体x方向的最大和最小值找出来,然后绘制一系列不同x坐标的竖线,通过计算竖线与滑坡体的交点,得到每一个滑块的信息。具体代码如下:''' get the x coordinates limit the pintersect '''xlimit = pintersect.bounds[0], pintersect.bounds[2]ylimit = pintersect.bounds[1], pintersect.bounds[3]'''slice the pinterset into 10 slices '''slice_num = 20xstep = (xlimit[1] - xlimit[0])/slice_num''' get the slices using intersction'''slice_points = []for i in range(slice_num+1): line_tmp = LineString([(xlimit[0]+xstep*i, ylimit[0]), (xlimit[0]+xstep*i, ylimit[1])]) pts = pintersect.intersection(line_tmp) slice_points.append(pts.xy) 3. 计算该滑面对应的安全系数:这一块稍微麻烦,需要把每一个滑块上的物理量算出来,然后用公式(1)计算边坡的安全系数,这一块代码略长一点,有兴趣的同学可以自己看代码。最终实现的效果如下所示,边坡的安全系数Fos = 1.13。其实这个程序的计算代码并不长,但是把计算过程绘制出来还是毕竟麻烦的,采用了Matplotlib图形库,有心的朋友可以仔细看看代码呀。 图2 程序初步运行结果END来源:数字孪生与工程计算

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈