This is a neutron space-time kinetics solver with improved quasi-static method based on OpenFOAM. This solver is named as KaiyangIQS, which will be a toolkit of Kaiyang Code (北斗第六 - 开阳). The algorithm, numerical methods, and validated cases can be referred from: Development of a neutron space-time kinetics solver with improved quasi-static method based on OpenFOAM, Nuclear Engineering and Design, 419 (2024) 112990
Tutor: Dalin Zhang (张大林), Professor, Xi'an Jiaotong University, China, [email protected], personal page: https://gr.xjtu.edu.cn/en/web/dlzhang
Author: Xingguang Zhou (周星光), Doctor of Engineering (student), Xi'an Jiaotong University, China, [email protected], GitHub page: https://github.com/ZXG818
Author: Xinyu Li (李新宇), Doctor of Philosophy (student), Xi'an Jiaotong University, China, [email protected], GitHub page: https://github.com/Xinyu-Li-1997
Lab: Nuclear Thermal-hydraulic Laboratory, Xi'an Jiaotong University (XJTU-NuTHeL), lab page: http://nuthel.xjtu.edu.cn/index.htm
Dalin Zhang: Conceptualization; Methodology; Supervision.
Xingguang Zhou: Conceptualization; Methodology; Solver coding; Reactor kinetics behavior investigation.
Xinyu Li: Conceptualizaiton; Methodology; ODE solver and point-kinetics disscussion.
The improved quasi-static method solver, KaiyangIQS, developed in this study is based on OpenFOAM-v2006. You can find and download OpenFOAM-v2006 freely at: https://www.openfoam.com/news/main-news/openfoam-v20-06
There are three benchmark problems in this repository. Unidimensional-rod-ejection, TWIGL-2D, and 3D-rod-ejection are the cases which have been validated in the paper.
- In each case, the directory neutronKineticsSolver is the solver with improved quasi-static method.
- In the directory neutronKineticsSolver, adjointDiffusionFoam is the solver of adjoint scalar flux diffusion equation, and iqsNeutronicsFoam is the solver with improved quasi-statics method.
- In the directory of iqsNeutronicsFoam, pointKinetics is the module of amplitude function, shapeDiffusion is the module of shape function. iqsNeutronicsFoam.C is the main control of the whole algorithm.
- Users will change the group constants over time at shapeDiffusion/ChangeGroupConstant.H, and calculate the kinetics parameters at shapeDiffusion/KineticEffectiveCalc.H.
For each benchmark validation, the name of the dictionary usually contains the keyword Problem. The benchmark validation directory is in the same level of directory neutronKineticsSolver.
- Open the terminal at the directory of iqsNeutronicsFoam, make sure to use the OpenFOAM-v2006 environment. Then, enter
wclean
andwmake
. - Swith the terminal to xxxProblem/Problem directory. Make sure to use the OpenFOAM-v2006 environment. Then enter
testIQS >log
in terminal. - After completing step 2, we can see that there is a log file occurs, and the results are in this file.
- When calculation has done, we open the log file and use a text editor (such as Microsoft VScode: https://code.visualstudio.com/) to search and extract the target strings like
n/n0 = 7(result a b c d e f)
.
- Initial fields at
t = 0s
of shape function and DNPs are obtained from the diffusion solver sp3Foam. sp3Foam is a low-order neutron transport equation solver with SP3 method, and this solver also can solve the neutron diffusion equation. sp3Foam is under reviewing at Development and validation of a low-order neutron transport solver with SP3 method based on OpenFOAM, Progress in Nuclear Energy (under review). We will open-source this solver while the under reivew has done. - KaiyangIQS has hard-coded the change of group constants and kinetics parameter calculation. Therefore, users need to manually modify the shapeDiffusion/ChangeGroupConstant.H and shapeDiffusion/KineticEffectiveCalc.H. For the verification of the three benchmark problems in this paper, we have made all code modifications. Users only need to recompile the solvers in the corresponding folders before running different benchmark problem.
- Point kinetics solver and adjoint scalar flux diffusion equation solver in this paper also can both run independently and be validated.
- For TWIGL benchmark problem, there are two cases: ramp perturbation and linear perturbation. This repo only uploads the linear perturbation. If the user want to run the ramp perturbation case, only need to modify the read group constant file
iqsNeutronicsFoam/shapeDiffusion/readGroupConstants.H
in theTWIGL-2D/neutronKineticsSolver
folder, and it is easy. - At present, this version of KaiyangIQS is still an alpha version (in the debugging state), and further optimization of its code architecture will be carried out, including but not limited to group constants input optimization, post-processing optimization, parallel computing, etc.
KaiyangIQS is complied with GPLv3 license: https://www.gnu.org/licenses/gpl-3.0.en.html.