geant4导入几何模型

GUIMesh: a tool to import STEP geometries into Geant4 via GDML

粒子传输模拟对于太空和医疗应用以及核能和核动力研究、粒子物理学至关重要。 Geant4是一个C ++的面向对象框架,旨在模拟粒子交互作用和 在材料中跟踪它们的路径[1] [2] [3]。 Geant4中的几何可以通过几个固有的类来描述, 可以产生简单的几何形状,例如平行六面体,球体和圆柱体, 并通过布尔运算将它们组合在一起。对于更不规则的固体,也可以对曲面细分用于定义几何。这可以使用Geant4本机类G4Tesselation或Geometry Description Markup Language几何描述标记语言(GDML)文件,一种基于XML的几何描述格式完成[4] [5]。CADMesh [6] [7]工具已经可以将立体光刻文件STL(STL是CAD网格格式)导入至Geant4[8]。但是,当前没有能够与STEP [9](最广泛使用的数据交换CAD格式)交互的非商业工具,用于将step转换为Geant4的 GDML。

在这项工作中,使用具有Python [11]脚本编写功能的开源CAD编辑器FreeCAD [10]来细分几何体并生成要输入到Geant4的GDML文件。由于FreeCAD库可以轻松导入到Python中,因此使用Python编写了图形用户界面(GUI),并借助FreeCAD库功能来处理STEP文件并将不同的几何体网格化为细分的实体。 该应用程序GUIMesh允许用户使用FreeCAD属性将几何体导入STEP文件,管理材料(STEP文件不包括材料信息),并将其导出为GDML文件。可以从基于NIST [12]库的Geant4材料数据库中选择材料,也可以通过混合该数据库中列出的材料来创建材料。可以按一对一的方式将材料分配给几何体,也可以从文本文件中加载。默认材料已分配给加载的体积。网格划分是通过FreeCAD的“镶嵌”功能执行的,该函数将所有曲面转换为三角形的网格。对于每个体积编写GDML文件是为了提供一些通用性。还编写了一个额外的GDML文件,即“母” GDML文件,该文件由Geant4中的GDML解析器功能读取,提供了几何树,以便可以将多个几何体集成到框架中。

 

github项目地址

https://github.com/KeithSloan/GDML

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值