本发明涉及建筑技术领域,尤其涉一种基于python再生混凝土三维随机球形骨料模型的构建方法。

背景技术:

再生混凝土是指利用再生粗骨料部分或者全部代替天然骨料配置而成的混凝土,再生混凝土技术的开发和利用是建筑废弃物资源化利用的关键。由于再生骨料细观结构的复杂性和试验条件的差异性,单纯依赖试验的研究方法,很难对再生混凝土的研究有进一步的突破。选取合理计算模型进行数值模拟,能够避开试验条件的限制和人为因素的影响,从而实现将再生混凝土的细观结构和宏观力学性能联系起来。

目前,国内外诸多学者在再生混凝土数值模拟方面进行了研究。肖建庄,李文贵等通过对模型再生混凝土的数值模拟,研究了再生混凝土内部的应力分布特征和各项介质对再生混凝土试件力学性能的影响。党娜娜,彭一江等基于蒙特卡罗法建立二维再生混凝土随机骨料模型,研究了再生混凝土的细观损伤机理。许岳周提出颗粒弹簧模型,研究了不同级配下再生混凝土的抗压强度。现阶段的研究取得了一定的成果,但还存在诸多不足之处。首先,固定颗粒数目的计算模型不能体现出骨料的随机性;其次,再生骨料细观结构复杂,在建立细观模型时未能考虑其多界面的特性;最后,大多数的再生混凝土骨料模型是建立在Matlab,Fortran,C++等语言的基础上的,由于这些语言不具备定义材料属性、划分网格等功能,需要建立好骨料模型后导入有限元软件进行后续步骤,增加了许多工作量。

技术实现要素:

本发明的目的在于提供一种基于python再生混凝土三维随机球形骨料模型的构建方法,以解决上述技术问题。

为实现上述目的本发明采用以下技术方案:

一种基于python再生混凝土三维随机球形骨料模型的构建方法,包括如下步骤:

1)、定义数组,用于存储直径、坐标、体积参数;输入基本参数,包括骨料含量、模型尺寸、骨料细观尺寸;

2)、内置粒径分布函数,内置随机函数;从粒径d1至d2中随机生成一个浮点数,获得所需范围内的随机数;

3)、将骨料粒径进行分级,当每级累积骨料体积总和小于该级骨料体积总和时,调取随机粒径函数,继续增加骨料,对每级骨料分别进行计算,获得各级骨料粒径值,并将值计入粒径库;

4)将投放空间划分为均匀的小格子,为了提高投放效率,把骨料位置投放在格子的中心上,按照骨料粒径从大到小的方式进行投放,投放位置随机生成,当骨料投放位置与已投放骨料位置重合时,重新进行投放,相邻骨料间需满足最小容差,通过循环投放得到满足要求的骨料模型;

5)、对所得球形骨料进行面平移,得到外界面区、老硬化砂浆、内界面区;通过面平移实现分区,得到外界面区,通过面平移实现分区,得到老硬化砂浆,通过面平移实现分区,得到内界面区;

6)、编写定义材料属性、创建分析步、划分网格、定义单元类型、定义约束、输出脚本程序,该模型选用ABAQUS软件自带的损伤塑性模型,需定义塑性参数和损伤参数,塑性参数包括屈服函数、流动法则、粘性相关参数,损伤参数包括压缩损伤参数和拉伸损伤参数,各参数值存储于mat数组中,保存模型。

与现有技术相比,本发明具有以下优点:本发明建立的再生骨料计算模型能满足骨料生成随机性要求;本发明构建的含双界面、五相材料组成的再生骨料细观计算模型与真实骨料细观结构更为符合。

本发明将再生骨料模型的生成和数值模拟模块整合在一起只需修改相关参数就可进行相应计算,为再生混凝土的数值模拟研究提供了一种更加快捷高效的方法。

附图说明

图1为本发明再生骨料投放流程方法步骤图。

图2是本发明不同骨料含量的计算模型图。

图3取骨料含量为50%的计算模型进行计算得到应力云图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细阐述。

一种基于python再生混凝土三维随机球形骨料模型的构建方法,包括如下步骤:

1)、定义数组,用于存储直径、坐标、体积参数;输入基本参数,包括骨料含量、模型尺寸、骨料细观尺寸;

2)、内置粒径分布函数,内置随机函数;从粒径d1至d2中随机生成一个浮点数,获得所需范围内的随机数;

3)、将骨料粒径进行分级,当每级累积骨料体积总和小于该级骨料体积总和时,调取随机粒径函数,继续增加骨料,对每级骨料分别进行计算,获得各级骨料粒径值,并将值计入粒径库;

4)将投放空间划分为均匀的小格子,为了提高投放效率,把骨料位置投放在格子的中心上,按照骨料粒径从大到小的方式进行投放,投放位置随机生成,当骨料投放位置与已投放骨料位置重合时,重新进行投放,相邻骨料间需满足最小容差,通过循环投放得到满足要求的骨料模型,如图2所示;

5)、对所得球形骨料进行面平移,得到外界面区、老硬化砂浆、内界面区;通过面平移实现分区,得到外界面区,通过面平移实现分区,得到老硬化砂浆,通过面平移实现分区,得到内界面区;

6)、编写定义材料属性、创建分析步、划分网格、定义单元类型、定义约束、输出脚本程序,该模型选用ABAQUS软件自带的损伤塑性模型,需定义塑性参数和损伤参数,塑性参数包括屈服函数、流动法则、粘性相关参数,损伤参数包括压缩损伤参数和拉伸损伤参数,各参数值存储于mat数组中,保存模型。

例如再生骨料最大粒径为20mm,最小粒径5mm。将骨料粒径分为三级,分别为20-15mm、15-10mm、10-5mm。投放区域为100mm×100mm×100mm 的试件空间,骨料含量分别为45%、50%、55%,计算模型如图3所示,其中 (a)为骨料含量为45%的计算模型,(b)为骨料含量为50%的计算模型, (c)为骨料含量为55%的计算模型,(d)为骨料含量为60%的计算模型。

选取骨料含量为50%的计算模型进行计算得到应力云图,图3所示。(a) 为s11应力云图,(b)为s22应力云图,(c)为s33应力云图。

本发明的第一个目的是解决再生骨料计算模型中骨料生成的随机性问题。

实现本发明第一个目的得技术方案是:应用蒙特卡洛法使得再生骨料随机产生。通过构造随机模型使得某一随机变量的数学期望等于所求的解,最基本的随机变量在区间[0,1]上服从均匀分布。若产生[0,1]的均匀随机变量x,则经变换X=a+(b-a)x后,就可求得在区间[a,b]上的均匀分布的随机变量X。对于骨料颗粒的随机位置坐标(Xi,Yi,Zi)、骨料随机半径Ri等参数,均可用均匀随机变量经过变换得到。

本发明的第二个目的是构建出符合真实骨料细观结构的再生骨料计算模型。

实现本发明第二个目的的技术方案是:通过查阅再生骨料细观结构方面的试验资料,建立含双界面、五相材料组成的的三维球形再生骨料计算模型。再生粗骨料来源于原生混凝土,本身性能就有很多差异,其细观结构较普通混凝土具有更高的复杂性和随机性。由于再生骨料上附着砂浆(即老硬化砂浆)的存在,使得再生混凝土内部存在较多的过渡界面区。在细观层次上,将再生混凝土看作由新硬化砂浆、外界面区、老硬化砂浆、内界面区、天然骨料五相材料组成。结合相关研究成果,将再生骨料简化为球形,内界面区、老硬化砂浆、外界面区均以球状包裹于天然骨料外侧。老硬化砂浆厚度取为 1mm,内外界面区厚度取为0.5mm。

本发明的第三个目的是提高模型生成效率,并将再生骨料模型的生成和数值模拟模块整合在一起,简化计算过程。

实现本发明第三个目的的技术方案是:Python是一种面向对象并具有动态语义特征的编程语言,具有高级的数据类型和简单有效的程序设计方法。 Python具有面向对象、可移植性、可拓展性、免费开源等特点,所以特别适合作为脚本嵌入于应用程序中。ABAQUS为二次开发用户提供了Python语言接口,通过集成Python脚本向二次开发用户提供丰富的库函数。可直接操纵ABAQUS的内核,实现建模、定义材料属性、划分网格、后处理等分析功能。

以上所述为本发明较佳实施例,对于本领域的普通技术人员而言,根据本发明的教导,在不脱离本发明的原理与精神的情况下,对实施方式所进行的改变、修改、替换和变型仍落入本发明的保护范围之内。

python椭圆形骨料_一种基于python再生混凝土三维随机球形骨料模型的构建方法与流程...相关推荐

  1. python检索论文_一种基于Python的音乐检索方法的研究

    应用技术 0 前言 最近两年,人们对于流行音乐的追求与需求量日益增 加,但如何保证用户能在不知歌名只知歌词的情况下,完成 自己的全方面多种类的听歌需求呢?于是,电脑工程师就推 出了"听歌识曲 ...

  2. 点云孔洞定位_一种对具有孔洞的三维点云的检测与识别方法与流程

    本发明属于待测点云处理技术领域,涉及三维点云检测与识别方法,尤其是一种对具有孔洞的三维点云的检测与识别方法. 背景技术: 点云技术在逆向工程中有很普遍的应用.构建大量的几何模型之后,需要对点云模型进行 ...

  3. android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...

    本发明涉及一种基于符号的识别android应用运行在模拟器中的方法. 背景技术: 很多的移动应用都会使用一种基于lbs的地理围栏的技术(如移动打卡),某些用户为了突破这种围栏的限制,将移动应用运行在模 ...

  4. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  5. 基于python的分布式扫描器_一种基于python的大数据分布式任务处理装置的制作方法...

    本发明涉及数据处理技术,具体是一种基于python的大数据分布式任务处理装置. 背景技术: 本发明提供一种分布式队列任务处理方案和装置,该方法可以提供分布式处理python任务,任务类型包括爬虫及其他 ...

  6. python登录系统账号检测_一种基于python的惠普打印机默认用户名密码检测方法与流程...

    本发明涉及打印机检测技术领域,特别是一种基于python的惠普打印机默认用户名密码检测方法. 背景技术: 网络打印机是当前各大中小型企业正常办公比不可少的办公网络设备,但对于大中型企业而言,不同部门或 ...

  7. python应用如何实现升级_一种基于Python实现BMC批量升级的方法与流程

    本发明涉及BMC批量升级,尤其涉及一种基于Python实现BMC批量升级的方法. 背景技术: 随着现代服务器主板技术的发展,主板设计形态复杂多变.无论是设计成本还是后期使用过程中的维护成本都很高.如何 ...

  8. gis快速接地开关_一种基于扫描电镜和能谱仪的GIS放电异物来源分析方法

    扫描电镜(SEM)及其附带的能谱仪(EDS)可以用来进行金属的组织形貌观察和微区成分分析.扫描电镜具有景深大.图像立体等优点,图像放大倍数范围为8~300000倍,试验人员可以通过调节扫描电镜的相关参 ...

  9. orb特征 稠密特征_一种基于ORB-SLAM2的双目三维稠密建图方法技术

    本发明专利技术公开了一种基于ORB‑SLAM2的双目稠密建图方法,涉及机器人同步定位与地图创建领域,该方法主要由跟踪线程.局部地图线程.闭环检测线程和稠密建图线程组成.其中稠密建图线程包含以下步骤:1 ...

最新文章

  1. 爬虫基础分享Scrapy框架流程图与安装
  2. 汉字转换成全拼的拼音
  3. php将url出现 双斜杠,php-URL重写在末尾添加斜杠会破坏我的css链接
  4. Ubantu 16.04中文输入问题解疑
  5. 隔壁大爷都会网络布线啦、搞起来搞起来
  6. 日期减三个月oracle_Oracle如何对日期时间进行加减操作呢?
  7. Java多线程-线程状态
  8. LDAP组的概念以及命令
  9. 盐城计算机中专学校,盐城市有哪些中专学校?
  10. xmind 模板_XMind 教程 | 如何写出让人眼前一亮的年终总结?
  11. mysql单实例多数据库_MySQL单台服务器跑多个实例子详解
  12. 2015.5.29日总结
  13. poj 3278 Catch That Cow (简单的bfs)
  14. Lua调用c++ DLL 文件
  15. 5G网络规划面临的挑战
  16. python编程基础-类的使用
  17. 配置Docker镜像加速器
  18. 学会对VUE的SEO优化,你的网站总是排在前面
  19. Idea 常用设置和快捷键
  20. 乔春洋:品牌文化的三大内涵

热门文章

  1. 数据集下载地址(转)
  2. MySQL中Innodb的聚簇索引和非聚簇索引
  3. resource.h
  4. 新老域名更替时的页面跳转
  5. Electron渲染页面(Renderer Process)引入ipcRenderer
  6. java中math的方法_Java中Math类常用方法代码详解
  7. Verilog中repeat的用法
  8. 小程序和H5有什么区别?
  9. 重装系统“无法创建新的分区也找不到现有分区”
  10. c语言代码查错软件,Ubuntu下面的C语言代码检查工具 Splint