用于模拟或计算过程中的射线追踪方法与流程

文档序号:12513364阅读:1146来源:国知局
用于模拟或计算过程中的射线追踪方法与流程

本发明总体涉及用于模拟或计算过程中的方法,更具体地涉及被设计用于在所用的计算机时间和计算机内存方面实现节省的上述种类的方法。更加具体地,本发明涉及通过并行计算的射线追踪。

在用作模拟方法的用于计算热表面辐射的部分的有用的方法和算法及其用于模拟热耦合表面辐射(特别是与铸造过程有关)的影响的用途的框架内描述本发明。然而,根据本发明的方法的用途并不仅限于该具体应用。作为根据本发明的方法的进一步应用的示例,将提及通常和特别用于电脑游戏的计算机图形应用。



背景技术:

Bindick、Ahrenholz和Krafczyk在“Heat Transfer Mathematical Modelling,Numerical Methods and Information Technology”,ISBN 978-953-307-550-1,Aziz Belmiloudi主编,在2011年2月14日出版,第7章-“Efficient Simulation of Transient Heat Transfer Problems in Civil Engineering”(具体见7.3节)中以三维度总结了在热耦合辐射技术领域中的现有技术。他们的观点在此以引用该文章的全部内容而并入本文。

EP1667069A1描述了通过使用射线追踪确定半透明介质中的局部辐射强度分布的方法,其中引入了对于确定显示至少一个边界面的半透明介质中的局部辐射强度分布需要内存更小同时明显更快的方法。

使用射线追踪技术的模拟和计算方法需要大量的计算和存储在计算机中的大量的数值结果。因此将期望提供在所使用的计算机时间和计算机内存方面实现节省的方法。



技术实现要素:

基于以上背景,本发明的一个目的是提供一种基于射线追踪的用于不仅关于热问题而且关于通用计算机图形学而进行的模拟的方法,该方法在所用的计算机时间和计算机内存方面实现了节省。

因此,本发明还涉及一种用于模拟或计算过程的射线追踪的方法,以在所用的计算机时间和计算机内存方面实现节省。特别地,提出了一种借助于并行计算以单独以及与各向异性切比雪夫距离计算和/或通过瓦片群集的另外的加速结合起来加速射线追踪计算的非传统的方法。

通过在独立权利要求中限定的离散化方法而得到根据本发明的上述和其它目的和优点。在从属权利要求中限定根据本发明的方法的各种实施方式。

根据本发明的第一方面,提供了一种在包括多个CPU的计算机系统上借助并行计算进行射线追踪的方法,所述方法用在模拟或计算过程中,所述方法包括:

1)在第一阶段

a)限定至少一个辐射源;

b)限定形成多个辐射瓦片的辐射瓦片的数量,和形成多个网格单元的网格单元的数量,所述多个网格单元包括所述多个辐射瓦片;

c)生成包括网格数据的总体网格模型,所述网格数据包括关于所述多个辐射瓦片和所述多个网格单元的信息;

d)通过瓦片群集可选地减少所述辐射瓦片的数量以生成比初始限定的所述辐射瓦片的数量更小的辐射瓦片数量;

e)将所述总体网格模型的所述网格数据传输至所述多个CPU;

f)在所述多个CPU之间平衡所述辐射瓦片的数量,从而针对每个CPU创建其自身的待处理辐射瓦片的列表、和所输入的待处理辐射瓦片的列表、以及CPU供体和CPU受体的列表;以及

2)在第二阶段

g)可选地针对每个辐射瓦片计算各向异性切比雪夫距离;

h)通过在每个CPU上执行并行计算来执行射线追踪,其中,针对每个CPU从所述CPU自身的待处理辐射瓦片的列表开始,执行下列步骤:

-在每个CPU上独立于彼此发射所述射线追踪的所有射线,

-定位辐射源,

-可选地对所定位的所述辐射源进行几何和/或热适配,

-将定位的所述辐射源直接存储在所述自身的待处理辐射瓦片的列表中;以及

ⅰ)当所有自身的待处理辐射瓦片已被处理时,

-在所述CPU受体上针对所输入的所述待处理辐射瓦片重复以上步骤h)直到不存在待处理辐射瓦片,以及

-将通过所述射线追踪定位的、关于所输入的所述待处理辐射瓦片的所定位的所述辐射源暂时存储在缓冲器中;

j)因此,在处理了所有辐射瓦片后,所述CPU受体将所输入的所述待处理辐射瓦片的所定位的所述辐射源发送回所述CPU供体;以及

k)优选地在从CPU受体接收后立即将由所述CPU供体接收的所输入的所述待处理辐射瓦片的所定位的所述辐射源写入所述CPU受体自身的待处理辐射瓦片的列表中;以及

1)可选地删除不再需要的数据。

由此实现在所用的计算机时间和计算机内存方面的加速和节省

根据本发明的第一方面的第一实施方式,所述射线追踪的方法是具有反向射线追踪的基于体素的射线追踪方法。

根据本发明的第一方面的第二实施方式,在步骤f)中,在所述多个CPU之间平衡所述辐射瓦片的数量通过以下步骤完成:

I.确定CPU上存在的在本地限定的辐射瓦片的数量N;

II.计算在所述多个CPU上的算术平均值Nav

III.从具有过量辐射瓦片N1>Nav的CPU供体中虚拟地去除一部分辐射瓦片ΔΝ并将所述过量辐射瓦片分配给相邻的具有N2<Nav的CPU受体,使得满足条件N1=Nav或N2=Nav;以及

IV.重复步骤III,直到既不满足N1=Nav也不满足N2=Nav

根据本发明的第一方面的第三实施方式,该方法包括在射线追踪期间将离开辐射瓦片的所有射线表征为一束向量,每个向量表示单个射线的方向且其中在射线追踪开始之前,通过用将沿笛卡尔方向+Z的所述一束向量的中心向量转换成所述辐射瓦片的法向量的旋转矩阵乘以所述向量而使所述一束向量集中在每个相应辐射瓦片的所述法向量周围。

根据本发明的第四实施方式,该方法包括如果针对所述多个网格单元中的每个网格单元的每一侧面分配一个ID,则对于所述辐射瓦片中的每一者,针对用于每个辐射瓦片的每个网格单元存储有三个ID,从而相对于所述总体网格模型充分地表征所述多个辐射瓦片。

根据本发明的第五实施方式,该方法在射线追踪期间在所发射的射线的延长部分和所发射的射线当前所在的网格单元的各个侧面之间搜索下一交叉点。

根据本发明的第六实施方式,该方法包括:

-其中针对下一交叉点对所发射的射线当前所在的所述网格单元的三个可能侧面进行检查,所述可能侧面由所述射线方向的三个分量的符号给定;

-其中与所述当前射线位置的距离最小的下一交叉点限定了在所发射的射线上的下一点;以及

-其中确定所发射的射线当前所在的所述网格单元的、具有到所述下一交叉点最小长度的单个侧面,且所发射的射线沿所述射线方向延长所定位的长度ΔX射线直到所定位的下一交叉点,其中:

-其中,当已经发现所述下一交叉点时,请求在所述网格的包括所述下一交叉点的所述单个侧面上的相应瓦片的ID;且其中

-如果所述相应瓦片的所述ID与实际辐射瓦片相对应,则停止所述射线追踪并返回已被定位的辐射源的总体ID;或

-如果所述相应瓦片的所述ID与具有笛卡尔法向量的对称平面相对应,则使与所述对称平面垂直的所发送的射线的方向分量反向且进一步追踪为作为反射射线的所发射的射线;或否则

-在下一网格单元中重复所述射线追踪过程,直到所发射的射线接触辐射瓦片或离开所述网格模型的边界,在离开所述网格模型的边界的情况下,返回指示外部空间的固定ID。

根据本发明的第七实施方式,在该方法中,所述模拟或计算过程是来自辐射表面的热通量的模拟或计算过程,或计算机图像渲染的方法。

根据第二方面,本发明涉及一种在计算机可读介质上的计算机软件产品,其提供用于执行根据本发明的第一方面的方法的软件代码。

附图说明

结合附图参考下面的详细描述将更好地理解本发明,其中:

图1是通过半个单位球面的立体角的图示;

图2是立体角的牢固嵌入式离散的示例;

图3是单位球面的固定分区的选择原则的图示,该视图“从上”沿着辐射瓦片的法向方向,其中所述分区类似于靶子并包括方位角地设置的段,这些段进而形成径向环;

图4是从方程式(7)得到的用于参数化(r=4,n=10)的方向向量系统的示例,其中根据(7a)的方向的总数N=86;

图5A是用分区(r,n)=(4,10)从第一等级生成的第二精分等级;

图5B是从第二等级生成的第三等级;

图5C示出了来自所有3个等级的方向向量,其中来自不同等级的向量使用在向量起点处的不同符号来表征且其中根据射线追踪方法发出针对所有方向示出的射线;

图6是用于选择来自不同精分等级的角度离散化的辐射源的流程图;

图7示出了立体角的改变的离散化的示例,其中将来自不同等级的球面矩形沿精分方向标记在图中;

图8示出了在包括与正交网格的交叉点序列方向的笛卡尔网格上的射线追踪图;

图9示出了始于正交网格单元(交叉)的各个辐射侧的瓦片结构的支持变型;

图10是在2D示例的帮助下的切比雪夫距离的图示:10A:各向同性的切比雪夫距离;10B:各向异性的切比雪夫距离;

图11以2D示出了在由各向异性的切比雪夫距离支持的射线追踪的示例;

图12示出了实际应用的示例,即对于使用辐射模型计算的熔模铸造工程的热结果;

图13是包括象家族的图示,示出了模型效率的测试、遮蔽和与热源距离的影响,其中热量来自于在图像的左上角的球;

图14示出在具有半封闭腔室的熔炉中模拟热处理4个齿轮组件的建模:A:整个模型。A:回火组件,其中热源被安装在左壁和右壁上;

图15示出具有三辆汽车的计算场景,其中热源在前顶部,在图像中未示出;

图16示出5个铸造泵房在熔炉中的热处理;且

图17示出了单位球面的细分方法的流程图;

图18A和图18B示出了通过在包括多个CPU的计算机系统上的并行计算来执行射线追踪的方法的流程图。

具体实施方式

本发明的以下详细描述将说明根据本发明的立体角离散化的特别是与热计算相关的应用。然而,应注意,这仅仅是能够应用本发明的技术领域的单个示例。更普遍地,它可以应用在基于射线追踪技术的计算机绘图中。

许多重要的性质,例如材料或介质的粘度、电导率、比容或者化学反应性由温度决定。例如,在固体物质(例如金属、玻璃、陶瓷)的熔化、纯化和/或形成的领域中,例如,频繁地以时间依赖性方式观测某些温度具有重要意义。

根据本发明的方法的应用涉及热表面辐射的计算及其用于模拟特别是与铸造过程相关的热耦合表面辐射的影响的用途。

下面给出的说明性例子也包括通过计算漫灰表面之间的辐射交换来模拟热耦合表面辐射对固体的影响的方法,所述固体具有至少一个能够暴露于辐射的表面,其特征在于,所述要暴露于辐射的一个或多个表面被适应性按级细分成具有相同或实质相同的辐射强度的辐射瓦片,且从照射得到的表面温度借助于分级视角因数法来实现,所述视角因数法包括使用主立体角分区的立体角积分估算,所述主立体角分区包括齐次视角因数离散化,其中每个立体角分区通过球面投影被适应性地按级离散成其部分面积且其中所述立体角积分的所有部分量的总和能够借助于射线追踪来确定。

原理

在辐射表面处的能量平衡

通过针对在辐射表面处的能量平衡条件改变方程式来在热模型中考虑表面辐射。

无辐射时,这个条件单独由热传导流表达,

(1).

在(1)中用指数为L和R的变量表征与表面的左边和右边对应的热导率和温度梯度。向量是法向表面向量。

通过辐射,另外的术语,净热通量密度,进入平衡方程式(1):

(2).

方程式(2)必须在具有表面辐射的热耦合模型中来解。

净热通量由吸收的辐射热和发射的辐射热之差构成。

(3).q=∈(q入射-σT4)

在(3)中的∈是表面发射率。在所谓的漫灰辐射表面的情况下,它经由整个电磁波谱和立体角而半球地平均化。也以相同的方式将其假定为同样地平均化的吸收系数。

在(3)中的q入射(qin)是入射的热通量密度。通过针对表面辐射的数值模型所解决的问题是确定了在辐射表面的每个部分的入射辐射的值。

计算入射热通量

入射热通量通过对出射热通量的积分而耦合得到:

(4).

通过立体角2π进行积分。结果适用于辐射表面的中心。

视角因数法通过辐射表面(直接可见度通过线性光学存在)的各个分区的共同作用的总计替代了在(4)中的积分。在正常情况下,该数值网格的面充当表面的各个元素,其中根据分级视角因数法也已知在这种辐射元素中的网格的多个相邻面的群集。

立体角通常通过半个单位球面描绘,该单位球面如图1中的附图标记1所示。将单位球面放置在辐射表面3的大约中心处。周围可见的辐射表面网格4的被集中地投影5到单位球面1上。据Nusselt原理,平行于赤道平面投影到单位球面的分量等于在每种情况下的视角因数。

视角因数的计算在图1中几何地示出。为了确定外侧表面j和表面i(图像中的灰色阴影)之间的视角因数的值,面j的可见部分首先应关于面i的中心投影到单位球面上。总积分(4)的计算涉及整个辐射网格4到单位球面1的投影,如于图1所示。

该求积分(4)的复杂度通常与通过数值网格的辐射表面的分区的平方成比例。因此根据(4)的计算能够导致需要过量内存和计算工作,特别是对于大型复杂的几何结构来说。

能够将根据图1的视角因数法的几何图形反转,这原则上可以产生需要更小的内存和更少的计算工作。

在视角因数的情况下,立体角的分区(离散化)由之前生成的数值网格固定。分区的精分完全通过数值网格而存在。

然而,相反地,在第一步骤中,也可以在透明腔体的边缘处最初独立于数值网格而固定立体角的任何分区。然后在第二步骤中,将该单位球面的分区投影到周围的网格。在图2中解释了该原理。

该图导致了在根据方程式(4)的热通量的积分中的另一逻辑。而通过视角因数法解决的问题包括确定立体角的各个分区,所述分区是表面的可见分区的映射。在替选方法中将立体角的各个分区6、7、8、9固定因此预先已知。此时实际问题是寻找针对给定立体角的分区假定辐射源角色的辐射网格的代表元素。因此假定从所定位的辐射源放射的辐射强度均匀存在于整个立体角的分区中(见图2)。

下面的方法涉及立体角的牢固嵌入离散化。在第一步骤中,独立于数值网格获得围绕所选择的辐射面i的中心的单位球面的特定分区。在第二步骤中,进行将该分区到周围网格的集中投影。与在图1中的视角因数法中的反向投影方向相比,在图2中,投影方向由箭头10向上示出。将立体角的每个部分的中心点的投影分配给辐射网格的元素(例如点11a),从而将整个立体角的分区映射到辐射面元素上。

如果立体角的该部分被观察到投影到辐射网格(包括具有广泛离散发射的热通量密度的面元素)上,则在立体角上的热通量的分布的离散化方面发生误差,这导致在立体角内的辐射密度方面的显著变化。

这种方法的优点是免除了掩蔽的复杂几何分析。对于始于面中心的每个立体角分区来说,发出单独的测试射线。射线方向与立体角给定部分的中心点对应。

在题为“射线追踪”的部分中,更详细地处理射线的发出或射线追踪。

辐射瓦片

细分辐射表面的方法通过以下示例借助当前在迈格码软件(MAGMAsoft)程序(MAGMA Gieβereitechnologie GmbH)中使用的数值网格来说明。然而,原则上该方法能够用于任何网格类型而没有限制。

MAGMAsoft使用张量积网格。3D网格由在3个笛卡尔空间方向X、Y和Z上的三个系统的网格线构成,该网格线贯穿整个模型并以立方体嵌入。因此网格由正交立方体单元构成。

因此,数值网格由正交网络构成,且因此仅由在该网格中的网格单元上的材料分布和三行沿三个笛卡尔方向的坐标完全限定。在辐射模型中的各个辐射表面在它们由在网格中的材料接近度而初始化期间在网格中被发现。如果满足下列两个条件之一,则辐射表面被限定为具有沿6个空间方向+X,-X,+Y,-Y,+Z,-Z中之一的法向量的网格单元的直角面:

1.该面分开两个网格单元,一个网格单元覆盖有不透明材料且另一网格单元覆盖有透明材料。法向量指向透明单元的方向。MAGMAsoft中的透明材料通常是空气,在这种情况下,仅计算热传导。

2.该面分开两个网格单元,一个网格单元覆盖有不透明材料且另一网格单元覆盖有ID边界材料。覆盖有边界材料的单元位于MAGMAsoft的计算区域之外。如果这种面没有位于网格的边界框的边界处,即因为从表面看在那没有其它面可见,则这种面被限定为辐射面,在这种情况下,净热通量的确定是不重要的。

根据方程式(2),以这种方式限定的辐射面有助于能量平衡。以下将它们称为辐射瓦片或瓦片。

立体角的离散化

在该方法中,完整的立体角以以下方式被细分:每个分区与相同的视角因数VF对应,即VFJ=l/N=常数,其中N是分区的总数。这种与视角因数相关的单位球面的均匀分区由于在相应积分中的术语而不是其表面的均匀分区:

(5).

当根据方程式(4)计算入射热通量时,这种分区的优点显现。能够排除始终相同的视角因数,这是因为入射通量的确定变成出射通量的平均化。

(6).

根据视角因数的单位球面的均匀分布不是明确的,且能够以无数种方式发生。这里所选择的方法还需要在与辐射瓦片的法向量相关的分区中的一定对称性且容易处理。

参考图3,单位球面本来是轴向对称的,从在北极的圆12开始,被细分成一系列径向连续的环13、14、15。每个环然后沿方位角方向再被细分成不同数量的环段,例如段151、152、153、154、155、156。每个段是由球面坐标系的2个方位角线(例如16和17)和2个经向坐标线(圆弧,例如18和19)界定的球面长方形。如从图3所呈现,在各个环中的分区的数量形成了等差级数。

通过沿经向方向的环的数量n和在北极r的第一环的方位角段的数量r能够将分区完全参数化。对于每个可行的参数化(n,r)存在针对环的经向坐标的单独的解,使得每个球面段能够总是被分配相同的视角因数:

(7)·

在(7)中的N是根据等差级数的分区的总数,

(7a).

根据(7a),分区的数量N且因此每一个瓦片3的射线的数量随着所限定的经向环的数量n而平方地增长(见图4)。

如图3中所示,环中的段可以沿方位角方向旋转约自由角度α1、α2,使得在相邻环的段之间生成更大的角距离。

分级系统

如在题为“在辐射表面处的能量平衡”的部分中所解释,单位球面的过于粗略的分区导致热通量积分的数字误差。为了实现与辐射网格的几何形状相关的更高的角分辨率,用离散化等级的分级系统在该方法中进行工作。该方法与在明确的多网格方法中的数值网格的各个精分阶段相似。

第一等级是由根据方程式(7)产生的空间方向的系统所表示,见图4。下一等级通过经由双减半(即,四分)沿方位角和经向方向对第一等级的每段进行细分而产生。

例外在于,在北极的圆形区域12的第一精分区,被以4个方位角分区分成4个球面三角形。其中存在进一步的分区,没有应用例外规则,所有的球面区域被细分为球面矩形,如上所述。在北极周围的4个球面三角形从第三精分等级被当成是不规则的球面矩形。

此后,根据相同的规则来递归地进一步细分下一更细等级。这产生了在每个连续等级的射线的数量的几何级数。对于k等级的精分:

(7b).

个关于所有精分等级的全部射线结果。

根据精分的方向向量在图5A、图5B和图5C中示出。在当前实施方式中使用了3个精分等级。

在射线追踪的分级方法中,射线最初被从所有精分等级连续地发射出,且因此得到所有结果并将其存储。然后对结果进行评价。

对几何形状和温度分布的适配

将完全有可能虚拟地进行在上述部分描述的立体角的分级细分,并仅对于达到的最细等级的向量发射射线。结果将是,必须在热模型中对遵循射线追踪所定位的所有的辐射源进行处理,在大量射线的情况下将造成多余的大量计算工作。例如,如果通过在一个空间方向上的射线的数量而设定的角分辨率太高,则由辐射瓦片限定的同一辐射源将与不同的射线交会多次。因此,此时来自较粗略的精分等级的角分辨率将是充分的。

然而,如果通过所有限定精分等级来发射射线,则存在对于角分辨率的待局部适配的可能性。对于没有调整的热计算的射线追踪结果将是辐射源的完整列表,所有结果或来自主分区(图4)或来自精分等级之一(图5)。

角度离散化的局部适配用来自所有离散化等级的子列表代替这种列表。在这种情况下,该方法是如下所述。

将所有精分等级的分区预先标记为“未精分”。最初假设离散化仅包含最精分等级的向量20。然后穿过下一较粗略等级的分区直到达到最粗略初始等级。

每次对之前的更细等级的辐射源进行检查,所述辐射源与被细分的更细等级的球面矩形的四等份对应。之前限定的4等份的有效辐射源被来自当前球面段的辐射源替代或被留用。

1.如果4个分区中的至少一者已经被标记为“已精分”,则将在当前的球面段内的已关于更细的等级所限定的所有辐射源留用,而将来自当前等级的源拒绝。

2.如果更细等级的所有4射线已与同一不透明材料接触或所有4射线已经落空,例如已经离开半开透明腔室,则将已经限定的更细等级的辐射源拒绝并由当前等级的辐射源替代。

3.如果4射线都离开腔室并也与不透明材料接触,则将已限定的来自更细等级的辐射源留用。

4.如果4射线与不同的不透明材料接触,则将接触的辐射瓦片的温度彼此比较。如果在热模拟之前在此期间方向的分级系统被第一次适配,则源的温度来自于对不同材料的第一温度离散化。

否则,如果在计算过程期间动态地进行调整,则这些是当前计算的温度。如果在最大温度和相对于最大温度的最小温度之间的绝对差异小于固定的限定边界值,则同样将已限定的更细等级的辐射源拒绝并由来自当前等级的源替代。否则将它们留用。

5.一旦对在当前等级的分区进行处理,则将取决于结果而将其标记为“已精分”或“未精分”。如果这导致用当前等级的源来替代更细等级的源,则将其输入考虑当前的精分等级的源的列表中。如果源中的一者被标记为“未精分”,则将该源输入考虑更细等级的源的列表中。只有当新的源属于不透明材料的表面时才进行该输入。否则,通过当前精分等级i的定值来将外部未遮蔽空间的视角因数增加到等于

在图6中示出上述顺序。该算法针对k个等级的均匀离散化提供了k个辐射源的列表。在这种情况下,以在角度区域中进行代表性辐射源的集中的方式来选择适配的角度离散化,其中能够可能地期望辐射强度对于空间方向的不一致的依赖性。

在半开腔室中的辐射强度突变发生在热的不透明材料和开放空间之间的边界处。这种突变也由角度空间中的两个相邻不透明材料之间的热反差引起。用不同ID标记的材料可以在角度空间中沿它们的边界彼此直接热接触或彼此部分地遮蔽。

以这种方式通过对辐射源的选择来进行针对所观察到的辐射瓦片的适配的立体角离散化。单位球面的被细分表面可用于表示角度离散化。适配之后,其被完全覆盖,而没有与来自不同精分等级的球面段重叠。

在图7中示出了立体角的适配离散化的一个示例。在图中的左上角示出的H形面21的视角因数将通过射线追踪被估计。为此,使用具有根据方程式(7)用(n=15,r=4)参数化的第一等级的3个离散化等级。对于对应于1-e、2-e和3-e的离散化等级,射线的数量等于166、664和2656,使得总共发射出3486个射线以扫描半球。在已进行了几何适配后,已选择了218个射线,这为最细等级下的16分之一。来自不同等级的球面矩形在图中被标记,通过它们的尺寸在精分方向上被分类。

在入射热通量的计算中,必须将由来自不同等级的源限定的出射热通量不同地加权。用于入射热通量的方程式(6)由不同等级的指前因子补充:

(8).

对于三个等级k=3。根据(8),具有加权因子1、1/4、1/16的三个合计产生了总的入射热通量。在内在总计中的术语是来自各个离散化等级的辐射源的列表的量。

在图17中,通过流程图详细示出将单位球面细分的方法。

射线追踪

使用具有反向射线追踪的基于体素的射线追踪方法。

体素支持关于射线是否接触给定体素中的对象的试验。体素是其中包含关于几何对象的信息的立方体形体积。当与MAGMAsoft一起使用时,张量积网格被提供为由其自身的各个体素组成的网格。每个网格单元成为体素。然而,根据本发明的方法不与MAGMAsoft程序相关联,而能够用于任何基于体素的射线追踪方法。

反向追踪意味着所有射线被从接收辐射的瓦片最初发射出去。因此,确定了接触射线的辐射源。然而,辐射源将能量物理地发送给接收器。能量在与在射线追踪的射线路径中的反向方向对应的“直的”路径上到达瓦片。因此,这被称为具有反向追踪的射线追踪。

吸收射线并使射线反射的几何对象是所定义的辐射瓦片,该辐射瓦片借助于材料接近度在网格单元中被定义。

由于数值网格的结构化性质,每个网格单元足以存储3个瓦片ID。如果网格单元的6个侧面被称为前侧面、后侧面、西侧面、东侧面、北侧面、南侧面,则3个ID是指在单元的背侧面、东侧面和北侧面的三个可能的瓦片。与在单元的三个其余侧面(前侧面、西侧面和南侧面)的瓦片相关的信息能够从相邻单元获得。正值被分配给在单元的一个侧面的实际存在的瓦片。在瓦片定义期间进行分配。

在射线追踪开始之前,指示各个射线方向的、全部所定义的一束向量集中在各个瓦片的法向量周围。这通过用将沿笛卡尔方向+Z的该一束向量的中心向量转换成辐射瓦片的法向量的旋转矩阵乘以所述向量而实现。

射线然后根据行从所有精分等级发射出。通过数值网格的射线追踪涉及在射线的延长部分和该射线当前所在的网格单元的各个侧面之间搜索交叉点(见图8)。

为此,针对下一交叉点对网格单元的三个可能的侧面进行检查。该可能的侧面由射线方向的三个分量的符号给定。与当前射线位置的距离最小的交叉点被视为在射线上的下一点。在此期间,搜索具有到交叉点的最小长度的单元侧面且射线沿方向延续所定位的长度ΔX射线直到所定位的交叉点:

(9a)·

(9b)·

一旦已发现下一交叉点,则请求在网格单元的该侧面的相应瓦片的ID。

●如果该ID与实际瓦片相对应,即单元的该侧面将不透明材料和透明材料隔开,则停止射线追踪并返回已被定位的辐射源的全局ID。

●如果对称等级的ID与笛卡尔法向量相对应,则使与对称平面垂直的方向分量反向并进一步追踪被反射的射线。

·否则,在下一网格单元中重复射线追踪过程,直到射线到达辐射瓦片或离开数值网格的边界,在后一种情况下,返回外部空间的固定ID。

加速

射线追踪

瓦片群集

精细网络化的辐射表面(板)的等级通常随着模制的几何形状发生。它们生成非常多的辐射元素。涉及辐射建模的计算工作量与使用所呈现的模型的辐射瓦片的数量呈线性比例。如果网络化的精细度超过在沿表面的整体热通量(=辐照度)的分布中所需的分辨率,则能够节省计算时间。在这种情况下,具有比通过数值网格嵌入的瓦片更少的较粗糙瓦片将是充分的。

在公开的方法中,例如,FLUENT的DTRM模型,参考辐射瓦片的群集。这里,如果多个相邻的辐射瓦片偏离等级仅最小的角度(平面化),则它们被群集。不会针对群集的每个分量计算射线路径和热通量,而是针对在其几何中心位置处群集的整体来计算射线路径和热通量。在当前方法中对于“适度”加速实施相似技术。

在当前模型中,所有辐射瓦片具有笛卡尔方向。如果相邻者位于一等级且它们的网格单元也具有相同的不透明材料,则允许它们群集。

在沿表面的两个横向方向中的每个方向上,允许多达3个群集瓦片。这意味着在网格单元的1到多达9个侧面能够被群集到一瓦片中。在图9中示出了允许的变型。

辐射瓦片的群集通常只在平的表面上密集出现。在弯曲的几何形状的情况下,表面网格是步进式的,因此减少了网格单元的共面侧面的数量。

在复杂几何形状的情况下,2倍或略多倍的加速度通常通过实施的瓦片群集方法而实现。在程序方面,群集中的瓦片群集由以下步骤构成:

·将属于一个群集辐射瓦片的网格单元的列表存储在辐射瓦片的数据结构中。

·对于每个群集从其几何中心开始射线追踪。

·同样,无论多么小,将关于所定位和适配的辐射源的信息针对整个群集而不是针对每个分量来存储。

·考虑到温度分布来计算群集的发射热通量:

(10).

其中S是侧面i的面且T是在网格单元的表面处的绝对温度。

·对于该群集的每个成员,所计算的入射热通量是相同的,这导致热通量的局部模糊化、平滑化。然而,这是加速的代价。

·对于来自群集的网格单元的每个侧面,平均入射热通量以同样的方式列入能量平衡(2)中。

各向异性切比雪夫距离

根据基于体素的射线追踪方法的射线追踪要求访问位于射线路径上的每个透明网格单元,见图8。特别是当模型在中间空间中具有大的充有空气的腔室或精细网络化时,很多空的(即透明的)单元的处理可能占据计算时间的显著部分。方法将加速射线追踪,使得射线直接“隧道”越过具有空的单元的较大块而不是访问在途中所遇到的每个网格单元。对此,关于这种空的单元块的尺寸的信息应当是有用的。

这种空的块可以在网格中明确定义。更好的方法被称为所谓的切比雪夫距离或也称为棋盘距离。这是针对以全部数量测量的离散对象(例如网格单元)的距离测量。

在图10中借助于2D示例示出了切比雪夫距离的图示。在这种情况下使用下面的过程。

测量与虚线网格单元(零单元)22的距离。图10A示出了各向同性的经典切比雪夫距离。关于在零距离处的虚线零单元在相同距离处的单元在正方形边缘处以层排列。图10B示出了针对左上角的正方形的各向异性切比雪夫距离。相应地只针对位于该正方形中的单元相对于零单元23中的一者来定义各向异性距离。另外,以与在图10A中的各向同性距离完全相同的方式来测量。在各个情况下,所观察到的方向(象限)用零单元中的箭头24和25来标记。显然,各向异性距离获得比各向同性更大的值。

切比雪夫距离的使用允许射线追踪中所涉及的步骤被适应性地配置,而与距表面的当前距离无关。如果所追踪的射线的当前位置远离下一表面,则在网格中的跳跃也将相应地大。当射线接近表面时,切比雪夫距离减小,且随之跳跃大小也减小。射线越接近表面,其行进速度越慢。

相对于使用零距离标记的网格单元测量经典的各向同性的切比雪夫距离。这种单元以下被称为零单元。与所选的零单元在相同切比雪夫距离处的单元以关于零单元的平方层排列。

该距离通过寻找还未被标记的网格单元来获得。当在第一步的算法结束时,找到所有来自第一层的具有等于1的距离的后续单元并将其标记,下一层被赋值以距离2。为此,对具有直接相邻或越过边缘相邻的具有距离1的所有未标记的单元进行搜索。对于其它层继以相似的过程,直到不能找到不具有输入距离的其它单元。

切比雪夫距离的直接计算中所涉及的工作量相应地表现为~N4/3,其中N是网格单元的数量。

然而,这种关联不是必须的,并且当在分配距离(i+1)处的每个后续层的单元时仅对较先定位的并暂时存储的距离i处的网格单元进行处理时能够得以优化。仅对它们的相邻单元进行检查。以这种方式,将最后定位“有效”单元的前面扩展。然而,该方法需要对模版的外层单元的写访问可行。因此,对通过域分解的并行化造成了限制。

计算各向异性切比雪夫距离所涉及的过程非常相似。然而此时,在各向同性的情况下,在2D情况下单元的距离由22=4的距离替代,且在3D情况下单元的距离用23=8的距离替代。在3D情况下对于网格单元,仅计算从零单元来看位于相应象限中的4个距离中的每一者,见图10B。在此,在笛卡尔方向-X和+Y之间对于象限计算距离赋值。在3D下在8个八分圆之间进行区分。在两种情况下,不同于各向同性切比雪夫距离的情况,在那些在给定象限(2D)或八分圆(3D)(从其进行测量距离)中不具有零单元的单元中不存在距离的赋值。

确定八分圆需要在射线追踪中使用各向异性距离。首先进行检查以查看射线方向位于哪个八分圆中。然后在3D的情况下使用8个各向异性距离,这与对置的八分圆对应。例如,如果射线来自于方向(0.5,0.2,-0.1),则其位于八分圆(+X,+Y,Z)中。在八分圆中在与射线方向相反的方向上对始于零单元的相应距离进行测量。因此必要的距离被存储在八分圆(-X,-Y,+Z)中。

相比于各向同性距离,各向异性距离的优点是,在射线追踪中对于越过空单元的块的可能跳跃的更加准确的说明。在八分圆中的各向异性距离的值通常变得比各项同性距离要大,比较图10A和图10B。零单元位于网格的八分立方体中的概率相比于在各向同性情况下更小,其中相应的立方体由8个这种八分圆构成。因此,射线追踪能够在网格中进行更大的跳跃。

各向异性距离的一个缺点是,在射线追踪的情况下,为此需要额外的内存,这在“整数”距离类型中每个网格单元达到额外的96个字节。为了节省内存,在该方法中对具有“无符号字符”类型的距离赋值。这种类型允许128个网格单元的最大距离尺寸。在应用中理论上可以出现更大的值。因此,在距离的计算期间,一旦具有值128的层已达成且剩余未赋值的具有相同值128的透明单元被赋值,则距离的赋值被中断。以这种方式,在射线追踪期间,限制了在网格中的跳跃的最大可能长度。

在该方法中,将与透明单元接触的在数值网格的外边缘上具有已定义辐射瓦片和单元的不透明单元定义为零单元。所述方法保证了,所有的透明单元被一层零单元完全包围且在各向异性情况下对于每个透明单元也存在至少一个基准零单元。

在图11中示出了由各向异性切比雪夫距离支持的2D中的射线追踪的示例。网格和所计算的距离从图10的右侧截取而得。将在八分圆(+X,-Y)中的射线用在八分圆(-X,+Y)中的距离处理。在左上角处射线与单元侧面相交的初始位置位于单元中的距离3处。因此,对与3×3立方体的侧面的下一交叉点进行搜索。随着位置到交叉点的位移,沿射线路径方向从下一单元得到切比雪夫距离。其再次等于3且下一跳跃引导射线向右到达在右下角处的目标。在该例子中,搜索到两个交叉点;而不使用切比雪夫距离的总数将是9。

在用切比雪夫距离的射线追踪中涉及的额外成本在越过网格单元的块的跳跃之后的射线的离散位置的确定中。根据方程式(9)能够类似地计算交叉点的坐标。然而,在网格单元XL的边缘的笛卡尔坐标被在八分立方体的边缘的坐标替代,这与更远的网格单元的坐标相等。

在跳跃后在3个笛卡尔方向上发现的单元的索引是未知的。它们根据二进制搜索算法来确定。从立方体中的等距网格开始,在每个方向上估计在网格中在交叉点处的索引。通过比较坐标,然后进行检查以查看所定位的交叉点是否位于具有所估计索引的单元内。如果没有位于具有所估计索引的单元内,则将具有切比雪夫距离的间隔的相应的一半进一步均分。以这种方式递归地重复该过程,直到该单元的定位索引属于该交叉点。在固定间隔中二进制搜索所涉及的工作量对数地取决于该间隔的长度,即,对于128个单元的最大跳跃距离来说,每个方向将需要~ln(128)=8ln(2)~5的比较运算。

尽管对于网格跳跃涉及额外的工作量,但切比雪夫距离提供了该方法的实质性加速,特别是对于其中大量空间具有被分配于其的透明材料的模型来说。

并行射线追踪

在射线追踪的情况下的负载分配:

对于使用模型初始化(切比雪夫距离,射线追踪)的效率及其在热计算中的应用来说,并行操作的良好的可扩展性是重要前提。在这种情况下,用于射线追踪的计算时间是决定性的。

当求解偏微分方程时,对于具有分布式内存如MPI的并行化惯例是分解计算域。然而,其用于射线追踪已表明在该开发方面的可扩展性差。对此的原因是高的通信成本。必须在各个分区之间反复传递数百万射线的数据。随着CPU数量的增加,通信的比重增长,这最终导致可扩展性差。因此,在该模型中开发了另一种并行化方法。

对于整个网格,在每个CPU上同时进行射线追踪和切比雪夫距离的计算。然而,在这种情况下,在每个CPU上仍本地地定义辐射瓦片。

在第一阶段中创建总体网格模型。将整个网格的网格数据传递给所有的CPU。一方面,沿三个笛卡尔方向传递三行坐标。另一方面,从每个网格单元的透明度的根确定标志位并在“无符号字符”类型的数值域中将其传递给所有的CPU。这些数据足以在每个CPU上独立于彼此对张量积网格实施射线追踪。在这一点上,也考虑在热模型中的对称性限制。

然而,经由辐射瓦片的辐射源通过射线追踪本地的确定的数据应当最终到达其中相应的文件被本地定义的CPU。在这一点上,产生通信成本。为了将其最小化,使用下面的过程。

1.确定CPU上存在的本地定义的辐射瓦片的数量N。

2.通过CPU计算算术平均值Nav

3.通过具有过量瓦片N1>Nav的CPU供体从供体虚拟地去除一部分ΔN瓦片并将所述一部分ΔN瓦片分配给相邻的具有N2<Nav的CPU受体,使得在该操作后满足条件N1=Nav或N2=Nav。在这种情况下传递的部分等于N=MIN(N1-Nav,N2-Nav)。每次对待传递的的瓦片的索引和CPU受体的ID进行存储。

4.重复步骤3,直到不再可以在CPU之间平衡瓦片。

一旦用于如上所述的负载平衡的参数对于每个CPU已知,关于在网格中的辐射瓦片的位置的本地数据被从CPU供体传送到CPU受体。除了它们自身的瓦片列表以外,CPU受体以这种方式接收所输入的待处理瓦片的列表。

并行射线追踪:

1.在射线追踪之前,各向异性切比雪夫距离的计算在每个CPU上独立于彼此发生。在这种情况下传送是不必要的;此时在每个CPU上的计算和结果是相同的。该计算所需的工作量花费几秒的时间,使得在这种情况下在各个CPU之间的工作量分配的安排和随后的传送将实质不合算。

2.在射线追踪期间,从自身首先待处理的瓦片开始,将在每个CPU上的所有射线独立于彼此发射,将辐射源定位且按照它们的几何学和热适应来存储所选择的源。在该步骤中,辐射源的存储直接发生在自身的辐射瓦片的数据结构中。

3.一旦已对所有的自身瓦片进行了处理,则轮到在CPU受体上的所输入的瓦片。当处理这些瓦片时,使用相同的射线追踪过程和射线源的确定。将通过适配过程定位和压缩的辐射源暂时存储在缓冲器中。

4.当所有的瓦片已被处理时,将结果传送。CPU受体将所输入的瓦片的所定位的辐射源发送回CPU供体。MPI传送异步地发生,其中随着瓦片的不定期分配,每个供体可以具有多个受体且每个受体可以具有多个供体。在该步骤中在由CPU受体接收后,将从供体接收的辐射源写入自身的瓦片的数据结构中。

5.在射线追踪结束时,将不再需要的数据例如切比雪夫距离和用于传送的缓冲器存储删除。

在图18A和图18B中,详细地示出根据本发明的射线追踪方法。

热计算

为了解决根据方程式(8)利用多等级方法对射热通量进行求和,使用合适算法用于通过线性方程系统的近似求解。尽管它也可以借助于其它算法(例如雅可比方法或逐次超松弛法(SOR)方法)解决,但下面使用高斯-赛德尔迭代法对该求和举例说明。

在一个实施方式中,使用高斯-赛德尔迭代法来计算在每个辐射瓦片上所吸收的热通量。该热通量表示对于热模型的来自辐射侧面的最终结果。在这一点上,有必要知道所有CPU的出射热通量,因为已针对每个射线对所考虑的射线路径进行了计算,而没有考虑域分解。

有利的是,高斯-赛德尔迭代法仅对于本地辐射瓦片在每个CPU上发生。根据方程式(8)利用多等级方法对出射热通量求和包括来自由射线追踪确定的所有瓦片(包括来自其它CPU)的作用。

以这种方式,能够使得在该算法中的出射热通量全局可见。每个辐射瓦片被分配以一个连续的总体索引,其中在射线追踪期间,可以有利地存储相同索引,而不是每个瓦片的辐射源。

可以根据总体索引以阵列表示总体出射热通量,其中在高斯-赛德尔循环的每段之前,将来自所有本地瓦片的出射流传送至总体阵列中。

可能的应用领域,示例

用于以上引入的漫射灰体辐射体的热耦合表面辐射模型可以在其中存在腔室或半透明材料以及高温的很多技术工艺中获得应用。该方法的有吸引力的方面在于它的便利性和非常短的计算时间,其中解决了在热辐射的远程作用的建模方面最棘手的问题。

在模拟铸造工艺中的最感兴趣的应用是熔模铸造、热处理和具有串联装配的设备配置的块铸。

进一步的应用与工业熔炉的生产和操作相关,例如在玻璃生产或陶瓷生产的情况下,在化学、晶体生长、冶金、亦或在食品示例。如所示,这里该方法并不限于只有一个热源,而是也能够使用多个,例如两个(图14)和更多数量的热源。

这里所示的用于在模拟过程中使用的立体角的离散化的方法,能够被认为在其应用方面不仅与热耦合表面辐射相关,而且能够用于其中在所使用的计算机时间和计算机内存方面加速和节省是重要的其它计算和模拟过程,例如,渲染软件,例如,在一般的和特别的电脑游戏或科学渲染工具中。

相似地,这里所示的用于模拟过程的射线追踪方法能够被认为在其应用方面不仅与热耦合表面辐射相关,而且能够用于其中在所使用的计算机时间和计算机内存方面加速和节省是重要的其它计算和模拟过程,例如,渲染软件,例如,在一般的和特别的电脑游戏或科学渲染工具中。特别地,这里提出的用于单独以及与各向异性切比雪夫距离计算和/或通过瓦片群集的额外加速结合地加速射线追踪计算的并行计算的非传统方法对于发明人来说从现有技术中并不能知道。

结语

如在权利要求中使用的术语“包括”不排除其他元件或步骤。如在权利要求中使用的术语“一”或“一个”不排除多个。单个处理器或其它单元可以实现权利要求中所述的多个装置的功能。

虽然出于说明的目的已对本发明作了详细描述,但应当理解,这种细节仅仅是用于说明目的,而其中本领域技术人员在不脱离本发明的范围的前提下能够作出多种变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1