18. 区域分解(仅限企业版本)¶
RMC支持区域分解并行模型。
注意:模块输入卡必须定义在燃耗模块输入卡之后,并行计算使用的 MPI进程数必须是区域数目的倍数。
18.1. 区域分解输入卡¶
目前RMC支持两种区域分解的输入方式。
DomainDecomposition
Expand <flag>
其中,
- DomainDecomposition为区域分解模块的关键词;
- Expand为判断使用哪种输入方式的关键词, 0为默认值,由用户自行指定各个区域,而 1为简化输入的方法,更简化 的方式是,没有Expand 关键词时,为用户自行指定,有Expand 时为简化输入方法;
第一种方法的输入格式为:
DomainDecomposition
Expand 0 Domain <id> cell = < cell_1 cell_2 ... cell_n>
或直接写为:
DomainDecomposition
Domain <id_1> cell = < cell_11 cell_12 ... cell_1n>
Domain <id_2> cell = < cell_21 cell_22 ... cell_2n>
其中,
- DomainDecomposition为区域分解模块的关键词;
- Expand为判断使用哪种输入方式的关键词, 0(默认值)表示使用第一种输入方式;
- Domain为每个区域序号及包含栅元的关键词,id为区域的序号;
- Cell为区域包含的栅元号,输入格式和CellTally中Cell一致。
第二种的简化输入的输入格式为:
DomainDecomposition
Expand 1 AxialLevel = <level> RadialLevel = <level>
AxialUniv = <univ> RadialUniv = <univ>
AxialDomain = < id_1 id_2 ... id_n> RadialDomain = < id_1 id_2 ... id_n >
或直接写为:
DomainDecomposition
Expand AxialLevel = <level> RadialLevel = <level>
AxialUniv = <univ> RadialUniv = <univ>
AxialDomain = < id_1 id_2 ... id_n> RadialDomain = < id_1 id_2 ... id_n >
其中, - DomainDecomposition为区域分解模块的关键词;
- Expand为判断使用哪种输入方式的关键词,1表示使用第二种输入方式,即简化输入方法;
- AxialLevel为轴向区域划分的Universe所在的几何层级的关键词,level为几何层级的序号;
- RadialLevel为径向区域划分的Universe所在的几何层级的关键词,level为几何层级的序号;
- AxialUniv为轴向区域划分的Universe,univ为被划分的重复结构Universe的序号;
- RadialUniv为径向区域划分的Universe,univ为被划分的重复结构Universe的序号;
- AxialDomain为轴向Universe中划分的区域号,id为区域的序号,0为公共区域;
- RadialDomain为径向Universe中划分的区域号,id为区域的序号,0为公共区域;
需要注意,区域分解目前仅对燃耗区进行区域分解,其他区域均设置为公共区域。区域分解需要放在计数器卡之前 ,这样, 每个区域产生的输出文件将只包含所在区域的计数,以及公共区域的计数,但`MeshTally`的计数结果仅在主核输出。
18.2. 区域分解示例¶
第一种方法的输入示例:
DomainDecomposition
Domain 1 cell = 1 > 1: 136 > 3
Domain 2 cell = 1 > 137:289 > 3
第二种方法(简化输入)的输入示例:
DomainDecomposition
Expand AXIALLEVEL=0 RADIALLEVEL=1 AXIALUNIV=0 RADIALUNIV=8 AXIALDOMAIN=1 RADIALDOMAIN=
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 0 2 2 0 2 2 0 2 2 0 2 2 0 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 0 2 2 0 2 2 0 2 2 0 2 2 0 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 0 2 2 2 2 2 2 2 2 2 0 2 2 2
2 2 2 2 2 0 2 2 0 2 2 0 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2