希望保留的一些附加信息写在数据块的空行之后,MCNP会将它们复制到OUTP文件末尾。
(3)卡片格式
INP文件的每一行(称之为一张卡片)都限于使用1~80列。大多数卡片都可以按行填写,然而数据卡也允许按列填写。
a) 行输入格式
通常卡片的1~5列用于填写栅元号、曲面号或数据卡的助记名,6~72列填写卡片参数,73~80列为注释,$符号之后也为注释。序号或卡片助记名可以写在1~5列的任何地方。带有粒子标识符助记名可能需要5列以上,但冒号必须写在6列以内。如果1~5列空白,表示本行为上一行的接续行。6列之后可以写数据项,多个数据项之间用空格分隔。一个数据项必须在一行上写完,不得接续到下一行。相同编号的卡片只能有一张。
需要注意的地方: ? 每行最多80个字符
? 不含控制字符,比如:Tab键,你是看不见的。它导致程序出错。 ? 注释行:
—标题卡之后的任何位置都可插入?C‘; —第一列是字母―C‖,且随后是个空格; —从输入数据之后的$符号后开始的内容 (以上三种情况可以单独或同时存在)
? $符号为它所在的那行数据的结束符,在$符号后面的内容作为注释,它可从$符号后面的任一列开始。
填写卡片参数时可以使用以下输入简写功能:
1>. nR功能,表示它前面的数据再重复n遍。例如:2 4R => 2 2 2 2 2 2>. nI功能,表示与其前后相临两个数之间插进n个线性插值点。 例如:1 5I 7 => 1 2 3 4 5 6 7
3>. xM功能,表示数值等于它前面数据的x倍。 例如:5 4M => 4 20
4>. nJ功能,表示从它所在位置跳过n项不指定的数据而使用缺省值。 这四项输入简写功能可以综合运用。
另外,FCn卡是作为注释用的,但它将作为记数类型n的表头文字印出,比如可作为记数的标题。
SCn卡也是作为注释用的,它作为源概率分布n的表头文字印出。具体使用方法请见手册。
b) 列输入格式
列输入只能用于数据块中,对栅元参数和源的描述比较有用。按行输入的栅元重要性、体积、权窗等数据项可读性较差,而且增加或删除栅元时要在行输入卡上仔细寻找相应项。列输入的可读性有很大提高,删除或增加与某一栅元相对应的数据项时也比较方便。
列输入格式的第一行以#开始,#可以放在1~5列的任意位置,卡片助记名逐个放在该行6列以后,在这些助记名之下按列给出数据项。同一个列输入格式块中的卡片必须是同一类卡片,比如都是栅元参数卡、都是曲面参数卡或都是源参数卡等,在#号下面的1~5列放置栅元号、曲面号或源分布号。
c) 粒子标识符
粒子标识符是卡片助记名的一部分,:N表示中子,:P表示光子,有时也能遇到表示中子-光子联合输运的:N P。下面一些数据卡需要粒子标识符:IMP、EXT、FCL、WWN、WWE、WWP、WWCE、DXT、DXC、Fna、PHYS、ESPLT和CUT。
d) 缺省值
MCNP许多输入卡的参数项有缺省值,用户不必每次都给出这些参数,如果卡片输入项有固定顺序,可以使用nJ功能跳过n个输入项。如果卡片上所有数据项都想缺省,只给出卡片助记名即可。有些卡片不给出也有缺省值,如MODE N卡就可以省略。
练习:
请找出上一讲中的greatwall文件里的信息卡MESSAGE:,标题卡Title,栅元卡cell Card(从cell descriptions开始),曲面卡Surface card(从1 sph 0 0 0 5 $ Sphere at origin radius 2 cm 开始的三行),数据卡Data card,包括源卡Source Card,材料卡Material Cards 。论坛朋友们不必彻底搞懂它们的作用,以后讲座会详细讲解;只需体会书写的格式,看看是否符合上述的规则。
这一讲,就说到这里。欲知后事如何,请听下一讲分解:MCNP几何结构描述。*^_^*
MCNP从入门到精通讲座,第03讲
再举一个例子:有一个大球面S1,它的里面有一个小球面S2。在小球面S2外且在大球面S1里的部分,是这样定义的: 在小球面S2里的部分,是这样定义的:
(2) 交集和并集(intersection & union)
在MCNP里,布尔表达式是由下述符号构成的: :冒号,表示并集; # 井字号,表示补集;
表示交集。这个符号你们看见了吗?我也没看见。交集的表达式是一个空格键,也是隐式的。
缺省的运算顺序是先#补集,其次是交集,最后是:并集。
交集是两个集合的公共部分,如图所示。
并集是两个集合的合集,见图。
若想仅用交算符定义栅元,栅元内所有点对特定的界面必须有相同的坐向。如图所示,1、2、3、4、5面围成一个实体,用密度为1.0g/cm3的材料1填充,外部是真空。
实体内P1和P2点相对于4面有负坐向,P3点相对于4面有正坐向;P1点相对于3面有正坐向,P2和P3点相对于3面有负坐向。这时最好借助另一平面6把实体分成两部分,从而顺利定义栅元:
1 1 -1.0 1 –2 –3 6 2 1 -1.0 1 –6 –4 5
然而,只用交算符还不便定义实体之外的区域,这时用并算符比较方便,实体外可由3、4面以上区域的交集和其它几个面以外区域的并集构成一个栅元:
3 0 -5 : -1 : 2 : 3 4
当然实体之内的区域也可以借助并算符定义,把1、2栅元合并(这样定义会降低计算速度)。由于交运算优先,所以要用括号把并运算括起来:
1 1 -1.0 1 -2 (-3 : -4) 5
(3) 补集(complement) 补算符#的用法有两种:
<1>. #n 表示当前定义的栅元是栅元n其余的部分。 <2>. #(...) 表示括号内曲面号定义区域之外的部分。 引入坐向概念后,补运算就不是交运算和并运算之外的新概念,而是交和并的另一种表示方法。例如,对上面第一种情况的处理过程是,去掉#号,把n用括号括上,n中的交算符变成并算符,n中的并算符变成交算符而且加上背靠背的括号) (,曲面之前的坐向取相反符号。数学中常用?表示交运算、用+表示并运算、ˉ
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库mcnp从入门到精通讲座(2)在线全文阅读。
相关推荐: