首页> 中国专利> 一种用于中子输运的基于MCAM-Geant4自动建模方法的转换简化方法

一种用于中子输运的基于MCAM-Geant4自动建模方法的转换简化方法

摘要

本发明公开了一种用于中子输运的基于MCAM-Geant4自动建模方法的转换简化方法,根据基本体特征,根据查找和组合的思想,对从半空间几何到基本体几何的转换进行简化的方法。该转换方法简化了从半空间描述转换为基于基本体的蒙特卡罗计算模型,从而使Geant4蒙特卡罗计算程序在转换时提供简化。该方法对于核辐射评估等必须利用蒙特卡罗程序的领域提供了使用基于基本体描述的蒙特卡罗计算程序的简便方法,具有重要的科学研究与工程应用价值。

著录项

  • 公开/公告号CN104361150A

    专利类型发明专利

  • 公开/公告日2015-02-18

    原文格式PDF

  • 申请/专利权人 中国科学院合肥物质科学研究院;

    申请/专利号CN201410570850.5

  • 申请日2014-10-23

  • 分类号G06F17/50;

  • 代理机构北京科迪生专利代理有限责任公司;

  • 代理人成金玉

  • 地址 230031 安徽省合肥市蜀山湖路350号

  • 入库时间 2023-12-17 03:49:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-24

    授权

    授权

  • 2015-03-25

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

    实质审查的生效

  • 2015-02-18

    公开

    公开

说明书

技术领域

本发明涉及一种用于中子输运的基于MCAM-Geant4自动建模方法的转换简化方法,属 于辐射输运计算领域,是一种从半空间描述转化为基于基本体描述的计算模型中的简化方 法。

背景技术

蒙特卡罗输运程序Geant4是使用蒙特卡罗方法通过计算机模拟粒子运动进而模拟粒子 输运过程的技术。该技术是在核辐射防护、反应堆物理、高能物理领域有广泛的应用。这种 计算程序从每个粒子运行的角度对真实场景进行模拟,在计算的过程中需要知道粒子运行路 径中与哪些物体发生了碰撞,碰撞后飞行进入下一个粒子的位置等等。为了能够快速判断粒 子的位置,传统的蒙特卡罗输运程序使用了半空间方法描述所模拟场景的几何。但是随着计 算几何技术的发展,为了直观地表示物体的几何,Geant4使用基于基本体的表达方式来表示 几何。半空间几何和基本体几何的区别如图1.所示,二者主要在表达方式上有区别,如图1 所示。

但是单纯使用文本对场景进行建模的效率是十分低下的,但现在已经有了成熟的从CAD 模型建立基于半空间几何的蒙卡模型的软件MCAM-Geant4。这个软件大大提升了蒙特卡罗 模拟的效率,但它直接将模型转换后的半空间描述方式的每一个半空间描述为一个基本体。 这种方法比较简单,直接将半空间描述的模型转换为一个个的单独的基本体,但是增加了基 本体的数量,造成了基本体的冗余,降低了计算速度,增加了计算时的内存开销等。

由于蒙特卡罗方法中,在判断粒子与几何体的相对位置时需要比较粒子和组成几何体的 所有表面的位置,所以几何体的组成越简单,计算速度越快,所以在这种情况下,基本体的 数量对几何描述的实用程度有密切的关系。本发明提出的基本体几何精简方法对实现CAD 模型到蒙卡模型的有效转换具有重要意义。

发明内容

本发明技术解决问题:克服现有技术的不足,提出一种用于中子输运的基于 MCAM-Geant4自动建模方法的转换简化方法,采用查找和组合思想,尽可能的查找半空间 直到形成一个完整的基本体,或基于半空间尽可能的组合为一个基本体,已达到减少基本体, 提高建模质量,减少相同精度下模型模拟时间。

本发明的技术方案:一种基于MCAM-Geant4自动建模方法的转换简化方法,由输入模 块,查找模块、组合模块、输出模块共四个模块组成;输入模块输入半空间描述的模型,送 至查找模块进行查找;查找模块根据输入的半空间描述的模型查找能否构成为一个完整的基 本体,如果不能传递数据给组合模块;组合模块根据输入的半空间描述的模型查找能否使用 尽可能多的半空间构成一个基本体,并在剩余的半空间中继续描述;最后查找模块构成的基 本体、组合模块组成的基本体,统一送至输出模块,进行输出;

输入模块,读取MCAM-Geant4模块中读取半空间描述的模型数据,根据几何构造器的 数据结构,然后送到组合模块中;

查找模块,根据读取到的半空间模型数据进行查找;

读取平面半空间,得到其法向量,平面上一点,方向等几何数据;读取圆柱半空间,得 到其轴向法向量,轴线上一点,半径,内外半空间指示等几何数据;读取圆锥空间,得到其 轴向法向量,顶点,圆锥与轴线夹角,内外半空间指示等几何数据;读取球半空间,得到球 心点,半径,内外半空间等几何数据;读取圆环半空间,得到轴线向量,轴心点,轴向大半 径,小半径,内外半空间等几何数据;

判断一个实体下面的所有半空间是否能够组合成一个基本体,对于实体,判断是否有八 个半空间,且对于这八个半空间对应的八个面中存在两个面平行并垂直与其它面,存在其余 六个面两两平行,两两平面成120°角度;同时半空间的正负方向符合六棱柱体的方向,平行 的两个面对应的两个半空间交集不为空;据此构建六棱柱体;

判断是否有且仅有六个半空间,且六个半空间对应的六个面存在两个面平行并垂直与其 余四个面,剩余的四个面两两垂直两两平行;同时半空间的正负方向符合长方体的方向,平 行的两个面对应的两个半空间交集不为空;据此构建长方体;

判断是否有且仅有三个半空间,且三个半空间对应的三个面有两个平面一个圆柱面;两 个平面平行并垂直圆柱面;三个半空间的交集不为空;据此构建圆柱体;

判断是否有且仅有两个半空间,对应的两个面是平面和圆锥面;平面垂直圆锥面;两个 半空间的交集不为空;据此构建圆锥体;

组合模块,根据读取到的半空间模型数据,根据优先级进行组合;主要优先级原则是优 先组合为含较多半空间的基本体;输入数据为得到进行查找,但得不到基本体的半空间描述 的模型;输出为基本体集合;

f)对于第一优先级六棱柱,遍历所有半空间a,进行判断:

i.首先搜索几何体中与之垂直或平行或成120°的平面,如果有这样的半空间b,判断 找到的半空间与a包围成的空间是否包含原几何体,如果包含,那么以b作为将代替a的六 棱柱的另一个面,当前的平面集合A={a,b};

ii.继续在几何体中其它半空间,新的半空间需要与集合A中最多一个半空间平行且与 其他的半空间垂直,并且与这些半空间一起交出的空间能够包含原几何体,找到后将新的半 空间加入集合A,最后集合A的半空间的基础上补齐的六棱柱可以成为在基本体表达式中代 替这些半空间的基本体,从而使最终生成的基本体表达式减少了新找到半空间数量的基本 体;

g)对于第二优先级长方体,搜索几何体中与之构成长方体的半空间,补齐缺少的面形 成长方体,这样能够减少找到面数量的基本体;

i.首先搜索几何体中与之垂直或平行或成90°的平面,如果有这样的半空间b,判断找 到的半空间与a包围成的空间是否包含原几何体,如果包含,那么以b作为将代替a的六棱 柱的另一个面,当前的平面集合A={a,b};

ii.继续在几何体中其它半空间,新的半空间需要与集合A中最多一个半空间平行且与 其他的半空间垂直,并且与这些半空间一起交出的空间能够包含原几何体,找到后将新的半 空间加入集合A,最后集合A的半空间的基础上补齐的长方体可以成为在基本体表达式中代 替这些半空间的基本体,从而使最终生成的基本体表达式减少了新找到半空间数量的基本 体;

h)对于第三优先级圆柱面,搜索几何体中与之构成长方体的面,采用类似2.a的方法, 最后补齐缺少的面形成圆柱体,这样能够减少找到面数量的基本体;

i.首先找到圆柱体内半空间;找到后再查找垂直于这个圆柱体的两个平面半空间;

ii.找到后,使用圆柱体代替找到的圆柱内半空间和平面半空间;

i)对于第四优先级圆锥面,搜索几何体中与之构成长方体的面,采用类似2.a的方法, 最后补齐缺少的面形成圆柱体,这样能够减少找到面数量的基本体;

i.首先找到圆锥体内半空间;找到后再查找垂直于这个圆锥体的一个平面半空间;找 到后,使用圆锥体代替找到的圆锥体内半空间和平面半空间;

本发明与现有技术相比的优点在于:

(1)通过直接寻找基本体,将一个实体描述为一个基本体,对比其他方式中采用的一 个半空间使用一个基本体描述的方式,减少了基本体的数量;例如六棱柱,按照原来的方法, 需要使用八个布尔实体才能描述,现在只需要一个六棱柱实体即可,实体数量减少了七倍; 对比其他方式中采用的一个半空间使用一个基本体描述的方式,本发明减少了基本体的数 量,减少了相同精度下模型模拟时间;

(2)通过查找基本体的基本组成元素,最大可能的组合成基本体,对比其他方式中采 用的一个半空间使用一个基本体描述的方式,尽可能的减少了基本体数量;例如对于一个六 面体,主要有三个半空间两两垂直,就可以使用一个基本体来代替这三个半空间,基本体从 原来的六个减少到四个,效果提高了1.5倍。

附图说明

图1为基于半空间几何和基于基本体的几何的示意图;其中左图是基于半空间几何,右 图是基于基本体的几何;

图2为本发明系统的组成框;

图3为图2中查找模块的实现流程图;

图4为图2中组合模块的实现流程图。

具体实施方式

如图2所示,本发明包括输入模块、查找模块、组合模块、输出模块等。给出每个模块 的功能和作用及相互的连接关系。

输入模块读取已分解后的模型信息,以半空间表达形式存在;

在得到输入模块传递的输入后,本发明中查找模块具体实现如下,并如图3所示:

得到半空间描述的实体列表,对于其中每一个实体进行遍历;例如一个实体模型, 含有六个半空间面;

查找实体列表中的每一个实体是否是一个基本体;根据权利要求1中列出的不同几 何体的各种不同的参数,判断是否能够构成一个基本几何体,缺乏部分条件也可以构成一个 基本体;以上面的模型为例,经过判断可以构成一个长方体,则输出为一个长方体;

在得到查找模块传递的输入后,本发明中组合模块具体实现如下,并如图4所示:

对于查找之后发现不能直接构成一个基本几何体的实体,采取第二种方式:组合, 尽可能将更多的半空间组成成一个栅元,以一个四面体为例,其中三个平面半空间为两两垂 直相交的平面半空间,最后一个是平面半空间:

a)基于优先级,先查找有无平面;再查找有无其它平面满足平行或垂直等能构成基本 体的条件的平面:若有,加入其中,再继续检索下一个面;若无,判断其它面;添加一个平 面半空间进行判断;

b)根据优先级来,判断完平面,再判断圆柱,圆锥;判断可以组成一个平面半空间;

c)尽最大可能判断之后,得到的半空间列表转换为一个基本体;再去判断其它平面半 空间,最终发现两两垂直的三个平面半空间可以构成为一个长方体的三个面;

d)继续对剩余的面进行判断,重复abc步骤,并判断能否增加新的半空间到集合中; 判断发现已经遍历所有的半空间,但不能再增加新的半空间到半空间集合中;

e)结束判断:

■如果所有的半空间遍历完,且所有的半空间都被处理,则结束;

■如果所有的半空间遍历完,但存在半空间未被处理,则保存目前的基本体到输出列 表中,删去已经处理过的半空间,重新处理其它半空间;

■如果不是所有的半空间都被遍历完成,但已经构成完整的基本体,则保存该基本体 到输出列表中,删去已经处理过的半空间,重新处理其它半空间;

■如果不是所有的半空间都被遍历完成,且基本体不完整,继续处理;

■根据以上判断,上述四面体例子在判断三个半空间构成一个长方体后,将其加入到 输出列表中等待输出,并继续处理剩余的一个平面半空间;

在结束查找模块和组合模块的处理后,本发明中,输出模块输出所需要的Geant4模型 文件;使用Geant4模拟代码进行模拟;由于降低Geant4模型复杂度,减少了Geant4模型中 的实体数量,因此Geant4模拟速度提高。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号