一种n维空间超球体填充复合材料建模方法技术

技术编号:37843282 阅读:30 留言:0更新日期:2023-06-14 09:48
本发明专利技术提供了一种n维空间超球体填充复合材料建模方法,是先定义n维欧几里得空间中超立方体区域,生成待填充半径数组并排序,再定义区域内已填充超球集合并计算其在超立方体区域内的体积,计算超球元素并建立超球集合,接着计算超球集合发生重叠的元素序号,更新区域内已填充超球集合,计算超球遇到区域边界会发生反射,更新超球所对应的速度,再计算超球元素并建立超球集合和临时集合,接着计算临时集合内球心坐标数组和发生重叠的超球元素子集,计算发生重叠的一对超球发生碰撞相切时刻,最后更新一对超球碰撞后各自的速度矢量。本发明专利技术能通过提高计算机硬件的配置,实现快速大量颗粒填充的建模工作。大量颗粒填充的建模工作。大量颗粒填充的建模工作。

【技术实现步骤摘要】
一种n维空间超球体填充复合材料建模方法


[0001]本专利技术涉及一种复合材料建模方法,具体涉及一种n维空间超球体填充复合材料建模方法。

技术介绍

[0002]颗粒填充复合材料是指以聚合物成分作为黏结树脂,以球体、圆柱体或小片状体作为填料而形成的复合材料,颗粒填料可改变材料介电性、耐热性、硬度等,常用于隔热材料和固体推进剂等。固体颗粒在黏结树脂经过充分搅拌后进行固化,因此可以归结为颗粒在空间中随机运动碰撞的问题。
[0003]现有算法主要包括分子动力学方法和随机堆积算法:
[0004]分子动力学颗粒堆积算法的基本思想为将一定数目的具有零尺寸的颗粒在计算域中赋予随机的位置和初始速度,每个颗粒均有各自的半径增长速度,颗粒在计算域内不断长大并发生碰撞,直到达到预定的体积分数或计算域内再无空间可容纳颗粒的运动时,算法终止。其优点是容易实现较高的填充颗粒体积分数,缺点是难以控制颗粒的尺寸分布。
[0005]随机堆积算法是逐个将给定尺度的颗粒放置于计算域内,判断该颗粒是否与现有颗粒重叠,如果发生重叠则重新生成该颗粒的坐标。其缺点是难以实现较高的颗粒填充体积分数,计算效率较低。

技术实现思路

[0006]针对上述
技术介绍
中存在的技术问题,本专利技术提供了一种n维空间超球体填充复合材料建模方法,其结合了随机填充和分子动力学生成颗粒填充复合材料模型的优点,颗粒在运动碰撞的过程中随机填充,在满足颗粒尺寸分布的同时,可以达到较高的填充体积分数,且算法中判断大量超球碰撞、边界反射和镜像等算法逻辑均基于矩阵加法和乘法,采用矩阵运算代替了传统算法中的循环、判断和标量代数运算,矩阵运算非常适合并行计算,有丰富和成熟的代码库,并行效率极高,通过提高计算机硬件的配置,可以实现快速大量颗粒填充的建模工作。
[0007]为解决上述技术问题,本专利技术提供的一种n维空间超球体填充复合材料建模方法,是先定义n维欧几里得空间中超立方体区域,然后基于概率学方法生成服从某指定概率分布的待填充半径数组并对待填充半径数组排序,再定义区域内已填充超球集合,计算空间内已填充超球集合在超立方体区域内的体积,计算与区域边界相交的超球元素,并建立其相对区域边界周期对称的超球集合,接着计算超球集合发生重叠的元素序号,更新区域内已填充超球集合,计算区域内已填充超球集合中的超球遇到区域边界会发生反射,更新这些超球所对应的速度,计算区域内已填充超球集合中与区域边界相交的超球元素,建立其相对区域边界周期对称的超球集合,并建立临时集合,接着计算临时集合内球心坐标数组和发生重叠的超球元素子集,计算发生重叠的一对超球发生碰撞相切时刻,最后更新一对超球碰撞后各自的速度矢量。
[0008]所述n维空间超球体填充复合材料建模方法,其中,所述建模方法主要包括以下步骤:
[0009](1)定义某n维欧几里得空间中超立方体区域Ω,x
i
∈[x
i,min
,x
i,max
],i=1,2,...,n,边界为L,Ω的体积
[0010](2)基于概率学方法,生成服从某指定概率分布的待填充半径数组[R]m
×1;
[0011](3)对待填充半径数组[R]m
×1由大到小排序;
[0012](4)定义区域内已填充超球集合{B0}
i
,{B0}
i
内包含的超球数量为i,其球心坐标数组为[X0]i
×
n
,速度数组为[V0]i
×
n
,半径数组为[R0]i
×1;计算空间内已填充超球集合{B0}
i
在区域Ω内的体积V
B

[0013](5)判断如果V
B
/V
Ω
<目标体积分数,则向区域Ω内填充k个超球,新填充超球集合{B1}
k
,通过随机算法生成其球心坐标数组为[X1]k
×
n
,速度数组为[V1]k
×
n
,半径数组[R1]k
×1按照由大到小的顺序从半径数组[R](m

i)
×1中取出;判断如果V
B
/V
Ω
>=目标体积分数,则结束循环,结束填充算法,输出当前已填充超球球心坐标及半径;
[0014](6)计算区域内已填充超球集合{B0}
i
和新超球集合{B1}
k
与区域边界L相交的超球元素,分别建立其相对区域边界L周期对称的超球集合{B0
p
}
s
和{B1
p
}
t

[0015](7)计算{B1}
k
+{B1
p
}
t
和{B0}
i
+{B0
p
}
s
发生重叠的超球元素对应新填充超球集合{B1}
k
中的元素序号数组{ID
crash1
}
l1
;同时,计算{B1}
k
+{B1
p
}
t
内部发生重叠的超球元素对应新填充超球集合{B1}
k
中的元素序号数组{ID
crash2
}
l2
;然后,合并{ID
crash1
}
l1
和{ID
crash2
}
l2
并去除重复元素得到{ID
crash
}
l
;接着计算与{ID
crash
}
l
对应的超球集合{B1
crash
}
l
和半径子集[R1
crash
]l
×1;
[0016](8)更新区域内已填充超球集合{B0}
i+k

l
={B0}
i
+{B1}
k

{B1
crash
}
l
,更新B0内球心坐标数组[X0](i+k

l)
×
n
,速度数组[V0](i+k

l)
×
n
,半径数组[R0](i+k

l)
×1;将当前循环已填充的半径从待填充半径数组中移除,更新待填充半径数组[R](m

i

k+l)
×1=[R](m

i)
×1‑
([R1]k
×1‑
[R1
crash
]l
×1);更新已填充超球数量i=i+k

l,更新体积分数V
B
/本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种n维空间超球体填充复合材料建模方法,其特征在于,是先定义n维欧几里得空间中超立方体区域,然后基于概率学方法生成服从某指定概率分布的待填充半径数组并对待填充半径数组排序,再定义区域内已填充超球集合,计算空间内已填充超球集合在超立方体区域内的体积,计算与区域边界相交的超球元素,并建立其相对区域边界周期对称的超球集合,接着计算超球集合发生重叠的元素序号,更新区域内已填充超球集合,计算区域内已填充超球集合中的超球遇到区域边界会发生反射,更新这些超球所对应的速度,计算区域内已填充超球集合中与区域边界相交的超球元素,建立其相对区域边界周期对称的超球集合,并建立临时集合,接着计算临时集合内球心坐标数组和发生重叠的超球元素子集,计算发生重叠的一对超球发生碰撞相切时刻,最后更新一对超球碰撞后各自的速度矢量。2.如权利要求1所述的n维空间超球体填充复合材料建模方法,其特征在于,所述建模方法主要包括以下步骤:(1)定义某n维欧几里得空间中超立方体区域Ω,x
i
∈[x
i,min
,x
i,max
],i=1,2,...,n,边界为L,Ω的体积(2)基于概率学方法,生成服从某指定概率分布的待填充半径数组[R]
m
×1;(3)对待填充半径数组[R]
m
×1由大到小排序;(4)定义区域内已填充超球集合{B0}
i
,{B0}
i
内包含的超球数量为i,其球心坐标数组为[X0]
i
×
n
,速度数组为[V0]
i
×
n
,半径数组为[R0]
i
×1;计算空间内已填充超球集合{B0}
i
在区域Ω内的体积V
B
;(5)判断如果V
B
/V
Ω
<目标体积分数,则向区域Ω内填充k个超球,新填充超球集合{B1}
k
,通过随机算法生成其球心坐标数组为[X1]
k
×
n
,速度数组为[V1]
k
×
n
,半径数组[R1]
k
×1按照由大到小的顺序从半径数组[R]
(m

i)
×1中取出;判断如果V
B
/V
Ω
>=目标体积分数,则结束循环,结束填充算法,输出当前已填充超球球心坐标及半径;(6)计算区域内已填充超球集合{B0}
i
和新超球集合{B1}
k
与区域边界L相交的超球元素,分别建立其相对区域边界L周期对称的超球集合{B0
p
}
s
和{B1
p
}
t
;(7)计算{B1}
k
+{B1
p
}
t
和{B0}
i
+{B0
p
}
s
发生重叠的超球元素对应新填充超球集合{B1}
k
中的元素序号数组{ID
crash1
}
l1
;同时,计算{B1}
k
+{B1
p
}
t
内部发生重叠的超球元素对应新填充超球集合{B1}
k
中的元素序号数组{ID
crash2
}
l2
;然后,合并{ID
crash1
}
l1
和{ID
crash2
}
l2
并去除重复元素得到{ID
crash
}
l
;接着计算与{ID
crash
}
l
对应的超球集合{B1
crash
}
l
和半径子集[R1
crash
]
l
×1;(8)更新区域内已填充超球集合{B0}
i+k

l
={B0}
i
+{B1}
k

{B1
crash
}
l
,更新B0内球心坐标数组[X0]
(i+k

l)
×
n
,速度数组[V0]
(i+k

l)
×
n
,半径数组[R0]
(i+k

l)
×1;将当前循环已填充的半径从待填充半径数组中移除,更新待填充半径数组[R]
(m

i

k+l)
×1=[R]
(m

i)
×1‑
([R1]
k
×1‑
[R1
crash
]
l
×1);更新已填充超球数量i=i+k

l,更新体积分数V
B
/V
Ω
;判断如果V
B
/V
Ω
>=目标体积分数,则跳出当前循环,结束当前循环,并结束填充算法,输出当前已填充超球球心坐标及半径;(9)判断如果V
B
/V
Ω
<目标体积分数,则已填充超球集合开始运动,给定时间步长Δt=Δt0;同时计算{B0}
i
中的超球遇到区域边界L会发生反射,更新这些超球所对应[V0]
i
×
n

的速度;(10)计算{B0}
i
中与区域边界L相交的超球元素,建立其相对区域边界L周期对称的超球集合{B0
p
}
p
,建立临时集合{B2}
i+p
={B0}
i
+{B0
p
}
p
;(11)计算时间Δt后,{B2}
i+p
内球心坐标数组[X2]
(i+p)
×
n
=[X0]
(i+p)
×
n
+[V0]
(i+p)
×
n
Δt;(12)计算{B2}
i+p
内发生重叠的超球元素子集{B2
crash
}
q
,并得到其对应原超球集合{B0}
i
中的位置索引数组{ID}
s
;判断如果没有重叠发生即q=0,则[X0]
i
×
n
=[X2]
i
×
n
,跳出当前循环,结束循环,并跳转执行上述步骤(5);(13)否则如果有且仅有一对超球发生重叠即q=2,则计算发生重叠的一对超球发生碰撞相切时刻Δt
c
,计算时间Δt
c
后,{B0}
i
内球心坐标数组[X0]
i
×
n
=[X0]
i
×
n
+[V0]
i
×
n
Δt
c
;(14)计算发生重叠的一对超球发生碰撞后的速度,通过位置索引数组{ID}
s
映射到原超球集合{B0}
i
中,更新这些超球所对应[V0]
i
×
n
中的速度,跳出当前循环,结束判断,并跳转执行上述步骤(5);否则如果有多对超球发生重叠即q>2,则缩短时间步长Δt=Δt/2,继续当前循环,执行上述步骤(11)。3.如权利要求1所述的n维空间超球体填充复合材料建模方法,其特征在于,所述步骤(4)中区域内已填充的超球需要满足以下条件:

超球的整体或一部分在空间内部,

任意超球之间不存在重叠的情况;此时i=0。4.如权利要求1所述的n维空间超球体填充复合材料建模方法,其特征在于,所述步骤(6)中计算与区域边界L相交的超球元素,并建立其相对区域边界L周期对称的超球集合的具体步骤如下:(15.01)已知{B}
i
的球心坐标数组为[X]
i
×
n
,半径数组为[R]
i
×1,速度数组为[V]
i
×
n
;(15.02)区域Ω的边界为x
i
=x
i,min
,x
i
=x
i,max
,i=1,2,...,n;(15.03)对半径数组在列方向进行广播(复制n次),得到[R]
i
×
n
;(15.04)执行矩阵布尔运算[X]
i
×
n

[R]
i
×
n
<[{x
1,min
,x
2,min
,

,x
n,min
}]
i
×
n
,得到布尔型数组[O1]
i
×
n
,代表超球是否超出Ω的下界;(15.05)执行矩阵布尔运算[X]
i
×
n
+[R]
i
×
n
>[{x
1,max
,x
2,max
,

,x
n,max
}]
i
×
n
,得到布尔型数组[O2]
...

【专利技术属性】
技术研发人员:孙经雨钱桂安时涛刘晓晗
申请(专利权)人:内蒙合成化工研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1