一种蒙特卡罗程序的可视建模与转换方法及系统与流程

文档序号:16881650发布日期:2019-02-15 22:13阅读:516来源:国知局
一种蒙特卡罗程序的可视建模与转换方法及系统与流程

本发明涉及蒙特卡罗建模技术领域,尤其涉及一种蒙特卡罗程序的可视建模与转换方法及系统。



背景技术:

当前,蒙特卡罗方法被广泛应用于核领域的设计计算和评估分析中,特别是中子学相关的计算分析,如反应堆物理设计、辐射屏蔽设计、核安全分析等。它模拟相当数量的粒子在介质中运动的状况,为此需要描述出所要模拟的空间模型,即几何模型表示。世界上比较知名的通用蒙特卡罗程序有mcnp、geant4、egs等,这些程序都有完备的几何描述方法,但是缺乏有效的建模手段,一般对于几何模型的描述都采用手工编写文本文件的方式进行。对于复杂的几何模型来说,手工编写模型文件非常困难,几何体的边界复杂,几何体直接存在相关关系,文本文件不够直观,不容易发现错误,当几何体数量比较多时,手工方式几乎难于实现。类似iter这样的装置手工建模曾经耗费了数百人年时间,仍然有错。因此,随着计算机图形学技术的飞速发展,cad软件发展迅速,人们往往会使用cad软件建立物体的计算机模型。

建模和物体的计算机表示就是建立三维计算机图形学表示。建立物体的计算机图形学方法多种多样,依赖于用户的程序和所要解决的问题。目前,主流的三维几何模型的描述方法有两种:边界表示法(brep,boundaryrepresentation)和构造几何表示法(csg,constructivesolidgeometry)。边界表示法是以物体的边界为基础定义和描述几何形体的方法,并能给出完整的界面模式;构造几何表示法是一种通过布尔运算将相对简单的基本体素拼合成复杂实体的描述方法。构造几何表示法方法简洁,处理方便,数据结构简单,因此大多数蒙特卡罗程序都采用csg方法描述几何模型。而cad软件一般采用的几何描述方法是brep方式,cad软件建模后输出的文件格式也是以brep方式描述的特定的文件格式,和蒙特卡罗程序以csg方式描述的输入文件格式要求有重大的差异,因此蒙特卡罗程序不能直接使用cad软件输出的模型文件,需要开发相应的转换算法来实现两者之间的数据共享。然而,由于brep表示法的几何描述能力非常强,随着三维图形学技术的突飞猛进,brep几乎可以涵盖现有的所有建模需求。而csg几何描述方法存在一定的局限性,受限于参与布尔运算的基本体素的种类。因此,从csg到brep的转换是完全可以实现的,而从brep到csg转换是难于实现的。

随着通用蒙特卡罗程序如mcnp及geant4等的可视建模需求日益强烈,相应的转换工具的研究和开发也从未停止。国内外的相关机构开发了mcam、fasrad等转换工具软件,它们都是基于小型cad软件基础上开发brep到csg的转换算法,但是使用效果不够理想。其中以mcam为例,mcam采用在acis平台上开发从brep到csg的转换工具实现蒙特卡罗程序的建模功能。mcnp计算模块对于几何实体的描述是建立在半空间表示的基础上。半空间表示法是一种特殊的构造立体几何(csg)表示法。因此本质上,mcam可视化模型实现的是从csg到brep的转换。

现有技术中类似mcam等现有的蒙特卡罗建模软件具有以下主要缺陷:

1、brep到csg的转换的局限性大,无法按照用户的需求建立精细的、真实的装置模型,造成转换出来的模型不精确。

2、无法帮助用户减轻建模工作量及快捷修正错误,无法实现对模型、材料参数的查找、编辑工作。

3、缺乏几何体空间关系描述,蒙特卡罗程序是世界上最耗时的软件之一,其中几何计算的时间占蒙特卡罗程序的70%以上,对于几何体超过百万量级的反应堆模型来说,没有空间关系的描述将面临算不动的情况。

因此如何解决上述现有技术中的缺陷,提供转换精度高的蒙特卡罗程序的可视建模与转换方法,是当前亟待解决的技术问题。



技术实现要素:

为了解决现有技术中的缺陷,本发明提供了一种蒙特卡罗程序的可视建模与转换方法及系统,本发明具有显著提升建模效率、极大的减轻用户建模工作量、提高模型转换的准确度(模型转换精度达到10-9mm)及空间关系描述的有益效果。

为了实现上述目的,本发明提供了一种蒙特卡罗程序的可视建模与转换方法,该方法包括:

根据本地存储的待转换几何模型的模型文件生成所述待转换几何模型对应的各转换几何体;各所述转换几何体均具有几何信息,所述几何信息包括:绝对空间信息及几何体形状信息;

从本地存储的待转换几何模型的参数文件中获取各所述转换几何体的属性信息;所述属性信息包括:材料信息及父子关系信息;

根据各所述转换几何体、各所述转换几何体的属性信息及几何信息,按照几何描述标记语言标准对所述待转换几何模型进行转换。

本发明还提供了一种蒙特卡罗程序的可视建模与转换系统,该系统包括:

生成单元,用于根据本地存储的待转换几何模型的模型文件生成所述待转换几何模型对应的各转换几何体;

获取单元,用于从本地存储的待转换几何模型的参数文件中获取各所述转换几何体的属性信息及绝对空间信息;所述属性信息包括:几何体形状信息、材料信息及父子关系信息;

转换单元,用于根据各所述转换几何体、各所述转换几何体的属性信息及绝对空间信息,按照几何描述标记语言标准对所述待转换几何模型进行转换。

本发明提供的一种蒙特卡罗程序的可视建模与转换方法及系统,包括:根据本地存储的待转换几何模型的模型文件生成所述待转换几何模型对应的各转换几何体;各所述转换几何体均具有几何信息,所述几何信息包括:绝对空间信息及几何体形状信息;从本地存储的待转换几何模型的参数文件中获取各所述转换几何体的属性信息;所述属性信息包括:材料信息及父子关系信息;根据各所述转换几何体、各所述转换几何体的属性信息及几何信息,按照几何描述标记语言标准对所述待转换几何模型进行转换,具有提升建模效率、减轻用户建模工作量及提高模型转换准确度及空间关系描述的有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一种蒙特卡罗程序的可视建模与转换方法的流程图;

图2是本申请一实施例中的蒙特卡罗程序的可视建模与转换方法的流程图;

图3是本申请另一实施例中的蒙特卡罗程序转换方法的流程图;

图4是本申请一实施例中的几何树一支的结构示意图;

图5是本申请一实施例中的核反应堆全堆芯模型的参数化建模交互界面示意图;

图6是本申请的一种蒙特卡罗程序的可视建模与转换系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

针对现有技术中存在的缺陷,本发明提供了一种蒙特卡罗程序的可视建模与转换方法,其流程图如图1所示,该方法包括:

s101:根据本地存储的待转换几何模型的模型文件生成待转换几何模型对应的各转换几何体。

其中待转换几何模型与模型文件具有一一对应关系。各转换几何体均具有几何信息及唯一身份信息。几何信息包括:绝对空间信息及几何体形状信息等。唯一身份信息包括:前缀、类型、名称及计数。

s102:从本地存储的待转换几何模型的参数文件中获取各转换几何体的属性信息。

其中本地存储具体指存储在内存中,待转换几何模型与参数文件具有一一对应的关系。各转换几何体均具有属性信息,属性信息包括:材料信息及父子关系信息等。

s103:根据各转换几何体、各转换几何体的属性信息及几何信息,按照几何描述标记语言标准对待转换几何模型进行转换。

由图1所示的流程可知,本发明通过读取本地存储的待转换几何模型的模型文件生成待转换几何模型对应的各转换几何体,其中各转换几何体均具有几何信息;再读取本地存储的待转换几何模型的参数文件,从参考文件中获取各转换几何体的属性信息,其中属性信息包括:材料信息及父子关系信息;最后根据生成的各转换几何体及获取的各转换几何体的属性信息及几何信息,按照几何描述标记语言标准(gdml)对待转换几何模型进行转换,输出gdml描述文件。本发明具有提升建模效率、减轻用户建模工作量及提高模型转换准确度及空间关系描述及brep到csg精确转换的有益效果。

为提供给用户更好的交互功能和强大的图形显示能力、稳定的cad内核,本发明选择ugnx软件为开发平台,通过ug/openapi获取ug系统的各类数据来实现各功能模块。本发明的软件系统嵌入到ugnx系统中成为ugnx的一个模块,通过调用ug/openapi的函数实现了界面和功能模块,在vc++中进行编译生成,以dll文件方式实现和ugnx软件的融合。使在使用本发明的同时可以使用ugnx的其他功能模块有助于提高易用性。

为了使本领域的技术人员更好的了解本发明,列举一个更为详细的实施例,如图2所示,本发明实施例提供了一种蒙特卡罗程序的可视建模与转换方法,该方法包括以下步骤:

s201:利用至少一基本几何体生成新建几何体。

其中基本几何体及新建几何体均为转换几何体,各基本几何体及新建几何体均具有唯一身份信息。

具体实施时,蒙特卡罗物理模型需要对每一个转换几何体设置属性信息,其中属性信息包括:材料信息及父子关系信息。唯一身份信息与属性信息对应存储,通过唯一身份信息使属性信息与转换几何体关联。唯一身份信息是调用ug/openapi对应写入到各转换几何体上,作为各转换几何体的身份证,唯一身份信息不允许重名,由前缀_类型_名称_计数等。

其中,唯一身份信息是调用ug/openapi对应写入到各转换几何体上,作为各转换几何体的身份证,唯一身份信息不允许重名,由前缀_类型_名称_计数等组成。

特征建模技术被称为cad/cam发展的新里程碑,也是ugnx软件中的一个重要组成部分。特征是一种综合概念,在cad系统中定义比较广泛,在本发明中,特征被限定在gdml文件中所接受的几何体类型,分别为球体、柱体、长方体、圆锥体、圆环体、椭球体、六棱柱、空心球体、空心柱体、空心长方体、空心圆锥体、,因此基本几何体具体可以为球体、柱体、长方体、圆锥体、圆环体、椭球体、六棱柱、空心球体、空心柱体、空心长方体及空心圆锥体等。根据基本几何体的特征扩展生成新建几何体,例如1/n圆柱体及1/n圆锥体等,本发明不以此为限。

本发明具体采用了参数化建模方式,仅仅需要给出基本几何体的大小、方向、位置和唯一身份信息等即可实现建模,每一个转换几何体(包括基本几何体及新建几何体)都可以进行参数设置,本发明通过包括操作界面和内部功能,均通过调用ug/openapi实现,根据用户设置的参数调用ug/openapi创建待转换几何模型。

步骤s201具体实施时,选取一下任一种方法:

(一)根据至少一基本几何体利用布尔运算生成新建几何体。

利用已经建立的至少一个基本几何体进行布尔运算交、并、差操作可以获得不同形状的新建几何体。其中基本几何体也可是已经完成的新建几何体,因此新建几何体是相对于组成新建几何体的基本几何体而言,各基本几何体及新建几何体都是转换几何体,由各转换几何体组成几何模型。

(二)根据至少一基本几何体利用重复阵列操作生成新建几何体。

其中重复阵列操作包括以下几种方式:

沿x方向阵列:当预设的间距为正间距时,按预设的间距沿x轴正方向复制基本几何体;当预设的间距为负间距时,按预设的间距沿x轴负方向复制基本几何体。

沿y方向阵列:当预设的间距为正间距时,按预设的间距沿y轴正方向复制基本几何体;当预设的间距为负间距时,按预设的间距沿y轴负方向复制基本几何体。

沿z方向阵列:当预设的间距为正间距时,按预设的间距沿z轴正方向复制基本几何体;当预设的间距为负间距时,按预设的间距沿z轴负方向复制基本几何体。

沿环形阵列:按照预设的角度沿固定点及固定轴复制基本几何体。

具体的沿环形阵列包括:平移式环形阵列和整体式环形阵列两种方式。其中,平移式环形阵列仅对基础几何体进行位置平移,而基础几何体本身不旋转。整体式环形阵列既对基础几何体进行位置平移又按照预设的角度沿固定轴旋转基本几何体。

沿任意方向阵列:按预设的方向、预设的间距复制基本几何体。

新建几何体的属性信息与新建几何体对应的基本几何体的属性信息之间的对应关系包括:

利用上述重复阵列操作方式生成的新建几何体具有如下三种类型:

复制原始属性:新建几何体的几何体形状信息与新建几何体对应的基本几何体的几何体形状信息保持一致,并且新建几何体的属性信息与新建几何体对应的基本几何体的属性信息保持一致并随各基本几何体的属性信息变化。

具体的,利用该类型的重复阵列操作生成的新建几何体对应的基本几何体可以未设置材料信息、父子关系等信息,在最终转换输出为gdml文件时才会引用该新建几何体对应的基本几何体的属性信息,因此,即使进行了重复阵列操作,也不影响各基本几何体随时修改其自身属性信息,但是不能改变各基本几何体的几何体形状信息。利用重复阵列操作生成的新建几何体及其对应基本几何体都可以任意改变绝对空间信息。

仅复制几何体形状信息:仅新建几何体的几何体形状信息与新建几何体对应的基本几何体的几何体形状信息保持一致。

具体的,利用该类型的重复阵列操作生成的新建几何体仅保持几何体形状信息与该新建几何体对应的基本几何体的几何体形状信息保持一致。利用重复阵列操作生成的新建几何体及其对应基本几何体都可以任意改变绝对空间信息。

保持独立复制:新建几何体的几何体形状信息与新建几何体对应的基本几何体的几何体形状信息相互独立,并且新建几何体的属性信息与新建几何体对应的基本几何体的属性信息相互独立。

具体的,利用该类型的重复阵列操作生成的新建几何体,仅赋上和基本几何体一样的初始值,支持独立更改该新建几何体的几何体形状信息及属性信息,可以对新建几何体的几何体形状信息及属性信息进行调整和修改,不需要与该新建几何体对应的基本几何体的几何体形状信息及属性信息保持一致,具有提高涉及的灵活性并减少作业工作量的有益效果。

本实施例中,采用不同的重复阵列操作生成的新建几何体的唯一身份信息的前缀不同的,通过各新建几何体的唯一身份信息的前缀便可以了解该新建几何体的重复阵列操作方式,重复阵列操作在几何模型建模中起到了非常大的作用,很大程度上减轻了建模工作量。同时本发明还通过不同的新建几何体类型满足建模过程中的不同需求。

本发明通过基本几何体生成新建几何体,具有满足用户快速建立大型复杂装置模型的需求的有益效果。

s202:为属于同一类型的基本几何体及新建几何体设置相同的分类标签。

具体的,根据各基本几何体及新建几何体的唯一身份信息,可以获得各基本几何体及新建几何体的类型,为属于同一类型的基本几何体及新建几何体设置一个共同的分类标签,便于对转换几何体(各基本几何体及各新建几何体均为转换几何体)进行分类管理。分类标签不同于唯一身份信息,不同的转换几何体可以拥有相同的分类标签。

s203:对同一分类标签的基本几何体的属性信息及新建几何体的属性信息进行批量编辑。

具体的,通过基本几何体及新建几何体的唯一身份信息(可以是全部唯一身份信息的全部信息也可以是唯一身份信息的部分信息)、材料信息、分类标签等关键字来查找符合要求的转换几何体,对符合要求的全部转换几何体或者部分转换几何体进行统一参数的调整,具有提高编辑效率的有益效果。

s204:将每一基本几何体及每一新建几何体分别设置于不同的cad图层上进行分层管理。

具体的,图层是透明的,可以将转换几何体放在不同的图层上,图层类似胶片一样,可以一次显示所有图层或者多个、单个图层,对于数量非常多的几何模型来说,分层管理可以一次显示某一部分转换几何体,便于编辑。

s205:根据基本几何体及新建几何体生成待转换几何模型的模型文件。

具体的,根据基本几何体及新建几何体生成待转换几何模型的模型文件。其中转换几何模型最终以模型文件形式进行存储,因此待转换几何模型与其模型文件一一对应,读入其模型文件即可展示该待转换几何模型。

s206:根据基本几何体的唯一身份信息及属性信息及新建几何体的唯一身份信息及属性信息生成待转换几何模型的参数文件。

具体的,根据各基本几何体的唯一身份信息及对应的属性信息及新建几何体的唯一身份信息及对应的属性信息生成待转换几何模型的参数文件。其中参数文件与待转换几何模型的模型文件的文件名称一致。因此待转换几何模型、待转换几何模型的模型文件及待转换几何模型的参数文件彼此之间一一对应,具体可以通过设置相同的文件名称使彼此对应,再次读入模型文件后,便可同时读入同名的参数文件。

其中参数文件包括:各基本几何体的唯一身份信息及对应的属性信息及新建几何体的唯一身份信息及对应的属性信息。在读入模型文件后遍历待转换几何模型中的所有转换几何体,并获取其唯一身份信息,通过该唯一身份信息,在参数文件中查找该唯一身份信息对应的属性信息,并将该属性信息赋给相应的转换几何体。如果没有同名的参数文件,则可以进行属性信息的设置,保存模型文件时会自动保存已经设置过的各类参数并生成与该模型文件同名的参数文件,不会导致数据丢失造成重复工作。

s207:将待转换几何模型的模型文件及参数文件分别存储于本地。

具体实施时,首先对待转换几何模型进行检查,包括检查必要参数是否均设置、基本几何体的唯一身份信息及新建几何体的唯一身份信息是否均以正确设置等,本发明不以此为限。检查通过后,再将待转换几何模型一一对应的模型文件存储于本地,同时将待转换几何模型一一对应的参数文件也存储于本地,且该模型文件与该参数文件具有相同的文件名。

本发明是面向大规模复杂几何模型而设计的,待转换几何模型由数量巨大的转换几何体组成,因此属性参数设置的工作量较大,而属性信息包括:材料信息及父子关系信息,其中材料信息时转换几何体必须设置的参数。因此本发明支持在图形界面选中对待设置的转换几何体进行批量的材料信息设置,同时本发明还支持通过读入材料文件进行材料信息的批量设置,读入的材料文件不限个数。本发明支持通过图形界面添加新的材料。材料的值的表示有两种方式,符合蒙特卡罗程序的常用规范。

由于本发明中各转换几何体的属性信息包括父子关系信息,因此各转换几何体均具有父子关系信息,在空间上转换几何体之间按照空间关系可以组成一棵几何树。在本发明的建模过程中,对于结构相同的树在建模时只建立第一个完全树,其他相同的树只建立父几何体,该父几何体对应的所有子几何体并不真正建立,在输出转换为gdml的时候它的内部结构会引用和它相同的第一个完全树,该基于几何树思想的建模技术即称为显隐式建模技术。因此本发明中基于几何树思想的显隐式建模技术解决了大规模复杂几何模型的存储空间不足的问题。本发明采用的显隐式建模技术具有转换准确性高及结构显示合理的有益效果。在本发明中,隐式建模的树中转换几何体作为父时会用一个特殊的颜色显示。

上述步骤s201-~s207描述了如何创建蒙特卡罗程序的待转换的几何模型,本发明通过上述可视建模过程建立的待转换几何模型具有构建新建几何体、批量编辑、分层管理等有益效果。

下面将具体描述如何将上述待转换的几何模型转换成为高精度高保真数值的蒙特卡罗程序的几何描述文件(gdml文件格式)。

由于不同的几何系统对几何的定义标准和方式都不相同,所以从ug系统提取的转换几何体信息需要按照gdml的定义方式进行转换输出。

s208:根据本地存储的待转换几何模型的模型文件生成待转换几何模型对应的各转换几何体。

其中各转换几何体均具有几何信息,几何信息包括:绝对空间信息及几何体形状信息。

具体的,由于待转换几何模型与模型文件具有一一对应关系,因此读取本地存储的模型文件便可以获得待转换几何模型。由于待转换几何模型由若干转换几何体组合而成,因此在获得待转换几何模型后即可以获得各转换几何体、各转换几何体的唯一身份信息、各转换几何体的几何信息。

s209:从本地存储的待转换几何模型的参数文件中获取各转换几何体的属性信息。

其中,属性信息包括:材料信息及父子关系信息。

具体的,由在加载待转换几何模型的模型文件时,同时加载存储在本地的具有相同名称的参数文件,由于参数文件包括:各转换几何体的唯一身份信息及属性信息,且唯一身份信息与属性信息对应存储。

因此获得待转换几何模型后,自动加载对应的参数文件,从而获得各转换几何体的唯一身份信息及对应的属性信息等。

s210:根据各转换几何体、各转换几何体的属性信息及几何信息,按照几何描述标记语言标准对待转换几何模型进行转换。

转换时,首先需要识别各转换几何体的类型,不同的类型需要提取的信息不同。在gdml中转换几何体的位置信息和方向向量的定义都是相对的,转换几何体的位置信息和方向向量的值为相对于父转换几何体的位置信息和方向向量。而ug中不同,ug中的转换几何体的位置信息和方向向量为世界坐标系的值。另外,位置定义方式也不同,例如:ug中长方体的位置定义为左下角的位置,gdml定义在长方体的中心点;ug中圆柱体的位置取下表面的中心点位置,gdml为中心点位置。基于这些不同,本发明的基于特征的待转换几何模型的转换算法执行步骤如下:

如图3,步骤s210具体包括以下步骤:

s301:遍历待转换几何模型,获取各转换几何体的绝对空间信息及父子关系信息。其中,绝对空间信息包括:绝对位置信息及绝对方向向量。绝对位置信息的个数为一个,绝对方向向量为两个。

具体实施时,待转换几何模型的最顶部的转换几何体“world”囊括了所有子转换几何体,它的下一级有若干子转换几何体;这些子转换几何体又可以具有自己的子体(如a能具有自己的子体b,c,d),这样的层级包含关系可以任意多;在这种组织关系下,每个转换几何体都有父体或子体,转换几何体的空间位置和空间取向永远是其相对于父体局部坐标系下的值。

对ug几何模型中的每个转换几何体,应逐个获取其1个绝对位置信息即中心点位置,2个方位向量。在ug中有4类基本体:圆柱,长方体,圆锥,球;并不是所有类型的转换几何体都能提供1个中心点、2个绝对方位向量,下面分别讨论:

长方体能获取其中心点位置,以及两条垂直棱分别对应的方向向量。

圆柱能获取其中心点位置,只能获得沿圆柱高度方向的一支方向向量,需要再构造一支方向向量。因为圆柱是关于高方向旋转对称的,所以第二支方向向量以在垂直于高方向平面上取任意。

圆锥圆锥也具有高方向旋转对称性,处理方法同圆柱。

球能获取其中心点位置,不能获取任意一支向量,这是因为球具有任意旋转对称性,所以球的两支方向向量可任意取。为简便起见,取为两个方向向量分别选取为(1,0,0)和(0,0,1)。

获得任意一个转换几何体的绝对位置信息即中心点坐标及两支绝对方向向量,即第一绝对方向向量及第二绝对方向向量其中abs表示绝对坐标系下的值。

s302:根据各转换几何体的绝对位置信息及绝对方向向量生成各转换几何体的绝对旋转角。

具体实施时,绕不同轴旋转的旋转矩阵为rotx(α)、roty(β)及roty(β),其中,rotx(α)为绕x轴旋转的旋转矩阵,roty(β)为绕y轴旋转的旋转矩阵,rotz(γ)为绕z轴旋转的旋转矩阵,各旋转矩阵具体如公式(1)、(2)及(3)如下:

对于任意一个向量f=(f1,f2,f3)t,经任意旋转后得向量f',向量f'具体如公式(4)所示:

根据公式(1)至(4),将方向向量(1,0,0)经过绕坐标系x转动αabs角度、绕坐标系y转动βabs角度、绕坐标系z转动γabs角度转至第一绝对方向向量如公式(5)所示:

根据公式(1)~(4),将方向向量(0,0,1)经过绕坐标系x转动αabs角度、绕坐标系y转动βabs角度、绕坐标系z转动γabs角度转至第二绝对方向向量如公式(6)所示:

根据公式(5)及(6)生成计算各转换几何体的绝对旋转角的公式(7),具体如下:

其中,αabs为转换几何体的沿x轴转动的绝对旋转角度,βabs为转换几何体的沿y轴转动的绝对旋转角度,γabs为转换几何体的沿z轴转动的绝对旋转角度。

其中,为第一绝对方向向量的x轴坐标,为第一绝对方向向量的y轴坐标,为第一绝对方向向量的z轴坐标,第一绝对方向向量为为第二绝对方向向量的x轴坐标,为第二绝对方向向量的y轴坐标,为第二绝对方向向量的z轴坐标,第二绝对方向向量

s303:根据各转换几何体的父子关系信息、绝对旋转角及绝对位置信息生成各转换几何体的相对方向向量及相对位置信息。

具体实施时,gdml需要的是转换几何体其父体中的相对坐标系下的值。设定任意一个绝对方向向量在绝对坐标系下的表达式为则其在其父体的相对坐标系下的表达式为满足如下公式(8):

根据公式(1)至(3)及公式(8)生成各转换几何体的相对方向向量及相对位置信息的计算公式(9),具体如下:

其中,为转换几何体的相对方向向量,为相对方向向量的x轴坐标,相对方向向量的y轴坐标,相对方向向量的z轴坐标,rotx-1abs)为绕x轴旋转的逆旋转矩阵,roty-1abs)为绕y轴旋转的逆旋转矩阵,rotz-1abs)为绕z轴旋转的逆旋转矩阵,为转换几何体在绝对坐标系中的绝对方向向量。

s304:根据各转换几何体的父子关系信息、相对方向向量及相对位置信息生成各转换几何体的相对旋转角。

步骤s304具体实施时,根据如下计算公式(10)计算各转换几何体的相对旋转角:

其中,αrel为转换几何体的沿x轴转动的相对旋转角度,βrel为转换几何体的沿y轴转动的绝对旋转角度,γrel为转换几何体的沿z轴转动的绝对旋转角度;

相对方向向量包括:第一相对方向向量及第二相对方向向量;

其中,为第一相对方向向量的x轴坐标,为第一相对方向向量的y轴坐标,为第一相对方向向量的z轴坐标,第一相对方向向量为为第二相对方向向量的x轴坐标,为第二相对方向向量的y轴坐标,为第二相对方向向量的z轴坐标,第二相对方向向量

s305:根据各转换几何体的父子关系信息、相对位置信息、相对方向向量及相对旋转角,按照几何描述标记语言标准生成待转换几何模型的描述文件。

下面根据一个具体的实施例,详细介绍步骤s210实现过程:

如图4所示,转换几何体world下有子体a,a作为父体又有子体c,c作为父体又有子体e;转换几何体e是一个复杂bool体,由工具体e和3个刀具体e1,e2,e3依次作bool运算构成。

设定工具体e的局部坐标系原本是和绝对坐标系是重合的,e的绝对位置信息即中心点坐标为两支绝对方向向量:第一绝对方向向量及第二绝对方向向量其中abs表示绝对坐标系下的值(不难理解绝对坐标系其实就是树状结构中的最上级world),则e相对于绝对系的旋转为:方向向量为(1,0,0)经过绕坐标系x轴转动αe,abs角度的绝对旋转角、绕坐标系y轴转动βe,abs角度的绝对旋转角、绕坐标系z轴转动γe,abs角度的绝对旋转角,使得方向向量为(1,0,0)转到第一绝对方向向量将方向向量为(0,0,1)经过绕坐标系x轴转动αabs角度的绝对旋转角、绕坐标系y轴转动βabs角度的绝对旋转角、绕坐标系z轴转动γabs角度的绝对旋转角,使得方向向量为(0,0,1)转到第二绝对方向向量

根据公式(7)可知,工具体e的绝对旋转角的计算公式(11)如下:

这是一个三元三次方程组,有三个未知数αe,abs,βe,abs及γe,abs,有6个方程,可能无解或有多个解。可以这样解:令αe,abs∈[-π,π],βe,abs∈[-π/2,-π/2],γe,abs∈[0,2π],首先求解得到唯一βe,abs的值,根据βe,abs的取值范围一定有cosβe,abs>0;接着根据的正负分4类讨论,求得唯一的γe,abs值;最后求解得到若干αe,abs的值,将若干个值连同先前求得的βe,abse,abs逐一带入看等号是否成立,选满足的αe,abs值。

同理可以求出刀具体e1,e2,e3在绝对坐标系下的绝对位置信息及绝对方向向量,但是gdml需要的是这些体在e的相对坐标系下的值,根据公式(8)获得计算任意一向量在e的相对坐标系下的值的公式(12),具体如下:

其中表示在e相对坐标系下的方向向量表达式,rel|e表示相对于e。

获得绝对坐标系下表达式的情况下,通过公式(12)求出向量在e相对系下的方向表达式即相对方向向量。于是,当获取了刀具体e1的中心点绝对坐标和绝对方向向量后,通过公式(12)求出e1相对于e坐标系下的相对位置信息即相对中心点坐标和相对方向向量具体如公式(13)、(14)及(15)所示:

在求出相对方向向量后,即可求出相对旋转角αe1,rel|e、βe1,rel|e及γe1,rel|e,在gdml中,刀具体相对工具体的旋转规则为:绕工具体坐标系x,y,z依次旋转α,β,γ,旋转正方向为右手系。这个旋转规则遵守公式(4),于是可以通过上述公式(10)求解e1的相对旋转角,具体计算公式如公式(16)所示:

因此算出了刀具体e1的gdml所需要的相对旋转角为αe1,rel|e、βe1,rel|e及γe1,rel|e,相对位置信息为此6个量分别是gdml中的“rotationname”和“positionname”。

其中完备描述一个基本体素的位置和方向需要6个独立变量。在gdml中,一个实体的位置和取向的描述方式如下

<positionname="pos_vol_s_s1"unit="mm"x="-325.568154457158"y="-945.518575599319"z="-125"/><rotationname="rot_vol_s_s1"unit="radian"x="3.14159265358979"y="0"z="-1.23918376891597"/>

其中“positionname”指的是该体中心点在其工具体或父体局部坐标系内的位置;“rotationname”指的是该体绕其工具体或父体局部坐标系x,y,z轴的转动角度。对以上信息可以这样理解:起初某体的局部坐标系和其工具体(或父体)的局部坐标系是完全重合的,先绕工具体(或父体)局部坐标系x,y,z轴进行转动,确定相对空间取向;再在工具体(或父体)局部坐标系内平移,确定相对位置。gdml通过6个值能完备描述工具体和刀具体、父体和子体间的位置关系。

再处理c体和其父体a体的相对位置关系,思路同上;于是沿着层次化几何树从根部到顶部world,可以把所有的父体、子体相对位置关系一一还原。下面对处理任意层几何树的算法作一个总结:

i)获取几何树中所有体的1个绝对位置,2支方位向量。

ii)用(1)-(6)计算所有体的绝对旋转角。

iii)沿几何树根部开始,向上遍历体,找到待求体的父体,利用它父体的绝对旋转角和公式(ii),求出该体相对于父体坐标系的相对位置,2支相对方位向量的表达式,此步可求出每个刀具体的相对位置。

iv)用算出的2支相对方位向量、(13)-(18)式求出每个体相对于父体的旋转角。

v)从根到顶遍历几何树中所有体,重复iii)、iv)步,直到遍历到world。

为了使本领域的技术人员更好的了解本发明,列举一个更为详细的核反应堆全堆芯模型建模的实施例,图5核反应堆全堆芯模型的参数化建模交互界面。

由于蒙特卡罗程序在核电站中应用广泛,下面以建立核反应堆全堆芯模型及转换方法为例。本发明针对核反应堆全堆芯模型的需求进行行业组件的参数化建模模块。在核反应堆全堆芯模型中堆芯部件包括:栅元、组件、堆芯。其中,组件由不同的栅元组成,堆芯通过每一个方位上的组件构成,因此由基本几何体具体为栅元,生成新建几何体组件,同时基本几何体具体为组件生成了新建几何体堆芯。新建几何体同时也可以作为新的基本几何体生成另外一个更复杂的新建几何体。其中栅元、组件、堆芯均具有唯一身份信息。

如图5所示,在栅元模块中创建堆芯中所需的所有栅元,栅元是构成组件的主要部件;组件由不同的栅元组成;在组件模块中选择构成组件的栅元,设置其他的参数即可简单完成组件的创建;堆芯部分提供了目前压水堆的所有堆型的生成,利用下拉按钮选择每一个方位上的组件,整个堆芯如果是对称方式分布的话则可以在中选择1/4、1/8或任意对称按钮,仅仅需要设置1/4、1/8的堆芯分布,自动生成这个堆芯排布。通过上述简单操作,即可完成百万量级、千万量级的堆芯(即新建几何体)创建。如图5所示,在“组件个数”中选择组件个数,灰色的“空”代表未被选中的组件,白色的“空”代表选中的组件,在“对称设置”中选择1/4、1/8或任意的对称方式。

类似反应堆全堆芯模型,由于燃料管等数量巨大,且轴向分为多层,则堆芯部分的几何体数量将达到百万以上,任何一个cad系统都不可能直接建立如此数量级的模型,但本发明通过显隐式建模相结合的技术方案,实现了全堆芯建模能力的可视建模及转换。

本发明的命名方式无需额外增加数据结构和内存,即可通过各转换几何体的唯一身份信息的各个组成部分来获取到相关信息。本发明通过唯一身份信息的设置节省了大量的内存,使整体数据结构简化并提高了数据处理能力和效率。

基于与上述一种蒙特卡罗程序的可视建模与转换方法相同的申请构思,本发明还提供了一种蒙特卡罗程序的可视建模与转换系统,如下面实施例所述。由于该蒙特卡罗程序的可视建模与转换系统解决问题的原理与一种蒙特卡罗程序的可视建模与转换方法相似,因此该一种蒙特卡罗程序的可视建模与转换系统的实施可以参见一种蒙特卡罗程序的可视建模与转换方法的实施,重复之处不再赘述。

图6为本申请实施例的一种蒙特卡罗程序的可视建模与转换系统的结构示意图,如图6所示,该系统包括:生成单元101、获取单元102及转换单元103。

生成单元101,用于根据本地存储的待转换几何模型的模型文件生成待转换几何模型对应的各转换几何体。

获取单元102,用于从本地存储的待转换几何模型的参数文件中获取各转换几何体的属性信息及绝对空间信息;属性信息包括:几何体形状信息、材料信息及父子关系信息。

转换单元103,用于根据各转换几何体、各转换几何体的属性信息及绝对空间信息,按照几何描述标记语言标准对待转换几何模型进行转换。

本发明提供的一种蒙特卡罗程序的可视建模与转换方法及系统,包括:根据本地存储的待转换几何模型的模型文件生成待转换几何模型对应的各转换几何体;各转换几何体均具有几何信息,几何信息包括:绝对空间信息及几何体形状信息;从本地存储的待转换几何模型的参数文件中获取各转换几何体的属性信息;属性信息包括:材料信息及父子关系信息;根据各转换几何体、各转换几何体的属性信息及几何信息,按照几何描述标记语言标准对待转换几何模型进行转换。利用本发明创建的几何模型及转换方法,具有提升建模效率、减轻用户建模工作量及提高模型转换准确度及空间关系描述的有益效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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