MCNP快速入门1.ppt
《MCNP快速入门1.ppt》由会员分享,可在线阅读,更多相关《MCNP快速入门1.ppt(81页珍藏版)》请在冰豆网上搜索。
第八章蒙特卡罗方法应用程序介绍,蒙特卡罗方法应用软件的特点常用的通用蒙特卡罗程序简介MCNP程序输入的描述例子,第八章蒙特卡罗方法应用程序介绍,建立完善的通用蒙特卡罗程序可以避免大量的重复性工作,并且可以在程序的基础上,开展对于蒙特卡罗方法技巧的研究以及对于计算结果的改进和修正的研究,而这些研究成果反过来又可以进一步完善蒙特卡罗程序。
蒙特卡罗方法应用软件的特点,通用蒙特卡罗程序通常具有以下特点:
具有灵活的几何处理能力参数通用化,使用方便元素和介质材料数据齐全能量范围广,功能强,输出量灵活全面含有简单可靠又能普遍适用的抽样技巧具有较强的绘图功能,常用的通用蒙特卡罗程序简介,MORSE程序较早开发的通用蒙特卡罗程序,可以解决中子、光子、中子光子的联合输运问题。
采用组合几何结构,使用群截面数据,程序中包括了几种重要抽样技巧,如俄国轮盘赌和分裂技巧,指数变换技巧,统计估计技巧和能量偏移抽样等。
程序提供用户程序,用户可根据需要编写源分布以及记录程序。
EGS程序EGS是Electron-GammaShower的缩写,它是一个用蒙特卡罗方法模拟在任意几何中,能量从几个KeV到几个TeV的电子-光子簇射过程的通用程序包。
由美国StanfordLinearAcceleratorCenter提供。
EGS于1979年第一次公开发表,提供使用。
EGS4是1986年发表的EGS程序的最新版本。
MCNP程序MCNP是美国LosAlamos国家实验室开发的大型多功能通用蒙特卡罗程序,可以计算中子、光子和电子的联合输运问题以及临界问题,中子能量范围从10-11MeV至20MeV,光子和电子的能量范围从1KeV至1000MeV。
程序采用独特的曲面组合几何结构,使用点截面数据,程序通用性较强,与其它程序相比,MCNP程序中的减方差技巧是比较多而全的。
MCNP程序输入的描述,MCNP的输入包括几个文件,但主要的一个是由用户编写的INP文件,该文件包括描述问题所必须的全部输入信息。
文件采用卡片结构,每行代表一张卡片,文件由一系列卡片组成,对于任一特定的问题,只需用到INP全部输入卡片的一小部分。
MCNP输入文件中物理量的单位,输入文件的基本形式信息块信息块的卡片放在INP文件中标题卡之前。
信息块给出了MCNP的一些运行信息,信息块上各部分的意思和运行行信息是一样的,当运行行信息与信息块中所指定的信息相矛盾时,则忽略信息块中相应的信息,而以运行行信息为准。
信息块是可选的,信息块的第一张卡片,必须在第18列写上“MESSAGE:
”,从第一张卡片的第980列到后续卡片的第180列都可填写运行信息。
在标题卡之前用一个空行分隔符结束信息块。
初始运行的输入文件,接续运行的输入文件接续运行必须在运行行信息或信息块中给出C项选择,即Cm,表示从RUNTPE文件中读出第m次转储的内容接着运算,如果m未指定,则读最后一次转储的数据。
如果不需要改变内容,则不需要接续输入文件,仅需运行RUNTPE以及在运行行加上C选择。
卡片格式INP输入文件的每一行(称之为一张卡片)都限于使用第180列并构成卡片映象。
大部分输入卡片按行填写;然而,对数据卡允许按列填写。
$符号为它所在那行数据的结束符,在$符号后面的内容作为注释,它可从$符号后面的任一列开始。
标题卡只占一行,整行都可填入用户需要的信息,也可以是空行。
但要注意在其它地方使用空行是作为结束符或者分隔符。
输入文件中,在标题卡之后及最后的空行结束卡之前的任何地方都可插入注释卡。
注释卡必须是字母“C”写在15列中的任意位置,且至少用一个空格隔开后面的注释内容。
行输入格式栅元卡、曲面卡和数据卡的书写格式是相同的。
必须从15列开始填写这些卡片相应的名字(或编号)和粒子标识符,后面填写用空格分隔的数据项。
如果15列为空,则表示它是前一张卡片的继续卡。
如果在一行的末尾有一个用空格隔开的符号“&”,则表示下一行是该行的继续卡,数据可填写在180列。
一个数据项必须在一张卡片上写完,不得跨到下一张卡片上。
完全空白的一行则为两组卡片的分隔符。
对任何给定的带有粒子标识符的类型卡只能有一张。
需要整数的数据项必须填写整数,其它数据可填写为整数或浮点数以及MCNP能读的数据。
为书写方便,可以使用四项书写功能:
nR功能,表示将它前面的数据重复n次。
例如:
24R等同于22222nI功能,表示在与其前后相邻的两个数之间,插入n个线性插值点。
对于XnIY的结构,如果X和Y是整数,且XY刚好是n+1的整倍数,则产生标准的整数插值,否则产生实数插值,但Y值直接存储。
例如:
1.52I3.01.52.02.532.0可能不精确而14I6123456都是精确定整数xM功能,它表示的数值为前面的数据乘上x。
例如:
112M2M4M2M11241632nJ功能,表示其后n个数据项使用缺省值。
例如:
DD.1(缺省值)1000DDJ1000如果nR、nI、及nJ项中缺省n,则假设n1。
这四项功能的书写必须满足以下规则:
nR前面必须放一个数或者放由R或M产生的数据项。
nI前面必须放一个数或者放由R或M产生的数据项,而它的后面还必须有一个常数。
xM前面必须放一个数或者放由R或M产生的数据项。
除了在I项的后面,nJ可以放在任何地方。
例如:
13M2R133313MI4133.5413M3M13912R2I2.51111.52.02.51R2M1121RR11112I43M12341212I42I10123468103J4R错误!
14I3M错误!
14IJ错误!
列输入格式列输入对栅元参数及源描述是非常有用的。
对于栅元重要性及体积等参数,输入按行排列时其可读性差,且在增加或删除一些栅元时容易出错。
用列输入格式,一个栅元的所有栅元参数是放在标有该栅元名字的那行上。
如果删掉一个栅元,用户只需删除该栅元参数行,而不需要在每一个栅元参数卡上寻找该栅元所对应的数据项。
对于源描述也有类似的情况。
用列格式,卡片名字逐个放在一个输入行上,并且在这些卡片名字下面按列列出数据项。
后续各行为各个栅元的数据。
如果填写某个栅元名字,则必须填写全部栅元名字,且栅元的顺序可以任意排列;如果没有指定栅元名字,则按栅元卡描述的顺序排列。
在一个输入文件中,允许有多个列数据块。
列输入块的格式:
Si必须是MCNP卡片名字,它们必须全部是栅元参数、或者全部是曲面参数、或者全部是其它参数。
Ki是栅元名字,它们必须是全部填写或全部空格。
一个卡片不允许同时用行格式和列格式输入。
粒子标识符几个输入卡片都需要粒子标识符以区别中子、光子和电子的输入数据。
这些卡片是:
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,缺省值MCNP的许多输入参数都有缺省值,因此用户不需要每次都给出各个输入参量的值。
当缺省值符合用户要求时,便可不在输入文件中指定。
当省略某张输入卡时,则该卡上的全部参数均使用缺省值。
如果只想改变一张卡上的某一个特定参量时,则它前面的参量仍需指明,或者用nJ方式跳过前面那些使用缺省值的参量。
例如:
光子截断卡CUT:
P3J-.10表示前3个参量使用缺省值,只改变第四项参量的值。
输入错误信息MCNP对输入文件出现的错误作广泛的检查,如果用户违反了输入说明的规定,将在终端上以及输出文件中打印致命错误信息,MCNP不再进行粒子输运计算,作业中断。
第一个出现的致命错误是真的,而后面的错误可能不一定是真的,这取决于前面出现的致命错误的情况。
若在MCNP运行行上指定FATAL项,则MCNP忽略致命错误,照常运行。
对于MCNP的警告信息,用户不应忽视,应搞清楚它们的含义。
检查几何错误在处理输入文件的数据时,有一种非常重要的输入错误MCNP无法检测。
即MCNP无法查出各栅元之间的重叠和空隙,只有当粒子丢失时,才会发现几何错误。
即使如此,可能仍然无法准确判断错误性质。
几何画图用外源的粒子轨迹注满真空系统,栅元描述卡,在栅元的几何说明中,关于曲面的指向是一个很重要的概念。
假定曲面S的曲面方程为f(x,y,z)0,则对于f(x,y,z)0的区域对于曲面S具有正的指向;而对于f(x,y,z)0的区域对于曲面S具有负的指向。
正指向的区域用+S表示,“+”号可不写;负指向的区域用-S表示。
栅元用各相关曲面的布尔运算表示,布尔算符包括交(用空格表示)、并(用冒号:
表示)和非(用#表示)。
缺省的运算顺序是先非,其次是交,最后是并,使用括号可控制布尔运算的次序。
非运算有两种形式:
#n,n是某个栅元号,#n表示一个由不在栅元n内的点组成的空间区域。
#(-),括号内是对某一个栅元进行描述的曲面栅元关系组,这一形式定义的几何区域由不属于括号内描述区域的点组成的空间。
例如:
30-12-4$定义栅元3#3$与下行相同#(-12-4),在栅元卡上可定义栅元参数以代替在输入文件中数据卡部分定义的栅元参数。
格式为:
关键词值。
这儿允许的关键词是:
带有粒子标识符的IMP、VOL、PWT、EXT、FCL、WWN、DXC、NONU、PD和TMP,以及关于重复结构的4个栅元参数卡:
U卡、TRCL卡、LAT卡和FILL卡。
例如:
1016-4.21-23IMP:
N=4IMP:
P=8表示栅元10由曲面1的正面、曲面2的负面和曲面3的正面的交集组成,填充质量密度为4.2克/厘米3的16号材料。
该栅元的中子重要性为4,光子重要性为8。
在简写格式LIKEnBUT中,还有两个关键词MAT和RHO,分别表示栅元的介质号和密度。
例如:
23-3.7-1IMP:
N=2IMP:
P=43LIKE2BUTTRCL=1IMP:
N=10表示栅元3除了有不同的中子重要性和位置以外,其它方面与栅元2完全一样。
即栅元3的定义及其材料和密度与栅元2一样,它们的光子重要性也一样。
曲面描述卡由方程定义曲面,表3.1MCNP曲面卡,表3.1MCNP曲面卡(续一),表3.1MCNP曲面卡(续二),表3.1给出了曲面的类型,助记符、方程以及卡片上数据项的顺序。
用这种方法描述一个曲面,首先要在表3.1中找出所需的曲面,然后根据方程的特定形式算出相应的系数,再按照其书写格式依序写在一张卡片上。
除了由方程定义曲面外,还有其它一些方法来定义曲面。
曲面的指向在MCNP中具有重要意义。
如果点(x,y,z)在一个曲面的方程计算值为正,则称该点对于这个曲面是正向的;反之则为负向的。
对于球、柱、锥及环,曲面外部是正向的。
对于垂直于坐标轴的平面(PX、PY或PZ),大于相应平面截距的点是正向的。
而对于P、SQ及GQ曲面,用户可以随意决定曲面的指向,因为方程表达式的全部系数都是由用户提供的。
如果曲面号前有符号“*”,则该曲面为反射面,当粒子打到这样的曲面上时,便按镜面反射。
如果曲面号前有符号“+”,则该曲面为白边界,当粒子打到这样的曲面上时,按一定的角度分布反射。
反射角度与曲面法向的夹角余弦服从如下分布:
p()2,01直接抽样结果为:
对于具有反射面或白边界的问题,最好不要使用下次事件估计(如探测器和DXTRAN)。
对于有反射面的问题,其计数器需要各自进行归一处理。
而如果第二项n为负值,则曲面j是曲面n的周期面,对于周期面的使用有如下一些限制。
面j和面n必须是平面。
对于周期面不允许进行坐标变换。
周期性的栅元可以是无限大的;也可以在其顶部和底部用平面加以限制使其有界,顶面和底面可以是反射面或白边界,但不能是周期面。
周期面只能和其它周期面或顶面和底面组合。
每个周期面的另一边必须是零重要性栅元。
所有周期面必须有一个公共的旋转轴,该轴垂直于几何的顶和底。
不应使用下次事件估计(如探测器和DXTRAN)。
例1:
jPY3这是在y3处垂直于Y轴的平面,y3的点为正向。
例2:
jK/Y002.251这个圆锥面顶点在(0,0,2),对称轴平行于Y轴,锥面的斜率t是0.5(注意,卡片上填的是t2),而且只使用其正斜率的一叶。
圆锥外的点具有正向。
例3:
jGQ1.25.750-.8660-12-23.46439这是半径为1厘米的圆柱面,对称轴在x6处垂直于X轴的平面上,在离X轴2厘米处绕X轴从Y轴向Z轴旋转30。
圆柱外的点具有正向。
该曲面在辅助坐标系下描述是很简单的,将这个柱面的对称轴定义为辅助坐标系的X轴,然后用一张TRn卡定义基本坐标系与辅助坐标系之间的关系。
这时,输入描述为j7CX1*TR761-1.73203060,TX、TY及TZ输入卡描述的是椭形环面(四阶曲面),其旋转对称轴分别平行于X轴、Y轴和Z轴。
注意到输入参数给定了一个椭圆该椭圆在(r,s)柱坐标系统围绕S轴旋转(图1)。
其原点位于原坐标系的点处。
对于TY型环面,当|a|c时,椭形环面将退化。
如果0ac,得到的是外曲面(图2)。
如果-ca0,得到的是外曲面(图3)。
图1图2图3,用点定义轴对称曲面类型为X、Y或Z的曲面卡是用坐标点描述曲面而不是用方程系数描述。
用这些卡描述的曲面必须是分别关于X、Y或Z轴对称的,并且如果该曲面是由多叶组成的,则指定的坐标点必须全都在同一个叶上。
每一对坐标点定义这个曲面上的一个点。
例如在一张Y卡上可以给出:
jYy1r1y2r2其中,()是第i点的坐标。
给出的坐标点对数的不同,描述的曲面类型也不同。
给出一对坐标,则定义一个平面(PX、PY或PZ)。
给出二对坐标,则定义的是线性曲面(PX、PY、PZ、CX、CY、CZ、KX、KY或KZ)。
给出三对坐标,则定义的是二次曲面(PX、PY、PZ、SO、SX、SY、SZ、CX、CY、CZ、KX、KY、KZ或SQ)。
当用两点定义一个锥面时,只生成一个单叶锥面。
曲面的指向与方程指定曲面(SQ除外)是一样的。
例1:
jX753243这是描述关于X轴对称的曲面,该曲面通过三个(x,r)的点(7,5),(3,2),(4,3)。
这是个有二个叶的双曲面,在MCNP中将被转换成标准方程形式:
jSQ-.0833333331100068.52083-26.500例2:
jY121334它描述了y1和y3的两个平行平面,这个描述是错误的,因为它违反了所有的点必须在同一叶上的要求。
例3:
jY304150这是一个半径为1的球面,球心在(0,4,0)。
例4:
jZ102134这个曲面被拒绝,因为这些点在双曲面的二个不同的叶上。
然而,和上面曲面具有同样曲面方程的曲面:
jZ213459.380832是可以接受的,因为这些点都在双曲面右叶的一个面上。
由三个点定义一般平面MCNP对用户指定的P型曲面,将检查所给的数据个数,若是4项,则作一般斜置平面方程的系数理解,若多于4项时,便作为三维空间点的坐标值理解。
每三个数定义空间一个点,MCNP将把它们转换成所需要的曲面系数以产生平面:
Ax+By+CzD0,所产生的平面方程系数遵循以下原则:
坐标原点对于该平面是负向的。
当该平面通过坐标原点时(D0),则点(0,0,)对于该平面是正向的。
若以上两项都无法做到(DC0),则点(0,0)对于该平面是正向的。
若以上三项都无法做到(DCB0),则点(,0,0)对于该平面是正向的。
若第四项也无法做到,说明这三个点在一条直线上,MCNP将产生致命错误信息。
由宏体定义的曲面该定义类似于组合几何的描述。
宏体可以由标准的栅元和曲面组合而成。
宏体的各个面也可以分解为方程面,根据预定义的顺序,每个面都有各自独立的编号。
各个面的完整编号是用户选择号(即定义宏体的编号)加上一个小数点(.)再加上各个面的预定义编号(1,2,)。
这些面可以用于记数,其它栅元定义,源描述等;但不能用于SSR/SSW卡等。
下面是一些有效几何体及其完整描述:
BOX:
任意方向的正六面体(所有角都是直角)。
BOXVxVyVzA1xA1yA1zA2xA2yA2zA3xA3yA3z其中:
VxVyVz六面体角的坐标。
A1xA1yA1z第一条边的向量。
A2xA2yA2z第二条边的向量。
A3xA3yA3z第三条边的向量。
例子:
BOX-1-1-1200020002这是一个边长为2厘米,中心在原点的立方体,其每条边都与坐标轴平行。
RPP:
正六面体,每个面垂直于坐标轴,x,y,z是相对于原点的值。
RPPXminXmaxYminYmaxZminZmax例子:
RPP-11-11-11与上一例子(BOX)一样的一个立方体。
SPH:
球,与方程定义的一般球面一样。
SPHVxVyVzR其中:
VxVyVz球心的坐标。
R半径。
RCC:
正圆柱体。
RCCVxVyVzHxHyHzR其中:
VxVyVz底面的中心。
HxHyHz圆柱轴的向量(柱高)。
R半径。
例子:
RCC0-5001004这是一个对称轴在Y轴、半径为4厘米的圆柱体,底面在y5处,高度为10厘米。
RHP或HEX:
正六棱柱。
RHPv1v2v3h1h2h3r1r2r3s1s2s3t1t2t3其中:
v1v2v3六棱柱底面的中心。
h1h2h3从底面到顶面的向量。
r1r2r3从轴到第一面中间的向量。
s1s2s3从轴到第二面中间的向量。
t1t2t3从轴到第三面中间的向量。
例子:
RHP00-4008020这是一个中轴在Z轴的六棱柱,底面在z4处,高度为8厘米,它的第一个面在y2处垂直于Y轴。
上述各种物体的各个面按顺序编号,这些面可以用在其它MCNP卡片上。
BOX和RPP在某一方向可以是无限的,这时将跳过对应的两个面,后面各个面的编号减二。
而RHP在其轴向可以是无限的,这时对应的7号和8号面不存在。
下面列出各种物体的各个面的编号:
SPH:
作为普通球面处理,用MBODY=OFF选项可以在打印出的几何图中显示各个面的编号。
宏物体内部的点对于该物体及其各个面具有负指向;而外部的点具有正指向。
当这些面用于其它栅元描述时,一定要注意它们的指向。
如下例:
30-1.2-1.11.4-1.5-1.699401.1-2001.1-5.3-5.5-5.6-5.450-510-12like1buttrcl=(200)90(-5.1:
1.3:
2001.1:
-99:
5.5:
5.6)#55rpp-20-20-111rpp0202-1199py-2,描述各个栅元所用的面可用其它等价的面代替,例如栅元3,可以用以下几种方法来描述:
305.1-1.1-5.3-5.5-5.699305.1-1.11.4-5.5-5.6-5.430-1.2-1.1-5.3-5.5-5.6-5.4,数据卡在信息卡、栅元描述卡和曲面描述卡之后输入的是数据卡,数据卡可分为10类:
问题类型几何卡减方差源描述计数描述材料及截面描述能量及热处理问题截断条件用户数据数组外围卡数据卡中,标识符必须从前5列开始填写。
问题类型(MODE)卡如果不给出MODE卡,则缺省形式是MODEN,即缺省值是中子输运问题。
几何卡几何卡有以下几类:
VOL体积卡(可选)体积卡用于输入各个栅元的体积。
格式:
VOLx1x2xi或VOLNOx1x2xixi栅元i的体积,i1,2,栅元总数NO不计算栅元的体积和面积缺省:
MCNP将计算所有栅元的体积,除非在体积卡上出现“NO”。
如果在体积卡上没有填写某一栅元的体积,则将使用计算的体积值。
在体积卡上,如果输入的项数不等于栅元总数,将产生致命错误。
可以用nJ格式跳过不想输入体积的栅元。
MCNP在计算栅元体积的同时,也计算栅元的质量和面积。
AREA面积卡(可选)面积卡用于输入各个曲面的面积。
格式:
AREAx1x2xixi曲面i的面积,i1,2,曲面总数缺省:
MCNP将计算所有曲面的面积。
在面积卡上没有填写的面积,将使用计算的面积值。
记录计数所需的面积也可以由SDn卡提供。
如果AREA卡和SDn卡都未提供记录计数所需的面积,而MCNP又无法计算该面积,将产生致命错误。
记录计数时,通常要用SDn卡提供的面积。
当记录面积是整个曲面时,也可以用AREA卡提供的面积;否则,如果只记录一段曲面的计数,则只能用SDn卡提供的面积。
例子:
如图结构,三个栅元(一个外部的立方体内包含一个内部的立方体,中心是一个球)栅元3描述如下:
308-9-1011-1213#2#1则MCNP不能计算栅元3的体积。
如果用12个面来描述,则能够计算其体积。
TRn坐标变换卡TRnO1O2O3B1B2B3B4B5B6B7B8B9Mn变换号,1n999O1,O2,O3坐标变换向量的位移。
B1至B9坐标变换的坐标旋转矩阵。
M1,表示位移是辅助坐标系原点相对于基本坐标系的位移。
-1,表示位移是基本坐标系原点相对于辅助坐标系的位移。
缺省值为:
TRn0001000100011*TRn表示Bi是角度而非角度的余弦,Bi的角度范围从0至180,其排列顺序如下:
Bi的意义与M无关。
用户不必给出全部的Bi值,使用nJ格式可以跳过不用的项。
Bi可按以下五种方式中的任意一种方式指定:
给出全部9个元素。
给出矩阵中列或行方向上的两个向量(6个值),MCNP将用矢积产生矩阵的第三个向量。
给出矩阵中列和行方向上各一个向量(5个值),其中的公共分量必须小于1,MCNP将用欧拉角方法完成该矩阵。
给出矩阵中列或行方向上的一个向量(3个值),MCNP将用某种任意的方法生成其它两个向量。
不给出Bi的值,MCNP将生成单位矩阵。
一个问题中最多可有999个坐标变换卡。
MCNP所有类型的曲面都具有某种对称性,当对称轴平行于某坐标轴时,即使是较复杂的曲面都不难给出其描述的参数。
但是,当曲面对称轴不平行于坐标轴时,给出描述曲面的参数难度就大多了。
在这种情况下,坐标变换功能就显得极为有用。
用户可以在一个以曲面对称轴为坐标轴的辅助坐标系中描述该曲面,然后建立该辅助坐标系与基本坐标系之间的坐标变换关系,通过TRn卡将该曲面的描述转换到基本坐标系中。
例子:
高14cm、半径4cm的圆柱体,中心在(0,10,15),对称轴在YZ平面,与Y轴成30度角,如图所示。
则用(x,y,z)坐标系来描述曲面就比较简单明了。
11CY421PY-731PY7TR1010151000.866.50-.5.866或*TR101015090909030609012030或更简单*TR1010153J903060,经过坐标变换的曲面的指向仍保持其在辅助坐标系中的指向。
例如:
174PX5TR47.91.30-10001-100MCNP将产生的系数与以下描述一样17P0-104.1而不是17PY-4.1尽管它们描述的是同一个平面,但PY平面的指向不对。
重复结构卡以下四种卡片用于描述具有重复结构的物体。
UUniverseTRCL栅元变换LAT栅格FILL填充这些卡也属于栅元参数。
栅元参数可以在栅元卡上定义。
LIKEnBUT结构可以用来定义另一相似的栅元。
U卡用来指定该栅元是属于哪个集合的。
FILL卡用来说明该栅元是用哪个集合的栅元来填满的。
LAT卡用来定义一个无限的六面体或六棱柱阵列。
TRCL卡使得只需一次描述界定在形状和尺寸相同,只是位置不同