2.2求解能量方程的Gauss消去法
在ATHAS程序中,目前对于能量方程所产生的大型稀疏线性方程组采用含有非零判断的列主元素Gauss消去法进行计算[3],计算过程中只对非零元素进行消去。
a1n??x1??b1??a11??设所要求解的稀疏线性方程组为 A x ,即 ? ? ? ? ? ,则具? b???????a????体算法如下[5]: ann??n1??xn??bn?
对于k?1,2,,n?1做到步骤5。
k?i?n1. 按列选主元,即确定ik使aik,k?maxaik?0 2. 如果aik,k?0,则A为奇异矩阵,停止计算。 3. 如果ik?k,则交换A、b的第ik行与第k行元素。 4. 如果aik?i?k?1,,n?为0,则不执行第5步。
,n? (2.12) n;i?k?1,,n? (2.13)
5. 消元计算:mik?aik/akk ?i?k?1, aij?aij?mik?akj ?j?k,bi?bi?mik?bk ?i?k?1,,n? (2.14)
6. 回代计算:如果ann?0,则A奇异,停止计算。
?bn?bn/ann ?ann?0??n???b?b?ab?i?i?ijj?/aii ?i?n?1,j?i?1???(2.15)
,2,1? (2.16)
ATHAS能量方程的系数矩阵是一类严格对角占优的大型稀疏矩阵。利用
Gauss消去法对严格对角占优矩阵进行求解时,每次消去后的矩阵仍为严格对角占优矩阵,选取的列主元仍为原来的对角元,所以实际计算过程中并没有进行列主元的行替换,便可以保证计算结果的稳定。由于系数矩阵中所含非零元素所占比例极小且主要分布在矩阵主对角线附近,进行非零判断后,需要消元计算的计算量较少。因此,当系数矩阵阶数不高时,采用含有非零判断的Gauss消去法对能量方程进行求解具有一定的优势。但是,采用消去求解稀疏矩阵在一定程度上会破坏矩阵的稀疏性,随着ATHAS模拟的堆芯组件子通道划分个数的增加,能
量方程系数矩阵的阶数不断增大,这种稀疏性的破坏对求解效率的影响会不断增大,产生大量非零元素,大大增加了计算量,成为限制ATHAS程序提升运行速度的重要因素。