.. _section_variance_reduction: 减方差 ==================== RMC支持减方差计算功能,包括区域重要性,源偏倚和权窗技术。 目前区域重要性和权窗技术都只在固定源模式下使用。 权窗技术包括栅元权窗和网格权窗,对于同一种粒子类型(中子、光子、电子), 区域重要性、栅元权窗和网格权窗三种减方差方法只能同时使用其中的一种。 区域重要性输入卡 ---------------------- 在栅元信息卡中增加几何重要性\ **imp**\ 选项卡,其分为中子几何重要性\ **imp:n**\ 、 光子几何重要性\ **imp:p**\ 和电子几何重要性\ **imp:e**\ 。例如:imp:n=0, imp:n=1,imp:n=2,imp:p=0,imp:p=1,imp:p=2,imp:e=0,imp:e=1,imp:e=2,等等。 权窗输入卡 ---------------------- .. code-block:: none WeightWindow WWN:N W_1 W_2 W_3 W_4 … W_n WWMESH:N W_1 W_2 W_3 W_4 … W_n [WeightWindowMESH:Geometry Axis Vector Origin Scope Bound BoundX BoundY BoundZ ScopeX ScopeY ScopeZ] WWP:N WUPN WSURVN MXSPLN 示例为中子的栅元权窗和网格权窗输入卡。其中, - **WeightWindow**\ 为减方差的权窗输入卡的关键词; - **WWN:N**\ 为中子的栅元权窗卡,W1、W2、W3等等分别表示每个栅元 的权窗下限。若是光子的栅元权窗卡,则把关键词替换为WWN:P。 若是电子的栅元权窗卡,则把关键词替换为WWN:E; - **WWMESH:N**\ 为中子的网格权窗卡,W1、W2、W3等等分别表示每个网格的权窗下限。 网格的几个定义在网格计数器部分,目前的程序支持非均匀网格和 非均匀圆柱网格。若是光子的网格权窗卡,则把关键词替换为\ **WWMESH:P**\ 。 若是电子的网格权窗卡,则把关键词替换为\ **WWMESH:E**\ 。; 目前在RMC自带的网格权窗条件下,使用的是基于径迹的网格权窗算法。 - **WeightWindowMESH**\为RMC权窗网格的输入方式,其关键字与网格计数器中的网格信息输入方式相同。 - **Geometry**\ 选项卡指定坐标系类别,1为直角坐标系,2为柱坐标系,缺省为1。 - **Axis**\ 选项卡指定柱坐标系的z轴方向,直角坐标系不定义。 - **Vector**\ 选项卡的向量和\ **Axis**\ 向量构成的平面为\ **φ = 0**\ 平面, \ **Vector**\ 和\ **Axis**\ 可以不垂直,但不能平行,直角坐标系不定义。 - **Origin**\ 选项卡指定柱坐标系的原点坐标,直角坐标系不定义。 - **Scope**\ 选项卡指定网格在x,y,z方向的数量。特别地,参数为“-1”表示该方向上 只有一层无限大网格 (注意:在Universe重复几何中的Scope选项卡当中,参数为1表示 该方向上只有一层无限大网格)。 - **Bound**\ 选项卡指定网格在x,y,z方向的边界范围,形如“Bound = x_min x_max y_min y_max z_min z_max”。若某方向只有一层网格,\ **Bound**\ 选项卡中对应的参数没有实际意义。 - **BoundX / BoundY / BoundZ**\ 选项卡分别指定非均匀网格在x,y,z方向的粗网格边界序列, 比如"BoundX = 1.0 3.0 7.0"表示非均匀网格在x方向上有3个粗网格边界,分别为1.0,3.0,7.0。 注意:每个方向上的粗网格边界序列必须单调递增。 - **ScopeX \ ScopeY \ ScopeZ**\ 选项卡分别指定非均匀网格在x,y,z方向的细网格数量序列, 比如"ScopeX = 2 8"表示非均匀网格在x方向上共有两个粗网格,每个粗网格内依次有2、8个细网格。 注意:粗网格边界的数量必须比粗网格数量多1,此外,**程序暂不支持某一方向上只有一层无限大网格的 非均匀网格**。 - **WWP:N**\ 为中子的权窗参数卡,\ **WUPN**\ 表示权窗上限与下限的倍数, 要求WUPN>2,默认值为5。\ **WSURVN**\ 表示存活粒子权重与权窗下限的倍数, 要求12,默认值为5。\ **WSURVN**\ 表示存活粒子权重与权窗下限的倍数, 要求10 表示WWE中数字为权窗的时间网格,目前仅支持MTIME=0 \ **WNORM**\表示权窗乘子,目前在RMC中不支持使用,必须设置为0; \ **ETSPLT**\表示ESPLT和TSPLT的使用方式,目前RMC中不支持使用这两种卡片,需要将此参数设置为0; - **WWINP**\ 为RMC读取MCNP的权窗文件格式功能卡,FileName为MCNP权窗格式文件名。需要注意的是,使用WWINP输入时 一定使用网格权窗,此权窗在使用的时候会生成一个编号为99的网格计数器,并且在使用WWINP卡的时候与WWN卡不兼容。 WWN卡和WWE卡(中子)示例 .. code-block:: none MCNPWeightWindow WWE:N e1 e2 e3 WWN1:N w11 w12 w13 w14 WWN2:N w21 w22 w23 w24 WWN3:N w31 w32 w33 w34 该示例定义了3个能量区间下的4个栅元的中子权窗下限。即0-e1能量分箱下cell1至cell4的权窗下限分别为w11、w12、w13、w14;以此类推。 兼容MCNP的权窗生成器输入卡 ----------------------------- 目前RMC兼容MCNP格式的权窗生成器,可以使用MCNP权窗生成功能的WWG、WWGE卡片。 **MCNPWeightWindow**\为兼容MCNP权窗生成器输入卡的关键词;WWG卡和WWGE卡与任何一种权窗参数(WWE、WWN、WWP、WWINP卡片)均不可同时使用,另外目前 RMC中的权窗生成器默认生成当前计算流程中所有涉及到的粒子的权窗。 .. code-block:: none MCNPWeightWindow WWG It Ic Wg J1 J2 J3 J4 IE WWGE E_1 E_2 … E_j j是任意正整数 [MESH] [Geometry=] [Axis=] [Vector=][Origin=] [Scope = ] [Bound = ] [ScopeX/ScopeY/ScopeZ = ] [BoundX/BoundY/BoundZ = ] - **WWG**\ 为权窗下限自动生成器参数。 - **It**\ 表示参考的CellTally的计数器编号。 - **Ic**\ 表示基于Cell(栅元)或基于Mesh(网格)的权重窗生成器,如果Ic>0,则调用基于Cell的权窗生成器,且参考栅元编号为Ic,此时不能输入REF卡;如果Ic<0,则调用基于Mesh的权窗生成器,此时Ic的绝对值就是参考的meshtally的网格的编号。 - **Wg**\为参考的CellTally或参考MeshTally生成的权窗下限值,如果Wg=0,那么参考的CellTally或参考MeshTally的权窗下限为0.5倍源粒子权重,Wg默认值为0。J1-J4没有意义,为了保持与MCNP格式一致而保留。使用基于Mesh的权窗生成器的时候(Ic=0)必须指定一个MeshTally,此meshtally指定的网格即为权窗网格。 - **IE**\为WWGEW输入卡的指定方式,目前仅支持IE=0,即将WWGE设置为能量网格。当使用MESH进行网格权窗生成的时候,其格式与网格计数器中的网格几何描述相同。使用WWG功能最终生成的权窗文件名称为[输入卡文件名].wwout - **MESH**\ 给出权窗网格的几何描述。 - **Geometry**\ 选项卡指定坐标系类别,1为直角坐标系,2为柱坐标系,缺省为1。 - **Axis**\ 选项卡指定柱坐标系的z轴方向,直角坐标系不定义。 - **Vector**\ 选项卡的向量和\ **Axis**\ 向量构成的平面为\ **φ = 0**\ 平面, \ **Vector**\ 和\ **Axis**\ 可以不垂直,但不能平行,直角坐标系不定义。 - **Origin**\ 选项卡指定柱坐标系的原点坐标,直角坐标系不定义。 - **Scope**\ 选项卡指定网格在x,y,z方向的数量。特别地,参数为“-1”表示该方向上 只有一层无限大网格 (注意:在Universe重复几何中的Scope选项卡当中,参数为1表示 该方向上只有一层无限大网格)。 - **Bound**\ 选项卡指定网格在x,y,z方向的边界范围,形如“Bound = x_min x_max y_min y_max z_min z_max”。若某方向只有一层网格,\ **Bound**\ 选项卡中对应的参数没有实际意义。 - **BoundX / BoundY / BoundZ**\ 选项卡分别指定非均匀网格在x,y,z方向的粗网格边界序列, 比如"BoundX = 1.0 3.0 7.0"表示非均匀网格在x方向上有3个粗网格边界,分别为1.0,3.0,7.0。 注意:每个方向上的粗网格边界序列必须单调递增。 - **ScopeX \ ScopeY \ ScopeZ**\ 选项卡分别指定非均匀网格在x,y,z方向的细网格数量序列, 比如"ScopeX = 2 8"表示非均匀网格在x方向上共有两个粗网格,每个粗网格内依次有2、8个细网格。 注意:粗网格边界的数量必须比粗网格数量多1,此外,**程序暂不支持某一方向上只有一层无限大网格的 非均匀网格**。 - **WWGE**\ 为权窗下限自动生成器能量网格输入卡,E_1 E_2 E_3 E_4 … E_j 为能量网格的上边界。在进行权窗生成的时候默认0为最低能量。j最大为10000,超过这个数量的话会截断。 WWG卡和WWGE卡示例 .. code-block:: none MCNPWeightWindow WWG 1 1 0.001 0 0 0 0 0 WWGE:N 0.01 0.1 1 5 该示例定义了一个基于MCNP格式的WWG卡片,针对编号为1的栅元计数器的统计结果进行权窗生成,参考栅元为1,权窗下限为0.0001,能量网格为0.01、0.1、1、5MeV 源偏倚输入卡 ---------------------- 源偏倚功能可在源描述模块中指定, 若要对不同的源之间进行偏倚抽样, 可以使用\ **Source**\ 选项 卡中的\ **BiasFrac**\ 参数; 若要对某一个源的分布进行偏倚抽样, 可以使用\ **Distribution**\ 选 项卡中的\ **Bias** \ 参数。 网格权窗简并功能脚本 ----------------------------- 打开RMC/scripts/下的meshmerge.py文件,将其中的输入输出均改为对应权窗和meshtally计数文件的名字,再将此脚本和权窗文件和meshtally计数文件放于同一个文件夹下,使用python执行此文件即可。