一种堆芯数值求解器易扩展软件系统、调用方法及终端技术方案

技术编号:28418705 阅读:24 留言:0更新日期:2021-05-11 18:25
本发明专利技术公开了一种堆芯数值求解器易扩展软件系统、调用方法及终端,涉及计算机软件技术领域,其技术方案要点是:包裹函数层提供统一的函数接口;数据层将线性系统所需数据以并行数据结构进行存储;数值方法层,将线性系统所需数据实现具体运算的数值算法进行相互独立存储;控制功能封装层提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;结构底层存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。本发明专利技术能适应串行情况和分布式内存并行情况,并可提升程序模块的可扩展性和可测量性,便于集成新的数值求解算法和派生满足不同需求的数值求解接口。

【技术实现步骤摘要】
一种堆芯数值求解器易扩展软件系统、调用方法及终端
本专利技术涉及计算机软件
,更具体地说,它涉及一种堆芯数值求解器易扩展软件系统、调用方法及终端。
技术介绍
堆芯数值分析计算在稳态或瞬态情况下涉及求解线性系统或非线性系统,它们依赖于底层的数值求解器,例如直接法,Krylov子空间方法,Newton迭代法等。这些数值求解器可以由自研程序模块或第三方库进行提供,尽管整体算法较为固定,但编程实现细节和局部算法的改进各不相同,使得数值求解器在串行情况和分布式内存并行情况下呈现不同的计算效率和稳定性,而且会影响新算法在原有基础上实现的可扩展性。因此,如何研究设计一种堆芯数值求解器易扩展软件系统、调用方法及终端是我们目前急需解决的问题。
技术实现思路
为解决现有数值求解器在串行情况和分布式内存并行情况下呈现不同的计算效率和稳定性,而且会影响新算法在原有基础上实现的可扩展性的问题,本专利技术的目的是提供一种堆芯数值求解器易扩展软件系统、调用方法及终端。本专利技术的上述技术目的是通过以下技术方案得以实现的:第一方面,提供了一种堆芯数值求解器易扩展软件系统,该系统应用于线性系统的堆芯数值求解,包括:包裹函数层,用于面向开发用户或计算用户提供统一的函数接口;数据层,用于将线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储;数值方法层,用于将线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;控制功能封装层,用于提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;结构底层,用于存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。进一步的,所述函数接口以函数形式或类形式给出。进一步的,所述控制功能封装层为跨层功能结构。第二方面,提供了一种实现如第一方面中所述的一种堆芯数值求解器易扩展软件系统的调用方法,包括以下步骤:S101:通过包裹函数层面向开发用户或计算用户提供统一的函数接口;S102:通过数据层将线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储;S103:通过数值方法层将线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;S104:提供控制功能封装层提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;S105:通过结构底层存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。第三方面,提供了一种堆芯数值求解器易扩展软件系统,该系统应用于非线性系统的堆芯数值求解,包括:包裹函数层,用于面向开发用户或计算用户提供统一的函数接口;问题抽象接口层,用于对输入的参数进行抽象描述,并将非线性方程组的求解拆分为不变的几个过程以确保软件结构内计算流程从上到下有多个可选和选用不同的数值方法均能完成非线性方程组的求解,且覆盖满足串行情况和分布式内存并行情况需求的函数接口功能;数据层,用于将非线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储,以及以适用于串行情况的串行数据结构进行存储;数值方法层,用于将非线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;控制功能封装层,用于提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断,以及对非线性方程组求解的中间过程进行测量;结构底层,用于存储实现数值算法的通用程序代码和共性计算内容,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。进一步的,所述函数接口以函数形式或类形式给出。进一步的,所述数值方法层将非线性方程组求解的数值方法区分为串行情况和分布式内存并行情况后独立存储。进一步的,所述控制功能封装层为单层功能结构,向下用于统计线性方程组求解的结果,向上用于记录和更新描述非线性方程组的参数列表。第四方面,提供了一种实现如第三方面所述的一种堆芯数值求解器易扩展软件系统的调用方法,包括以下步骤:S201:通过包裹函数层面向开发用户或计算用户提供统一的函数接口;S202:通过问题抽象接口层对输入的参数进行抽象描述,并将非线性方程组的求解拆分为不变的几个过程以确保软件结构内计算流程从上到下有多个可选和选用不同的数值方法均能完成非线性方程组的求解,且覆盖满足串行情况和分布式内存并行情况需求的函数接口功能;S203:通过数据层将非线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储,以及以适用于串行情况的串行数据结构进行存储;S204:通过数值方法层将非线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;S205:通过控制功能封装层提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断,以及对非线性方程组求解的中间过程进行测量;S206:通过结构底层存储实现数值算法的通用程序代码和共性计算内容,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。第五方面,提供了一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面或第四方面所述的一种堆芯数值求解器易扩展软件系统的调用方法。与现有技术相比,本专利技术具有以下有益效果:1、本专利技术提供的技术方案一方面适应串行情况和分布式内存并行情况,另一方面提升程序模块的可扩展性和可测量性,便于集成新的数值求解算法和派生满足不同需求的数值求解接口;2、本专利技术提供的线性系统求解器的结构设计保证了线性方程组求解的功能模块划分不至于过细,也明确了功能模块之间的相互关联关系;相应的结构设计也具备较强的可扩展性,引入新的数值算法或测量内容仅需在结构的某个层次添加对应的模块,并不影响整个结构设计的完整性;且在保持结构内重要名称不变的前提下,修订已有的数据结构和数值算法并不会带来结构设计的改变;3、本专利技术提供的非线性系统求解器的结构设计在底层复用线性系统求解器的软件结构,同时在中间层次引入问题抽象接口来降低非线性方程组问题的描述复杂度;此结构设计具备较强的可扩展性,可以描述Jacobi矩阵已知或未知的情况,也便于引入新的数值算法和求解流程;整个结构设计内问题抽象接口保持不变后,修订已有的数据结构和数值算法并不会带来结构设计的改变。...

【技术保护点】
1.一种堆芯数值求解器易扩展软件系统,其特征是,该系统应用于线性系统的堆芯数值求解,包括:/n包裹函数层,用于面向开发用户或计算用户提供统一的函数接口;/n数据层,用于将线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储;/n数值方法层,用于将线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;/n控制功能封装层,用于提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;/n结构底层,用于存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。/n

【技术特征摘要】
1.一种堆芯数值求解器易扩展软件系统,其特征是,该系统应用于线性系统的堆芯数值求解,包括:
包裹函数层,用于面向开发用户或计算用户提供统一的函数接口;
数据层,用于将线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储;
数值方法层,用于将线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;
控制功能封装层,用于提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;
结构底层,用于存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。


2.根据权利要求1所述的一种堆芯数值求解器易扩展软件系统,所述函数接口以函数形式或类形式给出。


3.根据权利要求1所述的一种堆芯数值求解器易扩展软件系统,其特征是,所述控制功能封装层为跨层功能结构。


4.一种实现如权利要求1所述的一种堆芯数值求解器易扩展软件系统的调用方法,其特征是,包括以下步骤:
S101:通过包裹函数层面向开发用户或计算用户提供统一的函数接口;
S102:通过数据层将线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储;
S103:通过数值方法层将线性系统所需数据实现具体运算的数值算法进行相互独立存储,并向包裹函数层提供统一的函数接口,以及根据函数接口传递的类型值调用对应的数值方法进行运算;
S104:提供控制功能封装层提供类封装、测量函数注册以对所管理的参数列表进行测量和属性判断;
S105:通过结构底层存储实现数值算法的通用程序代码,并将程序代码以功能类别划分成多个核心部分进行独立储存,以及向数值方法层提供固定的函数接口。


5.一种堆芯数值求解器易扩展软件系统,其特征是,该系统应用于非线性系统的堆芯数值求解,包括:
包裹函数层,用于面向开发用户或计算用户提供统一的函数接口;
问题抽象接口层,用于对输入的参数进行抽象描述,并将非线性方程组的求解拆分为不变的几个过程以确保软件结构内计算流程从上到下有多个可选和选用不同的数值方法均能完成非线性方程组的求解,且覆盖满足串行情况和分布式内存并行情况需求的函数接口功能;
数据层,用于将非线性系统所需数据以同时适用于串行情况和分布式内存并行情况的并行数据结构进行存储,以及以适用于串行情况的串行数据结构进行存储;
数值方法层,用于将非线性...

【专利技术属性】
技术研发人员:明平洲刘婷李治刚潘俊杰芦韡余红星夏榜样刘东安萍
申请(专利权)人:中国核动力研究设计院
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1