APP下载

面向反应堆设计的快速建模平台研发与应用

2021-03-13姚建凡彭思涛张希晋

中国核电 2021年1期
关键词:组件图表界面

李 伟,姚建凡,付 丛,彭思涛,陈 俊,张希晋

(中广核研究院有限公司,广东 深圳 518000)

反应堆设计软件包是核电工程设计与安全分析的重要工具。软件包涵盖了堆芯物理软件、热工水力软件和系统辅助软件等,提供了包括燃料组件计算、三维核设计、通量图处理、子通道分析、系统瞬态等功能。但各软件在设计分析中存在以下不足:

1)软件跨专业,输入输出差异大;

2)文本形式建模,人机交互较差,影响设计效率;

3)数据管理的方式不利于数据的重用与共享;

4)没有使用调度策略,无法充分利用计算资源。

综上所述,亟待开发一套面向反应堆设计的快速建模平台。结合不同专业领域的发展和技术特点,融合标准化的输入和输出,并采用软件组件化管理和自主研发的界面解析器实现各设计软件模块的快速集成与界面定制。本文详细介绍了系统设计、关键技术、主要功能和应用情况。

1 系统设计

平台支持多用户的操作,具备管理和并发执行的能力,支持新功能的快速开发,已有功能模块的易维护的特点。根据以上特点,系统的物理架构、逻辑架构和数据架构设计如下。

1.1 物理架构设计

物理架构设计为2台管理服务器、2台数据服务器和N台计算服务器,如图1所示。

图1 物理架构设计图Fig.1 Physical architecture design

管理服务器上部署了平台软件、设计软件及相关辅助软件,用户采用远程登录的方式登录到管理服务器上进行设计工作。

两台数据服务器负责保存平台上用户产生的数据,包括文件及数据库。

N台计算服务器组成计算云平台,被虚拟成M个计算节点,每个节点有K个计算线程,实现最大同时运行M×K个计算。

1.2 逻辑架构设计

逻辑架构设计为3层,分别为表现层、应用逻辑层和数据服务层,如图2所示。

图2 逻辑架构设计图Fig.2 Logical architecture design

表现层:包括软件的界面及与用户进行交互的工具,其中界面是基于Java Swing构建,界面的操作采用多线程的方式进行异步处理,保证界面操作的灵敏度。Swing开发工具包大多数用来开发Java应用程序用户界面,它包含很多控件,可以很方便的用来构建界面[1]。

应用逻辑层:包含系统功能上的数据处理过程、算法及相关的业务处理,并与表现层和数据服务层交互。

数据访问层:数据访问层定义了操作存储介质的入口,本平台有文件、关系型数据库和非关系型数据库3种数据存储介质。

1.3 数据架构设计

平台有3类持久数据单元,第1类是文件,包括设计数据、界面输入数据和图表数据;第2类是非关系型数据库,存储报表数据;第3类是关系型数据库,存储平台管理数据,包括权限、问题反馈,计算流程规则等。

平台中数据量最大的是用户计算数据,如图3所示。将用户计算数据按照User、Task、Work、Job 4级目录架构进行重组,支持同一用户下数据重用(复制、粘贴)与不同用户间数据共享(导入、导出)。

图3 用户计算数据架构图Fig.3 User computing data architecture

User级代表不同用户的数据,Task代表一个设计工程,Work代表完成一个指定功能的计算集,Job代表一个指定任务的单个计算。每个Job运行后会产生一个Databank目录,存储计算过程的日志数据和结果数据。

报告数据采用非关系型数据库进行存储,非关系型数据库具备灵活的数据模型,不定义表结构,不存在数据模型的约束[2],可以灵活配置多种类型的报告。

管理数据采用关系型数据库是为了方便与企业内部的反应堆设计服务系统进行数据交互,将设计工作与设计管理进行对接。对平台用户而言,看到的是一个整体,从开始设计流程,设计执行到结束设计过程中产生的管理信息与工程数据进行状态同步,实现设计与管理一体化。

2 关键技术

2.1 界面解析器

平台集成了反应堆专业的设计软件,并为设计软件提供输入界面。平台的输入界面类型分为3种,第1种是纯Swing组件界面,第2种是图形类型界面,第3种是Swing组件和图形类型混合布局界面。平台累计集成有上百计算模块,所有计算模块采用定制编程方式实现软件界面,工作量巨大,后期维护也很困难。可扩展标记语言XML(Extensible Markup Language)是由W3C组织采用的一个标准,是一种描述语言[3]。平台将Swing组件界面采用XML进行配置,图形类型界面采用定制开发方式实现,部分图形类型界面封装成自定义组件提供给混合布局界面中XML配置引用。

界面解析器提供一套将XML文件转译成界面程序的方式,开发人员只需要根据界面需求配置XML文件,平台就能根据配置的XML文件生成界面。实现高效定制设计软件的输入界面,也能保证各设计软件界面风格的统一。

2.2 设计软件组件化管理

组件化管理系统的基本思想是系统为外围组件定义统一的接口规范,使系统通过统一的接口调用各个外围组件所提供的功能[4]。平台提供一个软件集成的标准化接口规范,设计软件按照标准接口以组件形式与平台进行对接,包括软件路径、执行参数、上游计算类型、输出类型、数据后处理、输入文件等。

集成过程中,设计软件具备自身的数据组织特点,平台采用了标准化的输入流程和输出文件来解决软件之间输入输出文件在格式上的差异问题。输入流程描述为,设计软件提供具备自身数据组织特点的模板文件;用户在界面上的输入信息生成键-值形式的数据文件;平台按照关键字检索将数据文件的内容填充到模板文件中,生成最终格式的输入文件,由此解决输入文件在数据组织上的差异问题。

平台具备较强的扩展性,开发工程师可以在平台上进行二次开发,平台提供了数据文件生成前后处理的接口和二次开发源程序的路径配置,由平台自动调用二次开发的程序。

2.3 界面数据映射

在工程设计中,界面输入与数据文件输入具备各自的特点,为了满足工程设计的需要,需要兼容两种输入方式,同时保证界面和数据文件的数据同步,因此建立界面与数据文件自动映射关系能满足工程设计的需求。界面数据映射需要建立界面与数据文件之间的数据映射模型,映射模型里定义多个映射约束、映射条件和映射规则,将界面上的元素对象与数据文件中的元素对象之间建立映射匹配关系,实现界面输入和数据文件输入两种方式之间的双向转换,同时兼容两种输入方式。

2.4 可配置的数据图表

采用编程的方式去定制各软件的图表,工作量大,且难以覆盖各设计软件的需求。平台提供一种可视化图表自定义生成方法,该方法提供可配置的图表模板,图表模板包括样式配置和数据源配置。通过模板完成图表的类型、关联的数据源ID和显示效果等各项图表参数的配置,由图表解析引擎解析模板文件,自动生成展示结果数据的图表文件。

3 主要功能

3.1 计算流程设计

平台提供图形化的核设计过程,使用连接线的方式去组合不同的计算,采用流程图的方式将复杂的核设计过程转化为计算逻辑流程图。设计工程师在执行计算流程的过程中,平台能识别出哪些计算实例满足并行条件,并加以并行执行,同时自动为上下游计算实例更新数据接口,提升设计效率,如图4所示。

图4 图形化计算流程设计Fig.4 Graphical calculation process design

3.2 图形化建模

平台采用了自主研发的界面解析器和部分图形模块定制开发为集成的上百计算模块提供界面,界面类型包括燃料组件建模、控制棒设计、堆芯设计、换料设计等,通过这些丰富的界面使设计软件具备图形化快速建模的能力。

图5 图形化建模Fig.5 Graphical modeling

3.3 基于计算云的作业调度系统支持

高性能计算云平台是一种将高性能计算机与云计算技术结合的高效服务平台,通过虚拟化技术将底层资源整合,为用户提供高性能计算服务[5]。平台以高性能计算云平台为支撑,集成有Torque和Slurm两种作业调度系统,支持上千计算并发执行,通过作业调度系统能够有效利用计算云平台的高并发计算能力,缩短工程设计任务的计算时间,提高设计效率。

图6 计算任务执行调度管理Fig.6 Scheduling management for computing task execution

3.4 结果显示

平台为各专业设计软件提供结果显示,结果显示分为2类,第1类是为堆芯物理软件定制开发的结果显示,包括键值数据显示、一维数据显示、二维数据显示和三维数据显示,其中三维数据显示依靠一维结合二维的方式实现;第2类是图表形式展示结果数据,设计软件根据预先规定的数据格式生成结果文件,平台加载结果文件提供各类图表的显示。

图7 结果显示Fig.7 Results display

3.5 报错提示

平台在计算流程建模、计算输入、换料设计检查、计算执行调度和报告生成中提供报错提示,包括计算流程建模过程中的逻辑错误、界面输入参数错误、输入文件错误、预定义规则的换料设计检查错误、部分计算结果数据异常、计算状态错误和报告生成错误等。错误提示的种类包括弹出框、标签、计算节点图标和颜色状态、消息输出控制台及日志输出。

图8 弹出框提示Fig.8 The pop-up prompt

3.6 一体化测试与发布

平台采用开源软件搭建了软件测试与发布功能的持续集成框架,全程无需人工干预,实现自主软件从软件开发工程师到设计工程师的点对点敏捷工作模式。

3.7 自动化报告

自主研发可定制模板的报告生成系统,设计工程师完成计算后,通过该平台可实现计算结果数据提取、加工和相应工程报告一键生成,提高了设计工作效率。

4 平台应用

平台已经广泛应用在国内某核电集团的多项工程设计工作中。图11是使用平台搭建的国内某核电厂燃料管理计算框架模板,13个循环的初始模板的设计周期从原本的1个月左右缩减到1周,进行完整的复算只需要6 h,设计效率成倍数提升。

图12是使用平台搭建的国内某核电厂某次循环的核设计报告计算框架,利用自动化报告定制生成功能,计算完成后由平台自动完成结果数据提取、加工和相应工程报告一键生成,复杂的数据梳理和报告内容修改过程从原本耗时1周缩短到1 h内,显著提升设计工程师的工作效率。

在这些项目的设计任务中,平台的并行计算支持能够充分利用计算资源,优化调度策略,合理分摊集团计算资源的成本。工程报告一键生成功能显著提高设计工程师的工作效率。图形的流程设计、输入界面与计算过程监控有效提高设计工作的质量。

图9 一体化功能流程图Fig.9 The flow chart of integrated function

图10 自动化报告效果图Fig.10 The effect diagram of the automated report

图11 燃料管理计算框架图Fig.11 The fuel management calculation framework

图12 核设计报告计算框架图Fig.12 The calculation framework of the nuclear design report

平台的研发与推广应用,有效实现了反应堆各专业的协同设计及设计过程流程化管理,显著提高了设计工程师的工作效率和质量。

5 结束语

本文对传统反应堆设计软件的设计过程进行简要分析,详细介绍快速建模平台的架构和功能,并对平台应用前后的设计效率进行对比。通过应用平台,可以使反应堆设计软件包的运行和管理标准化,减少人因导致的差异性,提高了设计工程师的工作效率和质量。平台还为核电行业其他同类产品的设计和实现提供了借鉴。

猜你喜欢

组件图表界面
Android系统上移动组件化应用框架设计
不同截面类型钢管RPC界面粘结性能对比研究
创建Vue组件npm包实战分析
智能机械臂
舰载雷达TR组件冲击计算方法分析
国企党委前置研究的“四个界面”
双周图表
双周图表
双周图表
图表