蒙特卡洛方法第四讲
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 63年蒙特卡罗方法描述语言标准化。
• 65年完成的中子输运程序MCN有了很大改 进,使用了标准的截面库,并且具有复杂几 何描述功能。 • 后来,Los Alamos实验室又开发了模拟光 子输运的程序MCG(高能)和MCP(能量低至 1keV)。
11
• 73年MCN和MCG合并成MCNG,为MCNP
时最好借助另一平面6把实体分成两部分,
蒙特卡罗方法 第四讲
(2009—2010学年第一学期)
主讲:杨 波
1.蒙特卡罗访法应用软件简介
2. MCNP介绍
2
1. 蒙特卡罗访法应用软件简介
• 建立完善的通用蒙特卡罗程序可以避免大 量的重复性工作,并且可以在程序的基础 上,开展对于蒙特卡罗方法技巧的研究以 及对于计算结果的改进和修正的研究,而 这些研究成果反过来又可以进一步完善蒙 特卡罗程序。
29
• 列输入格式的第一行以#开始,#可以放在 1∼5列的任意位置,卡片助记名逐个放在该 行6列以后,在这些助记名之下按列给出数 据项。同一个列输入格式块中的卡片必须是 同一类卡片,比如都是栅元参数卡、都是曲 面参数卡或都是源参数卡等,在#号下面的 1∼5列放置栅元号、曲面号或源分布号。
30
c) 缺省值 MCNP许多输入卡的参数项有缺省值,用 户不必每次都给出这些参数,如果卡片输 入项有固定顺序,可以使用nJ功能跳过n个 输入项。如果卡片上所有数据项都想缺省, 只给出卡片助记名即可。有些卡片不给出 也有缺省值,如MODE N卡就可以省略。
• INP文件的每一行(称之为一张卡片)都限于使 用1∼80列。大多数卡片都可以按行填写,然 而数据卡也允许按列填写。 a) 行输入格式 通常卡片的1∼5列用于填写栅元号、曲面号 或数据卡的助记名,6∼72列填写卡片参数, 73∼80列为注释,$符号之后也为注释。
24
• 序号或卡片助记名可以写在1∼5列的任何地 方。带有粒子标识符助记名可能需要5列以 上,但冒号必须写在6列以内。如果1∼5列 空白,表示本行为上一行的接续行。6列之 后可以写数据项,多个数据项之间用空格分 隔。一个数据项必须在一行上写完,不得接 续到下一行。相同编号的卡片只能有一张。
• 再举一个例子:有一个大球面S1,它的里 面有一个小球面S2。在小球面S2外且在大 球面S1里的部分,是这样定义的:-1 +2 • 在小球面S2里的部分,是这样定义的:-2
40
41
(2) 交集和并集(intersection & union) 交集是两个集合的公共部分,如图所示。
42
• 并集是两个集合的合集:
3
1.1 应用软件的特点
通用蒙特卡罗程序通常具有以下特点:
• 具有灵活的几何处理能力 • 参数通用化,使用方便 • 元素和介质材料数据齐全 • 能量范围广,功能强,输出量灵活全面 • 含有简单可靠又能普遍适用的抽样技巧 • 具有较强的绘图功能
4
1.2 常用的通用蒙特卡罗程序
1) MORSE程序
• 较早开发的通用蒙特卡罗程序,可以解决中 子、光子、中子-光子的联合输运问题。采 用组合几何结构,使用群截面数据,程序中 包括了几种重要抽样技巧,如俄国轮盘赌和 分裂技巧,指数变换技巧,统计估计技巧和 能量偏移抽样等。程序提供用户程序,用户 可根据需要编写源分布以及记录程序。 5
• 数据卡后不管有无空行分隔符均可以运行, 不同之处是,如果数据卡后面有空行分隔符, 则MCNP将不再读后面的附加行(如果附加行 存在的话)。这对某些用户喜欢保留附加的内 容是很方便的,如改变这个问题的说明或者 与这个输入文件本身有关的信息,那么,这 个分隔符就能防止读入这些附加信息。
23
2.4 卡片格式
5) FlUKA程序
• 与MCNP是相类似的一种程序,可以计算中 子、光子和电子的联合输运问题以及临界 问题,一般用于反应堆计算。
9
2. MCNP介绍
• 40年代美国Los Alamos实验室的Fermi、 von Neumann和Ulam等人提出用蒙特卡罗 方法模拟辐射输运的思想。 • 47年Fermi发明了第一台用蒙特卡罗方法计 算中子链式反应的机器。 • 从50年代开始,von Neumann领导一个小 组研究输运问题的蒙特卡罗处理方法,编写 出模拟中子输运的程序MCS。 10
31
2.5 布尔算符
• 包括交算符(缺省)、并算符( : )和补算符(#)。 缺省运算顺序是,先补,再交,最后并。 可用括号改变运算次序。主要在栅元卡中 定义几何结构。
32
3 MCNP几何结构描述
3.1 栅元的定义
用户在三维正交坐标系下(见下图)定义曲面, 用曲面围成栅元,在栅元中填充物质。栅 元可由一些曲面包围区域的交集和并集构 成。曲面可通过设置解析方程参数或指定 曲面上一些已知点定义。
43
• 若想仅用交算符定义栅元,栅元内所有点对 特定的界面必须有相同的坐向。如图所示, 1、2、3、4、5面围成一个实体,用密度为 1.0g/cm3的材料1填充,外部是真空。
44
• 实体内P1和P2点相对于4面有负坐向,P3
点相对于4面有正坐向;P1点相对于3面有
正坐向,P2和P3点相对于3面有负坐向。这
17
• INP文件由一些被空行分隔的输入块组成, 主要的输入块是信息块、标题和栅元块、 曲面块和数据块等。输入块又由一些被称 为卡的输入行组成,如:栅元卡、曲面卡、 数据卡。
18
初始运行INP文件的格式如下
• 信息卡 (可选项) 空行分隔符 • 标题卡(可选项) • 栅元卡 … 空行分隔符 • 曲面卡 … 空行分隔符 • 数据卡 … 空行结束符 • 其它(可选项)
6
3) MCNP程序 • MCNP是美国Los Alamos国家实验室开发 的大型多功能通用蒙特卡罗程序,可以计算 中子、光子和电子的联合输运问题以及临界 问题,中子能量范围从10-11MeV至20MeV, 光子和电子的能量范围从1KeV至1000MeV 。 程序通用性较强,与其它程序相比,MCNP 程序中的减方差技巧是比较多而全的。
33
• 例1:一个长方体,由6个面围起的空间构成 一个栅元。这6个面的外部空间,就是除了 这个长方体的空间,构成外部世界栅元。
34
• 例2:在一个正方体里,有两个圆柱体,这 两个圆柱体构成一个栅元(注意:是由两个 物体一起构成),这个正方体(只画了一个边 框)除了那两个圆柱体的部分,构成另一个 栅元,图中我写了White space is a cell。 最后是这个立方体以外的部分,构成外部 世界栅元。
37
• 任何曲面都把空间分成两部分,一部分相对于该 曲面具有正坐向,另一部分具有负坐向。填写栅 元卡时,在曲面号之前用正负号表示栅元中的点 相对于该曲面的坐向,正号可省略。 对于一个封闭的曲面,例如球面,坐向(sense)就 变成: 内部=负值 Negative 外部=正值 Positive
38
39
13
ห้องสมุดไป่ตู้
• MCNP 是通用的、连续能量的、非特殊几何、 依时的、耦合中子/光子/电子MC 输运代码。
• 输运模式:唯中子,唯光子,唯电子,中子/ 由中子产生的光子,中子/光子/电子,光子/电 子,或者电子/光子输运。
• 中子的能量范围是:10-11MeV 到20MeV, 光子和电子的能量范围是:1keV 到1000MeV。 计算裂变系统的keff 特征值是其又一特征。
7
4) Geant4程序
• 是CERN(欧洲核子研究中心)RD44项目主导 的多国合作的结晶,其最初想法是考虑如何 将现代计算机技术应用并改进以FORTRAN 为基础的Geant3(1993年)。之后1994年 秋由CERN的探测器研究与开发委员会的 RD44项目主导,决定开发一款全新的基于 面向对象化技术的软件,能为下一代亚原子 物理实验提供模拟。 8
35
箭头所指,为几何边界。
36
(1)
坐向(sense) 定义栅元时,一个重要的概念是坐标点相对于曲 面的坐向。假设s=f(x,y,z)=0是一曲面S的方程,对 于任意一点(x’,y’,z’),代入s=f(x,y,z)后,若s=0则 该点在曲面S上。若该点不在曲面S上,有两种情 况:s>0时称该点相对于曲面S具有正的坐向,反 之称该点相对于S具有负的坐向。例如,球面以外 的点相对于球面具有正坐向,沿坐标轴正向离开垂 直于坐标轴平面的点相对该平面具有正坐向。
质量密度
截面 加热量
g/cm3
barns (10-24cm2) MeV/collision
16
2.3 输入输出文件
• MCNP的输入文件包括截面数据库文件、 XSDIR文件、INP文件等。 • INP文件是用户要填写的主要输入文件,一 般把该文件特指为输入文件。 • OUTP是MCNP的主要输出文件,其它输出 文件还有转储文件RUNTPE、运行信息文 件OUTPUT等。
19
• 信息块的第一行,必须在它的1∼8列填写 MESSAGE:,后面跟着用空格分隔的参数 项。其后的9∼80列和空行分隔符之前各行 的1∼80列都看作信息块内容。可用A=B参 数项更改输出文件名,如OUTP = MYOUT。 信息块是可选的。信息块提供给MCNP一个 执行信息的方法。
20
• 在信息块之后的第一行是问题的标题卡, 它仅限于一行,占用1∼80列,可以是任何 信息,将作为OUTP文件中各个输出表的标 题被复制。
的雏形。
• MCNP于76年开发成功,77年6月发行。
12
• MCNP 是一种常用的利用蒙特卡罗方法解 决核粒子输运的问题的程序,能解决中子、 光子、电子或者偶合中子、光子、电子的输 运,以及计算临界系统的特征值。
• MCNP 该程序能对任意三维空间构成的材 料——其几何由一维或者二维,甚至特殊的 四维(如椭圆面)曲面组成――进行计算。
21
• 用户在栅元块和曲面块中描述问题的几何。 栅元由栅元卡描述。空间必须由彼此相邻的 栅元填满,栅元之间不能重叠,也不能出现 无栅元的空区,否则会出现错误。构建栅元 的曲面由曲面卡定义,曲面卡在曲面块中给 出。
• 曲面块之后是数据块,在数据块中用户描 述源、记数方式、材料等。数据卡在以后的 22 讲座中予以详细介绍。
25
• 每行最多80个字符 不含控制字符,比如:Tab键,你是看不见 的。它导致程序出错。
• 注释行: —标题卡之后的任何位置都可插入‘C’; —第一列是字母“C”,且随后四个空格; —从输入数据之后的$符号后开始的内容 (以上三种情况可以单独或同时存在)
26
• 填写卡片参数时可以使用以下输入简写功 能: 1>. nR功能,表示它前面的数据再重复n遍。 例如:2 4R => 2 2 2 2 2 2>. nI功能,表示与其前后相临两个数之间 插进n个线性插值点。 例如:1 5I 7 => 1 2 3 4 5 6 7
27
3>. xM功能,表示数值等于它前面数据的x 倍。 例如:5 4M => 4 20 4>. nJ功能,表示从它所在位置跳过n项不 指定的数据而使用缺省值。 • 这四项输入简写功能可以综合运用。
28
b) 列输入格式 列输入只能用于数据块中,对栅元参数和源 的描述比较有用。按行输入的栅元重要性、 体积、权窗等数据项可读性较差,而且增加 或删除栅元时要在行输入卡上仔细寻找相应 项。列输入的可读性有很大提高,删除或增 加与某一栅元相对应的数据项时也比较方便。
14
2.1 MCNP应用领域
• 反应堆设计、核临界安全、辐射屏蔽和核 防护、探测器的设计与分析、核测井、个 人剂量与物理保健、加速器靶的设计、医 学物理与放射性治疗、国家防御、废物处 理、射线探伤等。
15
2.2 物理量的单位规定
物理量 长度 能量 时间 温度 原子密度 单位 cm MeV shake, =10-8sec MeV (kT) atoms/cm3
2) EGS程序 • EGS是Electron-Gamma Shower 的缩写, 它是一个用蒙特卡罗方法模拟在任意几何中, 能量从几个KeV到几个TeV的电子-光子簇射 过程的通用程序包。由美国Stanford Linear Accelerator Center提供。EGS于 1979年第一次公开发表,提供使用。EGS4 是1986年发表的EGS程序的最新版本。