一:MCNP的简述
MCNP是美国Los Alamos国家实验室开发的大型多功能通用蒙特卡罗程序,可以计算中子、光子和电子的联合输运问题以及临界问题,中子能量范围从10-11MeV至20MeV,光子和电子的能量范围从1KeV至1000MeV 。程序采用独特的CSG曲面组合几何结构(构建三维复杂几何),使用连续能量点截面数据库,程序通用性较强,可并行计算。
2013年,推出了mcnp6.1版本。目前最新的版本是,2018年推出了mcnp6.2版本,高版本的软件相对于低版本的软件有较大的改变。注意:mcnp6与mcnpx还是有区别的,并不是没有区分的。
二:xsdir与截面数据库选择
xsdir与MCNP可执行程序在同一目录下,用来索引全部的核素截面信息,包括中子,光子,电子等;其中xsidr文件主要包括三部分数据
第一部分是:截面数据库文件的路;
第二部分为:各元素内全部核素的原子质量比数据;
第三部分为:单条的单个核素截面索引信息(核心信息为标识符,文件名称,温度等);
标识符c代表中子数据库,p代表光子数据库;
三:MCNP不同版本安装步骤
3.1 MCNP4C程序安装、运行与源程序编译
A、安装
通常我们能拿到的MCNP原始文件有两种:一种是可以直接运行的,这个无所谓安装,只要你把它放在本地硬盘的一个合适位置就可以了,多数人都是采用这种方式;另一种是有源代码的,里面含有安装文件C700DOS2.EXE。对于这种具体安装步骤如下:
1.找到并双击C700dos2.exe;
2.把文件解压到目标文件夹下,如d:\mcnp(或者其它);
3.在MCNP目录下创建一个新的文件夹work;
4.在d:\mcnp\exe路径下,复制mcnp_dvf.exe并且改名为mcnp.exe ;
5.把mcnp.exe从d:\mcnp\exe移动到d:\mcnp\work下;
6.在d:\mcnp\exe路径下,复制xsdir2_dvf并且改名为xsdir;
7.修改xsdir文件第一行:把DATAPATH=\mcnp\xs修改为DATAPATH=..\xs ;
8.把xsdir从d:\mcnp\exe移动到d:\mcnp\work下;
9.运行时把输入文件也放在work目录下(就是说输入文件要和mcnp.exe、xsdir放在相同的目录下)。
B、运行
下面以前面安装的工作为基础简单介绍在XP下的运行方法。若用户不修改源程序,MCNP的输入文件包括截面数据库文件、截面库目文件XSDIR、问题输入文件INP等。INP文件是用户要填写的主要输入文件,一般把该文件特指为输入文件。OUTP是MCNP的主要输出文件(文本格式),其它输出文件还有转储文件RUNTPE(二进制格式)、运行信息文件OUTPUT等。所有文件的文件名不能超过7个字符。
运行的方法是:点击“开始”——“运行”,输入cmd。在命令提示符下输入d:,回车;输入cd mcnp\work,回车;输入cd work,回车,进入到运行目录了。
(1)如果输入卡文件名是INP,即使用缺省文件名,则运行的命令可以是:
d:\mcnp\work> mcnp
(2)如果不是使用以上缺省文件名,则在命令行中重新指定。假设输入卡文件名是mcin,那么运行命令可以是:
mcnp inp=mcin outp=mcout runtpe=mcruntpe
或:
mcnp i=mcin o=mcout ru=mcrntpe
如果在当前文件夹中存在与mcnp将要产生的文件名相同,则mcnp自动按字母顺序将文件名最后一个字符改变为字母表中下一字符。
(3)如果想让在一次运行中所产生的文件,有相似的文件名,使用如下方式:
mcnp name=job1
运行后产生的OUTP 文件将为JOB1O,RUNTPE 为JOB1R。如果文件已经存在,MCNP将不会覆盖它们,而是给出一条消息并中断运行。
(5)如果要看几何绘图,先删除work目录下刚生成的job1o和job1r两个文件,再输入下面命令并回车:
mcnp ip n=job1
如果能绘图的话会弹出plot提示符,在此例如你可以输入ex=100,就可以看到自己的几何描述了,详细的参数看手册。
C、源程序的编译
MCNP采用适应多环境能力的设计思想,即通过选择不同参数对程序文件进行加工处理,可得到能分别在UNIX(SUN、HP、IBM RS/6000、SGI、DEC等机型)、CRAY(UNICOS、COS、CTSS等系统)、DEC、VAX等多种不同环境下编译、运行的源程序。为了能对程序作诸如计数修改、添加有关子程序、截面参数调用程序编制和移植开发等方面的一些工作,用户首先必须根据自己的计算机系统,从MCNP安装包中分离出适应用户机器环境的可编译源程序,然后才能进行相关工作。
(1) 系统配置及相关文件
编译处理的MCNP程序版本为4C版本,需具备表2.3中所列出的文件。
表2.3 MCNP4C源程序相关文件
源程序文件 |
说明 |
MCSETUP.ID |
Fortran程序,用于制作编译配置文件 |
PRPR.ID |
Fortran程序,用于对MCNP程序预处理 |
MAKXS.ID |
Fortran程序,用于处理截面数据库 |
MCNPC.ID |
C程序,MCNP的C程序部分 |
MCNPF.ID |
Fortran程序,MCNP的Fortran程序部分 |
出于维护方便MCNP源程序主体是用标准Fortran 77 写成的,非标部分比如:系统相关特性,时间相关,图形,内存动态分配部分是用C语言写成的,为了能对这两种语言进行编译,对于4C版本WINDOWS XP下可安装Digital Visual Fortran ,版本6.0;Microsoft Visual C++ ,版本6.0。假设它们都被安装在E:盘Program Files下。
(2) 编译器环境设置
建议先创建一个目录,如F:\MCC,以下操作均可在该目录下进行。为使编译过程简化,可在命令提示符下使用行编译命令,为此需要将E:\Program Files\Microsoft Visual Studio\DF98\BIN下的DFVARS.BAT,及E:\Program Files\Microsoft Visual Studio\VC98\Bin下的VCVARS32.BAT复制至F:\MCC目录下。在命令提示符窗口中,设定F:\MCC为当前工作目录,执行上述两个批处理文件,这一步非常重要,它将直接影响下面操作的顺利进行。
(3) 产生编译配置文件
将安装盘中的MCSETUP.ID、PRPR.ID、MAKXS.ID、MCNPC.ID、MCNPF.ID复制到MCC目录下,并将MCSETUP.ID改名为MCSETUP.for,在命令提示符窗口中执行下面的编译命令,
F:\MCC>f90 mcsetup.for
生成可执行文件mcsetup.exe,运行该程序,进入MCNP编译设置主菜单界面,选择适应目标机器环境的设置,具体设置如下:
- 输入“1.1”,在出现的计算机系统描述菜单中选择“2”(PC DVF WINDOWS);
- 输入“3.3”,在出现的绘图选项菜单中选择“5”(DVF QuickWin);
- 输入“4.1”,在出现的截面数据路径菜单中选择“1”,出现路径输入提示行,假设机器上截面数据被存放在D:\MCNP\XS下,应该输入D:\MCNP。
以上设置完成后输入“P”(Process),回车,让程序完成最后处理工作,最终将在当前目录F:\MCC下生成文件install.ans、makemcnp.bat、patchc、patchf四个文件。其中install.ans记录了各设置选项,makemcnp.bat是MCNP程序编译批处理文件,patchc与patchf是源程序预处理标识文件。
(4) 编译源程序
在命令提示符窗口中,执行批处理makemcnp.bat,系统将自动完成预处理及编译任务,生成可执行程序prpr.exe、makxsf.exe、mcnp.exe,同时生成目录flib与olib,在flib目录下存放的是MCNP源程序的各个模块文件,olib目录下存放的是各个模块编译后的目标文件。用户可以根据实际需要修改对应源程序,比如使用自定义源或记数箱,之后只需对修改的模块重新编译成目标文件,然后与其它模块的目标文件重新连接即可。
3.2 MCNP6程序安装
Datapath:
下载过的MCNP6安装包,经过解压出来,如下图的文件所示,然后右击用管理员程序运行。 但是不同的系统会出现不同的问题,尤其是win11系统会出现没有管理员运行,这儿主要设置后面的环境变量。
Path: