一、文件结构
输入文件:文件名不可多于7字符,不建议有扩展名。
输出文件:扩展名为 .o 的文件,常规输出;.w 文件,输出surface source;.p 文件,追踪粒子输运过程。后两个需专门设置才会输出。
计算过程记录文件:.r 文件,可用于根据上一次计算结果继续运算。
二、输入文件规范
输入文件分为三部分,包括cell块、surface块、其他块。块内除注释外不得有空行,两块之间只能有一个空行。MCNP会自动忽略输入文件第一行,可用于做备注。
注释方法:行注释 c 列注释 $
常用助记符:
r (repeat) :1 3r 等价于 1 1 1
i (insert) :1 2i 4 等价于 1 2 3 4
j (jump) :1 j 2 等价于 1 默认值 2
1 surface块
1.1 平面
语法:num1 助记符 num2
num1:代表面的序号,从1开始计数(序号不需要连续,但要单增)
助记符:PX(该面垂直于X轴)、PY(该面垂直于Y轴)、PZ(该面垂直于Z轴)
num2:代表该面在这一轴上的位置
举例:
1 PX -2 假定这是源所在的面的位置
2 PX 0 金靶的左底面
3 PX 1 金靶的右底面
1.2 柱面
语法:num1 助记符 num2
num1:代表面的序号,从1开始计数,所有种类的面都算入同一排序
助记符:CX(轴心是X轴的圆柱面)、CY(轴心是Y轴的圆柱面)、CZ(轴心是Z轴的圆柱面)
num2:代表圆柱面的半径
举例:
4 CX 1 金靶的侧面
1.3 球面
语法:num1 助记符 num2
num1:代表面的序号,从1开始计数
助记符:SO(球心在原点的球面)
num2:代表球面的半径
举例:
100 SO 100 定义圈定的感兴区的面
1.4 圆锥面
语法:num1 助记符 num2 num3 num4
num1:代表面的序号,从1开始计数
助记符:KX(轴心是X轴的圆锥面)、KY(轴心是Y轴的圆锥面)、KZ(轴心是Z轴的圆锥面)
num2:代表圆锥顶点位置
num3:圆锥顶角的tan值的平方值
num4:取圆锥面的某一叶(1为正半部分)
举例:
30 KX 0 0.234567901 1 记录面的分割面
2 cell块
语法:序号 材质 位置
序号:从1开始计数
材质:num1(材料种类) num2(正数为原子密度,负数为实际密度)
位置:通过定义好的面,调整其正负来确定空间位置
举例:
1 1 -19.3 2 -3 -4 序号1,材料种类为1(由材料卡定义),金的实际密度为19.3g/cm³,块的位置为2号面的正方向、3号面的负方向、4号柱面的内部围成的立方体
而在感兴区内,除了Au块其他位置均为真空。尽管是真空,我们仍需要在输入文件内把真空定义为一个物体:
2 0 -100 #1 imp:e,p=1 序号2,材料种类为真空(0),无密度,这个块是在100号面的内部,除了1号cell的所有空间(#助记符代表扣除的意思),助记符imp(importance)代表粒子在该cell内的重要性,用于区分哪个真空部分是感兴区,这里代表了2号cell中电子(e)及光子(p)的重要性为1,即它是感兴区内的物体。
我们同样需要定义感兴区外的空间:
100 0 100 imp:e,p=0 序号100,材料种类为真空(0),无密度,100号面的外部全都属于这个cell,100号cell中电子(e)及光子(p)的重要性为0,即它在感兴区外。
注:感兴区与非感兴区并不需要一定是位置划分分明的两块区域,我们可以在感兴区内设定一个非感兴区,只要粒子被输运到该区域就会被杀死(类似于黑洞)。