没有合适的资源?快使用搜索试试~ 我知道了~
软件X 14(2021)100681原始软件出版物Gxsview:用于计算辐射传输的几何和横截面查看器大西诚贵国家海洋研究所,日本东京三高市新川ar t i cl e i nf o文章历史记录:收到2020年2021年1月15日收到修订版,2021年保留字:可视化蒙特卡罗输运程序PHITSMCNPa b st ra ct本研究开发了一个独立的多平台集成可视化工具Gxsview(Geometry and CROSS Section VIEWer),该工具可用于三维几何、二维几何、截面和输入文件。它的几何引擎几乎涵盖了主要的蒙特卡罗辐射输运代码PHITS和MCNP中使用的所有几何特征该查看器配备了现代化的图形用户界面,并能够通过使用鼠标实时平移,缩放和旋转几何模型该工具能够以2D(png,jpg和xpm)或3D(stl,vtk,vtp和ply)格式导出,从而实现与其他软件或3D打印机的协作。版权所有2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本1.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2020_46法律代码许可证GPL 3.0使用git的代码版本控制系统使用C++、Qt、VTK、picoJSON和fontconfig的软件代码语言、工具和服务编译要求、操作环境依赖性OpeGL 2.0或Mesa3D 3.2如果可用,链接到开发人员文档/手册https://www.nmri.go.jp/study/research_organization/risk/gxsview/en/index.html问题支持电子邮件ohnishi@m.mpat.go.jp1. 介绍蒙特卡罗辐射输运计算代码可以帮助模拟用于各种目的的粒子行为。具体来说,MCNP(通用蒙特卡罗N粒子)代码[1]被用于许多领域,如核工程,放射治疗或环境测量。在此代码中,模拟空间被划分为称为“单元”的基本单元MCNP内置的绘图例程能够精确地显示这样的CSG几何形状,尽管仅限于二维。PHITS(粒子和重离子输运代码系统)代码[2]是为了模拟高能粒子而开发的,也采用了类似的输入语法,并且能够通过使用射线跟踪方法绘制三维(3D)图像然而,它提供了从某个方向的视图的单个图像电子邮件地址:ohnishi@m.mpat.go.jp。https://doi.org/10.1016/j.softx.2021.100681其他辅助程序,如用于计算辐射输运的建模工具,如SimpleGeo[3]和CGVIEW [4],可以实时处理3D中的一般CSG图元,但不能直接读取MCNP/PHITS输入文件。CAD转换程序,例如,GEOMIT[5],McCad [6]和MCCAM [7],已经被积极开发,它们可以转换和绘制CAD文件。然而,只有少数工具[7]可以导入MCNP/PHITS输入文件。可视化编辑器[8]支持几乎所有的功能,除了在MCNP中显示填充的结构,即使它只在有限的环境(Windows操作系统)中工作。MCNP输入具有强大的功能,例如,嵌套补运算和重复结构和层次几何,以描述复杂的几何形状,如反应堆堆芯。这些功能使得难以使用通用可视化软件(如ParaView [9])构建CSG几何模型。因此,仍然需要一个实时响应的可视化工具[10],即使自1986年MCNP3 [11]代码以来,输入格式没有发生重大变化。因此,我提出了Gxsview:这个代码的目的是为了满足减少输入2352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx大西诚贵软件X 14(2021)1006812×Fig. 1. 软件组件。错误和提高工程任务的效率。此外,还考虑了导出功能,以充分利用其他应用程序。2. 软件设计Gxsview使用C++17开发,使用Qt [12],VTK [13],PicoJSON[14]和fontconfig [15](在类UNIX操作系统上)。Gxsview可以构建在任何支持这些库的操作系统上。目前支持GNU/Linux、Windows和macOS唯一的硬件要求是OpenGL 2 [16]兼容的GPU或Mesa3D库[17]。核心例程仅使用标准C++开发。因此,可以通过 禁 用 图 形 用 户 界 面 ( GUI ) 在 没 有 上 述 库 的 情 况 下 构 建Gxsview,而其功能仅限于使用命令行用户界面以XPM格式导出截面图像。GUI系统由Qt提供,3D视图区域和图表控件由VTK类实现Qt还提供了一个跨平台的构建系统和一个现代化的外观,例如,通过样式表的主题,可缩放的字体和多语言UI。Gxsview是一个应用程序,在选项卡小部件上放置了一组查看器。具体来说,它由3D、2D、横截面和输入查看器组成。每个查看器的左侧都有用于配置的子窗格。图1显示了Gxsview的结构。MCNP/PHITS输入文件由通用仿真类读取和解释,然后将适当的数据传输到每个查看器。支持MCNP 6非结构化网格以外的几何特征2.1. 3D查看器在MCNP/PHITS输入文件中,单元格的几何规格由一个有符号的表面列表给出,这些表面限定了单元格,其中符号表示由表面定义的区域的意义。使用布尔逻辑组合区域。因此,输入文件被如下处理。首先,宏和Meta卡,例如,那些包括其他文件和用户定义的常量(PHITS扩展),被替换。宏体被分解为更简单的基元集,并且在该步骤中生成格元单元。其次,在创建单元实例之前,应该解决单元依赖性,以防任何单元通过补运算符或类似的but语法依赖于其他单元。第三,读取表面的输入参数;实例化表面集合;然后将单元最后,通过使用Marching-Cubes算法[18],通过对单元的隐函数进行采样来构造与单元相对应的多边形。3D查看器在接收隐式函数之后执行最后的处理。通过执行鼠标右键单击操作,可以选择和隐藏显示的单元格。此外,该查看器还可以生成3D文件,例如,vtk(Visualization ToolKit [13])和stl(Stereolithography [19])格式。2.2. 2D viewer截面图像可以通过射线跟踪方法绘制。虚拟粒子在屏幕的边缘生成,并跟踪它们朝向相对侧的轨迹。从每个粒子的轨迹长度数据构造问题几何的二维切片。在二维浏览器中,采用了命令行界面.用户可以在行编辑小部件中输入一个命令(或多个以分号分隔的命令),然后按应用按钮。大多数绘图命令与MCNP 2D绘图程序的命令兼容。2.3. 横截面观察器横截面查看器显示输入文件中使用的ACE(A Compact ENDF)格式[20]中描述的横截面数据。截面对能量谱有重要影响。因此,关于横截面的信息,例如谐振的位置和宽度,可以在理货配置中考虑。此外,确认XSDIR文件选择了哪些横截面文件也很重要。中子截面数据、光原子数据和剂量测定数据是可接受的。ACE文件的位置以与MCNP代码中相同的方式进行解析。入射粒子、目标核素和反应类型可以在左窗格中选择2.4. 输入查看器输入查看器是一个简化的三窗格文本编辑器。如果根文件包括其他文件,则文件树将显示在左上窗格中。左下窗格显示当前打开的文件,用户可以在右窗格中编辑输入文件。该编辑器为MCNP或PHITS提供了语法高亮显示器,以及搜索和替换功能。在此查看器中,通常的“编辑”菜单,复制,剪切,粘贴和其他功能都可以在菜单栏上使用。如果在读取输入文件期间发生致命错误,查看器将尽可能突出显示该行。3. 示例每个观众的屏幕截图如图所示。二、图中所示的模型用于模拟中子流实验[21]。在3D视图中,将显示屏蔽块的交点。绿色代表铁,浅蓝色代表聚乙烯。粉红色是源坑的盖子。封装的中子源在视图中居中,屏蔽块放置在源坑上方。该几何图形由辅助平面沿牵引弯管切割,二维视图显示此处的截面图像。横截面查看器绘制例如1H、56Fe的总横截面和252Cf的裂变横截面。用户可以在输入查看器中确认输入和xsdir文件。晶格结构的解释如第2.1节所述,每个单元格都可以可视化。图3示出了复杂的几何模型,包括晶格结构。在TN12桶的几何形状中(图3左侧),桶内容物用四个复杂的网格元素描述。PWR燃料组件(图)3右)由17个燃料细棒网格单元组成。Gxsview可以正确地绘制这两个几何图形大西诚贵软件X 14(2021)1006813图二. 每个查看器选项卡的屏幕截图(左上:3D查看器,右上:2D查看器,左下:横截面查看器,右下:输入查看器)。每个观众都展示了中子流实验中使用的模型[21]。(For对本图图例中所指颜色的解释,读者可参考本文的网络版。)图三. 基准问题[22]的 可 视 化 结 果 (左:TN12燃料桶,右:PWR燃料组件)。4. 结果和讨论图四、 在二维查看器(左)和三维查看器(右)中显示的对象。这些图像几乎是不可能的。这证明了交互式3D可视化工具的重要性。MCNP程序采用解析方法计算细胞的横截面形状。该方法以足够的速度为小问题提供精确的形状。然而,从2D图像中掌握对象的整体画面是非常困难的。例如图图4(左)示出了以5cm间隔拍摄的特定输入数据的一组切片图像。重建图中所示的整个几何形状。 4(右)从Gxsview代码的另一个重要特性是导出。导出为可移植格式有助于实现与其他软件的协作。图5是ParaView代码[9]读取导出STL文件的截图。以3D文件格式导出可以带来另一种改进,因为典型的3D文件可以通过3D打印机在真实空间中打印 图 6显示查看器导出的打印对象。大西诚贵软件X 14(2021)1006814××图五. ParaView [9]代码读取STL文件的屏幕截图,该文件是 从图中的模型生成的。4并应用ParaView的 剪 辑 过 滤 器 。图六、 3D打印机从模型的输出。近年来,已经尝试在辐射工程中利用3D打印机,例如推注[23],钨准直器[24]。[24]和辐射屏蔽[25]。以3D文件格式导出提供了在制造过程中将辐射分析模型和原型模型统一起来的可能性。还有可以直接使用CAD文件进行放射线输送计算的代码[26],通过这样的代码,可以统一CAD模型和输送计算输入。但是,使用原型模型的蒙特卡罗代码的输入文件是非常有用的,因为创建和操作CAD文件是一项非常复杂的操作。5. 结论和今后的工作在这项研究中,开发了一个集成的可视化工具。通过使用该工具,可以使用鼠标实时利用光线跟踪法得到了模型的切片图像此外,还可以显示横截面数据和输入文件。该工具采用了现代的GUI工具包,使其能够显示可缩放的字体,多语言外观和主题。导出功能提高了工具的互操作性。在代码中,在多边形生成过程中使用了移动立方体方法。因此,不会绘制小于采样栅格间距的对象。移动立方体方法的另一个缺点是即使对于具有简单形状的单元,这个问题变得更严重的是,当使用晶格函数时,例如,当使用具有10010010个元素,内存使用量高达12 GB。为了解决这些问题,下一个版本将引入一种新的方法。通过在布尔运算之前先构造图元的多边形,然后在多边形之间进行布尔运算,可以解决上述问题目前,gxsview可以计算粒子的轨迹长度 并从ACE文件中读取横截面。因此,只有在将来提供建立因子集的情况下,才有可能通过点核方法[27]计算辐射剂量。该应用程序所需的工作量相当于不到一个人年,即,花费较少的努力,但实现了快速发展。这证明了开源软件的卓越生产力。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢本研究未获得公共、商业或非营利部门资助机构的任何具体资助。我想感谢Fumiyoshi Nobuhara和Atsuhiko Sukegawa对守则功能的深刻建议。我感谢Yoshihiro Hirao向他在日本原子能学会的工作组介绍这项工作。如果没有开源软件Qt、VTK、fontconfig、picoJSON和gcc,就不可能开发出这些代码。我要感谢这些开源软件的开发者。引用[1]X-5蒙特卡洛小队MCNP -一个通用的蒙特卡罗N粒子输运程序,第5版第一卷概述和理论。LA-UR-03-1987,洛斯阿拉莫斯:洛斯阿拉莫斯国家实验室;2003年。[2]Sato T,Iwamoto Y,Hashimoto S,Ogawa T,Furuta T,Abe S-i,Kai T,Tsai P-E,Matsuda N,Iwase H,Shigyo N,Sihver L,Niita K.粒子和重离子 输 运 代 码系 统 ( PHITS ) 3.02 版 的 特 点 。J Nucl Sci Tech- nol 2018;55(6):684-90.http://dx.doi.org/10.1080/00223131.2017.1419890、https://www.tandfonline.com/doi/full/10.1080/00223131.2017.1419890。[3][10]杨文辉,王文辉,王文辉.交互式三维可视化和创建Monte Carlo计算的几何图形。核仪器方法物理研究 A 2006;562 ( 2 ) : 827-9 。 http://dx.doi.org/10.1016/j.nima.2006.02.125 ,linkinghub.elsevier.com/retrieve/pii/S0168900206003056.[4]作者:Kirihara Y,Namito Y,Hirayama H. CGVIEW粒子轨迹和几何-试着显示程序MATERIALver3.0。2016年,http://rcwww.kek.jp/research/egs/kek/cgview/cgview-3.0.4/manualE.pdf。[5]Sato S,Iida H,Ochiai K,Konno C,Nishitani T,Morota H,Nashif H,Yamada M,Masuda F,Tamamizu S,Maesaka H. CAD到MCNP模型转换系 统 的 开 发 及 其 在 ITER 中 的 应 用 核 技 术 2009;168 ( 3 ) : 843-7 。http://dx.doi.org/10.13182/NT09-A9316,https://www.tandfonline.com/doi/full/10.13182/NT09-A9316网站。[6]张晓刚,王晓刚,王晓刚.自动生成从CAD 几 何数 据 的 JET 3D 中 子学 模 型的 蒙 特卡 罗 计 算。 Fusion Eng Des2005;75-79:891-5.http://dx.doi.org/10的网站。1016/j.fusengdes.2005.06.221,https://linkinghub.elsevier.com/retrieve/pii/S0920379605000682。[7]吴云 基于CAD的聚变中子输运接口程序仿 真 Fusion Eng Des 2009;84 ( 7-11 ) : 1987-92 。 http://dx.doi.org/10 的 网站。1016/j.fusengdes.2008.12.041,https://linkinghub.elsevier.com/retrieve/pii/S0920379608004948。[8]Schwarz RA,Schwarz AL,Schwarz RA,Schwarz AR. MCNPX/6.1可视化编 辑 器 计 算 机 代 码 手 册 。 2018 年 12 月 28 日 , 中 国 科 学 院 出 版 社 。http://www.mcnpvised.com[9]阿亚契特大学ParaView指南:针对ParaView 4.3版进行了更新。全彩色版本。Los Alamos:Kitware; 2015,OCLC:944221263,[10]Spancer JB,Kulesza JA,Sood A. MCNP的3D几何可视化功能白皮书。LA-UR-17-24668 , Los Alamos : Los Alamos 国 家 实 验 室 ; 2017 年 , 第 5 页 ,http://sites.nationalacademies.org/cs/groups/dbassesite/documents/webpage/dbasse_179890.pdf。大西诚贵软件X 14(2021)1006815|[11]Briesmeister JF,编辑。MCNP--中子和光子输运的通用蒙特卡罗程序。LA-7396-M Rev.2,Los Alamos; 1986,p.583.[12]Qt公司和Qt项目。 Qt. 2019年,https://www.qt.io/。[13]Kitware,Inc.,VTK https://vtk.org/网站。[14]Oku K. PicoJSON。 2015年,https://github.com/kazuho/picojson。[15]Packard,Keith,Fontconfig,https://www.freedesktop.org/wiki/Software/fontconfig.[16]Khronos Group,OpenGL。https://www.opengl.org/网站。[17]Paul B. Mesa,https://www.mesa3d.org/。[18]Lorensen WE,Cline HE。Marching Cubes:一种高分辨率的3D表面构建算法 。 ACMSIGGRAPHComputGraph1987;21 ( 4 ) : 163-9.http://dx.doi.org/10.1145/37402.37422, http://portal.acm.org/citation.cfm?doid=37402.37422。[19]美国国会图书馆,STL(立体光刻)文件格式,ASCII。数字图书馆的可持续性:美国国会图书馆馆藏规划。https://www.loc.gov/preservation/digital/formats/fdd/fdd000506.shtml网站。[20]Conlin LJ,Brown BF,Kahler AC,Lee MB,Parsons DK,White CM。版本2.0.0版的ACE表格表头格式。LA-UR-12-25177,洛斯阿拉莫斯:洛斯阿拉莫斯国家实验室;2012年。[21][10]张文,张文.铁-聚乙烯多层屏蔽组件中子流场实验与分析。 Prog Nucl SciTechnol 2019;6 : 139-43.http://dx.doi.org/10.15669/pnst.6 的 网 站 。 139 ,http://www.aesj.net/document/pnst006/139_143.pdf。[22] “蒙特卡罗粒子模拟”特别研究委员会。蒙特卡罗辐射计算的Bemch-mark问题(日文). 2003,http://www.aesj.net/publish-0306。[23]张文辉,张文辉.用表面扫描仪改进兆伏级X射线放疗团的3D打印。RadiatOncol2018;13 ( 1 ) 。 http://dx.doi.org/10.1186/s13014-018-1148-1 ,https://ro-journal.biomedcentral.com/articles/10.1186/s13014-018-1148-1。[24]M I Materials Ltd.辐射防护屏蔽和准直器Wolfmet,https://www.wolfmet.com/applications/radiation-shielding-and-collimators/。[25]3D 打 印 行 业 , 美 国 宇 航 局 在 国 际空 间 站 上 进 行 3D 打 印 辐 射 屏 蔽 实 验 。https://3dprintingindustry.com/news/nasa-experiments-3d-printed-radiation-shields-aboard-iss-114504/.[26]威 斯 康 星 大 学 麦 迪 逊 分 校 , DAGMC : 直 接 加 速 几 何 蒙 特 卡 罗 ,http://svalinn.github.io/DAGMC/。[27]Shultis JK,Faw RE.辐射屏蔽。伊利诺伊州拉格兰奇公园:美国核学会; 2000年,OCLC:438619154。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功