论文部分内容阅读
蒙特卡罗程序基本上使用CSG(构造实体几何)表示方法进行几何建模,而CAD系统普遍采用BREP(边界表示)表示方法进行三维实体建模。前者基于CSG表示有利于蒙特卡罗模拟计算中判断粒子与三维实体相对位置的原因,后者出于BREP表示具有强大的三维实体描述能力的考虑。为了应用CAD系统出色的建模能力辅助蒙特卡罗程序进行模拟计算,需要解决的核心问题就是研究BREP->CSG转换方法。本文首先分析研究了蒙特卡罗程序和CAD系统在几何造型方面的差异,提出研究BREP->CSG转换方法的必要性和工程应用需求。接着详细论述了BREP->CSG转换方法理论体系,包括基础的实体模型表示方法和当前国内外主流转换算法的研究情况。基于对转换方法的总结和提炼,面向具体的工程应用需求,将BREP->CSG转换方法工程化,提出基于STEP标准的CAD系统中性文件(BREP表示)向MCNP几何文件(CSG表示)的转换算法,将整体算法拆解成五个子模块,由上到下依次为:STEP文件解析模块、分割半空间生成模块、特征点生成模块、特征点分类模块和MCNP几何文件生成模块。算法实现过程为首先导入并解析STEP文件,然后补充STEP文件->MCNP几何文件转换所必须的分割半空间,接着通过特征点集合构建和特征点分类操作确定三维实体的CSG表达式,最后将CSG表达式解析为MCNP格式化几何文件。五个子模块逻辑上相互独立,上层模块的输出是下层模块的输入;功能上相互联系,存在内部调用关系。互相配合最终完成STEP文件->MCNP几何文件转换工作。接下来本文基于C++语言和MATLAB计算引擎,对STEP文件->MCNP几何文件转换算法进行了程序实现。具体研究、分析和解决了每个子模块的核心问题和关键技术,并给出了核心源代码。完成工程开发工作后,本文对转换程序进行了测试和算法验证,方法为:应用Pro/E进行三维实体建模,使用转换程序进行STEP文件转换,再应用SimpleGeo对转换程序生成的MCNP几何文件进行图形化验证,辅以MCNP几何文件手工验算。首先应用一系列基本体元进行测试,然后对组合实体进行测试,最后对实际工程项目中使用的加速器模型的组件STEP文件进行了转换,获得了符合预期的成果。