.. _section_particle_track: 粒子事件追踪(仅限企业版本) ===================================== RMC支持按照一定的条件筛选粒子的事件,并将其输出的功能。粒子事件包括初始源、产生粒子的储存、穿面、碰撞、终止等。条件包括粒子 发生反应时的位置、中子速度、权重、是否进入指定栅元或穿过某个面元、对制定计数器有贡献等。输出文件名字与输出文件名相同,后加后缀为.PTRAC 粒子事件跟踪功能,用于在固定源计算中记录中子反应的历史,供进一步的细化研究。 粒子事件追踪功能输入卡 --------------------------------------------- .. code-block:: none PTRAC NEU= ELEC= PHO= SRC= BNK= SUR= COL= TER= FILE= WRTIE= MAX= BUFFER= MEPH= X= Y= Z= U= V= W= ERG= WGT= VEL= CELL=[cell_number_list] SURFACE=[surface_number_list] CELLTALLY=[celltally_number_list] MESHTALLY=[meshtally_number_list] SURFTALLY=[surftally_number_list] POINTTALLY=[pointtally_number_list] GRP=[grp_number_list] 其中, - **NEU**\ 指定是否记录中子事件,1表示记录。如果不记录则不需要加入本选项卡。 - **ELEC**\ 指定是否记录电子事件,1表示记录。如果不记录则不需要加入本选项卡。 - **PHO**\ 指定是否记录光子事件,1表示记录。如果不记录则不需要加入本选项卡。 - **SRC**\ 指定是否记录初始源事件,1表示记录。如果不记录则不需要加入本选项卡。 - **BNK**\ 指定是否记录BANK事件,1表示记录。如果不记录则不需要加入本选项卡。 - **SUR**\ 指定是否记录穿面事件,1表示记录。如果不记录则不需要加入本选项卡。 - **COL**\ 指定是否记录碰撞事件,1表示记录。如果不记录则不需要加入本选项卡。 - **TER**\ 指定是否记录终止事件,1表示记录。如果不记录则不需要加入本选项卡。 - **FILE**\ 指定以何种文件格式记录,1表示以ACSII码输出结果,0表示以二进制输出结果,此选项卡必须定义。 - **WRITE**\ 指定以何种方式记录粒子事件,1表示粒子的详细状态输出结果。默认只输出事件的简要内容,如果取默认值则不需要定义此选项卡。 - **MAX**\ 指定一个输出文件中最多记录多少个事件,如果事件数目过多可能会导致输出文件很大,默认值为10000,如果取默认值则不需要定义此选项卡。 - **BUFFER**\ 指定一次输出过程中写入多少事件进文件,默认值为1000,如果取默认值则不需要定义此选项卡。 - **MEPH**\ 指定一个粒子的生存期中最多输出多少次事件,默认值为100,如果取默认值则不需要定义此选项卡。 - **X**\ 筛选器,指定粒子反应时的x坐标范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **Y**\ 筛选器,指定粒子反应时的y坐标范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **Z**\ 筛选器,指定粒子反应时的z坐标范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **U**\ 筛选器,指定粒子反应时的速度方向与X轴夹角的余弦值范围,第一个值为坐标下界,第二个值为坐标上界,两者的绝对值均必须不大于1,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **V**\ 筛选器,指定粒子反应时的速度方向与Y轴夹角的余弦值范围,第一个值为坐标下界,第二个值为坐标上界,两者的绝对值均必须不大于1,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **W**\ 筛选器,指定粒子反应时的速度方向与Z轴夹角的余弦值范围,第一个值为坐标下界,第二个值为坐标上界,两者的绝对值均必须不大于1,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **ERG**\ 筛选器,指定粒子反应时的能量范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者,单位为MeV。如果不加入此筛选器则不需此选项卡。 - **WGT**\ 筛选器,指定粒子反应时的权重范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者。如果不加入此筛选器则不需此选项卡。 - **VEL**\ 筛选器,指定粒子反应时的速度范围,第一个值为坐标下界,第二个值为坐标上界,前者必须小于后者,单位为1.0e08cm/s。如果不加入此筛选器则不需此选项卡。 - **CELL**\ 历史筛选器,监控粒子是否在其历史中经过指定栅元范围中的任何一个,如果经过,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。面元编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **SURFACE**\ 历史筛选器,监控粒子是否在其历史中穿过指定面元范围中的任何一个,如果经过,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。面元编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **CELLTALLY**\ 计数器筛选器,监控粒子是否在其历史中对指定CellTally中的任何一个有贡献,如果有,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。CellTally编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **SURFTALLY**\ 计数器筛选器,监控粒子是否在其历史中对指定SurfTally中的任何一个有贡献,如果有,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。SurfTally编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **MESHTALLY**\ 计数器筛选器,监控粒子是否在其历史中对指定MeshTally中的任何一个有贡献,如果有,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。MeshTally编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **POINTTALLY**\ 计数器筛选器,监控粒子是否在其历史中对指定PointTally中的任何一个有贡献,如果有,则输出此粒子历史中所有通过全部筛选的事件;否则此粒子的事件全部不输出。PointTally编号之间以一个空格分离,如果不加入此筛选器则不需此选项卡。 - **GRP**\ 筛选器,指定粒子反应时的能群号,均为能群编号,只在多群计算中使用。如果筛选时粒子能群编号在给定的能群列表中,则通过此筛选器;否则不通过。如果不加入此筛选器则不需此选项卡。 - **MCTT**\ 筛选器,在开启指定粒子对指定计数器的贡献进行排序时开启,为对制定计数器贡献最大的粒子数目;如果不开启筛选器指定粒子对指定计数器的贡献进行排序时则不需此选项卡。 粒子事件追踪模块示例 ----------------------- .. code-block:: c PTRAC NEU=1 SUR=1 COL=1 MAX=1000 MEPH=2 ERG=1 4 WRITE=1 CELL=1 2 3