《常用蒙特卡罗程序介绍课件》由会员分享,可在线阅读,更多相关《常用蒙特卡罗程序介绍课件(81页珍藏版)》请在金锄头文库上搜索。
1、第八章第八章 蒙特卡罗方法应用程序介绍蒙特卡罗方法应用程序介绍1.蒙特卡罗方法应用软件的特点蒙特卡罗方法应用软件的特点2.常用的通用蒙特卡罗程序简介常用的通用蒙特卡罗程序简介3.MCNP程序输入的描述程序输入的描述4.例子例子第八章第八章 蒙特卡罗方法应用程序介绍蒙特卡罗方法应用程序介绍 建立完善的通用蒙特卡罗程序可以避免大量的重复性工作,并且可以在程序的基础上,开展对于蒙特卡罗方法技巧的研究以及对于计算结果的改进和修正的研究,而这些研究成果反过来又可以进一步完善蒙特卡罗程序。1.蒙特卡罗方法应用软件的特点蒙特卡罗方法应用软件的特点通用蒙特卡罗程序通常具有以下特点:1)具有灵活的几何处理能力具
2、有灵活的几何处理能力2)参数通用化,使用方便参数通用化,使用方便3)元素和介质材料数据齐全元素和介质材料数据齐全4)能量范围广,功能强,输出量灵活全面能量范围广,功能强,输出量灵活全面5)含有简单可靠又能普遍适用的抽样技巧含有简单可靠又能普遍适用的抽样技巧6)具有较强的绘图功能具有较强的绘图功能2.常用的通用蒙特卡罗程序简介常用的通用蒙特卡罗程序简介1)MORSE程序程序 较早开发的通用蒙特卡罗程序,可以解决中子、光子、中子光子的联合输运问题。采用组合几何结构,使用群截面数据,程序中包括了几种重要抽样技巧,如俄国轮盘赌和分裂技巧,指数变换技巧,统计估计技巧和能量偏移抽样等。程序提供用户程序,用
3、户可根据需要编写源分布以及记录程序。2)EGS程序程序 EGS是Electron-Gamma Shower 的缩写,它是一个用蒙特卡罗方法模拟在任意几何中,能量从几个KeV到几个TeV的电子-光子簇射过程的通用程序包。由美国Stanford Linear Accelerator Center提供。EGS于1979年第一次公开发表,提供使用。EGS4是1986年发表的EGS程序的最新版本。3)MCNP程序程序 MCNP是美国Los Alamos国家实验室开发的大型多功能通用蒙特卡罗程序,可以计算中子、光子和电子的联合输运问题以及临界问题,中子能量范围从10-11MeV至20MeV,光子和电子的能
4、量范围从1KeV至1000MeV 。程序采用独特的曲面组合几何结构,使用点截面数据,程序通用性较强,与其它程序相比,MCNP程序中的减方差技巧是比较多而全的。3.MCNP程序输入的描述程序输入的描述 MCNP的输入包括几个文件,但主要的一个是由用户编写的INP文件,该文件包括描述问题所必须的全部输入信息。文件采用卡片结构,每行代表一张卡片,文件由一系列卡片组成,对于任一特定的问题,只需用到INP全部输入卡片的一小部分。 MCNP输入文件中物理量的单位输入文件中物理量的单位长度厘米能量MeV时间10-8 秒温度MeV(kT)原子密度1024 个原子 / 厘米3质量密度克 / 厘米3截面10-24
5、 厘米2原子量中子质量的1.008664967倍阿伏加德罗常数 6.0231023 1)输入文件的基本形式输入文件的基本形式(1)信息块信息块(2) 信息块的卡片放在INP文件中标题卡之前。信息块给出了MCNP的一些运行信息,信息块上各部分的意思和运行行信息是一样的,当运行行信息与信息块中所指定的信息相矛盾时,则忽略信息块中相应的信息,而以运行行信息为准。(3)信息块是可选的,信息块的第一张卡片,必须在第 18 列写上“MESSAGE:”,从第一张卡片的第 980 列到后续卡片的第 180 列都可填写运行信息。在标题卡之前用一个空行分隔符结束信息块。(2)初始运行的输入文件初始运行的输入文件信
6、息块空行分隔符选择项标题卡仅一行,占用第 180 列。作为输出标题。栅元卡空行分隔符定义构成整个系统的各个基本介质单元以及相应的物理信息。曲面卡空行分隔符定义组成栅元的曲面信息。数据卡空行分隔符其它数据,包括问题类型、源描述、材料描述、计数描述,问题截断条件等。其它选择项(3)接续运行的输入文件接续运行的输入文件接续运行必须在运行行信息或信息块中给出C项选择,即Cm,表示从RUNTPE文件中读出第m次转储的内容接着运算,如果m未指定,则读最后一次转储的数据。如果不需要改变内容,则不需要接续输入文件,仅需运行RUNTPE以及在运行行加上C选择。信息块空行分隔符选择项CONTINUE写在第 18
7、列数据卡空行分隔符只允许部分数据卡。(FQ,DD,NPS,CTME,IDUM,RDUM,PRDMP,LOST,DBCN,PRINT,KCODE,MPLOT,ZA,ZB,和 ZC)其它选择项(4)卡片格式卡片格式 INP输入文件的每一行(称之为一张卡片)都限于使用第 180 列并构成卡片映象。大部分输入卡片按行填写;然而,对数据卡允许按列填写。 $ 符号为它所在那行数据的结束符,在 $ 符号后面的内容作为注释,它可从 $ 符号后面的任一列开始。标题卡只占一行,整行都可填入用户需要的信息,也可以是空行。但要注意在其它地方使用空行是作为结束符或者分隔符。 输入文件中,在标题卡之后及最后的空行结束卡之
8、前的任何地方都可插入注释卡。注释卡必须是字母“C”写在 15 列中的任意位置,且至少用一个空格隔开后面的注释内容。a)行输入格式行输入格式 栅元卡、曲面卡和数据卡的书写格式是相同的。必须从 15 列开始填写这些卡片相应的名字(或编号)和粒子标识符,后面填写用空格分隔的数据项。如果 15 列为空,则表示它是前一张卡片的继续卡。如果在一行的末尾有一个用空格隔开的符号“&”,则表示下一行是该行的继续卡,数据可填写在 180 列。一个数据项必须在一张卡片上写完,不得跨到下一张卡片上。完全空白的一行则为两组卡片的分隔符。 对任何给定的带有粒子标识符的类型卡只能有一张。需要整数的数据项必须填写整数,其它数
9、据可填写为整数或浮点数以及MCNP能读的数据。为书写方便,可以使用四项书写功能:i.nR功能,表示将它前面的数据重复n次。例如:2 4R 等同于 2 2 2 2 2ii.nI功能,表示在与其前后相邻的两个数之间,插入n个线性插值点。对于 X nI Y 的结构,如果X和Y是整数,且XY刚好是n+1的整倍数,则产生标准的整数插值,否则产生实数插值,但Y值直接存储。例如:1.5 2I 3.0 1.5 2.0 2.5 32.0可能不精确而 1 4I 6 1 2 3 4 5 6都是精确定整数iii.xM功能,它表示的数值为前面的数据乘上x。例如:1 1 2M 2M 4M 2M 1 1 2 4 16 32
10、iv.nJ功能,表示其后n个数据项使用缺省值。例如:DD .1(缺省值) 1000 DD J 1000如果nR、nI、及nJ项中缺省n,则假设n1。这四项功能的书写必须满足以下规则:i.nR前面必须放一个数或者放由R或M产生的数据项。ii.nI 前面必须放一个数或者放由R或M产生的数据项,而它的后面还必须有一个常数。iii.xM 前面必须放一个数或者放由R或M产生的数据项。iv.除了在I项的后面,nJ可以放在任何地方。例如: 1 3M 2R1 3 3 31 3M I 41 3 3.5 41 3M 3M1 3 91 2R 2I 2.51 1 1 1.5 2.0 2.51 R 2M1 1 21 R
11、 R1 1 11 2I 4 3M1 2 3 4 121 2I 4 2I 101 2 3 4 6 8 103J 4R错误!错误!1 4I 3M错误!错误!1 4I J错误!错误!b)列输入格式列输入格式 列输入对栅元参数及源描述是非常有用的。对于栅元重要性及体积等参数,输入按行排列时其可读性差,且在增加或删除一些栅元时容易出错。用列输入格式,一个栅元的所有栅元参数是放在标有该栅元名字的那行上。如果删掉一个栅元,用户只需删除该栅元参数行,而不需要在每一个栅元参数卡上寻找该栅元所对应的数据项。对于源描述也有类似的情况。 用列格式,卡片名字逐个放在一个输入行上,并且在这些卡片名字下面按列列出数据项。后
12、续各行为各个栅元的数据。如果填写某个栅元名字,则必须填写全部栅元名字,且栅元的顺序可以任意排列;如果没有指定栅元名字,则按栅元卡描述的顺序排列。 在一个输入文件中,允许有多个列数据块。列输入块的格式: Si必须是MCNP卡片名字,它们必须全部是栅元参数、或者全部是曲面参数、或者全部是其它参数。Ki是栅元名字,它们必须是全部填写或全部空格。一个卡片不允许同时用行格式和列格式输入。一个卡片不允许同时用行格式和列格式输入。15 列672 列S1 S2 SmK1D11 D12 D1mK2D21 D22 D2mKnDn1 Dn2 Dnm(5)粒子标识符粒子标识符 几个输入卡片都需要粒子标识符以区别中子、
13、光子和电子的输入数据。这些卡片是:IMP、EXT、FCL、WWN、WWE、WWP、WWGE、DXT、DXC、F、F5X、F5Y、F5Z、PHYS、ELPT、ESPLT、CUT和PERT。粒子标识符由上述卡片名字后面的冒号、字母N、P或E组成。例如:中子重要性卡为 IMP:N 光子重要性卡为 IMP:P(6)缺省值缺省值 MCNP的许多输入参数都有缺省值,因此用户不需要每次都给出各个输入参量的值。 当缺省值符合用户要求时,便可不在输入文件中指定。当省略某张输入卡时,则该卡上的全部参数均使用缺省值。 如果只想改变一张卡上的某一个特定参量时,则它前面的参量仍需指明,或者用nJ方式跳过前面那些使用缺省
14、值的参量。例如:光子截断卡 CUT:P 3J -.10表示前3个参量使用缺省值,只改变第四项参量的值。(7)输入错误信息输入错误信息 MCNP对输入文件出现的错误作广泛的检查,如果用户违反了输入说明的规定,将在终端上以及输出文件中打印致命错误信息,MCNP不再进行粒子输运计算,作业中断。 第一个出现的致命错误是真的,而后面的错误可能不一定是真的,这取决于前面出现的致命错误的情况。 若在MCNP运行行上指定FATAL项,则MCNP忽略致命错误,照常运行。 对于MCNP的警告信息,用户不应忽视,应搞清楚它们的含义。(8)检查几何错误检查几何错误 在处理输入文件的数据时,有一种非常重要的输入错误MC
15、NP无法检测。即MCNP无法查出各栅元之间的重叠和空隙,只有当粒子丢失时,才会发现几何错误。即使如此,可能仍然无法准确判断错误性质。o几何画图o用外源的粒子轨迹注满真空系统2)栅元描述卡栅元描述卡格式: jm d geom params或:jLIKE n BUT listj栅元号,1 j 99999,写在第 15 列上。m栅元材料号,与材料卡(Mm)中的序号对应。m 0 为真空栅元。d栅元材料密度。正值为原子密度,负值为质量密度。对于真空栅元,该项缺省,不填写。geom栅元的几何说明。由一系列带符号的曲面号经过布尔运算组成。params任选的栅元参数说明。n另一个栅元的名字(编号)。list描
16、述栅元j和栅元n之间差别的栅元参数。 在栅元的几何说明中,关于曲面的指向是一个很重要的概念。假定曲面 S 的曲面方程为 f (x,y,z)0,则对于f (x,y,z)0的区域对于曲面 S 具有正的指向;而对于f (x,y,z)0的区域对于曲面 S 具有负的指向。正指向的区域用+S表示,“+”号可不写;负指向的区域用-S表示。栅元用各相关曲面的布尔运算表示,布尔算符包括交(用空格表示 )、并(用冒号:表示)和非(用#表示)。缺省的运算顺序是先非,其次是交,最后是并 ,使用括号可控制布尔运算的次序。非运算有两种形式:(1)#n,n是某个栅元号, #n表示一个由不在栅元n内的点组成的空间区域。 (2
17、)# ( -),括号内是对某一个栅元进行描述的曲面栅元关系组,这一形式定义的几何区域由不属于括号内描述区域的点组成的空间。例如:3 0 -1 2 -4$ 定义栅元3 #3$ 与下行相同 #(-1 2 -4) 在栅元卡上可定义栅元参数以代替在输入文件中数据卡部分定义的栅元参数。格式为:关键词值。这儿允许的关键词是:带有粒子标识符的IMP、VOL、PWT、EXT、FCL、WWN、DXC、NONU、PD和TMP,以及关于重复结构的4个栅元参数卡:U卡、TRCL卡、LAT卡和FILL卡。例如:10 16 -4.2 1 -2 3 IMP:N=4 IMP:P=8表示栅元10由曲面1的正面、曲面2的负面和
18、曲面3的正面的交集组成,填充质量密度为 4.2 克 / 厘米3 的16号材料。该栅元的中子重要性为4,光子重要性为8。 在简写格式LIKE n BUT中,还有两个关键词MAT和RHO,分别表示栅元的介质号和密度。例如:2 3 -3.7 -1 IMP:N=2 IMP:P=4 3 LIKE 2 BUT TRCL=1 IMP:N=10表示栅元3除了有不同的中子重要性和位置以外,其它方面与栅元2完全一样。即栅元3的定义及其材料和密度与栅元2一样,它们的光子重要性也一样。3)曲面描述卡曲面描述卡(1)由方程定义曲面由方程定义曲面格式:jn a listj曲面号,1 j 99999,写在第 15 列上。若
19、前面有符号*,则该曲面为反射面。若前面有符号+,则该曲面为白边界。如果用该曲面定义的栅元进行了坐标变换(用TRCL),则 1 j 999。n= 0 或缺省缺省表示未进行坐标变换。 0 ,为坐标变换卡 TRn 的号码,表示该曲面是在TRn卡定义的辅助坐标系下描述的。3的点为正向。例2: j K/Y 0 0 2 .25 1这个圆锥面顶点在 (0,0,2),对称轴平行于Y轴,锥面的斜率 t 是0.5(注意,卡片上填的是 t2),而且只使用其正斜率的一叶。圆锥外的点具有正向。例3: j GQ 1 .25 .75 0 -.866 0 -12 -2 3.464 39 这是半径为1厘米的圆柱面,对称轴在 x
20、6处垂直于X轴的平面上,在离X轴2厘米处绕X轴从Y轴向Z轴旋转30。圆柱外的点具有正向。该曲面在辅助坐标系下描述是很简单的,将这个柱面的对称轴定义为辅助坐标系的X轴,然后用一张TRn卡定义基本坐标系与辅助坐标系之间的关系。这时,输入描述为 j 7 CX 1*TR7 6 1 -1.732 0 30 60 TX、TY及TZ输入卡描述的是椭形环面(四阶曲面),其旋转对称轴分别平行于X轴、Y轴和Z轴。注意到输入参数 给定了一个椭圆该椭圆在 ( r , s ) 柱坐标系统围绕 S 轴旋转(图1)。其原点位于原坐标系的点 处。 对于TY型环面,当 | a | c 时,椭形环面将退化。如果 0 a c ,得
21、到的是外曲面(图2 )。如果 -c a 0 ,得到的是外曲面(图3 )。图1 图2图3(2)用点定义轴对称曲面用点定义轴对称曲面 类型为X、Y或Z的曲面卡是用坐标点描述曲面而不是用方程系数描述。用这些卡描述的曲面必须是分别关于X、Y或Z轴对称的,并且如果该曲面是由多叶组成的,则指定的坐标点必须全都在同一个叶上。格式:jn a listj曲面号,1 j 99999,写在第 15 列上。nTRn卡的号,如果没有坐标变换,则该项缺省。a字母X、Y或Z。list13对点的坐标。 每一对坐标点定义这个曲面上的一个点。例如在一张Y卡上可以给出:j Y y1 r1 y2 r2其中,( ) 是第 i 点的坐标
22、。给出的坐标点对数的不同,描述的曲面类型也不同。a)给出一对坐标,则定义一个平面(PX、PY或PZ)。b)给出二对坐标,则定义的是线性曲面(PX、PY、PZ、CX、CY、CZ、KX、KY或KZ)。c)给出三对坐标,则定义的是二次曲面(PX、PY、PZ、SO、SX、SY、SZ、CX、CY、CZ、KX、KY、KZ或SQ)。当用两点定义一个锥面时,只生成一个单叶锥面。曲面的指向与方程指定曲面(SQ除外)是一样的。例1: j X 7 5 3 2 4 3这是描述关于X轴对称的曲面,该曲面通过三个(x,r) 的点 (7,5),(3,2),(4,3)。这是个有二个叶的双曲面,在MCNP中将被转换成标准方程形
23、式: j SQ -.083333333 1 1 0 0 0 68.52083 -26.5 0 0例2:j Y 1 2 1 3 3 4它描述了y1和y3的两个平行平面,这个描述是错误的,因为它违反了所有的点必须在同一叶上的要求。例3:j Y 3 0 4 1 5 0这是一个半径为 1 的球面,球心在 (0,4,0)。例4: j Z 1 0 2 1 3 4这个曲面被拒绝,因为这些点在双曲面的二个不同的叶上。然而,和上面曲面具有同样曲面方程的曲面: j Z 2 1 3 4 5 9.380832是可以接受的,因为这些点都在双曲面右叶的一个面上。(3)由三个点定义一般平面由三个点定义一般平面MCNP对用户
24、指定的 P 型曲面, 将检查所给的数据个数,若是 4 项,则作一般斜置平面方程的系数理解,若多于 4 项时,便作为三维空间点的坐标值理解。每三个数定义空间一个点,MCNP将把它们转换成所需要的曲面系数以产生平面:Ax+By+CzD0格式: jn P X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3j曲面号,1 j 99999,写在第 15 列上。nTRn卡的号,如果没有坐标变换,则该项缺省。P该曲面卡的助记符。 (Xi,Yi, Zi)定义该平面的点坐标。所产生的平面方程系数遵循以下原则:i.坐标原点对于该平面是负向的。ii.当该平面通过坐标原点时(D0), 则点 ( 0, 0,) 对于该平
25、面是正向的。iii.若以上两项都无法做到(D C 0), 则点 ( 0, 0) 对于该平面是正向的。iv.若以上三项都无法做到(D CB 0),则点 (, 0, 0) 对于该平面是正向的。 若第四项也无法做到,说明这三个点在一条直线上,MCNP将产生致命错误信息。(4)由宏体定义的曲面由宏体定义的曲面 该定义类似于组合几何的描述。宏体可以由标准的栅元和曲面组合而成。宏体的各个面也可以分解为方程面,根据预定义的顺序,每个面都有各自独立的编号。各个面的完整编号是用户选择号(即定义宏体的编号)加上一个小数点(.)再加上各个面的预定义编号(1,2,)。这些面可以用于记数,其它栅元定义,源描述等;但不能
26、用于SSR/SSW卡等。 下面是一些有效几何体及其完整描述:BOX任意方向的正六面体。RPP平行于坐标轴的正六面体。SPH球。RCC正圆柱。RHP或HEX 正六棱柱。BOX:任意方向的正六面体(所有角都是直角)。BOX Vx Vy Vz A1x A1y A1z A2x A2y A2z A3x A3y A3z其中:Vx Vy Vz 六面体角的坐标。A1x A1y A1z第一条边的向量。A2x A2y A2z第二条边的向量。A3x A3y A3z第三条边的向量。例子: BOX -1 -1 -1 2 0 0 0 2 0 0 0 2 这是一个边长为2厘米,中心在原点的立方体,其每条边都与坐标轴平行。R
27、PP:正六面体,每个面垂直于坐标轴,x, y, z 是相对于原点的值。RPP Xmin Xmax Ymin Ymax Zmin Zmax例子: RPP -1 1 -1 1 -1 1 与上一例子(BOX)一样的一个立方体。SPH:球,与方程定义的一般球面一样。SPH Vx Vy Vz R其中:Vx Vy Vz 球心的坐标。R半径。RCC:正圆柱体。RCC Vx Vy Vz Hx Hy Hz R其中:Vx Vy Vz 底面的中心。Hx Hy Hz 圆柱轴的向量(柱高) 。R半径。例子: RCC 0 -5 0 0 10 0 4 这是一个对称轴在Y轴、半径为 4厘米的圆柱体,底面在y5处,高度为10厘
28、米。RHP或HEX:正六棱柱。RHP v1 v2 v3 h1 h2 h3 r1 r2 r3 s1 s2 s3 t1 t2 t3 其中:v1 v2 v3 六棱柱底面的中心。h1 h2 h3 从底面到顶面的向量。r1 r2 r3 从轴到第一面中间的向量。s1 s2 s3 从轴到第二面中间的向量。t1 t2 t3 从轴到第三面中间的向量。例子: RHP 0 0 -4 0 0 8 0 2 0 这是一个中轴在Z轴的六棱柱,底面在z4处,高度为8厘米,它的第一个面在y2处垂直于Y轴。 上述各种物体的各个面按顺序编号,这些面可以用在其它MCNP卡片上。BOX和RPP在某一方向可以是无限的,这时将跳过对应的两
29、个面,后面各个面的编号减二。而RHP在其轴向可以是无限的,这时对应的7号和8号面不存在。下面列出各种物体的各个面的编号:BOX1 垂直于边A1x A1y A1z末尾处的面2 垂直于边A1x A1y A1z起始处的面3 垂直于边A2x A2y A2z末尾处的面4 垂直于边A2x A2y A2z起始处的面5 垂直于边A3x A3y A3z末尾处的面6 垂直于边A3x A3y A3z起始处的面SPH:作为普通球面处理RCC1 圆柱面2 垂直于边Hx Hy Hz末尾处的面3 垂直于边Hx Hy Hz起始处的面RPP1 Xmax 平面2 Xmin 平面3 Ymax 平面4 Ymin 平面5 Zmax 平
30、面6 Zmin 平面 用 MBODY=OFF 选项可以在打印出的几何图中显示各个面的编号。RHP或HEX1 垂直于向量 r1 r2 r3 末尾处的面2 面 1 对面的面。3 垂直于向量 s1 s2 s3 末尾处的面4 面 3 对面的面。5 垂直于向量 t1 t2 t3 末尾处的面6 面 5 对面的面。7 垂直于高 h1 h2 h3 末尾处的面8 垂直于高 h1 h2 h3 起始处的面 宏物体内部的点对于该物体及其各个面具有负指向;而外部的点具有正指向。当这些面用于其它栅元描述时,一定要注意它们的指向。如下例:30 -1.2 -1.1 1.4 -1.5 -1.6 9940 1.1 -2001.1
31、 -5.3 -5.5 -5.6 -5.450 -510 -12like 1 but trcl=(2 0 0)90 (-5.1 : 1.3 : 2001.1 : -99 : 5.5 : 5.6) #55rpp -2 0 -2 0 -1 11rpp 0 2 0 2 -1 199 py -2 描述各个栅元所用的面可用其它等价的面代替,例如栅元3,可以用以下几种方法来描述:3 0 5.1 -1.1 -5.3 -5.5 -5.6 993 0 5.1 -1.1 1.4 -5.5 -5.6 -5.43 0 -1.2 -1.1 -5.3 -5.5 -5.6 -5.44)数据卡数据卡在信息卡、栅元描述卡和曲面描
32、述卡之后输入的是数据卡,数据卡可分为10类:(1)问题类型问题类型(2)几何卡几何卡(3)减方差减方差(4)源描述源描述(5)计数描述计数描述(6)材料及截面描述材料及截面描述(7)能量及热处理能量及热处理(8)问题截断条件问题截断条件(9)用户数据数组用户数据数组(10)外围卡外围卡数据卡中,标识符必须从前5列开始填写。(1)问题类型(问题类型(MODE)卡卡如果不给出MODE卡,则缺省形式是MODE N,即缺省值是中子输运问题。格式: MODEx1 xi xi N,中子输运。P,光子输运。E,电子输运。(2)几何卡几何卡几何卡有以下几类:助记符卡片类型VOL栅元体积AREA曲面面积UUni
33、verseTRCL栅元变换LAT栅格FILL填充卡TR坐标变换I.VOL 体积卡(可选)II.体积卡用于输入各个栅元的体积。格式:VOLx1 x2 xi或VOLNO x1 x2 xixi 栅元 i 的体积,i 1,2,栅元总数NO 不计算栅元的体积和面积缺省:MCNP 将计算所有栅元的体积,除非在体积卡上出现“NO”。如果在体积卡上没有填写某一栅元的体积,则将使用计算的体积值。 在体积卡上,如果输入的项数不等于栅元总数,将产生致命错误。可以用 nJ 格式跳过不想输入体积的栅元。 MCNP 在计算栅元体积的同时,也计算栅元的质量和面积。II.AREA 面积卡(可选)面积卡用于输入各个曲面的面积。
34、格式:AREA x1 x2 xixi 曲面 i 的面积,i 1,2,曲面总数缺省:MCNP 将计算所有曲面的面积。在面积卡上没有填写的面积,将使用计算的面积值。 记录计数所需的面积也可以由 SDn 卡提供。如果 AREA 卡和 SDn 卡都未提供记录计数所需的面积,而 MCNP 又无法计算该面积,将产生致命错误。 记录计数时,通常要用 SDn 卡提供的面积。当记录面积是整个曲面时,也可以用 AREA 卡提供的面积;否则,如果只记录一段曲面的计数,则只能用 SDn 卡提供的面积。例子:如图结构,三个栅元(一个外部的立方体内包含一个内部的立方体,中心是一个球)栅元3描述如下: 3 0 8 -9 -
35、10 11 -12 13 #2 #1则MCNP不能计算栅元3的体积。如果用12个面来描述,则能够计算其体积。III.TRn 坐标变换卡TRn O1 O2 O3 B1 B2 B3 B4 B5 B6 B7 B8 B9 Mn变换号, 1 n 999O1,O2,O3坐标变换向量的位移。 B1至B9坐标变换的坐标旋转矩阵。M1, 表示位移是辅助坐标系原点 相对于基本坐标系的位移。-1,表示位移是基本坐标系原点相对于辅助坐标系的位移。缺省值为:TRn 0 0 0 1 0 0 0 1 0 0 0 1 1*TRn表示 Bi是角度而非角度的余弦,Bi的角度范围从0至180 ,其排列顺序如下:元素B1B2B3B4
36、B5B6B7B8B9轴x,xy,xz,xx,yy,yz,yx,zy,zz,z Bi的意义与M无关。用户不必给出全部的Bi值,使用nJ 格式可以跳过不用的项。Bi可按以下五种方式中的任意一种方式指定:i.给出全部 9 个元素。ii.给出矩阵中列或行方向上的两个向量(6个值),MCNP将用矢积产生矩阵的第三个向量。iii.给出矩阵中列和行方向上各一个向量(5个值),其中的公共分量必须小于1,MCNP将用欧拉角方法完成该矩阵。iv.给出矩阵中列或行方向上的一个向量(3个值),MCNP将用某种任意的方法生成其它两个向量。v.不给出Bi的值, MCNP将生成单位矩阵。一个问题中最多可有999个坐标变换卡
37、。MCNP所有类型的曲面都具有某种对称性, 当对称轴平行于某坐标轴时,即使是较复杂的曲面都不难给出其描述的参数。但是,当曲面对称轴不平行于坐标轴时,给出描述曲面的参数难度就大多了。在这种情况下,坐标变换功能就显得极为有用。用户可以在一个以曲面对称轴为坐标轴的辅助坐标系中描述该曲面,然后建立该辅助坐标系与基本坐标系之间的坐标变换关系,通过TRn卡将该曲面的描述转换到基本坐标系中。例子:高14cm、半径4cm的圆柱体,中心在(0,10,15),对称轴在YZ平面,与Y轴成30度角,如图所示。则用(x,y,z)坐标系来描述曲面就比较简单明了。1 1CY42 1PY-73 1PY7 TR1 0 10 1
38、5 1 0 0 0 .866 .5 0 -.5 .866或 *TR1 0 10 15 0 90 90 90 30 60 90 120 30或更简单*TR1 0 10 15 3J 90 30 60经过坐标变换的曲面的指向仍保持其在辅助坐标系中的指向。例如:17 4 PX 5TR4 7 .9 1.3 0 -1 0 0 0 1 -1 0 0MCNP将产生的系数与以下描述一样 17 P 0 -1 0 4.1而不是17 PY -4.1尽管它们描述的是同一个平面,但PY平面的指向不对。重复结构卡以下四种卡片用于描述具有重复结构的物体。UUniverseTRCL栅元变换LAT栅格FILL填充这些卡也属于栅元
39、参数。l栅元参数可以在栅元卡上定义。lLIKE n BUT 结构可以用来定义另一相似的栅元。lU卡用来指定该栅元是属于哪个集合的。lFILL卡用来说明该栅元是用哪个集合的栅元来填满的。lLAT卡用来定义一个无限的六面体或六棱柱阵列。lTRCL卡使得只需一次描述界定在形状和尺寸相同,只是位置不同的几个栅元的曲面。IV.U Universe(集合)卡或 U卡u=集合号 Universe 可以是一个栅格或者是一组普通栅元的集合。U卡上的非零项表示对应栅元所属的集合号。如果没有U卡或为零,则该栅元不属于任何集合。集合号可以是任意整数。而 FILL 卡指明该栅元用指定集合中的所有栅元去填充。集合中的栅元
40、的大小可以是有限的或者无限的,但是它们必须填满要填充的栅元里面的全部空间。 集合可有嵌套,即集合中的某个栅元可以用低一级的集合栅元来填充,嵌套最多可有10级,最高从0级(整个系统)开始,低一级是1级、2级、。低一级的集合栅元可有自己的坐标系和原点,与上一级无关。然而,当它们的曲面处在同一坐标系时,可用TRCL卡定义这两者的坐标系统。填充的集合栅元和被填充栅元的平面可以(严格)一致。例子:1 0 -20 fill=12 0 -30 u=1 fill=2 lat=13 0 -11 u=-24 0 11 u=25 0 2020 rpp 0 50 -10 10 -5 530 rpp 0 10 0 10
41、 11 s 5 5 0 4集合号前加“-”号表明该栅元不会被任何较高级栅元的边界所截断,因此忽略对较高级栅元的边界的计算,使问题运行得更快。V.TRCL 栅元变换卡 当几个栅元形状和尺寸相同,只是位置不同时,需要描述所有界定这些栅元的曲面,如果使用栅元变换卡则只需描述界定一个栅元的曲面即可。格式: TRCL=n n为TR卡的卡号,TR卡含有针对该栅元所有曲面的一个坐标变换。或 TRCL(坐标变换)坐标变换的规定与TRn卡相同。 如果使用 *TRCL,其意义和 *TRn卡一样,其转换矩阵项是角度而非余弦。 如果栅元用了TRCL卡,则界定该栅元的曲面的编号为 1000栅元号原曲面号;该曲面可以在其
42、它栅元卡以及计数卡上使用。该方法限定了栅元号和原曲面号不能超过3位数。例子: 1 1 -.5 -7 #2 #3 #4 #5 #6 imp:n=1 2 0 1 -2 -3 4 5 -6 imp:n=2 trcl=2 fill=1 3 like 2 but trcl=3 4 like 2 but trcl=4 5 like 2 but trcl=5 imp:n=1 6 like 2 but trcl=6 7 0 7 imp:n=0 8 0 8 -9 -10 11 imp:n=1 trcl=(-.9 .9 0) fill=2 u=1 9 like 8 but trcl=(.9 .9 0) 10 li
43、ke 8 but trcl=(.1 -.9 0) 11 2 -18 #8 #9 #10 imp:n=1 u=1 12 2 -18 -12 imp:n=1 trcl=(-.3 .3 0) u=2 13 like 12 but trcl=(.3 .3 0) 14 like 12 but trcl=(.3 -.3 0) 15 like 12 but trcl=(-.3 -.3 0) 16 1 -.5 #12 #13 #14 #15 u=2 imp:n=1 1 px -2 2 py 2 3 px 2 4 py -2 5 pz -2 6 pz 2 7 so 15 8 px -.7 9 py .7 10
44、px .7 11 py -.7 12 cz .1 tr2 -6 7 1.2 tr3 7 6 1.1 tr4 8 -5 1.4 *tr5 -1 -4 1 40 130 90 50 40 90 90 90 0 tr6 -9 -2 1.3VI.LAT 栅格卡 LAT 卡用来产生一个栅格阵列。LAT=1 表示该栅格是一个六面体,LAT=2 表示该栅格是一个六棱柱。LAT卡的非零项表示相应的栅元是栅格阵列中的一个 (0,0,0) 栅格元素。其它栅格元素用不同的下标来区分,下标确定的规则如下: 用三个下标来指示该栅格元素相对于 (0,0,0) 栅格元素的位置。下标的增减表明其相应方向的偏移。 对于六面体栅
45、格,第一个面的外面是 (1,0,0) ,第二个面的外面是 (-1,0,0) ,然后依次为 (0,1,0) 、 (0,-1,0) 、 (0,0,1) 、 (0,0,-1) 。 上述各个面的序号是根据它们的顺序确定的,所以在填写栅元卡时要注意各个面的位置。 对于六棱柱,第一和第二个下标指示六棱柱相邻的两个面的方向,第三个下标指示柱长的方向,如图所示,第一个面的外面是 (1,0,0) ,第二个面的外面是 (-1,0,0) ,然后依次为 (0,1,0) 、 (0,-1,0) 、 (-1,1,0) 、 (1,-1,0) 、 (0,0,1) 、 (0,0,-1) 。各个面的序号同样是根据它们的顺序确定的,
46、且最后两个面必须是六棱柱的底面。VII.FILL 填充卡 FILL卡的非零项指明用来填充相应栅元的集合号。该集合由具有相同U卡编号的栅元组成。FILL项后面可选择加一对括号,里面填变换号或变换本身;表明集合经坐标变换后填充该栅元,即该坐标变换反映了填充的集合栅元和被填充栅元两者坐标系之间的关系。如果没有变换,则该集合继承被填充栅元的坐标变换。同样,用 *FILL 表明变换矩阵中各元素是旋转角度而非其余弦。 如果被填充的栅元是栅格阵列,FILL的说明或者是一项或者是一个数组。如果是一项,则该栅阵的每个栅元都用该项指定的同一个集合栅元填充。如果是一个数组,则只填充由这个数组所覆盖的那部分栅格元素,
47、栅阵的其余部分不存在。且可用不同的集合栅元来填充各个栅格元素。 栅格填充的栅元的数组由定义该数组三维尺寸的三个说明项以及数组值本身组成。三个说明项定义了三个栅格下标的范围,格式类似于FORTRAN语言(n:m),其下界和上界必须明确地用正、负或零整数表示,并用冒号(: )分隔。每个栅格元素的下标由它相对于 (0,0,0) 元素的位置确定。 每个数组元素对应该栅阵的一个栅格元素,其值为填充该栅格元素的集合号。有两个数值具有特殊的意义:零值表示该栅格元素不存在,这样用零就可以构造特殊结构的栅阵;与该栅元的集合号相同的值则表明该栅格元素不用任何集合去填充,但要用该栅格栅元在栅元卡上指定的材料去填充。
48、 跟单项的FILL卡一样,数组中的任何一个值后面都可以选择用一对括号,括号里面是一个变换号或变换本身。例:FILL=0:2 1:2 0:1 4 4 2 0 4 0 4 3 3 0 4 0表示该栅阵只有 8 各元素。元素 (0,1,0)、(1,1,0)、(1,2,0)、(0,1,1) 和 (1,2,1) 用集合 4 来填充。元素 (2,1,0) 用集合 2 来填充。元素 (1,1,1) 和 (2,1,1) 用集合 3 来填充。例: 1 0 -1 fill=1 imp:n=1 2 0 -301 302 -303 304 lat=1 u=1 imp:n=1 fill=-2:2 -2:2 0:0 1
49、1 1 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 1 1 3 0 -10 u=2 imp:n=1 4 0 #3 imp:n=1 u=2 5 0 1 imp:n=0 1 cz 45 10 cz 8 301 px 10 302 px -10 303 py 10 304 py -10蒙特卡罗中心服务器信息IP地址:166.111.196.132166.111.196.133下载文件:下载文件: 166.111.196.132:21用户及口令均为用户及口令均为mctemp目前安装了MCNP4C,Egs4、Geant4、Fluka等蒙特卡罗程序。中心电话:62776277联系人:康玺