蒙特卡罗方法简介

发布时间 : 星期六 文章蒙特卡罗方法简介更新完毕开始阅读

第三章 蒙特卡罗方法简介

3.1 Monte Carlo方法简介

Monte Carlo方法是诺斯阿拉莫斯实验室在总结其二战期间工作(曼哈顿计划)的基础上提出来的。Monte Carlo的发明,主要归功于Enrico Fermi、Von Neumann和Stanislaw Ulam等。自二战以来,Monte Carlo方法由于其在解决粒子输运问题上特有的优势而得到了迅速发展,并在核物理、辐射物理、数学、电子学等方面得到了广泛的应用。Monte Carlo的基本思想就是基于随机数选择的统计抽样,这和赌博中掷色子很类似,故取名Monte Carlo。

Monte Carlo方法非常适于解决复杂的三维问题,对于不能用确定性方法解决的问题尤其有用,可以用来模拟核子与物质的相互作用。在粒子输运中,Monte Carlo技术就是跟踪来自源的每个粒子,从粒子产生开始,直到其消亡(吸收或逃逸等)。在跟踪过程中,利用有关传输数据经随机抽样来决定粒子每一步的结果。

[6]

3.2 Monte Carlo发展历程

MCNP程序全名为 Monte Carlo Neutron and Photon Transport Code (蒙特卡罗中子 -光子输运程序 )。Monte Carlo模拟程序是在1940年美国实施“发展核武器计划”时,由洛斯阿拉莫斯实验室(LANL)提出的,为其所投入的研究、发展、程序编写及参数制作超过了500人年。1950年Monte Carlo方法的机器语言出现 , 1963年通用性的Monte Carlo方法语言推出,在此基础上,20世纪70年代中期由中子程序和光子程序合并,形成了最初的MCNP程序。自那时起,每2—3年MCNP更新一次 , 版本不断发展,功能不断增加,适应面也越来越广。已知的 MCNP程序研制版本的更新时间表如下:

MCNP-3:1983年写成,为标准的FORTRAN-77版本,截面采用ENDF /B2III。 MCNP-3A:1986年写成,加进了多种标准源,截面采用ENDF /B2I V

[20]

MCNP-3B::1988年写成具有阵列几何处理能力 (即重复结构描述 ),多群截面和计数输出的图形化功能,截面采用ENDF /B2I V和ENDL2 851。

MCNP-4::1990年7月由LANL写成,截面采用ENDF /B2V。

MCNP-4.2:1991年3月由ORNL的RSIC写成,程序有较大改进,增加了基于 Sandia国家实验室的 ITS( Integrated Tiger Series)-连续能量电子输运包,将其编入MCNP程序,专用于UNIX系统,从此MCNP程序成为中子/光子/电子耦合输运程序。

MCNP-4A:1993年诞生,仍为UNIX系统,开始引入PVM并行,适合共享存储并行计算机,截面为ENDF/B2 V。

MCNP-4B:1997年3月正式推出,有PC版(需要 LAHEY编译系统支持) ,UNIX版,采用ENDF/B2VI截面库和彩色图形系统,仍采用PVM并行编程。

MCNP-4B2:为MCNP-4B的升级版,其支持FORTRAN-90系统。 MCNP-4C:2000正式推出,在MCNP-4B基础上增加共振自屏、瞬发α本征值、微扰和多群伴随中子输运计算等处理,采用F90编译器,工作站版本支持PVM和SMPP并行。

MCNP-5:2003年推出。在这个版本中,完成了从FORTRAN-77到 FORTRAN-90的重新组织,支持以前的MCNP-4C2 /4C3全部功能,同时在提高 图形显示,易安装性以及更好的在线文档方面有较大改善。

另外,在 MCNP系列版本中,出现MCNPX版本,该版本程序仍为该实验室研制,并由其负责维护和更新。MCNPX开始于1994年,作为MCNP-4B和 LAHET-2 . 8的代码整合项目,并第1次在1999年对外发布,版本为2 .1 .5。2002年, MCNPX升级为MCNP- 4C,其变化包括支持FORTRAN-90系统,加强了12种新特性,并作为2.4.0版本对外发布。自从2002年开始,MCNPX测试组向全球300个机构中的1400多名用户进行公开测试,在加入了数10个新特性后作为2.5.0版对外发布。MCNPX现在已经成为世界上使用最为广泛的粒子输运程序之一。

[7]

3.3 MCNP-3B/PC的输入文件

表3.1 MCNP输入数据物理量的单位

物理量 长度 时间 原子密度 截面

10单位 cm 刹(10?8)

24 物理量 能量 温度 质量密度

单位 MeV MeV g/cm3

个原子/cm3

巴(bar)

3.3.1 初始运行的输入文件

这一文件用于建立一个蒙特卡罗计算问题,对问题的几何结构、材料、计数要求等等给以描述,如果需要,便可直接运行。该文件按书写顺序包括如下内容: 信息块卡 该项是选择性的;可有可无。 (空行分隔) 标题卡 栅元描述卡 (空行分隔) 曲面描述卡 (空行分隔) 数据卡

(空行分隔) 其它卡 选择项

其中的标题卡不可省去,它限于一行,且占用 1-80 列,它作为 MCNP 各部分输出表的标题使用。 数据卡后面不管有没有空行分隔符, MCNP 都能运行, 不同的是如果数据卡后向有至行分隔符,则MCNP 将不再读后面的附加行(附加行存在) 。附加行一般为这个问题的说明或者是与这个输入文件本身有关的信息。那么,该空行分隔行能防止读入这些附加信息。

3.3.2 卡片书写格式

INP文件中的每一行(我们称之为一张卡片) ,都限于使用 1-80 列并构成卡片映象。大部分输入卡片按行填写;然而,数据卡片也允许按列填写。 “$”

符号为它所在行数据的结束符号。在“$”符号后面的内容为注释内容,注释内容可从“$”符号后的任一列开始。标题卡例外,它只限于一行,整行都可填入用户的信息,即使全部空白也可(在输入文件的其余部分,空白卡则作分界符或终止符使用) 。标题卡通常给出特定计算问题的信息。 输入文件中,在标题卡之后及最后的空白结束卡之前,任何地方都可插入注释卡。注释卡的第一列必须标有字母“c” ,且后面跟 4 个空格,第 6-80 列供用户填入任何注释内容。注释卡仅在输入文件内容的原型输出部分印出,输出文件的其它任何部分不再出现。FCn卡也是作为注释用的, 但它将作为记数类型 n 的表头文字印出, 比如可作为记数的标题出现。SCn 卡也是作为注释用的,但它将作为源概率分布 n 的表头文字印出。

l.行输入格式

栅元卡、曲面卡及数据卡的书写格式是相同的。第 l-5 列填写这些卡片相应的名字(或序号),而且可以写在 1-5 列的任何地方。如果 1-5 列为空白,则表示它是前一张卡片的继续卡。 (完全的空白卡则作为两组卡片的分界符使用) 。 带有粒子标识符的卡可需要 5 列以上,但冒号必须写在第 6 列以前(包含第 6 列) 。6-80 列是用自由格式填写 1-5 列卡片有关的数据项。填入的数据项之间均以空格(一个或多个)作为分隔。一般讲,填入的数据可以是任何类型,定点数、浮点数及八进制数等等,MCNP会根据所送入的变量类型进行适当转换。需要整数输入的地方必须填写整数。一个数据项必须在一张卡片上写完,不得跨到下一张卡片上。

2.列输入格式

列输入格式对于栅元参数和源分布是特别有用的。 按行排列的栅元重要性或体积可读性差,并且当用户增加或删除栅元参数时容易出错。用列输入格式,一个栅元的所有栅元参数是放在标有这个栅元名字的那行上。如果要删除某个栅元参数,用户只需删除栅元参数这一行,而不需在每一个栅元参数卡上寻找属于该栅元的数据项。对源描述,相应 SI、SP及 SB的数据逐个放在每一行上。

3.3.3 栅元描述的一般卡片格式

格式: j m d geom params

联系合同范文客服:xxxxx#qq.com(#替换为@)