mcnp从入门到精通讲座(156页).doc
-第一讲: 如何运行MCNP程序 j4I 执行命令语句 Tw;3_Lj xY %&n 'g m0 )r mcnp i=(输入文件名) o=(输出文件名) 选项 sEGO2xeI L"4mL, 选项 i|p|x|r|z SfaQvstN i=process input file 过程输入文件 dE4L=sTEsy p=plot geometry 几何画图 U<_3 x=process cross-sections 截面处理 n O"HLM r=run particle transport 运行粒子输运 P'Ux%Q+B> z=plot tally results,plot cross-sections 画记数结果,画截面。 2O&NdPZk 3M|m<_R$ 具体执行过程: '+?"iVVo 假定mcnp.exe在C:mcnpbin子目录下, d1mL JAR 在DOS窗口里,在命令行提示符>后敲入, IDB+%xl#S C:mcnpbin>mcnp i|p|x|r|z i=(输入文件名) o=(输出文件名) =E.tx= 其中为回车键。 V9O V% 缺省文件名: :7!0OVQla inpascii input file ascii码输入文件 ,+meT'vn outpascii output file ascii码输出文件 7BK0sxO runtpebinary restart file 二进制转储文件 Z,q's 举例如下: 1DE<rKI C:mcnpbin>mcnp ixr i=greatwall name=greatwall.1 O4cr*MCb5 其中greatwall是你自己编写的源程序输入文件。 19Mu61 这个命令行语句,将读入输入文件greatwall,调用XS数据库,并且运行mcnp。 ktFhc3);! .1是你自己选择的输出文件名,每次输出必须更改输出文件名,或者不更改但删除上一次的输出文件名,否则程序运行出错。你也可以改成.2,.8,等等,任你选择。 p?) ;eJtV/ 这样运行的结果,就会有如下输出: /H(? 2IHC ,9h greatwall.1.oascii码输出文件 h5C|M| greatwall.1.r转储文件 v/68*,z 其中,转储文件也可以作为下一次运行的输入文件,进行接续运行。关于接续运行,将在以后的讲座中详细介绍。 LcBXdsa( b7zJUz 你自己定义的文件名,将使你能够跟踪上述的辅助文件。 OWjk=u2Lz sl|E 练习: "a ueL/dgN 众坛友,请运行下面的greatwall文件,暂时不要计较文件里的内容,以后的讲座,会陆续予以讲解。程序的目的是,画出在一个立方体当中有一个球体。 75"f2; message: datapath=C:mcnpbin R7$:<:g title -greatwall: U sphere in Al shpere in water cube- ein4o< f. c &e'KdXF c quick intro run, plot, interrupts etc ,SynnE68 c L;VoJf c * cell descriptions * C(phT; c *.sVr7= j 10 1 -18.7 -1 imp:n=1 $ Pu Sphere S M0fAtE c m7-rV6r 20 2 -7.8 +1 -2 imp:n=1 $ Al shell WHsgjvh" c >jLRb|7Ts 30 3 -1 +2 -3 imp:n=1 $ water uw <5 c LR.Hh 40 0 +3 imp:n=0 $ outside world 2 mJ+v< c ?no fUD. S4vpY DeN 1 sph 0 0 0 5 $ Sphere at origin radius 2 cm 7ePqmB<. c p<TpK ) 2 sph 0 0 0 5.02 $ outter Al spherical shell 0.5 cm thick qUjmB sB c jGXO:s O 3 box +20 -20 -20 0 40 0 0 0 40 -40 0 0 $ surrounding H2O ap&?rTu J)-+7$v c * Source Card* bu:S: c (d(hR0HKE sdef $ default source ZAv,*5&< c n#q<u, c * Material Cards * z9 )VIe c Sx?ua<:d m1 92238 1 $ U238 VdJ.I /# m2 26000 1 $ Al k0>36 m3 1001 +1 8016 +2 $ water zUKmxy c BRlT7grgq c * Print first 50 histories * =atVp/y print 110 &Q>k7L ! c dbcn 17j 1 j :#D0 prdmp 2j 1 1 f >W - c $lLz 3YS fc4 flux integrated over the Pu/Al interface mcEl f4:n 10 p(Yx3$* f14:n 20 0URji?|x c * time and nps cut cards * hS)'aFV nps 10 b*lk2oMa/ ctme 1 "J4WzA%i .7l&1C)i End of File EJsM(iGM 你可以用Wordpad或者Notepad打开任何一个你已经有的INP文件,删去其所有内容,拷贝上述程序,另存为greatwall文件。注意,不要敲Tab键,否则程序出错。 M72Gp S8*t 尝试下面的命令,看看你都得到了什么输出结果,以及输出的文件都在哪里? /e<l&y (1)执行 JwA YG5 W C:mcnpbin>mcnp i=greatwall Bs O+NP 其中为回车键。 Zo g'= (2)再次执行一遍上述命令 kzt(i Y_6 C:mcnpbin>mcnp i=greatwall a=h xJ1O (3)执行 8 0Gn%1A9 C:mcnpbin>mcnp i=greatwall name=greatwall.1 =Urw&H8 (4)执行 qIxlW C:mcnpbin>mcnp i=greatwall name=greatwall.2 *a#rM"6P (5)执行 NhaI< J C:mcnpbin>mcnp ixr i=greatwall name=greatwall.2 L IZRoG8 YKO)f5 下面是mcnp程序运行的结构框图,从中你可以看到,用户输入文件被mcnp.exe执行后,要根据执行命令语句的设置,来调用XS数据库,然后计算输运过程,把输出文件放到所执行的子目录里。 %*J k#W: W9D863Y =jX8.K4 我不知道,国内怎样翻译XS数据库,索性就把XS放到这里,不再忽发奇想,闭门造车,以免毁人不倦。如果有哪位朋友知道的话,请跟帖加以说明,非常感谢。 M3fmAP u%$Zqee 这一讲,就说到这里。欲知后事如何,请听下一讲分解:mcnp输入文件。*_*第二讲,MCNP输入文件 LtH j(1) MCNP中物理量的默认单位 KTt+-vP g4=C1 长度:cm ysZ(*K n(? 通量:MeV |m 5(S 时间:刹 shake (10-8秒) )Nqx=ms(! 能量:MeV Zo-,TKgY' 温度:MeV (kT) 0ETT/)z 原子密度:1024个原子/cm3 *#E_KW1RV 质量密度:g/cm3 u:'jw=f 截面:巴 barns (10-24/cm2) M*bsA/Z 加热量:MeV/collision u;(4sa cLp_ 此外, 原子质量按照中子质量为1.0计算,这种单位下阿佛伽德罗常数是0.59703109; 程序运行时间以分钟为单位。 50dN(;p MCNP的源代码是用FORTRAN语言编写的。 xv Xci W (1q(6! (2) 输入INP文件的基本形式 5x|$q kI /s%-c!o INP文件由一些被空行分隔的由一些被空行分隔的输入块组成,主要的输入块是信息块、标题和栅元块、曲面块和数据块等。输入块又由一些被称为卡的输入行组成。论坛的朋友可以参照对比一下,上一讲中的greatwall程序内容。 V#5PF INP文件的格式如下: "=+iN#Sc 0fBPH"Wr 信息块 (可选项) !C 空行分隔符 (可选项) aCH;l+U 标题卡 ?7TmAll<.s 栅元卡 RhmkpboucC >Ik%_:CC 空行分隔符 ?Fl O,| 曲面卡 <+ r?X_ !5h-$; 空行分隔符 g18zoLZ 数据卡 =bP<cC=3b (pM& eow 空行分隔符 -DJ ,<f*$ 其它 (可选项) /&G|.Cx 6Y6t.j0vN. 说明如下: _*g .U=u 信息块的第一行,必须在它的18列填写MESSAGE:,后面跟着用空格分隔的参数项。其后的980列和空行分隔符之前各行的180列都看作信息块内容。可用A=B参数项更改输出文件名,如OUTP = MYOUT。信息块是可选的。信息块提供给MCNP一个执行信息的方法。 4_CL1g 在信息块之后的第一行是问题的标题卡,它仅限于一行,占用180列,可以是任何信息,将作为OUTP文件中各个输出表的标题被复制。 gaNe 用户在栅元块和曲面块中描述问题的几何。栅元由栅元卡描述。空间必须由彼此相邻的栅元填满,栅元之间不能重叠,也不能出现无栅元的空区,否则会出现错误。构建栅元的曲面由曲面卡定义,曲面卡在曲面块中给出。曲面卡和栅元卡的填写方法,将在以后的讲座中予以介绍。 uit.r8l 曲面块之后是数据块,在数据块中用户描述源、记数方式、材料等。数据卡在以后的讲座中予以详细介绍。 "Xws u8 数据卡后不管有无空行分隔符均可以运行,不同之处是,如果数据卡后面有空行分隔符,则MCNP将不再读后面的附加行(如果附加行存在的话)。这对某些用户喜欢保留附加的内容是很方便的,如改变这个问题的说明或者与这个输入文件本身有关的信息,那么,这个分隔符就能防止读入这些附加信息。用户可以把希望保留的一些附加信息写在数据块的空行之后,MCNP会将它们复制到OUTP文件末尾。 (RrC<5" Ktt(l-e+ (3)卡片格式 SYQP7oG9oQ wxBZ+UP_ INP文件的每一行(称之为一张卡片)都限于使用180列。大多数卡片都可以按行填写,然而数据卡也允许按列填写。 P.k>6T<U> ps8tr:T= a) 行输入格式 .g-r8, x./"SQ=R+ 通常卡片的15列用于填写栅元号、曲面号或数据卡的助记名,672列填写卡片参数,7380列为注释,$符号之后也为注释。序号或卡片助记名可以写在15列的任何地方。带有粒子标识符助记名可能需要5列以上,但冒号必须写在6列以内。如果15列空白,表示本行为上一行的接续行。6列之后可以写数据项,多个数据项之间用空格分隔。一个数据项必须在一行上写完,不得接续到下一行。相同编号的卡片只能有一张。 -vc$I=b; wL#DiE 需要注意的地方: E+e),qsbO n 每行最多80个字符 Jy "_Vv l n 不含控制字符,比如:Tab键,你是看不见的。它导致程序出错。 U7g,/Qx n 注释行: Z-_XtN 标题卡之后的任何位置都可插入C; 73t5=D: 第一列是字母“C”,且随后是个空格; m J$X 从输入数据之后的$符号后开始的内容 Fo%X? (以上三种情况可以单独或同时存在) 31#jLWY'0 n $符号为它所在的那行数据的结束符,在$符号后面的内容作为注释,它可从$符号后面的任一列开始。 pStb jEq m Qs BK 填写卡片参数时可以使用以下输入简写功能: 0yMHU): 1>. nR功能,表示它前面的数据再重复n遍。例如:2 4R => 2 2 2 2 2 n;vZY 2>. nI功能,表示与其前后相临两个数之间插进n个线性插值点。 3fZoF<a 例如:1 5I 7 => 1 2 3 4 5 6 7 KyP hhj 3>. xM功能,表示数值等于它前面数据的x倍。 nox-)e 例如:5 4M => 4 20 ,+C?UW 4>. nJ功能,表示从它所在位置跳过n项不指定的数据而使用缺省值。 iYw1U 这四项输入简写功能可以综合运用。 'gD./|Z0 3i4m!g5Z? 另外,FCn卡是作为注释用的,但它将作为记数类型n的表头文字印出,比如可作为记数的标题。 z4+U n SCn卡也是作为注释用的,它作为源概率分布n的表头文字印出。具体使用方法请见手册。 2,Z< $/(8li_ b) 列输入格式 nG?Z* n |D VFi2 列输入只能用于数据块中,对栅元参数和源的描述比较有用。按行输入的栅元重要性、体积、权窗等数据项可读性较差,而且增加或删除栅元时要在行输入卡上仔细寻找相应项。列输入的可读性有很大提高,删除或增加与某一栅元相对应的数据项时也比较方便。 s9+lC! 列输入格式的第一行以#开始,#可以放在15列的任意位置,卡片助记名逐个放在该行6列以后,在这些助记名之下按列给出数据项。同一个列输入格式块中的卡片必须是同一类卡片,比如都是栅元参数卡、都是曲面参数卡或都是源参数卡等,在#号下面的15列放置栅元号、曲面号或源分布号。 ws;|n h bDPlQHj c) 粒子标识符 _ogN i/!KUbt 粒子标识符是卡片助记名的一部分,:N表示中子,:P表示光子,有时也能遇到表示中子-光子联合输运的:N P。下面一些数据卡需要粒子标识符:IMP、EXT、FCL、WWN、WWE、WWP、WWCE、DXT、DXC、Fna、PHYS、ESPLT和CUT。 )/OIzbA3# f/0k,* d) 缺省值 dsg9 Su +<mW MCNP许多输入卡的参数项有缺省值,用户不必每次都给出这些参数,如果卡片输入项有固定顺序,可以使用nJ功能跳过n个输入项。如果卡片上所有数据项都想缺省,只给出卡片助记名即可。有些卡片不给出也有缺省值,如MODE N卡就可以省略。 ?LvU7 30sATZ 练习: oGbh * <4V G 请找出上一讲中的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 。论坛朋友们不必彻底搞懂它们的作用,以后讲座会详细讲解;只需体会书写的格式,看看是否符合上述的规则。 Xrd07bC .G;dL.f 这一讲,就说到这里。欲知后事如何,请听下一讲分解:MCNP几何结构描述。*_*MCNP从入门到精通讲座,第03讲再举一个例子:有一个大球面S1,它的里面有一个小球面S2。在小球面S2外且在大球面S1里的部分,是这样定义的: (D7$! 在小球面S2里的部分,是这样定义的: pe.QiMW8 80;n|nNB jc:s 4 (2) 交集和并集(intersection & union) S6D3n f p,C1U 在MCNP里,布尔表达式是由下述符号构成的: M 2q"dz :冒号,表示并集; T .n4TmF # 井字号,表示补集; DjLL|jF 表示交集。这个符号你们看见了吗?我也没看见。交集的表达式是一个空格键,也是隐式的。 )rtomp:X 缺省的运算顺序是先#补集,其次是交集,最后是:并集。 GJAl8SQ S#17.= 交集是两个集合的公共部分,如图所示。 W+=o&V _NZ4+aW 并集是两个集合的合集,见图。 bPbb|u0d LfFC%|l2L j&pej 若想仅用交算符定义栅元,栅元内所有点对特定的界面必须有相同的坐向。如图所示,1、2、3、4、5面围成一个实体,用密度为1.0g/cm3的材料1填充,外部是真空。 wnDHy6W 0<pBL 8 a;AzY'R +6Vdx m rNDrpA> 实体内P1和P2点相对于4面有负坐向,P3点相对于4面有正坐向;P1点相对于3面有正坐向,P2和P3点相对于3面有负坐向。这时最好借助另一平面6把实体分成两部分,从而顺利定义栅元: F>hZ 5|*g 1 1 -1.0 1 2 3 6 ""iaGH+Cxw 2 1 -1.0 1 6 4 5 x2Lq=zwJ D<$XyP 然而,只用交算符还不便定义实体之外的区域,这时用并算符比较方便,实体外可由3、4面以上区域的交集和其它几个面以外区域的并集构成一个栅元: ay )/q5 t+uE 3 0 -5 : -1 : 2 : 3 4 r=.A'"Kf $FTO 当然实体之内的区域也可以借助并算符定义,把1、2栅元合并(这样定义会降低计算速度)。由于交运算优先,所以要用括号把并运算括起来: tz NlJE w4,Agt> 1 1 -1.0 1 -2 (-3 : -4) 5 k44Q):ncY7 yWD=T (3) 补集(complement) -_OS%ARa 补算符#的用法有两种: )j l 8!O7 <1>. #n 表示当前定义的栅元是栅元n其余的部分。 gYl TB <2>. #(.) 表示括号内曲面号定义区域之外的部分。 +avMX&% 引入坐向概念后,补运算就不是交运算和并运算之外的新概念,而是交和并的另一种表示方法。例如,对上面第一种情况的处理过程是,去掉#号,把n用括号括上,n中的交算符变成并算符,n中的并算符变成交算符而且加上背靠背的括号) (,曲面之前的坐向取相反符号。数学中常用´表示交运算、用+表示并运算、表示补运算,有 , ,此处 和a则用坐向指定。 VXBY8;+Yp 使用补算符时要格外小心,用户常因对补算符理解不透而弄出几何逻辑错误,因此建议不使用补算符。另外,#(n)是不合规定的。 8LkP)4sO >x|z. 练习题:请写出下面图形中的各个栅元几何描述。其中栅元1是外部世界栅元;栅元2是大圆柱体中除了那个圆柱空洞的部分;栅元3是那个圆柱空洞;栅元4是侧面贴上去的那个圆柱体。 /&#XhrT e1myH6$W asiovo; 这一讲,就说到这里。欲知后事如何,请听下一讲分解:栅元卡Cell card。*_*第04讲,栅元卡Cell card mo,lUL第二节 栅元卡 1 (i>Vt.+ U+"= 栅元卡的格式: j m d geom. Param. hu|hOr8 分别对应于:栅元标号 材料号 材料密度 几何描述 参数说明 Uo&-$B 举个例子: 1 2 -.98 1 -2 3 -4 5 -6 imp:p=1 <gdgcvd !NYM(6!( 解释如下: "x;k'S j: 在15列上填写的栅元标号,可以不连续。MCNP按照读入的顺序对栅元另行编号,称为栅元的程序编号,从1开始单调上升。为避免程序编号和栅元标号混淆,建议按顺序给出栅元标号。栅元标号的范围:1j99999。 E)O|16f|> m: 该栅元的材料号,是材料卡(Mm)中相应材料的序号。真空栅元,m=0。 U('<iw,Yy d: 栅元材料的密度。填入正值时,表示是原子密度,单位1024个原子/cm3。填入负值,则表示是质量密度,g/cm3。对于真空栅元,该项缺省,不填写。 )SX6)_ geom: 栅元的几何描述。它列出界定该栅元的所有曲面的号(有数值符号,表示坐向),以及描述这些曲面所定义的区域之间关系的布尔算符。布尔算符包括交算符(缺省)、并算符( : )和补算符(#)。缺省运算顺序是,先补,再交,最后并。可用括号改变运算次序。 KKjxg7K param: 可选的栅元参数说明,其形式为:关键字=某一值。 XLmMKgs '95E;RV& 在栅元卡上可以定义栅元参数,以替代在输入块中定义栅元参数。这里允许的关键字是:带有粒子标识符的IMP、VOL、PWT、EXT、ECL、WWN、DXC和TMP。栅元卡参数项上的等号可用空格代替。若在栅元卡上指定了某种栅元参数,则在数据块中不能重复指定。 z g7l>9Sc 0RSwM. 即使是十分有经验且细心的用户,在构建比较复杂的几何时,也经常会犯一些错误。有些错误程序可以检查出来,有些则不能,以致造成错误结果。几何构建还直接影响程序运行效率,不合适的几何构建将浪费机时。 ZSRR lkU l!A A.定义栅元的原则 6"iP %A62xnX 原则1:栅元界面要少 rj,KHD (,*IK a 尽管可用大量的并算符定义一个几何上比较复杂的栅元,但这样做并不明智。问题在于,每次计算栅元内碰撞之间的径迹时,都计算径迹和栅元所有界面是否相交以判断粒子是否进入其它栅元,太多的栅元界面会浪费机时。如,图a中的几何只是一些平行的柱面,较容易定义,然而两个大柱面之间的栅元有14个界面(包括前后界面);图b则是比较有效的栅元定义,复杂界面的栅元被分隔成一些小栅元,每个栅元的界面有所减少。 qo6LC>Qg /S:dDY9K 原则2:栅元大小要合适 )y t0% y|6-:B. 构建物理空间时,除按不同材料区域分割栅元外,还必须考虑效率因素。为了节省运算时间,栅元不能定义得太大或太小。在比较重要的区域,建议调整栅元大小,使粒子进入相邻栅元后数量约减少一半,以利于使用几何分裂和轮盘赌技巧。 E69:bQ94u U|J$?aFDr 原则3:尽量用简单曲面定义栅元 "Ap$ Jl B 5wH54g j 如前所述,MCNP频繁计算碰撞点到界面距离。点到二阶以上曲面的距离一般不能用解析法求解,用牛顿下山法求解时,多次叠代很浪费时间。如果问题条件允许,尽量使用二阶以下曲面分段替代二阶以上曲面。 >gk z4.* o)%-l4S 原则4:避免曲面和曲面相切 Qj(vBo?D 7R9nMGJ 即使使用双精度变量,也不能计算出点到曲面的确切距离,因而在曲面和曲面相切处有时会因计算精度不够导致栅元重叠或空缺,造成粒子丢失。虽然这种粒子丢失几率很小,一般不会影响记数结果,但计算大量粒子问题时可能会因为丢失粒子数量超过限制,使程序停止运行。 c62dorDqy ;)(SdfP B.检查几何错误 8q zL:&Q< MCNP检查INP文件的数据时,不能检查出几何逻辑错误。而运行中粒子丢失时,才能检查出栅元的重叠或栅元之间的空缺。因此在正式运算前,应采取以下办法检查几何逻辑错误: TB7>s)47E 1)增加一个VOID卡。这个卡将废弃这个问题的材料说明,将全部栅元设为真空,并把加热记数转化为通量记数。 j G- 2)对这个问题增加一个大球面,这个球面包围需计算的系统,球面把系统之外的栅元分成两个栅元。球内面是现在问题的边界,内部所有栅元的重要性都置为1。 zk El 3)源描述改为:SDEF SUR=m NRM=-1,其中m是刚才定义大球面的标号。 d<Ggw#:m 由于上述改动使粒子在计算系统中没有碰撞,一个短时间运行就会使大量粒子的轨迹穿过系统,可能在出现几何错误的地方引起粒子丢失。 60!1 D>, 粒子丢失时,OUTP文件上将产生丢失粒子打印表。表中列出丢失粒子跨越的所有曲面,并告诉你粒子在什么位置上向什么方向运行后丢失。你可以从这些信息中推断出粒子丢失的原因。 ei7a h; ! z11" c 下面是栅元卡的一个例子,请各位朋友以此体会一下栅元卡的使用。 f UC9-?(K c * cell descriptions * CuH2E>wz c 9O;cJ)tXY c * cell descriptions * NJtQx2Sd'H 10 1 -0.95 +10 -20 +30 -40 +50 -60 imp:n=1 imp:p=1 +l65!" c w OIQ 20 0 #10 imp:n=0 imp:p=0 UuU/c-. c ! Notice the imp:p=1 -ensures that PHOTONS ARE NTRANSPORTED C5x ag#Z1 .evbE O5 c =; 0wFwSz 10 pz -5 $ bot #R9iY c EIjI!0j 20 pz +5 $ top #B8*gFZB c v,=v 30 px -5 $-x * z'8j c As(7?r 40 px +5 $+x Y34/+Fi c W+Xz$j/u 50 py -5 $-y (>O"_Q c Y4E/?37j 60 py +5 $+y & $'z c )LDmd, 注意:其中#10 是说除了栅元10的那些空间,即非10,或者10的补集。 5!I4l1 a2w T6jY 这一讲,就说到这里。 #*9-d/K 欲知后事如何,请听下一讲分解:曲面卡Surface card。*_*言归正传, 第05讲,曲面卡Surface card cG EdWz第三节 曲面卡Surface card ,|f=2t+5X B"v*p? A. 由方程定义的曲面 O!PGZuF cJ 2;"SP 格式: j n a list U/c+j= 解释如下: Cq7oiW0 j :曲面的序号,写在15列上。它的范围 1j9999。可以不连续,即可不按顺序填写曲面的序号。如果这个曲面是反射面,在这个曲面序号前边加一个“*”号,来表示反射面。加“+”号,则表示空白界面。如果由曲面定义的几何块有坐标转换TRCL,则它的范围变成 1 j999。 ImQ -kz?b hLfWDf*T| n :相应于TRn卡的整数n。请见附表。如果缺省,或为零,表示没有坐标转换。 P"3Z&w 它如果大于0,就是指定 TRn 卡的序号。它表示该卡定义曲面是在辅助坐标系下描述的,而这个辅助坐标系与基本坐标系之间的关系由 TRn 卡给出。 *wAX&+); 它如果小于0,就是指定面j 是面n 的循环。 51QUFhL0 a :方程助记名,见下表。 YBY;$&9 List :按照规定次序给出方程描述的数据项(110项)。 6l|L/Z_6 -0uGzd+m* 下表列出了MCNP识别的曲面的类型、方程、助记名及相应的卡片数据项次序。 0MT?D&TL Z4 z|B& 用这种方法定义一个曲面首先要从表中找到所需的曲面助记名,然后根据其方程的形式算出所需的系数(参照解析几何)。按照前述的书写格式将他们依次写在一张卡片上。在某些情况下,可以用几何系统中的点定义曲面,见B、C 部分的讨论。曲面还可以用宏观几何体的组合来定义,见D部分。 !:dA EQnU:a 如果一个曲面在点(x,y,z)的计算值是正的,则称这个点对于这个曲面具有正的方向;一个曲面的表达式是表中曲面方程的左边。位于球、柱,锥及环的正的方向,统一是这些曲面的外边。对位于垂直于x、y、z 轴的平面px 、 py、pz 正的方向分别是 x,y 或z 值大于相应平面截距的那些点。对P,SQ 及GQ 曲面,用户提供这个表达式的全部系数,于是用户就能够随意确定这个曲面的方向。这与其它情况不同。其它情况的方向即使是任意的,也是由表达式唯一确定的。因此,通过一个曲面变换(见TRn 卡的手册说明),PX,PY,或PZ 曲面可能必须由P 曲面代替以防止这个曲面的方向相反。 7<kr|- 2S C'Z>A 如果曲面序号在*号之后,则定义的这个曲面为反射面。当粒子打在这样的曲面时,便按镜面反射。如果曲面号前加+号,则这个曲面被定义为空白边界。通常在使用反射面或空白边界时,不应有探测器计数或 DXTRAN 球(下一事件估计)。具体请见手册。对于反射面的计数问题需要不同地对其标准化。 i Q3wi M|y!,/' 如果第二个输入n 为负值,则定义的曲面j 关于曲面k 周期变化。遵循的规则如下: Fpt tH? 曲面k 和j 必须是平面。 6o #J 平面转换不允许是周期性的平面。 m:EYOe,w 周期性的块可以是无穷的也可以由在它的顶部和底部的平面界定,界定的平面可以是反射面也可以是空白面,但不能是周期的。 a"+VP>4 周期平面仅可以界定其它的周期平面或上下底面。 GNG.N)q#C 每个周期平面的某个侧面必须是一个单一的零重要性的块。 j%vxCs> 所有的周期平面必须有一个共同的垂直于几何的顶部和底部的旋转顶角。 wIPdn 下一事件估计,例如探测器计数或DXTRAN 球在此不能使用。 Ux,dj8=o 4Jbh 大家来看下面的例题: 8ZO%1x6 WIGl"g 例1: 1 PY 3 F7pzfO 这是描述:曲面1,在y=3 处,垂直于Y 轴的平面,y>3 的全部点都有正的方向。你能想象出吗?拿笔画一下,就领悟了。 XF4NRs lK irc2 例2: 2 S 4 1 3 3.62 HV3D$gF 这是描述:曲面2,球心在(4,1,-3)点,半径为3.62 cm 的球体。就是球心的坐标为 x=4,y=1,z=-3。这个比较容易想象。 B3>_;Ct ZO0DfT; 例3: 3 SX 10 3 atFu KYI 这是描述:曲面3,球心在x轴上,(10,0,0)点,半径为 3 cm 的球体。你画一下试试。 (7aE!rAb I'cM/h 例4: 4 K/Y 0 0 2 .25 1 LZ9IE>s j 这个曲面4,指定顶点在(0,0,2)处的一个圆锥面,对称轴平行于Y 轴。锥的斜率t 是0.5 (注意,在卡片上输入的是t的平方,要小心啊),而且只使用其正方向(右边)的一支。锥外的点具有正方向。 7w"YCRKh X?"RoS 例5: 5 GQ 1 .25 .75 0 -866 0 -12 -2 3.464 39 Sb&ux 这个曲面5,是半径为1cm 的圆柱面,其对称轴在垂直于X 轴的一个平面上,该平面在X 轴上的截距为6cm。与X 轴相距2cm 的地方围绕X 轴从Y 轴向Z 轴旋转30度角。在柱外的点具有正的方向。该曲面在辅助坐标系下描述是很简单的,将这个柱面的对称轴定义为辅助坐标系的X轴,然后再给一张TRn 输入卡(请见手册)用来定义基本坐标系与辅助坐标系的关系。 Xp3cYS*u oBSf+N 在辅助坐标系下这个曲面5 描述如下: Urj:l 5 7 CX 1 o;:a6D *TR7 6 1 1.732 0 30 60 >G+?X+9 等到我们讲述TRn 的讲座时,将会详细讲解这个例子。 hAZ"M:f Vi>kK|b TX,TY,及TZ 输入卡描述的是椭圆形面(4 阶曲面),其旋转对称轴分别平行与X 轴,Y 轴,Z 轴。下图a 给出一个TY 环面。注意到输入参数x , y , z , a, b, c 给定一个在(r,s)柱坐标系统围绕S 轴旋转的椭圆(下图b)。其原点位于原坐标系的点(x , y , z )处,这椭圆环面方程可写成: <BN)>NqM 当|A|<C 时,椭圆环面出现退化情况。在0<A<C时,得到的是外曲面(如下图c);-C<A<0时,得到的是内曲面(如下图d)。 LK. DF ffyKAZpo 椭圆环面的坐标变换是局限于辅助坐标系统的每个轴都要平行于基本坐标系的一个轴。 le23+q g<WVOPm 呵呵,这一讲,我基本上是按照MCNP 5.1.40手册 来讲解的。 1<qq69x 课后练习:请画出下列曲面卡所代表的曲面。 jKu"Vi|j> 1 PX 8 ;z7iUke0% 2 SO 11.1 GRj*zs 3 C/Z 0 1 3 G"yqG 4 KZ HWGlC < 5 C/X 0 1 2 g;bkV q BZx#356N 答案:(注意:对于助记名来说,大小写都行,对大小写不敏感。) (F7!&8% 1 px 8 4Kt?; y ; Pl