我学的是核科学与技术专业,本科和硕士期间写了不少程序,如计算堆芯中子动力学的,计算流体力学的。但多数仅针对具体问题,通用性有些不足。硕士修了一门仿真技术的课程,我的作业是求解点堆中子动力学程序,靠这个还拿了优秀。觉得这个程序还蛮通用的,对于同专业的搞个大作业,或用于毕设等或许有帮助。
详细的推导、验证过程、程序代码见:https://github.com/ikheu/point_reactor
1 概述
计算中子通量密度的瞬变特性,对反应堆动力系统的运行安全分析与仿真而言十分重要。点堆中子动力学模型是反应堆动态学中最常用的方法。
点堆中子动力学模型描述了中子密度和缓发中子先驱核浓度随时间变化的规律,基本方程如式(1)所示。由于瞬发中子寿命与缓发中子寿命间存在着数量级的差别,耦合的点堆动力学微分方程组存在着刚性,这给数值求解带来了一定困难。常规的显式方法,如欧拉法、龙格库塔法在计算该问题时会存在稳定性问题,这要求时间步长需取得很小,会带来计算耗时以及大的累计误差。针对点堆动力学方程组的刚性问题,发展了许多种处理方法,包括:(1)线性多步法,如GEAR算法及其改进形式;(2)基于积分方程的方法,如Hansen方法;(3)分段多项式逼近法,如埃尔米特插值型;(4)权重限制法;(5)指数基函