CN112949213B - 一种基于机器学习的圆填充型各向同性多孔介质生成方法 - Google Patents
一种基于机器学习的圆填充型各向同性多孔介质生成方法 Download PDFInfo
- Publication number
- CN112949213B CN112949213B CN202110399646.1A CN202110399646A CN112949213B CN 112949213 B CN112949213 B CN 112949213B CN 202110399646 A CN202110399646 A CN 202110399646A CN 112949213 B CN112949213 B CN 112949213B
- Authority
- CN
- China
- Prior art keywords
- value
- porous medium
- filling
- thread
- porosity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Prostheses (AREA)
Abstract
本发明公开了一种基于机器学习的圆填充型各向同性多孔介质生成方法,所述方法包括:执行多线程处理操作;在每一个线程处理操作时,获取预设的期望孔隙率值,并根据期望孔隙率值生成与线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;针对每一个初始多孔介质图片和目标孔隙率值,将初始多孔介质图片和目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;判断线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据线程渗透率值得到目标多孔介质。本发明实施例通过上述方法在满足多孔介质随机性的同时可以控制渗透率和孔隙率,从而达到控制多孔介质内部流动的目的。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及的是一种基于机器学习的圆填充型各向同性多孔介质生成方法。
背景技术
由于多孔介质内部骨架结构(如形状、大小、排列方式等)会影响其整体的渗透性,而至今无法给出他们之间明确的关系,故现有的多孔介质随机生成方法只能限定多孔介质的孔隙率,而无法进一步限定所生成的多孔介质的渗透率,而同时限定孔隙率和渗透率的生成方法又无法满足随机性这一重要特征。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于机器学习的圆填充型各向同性多孔介质生成方法,旨在解决现有技术中多孔介质随机生成方法只能限定多孔介质的孔隙率,而无法进一步限定所生成的多孔介质的渗透率,而同时限定孔隙率和渗透率的生成方法又无法满足随机性这一重要特征的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种基于机器学习的圆填充型各向同性多孔介质生成方法,其中,所述方法包括:
执行多线程处理操作;
在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;
判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。
在一种实现方式中,其中,所述根据所述期望孔隙率值生成各向同性的初始多孔介质图片和目标孔隙率值包括:
获取初始圆的圆个数;
根据所述圆个数,随机生成线程数组,其中,所述线程数组的元素个数为圆个数;所述线程数组的元素值为圆半径;
根据所述线程数组和所述期望孔隙率值,得到目标孔隙率值和各向同性的初始多孔介质图片。
在一种实现方式中,其中,所述根据所述线程数组和所述期望孔隙率值,得到目标孔隙率值和各向同性的初始多孔介质图片包括:
获取预设的线程总数、预设的填充区域和预设的孔隙率绝对误差值;其中,所述线程总数为处理操作时线程的数目;所述填充区域为待填充的多孔介质图片;
根据所述填充区域,得到填充区域面积;
根据所述圆半径,得到所述初始圆的圆总面积;
根据所述圆总面积,得到面积比例值;
根据所述面积比例值,得到初始孔隙率值;
根据所述线程总数、所述期望孔隙率值、所述孔隙率绝对误差值和所述初始孔隙率值,得到目标孔隙率值和填充数组;
根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片。
在一种实现方式中,其中,所述根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片包括:
根据所述填充数组,随机生成圆位置;
根据所述圆位置,判断各圆之间是否重叠;
当各圆不重叠时,则将所述圆填充至所述填充区域,得到各向同性的初始多孔介质图片。
在一种实现方式中,其中,所述多孔介质网络模型的训练过程具体为:
获取训练孔隙率值和训练多孔介质图片;其中,所述训练多孔介质图片包含多孔介质几何形状;
基于流体力学原理计算所述多孔介质几何形状的真实渗透率值;
将所述训练多孔介质图片和所述训练孔隙率值输入到预设的第一网络,得到预测渗透率值;
根据所述预测渗透率值和所述真实渗透率值调整所述第一网络的参数,并继续执行将训练数据中的训练初始多孔介质图片和训练孔隙率值输入到预设的第一网络的步骤,直至训练结束,以得到多孔介质网络模型。
在一种实现方式中,其中,所述获取训练孔隙率值和训练多孔介质图片包括:
根据所述预设的期望孔隙率值生成训练孔隙率值和训练多孔介质图片。
在一种实现方式中,其中,所述判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质包括:
计算所述期望渗透率值和所述线程渗透率值的相对误差值;
当所述相对误差值小于预设阈值时,将所述线程渗透率值作为目标渗透率值;
将此目标渗透率值对应的多孔介质图片作为目标多孔介质。
在一种实现方式中,其中,所述根据所述期望渗透率值和所述线程渗透率值,得到目标多孔介质还包括:
停止除去当前线程的剩下线程的计算。
第二方面,本发明实施例还提供一种基于机器学习的圆填充型多孔介质生成装置,其中,所述装置包括:
执行多线程单元,用于执行多线程处理操作;
目标孔隙率值和初始多孔介质图片获取单元,用于在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
线程渗透率值获取单元,用于针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;
目标多孔介质获取单元,用于判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。
第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的基于机器学习的圆填充型各向同性多孔介质生成方法。
第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于机器学习的圆填充型各向同性多孔介质生成方法。
本发明的有益效果:本发明实施例首先执行多线程处理操作;然后在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;接着针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;最后判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质;可见,本发明实施例通过上述方法在满足多孔介质随机性的同时可以控制渗透率在一定期望范围之内,从而达到控制多孔介质内部流动的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于机器学习的圆填充型各向同性多孔介质生成方法流程示意图。
图2为本发明实施例提供的各向同性多孔介质生成方法的步骤循环示意图。
图3为本发明实施例提供的使用格子玻尔兹曼LBGK-D2Q9方法计算多孔介质渗透率时使用的边界条件标识示意图。
图4为本发明实施例提供的基于机器学习的圆填充型多孔介质生成装置的原理框图。
图5为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
本发明公开了一种基于机器学习的圆填充型各向同性多孔介质生成方法、智能终端、存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
由于现有技术中,多孔介质随机生成方法只能限定多孔介质的孔隙率,而无法进一步限定所生成的多孔介质的渗透率,而同时限定孔隙率和渗透率的生成方法又无法满足随机性这一重要特征的问题。
为了解决现有技术的问题,本实施例提供了一种基于机器学习的圆填充型各向同性多孔介质生成方法,通过上述方法在满足多孔介质随机性的同时可以控制渗透率在一定期望范围之内,从而达到控制多孔介质内部流动的目的。具体实施时,首先执行多线程处理操作;然后在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;接着针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;最后判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。
示例性方法
本实施例提供一种基于机器学习的圆填充型各向同性多孔介质生成方法,该方法可以应用于人工智能的智能终端。具体如图1所示,所述方法包括:
步骤S100、执行多线程处理操作;
计算机运算能力的提升、多处理器多线程加速、GPU加速的实现,为本方法的提出奠定了基础。多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。在本实施例中,可以执行Intel(R)Xeon(R)Gold6226R CPU@2.90GHz的八线程和单张NVIDIA 2080Ti GPU的单线程两种线程处理操作,也可以采用的程序语言需要支持多线程技术,最好支持多处理器加速、GPU加速等技术,如C++、Python、MATLAB都可以使用,以此来提高多孔介质图片生成效率。
多线程开启后,执行如图1所示的如下步骤:步骤S200、在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
具体地,多孔介质在自然界、生活和工业应用中普遍存在,孔隙率和渗透率是多孔介质的重要性质。用于生活和工业应用中的人造多孔介质无法达到随机性和控制渗透率的目的,导致产生的多孔介质渗透性不统一,造成实际应用困难、次品率高等问题。在每一个线程处理操作时,先获取预设的期望孔隙率值,预设的期望孔隙率值是用户事先设定的,实际中,会设置初始圆个数,并根据初始圆个数随机生成每个圆的圆半径,根据初始圆个数和圆半径可以计算出每个线程的初始孔隙率值,然后通过算法得到更新后的每个线程的孔隙率值,当某一个线程的孔隙率值与期望孔隙率值的差值满足绝对误差要求时,则将此线程的孔隙率值作为目标孔隙率值。目标孔隙率值确定后,再根据任意两个圆不重叠和圆在边界范围内的原则生成符合目标孔隙率值的各向同性的初始多孔介质图片。
相应的,所述根据所述期望孔隙率值生成各向同性的初始多孔介质图片和所述目标孔隙率值包括如下步骤:
S201、获取初始圆的圆个数;
S202、根据所述圆个数,随机生成线程数组,其中,所述线程数组的元素个数为圆个数;其中,所述线程数组的元素值为圆半径
S203、根据所述线程数组,得到目标孔隙率值和各向同性的初始多孔介质图片。
具体地,先确定出本算法的最大圆个数ma和最小圆个数mb,然后给出初始圆的圆个数m(ma<m<mb),根据圆个数,然后随机生成线程数组,线程数组中的值分布符合一定的概率分布,如对数正太分布或者韦伯分布等,其中,所述线程数组元素个数为m;线程数组的值为要填充的初始圆的半径。得到线程数组后,可以根据算法计算出目标孔隙率值和各向同性的初始多孔介质图片。相应的,为了得到目标孔隙率值和各向同性的初始多孔介质图片,所述根据所述线程数组,得到目标孔隙率值和各向同性的初始多孔介质图片包括如下步骤:获取预设的线程总数、预设的填充区域和预设的孔隙率绝对误差值;其中,所述线程总数为处理操作时线程的数目;所述填充区域为待填充的多孔介质图片;根据所述填充区域,得到填充区域面积;根据所述圆半径,得到所述初始圆的圆总面积;根据所述圆总面积,得到面积比例值;根据所述面积比例值,得到初始孔隙率值;根据所述线程总数、所述期望孔隙率值、所述孔隙率绝对误差值和所述初始孔隙率值,得到目标孔隙率值和填充数组;根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片。
具体地,预设的期望孔隙率值为ψ(如:ψ=0.55),获取预设的线程总数N,其中,N≥2,然后获取预设的填充区域,填充区域也即待填充的多孔介质图片,填充区域是边长为L的正方形(L为正方形区域的边长),预设的孔隙率绝对误差为ε(预设的孔隙率绝对误差的最小误差可为0.000001),根据所述预设的填充区域,可以得到预设的填充区域的面积为L2,根据所述线程数组中圆半径,可以得到每个初始圆的面积,再将所有初始圆的面积进行相加,得到圆总面积,将所述圆总面积乘以2再除以所述填充区域面积,得到面积比例值c=2*A/L2,那么在当前线程下的初始孔隙率值为1-c。统计所有线程下的初始孔隙率值大于预设的期望孔隙率值的线程数M。如果M大于N的一半以上,令mb=m,m=(ma+mb)/2,重复在每一个线程处理操作时,根据所述圆个数,随机生成线程数组,其中,所述线程数组的个数为圆个数;所述线程数组的值为圆半径的步骤,如果M小于N的一半以下,令ma=m,m=(ma+mb)/2,重复在每一个线程处理操作时,根据所述圆个数,随机生成线程数组,其中,所述线程数组的个数为圆个数;所述线程数组的值为圆半径的步骤,M正好为N的一半(N为偶数)或者M正好为N的一半±1时(N为奇数),计算所有线程更新后的孔隙率值1-c与期望孔隙率值ψ的绝对误差,当绝对误差小于等于孔隙率值绝对误差ε时,将绝对误差小于等于孔隙率绝对误差ε的线程下的孔隙率值1-c作为目标孔隙率值。同时,将当前线程下的线程数组V作为填充数组。最后根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片。相应的,为了得到各向同性的初始多孔介质图片,所述根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片包括如下步骤:根据所述填充数组,随机生成圆位置;根据所述圆位置,判断各圆之间是否重叠;当各圆不重叠时,则将所述圆填充至所述填充区域,得到各向同性的初始多孔介质图片。
具体地,如图2所示,将所述填充数组V内的所有值按大小进行降序排序,从填充数组V中取出最大值作为填充半径r,根据所述填充数组,随机生成圆位置,也即根据填充半径r,随机生成填充圆,其中,填充圆的圆心的横纵坐标(x,y)(x<L,y<L)。比较此填充圆与四个边界的距离d1、d2、d3、d4和半径r的大小,若d1或d2或d3或d4小于r,表示此圆已越出边界,则返回至根据填充半径r,随机生成填充圆,其中,填充圆的圆心的横纵坐标(x,y)(x<L,y<L)的步骤,若d1、d2、d3和d4均大于等于r,表示此圆在边界内,则继续执行后续操作。
后续操作为,根据所述圆位置,判断各圆之间是否重叠;也即先求解出此圆与其他圆的半径和,然后求解此圆与其他圆的圆心的距离D,比较距离D和半径和rs的大小,若D<rs,表示此圆与其他圆重叠,返回根据填充半径r,随机生成填充圆,其中,填充圆的圆心的横纵坐标(x,y)(x<L,y<L)的步骤,若D>rs,表示此圆与其他圆不重叠,进行后续操作。当各圆不重叠时,则将所述圆填充至所述填充区域。为保证多孔介质渗透率的各向同性性质,以y=x线为对称轴。若填充的此圆与对称轴不相交,在一侧填充圆后,另一侧的对称位置也填充同样大小的圆,圆填充成功,进行下一步操作。若填充的此圆与对称轴相交,则将此圆的圆心以最短距离平移到对称轴上,则返回至比较距离D和半径和rs的大小,若D<rs,表示此圆与其他圆重叠,若D>rs,表示此圆与其他圆不重叠的方法检查此圆是否与其他圆重叠,若重叠返回根据填充半径r,随机生成填充圆,其中,填充圆的圆心的横纵坐标(x,y)(x<L,y<L)的步骤,若不重叠,将补充到填充数组V中,并返回至将所述填充数组V内的所有值按大小进行降序排序的步骤。然后检查填充数组V是否为空数组,若为空数组,则将填充完填充圆的多孔介质图片作为各向同性的初始多孔介质图片(如二值格式、图片格式、CAD格式)输出,若不为空数组,返回至从填充数组V中取出最大值作为填充半径r的步骤。本发明实施例能够生成目标孔隙率值大小在0.35到0.9之间的多孔介质。本算法在Intel(R)Xeon(R)Gold 6226R CPU@2.90GHz八线程下生成符合对数正态分布Lognormal(μ,σ2)、孔隙率值为0.7、孔隙率绝对误差为0.001的多孔介质的程序运行时间为200毫秒。
得到目标孔隙率值和各向同性的初始多孔介质图片后,就可以执行如图1所示的如下步骤:S300、针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;相应的,所述多孔介质网络模型的训练过程具体为:获取训练孔隙率值和训练多孔介质图片;其中,所述训练多孔介质图片包含多孔介质几何形状;基于流体力学原理计算所述多孔介质几何形状的真实渗透率值;将所述训练多孔介质图片和所述训练孔隙率值输入到预设的第一网络,得到预测渗透率值;根据所述预测渗透率值和所述真实渗透率值调整所述第一网络的参数,并继续执行将训练数据中的训练初始多孔介质图片和训练孔隙率值输入到预设的第一网络的步骤,直至训练结束,以得到多孔介质网络模型。
具体地,为了得到训练孔隙率值和训练多孔介质图片,相应的,所述训练孔隙率值和训练多孔介质图片的生成方式为:根据所述预设的期望孔隙率值生成训练孔隙率值和训练多孔介质图片生成训练孔隙率值和训练多孔介质图片。
具体地,基于相同的所述预设的期望孔隙率值,训练孔隙率值的生成方法与目标孔隙率值的生成方法一样,故在此不再赘述,训练多孔介质图片生成方法与单线程下得到的各向同性的初始多孔介质图片相同。其中,所述训练多孔介质图片包含多孔介质几何形状;然后,基于流体力学原理计算所述多孔介质几何形状的真实渗透率值,例如,利用计算流体力学方法(如格子玻尔兹曼方法、有限体积法等)计算多孔介质的渗透率值,如图3中,左右边界为周期性边界,上边界为入口,下边界为出口,上下设定为压力差边界条件。当流动模拟达到稳定后,利用达西定律计算出渗透率值。为保证达西定律的适用性,上下边界的压力差不应过大,多孔介质内流动需保持为层流。然后将所述训练多孔介质图片和所述训练孔隙率值输入到预设的第一网络,得到预测渗透率值,其中第一网络为卷积神经网络。使用最大最小归一化方法将训练孔隙率值和预测渗透率值进行归一化处理,最后,根据所述预测渗透率值和所述真实渗透率值得到损失函数,此处损失函数为均方误差(MSE),使用自适应动量估计(Adam)为模型优化器,根据均方误差(MSE)调整所述第一网络的参数,并继续执行将训练数据中的训练初始多孔介质图片和训练孔隙率值输入到预设的第一网络的步骤,直至训练结束,以得到多孔介质网络模型。本发明实施例使用8000组数据对模型进行训练,可以将神经网络的预测渗透率值与对应标定值的决定系数提升为0.987,完全达到了对多孔介质渗透率的准确预测。
得到线程渗透率值之后,就可以执行如图1所示的如下步骤:步骤S400、判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。相应的,为了得到目标多孔介质,所述判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质包括如下步骤:
S401、计算所述期望渗透率值和所述线程渗透率值的相对误差值;
S402、当所述相对误差值小于预设阈值时,将所述线程渗透率值作为目标渗透率值;
S403、将此目标渗透率值对应的多孔介质作为目标多孔介质。
具体地,根据卷积神经网络的训练过程和数据,统计得出任意孔隙率下渗透率值的上限Pa和下限Pb,选取某一孔隙率值(如孔隙率值可以为0.7)下的期望渗透率值P(Pb≤P≤Pa),例如:P可以为1.5*10-8,Pb可以为1*10-8,Pa可以为2.5*10-8,生成目标渗透率值与期望渗透率值的相对误差小于等于预设的渗透率相对误差值(渗透率相对误差值的最小误差值可以为0.001)的多孔介质。先计算所述期望渗透率值和所述线程渗透率值的相对误差值,当所述相对误差值小于等于预设阈值(预设阈值可以为0.001)时,将所述线程渗透率值作为目标渗透率值;当所述相对误差值大于预设阈值时,则重复根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和所述目标孔隙率值的步骤。本发明实施例在Intel(R)Xeon(R)Gold 6226R CPU@2.90GHz单线程、单张NVIDIA 2080TiGPU下生成期望孔隙率0.7、孔隙率绝对误差为0.001、期望渗透率值P为1.5*10-8、渗透率相对误差为0.001的多孔介质的平均运行时间为5秒。此外,所述根据所述期望渗透率值和所述线程渗透率值,得到目标多孔介质还包括:停止除去当前线程的剩下线程的计算。本发明实施例使用多线程进行处理,大大提高了数据处理速度,当其中一个线程的处理数据满足要求,就停止其他线程的操作。
示例性设备
如图4中所示,本发明实施例提供一种基于机器学习的圆填充型多孔介质生成装置,该装置包括执行多线程单元501,目标孔隙率值和各向同性的初始多孔介质图片获取单元502,线程渗透率值获取单元503,目标多孔介质获取单元504,其中:
执行多线程单元501,用于执行多线程处理操作;
目标孔隙率值和初始多孔介质图片获取单元502,用于在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
线程渗透率值获取单元503,用于针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;
目标多孔介质获取单元504,用于判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图5所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于机器学习的圆填充型各向同性多孔介质生成方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图5中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
执行多线程处理操作;
在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;
判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种基于机器学习的圆填充型各向同性多孔介质生成方法、智能终端、存储介质,所述方法包括:执行多线程处理操作;在每一个线程处理操作时,获取预设的期望孔隙率值,并根据期望孔隙率值生成与线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;针对每一个初始多孔介质图片和目标孔隙率值,将初始多孔介质图片和目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;判断线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据线程渗透率值得到目标多孔介质。本发明实施例通过上述方法在满足多孔介质随机性的同时可以控制渗透率和孔隙率,从而达到控制多孔介质内部流动的目的。
基于上述实施例,本发明公开了一种基于机器学习的圆填充型各向同性多孔介质生成方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (7)
1.一种基于机器学习的圆填充型各向同性多孔介质生成方法,其特征在于,所述方法包括:
执行多线程处理操作;
在每一个线程处理操作时,获取预设的期望孔隙率值,并根据所述期望孔隙率值生成与所述线程处理操作对应的各向同性的初始多孔介质图片和目标孔隙率值;
针对每一个所述初始多孔介质图片和所述目标孔隙率值,将所述初始多孔介质图片和所述目标孔隙率值输入到训练好的多孔介质网络模型,得到线程渗透率值;
判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质;
所述根据所述期望孔隙率值生成各向同性的初始多孔介质图片和目标孔隙率值包括:
获取初始圆的圆个数;
根据所述圆个数,随机生成线程数组,其中,所述线程数组元素的个数为圆个数;所述线程数组元素的值为圆半径;
根据所述线程数组和所述期望孔隙率值,得到目标孔隙率值和各向同性的初始多孔介质图片;
所述根据所述线程数组和所述期望孔隙率值,得到目标孔隙率值和各向同性的初始多孔介质图片包括:
获取预设的线程总数、预设的填充区域和预设的孔隙率绝对误差值;其中,所述线程总数为处理操作时线程的数目;所述填充区域为待填充的多孔介质图片;
根据所述填充区域,得到填充区域面积;
根据所述圆半径,得到所述初始圆的圆总面积;
根据所述圆总面积,得到面积比例值;
根据所述面积比例值,得到初始孔隙率值;
根据所述线程总数、所述期望孔隙率值、所述孔隙率绝对误差值和所述初始孔隙率值,得到目标孔隙率值和填充数组;
根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片;
所述根据所述填充数组和所述填充区域,得到各向同性的初始多孔介质图片包括:
根据所述填充数组,随机生成圆位置;
根据所述圆位置,判断各圆之间是否重叠;
当各圆不重叠时,则将所述圆填充至所述填充区域,得到各向同性的初始多孔介质图片;
将所述填充数组内的所有值按大小进行降序排序,从填充数组中取出最大值作为填充半径,根据所述填充半径,随机生成填充圆;
求解出所述填充圆与其他圆的半径和rs,求解出所述填充圆与其他圆的圆心的距离D,比较所述距离D和所述半径和rs的大小,若D<rs,则所述填充圆与其他圆重叠,返回根据填充半径r,随机生成填充圆,若D>rs,则所述圆不与其他圆重叠;
以y=x为对称轴,若所述填充圆与所述对称轴不相交,在所述对称轴一侧填充圆后,另一侧的对称位置也填充同样大小的圆,圆填充成功;若所述填充圆与对称轴相交,则将所述填充圆的圆心以最短距离平移到所述对称轴上,返回至比较所述距离D和所述半径和rs的大小,若D<rs,则所述填充圆与其他圆重叠,返回根据填充半径r,随机生成填充圆,若D>rs,则所述圆不与其他圆重叠,将r/√2补充到所述填充数组中,并返回至将所述填充数组内的所有值按大小进行降序排序的步骤,检查所述填充数组是否为空数组,若为空数组,则将填充完填充圆的多孔介质图片作为各向同性的初始多孔介质图片输出,若不为空数组,返回至从填充数组中取最大值作为填充半径的步骤。
2.根据权利要求1所述的基于机器学习的圆填充型各向同性多孔介质生成方法,其特征在于,所述多孔介质网络模型的训练过程具体为:
获取训练孔隙率值和训练多孔介质图片;其中,所述训练多孔介质图片包含多孔介质几何形状;
基于流体力学原理计算所述多孔介质几何形状的真实渗透率值;
将所述训练多孔介质图片和所述训练孔隙率值输入到预设的第一网络,得到预测渗透率值;
根据所述预测渗透率值和所述真实渗透率值调整所述第一网络的参数,并继续执行将训练数据中的训练初始多孔介质图片和训练孔隙率值输入到预设的第一网络的步骤,直至训练结束,以得到多孔介质网络模型。
3.根据权利要求2所述的基于机器学习的圆填充型各向同性多孔介质生成方法,其特征在于,所述训练孔隙率值和训练多孔介质图片的生成方式为:
根据所述预设的期望孔隙率值生成训练孔隙率值和训练多孔介质图片。
4.根据权利要求1所述的基于机器学习的圆填充型各向同性多孔介质生成方法,其特征在于,所述判断所述线程渗透率值与预设的期望渗透率值的差值是否在误差精度范围内,若是,则根据所述线程渗透率值生成目标多孔介质包括:
计算所述期望渗透率值和所述线程渗透率值的相对误差值;
当所述相对误差值小于预设阈值时,将所述线程渗透率值作为目标渗透率值;
将此目标渗透率值对应的多孔介质作为目标多孔介质。
5.根据权利要求4所述的基于机器学习的圆填充型各向同性多孔介质生成方法,其特征在于,所述根据所述期望渗透率值和所述线程渗透率值,得到目标多孔介质还包括:
停止除去当前线程的剩下线程的计算。
6.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-5中任意一项所述的方法。
7.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110399646.1A CN112949213B (zh) | 2021-04-14 | 2021-04-14 | 一种基于机器学习的圆填充型各向同性多孔介质生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110399646.1A CN112949213B (zh) | 2021-04-14 | 2021-04-14 | 一种基于机器学习的圆填充型各向同性多孔介质生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949213A CN112949213A (zh) | 2021-06-11 |
CN112949213B true CN112949213B (zh) | 2023-07-07 |
Family
ID=76232518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110399646.1A Active CN112949213B (zh) | 2021-04-14 | 2021-04-14 | 一种基于机器学习的圆填充型各向同性多孔介质生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949213B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011030013A2 (fr) * | 2009-09-09 | 2011-03-17 | Ronald Tai | Procédé de modélisation déterministe des écoulements en milieu poreux |
CN109191423A (zh) * | 2018-07-18 | 2019-01-11 | 中国矿业大学 | 一种基于机器图像智能学习的多孔介质渗透率预测方法 |
CN110083893A (zh) * | 2019-04-12 | 2019-08-02 | 河海大学 | 一种二维规则多孔介质几何模型的构建方法和构建装置 |
CA3035734A1 (en) * | 2019-03-05 | 2020-09-05 | Suncor Energy Inc. | A system and method for estimating permeability using previously stored data, data analytics and imaging |
US10969514B1 (en) * | 2020-09-09 | 2021-04-06 | China University Of Petroleum (East China) | Method for correcting permeability model of porous medium in dissociation process of gas hydrate, and method and system for determining permeability of hydrate-bearing porous medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2803315A1 (en) * | 2010-07-29 | 2012-02-02 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
US9140117B2 (en) * | 2012-07-13 | 2015-09-22 | Ingrain, Inc. | Method for evaluating relative permeability for fractional multi-phase, multi-component fluid flow through porous media |
US20210097390A1 (en) * | 2019-10-01 | 2021-04-01 | Chevron U.S.A. Inc. | Artificial learning fracture system and method for predicting permeability of hydrocarbon reservoirs |
-
2021
- 2021-04-14 CN CN202110399646.1A patent/CN112949213B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011030013A2 (fr) * | 2009-09-09 | 2011-03-17 | Ronald Tai | Procédé de modélisation déterministe des écoulements en milieu poreux |
CN109191423A (zh) * | 2018-07-18 | 2019-01-11 | 中国矿业大学 | 一种基于机器图像智能学习的多孔介质渗透率预测方法 |
WO2020015086A1 (zh) * | 2018-07-18 | 2020-01-23 | 中国矿业大学 | 一种基于机器图像智能学习的多孔介质渗透率预测方法 |
CA3035734A1 (en) * | 2019-03-05 | 2020-09-05 | Suncor Energy Inc. | A system and method for estimating permeability using previously stored data, data analytics and imaging |
CN110083893A (zh) * | 2019-04-12 | 2019-08-02 | 河海大学 | 一种二维规则多孔介质几何模型的构建方法和构建装置 |
US10969514B1 (en) * | 2020-09-09 | 2021-04-06 | China University Of Petroleum (East China) | Method for correcting permeability model of porous medium in dissociation process of gas hydrate, and method and system for determining permeability of hydrate-bearing porous medium |
Non-Patent Citations (5)
Title |
---|
基于格子Boltzmann...质孔隙裂隙结构渗流模拟研究;田忠伟;《中国优秀硕士学位论文全文数据库》;20200315;B019-48 * |
基于格子Boltzmann方法预测多孔介质的渗透率;战洪仁等;《沈阳化工大学学报》;20170315;第31卷(第01期);第63-66页 * |
基于模拟退火算法的多孔介质三维重建;王美玲等;《计算机辅助设计与图形学学报》;20180315;第30卷(第03期);第505-513页 * |
岩石孔隙结构三维重构及微细观渗流的数值模拟研究;王金波;《中国博士学位论文全文数据库》;20150215;C038-47 * |
裂隙单元修正等效渗透率模型及其验证;王臻等;《岩石力学与工程学报》;20130415;第32卷(第04期);第728-733页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112949213A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079632A (zh) | 文本检测模型的训练方法、装置、计算机设备和存储介质 | |
CN111160531B (zh) | 神经网络模型的分布式训练方法、装置及电子设备 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN112016318A (zh) | 基于解释模型的分诊信息推荐方法、装置、设备及介质 | |
CN111325663A (zh) | 基于并行架构的三维点云匹配方法、装置和计算机设备 | |
CN112949213B (zh) | 一种基于机器学习的圆填充型各向同性多孔介质生成方法 | |
CN112215398A (zh) | 电力用户负荷预测模型建立方法、装置、设备及存储介质 | |
CN111178126A (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
US20150120032A1 (en) | Device and method for verifying cnc production accuracy | |
CN115018842B (zh) | 基于机器视觉的缺陷检测方法、装置、终端及存储介质 | |
EP4357924A1 (en) | Application performance testing method, method and apparatus for establishing performance testing model | |
EP4050560A1 (en) | Wafer testing method and apparatus, and device and storage medium | |
CN115705486A (zh) | 量化模型的训练方法、装置、电子设备和可读存储介质 | |
US11561654B2 (en) | Machine learning-based position determination | |
CN111143148A (zh) | 一种模型参数确定方法、装置及存储介质 | |
KR102508106B1 (ko) | 뉴로모픽 하드웨어 지원 IoT 응용 생성 자동화 방법 | |
CN113537323B (zh) | 一种基于lstm神经网络的室内轨迹误差评估方法 | |
CN112923922B (zh) | 一种计步和确定行人的位置信息的方法、系统及存储介质 | |
CN115214774B (zh) | 后轮控制方法、装置、计算机设备及汽车 | |
US20240185094A1 (en) | Prediction model generation apparatus, prediction model generation method, and non-transitory computer readable medium | |
CN117454668B (zh) | 零部件失效概率的预测方法、装置、设备和介质 | |
CN116339081B (zh) | 一种光学邻近校正模型的建模方法、装置、设备及介质 | |
CN114092725A (zh) | 图像边缘匹配方法、装置、计算机设备及存储介质 | |
CN112581346B (zh) | 基于对抗网络的二值图像隐写方法 | |
CN114282304A (zh) | 玻璃模具的模面生成方法、系统和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |