您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > MCNP初学者入门指南
MCNP初学者入门指南文中的XS52=XSDIR二○○九年五月目录一MCNP概述1.1MCNP计算过程1.2MCNP文件结构1.3MCNP使用方法二MCNP输入文件书写方法2.1输入文件规范2.27MeV轫致辐射X射线算例三输出文件解读第1章MCNP概述1.1MCNP计算过程MCNP(MonteCarloN-ParticleTransportcode)是计算粒子输运过程的一套蒙特卡罗模拟计算程序。这个程序需要用户通过输入文件给出计算模型。计算模型中需要提供源的属性、感兴区内各种物体的属性、记录粒子信息的方法等。例如,若想计算一个1MeV的X射线透过2cm铁的概率是多少,我们可以通过下面的模型进行计算,如图1所示。X射线源感兴区内铁记录面感兴区外图1计算模型在上面的计算模型中,感兴区是一个球的内部,其中包含X射线源、铁块和记录面,而其他位置均为真空。由于当粒子被输运到感兴区外时,它将肯定不会再对记录结果产生贡献,所以程序会自动停止这个粒子的输运过程,这也正是设定感兴区的原因。源的属性主要包括位置、能量、出射方向、粒子种类等。图1的计算模型中,源的能量为单能1MeV,方向为单向垂直于铁块的左表面,粒子种类为光子(Photon)。感兴区内物体的属性包括几何尺寸、材料成分、密度等。图1中使用了一块铁块,它的厚度为2cm,其他方向的尺寸对我们的计算结果没有影响,但要保证铁块完整地包含于感兴区内。记录方法有多种,其中包括通过某个面的特定种类粒子的个数。在图1中,我们可以利用MCNP记录通过“记录面”的能量为1MeV的光子个数。计算图1的模型时,MCNP会首先根据源的属性描述,抽样出一个起始粒子。图1中的源为单能且单向的点源,所以每次抽样出的粒子都是能量、方向、种类相同的粒子。这个粒子会沿着它的出射方向(垂直于铁块左表面)飞行,当它入射到铁块里时,会有一定的概率发生康普顿散射、电子对效应和光电效应。发生三种反应的概率由MCNP的截面库中的微观截面数据、输入文件中铁的密度以及抽样得到的随机数共同决定。若X射线发生了康普顿散射,原来的X射线将被具有新属性的X射线取代,它将有不同的出射方向、能量。MCNP会继续输运这个新产生的X射线直到它发生下一次反应或者飞出感兴区;X射线还会有一定的概率不发生任何反应,直接透过铁块。当基于一个起始粒子的输运过程结束后,MCNP会重复上述的过程。由于每次抽样的得到的随机数会不同,所以每个起始粒子的输运过程都是独立而且不同的。多次的输运过程会使得MCNP的记录结果越来越接近它的期望值,重复的次数越多,统计涨落就会越小。尽管MCNP会记录所有通过记录面的光子。但由于光子一旦发生反应,它的能量就会变化,所以若只观察能量为1MeV的光子,我们就可以排除那些经过多次散射而打到记录面的光子了。由于每次输运均是基于一个起始源粒子,所以最后记录得到的结果也都是相对于一个起始粒子的概率。对于图1来说,记录结果就是1个X射线透过2cm的铁后打到记录面的概率。1.2MCNP文件结构MCNP的输入文件名不可以多于七个字符,所以不建议对输入文件增加扩展名;MCNP的输出文件的扩展名为.o;MCNP内部计算过程的记录文件的扩展名为.r。若一次计算结果就已经达到满意的统计结果,那么.r文件就没有什么价值保存下来;但是若一次计算结果达不到满意的统计可信度,那么我们可以在已得到的计算结果的基础上继续模拟输运过程,来减小统计涨落。而为了这么做,MCNP需要上一次计算结果中使用的.r文件。为了这个目的,有时候.r文件还是值得保留的。在基于上一次的计算结果继续模拟计算时,MCNP将不再读入输入文件,而单单读入.r文件的信息。所以我们想继续计算时,需要保证.r文件就是我们所设想的模型的前一次模拟计算中得到的.r文件。除了上面三种常用的文件类型,MCNP还有两种不长用的输出文件。这两种文件只有用户通过输入文件要求MCNP输出这些文件时才会得到。其中一个为.w文件,这个文件是我们想通过MCNP输出surfacesource的时候才会产生;另外一个为.p文件,这个文件时我们想通过MCNP追踪粒子的输运过程的时候才会得到。上面的几种文件是用户常用到的文件类型,下面将介绍MCNP程序内部使用的若干的文件。1.MCNP5.exe:MCNP的应用程序,这个程序是在dos下运行的程序。所以用户不要试图双击这个程序来运行它。2.vised.exe:这个程序可以让用户观察MCNP读入的输入文件中的计算模型。我们可以利用这个程序观察我们所设想的计算模型与实际书写出来的计算模型是否有偏差。此外,这个程序还可以方便我们找出MCNP输入文件中潜在的一些错误,例如:两个物体有相交的部分等。3.目录Documents:这个文件夹内包含LANL(LosAlamosNationalLaboratory)提供的MCNP的官方使用说明、林谦老师的蒙卡课程讲义和西安交通大学翻译的中文MCNP的使用手册等4.目录MCNPData:这个目录里存放的是MCNP的截面库。5.xs52:这个文件内说明了各个核素的属性,包括质量,截面库内各种反应类型对应的截面的存放位置等。在初始使用MCNP时,我们有可能要修改这个文件中的一部分内容,具体的修改方法将在下面介绍。6.X11.dll:MCNP程序的动态链接库,没有这个文件MCNP将无法计算,所以不要把这个文件弄丢了。除了上面的文件外,为了在dos下使用MCNP程序我们编写了几个批处理文件。1)ccmd.bat:只要双击这个程序就可以弹出一个dos界面。2)g5.bat:这个批处理将是用户用到最多的批处理程序。我们可以利用这个批处理直接调用MCNP的主程序。3)gogo.bat:这个批出文件可以使MCNP连续的计算若干个输入文件,具体的使用方法将在后面介绍。4)resume.bat:这个批处理文件可以使得MCNP在上一次计算结果的基础上继续进行计算,具体使用方法将在下面介绍。上面所提到的文件就是用户在使用MCNP时最频繁接触到的文件。1.3MCNP使用方法在使用MCNP时,我建议用户安装一个比较方便的文本编辑器,如:Ultraedit。为了使用MCNP,用户需要首先进行一些文件路径的指明等工作,具体如下:1)建议用户把MCNP的整个目录(名为LANL)放在一个硬盘分区的根目录下。2)修改g5.bat中文件路径:我们用Ultraedit打开g5.bat可以发现,这个批处理的内容为前5句的作用是删除与输入文件相关的已经存在的输出文件,这样做的目的是,如果MCNP程序发现已有输入文件对应的输出文件存在,那么程序就认为这个输入文件已经得到了模拟计算并且没有必要进行重复的计算。批处理中的最后一句就是调用MCNP的主程序——MCNP5.exe,并指明管理截面库的文件(xs52)的路径。由于我已经把这个文件放在了LANL的目录内,所以用户不用修改这个文件的路径了。3)修改xs52文件:利用Ultraedit打开xs52文件,可以发现文件的第一行为datapath=e:\LANL\MCNPDATA\。为了让MCNP找到截面库,用户需要正确地修改它的路径。因为我把LANL放在了E盘的根目录下,所以这里的datapath就是e:\LANL\MCNPDATA\。之前,我已经建议用户把LANL目录放在某个硬盘del%1.odel%1.rdel%1.pdel%1.sdel%1.wmcnp5n=%1.xsdir=xs52分区的根目录下,所以在这里修改时,用户只需把e更换为实际存放的硬盘分区的盘符就可以了。经过上面的修改后,用户就可以使用MCNP程序了。例如我们已经书写好了一个文件名为Xray7的输入文件,A,那么我们可以通过下面的步骤进行计算。1)双击ccmd.bat,系统会弹出下面的窗口。2)在窗口内输入g5Xray7并按回车,MCNP就开始进行计算了。界面如下图所示。计算时MCNP会占据单个CPU的所有资源。若用户的计算机是单核的,那么CPU使用量是100%;若用户的计算机是双核的,那么CPU的使用量是50%。B,关于停止一次计算,可以通过在输入文件内限定计算时间或输运的起始粒子个数。此外,还可以通过dos下强制停止计算过程的方法。若想强制停止计算过程,可以使用Ctrl+C键停止计算。同时按下这两键时,屏幕会出现下面的界面。在这个界面下,输入s并按回车,程序会输出已经消耗的计算时间;按下m是调用MCNP的画图软件,因为有了vised.exe程序,所以不建议使用这里的画图程序;按下q是停止计算程序,并输出结算结果。有时候,MCNP会等待正在模拟的一个粒子的输运过程结束后在结束程序,但并不会拖延太长时间;按下k是直接停止计算程序,而并不会输出计算结果。C,继续计算一个已计算完的模型。用户需要保留初始计算过程中产生的.r文件。还以上面的计算情况为例,在上一次计算中我们得到了Xray7.o(输出文件)和Xray7.r(计算过程的记录文件)。在dos命令行下输入resumeXray7并按下回车,可以得到下面的界面。在继续运算的情况,由于MCNP不会再次读入输入文件,而仅仅读入.r文件,所以这次计算的终止需要我们通过强制停止的方法。D,连续计算多个软件利用Ultraedit打开gogo.bat可以发现这里只给出了计算一个文件的命令,若我们想连续地计算多个文件(如D1,D2,D3等)可以模仿上面的规范书写,如下。然后在dos命令行下,键入gogo并按下回车,MCNP就可以依次计算D1,D2和D3了。callg5Xray7callg5D1callg5D2callg5D3第2章MCNP输入文件书写方法2.1MCNP输入文件规范MCNP的输入文件在结构上基本上可以分为三块,分别为cell块、surface块和其他内容。块内除了注释外,不得有空行,而两个块之间只能有一个空行。通常情况下,每一行中只能有一个主导性的助记符,这个助记符可以有很多参数和附属的次要助记符。MCNP官方手册中称这样的助记符为卡(card)。每一列不得超过80个字符,若书写不下时,可以在行尾写入&符号,并从下行继续书写。输入文件的第一行不论写了什么都会被MCNP忽略掉,这一行的作用是方便用户给这个输入文件做一些备注。第二行后写计算模型,我的习惯是先写cell块,然后是surface块,最后是其他。输入文件中有两种注释方法,助记符分别为c和$符号。在第一行写c就是把这一行都注释掉;在某一行的某列上写$就是注释该行该列后的内容。但是即使是注释,请用户也不要超过每一列80个字符(包括空格)的要求。还有三个常用的助记符在这里介绍个用户,分别为r,i和j。r代表的是repeat,例如13r就等于写了1111;i代表线性插入点,例如12i4就等于写了1234;j代表的是jump,表示该位置使用默认值,例如1j2就等于写了1默认值2。由于MCNP对输入文件的规范要求苛刻,所以请用户谨记这样的规范。2.17MeV轫致辐射X射线算例下面将通过书写计算7MeV的轫致辐射X射线的角分布、能谱的方法介绍MCNP输入文件的书写方法。在书写MCNP输入文件前,请用户首先想好要计算的模型,包括坐标系以及各个物体在这个坐标系内的相对位置。我的计算模型如下图所示。YXO1234567891012345678910100100感兴区内感兴区外Au-1-2源记录面1记录面2记录面2记录面3记录面3…………分割面1分割面2分割面3图2计算模型在图2的计算模型中感兴区是半径为100cm的球内,源是能量为7MeV,位置在(-2,0,0)的单向电子束;X射线靶是半径(Y或者Z方向)1cm,高度(X方向)1cm的金;其他位置均为真空。我将记录面设置在圈定感兴区的球面上。为了书写上面的计算模型,我们首先写surface模块。这里需要定义的surface有源所在面;Au的三个表面(两个底面和一个侧面),圈定感兴区的球面;划分感兴区表面的记录用面。1,源所在面的书写方法:1PX-2。这里的第一个1代表这个面的序号,这个序号将在书写cell块时用到;px为助记符表示该面
本文标题:MCNP初学者入门指南
链接地址:https://www.777doc.com/doc-2888154 .html