技术领域
本发明属于再生混凝土三维模型构建技术领域,具体涉及一种基于椭球体随机骨料的再生混凝土三维模型构建方法。
背景技术
随着我国城镇化进程的迅速开展,大量废弃混凝土成为急需要处理的问题垃圾。废弃混凝土可以循环再利用生成再生混凝土,道路工程、低层建筑和其他工程中都可使用这种再生材料。将再生混凝土运用到实际工程中是解决建筑垃圾的重要方式,从而实现资源的绿色可持续发展目标。
近年来,学者们对再生混凝土进行了诸如“劈裂粘结强度”、“抗压强度”等宏观力学性能方面的试验研究。混凝土宏观力学性能与混凝土的内部损伤发展有必然联系。试验研究对于研究再生混凝土骨料细观结构具有一定的局限性,而计算机模拟方法对于研究再生混凝土骨料细观结构提供了很多便利。基于细观模型的再生混凝土细观力学性能研究已成为现今再生混凝土研究领域的重点课题,如:韩丁等基于改进的分形布朗运动(FBM)和随机中点位移法建立三维骨料模型。岳强在数字图像处理与几何矢量转换技术的基础上与有限元网格自动生成方法结合提出真实再生混凝土细观有限元分析方法。肖建庄等在数字图像处理技术的基础上建立了再生混凝土粗骨料细观结构模型。糜凯华运用Matlab生成了混凝土三维球形随机细观骨料结构模型。郭瑞奇基于Fortran语言与ANSYS仿真软件提出生成含高体分比球形骨料混凝土细观模型混合方法。付兵等基于Visual C++提出了一种混凝土模型划分网格方法。马怀发编制了对含有凸多面体骨料的程序,实现了随机凸多边形骨料模型的生成。分析表明,学者们主要利用数字图像处理技术与Matlab、Fortran等语言对再生混凝土进行细观结构数值模拟研究,取得了一些研究成果,但还存在不足,如:数字图像处理技术难度较大,成本高且处理信息量大,实用性不高;Matlab、Fortran等语言的开发效率较低且针对大型数据运算执行效率较低,不具有跨平台的可移植性、可扩展性等优势,很难直接运用到Abaqus等仿真软件中进行仿真建模与分析处理,对于再生混凝土细观结构性能研究带来一定困难。学者们实现了球体、凸多面体等混凝土三相细观结构三维骨料模型的建立,但在再生混凝土领域五相或六相再生骨料三维细观结构骨料模型基本没有涉及。
发明内容
为克服上述现有技术的不足,本发明的目的在于提供一种基于椭球体随机骨料的再生混凝土三维模型构建方法,可建立椭球体骨料模型,实现任何椭球体骨料模型仿真试验要求,具有方法简单快捷高效的特点。
实现上述目的,本发明采用的技术方案是:一种基于椭球体随机骨料的再生混凝土三维模型构建方法,包括以下步骤:
步骤一,利用Python编程编写建立椭球体骨料模型的脚本算法;
步骤二,根据统计模拟理论将随机骨料粒径函数引入Python脚本算法中,随机生成5~25mm的随机骨料粒径;
步骤三,利用统计试验方法将骨料随机投放函数理论编入Python脚本算法中,实现椭球体骨料在模型空间中的随机投放;
步骤四,利用Python语言建立椭球体再生骨料与椭球体天然骨料细观结构模型,创建三维复合材料框架模型并定义模型复合材料属性;
步骤五,编写Abaqus后处理分析编程算法,将建模与仿真分析整体全过程相结合实现仿真试验全过程的自动化生成。
所述的步骤一,具体做法是:
1)定义骨料粒径分布概率,
2)定义骨料类型与骨料参数类型,首先定义一个骨料类,
3)输入椭球体骨料参数基本信息,包括最外圈骨料百分比、再生骨料取代率、模型尺寸、粒径范围、骨料和老砂浆界面厚度、老砂浆厚度、老砂浆和新砂浆界面厚度、天然骨料和新浆区界面厚度、椭球体短轴与长轴比值、中轴与短轴比值及网格尺寸和所施加荷载值。
所述的步骤二,具体做法是:
1)内置随机粒径函数,当累积总和与该级最大骨料体积之和小于该级骨料体积总和时,继续增加骨料;
2)当骨料粒径生成后,提示输出生成后的骨料粒径;
3)输出包含界面层的骨料占比,包含外部界面层的骨料直接占比为50%时,总骨料占比最高可达85%,因此不能实现全部嵌入进去。
所述的步骤三,具体做法是:
1)存储粒径位置;
2)指定有限的投放位置,减少计算量,将空间划分为均匀的小格子,骨料的投放位置只能在格子上,这样可以极大的提高投递速率,循环获得格子的中心位置;
3)记录投放失败的骨料个数和骨料粒径;
4)从大到小一次投放骨料,记录尝试投放次数并且复制尝试投放的位置,并记录投放成败,若投放失败,则默认为投放失败数值为0;
5)为了避免两个骨料太近,设置0.5mm的骨料间隙,当随机投放次数小于1000次,且tryPosition内还有可以投放的位置,且投放失败,则继续投放;从tryPosition中获得挑选的位置,tryPosition数值减去已经挑选的点,避免重复挑选,尝试次数累加1;
6)当投放位置距离边界小于rd,其中rd表示两骨料之间的最小容差时,投放直接失败,投放失败则进入下一轮循环,否则假设投放成功;
7)计算两个已投放成功的骨料的距离,如果两个椭球体骨料的距离小于两个骨料的球心距与最小容差之和(即2倍外胶层厚度+0.5mm),则投放失败,退出距离判断的循环,进入下个骨料的位置的尝试;当投放成功时,记录投放的位置;
所述的步骤四,具体做法是:
1)循环生成椭球体部件并对椭球体部件进行进行刨分,定义材料属性,然后将已刨分完成的椭球体各部件装配到装配体;
2)随机旋转骨料角度并平移到指定位置;
3)创建方形体外框,用于包含骨料,赋予材料属性;
4)合并所有椭球体骨料,一次同时合并几百个椭球体骨料,程序运行速度较慢,因此可分批次进行合并,每批最多合并50个骨料,最后再二次合并,可提高合并速率;
5)合并椭球体骨料各个部件,定义部件材料属性,小椭球体部分的各个位置均在合并前定义了材料,在合并以后,已定义的骨料部件材料会继续保留,因此只需要定义新浆体材料。
所述的步骤五,具体做法是:
1)网格划分,同一个部件采用这两种单元进行划分,在连接的交界面将不匹配,程序会自动用tie替换,这比人为定义要精确,新浆体部分进行四面体网格划分,定义网格单元类型和全局网格尺寸;
2)查找全部外边界,外边界设置网格尺寸为内部的两倍,然后进行网格划分并删除多余的部件;
3)创建分析步,修改输出;
4)创建参考点,有用于耦合约束和输出;参考点历程输出;修改控制参数;参考点耦合约束;
5)固定约束;加载约束;创建任务;保存模型。
本发明的有益效果是:
1)本发明可以通过Python编程算法实现椭球形复合材料骨料的自动化生成,且可以自行完成椭球体骨料的侵入判别、骨料粒径的随机生成与骨料位置的随机投放,建立椭球体随机骨料模型。
2)本发明能够建立任意想要椭球体再生骨料取代率和椭球体总骨料体积占比,且总骨料占比可达85%。可以实现任何椭球体骨料模型仿真试验要求。
3)本发明算法能够通过Abaqus仿真软件运行此算法脚本,不需借助其他任何中介软件就可在Abaqus建立椭球体三维复合材料随机骨料模型,直接进行椭球体骨料细观结构仿真试验分析计算,方法简单快捷高效。
附图说明
图1(a)为本发明运用Python所建立的椭球体再生骨料示意图。
图1(b)为本发明运用Python所建立的椭球体天然骨料示意图。
图2为判别椭球位置的示意图。
图3为本发明的算法流程图。
图4(a)为骨料占比40%的计算模型图。
图4(b)为骨料占比60%的计算模型图。
图4(c)为骨料占比70%的计算模型图。
图4(d)为骨料占比85%的计算模型图。
图5(a)为再生骨料取代率50%的计算模型图。
图5(b)为再生骨料取代率70%的计算模型图。
图5(c)为再生骨料取代率90%的计算模型图。
图6(a)为创建参考点与耦合的计算模型图。
图6(b)为划分网格的计算模型图。
图6(c)为施加荷载的计算模型图。
图7为总应力云图。
图8为S11应力云图。
图9为S22应力云图。
图10为S33应力云图。
图11(a)为单压初始损伤图。
图11(b)为单压损伤展开图。
图11(c)为单压损伤加剧图。
图11(d)为单压损伤完成图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
一种基于椭球体随机骨料的再生混凝土三维模型构建方法,第一个目的是解决:椭球体骨料模型的建立。
实现本发明第一个目的技术方案是:Python编程语句本就具备丰富强大的数据库,可以实现全面的数据处理功能,而且Python具有可移植性、可扩展性、解释性、面向对象和内存管理灵活的优点,可嵌入性灵敏方便快捷,能够直接镶嵌到Abaqus仿真软件中建立模型。因此可以自编Python语言算法,解决定义骨料粒径分布概率;椭球体骨料的长轴、中轴和短轴;骨料旋转角度及骨料类别等骨料参数信息,从而生成椭球体骨料。
Python语句可实现椭球体骨料模型的建立,通过编程算法定义椭球体骨料的短轴与长轴比值为0.3~0.8,短轴与中轴比值为1,粒径长轴范围5~25mm,骨料长轴相对于X正轴坐标的旋转角度0~π,骨料中轴相对于Z正轴坐标的旋转角度0~π,定义骨料与老砂浆界面区厚度0.5mm,老砂浆区厚度1mm,老砂浆与新砂浆界面厚度0.4mm,骨料与新砂浆界面区厚度0.4mm。
本发明运用Python所建立的椭球体天然骨料与椭球体再生骨料示意图如图1(a)~(b)所示的细观结构。
本发明的第二个目的是解决:骨料的投放方法及椭球体骨料侵入判别问题。
实现本发明第二个目的的技术方案是:运用Python语言生成椭球体骨料模型后,将生成的骨料粒径及骨料记录到粒径库,然后定义60×60×60mm3的模型空间尺寸,将模型空间划分为均匀的小格子,然后将骨料粒径从大到小进行投放,投放过程中需要进行椭球体骨料入侵判断。
对比球体随机骨料模型与凸多面形随机骨料模型的侵入判别原理,椭球体随机骨料模型的侵入判别很难进行。既须满足两椭球体骨料不能叠加的判别条件,亦须满足骨料与模型边界平面不相交的判别条件,两个判别条件缺一不可。
判断两个椭球骨料之间的位置关系首先会想到利用椭球方程代数方法进行判别,即:
首先需要定义几个代数公式,以便两椭球间的距离判断:
1)引进x与y两个非零向量,计算两个向量的夹角即
2)假设椭球体为球心为代数y,半径为代数β的球体,定义该球体为B(y;β)={x:||y-x||≤β};
3)x
两椭球间的距离判别思路如下:
定义两椭球体公式:椭球E
椭球E
然后在椭球E
如图2所示,该距离判别方法是用迭代式计算来逐项判断,例如在第k次迭代计算时,在x
判断椭球体骨料与模型边界不相交,即需要判别椭球体与平面的距离关系,即:
首先定义椭球面方程与平面方程:椭球A:
判断椭球面与平面的位置关系可以转化为椭球面A上一点到平面B的距离的最小值问题。假设有一点(x
综上所述的代数算法原理繁琐庞杂且计算量繁复,很难运用到实际椭球体骨料模型的侵入判别中。本发明为实现椭球体骨料之间的位置判断,首先利用Python语言将模型空间划分成匀称的正方体方格,然后在前人生成球体思维的构思方法基础上生成球形基体。然后在球形基体的基础上,先向已形成的模型空间中投放球形基体,利用已形成的球基体位置往球基体里投放已生成的椭球体骨料,于是本发明算法将椭球体的位置判别简化为球形骨料之间的位置距离判别原理,该算法原则相较于原代数算法即便易又快捷有效,利用该算法理论能够通过Python语句快速生成椭球体随机骨料模型。
本发明的第三个目的是解决:将Abaqus后处理仿真分析和Python建模算法联系起来,实现Abaqus自动化建模与后处理分析之间的串联,利用Python语句实现Abaqus仿真模拟试验全过程的自动化生成,以利于椭球体仿真试验更高效方便的开展研究。
实现本发明第三个目的的技术方案是:Python语言介于脚本语言与系统语言之间,是一种开放源代码。具有广泛的可嵌入性和可移植性等优点,能实现在许多不同的系统平台上运行。因此可以利用Python语言编写Abaqus后处理分析算法,从而实现椭球体随机骨料模型的自动化生成与Abaqus有限元数值模拟后处理程序步骤相结合,实现椭球体再生骨料混凝土仿真试验全过程的自动化生成,有利于任何椭球体骨料模型仿真试验的研究开展。
本发明算法为再生混凝土研究领域的仿真试验技术提供了一项简便快捷的试验过程处理方法。
一种基于椭球体随机骨料的再生混凝土三维模型构建方法,包括以下步骤:
步骤一,利用Python编程编写建立椭球体骨料模型的脚本算法,本步骤具体做法是:
1)定义骨料粒径分布概率,
2)定义骨料类型与骨料参数类型,首先定义一个骨料类,
3)输入椭球体骨料参数基本信息,包括最外圈骨料百分比、再生骨料取代率、模型尺寸、粒径范围、骨料和老砂浆界面厚度、老砂浆厚度、老砂浆和新砂浆界面厚度、天然骨料和新浆区界面厚度、椭球体短轴与长轴比值、中轴与短轴比值及网格尺寸和所施加荷载值;
步骤二,根据统计模拟理论将随机骨料粒径函数引入Python脚本算法中,随机生成5~25mm的随机骨料粒径,本步骤具体做法是:
1)内置随机粒径函数,当累积总和与该级最大骨料体积之和小于该级骨料体积总和时,继续增加骨料;
2)当骨料粒径生成后,提示输出生成后的骨料粒径;
3)输出包含界面层的骨料占比,包含外部界面层的骨料直接占比为50%时,总骨料占比最高可以达到85%,因此很难实现全部嵌入进去;
步骤三,利用统计试验方法将骨料随机投放函数理论编入Python脚本算法中,实现椭球体骨料在模型空间中的随机投放,本步骤具体做法是:
1)存储粒径位置;
2)指定有限的投放位置,减少计算量,将空间划分为均匀的小格子,骨料的投放位置只能在格子上,这样可以极大的提高投递速率,循环获得格子的中心位置;
3)记录投放失败的骨料个数和骨料粒径;
4)从大到小一次投放骨料,记录尝试投放次数并且复制尝试投放的位置,并记录投放成败,若投放失败,则默认为投放失败数值为0;
5)为了避免两个骨料太近,设置0.5mm的骨料间隙,当随机投放次数小于1000次,且tryPosition内还有可以投放的位置,且投放失败,则继续投放;从tryPosition中获得挑选的位置,tryPosition数值减去已经挑选的点,避免重复挑选,尝试次数累加1;
6)当投放位置距离边界小于rd,其中rd表示两骨料之间的最小容差时,投放直接失败,投放失败则进入下一轮循环,否则假设投放成功;
7)计算两个已投放成功的骨料的距离,如果两个椭球体骨料的距离小于两个骨料的球心距与最小容差之和(即2倍外胶层厚度+0.5),则投放失败,退出距离判断的循环,进入下个骨料的位置的尝试;当投放成功时,记录投放的位置;
步骤四,利用Python语言建立椭球体再生骨料与椭球体天然骨料细观结构模型,创建三维复合材料框架模型并定义模型复合材料属性,本步骤具体做法是:
1)循环生成椭球体部件并对椭球体部件进行进行刨分,定义材料属性,然后将已刨分完成的椭球体各部件装配到装配体;
2)随机旋转骨料角度并平移到指定位置;
3)创建方形体外框,用于包含骨料,赋予材料属性;
4)合并所有椭球体骨料,一次同时合并几百个椭球体骨料,程序运行速度较慢,因此可分批次进行合并,每批最多合并50个骨料,最后再二次合并,可提高合并速率;
5)合并椭球体骨料各个部件,定义部件材料属性,小椭球体部分的各个位置均在合并前定义了材料,在合并以后,已定义的骨料部件材料会继续保留,因此只需要定义新浆体材料。
步骤五,编写Abaqus后处理分析编程算法,将建模与仿真分析整体全过程相结合实现仿真试验全过程的自动化生成,本步骤具体做法是:
1)网格划分,同一个部件采用这两种单元进行划分,在连接的交界面将不匹配,程序会自动用tie替换,这比人为定义要精确,新浆体部分进行四面体网格划分,定义网格单元类型和全局网格尺寸;
2)查找全部外边界,外边界设置网格尺寸为内部的两倍,然后进行网格划分并删除多余的部件;
3)创建分析步,修改输出;
4)创建参考点,有用于耦合约束和输出;参考点历程输出;修改控制参数;参考点耦合约束;
5)固定约束;加载约束;创建任务;保存模型。
即算法:
1)算法
(1)引进随机骨料粒径函数
(2)定义骨料类与骨料参数类
(3)定义骨料模型参数,须赋参数算法如下:
1)判断累积总和与该级最大骨料体积之和是否小于该级骨料体积总和,若条件成立继续增加骨料,否则骨料粒径与总骨料占比。
2)输出各级椭球体骨料的长轴、中轴和短轴等骨料粒径参数,并记录到总骨料粒径库。
3)按骨料粒径从大到小投放生成的骨料并记录所投放骨料的骨料粒径位置,然后计算两个椭球体骨料位置距离进行骨料侵入原理判别。若骨料位置满足原理要求,则输出并记录骨料投放位置与骨料颗粒数;若不满足要求,则重新存储骨料粒径位置。
4)当总骨料占比与再生骨料取代率满足试验设计要求时,结束骨料的投放并记录总骨料颗粒数和骨料位置。然后循环生成骨料各组分部件并装配到已生成的椭球体骨料结构体中,且定义并赋予各骨料部件以材料属性。
5)将以生成的复合材料骨料合并入模型空间中,再在除模型空间中已经投放的骨料占用的总体积以外的剩余模型空间均定义并赋予为新砂浆。
6)椭球体再生骨料模型建立完成后,运用Python语言编写创建Abaq us后处理分析步骤随后保存模型。
2)算法设计
算法设计流程如图3所示。
2算例
本发明可以快速生成椭球体再生骨料混凝土细观结构模型,以40%、60%、70%及85%总骨料占比模型为例(图4(a)~(d)所示),发现该方法相应所能投放的骨料含量占比最高可达85%。
当总骨料占比40%时,取代率为50%、70%及90%的再生混凝土计算模型如图5(a)~(c)所示。
参见图5(a)~(c),本发明由图5(a)、5(b)和5(c)验证了椭球体再生骨料取代率算法的合理性和随机性。由图5(a)到图5(b)可知,随着再生骨料取代率的增大,椭球体再生骨料数量随之变多。且由于模型的建立受算法中的随机骨料粒径函数与随机骨料投放函数的影响,可以看到图中模型空间中的骨料粒径和骨料位置随机分布,说明了本算法所建立的椭球体随机骨料模型的精确性。
将运用Python语言编写的椭球体再生骨料混凝土模型Abaqus后处理分析算法嵌入Abaqus仿真软件中,以取代率70%的椭球体随机再生骨料混凝土为例,将本发明算法镶入Abaqus软件后所得后处理分析如图5(a)(b)所示。
参见图6(a),本发明算法创建参考点RP-1和RP-2,然后在参考点RP-1上创建下部耦合约束,在参考点RP-2上创建上部耦合约束。
参见图6(b),本发明算法采用C3D20R与C3D15两种单元划分该模型中同一个部件,在连接的交界面将不匹配但程序会自动用tie替换,对新浆体部分进行四面体网格划分。
参见图6(c),本发明算法在实现对模型试件施加荷载时,首先需要固定上部耦合约束,然后在RP-2参考点上试件单轴荷载。
以取代率70%的椭球体随机再生骨料混凝土为例进行仿真分析,分析结果如图7-10、11(a)~(d)所示。
参见图7,本发明采用图7验证了本发明算法的切实可行和高效性。图7显示了椭球体再生骨料含量为70%时模型计算分析结果总应力分布,其中avg75%为Abaqus软件默认平均阈值是用来进行平均变量的默认概率。仿真试验计算分析快捷高效,计算结果无误,证明了本发明算法的真实准确;
参见图8,本发明采用图8说明对所建立的再生骨料含量为70%的椭球体再生骨料模型进行仿真试验计算完成后,所获得的S11应力云图即X轴方向所得应力分布图,S11代表壳单元面内的应力,验证了该算法的精确度;
参见图9,本发明采用图9说明对所建立的再生骨料含量为70%的椭球体再生骨料模型进行仿真试验计算完成后,所获得的S22应力云图即Y轴方向所得应力分布图,S11代表壳单元面内的应力,验证了该算法的精确度;
参见图10,本发明采用图10说明对所建立的再生骨料含量为70%的椭球体再生骨料模型进行仿真试验计算完成后,所获得的S33应力云图即Z轴方向所得应力分布图,S33代表壳单元法线方向上的应力,验证了该算法的精确度。
通过对取代率70%的椭球体再生骨料混凝土计算模型施加-0.5mm的单轴受压位移荷载后,模型形成图11(a)~(b)所示的试件模型整体损伤开展过程,由该损伤图可知模型损伤主要分布在试件中部与底部,试件上部几乎不受单轴荷载影响,这是由于试件底部受耦合约束没有扰动,上部所施加的单压荷载传导到试件中部与底部对模型试件产生扰动从而造成试件损伤。这与实际再生混凝土单压实验所造成损伤开展过程完全符合,证明该发明算法得正确性和合理性。
以上算例验证了本发明算法的可行性与实际高效。本发明算法创建了一种基于椭球体再生骨料的复合材料仿真试验全过程自动化生成方法,将P ython编程建模算法与Abaqus后处理分析结合在一起进行椭球形复合材料骨料细观结构仿真试验分析与计算。本发明可以运用到任何复合材料细观骨料结构研究领域,为复合材料细观结构研究的进一步细致开展提供了快捷高效的研究方法。
机译: 一种测量空心物体的内表面的形状,尺寸和弹性性能的方法,一种构建空心物体的内表面的三维模型的方法,一种用于测量内部物体的形状,尺寸和弹性性能的装置空心物体的表面,以及建立空心物体内表面的三维模型
机译: 利用废电极的再生骨料的生产方法以及利用该骨料的再生混凝土产品
机译: 球体加工条件的评估方法,球体加工的数据库构建方法,球体抛光方法和球体抛光设备