下载

5下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 实用MCNP3B教程

实用MCNP3B教程.doc

实用MCNP3B教程

liwenguo
2011-04-19 0人阅读 举报 0 0 暂无简介

简介:本文档为《实用MCNP3B教程doc》,可适用于工程科技领域

使用MCNPB教程大型通用中子光子联合输运蒙特卡罗模拟程序郑华编大庆生产测井研究所年月前言本教程用于培训那些曾经、正在或将要从事核测井研究工作的人员使他们掌握一种在计算机上模拟核测井过程的技术。目前研究核测井问题的计算机模拟方法有两种一是扩散理论方法二是蒙特卡罗方法。扩散理论法对核测井过程建立玻尔兹曼扩散方程然后求解。由于测井问题比较复杂这个含有多个变量的微积分方程一般不能得到解析解还要用数值方法进行求解在求解时对粒子运动方向的角坐标可用级数展开或取离散角度处理对空间和时间变量多采用差分处理。蒙特卡罗方法则对给定的问题建立相应的随机抽样模型并用以一系列随机数跟踪大量粒子历程的方法完成对粒子输运的模拟。与确定论相比蒙特卡罗方法能更好地适应复杂的几何条件。蒙特卡罗方法模拟辐射输运的思想在年代由美国LosAlamos实验室的科学家提出年开发出了通用程序MCNP。从年代开始美国一些核武器研究实验室和大学受雇于各大测井公司进行核测井数值模拟研究编写出一批核测井专用蒙特卡罗模拟程序。专用程序的计算时效高但针对性强后来随着计算机速度的提高一般人们还多使用通用程序进行计算。目前最常用的两个通用程序是MCNP和英国原子能署的MCBEND。MCNP具有较强的通用性可处理任意三维几何问题提供了多种源分布和记数方式使用精细的点截面数据。MCNP版(年)和A版(年)发行后就成为用蒙特卡罗方法模拟核测井的最流行的通用程序它解决了特征伽马谱线的问题可以较好地模拟中子和光子联合输运使用的主要核数据库是ENDFB。B是年发行的版本对A版做了许多改进并增加了几何重复定义功能。年问世的版可以联合模拟中子、光子、带电粒子(离子)的输运可模拟探测器的测量结果。版与以前版本相比在性能上又有较大改善程序代码时效有显著提高使用了更新的ENDFB评价核数据库。MCNP程序B版传入中国已多年可从中国原子能科学研究院计算机应用研究所得到拷贝。金文绵、李素梅等人将MCNPBIBM版移植到微机上并翻译了原说明书第三章对中国用户提供了很大帮助。本教程主要内容来源于MCNPB说明书的前三章并加上部分本人应用心得。涉及数学方法和物理基础的部分仅作简要介绍其中多数定义并不严格目的是让读者易于接受。有关数学基础和蒙特卡罗方法在粒子输运问题中应用方面的详细知识可参阅裴鹿成和张孝泽的专著中子、光子与物质相互作用的知识可从核物理教材中了解。鉴于本教程有特定的应用范围其中并不全面覆盖使用MCNPB程序的所有知识。有关计算裂变核反应(如临界问题)、如何修改源程序和用户编写输入子程序(如定义用户源、用户记数)的内容本教程中一概不予介绍还有一些我们不常用的MCNP功能(如几何描述重复定义、坐标变换等)也不介绍。对这些内容感兴趣的读者可以阅读MCNPA和B使用说明书。由于本人才疏学浅使用MCNP程序的经验又不多编写过程也比较匆忙本教程中不免存在错误和疏漏。如读者发现其中有差错之处或觉得部分叙述晦涩难懂请与编者联系电话是(家)、(办)。郑华目录页码第一章入门§用蒙特卡罗方法模拟粒子输运§MCNP简介A程序的发展过程和应用领域B程序的特点§MCNP输入文件A输入文件的基本形式B一个简单的例子C接续运行的输入文件D卡片格式E输入错误信息§如何运行MCNPB微机版AMCNPB程序包的主要文件B安装和运行MCNPB的操作步骤第二章几何§基础知识A​ 概述B​ 栅元定义中的一些概念C​ 有关曲面的一些知识§几何描述卡A​ 栅元卡B​ 曲面卡§有效地构建几何A​ 定义栅元的原则B​ 检查几何错误第三章数理基础§物理A​ 粒子权重B​ 粒子径迹C​ 中子与物质作用D​ 光子与物质作用§记数A​ 面流量记数B​ 通量记数C​ 栅元能量沉积记数D​ 探测器记数E​ 记数精度§减小方差技巧A​ 统筹考虑B​ 能量截断C​ 时间截断D​ 几何分裂和轮盘赌E​ 能量分裂和轮盘赌F​ 暗含俘获和权重截断G​ 强迫碰撞H​ DXTRANI​ 源变量偏倚J​ 权重窗口K​ 指数变换L​ 相关抽样M​ 点探测器第四章数据卡§问题类型卡§栅元参数和曲面参数卡AIMP栅元重要性卡BVOL栅元体积卡CAREA曲面面积卡DPWT光子产生权重卡EEXT指数变换卡FVECT矢量输入卡GFCL强迫碰撞卡HWWE权窗能量卡IWWN权窗边界卡JWWP权窗参数卡KWWG权窗产生器卡LWWGE权窗产生器能量卡MPDn探测器贡献卡NDXCDXTRAN贡献卡§源的描述ASDEF通用源卡BSIn源信息卡CSPn源概率卡DSBn源偏倚卡EDSn相关源分布卡FSCn源注释卡§记数方式的指定AFna记数类型卡BFCn记数注释卡CEn记数能量卡DTn记数时间卡ECn记数余弦卡FEMn记数能量乘子卡GTMn记数时间乘子卡HCMn记数余弦乘子卡IDEnDFn剂量能量剂量函数卡JCFn记数栅元标志卡KSFn记数界面标志卡LFSn记数片段划分卡MSDn记数片段的体积面积卡NFQn记数打印层次卡OTFn记数涨落打印卡PDD探测器和DXTRAN诊断指定卡QDXTDXTRAN的参量卡RFTn记数特殊处理卡§材料的指定AMm材料成份卡BDRXS离散反应截面卡CAWTAB原子量卡DVOID否定材料卡§能量和热处理方式的指定APHYS能量物理截断卡BESPLT能量分裂和轮盘赌卡CTMP自由气体热处理卡DTHTME热时间卡EMTmS(,)材料卡§问题截断卡ACUT截断卡BNPS历史截断卡CCTME计算时间截断卡§外围卡APRDMP打印及转储周期卡BLOST丢失粒子卡CDBCN调试信息卡DPRINT打印控制卡§MCNP输入文件综述A输入卡B存储限制第五章经验§一般应用步骤§需注意的问题附录连续能量中子截面库ENDL数据目录中子热截面库BMCC数据目录离散中子截面库D数据目录光子截面库MCPLIB数据目录特殊材料S(,)热截面库TMCC数据目录参考文献第一章入门MCNPB版是一套模拟中子和光子联合输运的通用蒙特卡罗程序它具有连续能量、三维几何和与时相关的处理能力。本章仅简要介绍该程序的使用方法详细内容将在后续各章中叙述。§用蒙特卡罗方法模拟粒子输运图单个中子随机历程示意中子和光子在物质中输运的宏观表现是大量粒子与原子核微观作用的平均结果蒙特卡罗方法通过逐一模拟和记录单个粒子的历程来求解输运问题。要得到比较合理的平均结果需要跟踪大量的粒子至于单个粒子在其生命中的某一阶段如何度过可以在已知统计分布规律的前提下通过抽取随机数来决定。这就象掷骰子赌博一样因而得名蒙特卡罗方法。图显示了模拟中一个中子射入物质后的随机历程。首先根据中子与物质作用的物理规律(分布函数)选取一个随机数决定中子在何处与原子核碰撞本例中在点碰撞然后再用抽取随机数的方法决定中子与原子核发生了哪种反应这里抽出的是非弹性散射反应散射中子的能量和向哪个方向飞行也是用抽取随机数的方法从已知分布函数中决定的碰撞过程中是否产生光子以及光子的能量、飞行方向等参数还是要通过抽取随机数从已知分布中决定这里产生了一个光子。跟踪光子确定它在点与原子核碰撞并被吸收。散射后的中子在点与原子核发生(n,n)反应其中一个出射中子射向探测器另一个中子在点被吸收。在点的碰撞还产生了一个光子它在点又与原子核发生了一次散射反应并离开物质。这一入射中子的历史过程结束了有一个中子到达了探测器感兴趣的结果被记录下来。跟踪越来越多的入射粒子历程后平均结果就能反映出宏观效果。通过以上描述读者不难领略蒙特卡罗方法如何通过跟踪粒子历程的方法计算问题也了解了随机数在蒙特卡罗计算中的独特作用。§MCNP简介A程序的发展过程和应用领域年代美国LosAlamos实验室的Fermi、vonNeumann和Ulam等人提出用蒙特卡罗方法模拟辐射输运的思想。年Fermi发明了第一台用蒙特卡罗方法计算中子链式反应的机器。从年代开始vonNeumann领导一个小组研究输运问题的蒙特卡罗处理方法编写出模拟中子输运的程序MCS。年蒙特卡罗方法描述语言标准化。年完成的中子输运程序MCN有了很大改进使用了标准的截面库并且具有复杂几何描述功能。后来LosAlamos实验室又开发了模拟光子输运的程序MCG(高能)和MCP(能量低至keV)。年MCN和MCG合并成MCNG为MCNP的雏形。MCNP于年开发成功年月发行。B版之前还发行过A、B、、A、B、C、D、和A版。MCNP软件包(ageneralMonteCarlocodeforNeutronandParticletransport)是一套通用的、模拟三维空间中连续能量的中子、粒子联合输运的程序其名字早先来源于theanalogMonteCarlomethodforNeutronandProton'stransport的缩写。MCNP版(年)和A版(年)发行后这一软件在核测井领域逐渐成为最流行的通用程序程序模拟结果和模型井实验结果较好地吻合此时程序使用的主要核数据库是ENDFB。年发行的B版程序增加了几何重构功能。年版问世加入了模拟带电粒子(离子)输运部分可以模拟探测器的测量结果使用了新的ENDFB评价核数据库。MCNP程序的应用范围十分广阔主要包括:反应堆设计、核临界安全、辐射屏蔽和核防护、探测器的设计与分析、核测井、个人剂量与物理保健、加速器靶的设计、医学物理与放射性治疗、国家防御、废物处理、射线探伤等。B程序的特点MCNPB版程序能处理的中子能量范围是MeV至MeV光子能量范围keV至MeV。程序中物理量的单位规定为:物理量单位长度cm能量MeV时间shake,=sec温度MeV(kT)原子密度atomsbarncm质量密度gcm截面barns(cm)加热量MeVcollision此外原子质量按中子质量为计算这种单位下阿佛伽德罗常数是程序运行时间以分钟为单位。MCNP程序的源代码是用FORTRAN语言编写的B版主程序有万多行。程序包中携带了大量的核反应数据库文件我们得到的库文件约占Mb磁盘空间。MCNPB版具有很强的通用性主要体现在:​ 可以处理任意三维几何结构的问题。在输入文件INP中空间被曲面(surface)分割成相互邻接的区域称为栅元(cell)可以给栅元填充各种物质。栅元的界面可以是平面、二阶曲面或某些四阶曲面(如椭圆环状面)。有关MCNP几何描述的知识将在第二章介绍。​ 可以模拟中子输运、光子输运和二者联合输运。​ 用户可以非常方便地在任何位置指定体源、面源、线源或点源设置源粒子位置、能量、时间、飞行方向等参数的分布。源的指定方法将在第四章中介绍。​ 程序提供多种记录模拟结果方法包括通过某一界面的粒子流量或通量、进入某一栅元的通量、沉积能量和点通量。模拟结果在MCNP中称为记数(tally)可以按位置、能量、时间、粒子来向和粒子种类记数。有关记数的指定方法将在第四章中介绍。​ 程序包携带了大量核反应数据库文件包括连续和离散的中子截面库、光子点截面库、热中子点截面库等几乎可对所有天然物质进行计算。程序能比较精细地模拟中子和光子输运过程并对一些特定的物理过程允许用户选择使用哪种方式进行处理如对热中子处理可选用自由气体模型或S(,)模型对低能光子处理可以考虑或忽略相干散射等。​ 为了提高计算时效给用户提供了许多可选用的减小方差(variance)技巧主要包括:重要抽样、权重截断和轮盘赌、时间和能量截断、模拟俘获、指数变换、强迫碰撞、能量分裂和轮盘赌、源的偏倚、点探测器记数、确定论输运、权窗等。有关减小方差技巧的理论基础在第三章中阐述应用方法在第四章中介绍。​ 用户可通过设置源粒子数或运行时间来通知程序何时终止运行还可以在原有计算结果的基础上接续运行程序。一些结果不会因计算的意外中断而丢失。​ 在输出文件OUTP中给用户提供丰富的信息包括输入列表、使用的截面表、粒子生成和丢失表、栅元中的粒子活动情况、中子诱发光子表、记数和记数涨落表等还可以根据用户要求给出其它信息。​ 提供了简单的问题调试工具。§MCNP输入文件若用户不修改源程序MCNP的输入文件包括截面数据库文件、XSDIR文件、INP文件等。INP文件是用户要填写的主要输入文件一般把该文件特指为输入文件。OUTP是MCNP的主要输出文件其它输出文件还有转储文件RUNTPE、运行信息文件OUTPUT等。A输入文件的基本形式INP文件有初始运行和接续运行两种形式用户须在INP中描述问题的几何、材料、源、记数和其它要求。INP由一些被空行分隔的输入块组成主要的输入块是信息块、标题和栅元块、曲面块和数据块等。输入块又由一些被称为卡的输入行组成。初始运行输入文件的格式如下:信息卡}可选空行分隔符标题卡栅元卡空行分隔符曲面卡空行分隔符数据卡空行结束符其它信息卡的~列应填写MESSAGE:后面跟着用空格分隔的参数项。可用A=B参数项更改输出文件名如OUTP=MYOUT。信息块是可选的。在信息块之后的第一行是问题的标题卡它仅限于一行占用~列可以是任何信息将作为OUTP文件中各个输出表的标题被复制。用户在栅元块和曲面块中描述问题的几何。栅元由栅元卡描述。空间必须由彼此相邻的栅元填满栅元之间不能重叠也不能出现无栅元的空区否则会出现错误。构建栅元的曲面由曲面卡定义曲面卡在曲面块中给出。曲面卡和栅元卡的填写方法见第二章。曲面块之后是数据块在数据块中用户描述源、记数方式、材料等。数据卡在第四章详细介绍。无论数据块后是否有空行结束符MCNP都能运行。用户可以把希望保留的一些附加信息写在数据块的空行之后MCNP会将它们复制到OUTP文件末尾。B一个简单的例子为说明如何填写INP文件这里例举一个简单问题。如图所示在一个边长cm的石墨立方体中有两个半径cm的球形空间球中充满氧气球是铁球。在球中置一MeV各向同性中子点源计算球外表面与能量相关的中子通量。建立的INP文件如下:SAMPLEPROBLEMINPUTDECK​ –​ –​ ––––​ :::::空行PZPZPYPYPXPXS––S空行MODENIMP:NSDEFPOS=––ERG=FEEEEMMM图例子的几何示意图NPS空行本例中没有信息块第一行是标题卡之后至空格前为栅元块。栅元卡上依次填写栅元号、材料号、密度和构成栅元界面的曲面号(带正负号)这里定义了个栅元:栅元由球面围成里面填充材料(O气体)密度是gcm栅元由球面围成填充材料(铁)密度gcm栅元由平面、、、、、围成不包括球面、以内的空间填充材料(石墨)密度gcm栅元是栅元以外的空间为真空。曲面卡上需要填写曲面号、曲面类型和曲面参数本例中定义了个曲面前个为与原点距离cm垂直于各坐标轴的平面后两个是半径cm的球面球心分别在(,,)和(,,)。数据块中指定了问题类型、源、记数方式、材料和运行粒子数各卡数据项的意义如下:MODE卡问题类型是中子输运IMP卡个栅元的中子重要性分别是SDEF卡位于(,,)、能量MeV的各向同性点源F卡在曲面上做中子通量记数E卡对记数能量分区~MeV之间间隔为MeVMeV~MeV之间间隔为一个数量级M卡材料是O核素M卡材料是Fe元素M卡材料是C元素NPS卡运行源粒子数以上例子仅用于说明INP文件格式有关各输入卡的详细内容读者在此不必深究。C接续运行的输入文件为了继续一个早先被终止的计算或想对早先终止的计算进行重新编辑打印(指向文件输出即PRINT语句不是向打印机输出)可以接续运行MCNP。接续运行INP文件中必须有信息块信息卡中必须有C或Cm参数其中m表示从第m次转储开始接续运行m缺省表示从最后一次开始。接续运行输入文件的格式为:MESSAGE:Cm空行分隔符CONTINUE数据卡空行结束符其它此时INP中不能有标题卡、栅元块和曲面块。数据块第一行必须是CONTINUE允许使用的数据卡只是NPS、CTME、PRINT、FQ、DD、PRDMP、LOST和DBCN卡。NPS卡参数为累积运行的总源粒子数CTME卡参数相对于本次运行的开始时间。如果给NPS置负参数表示仅从转储文件中提取数据重新打印。接续运行的另一个必要条件是上次运行的转储文件RUNTPE还没被删除。因每次运行都生成新的转储文件若想对一次运行结果多次重新打印则应把RUNTPE文件做备份。各次转储时运行的源粒子数和时间可从OUTPUT文件中查到。D卡片格式INP文件的每一行都限于使用~列。卡片都可以按行填写数据卡也允许按列填写。a)行输入格式通常卡片的~列用于填写栅元号、曲面号或数据卡的助记名~列填写卡片参数~列为注释$符号之后也为注释。序号或卡片助记名可以写在~列的任何地方。带有粒子标识符助记名可能需要列以上但冒号必须写在列以内。如果~列空白表示本行为上一行的接续行。列之后可以写数据项多个数据项之间用空格分隔。一个数据项必须在一行上写完不得接续到下一行。相同编号的卡片只能有一张。填写卡片参数时可以使用以下书写功能:​ nR功能表示它前面的数据再重复n遍。​ nI功能表示与其前后相临两个数之间插进n个线性插值点。​ xM功能表示数值等于它前面数据的x倍。​ nJ功能表示从本项开始的n个数据使用缺省值。b)列输入格式列输入只能用于数据块中对栅元参数和源的描述比较有用。按行输入的栅元重要性、体积、权窗等数据项可读性较差而且增加或删除栅元时要在行输入卡上仔细寻找相应项。列输入的可读性有很大提高删除或增加与某一栅元相对应的数据项时也比较方便。列输入格式的第一行以#开始#可以放在~列的任意位置卡片助记名逐个放在该行列以后在这些助记名之下按列给出数据项。同一个列输入格式块中的卡片必须是同一类卡片比如都是栅元参数卡、都是曲面参数卡或都是源参数卡等在#号下面的~列放置栅元号、曲面号或源分布号。c)粒子标识符粒子标识符是卡片助记名的一部分:N表示中子:P表示光子有时也能遇到表示中子光子联合输运的:NP。下面一些数据卡需要粒子标识符:IMP、EXT、FCL、WWN、WWE、WWP、WWCE、DXT、DXC、Fna、PHYS、ESPLT和CUT。d)缺省值MCNP许多输入卡的参数项有缺省值用户不必每次都给出这些参数如果卡片输入项有固定顺序可以使用nJ功能跳过n个输入项。如果卡片上所有数据项都想缺省只给出卡片助记名即可。有些卡片不给出也有缺省值如MODEN卡就可以省略。E输入错误信息MCNP对输入文件作广泛的检查如果用户违反输入规定将在输出文件OUTP中打印致命错误信息(FATALERROR)程序停止运行。第一个致命错误是真实的后面的致命错误不一定是真实的。MCNP还给出许多警告性的提示(WARNING)对这些提示用户也不可忽视。如果遇到任何代码损坏如零作除数MCNP将给出BADTROUBLE信息并终止运行。§如何运行MCNPB微机版通常编辑INP文件后键入RUNMCNP并回车就可运行MCNP程序。B微机版源程序用NDPFORTRAN编译器编译要求以上的微机和DOS之后的操作系统不能在Windows系统或保护方式下运行。AMCNPB程序包的主要文件​ MCNPDAT:MCNPB源程序MCNPF的缩写型文件。文件中所有公用说明语句只列出一次便于修改。​ PRPRF:辅助程序把MCNPDAT展成MCNPF。​ MAKXSFF:该程序用于对NCMP所需截面数据加工处理从原有的截面数据文件中挑选若干常用的截面数据生成新的较小文件可以节省磁盘空间和缩短程序运行时的数据读取速度。​ SPECS:是MAKXSF程序的输入文件用来指定加工截面数据文件的任务清单包括加工格式、输出文件名和核素。例如某SPECS文件的内容是:XSDIRXSDIRMCPLIBPPPBMCCSCCC表示原截面库目录文件名是XSDIR新截面库目录文件是XSDIR(为二进制的直接存取文件)MCPLIB中包含H、He和S的光子截面数据BMCCS中包含H、He和U的连续能量中子截面数据它们必须在XSDIR目录规定的数据库中存在。​ XSDIR:它也是MAKXSF程序的输入文件是现有全部截面数据库目录。​ BMCCS:连续能量中子截面数据。​ D:离散能量中子截面数据。​ MCPLIB:光子截面数据。​ TMCCS:热处理中子的数据。​ ENDL:连续能量中子截面数据。​ DOS:中子剂量数据。​ DOS:中子剂量数据。​ LLLDOS:中子剂量数据。​ PROB~PROB:例题。​ OUTP~OUTP:例题结果。B安装和运行MCNPB的操作步骤​ 拷贝原盘上的文件PRPRF、MAKXSFF、MCNPDAT、XSDIR及所需截面数据库文件。​ 安装NDPFORTRAN编译器。​ 建立MCNP输入文件INP。​ 建立MAKXSF的输入文件SPECS。​ 编译PRPRF和MAKXSFF:FPRPRFFMAKXSFF​ 运行MAKXSFEXP:RUNMAKXSF生成新的截面库目录文件XSDIR和新截面数据库文件。​ 展开MCNPDAT:RUNPRPR生成MCNPF文件。​ 编译运行MCNPF:COPYXSDIRXSDIRFMCNPFRUNMCNP运行结束生成结果文件OUTP、转储文件RUNTPE、运行信息文件OUTPUT等。第二章几何本章介绍MCNP几何构建方法INP文件中栅元卡和曲面卡格式以及用户定义栅元时应注意的事项。§基础知识A概述图迪卡尔坐标系用户在三维正交坐标系(见图)下定义曲面用曲面围成栅元在栅元中填充物质。栅元可由一些曲面包围区域的交集和并集构成。曲面可通过设置解析方程参数或指定曲面上一些已知点定义。B栅元定义中的一些概念a)​ 坐向(sense)定义栅元时一个重要的概念是坐标点相对于曲面的坐向。假设s=f(x,y,z)=是一曲面S的方程对于任意一点(x’,y’,z’)代入s=f(x,y,z)后若s=则该点在曲面S上。若该点不在曲面S上有两种情况:s>时称该点相对于曲面S具有正的坐向反之称该点相对于S具有负的坐向。例如球面以外的点相对于球面具有正坐向沿坐标轴正向离开垂直于坐标轴平面的点相对该平面具有正坐向。任何曲面都把空间分成两部分一部分相对于该曲面具有正坐向另一部分具有负坐向。填写栅元卡时在曲面号之前用正负号表示栅元中的点相对于该曲面的坐向正号可省略。b)​ 交和并(intersectionunion)图交和并交集是两个集合的公共部分如图a所示。并集是两个集合的合集见图b。MCNP中交算符是隐含的在栅元卡上两个曲面号之间只有空格就表示交运算。并算符用冒号:表示。图例子若想仅用交算符定义栅元栅元内所有点对特定的界面必须有相同的坐向。如图所示、、、、面围成一个实体用密度为gcm的材料填充外部是真空。实体内P和P点相对于面有负坐向P点相对于面有正坐向P点相对于面有正坐向P和P点相对于面有负坐向。这时最好借助另一平面把实体分成两部分从而顺利定义栅元:––––然而只用交算符还不便定义实体之外的区域这时用并算符比较方便实体外可由、面以上区域的交集和其它几个面以外区域的并集构成一个栅元::::当然实体之内的区域也可以借助并算符定义把、栅元合并(这样定义会降低计算速度)。由于交运算优先所以要用括号把并运算括起来:(:)c)补(complement)补算符#的用法有两种:#n表示当前定义的栅元是栅元n其余的部分。#()表示括号内曲面号定义区域之外的部分。引入坐向概念后补运算就不是交运算和并运算之外的新概念而是交和并的另一种表示方法。例如对上面第一种情况的处理过程是去掉#号把n用括号括上n中的交算符变成并算符n中的并算符变成交算符而且加上背靠背的括号)(曲面之前的坐向取相反符号。数学中常用表示交运算、用表示并运算、ˉ表示补运算有此处和a则用坐向指定。使用补算符时要格外小心用户常因对补算符理解不透而弄出几何逻辑错误因此建议不使用补算符。另外#(n)是不合规定的。C曲面定义中的一些概念a)模糊面(ambiguitysurface)图模糊面的作用有时需借助栅元界面之外的曲面来描述栅元。如图所示假设图中实体绕y轴旋转对称栅元和相对于球面都有正坐向、相对于平行于y轴的柱面都有负坐向。这时可用垂直于y轴的平面a(y=)来区分栅元和平面a被称为模糊面。模糊面是为了使栅元描述不模糊而设置的曲面它不是本栅元界面但通常是其它栅元的界面有时需要借助不止一个模糊面。b)叶(sheet)图二叶锥面锥面和椭环面分多叶。通常用方程定义的锥面含有两个叶相对于锥面旋转对称轴所平行的坐标轴而言一个具有正的展开方向另一个具有负向斜率。一个使用二叶锥面描述的栅元常要借助模糊面来区分栅元在锥面的哪一个叶。为了减少使用模糊面可以在曲面卡上只定义锥面的一个叶用表示正斜率的叶表示负斜率的叶。这种描述方法仅适用于旋转对称轴平行于坐标轴的锥面。D思考题MCNP用什么方法描述几何。如何用曲面描述栅元几何。模糊面有什么作用。§几何描述卡在输入文件INP中栅元卡用于栅元块曲面卡用于曲面块。材料卡出现在数据块中将在第四章中介绍它。A栅元卡(cellcard)格式:jmdgeomparamj:在~列上填写的栅元标号可以不连续。MCNP按照读入的顺序对栅元另行编号称为栅元的程序编号从开始单调上升。为避免程序编号和栅元标号混淆建议按顺序给出栅元标号m:该栅元的材料号是材料卡Mm中相应的序号。真空栅元m=d:栅元材料的密度。填正值表示原子密度单位atomsbarncm。负值表示质量密度gcm。对于真空栅元该项不填写geom:栅元几何说明列出界定该栅元的曲面的号(有符号表坐向)和描述这些曲面包围区域之间关系的布尔算符。布尔算符包括交算符(缺省)、并算符(:)和补算符(#)。缺省运算顺序是先补再交最后并。可用括号改变运算次序param:可选的栅元参数说明形式为:关键字=某一值在栅元卡上可以定义栅元参数以替代在输入块中定义栅元参数。这里允许的关键字是:带有粒子标识符的IMP、VOL、PWT、EXT、ECL、WWN、DXC和TMP。栅元卡参数项上的等号可用空格代替。若在栅元卡上指定了某种栅元参数则在数据块中不能重复指定。B曲面卡(surfacecard)a)由方程定义曲面格式:jnlistj:在~列上填写的曲面标号可以不连续n:方程助记名list:按规定次序给出的方程数据项下表列出了MCNP识别的曲面的类型、方程、助记名和数据项次序:助记名类型说明方程数据项P平面一般c)AxByCzD=ABCDPX垂直于x轴xD=DPY垂直于y轴yD=DPZ垂直于z轴zD=DSO球球心在原点xyzR=RS一般(xx)(yy)(zz)R=xyzRSX球心在x轴(xx)yzR=xRSY球心在y轴x(yy)zR=yRSZ球心在z轴xy(zz)R=zRCX圆柱平行于x轴(yy)(zz)R=yzRCY平行于y轴(xx)(zz)R=xzRCZ平行于z轴(xx)(yy)R=xyRCX轴心为x轴yzR=RCY轴心为y轴xzR=RCZ轴心为z轴xyR=RKX锥平行于x轴(yy)(zz)t(xx)=xyztKY平行于y轴(xx)(zz)t(yy)=xyztKZ平行于z轴(xx)(yy)t(zz)=xyztKX轴心为x轴yzt(xx)=xtKY轴心为y轴xzt(yy)=ytKZ轴心为z轴xyt(zz)=ztSQ椭圆面双曲面抛物面轴心平行于x、y或z轴A(xx)B(yy)C(zz)D(xx)E(yy)F(zz)G=ABCDEFGxyzGQ柱面、锥面椭圆面、双曲面或抛物面轴心不平行于坐标轴AxByCzDxyEyzFzxGxHyJzK=ABCDEFGHJKTX平行于坐标轴的椭圆或环形(xx)B{(yy)(zz)A}C=xyzABCTY(yy)B{(xx)(zz)A}C=xyzABCTZ(zz)B{(xx)(yy)A}C=xyzABCb)用点定义对称曲面格式:jnlistj:在~列上填写的曲面标号可以不连续n:=X、Y或Zlist:一至三个点的坐标每个点用一对值表示类型为X、Y或Z的曲面卡用坐标点而不是用方程来分别描述关于X、Y或Z轴对称旋转的曲面。如果这个曲面由一叶以上组成指定的点必须都在一叶上。每对坐标值定义曲面上的一个点例如在Y卡上可以给出jYyryr其中(yi,ri=(xizi))是i点的坐标。给出点数不同曲面类型也不同:i)一对坐标定义一个平面(PX、PY、PZ)ii)两对坐标定义一个线性曲面(PX、PY、PZ、CX、CY、CZ、KX、KY、KZ)iii)三对坐标定义一个二次曲面(除以上类型还有SO、SX、SY、SZ和SQ)。c)用点定义一般平面格式:jPxyzxyzxyzj:在~列上填写的曲面标号可以不连续xyz:定义该平面的坐标点MCNP对用户指定的P型曲面将检查数据项个数若是项则作一般平面方程AxByCzD=的系数理解若是项则作为平面上三个点的坐标值理解所产生的平面方程系数遵循以下原则:)应使坐标原点相对于该平面具有负坐向)当平面通过原点(D=)应使(,,)相对该平面具有正坐向)若以上两项无法满足(D=C=)应使(,,)相对该平面具有正坐向)若以上三项无法满足(D=B=C=)应使(,,)相对该平面具有正坐向)若以上四项都无法满足那么用户指定的三个点一定处于一条直线上则打印警告信息。C思考题栅元卡的格式如何。为什么最好按顺序指定栅元标号。卡上材料号对应什么密度数据项填负值表示什么。如何用曲面卡定义曲面。§有效地构建几何即使是十分有经验且细心的用户在构建比较复杂的几何时也经常会犯一些错误。有些错误程序可以检查出来有些则不能以致造成错误结果。几何构建还直接影响程序运行效率不合适的几何构建将浪费机时。A​ 定义栅元的原则原则:栅元界面要少图栅元界面示意尽管可用大量的并算符定义一个几何上比较复杂的栅元但这样做并不明智。问题在于每次计算栅元内碰撞之间的径迹时都计算径迹和栅元所有界面是否相交以判断粒子是否进入其它栅元太多的栅元界面会浪费机时。如图a中的几何只是一些平行的柱面较容易定义然而两个大柱面之间的栅元有个界面(包括前后界面)图b则是比较有效的栅元定义复杂界面的栅元被分隔成一些小栅元每个栅元的界面有所减少。原则:栅元大小要合适构建物理空间时除按不同材料区域分割栅元外还必须考虑效率因素。为了节省运算时间栅元不能定义得太大或太小。在比较重要的区域建议调整栅元大小使粒子进入相邻栅元后数量约减少一半以利于使用几何分裂和轮盘赌技巧。原则:尽量用简单曲面定义栅元如前所述MCNP频繁计算碰撞点到界面距离。点到二阶以上曲面的距离一般不能用解析法求解用牛顿下山法求解时多次叠代很浪费时间。如果问题条件允许尽量使用二阶以下曲面分段替代二阶以上曲面。原则:避免曲面和曲面相切即使使用双精度变量也不能计算出点到曲面的确切距离因而在曲面和曲面相切处有时会因计算精度不够导致栅元重叠或空缺造成粒子丢失。虽然这种粒子丢失几率很小一般不会影响记数结果但计算大量粒子问题时可能会因为丢失粒子数量超过限制使程序停止运行。B​ 检查几何错误MCNP检查INP文件的数据时不能检查出几何逻辑错误。而运行中粒子丢失时才能检查出栅元的重叠或栅元之间的空缺。因此在正式运算前应采取以下办法检查几何逻辑错误:)​ 增加一个VOID卡。这个卡将废弃这个问题的材料说明将全部栅元设为真空并把加热记数转化为通量记数。)​ 对这个问题增加一个大球面这个球面包围需计算的系统球面把系统之外的栅元分成两个栅元。球内面是现在问题的边界内部所有栅元的重要性都置为。)​ 源描述改为:SDEFSUR=mNRM=其中m是刚才定义大球面的标号。由于上述改动使粒子在计算系统中没有碰撞一个短时间运行就会使大量粒子的轨迹穿过系统可能在出现几何错误的地方引起粒子丢失。粒子丢失时OUTP文件上将产生丢失粒子打印表。表中列出丢失粒子跨越的所有曲面并告诉你粒子在什么位置上向什么方向运行后丢失。你可以从这些信息中推断出粒子丢失的原因。C习题图井况模型请描述如图所示井况模型为高m、半径cm的圆柱体。地层半径为cm至cm材料号为密度gcm。水泥环厚mm材料号为密度gcm。套管外径mm厚mm材料号为密度gcm。井内介质材料号为。为缩短计算时间地层栅元的大小取高cm、环距cm其它栅元高度也取cm。本题中共有个栅元。第三章数理基础本章介绍粒子在物质中输运的处理记数的设置以及减小方差的技巧。§物理A粒子权重(particleweight)若严格模拟实际过程则一个MCNP粒子仅代表一个实际粒子且具有为的权重。然而为了提高计算效率MCNP允许用户使用许多并非实际过程的偏倚技巧。偏倚就是使一些感兴趣区域(包括位置、时间、能量等方面的区域)中粒子数增加另一些区域中粒子数减少。为使计算结果不出现偏差人为地改变粒子数后相应地要调整每个粒子的权重。所谓粒子权重就是每个模拟粒子携带的一个数w它代表该粒子对最终结果有w份贡献或者说该粒子相当于w个实际粒子。w不一定是整数有时小于。不论模拟多少个源粒子MCNP都给出相对于一个源粒子的记数。如果用户希望得到一定源强条件下的结果可在SDEF卡上改变源粒子权重指定WGT=w这时记数结果是相对于发射w个源粒子。B粒子径迹(particletracks)径迹是源粒子和诱发粒子在其历程中的运行轨迹粒子在两次与原子核碰撞之间的运行线路是直线粒子自身之间的作用忽略不计。在任何给定材料的栅元中MCNP计算沿径迹方向到下次碰撞点的距离而不是计算单位体积内碰撞几率。假设微观总截面是t要抽样的径迹长度是l可以证明l和抽取出的,)区间随机数之间的关系是l=lnt()C中子与物质作用中子不带电它与物质中原子的相互作用主要表现为与原子核作用与核外电子的作用可忽略。不同能量的中子与原子核的作用有不同特点:)能量在~keV之间的慢中子与原子核主要发生弹性散射和俘获反应。热中子能量kT=eV(k是玻尔兹曼常数T是绝对温度取K)它是和原子热运动达到平衡时的能量其速度分布接近麦克斯韦分布。能量eV的中子称为超热中子。能量在eV至keV之间的中子称为共振中子这种中子被原子核强烈地共振吸收吸收截面很大。)能量在keV~MeV之间的中能中子与原子核的主要作用形式是弹性散射。)快中子的能量在MeV~MeV之间与原子核主要发射弹性散射和非弹性散射反应。)能量高于MeV的特快中子与原子核发生弹性散射、非弹散射反应等。MCNPB模拟中子的能量范围是~MeV。当能量很高的中子与大块物质作用时经过多次与原子核碰撞能量不断减小最后或者被俘获或者变成热中子。低能中子和原子核碰撞时受热运动的影响也受碰撞原子核周围原子的影响。MCNP一般用自由气体模型处理原子核热运动这种模型下弹性散射截面在零温度截面基础上作修正其它中子反应的截面不随温度变化。对于某些常用原子MCNP还提供一些温度条件下的考虑了晶格和化学键影响的精细S(,)表。如果中子能量足够低使用S(,)表后总截面是常规截面表中俘获截面以及S(,)表中弹性截面、非弹性截面的总和。否则总截面从常规截面表中得出随温度变化作调节。MCNP模拟中子输运时要跟踪径迹反复考虑如下事项:a)碰撞前中子的能量、飞行方向和径迹长度b)与哪种核碰撞被碰撞核的速度与方向(除非使用S(,)处理)c)碰撞过程是哪种反应如弹性散射、(n,xn)、(n,p)、(n,)、俘获等c)碰撞过程选择地产生光子模拟每个光子的初始能量、运动方向、权重d)碰撞后中子(或几个中子)的能量、飞行方向、权重下一次在什么位置和哪种核碰撞。如此反复直至中子能量足够低或权重足够小。)选择碰撞核设介质由n种核组成是一个,)上的随机数当()成立时第k种核被选择为碰撞核ti是栅元中第i种核的微观总截面。)靶核速度抽样如果不使用S(,)处理需要考虑靶核速度。对轻核若中子能量高于kT(eV)对重核高于kT(eV)靶核的速度对碰撞截面的影响可忽略不计。其它情况下要按麦克斯韦分布抽取靶核速度()其中=(AMnkT)A是靶核质量Mn是以MeVshcm为单位的中子质量。靶核运动方向从各向同性分布中抽取。然后得到动能为E的中子的等效散射截面()其中vrel是中子和靶核间的相对速度s(vrel)为相对速度的散射截面(从截面数据库中查出未作温度修正)是中子入射和出射方向夹角的余弦。相对速度的计算公式是()其中vn是中子速度V是靶核速度T是二者速度夹角的余弦。)弹性散射和非弹性散射如果碰撞时中子未被俘获它就参与弹性散射或非弹散射反应广义的非弹散射可以是(n,n’)、(n,np)、(n,n)等。弹性散射以的概率被选择非弹散射以余下的概率被选择其中el是弹性散射截面,in是非弹散射截面。出射粒子方向:对弹性和非弹散射抽取出射粒子飞行方向的方法是一样的入射和出射方向夹角的余弦从截面文件的角分布表中抽取。对每种特定的中子入射能量角分布表都有个分立的箱。如果入射能量是E介于有角分布表的能量En和En之间则以(EEn)(EnEn)的几率从n表中抽取角分布以(EnE)(EnEn)的几率从表n中抽取角分布。抽取随机数找到第i个余弦箱使得i<i则有=i(i)(ii)()出射和入射方向之间的方位角则从各向同性分布抽取出射粒子能量:对于弹性散射和分立能级非弹散射出射粒子的能量由两体动力学规律确定对其它的非弹散射出射粒子能量的确定要依靠截面表。弹性散射出射粒子能量等于()其中Ein是入射中子能量cm是质心系下入射和出射夹角余弦。非弹散射情况比较复杂要按截面比例分别考虑每个出射粒子的权重抽取出射能量的规则有条常用的一些规则是:规则象抽取入射和出射方向夹角余弦一样出射能量从一些等几率的能量箱中抽取。规则分立光子能量。假设能级差是EG则瞬发光子能量是EG俘获辐射光子能量是EGA(A)En其中A是原子质量En是入射中子能量。规则(n,n’)反应。用’表示质心系无’表示实验室系()规则表分布。对每种特定的入射能量表包括三部分即次级能量E(I)、概率密度函数PDF(I)和累积密度函数CDF(I)。常用内插方法得到出射能量抽取随机数若CDF(K)<CDF(K)则按直方分布得到的出射能量是E’=E(K)(CDF(K))PDF(K)或按线性插值()只有PDF(K)=PDF(K)时才使用直方分布。规则一般蒸发谱。函数g(x)随x变化关系用表给出能量随入射粒子能量Ein的关系也用表给出规则是()密度函数由以下方式抽取()其中T(Ein)是入射能量的表函数()是随机数的表函数。)S(,)处理若中子能量足够低且用户指定使用S(,)表则碰撞通过S(,)处理被模拟而不经过第)步。中子与原子核碰撞受到原子热运动及附近其它原子的影响S(,)同时考虑了二者的影响。a)对于非弹散射对应入射能量表的特定能量出射能量分布由等概率的确定能量表示覆盖eV到eV的能区伴随着一系列角分布数据。若入射能量为E出射能量E′从分布()抽取其中Ei和Ei是在入射能量表中的相邻能量N是等概率出射能量的数目Ei,j是对应于入射能量Ei的第j个离散出射能量是选中入射能量表Ei的概率()对应入射能量Ei和出射能量Ei,j有一套等几率分立余弦箱{i,j,k(k=)}以的概率抽取其中的第k个有()b)对于弹性散射上述过程也适用于数据源于非连续近似的情况。对于连续近似数据常被存储为一系列参数DKel=DKE当EBkE<EBk()el=当E<EBE是入射能量EBk是由晶格参数得出得Bragg能量。如果EBkEEBkPi=DiDk(i=k)表示一积累概率分布从中抽得i认为散射发生在第i个Bragg晶格的边缘。散射余弦从关系式=EBiE中得到。)俘获有两种处理俘获的方法:模拟和暗含。若用模拟处理粒子以at的概率被杀死a和t是在入射中子能量下碰撞核的吸收截面和总截面。吸收截面是所有的(n,x)截面总和x是除中子以外的任何粒子。若用暗含处理中子权重被减小到原来的(at)倍。如果新的权重低于问题的截断权重(在CUT卡上给出)使用轮盘赌减少粒子且每一个存活的粒子都具有更大的权重。缺省情况下MCNP使用暗含俘获处理。对于模拟俘获被杀死粒子的能量和权重沉积在碰撞栅元中。对于暗含俘获at倍的入射能量和权重沉积下来。二者宏观效果一致。也可以在确定中子飞行距离时作暗含俘获处理这时抽样的飞行距离是到散射点的距离而不是到碰撞点的距离用下式抽取ll=lns(

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/31

实用MCNP3B教程

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利