MCNP简明教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

简明教程MCNP程序简介J.KennethShultis和RichardE.Faw郭英蕾于2019年5月译于成都由美国洛斯阿拉莫斯国家实验室开发和维护的MCNP,是一种国际公认的、利用蒙特卡洛方法(即,MC)分析中子和γ射线(NP指的是中性粒子)输运问题的程序。该程序能够模拟中子、光子或是中子-光子耦合(例如,中子相互作用产生的次级伽玛射线)的输运过程。此外,MCNP还能处理电子的输运,包括:初始光子以及γ射线与物质相互作用产生的次级电子。本简明教程强调了MCNP程序文件一些重要内容。MCNP程序文件分为3卷:第Ⅰ卷为MCNP程序概述(第1章)和理论基础(第2章)。第Ⅱ卷为用户指导文件,给出了MCNP的命令及其参数(第3章),以及多个实例(第4章),并介绍了输出文件(第5章)。第Ⅲ卷为开发人员指导文件,给出了专业用户所需要一些技术细节。注意:使用MCNP时,仍然沿用了一些过去使用的术语,例如,card曾经是指老式计算机的穿孔卡带,现在应理解为输入文件的一行内容。对初学者而言,程序手册第Ⅰ卷第1章简要介绍了MCNP,总结了输入文件的编制、执行以及输出结果的理解。强烈建议初学用户研读此章。取得一些使用经验后,初学者应定期浏览第Ⅰ卷的其他章节,以便更好地理解MCNP特性背后的理论基础。第Ⅱ卷对初学者和专业用户而言,都是必须的。这一部分解释了MCNP命令及其参数,正是这些命令让MCNP真正成为一款功能强大的输运模拟程序。本简明教程还给出了一些旁注,这些旁注给出了MCNP5程序手册对应的页码,在MCNP5手册相应页中详细介绍了本教程对应的内容。MCNP程序手册内容丰富,因此,对初学者而言,很难区分哪些信息是用来学习使用MCNP程序,哪些信息是专业人员所需的。为此,本教程计划为初学者提供一些更基本(和必要)的、且与MCNP程序相关的知识。MCNP5程序手册对应的页码1MCNP输入文件的结构右图给出了输入文件的基本结构。在输入文件中,每一行最多80列,且必须在前5列内开始输入命令助记符。输入文件为自由段落格式,在一行中使用一个或多个空格可将不同内容分割,字体可为大写、小写或大小写混合。某一行内容超过80列后,可在下一行的第5列之后输入剩余内容,或是在行后输入一个空格+&,表示下一行是本行的延续。1.1输入文件的注释为输入文件添加注释是一个非常好的习惯,这是因为:通过阅读注释,用户和他人能够轻松地理解所要解决的问题和使用的技巧。编译时,MCNP将忽略这些内容。注释行有两种形式,一种是在C或c加一个空格后,在输入注释内容;第二种是在一行的末尾输入$,在其后输入注释内容。本文件的图5给了一个详细注释后的输入文件。1.2MCNP使用的单位MCNP默认使用的单位为:(1)长度,cm;(2)能量,MeV;(3)碰撞次数,10-8s;(4)温度,MeV(kT);(5)原子密度,b-1cm-1,(6)质量密度,gcm-3;(7)截面,barn。2几何结构的定义MCNP程序手册的几个章节均介绍了问题几何构造的定义。在第Ⅰ卷中,从1-12页开始,简要介绍了几何结构的定义。第2章第Ⅱ节(2-7页)仍然在讨论几何结构的定义。第3章第Ⅱ、Ⅲ节详细介绍了问题输入卡的准备过程,最后,第4章第Ⅰ节给出了几个定义几何结构的实例。MCNP主要以域或体的形式来处理几何结构,其中,域或体是由面定的。MCNP描述一个物体或其部分结构所用的术语为栅元,栅元是由用户定义的材料,以及域的并、交及补运算定义的。图1给出了A、B两个域进行与、或操作后的结果。信息块+空行分隔符{可选}标题卡栅元卡【第1部分】空行分隔符{可选}曲面卡【第2部分】空行分隔符{可选}数据卡【第3部分】空行分隔符{可选}图1左:并A:B或“A或B”。右:交AB或“A与B”并操作可看做逻辑或(OR),A与B的并集为所有属于A或B的空间。交操作可看做逻辑与(AND),A与B的交集为同时属于A和B的空间。补操作可看做逻辑非(#),例如,#(A:B)代表了A、B并集之外的所有区域。MCNP使用三维(x,y,z)笛卡尔坐标。长度单位均是厘米(cm)。所有空间均由连续的体或栅元组成。每个栅元可有一个或多个面界定,也可为无限大区域。例如,一个立方体由6个平面界定。所有点(x,y,z)都必须属于一个栅元(或是在一个栅元的边界面上)。几何构造中不允许出现“空隙”,即,禁止一个点不属于任意栅元或面。用户应为每个栅元和面指定唯一的数字标识符。2.1面—输入文件第1部分表1来自MCNP程序手册,该表列举了MCNP创建几何结构所能使用的面。所有面都是在笛卡尔坐标系下创建的。面可以用f(x,y,z)=0的方程表示。例如,对于一个圆心位于)0,,(yx、直径为R、平行于Z轴的圆柱可定义为222)()(),,(Ryyxxzyxf。在MCNP中,这种圆柱面可以用C/Z(或是c/z,因为MCNP不区分大小写)表示:1C/Z5510$平行于Z轴的圆柱面以上语句定义了一个名为1、平行于Z轴、通过点(5,5,0),半径为10cm的无限长圆柱面。请注意圆柱面的长度是无限的,也请注意$后的注释行。表1MCNP曲面卡(MCNP5程序手册第3-13页)符号类型描述方程输入项P平面一般Ax+By+Cz-D=0ABCDPX垂直于x轴x-D=0DPY垂直于y轴y-D=0DPZ垂直于z轴z-D=0DSO圆面圆心位于原点x2+y2+z2-R2=0RS一般0)()(2222Rzzyyxx)(xyzRSX圆心位于x轴02222Rzyxx)(xRSY圆心位于y轴0)(2222RzyyxyRSZ圆心位于z轴0)(2222RzzyxzRC/X圆柱平行于x轴0)()(222RzzyyyzRC/Y平行于y轴0)()(222RyyxxxzRC/Z平行于z轴0)()(222RyyxxxyRCX位于x轴0222RzyRCY位于y轴0222RzxRCZ位于z轴0222RyxRK/X圆锥平行于x轴0)()()(22xxtzzyyxyzt2±1K/Y平行于y轴0)()()(22yytzyxxxyzt2±1K/Z平行于z轴0)()()(22zztyyxxxyzt2±1KX位于x轴0)(22xxtzyxt2±1KY位于y轴0)(22yytzxyt2±1KZ位于z轴0)(22zztyxzt2±1SQ椭球体双曲面体抛物面体坐标轴平行于x、y或者z轴222)()()(zzCyyBxxA)(2)(2yyExxD0)(2GzzFABCDEFGxyzGQ圆柱圆锥椭球体双曲面体抛物面体坐标轴不平行于x、y或者z轴EyzDxyCzByAx2220KJzHyGzFzxABCDEFGHJKTX椭圆环或圆环坐标轴平行于x、y或者z轴01/))()((/)(222222CAzzyyBxx01/))()((/)(222222CAzzxxByy01/))()((/)(222222CAyyxxBzzxyzABCTYYZXYZP通过点定义的面(见3-15至3-17)每一个面都有“正”、“负”两个方向。面的方向定义规则如下:所有0),,(zyxf的点都位于面的“正”方向,所有0),,(zyxf的点都位于面的“负”方向。例如,圆柱面的内侧为其负方向,外侧为其正方向。2.2面—输入文件第2部分下面我们举例说明如何用面和布尔运算创建一个简单的栅元。该栅元为一简单的圆柱形容器,侧面和上下底面由1cm的铁制成,内、外部为真空。假设外部的圆柱面是由上节图示代码创建。图2给出了本问题的几何构造。图2一个简单的圆柱桶构造。三角内的数字为面标识号,圆内的数字为栅元标识号。这个圆柱桶的轴通过了(x=5cm,y=5cm)这一点,桶的外径为10cm。为了定义容器的内表面,我们还需定义一个与第一个圆柱面同心、但半径小1cm的圆柱面,在此为面4,在输入文件中可用如下代码创建以上提及的2个面:1C/Z5510$outercylindricalsurface4C/Z559$innercylindricalsurface为了定义容器的上下两个端面,分别在z=40cm和z=60cm处定义了两个垂直于z轴的平面,同理,分别在z=41cm和z=59cm处定义了上下两个端面的内表面,以上4个面可用如下代码定义:2PZ40$baseofcask3PZ60$topofcask5PZ41$baseofinnercavity6PZ59$topofinnercavity以上6个面可在输入文件第2部分中以任意次序给出。定义面后,我们开始定义填充(x,y,z)空间的体或栅元。栅元的定义在输入文件第1部分内完成。首先我们定义内腔为栅元8,该区域为面4的负方向、面5的正方向和面6的负方向,其定义代码如下所示:80-45-6IMP:N=0IMP:P=1$innercaskvoid栅元定义卡的第一个输入项为栅元编号,用户可任意指定。第二个输入项0表示该栅元无任何填充材料,-456表示该栅元位于是面4的负方向、面5的正方向和面6的负方向的区域。最后两个IMP定义了中子(N)和光子(P)在该栅元中的权重,其中,中子权重为0、光子权重为1(例如,对于光子输运问题)。稍后我们将讨论栅元重要性。进行交操作的各个面是可随意排序,例如,我们也可将栅元8定义为-6-45。现在考虑容器的铁质外壳。假设这一栅元的编号为7,内部填充密度为7.86gcm-3的材料5(尚未定义)。该栅元面1的负方向、面2的正方向、面3的负方向,且不属于栅元8的区域。该栅元可用以下代码定义:75-7.86-12-3#8IMP:N=0IMP:P=1$ironcaskshell虽然补操作(#)是一种排除内部区域的便捷方法,但该方法会降低MCNP的运行效率。实际上可以不必用#操作。栅元8之外的区域可用并操作(4:6:-5)定义,即,栅元7可用如下代码定义:75-7.86-12-3(4:6:-5)IMP:N=0IMP:P=1$ironcaskshell现在假定栅元7、8为辐射输运的感兴趣区。或者说,逃出这2个栅元的光子都将停止输运,即,MCNP不再跟踪其径迹。用户还需定义一个光子权重为0的区域,任何进入该区域的光子都将终止输运,在此我们将此“空白”区域定义为栅元9,该栅元是面1、3正方向、面2负方向的并集,该区域的定义为:901:3:-2IMP:N=0IMP:P=0$graveyard当然,可通过规定栅元7、8之外的所有区域都为终止区域,即,也可用补操作定义该“空白”区:90#(7:8)IMP:N=0IMP:P=0$graveyard注意:该栅元卡的第二项输入为0,这表明该区域为真空状态,其光子重要性为0。2.3宏MCNP还可使用宏来定义栅元和面。这些宏可与2.2节所列标准栅元和面搭配使用,例如,在输入文件第2部分输入如下内容:15RCC125005010$rightcircularcylinder该行代码定义了一个直立圆柱,其底面圆心位于(1,2,5),高度为50cm,轴线平行于z轴,半径为10cm,标识符为15。3-18至3-23表2给出了MCNP可用的宏。MCNP会自动将宏的表面分解成独立面,并根据预先确定的序列,为每个面规定标识号,其格式为“宏标识符.整数”,例如,在RCC中,圆柱面的标识符15.1,顶面为15.2,底面为15.3。这些面可实现与标准面相同的功能,例如,计数、栅元定义和源定义,等等。表2MCNP可使的宏助记符宏BOX中心位于任意位置的正交六面体RPP各个面平行于坐标轴的正交六面体SPH球体RCC直立圆柱RHP或HEX直立六棱柱REC直立椭圆柱TRC圆锥体ELL椭圆体WED楔形ARB任意多面体定义宏需要多个参数,在此,我们给出3个最常用宏的详细信息。BOX(可向任一方向延伸的正交六面体):这一宏由4个向量定义:v定义了立方体的一角,a、b、c定义了相对于指定

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功