一种自适用分辨率的蒙特卡罗几何截面可视化方法与流程

文档序号:13138645阅读:386来源:国知局
一种自适用分辨率的蒙特卡罗几何截面可视化方法与流程

本发明涉及核分析技术领域,特别涉及一种自适用分辨率的蒙特卡罗几何截面可视化方法。



背景技术:

高保真数值模拟在核系统设计优化与安全评估中起到越来越重要的作用,例如:先进反应堆的设计、现有反应堆延寿、减少核废料与提高燃料利用率以及全过程安全评估等。但随着社会对核能安全的关注及新型核能系统的发展,高保真数值模拟的需求的迫切性日益突出。

对于核系统的高保真模拟,相比于确定论方法,蒙特卡罗方法具有集合描述能力强、计算精度高等显著优势。但是对于一般核能系统,特别是热核聚变反应堆这样的装置,其结构及其复杂,有上万个部件系统,在百米级装置内部结构需要精细到毫米级的核装置。由于核装置结构的复杂性,在进行这些装置的分析前,需要建立与这些核能对应的蒙特卡罗粒子输运计算模型,并且在建模完成之后对模型进行检验以保证计算分析的正确性。

传统的蒙特卡罗模型的检测方法一般包括两种:一种是手工处理组成蒙特卡罗的各个几何体表达式,这种方法存在的缺陷在于:这种方式是通过三维空间想象能力依赖个人经验进行人工排查错误,容易导致错误和遗漏。另一种是单纯的依赖蒙特卡罗几何追踪方法,这种方法是通过实现蒙特卡罗几何的二维截面的可视化,通过截面检查分析模型的正确性,这种方法存在的缺陷在于:由于蒙特卡罗模型的复杂性,单个界面的生成涉及成千上万的几何体,计算量巨大,可视化效率低下,模型检查比较困难。



技术实现要素:

本发明的目的在于提供一种自适用分辨率的蒙特卡罗几何截面可视化方法,以解决蒙特卡罗几何模型检查效率及准确率低的问题。

为实现以上目的,本发明采用一种自适用分辨率的蒙特卡罗几何截面可视化方法,包括:

s1、采用离散点采样方法对蒙特卡罗几何模型进行处理,生成蒙特卡罗几何模型的三维空间纹理数据;

s2、对所述的蒙特卡罗几何模型进行截面可视化处理,得到蒙特卡罗几何模型的可视化图以及可视化分辨率res;

s3、判断所述可视化分辨率res是否大于设定的分辨率阈值dens,如果是则执行步骤s4,如果否则执行步骤s5;

s4、基于扫描线的截面可视化方法,实现截面可视化;

s5、基于所述三维空间纹理数据,实现截面可视化。

其中,步骤s1,具体包括:

根据设定的离散数量,在蒙特卡罗几何模型所在三维空间的x、y、z三个坐标轴上分别生成nx、ny、nz个离散点;

进行各离散点与几何体包含关系的计算,获取每个离散点所属的几何体编号与颜色信息;

根据几何体的材料信息,将对应的颜色赋予对应的离散点,形成三维空间纹理数据。

其中,步骤s4,具体包括:

获取截面三个角在所述三维空间中的坐标dens、res、c,以及获取densres方向的像素数nab、resc方向的像素数nbc;

将每一行像素按照起止位置转换成一条扫描线,得到所述截面的所有的扫描线;

调用蒙特卡罗几何追踪方法,得到扫描线与蒙特卡罗几何模型的相交部分,并根据扫描线与蒙特卡罗几何模型相交部分的范围为界将扫描线分段并标记分段所属的几何体;

将可视化视图中的像素位置映射到扫描线上,根据其映射所属的几何体赋予像素相应的颜色,形成截面的视图。

其中,步骤s5,具体包括:

根据截面的位置,创建截面的视图长方形;

获取长方形四顶点对应所述三维空间纹理数据的点坐标;

使用opengl的纹理绑定函数,将所述的三维空间纹理数据绑定到视图长方形上,实现截面可视化。

与现有技术相比,本发明存在以下技术效果:本发明将离散点采样方法与基于扫描线的截面生成方法相结合。在高分辨率情况下,采用基于扫描线的截面可视化方法实现截面可视化。在低分辨率情况下,根据三维空间纹理数据实现截面可视化。如此,采用两种方法结合,既优化了不同分辨率下蒙特卡罗几何模型截面可视化的速度,又保证了在不同分辨率下截面的清晰度,在保证可视化效果的前提下提升了可视化速度。

附图说明

下面结合附图,对本发明的具体实施方式进行详细描述:

图1是本发明中一种自适用分辨率的蒙特卡罗几何截面可视化方法的流程示意图;

图2是本发明中对蒙特卡罗几何模型几何截面进行可视化的过程示意图;

图3是本发明中采用基于扫描线的截面可视化的流程示意图;

图4是本发明中采用离散点的截面可视化的流程示意图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

如图1至图2所示,本实施例公开了一种自适用分辨率的蒙特卡罗几何截面可视化方法,包括如下步骤s1至s5:

s1、采用离散点采样方法对蒙特卡罗几何模型进行处理,生成蒙特卡罗几何模型的三维空间纹理数据;

其中,步骤s1包括如下细分步骤:

根据设定的离散数量,在蒙特卡罗几何模型所在三维空间的x、y、z三个坐标轴上分别生成nx、ny、nz个离散点;

其中,离散点数量的设置过程为:在输入蒙特卡罗几何模型后,在整个蒙特卡罗几何模型所在的笛卡尔坐标系下,调整蒙特卡罗几何模型的长、宽、高分别为dx、dy、dz,按照预定义的离散点密度dens即相邻采样点之间的间距a(采样点数/单位尺寸),将蒙特卡罗几何模型的长、宽、高尺寸除以离散点密度,即dx/a=nx,dy/a=ny,dz/a=nz,生成了nx×ny×nz个离散点,在内存中分配四维数组q[nx][ny][nz][3],数组中元素q[i][j][k]表示离散点(i,j,k)离散点处的颜色信息,q[i][j][k][0]表示红色r的分量,q[i][j][k][1]表示绿色g的分量,q[i][j][k][2]表示蓝色b的分量。

进行各离散点与几何体包含关系的计算,获取每个离散点所属的几何体编号与颜色信息;

对几何区域每个离散点pointijk,0≤i≤x-1,0≤j≤y-1,0≤k≤z-1,调用蒙特卡罗程序的几何包容性接口,得到pointijk所在的几何体s,得到几何体s对应的颜色(rs,gs,bs)。

根据几何体的材料信息,将对应的颜色赋予对应的离散点,形成三维空间纹理数据。

根据几何体s的编号,赋予该离散点对应的颜色到数组q中,即:q[i][j][k][0]=rs,q[i][j][k][1]=gs,q[i][j][k][2]=bs。其中,i、j、k为离散点在三维空间中的坐标,且0≤i<nx,0≤j<ny,0≤k<nz。

s2、对所述的蒙特卡罗几何模型进行截面可视化处理,得到蒙特卡罗几何模型的可视化图以及可视化分辨率res;

s3、判断所述可视化分辨率res是否大于设定的分辨率阈值dens,如果是则执行步骤s4,如果否则执行步骤s5;

具体地,输入可视化截面的三个顶点对应的真实几何坐标以及长宽两维的像素数量,得到对比可视化分辨率res,单位为像素数/单位尺寸。

s4、基于扫描线的截面可视化方法,实现截面可视化;

其中,如图3所示,步骤s4的细分步骤如下:

获取截面三个角在所述三维空间中的坐标a、b、c,以及获取ab方向的像素数nab、bc方向的像素数nbc;

生成截面的包围盒(xmin,ymin,zmin)~(xmax,ymax,zmax),根据蒙特卡罗几何模型中的几何体的包围盒与该包围盒的相交情况,过滤需要参与截面生成的几何体。

将每一行像素按照起止位置转换成一条扫描线,得到所述截面的所有的扫描线;

其中,生成对应截面平面的像素分布的一组扫描线,存于内存中。这组扫描线一组平行于ac方向,起止点如下表示:

起点:ei=a+ab/nab×i,终点:fi=c+ab/nab×i,i=0,1,…,nab-1。

然后将该组扫描线的相关信息存储于内存中。

调用蒙特卡罗几何追踪方法,得到扫描线与蒙特卡罗几何模型的相交部分,并根据扫描线与蒙特卡罗几何模型相交部分的范围为界将扫描线分段并标记分段所属的几何体;

其中,对于i=0,1,…,nab-1,依次调用蒙特卡罗几何追踪功能确定扫描线eifi上的分段信息,先定位点e1i所在的几何体,然后依次得到eifi所穿过的几何体和与各几何体边界相交的坐标信息,按穿过的几何体将eifi分段,使每一段均在同一几何体内,相邻两段处于不同的几何体中。

将可视化视图中的像素位置映射到扫描线上,根据其映射所属的几何体赋予像素相应的颜色,形成截面的视图。

其中,在为所有的扫描线分段后,在截面平面的视图上,从a到b依次遍历每一行像素,对于处于第i行,第j列的像素pij,得到eifi扫描线上的si+ac/nac×j点所在的分段和分段所属的几何体,将几何体对应的颜色赋予pij,于是得到截面平面对应的图像,完成对截面的基于扫描线的可视化。

s5、基于所述三维空间纹理数据,实现截面可视化。

其中,如图4所示,步骤s5的细分步骤如下:

根据截面的位置,创建截面的视图长方形;

获取长方形四顶点对应所述三维空间纹理数据的点坐标;

使用opengl的纹理绑定函数,将所述的三维空间纹理数据绑定到视图长方形上,实现截面可视化。

首先,根据截面的包围盒(xmin,ymin,zmin)~(xmax,ymax,zmax),从整体多维离散点数组q中截取需要参与可视化的离散点范围:(imin,jmin,kmin)~(imin+nsubx,jmin+nsuby,kmin+nsubz),假设整体多维离散点数组q在内存中分配子离散点数组qsub[nsubx][nsuby][nsubz][3],并通过下式得到qsub中的数值:

qsub[i][j][k][c]=q[i+imin][j+jmin][k+kmin][3],

其中,0≤i<nsubx,0≤j<nsuby,0≤k<nsubz,c表示像素点的颜色分量,c可取值0,1,2,分别表示红色r分量,绿色g分量,蓝色b分量。

然后,调用opengl的纹理绑定函数,将三维纹理数据载入显存,再将截面各顶点映射到纹理数据的坐标空间中以获得纹理空间坐标,为截面几何添加纹理空间坐标实现基于离散点的截面可视化。

需要说明的是,本发明可根据分辨率选择基于纹理或者扫描线的截面可视化方法,实现了低分辨率下蒙特卡罗截面的快速可视化,在高分辨率下少量几何体的蒙特卡罗截面的快速可视化,在保证可视化效果的前提下,提升了可视化的速度。另外,在可视化过程中采用了基于蒙特卡罗射线追踪与粒子位置判断方法,使得可视化的几何体与蒙特卡罗计算实际实用的几何体保持完全一致,确保了利用该蒙特卡罗几何模型进行计算分析的准确性。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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