首页> 中国专利> 一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法

一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法

摘要

本发明提出了一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法,该方法通过引入多级空间分割树,可提高蒙卡面片模型在蒙卡计算时的粒子轨迹穿入穿出点计算以及粒子位置定位计算的效率;同时该方法可实现面片模型与构造实体几何模型的共存,避免全部引入面片模型导致的计算效率大幅下降。本发明可显著提升面片模型计算效率,使之能达到与传统几何相当的水平,实现基于面片的任意几何蒙卡计算的实用化。

著录项

  • 公开/公告号CN106599514A

    专利类型发明专利

  • 公开/公告日2017-04-26

    原文格式PDF

  • 申请/专利权人 安徽中科超安科技有限公司;

    申请/专利号CN201611246440.0

  • 发明设计人 俞盛朋;宋婧;

    申请日2016-12-29

  • 分类号G06F17/50(20060101);

  • 代理机构合肥市上嘉专利代理事务所(普通合伙);

  • 代理人王伟

  • 地址 230600 安徽省合肥市蜀山区新产业园振兴路自主创新产业基地7栋516室

  • 入库时间 2023-06-19 02:00:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-08

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/50 专利号:ZL2016112464400 变更事项:专利权人 变更前:安徽中科超安科技有限公司 变更后:中科超安科技有限公司 变更事项:地址 变更前:230600 安徽省合肥市蜀山区新产业园振兴路自主创新产业基地7栋516室 变更后:230031 安徽省合肥市蜀山区新产业园稻香路9号创业中心4层422室

    专利权人的姓名或者名称、地址的变更

  • 2018-04-20

    授权

    授权

  • 2017-05-24

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20161229

    实质审查的生效

  • 2017-04-26

    公开

    公开

说明书

技术领域

本发明涉及基于计算机辅助建模(CAD)的复杂装置蒙特卡罗粒子输运建模的几何处理方法,特别是一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法。

背景技术

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

对于核系统的高保真模拟,相比于确定论方法,蒙特卡罗方法具有处理复杂问题、计算精度高等显著优势。但是一般核能系统,特别是热核聚变反应堆这样的装置,其部件具有大量样条曲面,难以直接转换为传统构造几何描述的蒙特卡罗几何,而以面片几何为代表的几何可以便捷地表示这些曲面几何。但面片几何计算效率较构造几何速度慢1~2个量级、难以实用化。

现有蒙特卡罗几何处理方法中,生成的空间分割树均应用于单一的面片几何模型或者构造几何模型中,无法充分利用构造几何模型与面片几何模型的优势,难以进一步提升蒙特卡罗几何建模、计算的效率。

发明内容

为解决基于面片的任意几何蒙卡描述方法的计算效率问题,本发明提供一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法,一方面提供了双层快速粒子射线追踪与定位能力,一方面能够在一个几何模型中使高效的构造实体几何与面片几何共存,能够表达任意蒙卡几何,并显著提升基于面片的蒙特卡罗几何的计算效率,使之达到传统构造几何类似的计算效率,实现任意形状蒙特卡罗几何的计算实用化。

本发明技术解决方案:

本发明为一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法;其中使用了一种非关联多级空间分割树格式保存非关联多级空间分割树;在该几何处理方法中通过一种针对面片模型的多层空间分割树下的蒙卡粒子快速追踪方法应用非关联多级空间分割树进行蒙特卡罗计算加速。

步骤(1)、对蒙卡计算几何模型,将其中的无法用构造实体几何体描述的几何体转换为面片几何体;

步骤(2)、对整个蒙卡计算空间进行迭代分割生成几何体级空间分割树,直到所有叶子节点中包含的几何体数量小于预定值;

步骤(3)、对模型中每一个面片几何体,对几何体包围盒形成的子空间进行迭代分割生成面片级空间分割树,直到所有叶子节点中包含的面片数量少于预定值;

步骤(4)、将几何体级空间分割树和面片级空间分割树组合形成非关联多级空间分割树,以一种非关联多级空间分割树格式保存于文件中,在蒙特卡罗粒子轨迹追踪计算中,首先读取非关联多级空间分割树格式的文件获取非关联多级空间分割树,然后采用一种多级空间分割树下针对面片几何体的蒙卡粒子追踪方法进行快速蒙特卡罗粒子追踪。

描述了几何模型级与面片级空间分割树,此外,如果几何体之间有嵌套,如反应堆组件内有燃料棒,燃料棒内有多层结构的情况,几何体上除了其面片的空间分割树,还需要建立嵌套几何的空间分割树,如此便会形成多于两层的多层空间分割树。

非关联多级空间分割树格式,该几何保存格式不仅包括保存为文件的格式,也包括在计算机内存中的格式:

该非关联多级空间分割树格式包括三个部分,几何信息部分、几何体级空间分割树部分和面片级空间分割树部分。

(1)几何信息部分:整体几何模型由n个几何实体集合S={s1,s2,K>n},其中如果几何体si为面片几何体,则几何体由ni个三角面片组成的面片集合组成,每个三角面片由三个顶点以及朝向几何体外侧的法向量信息组成;其中非面片的几何体的格式为蒙卡程序本身的几何格式或其他构造实体几何格式,无特殊要求;

(2)几何体级空间分割树:蒙卡计算模型仅包含一棵几何体级空间分割树,它由一组m个长方体子空间集合B={b1,b2,K>m}以及子空间之间的父子关系集合R={(bi,bj)}组成,其中每一项(bi,bj)表示bi为bj的子节点,该空间分割树的根节点b0为整个蒙卡计算空间,即树中节点的子节点代表节点被划分成的若干子空间。在树中叶子节点记录其代表的子空间bi满足叶子节点中记录其包含的几何体集合

(3)面片级空间分割树:各个面片几何体si均含有一棵面片级空间分割树,类似几何体级空间分割树,也由子空间集合与子空间父子关系集合构成,不同之处在于其叶子节点记录其子空间中所包含的三角面片构成的集合

具体为:面片级空间分割树部分中,各个面片几何体si均含有一棵面片级空间分割树,它由一组ni个长方体子空间几何和这些子空间的父子关系集合Ri={(bij,bik)}组成,其中每一项(bij,bik)表示bij是bik的子节点,该空间分割树的根节点bi0表示整个面片几何体的包围盒空间,即其叶子节点记录其子空间中所包含的三角面片构成的集合

在(2)和(3)中,空间分割树即一种空间的迭代分割后,子空间的组织形式,树中的节点可以含有任意多个子节点,而初级分割树可以有迭代关系,比如几何体有嵌套关系的情况下,几何体内可包含其中嵌套的几何体形成的几何体级空间分割树;几何体级空间分割树本身的嵌套与本发明中面片级空间分割树与几何体级空间分割树的层次关系是两种概念,面片级空间分割树仅针对面片几何体本身的面片进行空间分割,不代表几何体的嵌套关系;如果几何体级空间分割树间存在嵌套,则整体分割树大于两级,否则为两级空间分割树。

多级空间分割树下针对面片几何体的蒙卡粒子追踪方法的特征:该多级空间分割树下针对面片几何体的蒙卡粒子追踪方法包括粒子穿出几何体点计算方法、粒子飞入几何体点计算方法和空间分割树下粒子空间定位方法三个部分:

(1)对于粒子穿出面片几何体的位置计算,进行粒子轨迹与所在几何体面片级空间分割树节点中面片的相交判断,如果相交则返回相交点为粒子穿出几何体点,否则通过粒子穿出当前节点位置得到下一个空间分割树节点,进行同样的判断直到找到粒子穿出点;

(2)对于粒子穿入面片几何体的位置计算,进行粒子与所在几何体级空间分割树中各几何体的相交判断;对于各几何体,判断粒子是否经过面片几何体包围盒,如果经过则定位粒子到其面片级空间分割树的叶子节点,进行粒子轨迹与叶子节点中几何体面片的相交计算,如果有相交面片,则记录交点为粒子飞入该几何体的点;选取粒子飞入点的与粒子当前位置距离最小的为粒子下一个飞入的几何体的点;

(3)针对面片几何体的多层空间分割树下粒子空间定位,首先定位粒子所在几何体级空间分割树的叶子节点,之后对于该叶子节点的每个几何体,通过包围盒初步定位粒子所在几何体,如果是面片几何体,则使用权利要求3的方法(1)计算沿任意方向计算粒子穿出几何体的点,如果成功得到粒子穿出几何体的点,且该点所在面片的法向量与的内积小于零,表示粒子沿方向穿出几何,则定位粒子在该面片几何体中;在以上三种方法中,如果不是面片几何体,则使用已有的构造实体几何计算方法进行计算。

本发明与现有技术相比的优点在于:本发明可在蒙特卡罗计算中混合使用基于构造实体几何与面片几何;相比纯构造实体几何的模型,可减少对无法转换为构造实体几何的蒙卡几何的预处理,提升建模效率;相比纯面片几何,可充分利用构造实体几何的计算高效性,提升计算效率。

附图说明

图1为本发明中生成多级空间分割树的流程图;

图2为几何体级空间分割树与面片级空间分割树示意图;

图3为整体模型与几何体级空间分割树;

图4为图3整体模型中一个面片几何体的面片级空间分割树。

具体实施方式

下面结合附图,以生成非关联二级二叉树的特例,对本发明作进一步说明,二级二叉树即几何体级空间分割树无嵌套且几何体级空间分割树与面片级空间分割树中的非叶子节点均含有两个子节点:

1.如图1所示,本发明发展了一种基于非关联二级二叉树的蒙特卡罗面片几何计算加速方法中的二级二叉树的生成方法:

首先读取整个CAD模型,在进行必要的计算材料、源、计数分配后,得到整体模型的总包围盒,基于总包围盒初始化初级二叉树,此时初级二叉树中包含模型中所有的几何体,并输出二叉树的细分收敛原则,包括二叉树叶子节点中包含的几何体上限以及二叉树叶子节点的尺寸下限。之后按照如下的算法执行二叉树的细分。

a)初始化二叉树并初始化二叉树待细分叶子节点列表;

b)从待细分叶子节点列表中取出叶子节点,按最合理的x,y,z轴垂直的方向之一平分该叶子节点,得到新的两个子节点,对于两个子节点,检查其中几何体数量和尺寸,如果小于限值则将子节点加入待细分叶子节点列表;

c)重复B步骤直到待细分叶子节点列表为空,如图2左侧所示,将生成对应整个几何模型的空间分割树,图2左侧显示了一个示意图,表示空间被逐层二分,形成了每个叶子节点仅有一个几何实体的空间分割。图3所示是一个实际计算中的空间分割实例,可以看到包含几何模型的整个空间被分割为大量长方体子空间。

其次,对于每个几何体,尝试自动转换为构造实体几何体,如果无法转换为构造实体几何体则转换为面片几何体;对其中转换成的面片几何体进行二叉划分,对单个几何体生成次级二叉树。该过程类似上述初级二叉树的生成步骤,不同之处在于对于节点细分的指标为三角面片数量,图2右侧是一个面片几何体所对应的空间分割,其中每个长方体网格仅含有低于要求的数量的三角面片,图4是对应图3所示模型中的一个面片几何体的空间分割情况,它的空间被分割为了大量长方体子空间,其中每个子空间内面片的数量少于10个。

2.非关联二级二叉树的蒙特卡罗面片几何保存格式及其在计算机中的存储:

a)在计算机中存储带二级二叉树的面片几何模型时,首先保存初级二叉树的信息,其次保存所有几何体的信息。

b)在初级二叉树信息时,可按深度优先遍历方式或推广为任意顺序保存初级二叉树的节点,节点信息中存有其关联的几何体的编号列表(仅有叶子节点中保存有编号列表)、节点的父节点与子节点编号。

c)几何体信息部分包括几何体数量以及顺序保存的各几何体的信息。

d)每个几何体中,分别存有次级二叉树和面片信息。次级二叉树信息按深度优先遍历或其他顺序保存该二叉树的所有节点,每个节点中包含其关联的所有面片的编号列表(仅有叶子节点保存有编号列表)、节点的父节点与子节点编号。面片信息即按照顺序保存的各面片的信息,包括面片三个顶点以及面片的指向几何体外的法向量。

3.非关联二级二叉树下,蒙卡面片几何计算方法:

(1)对于粒子穿出几何体点计算,进行粒子轨迹与所在几何体次级二叉树节点中面片的相交判断,如果相交则返回相交点为粒子穿出几何体点,否则通过粒子穿出当前节点位置得到下一个二叉树节点,进行同样的判断直到找到粒子穿出点;其中粒子穿出当前节点得到下一个节点采用树回溯与深度遍历的方法,首先得到粒子穿出当前节点的位置p,向上回溯二叉树,直到一个边界包围p的上层节点A,然后从该节点向下深度遍历,每次向下搜索时,对两个子节点A1和A2,取p被包围或点从p进入的子节点Ai,迭代直到叶子节点,即找到该粒子穿入的节点;由于粒子被A包围,所以其穿入节点必然在A下层的节点中;

(2)对于粒子飞入几何体点计算,进行粒子与所在初级二叉树中各几何体的相交判断;对于各几何体,判断粒子是否经过几何体包围盒,如果经过则定位其进入的包围盒的位置所在的几何体次级二叉树的叶子节点,通过次级二叉树,进行粒子与几何体面片的相交点的计算,如果有相交面片,则记录该点为粒子飞入该几何体的点;选取粒子飞入点的与粒子当前位置距离最小的为粒子下一个飞入的几何体的点;

其中定位粒子进入的叶子节点的方法为,首先求得粒子与几何体包围盒的交点p,从该几何体次级二叉树的根节点开始向下搜索,在节点A向下搜索的过程中,对A的两个子节点A1与A2,选取p在边界的Ai,迭代直到叶子节点即找到粒子进入几何体的叶子节点。其中粒子与几何体相交位置判断与方法(1)中粒子穿出时搜索相交面片的方法类似,只是需要判断粒子方向是否与面片法向量方向相背。

(3)对于二叉树下粒子空间定位,首先定位粒子所在初级二叉树的叶子节点,之后对于该叶子节点的每个几何体,判断粒子是否在几何体包围盒中,如果粒子在包围盒中,则使用方法(1)沿任意方向计算粒子穿出几何体的点,如果成功得到粒子穿出几何体的点,且该点所在面片的法向量与的内积小于零,表示粒子沿方向穿出几何,则定位粒子在该几何体中。为保证方法的鲁棒性,可同时选择多个方向如果多个方向粒子相交面片均为穿出几何体的情况,则表示粒子在几何体内,否则表示几何体存在缺陷,需要进行水密性处理。

总之,本发明通过引入多级空间分割树,可提高蒙卡面片模型在蒙卡计算时的粒子轨迹穿入穿出点计算以及粒子位置定位计算的效率;同时可实现面片模型与构造实体几何模型的共存,避免全部引入面片模型导致的计算效率大幅下降。本发明可显著提升面片模型计算效率,使之能达到与传统几何相当的水平,实现基于面片的任意几何蒙卡计算的实用化。

提供以上实施方式仅仅为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号