• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于统一耦合框架的系统程序封装开发与验证

    时间:2023-06-22 08:00:04 来源:雅意学习网 本文已影响 雅意学习网手机站

    汤俊杰,罗 晓,李仲春,张喜林,沈丹红,陈红丽,*

    基于统一耦合框架的系统程序封装开发与验证

    汤俊杰1,罗晓1,李仲春2,张喜林2,沈丹红2,陈红丽1,*

    (1. 中国科学技术大学核科学技术学院,安徽 合肥 230026;
    2. 中国核动力研究设计院,四川 成都 610213)

    反应堆系统的状态与堆芯物理、流体、结构、控制和外部条件紧密联系。为了能够充分考虑反应堆多尺度多物理耦合特性,需要建立起系统级耦合分析软件,用于评估反应堆系统在稳态、瞬态和事故工况下的行为特性。统一耦合接口理念ICoCo(Interface for Code Coupling)具有规范化和可复用的优势,基于ICoCo对系统程序Relap5mod3.2进行了程序封装,并采用supervisor流程控制方案进行调度,开展回归测试,验证了封装前后计算结果一致。并在此基础上开发接管、控制体、泵和阀门等重要部件相关数据的输入输出ICoCo接口,一方面开展两个Relap5程序的并发耦合工作,验证耦合接口正确性;
    另一方面通过将控制模块外移,在supervisor中实现对Relap5的控制,从而允许未来更先进的控制及其优化算法应用到反应堆控制安全系统的设计、分析与优化中。

    系统程序;
    统一耦合框架;
    ICoCo理念;
    数据传递接口

    反应堆系统的状态与堆芯物理、流体、结构、控制和外部条件紧密联系。为了能够充分考虑反应堆多尺度多物理耦合特性,需要建立起系统级耦合分析软件,用于评估反应堆系统在稳态、瞬态和事故工况下的行为特性。

    反应堆系统程序与其他程序的耦合接口较多,包括CFD(Computational Fluid Dynamics)程序、物理程序、子通道程序、二回路系统程序、控制系统程序等,如图1所示,国内外基于系统程序与其他程序开展了一些耦合工作,如Relap5-3D/FLUENT[1]、TRACE/CFX[2]、Relap5/CFX[3]、TRACE/SCF[4]等。系统程序的封装与数据接口开发对反应堆的数值模拟有着重要的作用,也是系统级耦合研究的基础。

    图1 反应堆系统程序耦合程序接口示意图

    目前国内外主流多尺度耦合方案主要有两种:主-从耦合方案和Supervised(统一平台理念)耦合方案,图2为主-从耦合方案和Supervised耦合方案示意图。目前基于系统程序耦合大多采用主-从耦合方案,该耦合方案相对易开发,但是每次耦合程序都需要对其进行单独的耦合接口开发,耦合接口不易拓展,缺乏灵活性。Supervised方案基于统一平台理念,使用第三方程序或脚本作为supervisor(控制程序)调度程序,控制耦合程序运行和程序间的数据传递,耦合接口可复用,采用这种方案,基于统一耦合框架进行各程序的开发,对多个程序间耦合具有较强的通用性。

    本文采用Supervised方案,基于NURESIM平台的ICoCo(Interface for Code Coupling)封装理念,ICoCo封装理念提供高效丰富的接口函数规范,基于该理念对源程序进行拆分重写,实现精细控制程序运行和程序间数据交换。

    图2 主流多尺度程序耦合方案

    对系统程序Relap5mod3.2进行程序封装之后,采用supervisor流程控制方案对封装后程序进行调度,最终实现了Relap5程序的单独调用和并发耦合。采用水平圆管喷放和典型四环路小破口事故模拟对封装程序开展回归测试,验证封装前后计算结果一致。调用开发好的ICoCo接口中接管、控制体、泵和阀门等重要部件相关的数据输入输出接口函数,一方面开展了两个Relap5程序的并发耦合工作,验证数据传递接口的正确性,另一方面通过将控制模块外移,实现Relap5可以采用外部控制算法,从而允许未来更先进的控制及其优化算法应用到反应堆控制安全系统的设计、分析与优化中。

    ICoCo是面向对象的通用代码耦合接口。ICoCo接口基于C++开发,定义一个父类Problem,Problem类中定义功能函数,包括程序的初始化、时间步长计算与初始化、运算时间步和场数据传递等,表1给出了ICoCo定义的主要接口及其功能。

    表1 重要的ICoCo接口及功能

    基于ICoCo理念对程序进行封装,需要对程序进行解读,对流程运行子程序和函数进行拆分,对应ICoCo接口功能要求编写相应的ICoCo接口函数。在ICoCo中,可以根据封装程序特点开发额外接口函数,以方便用户使用。对于Relap5程序,该程序使用集总参数法,节点网格内保存的数据为单点数据,因此在开发使用MEDCoupling库进行场数据交互的基础上,开发了单点数据传递的接口函数如表 2所示,方便与其他程序间耦合时进行单点数据传递。

    表2 ICoCo单点数据接口及功能

    上述接口函数开发完成之后,编译生成动态链接库供supervisor调度程序链接调用。对封装好的程序进行调用,目前有三种形式,用C++、python编写调度程序或者在耦合平台SALOME上进行调用,本文用C++编写supervisor调度程序,对于系统程序的封装工作,进行了计算流程验证,验证封装前后计算结果是否一致,图3为supervisor进行单个程序调用的示意图。

    图3 supervisor调用单个程序示意图

    系统程序Relap5是轻水堆冷却系统事故工况的瞬态行为最佳估算程序,初始由爱德华国家工程实验室(INEL)为美国核管会(NRC)开发,用于进行规则制定、许可审查计算、事故减缓措施评估、操作员规程评价和实验计划分析。

    2.1 Relap5的ICoCo封装

    参考Relap5主程序、瞬态计算子程序和时间步相关子程序,按照ICoCo接口函数功能需求,对Relap5源程序进行拆分,对需要调用的Fortran子程序或函数使用extern“C”声明,开发ICoCo接口,封装完成后,编写supervisor程序对ICoCo接口函数进行调用,便可以实现Relap5程序的计算。Relap5在热工水力分析上有多年的使用历史,经过许多实验验证,对于程序封装验证,采取程序封装前后“code to code”的回归测试验证。图4为supervisor调用封装后Relap5程序的ICoCo接口函数示意图。

    2.2 流程控制实现

    在ICoCo封装中实现对单点数据的读取写入功能之后,可以在调度程序supervisor里面编写类似trip卡作用的逻辑判断,调用读取接口函数来获取某个部件的某个物理值,用来做判断依据,从而对部件实现在Relap5外部进行逻辑控制操作。例如图5(a)所示,trip阀220开关条件为控制体SV110压力,SV110压力值大于等于5.0×105Pa时,阀门开启,否则阀门关闭,在Relap5内的实现如图5(b)所示,需要在indta卡编写控制逻辑trip卡,并在阀门信息处关联对应trip卡,该关联关系确认之后计算过程中不可改变。在supervisor中的控制实现如图5(c)所示,调用getOutputHydro函数读取SV110压力值与临界值进行判断,再调用setInputHydro函数写入阀门开度,实现对阀门开启关闭的控制,该方法控制条件可以由用户任意改变,只需要用户在supervisor中编写逻辑控制语句,就可以关联其他读取数据或者时间,对阀门开度进行控制。

    图4 接口函数调用流程示意图

    流程控制还包括对TDV(时间相关控制体)、TDJ(时间相关接管)边界条件的写入、泵转速的写入和205控制CONSTANT量的写入。可以实现单程序计算时对Relap5的控制和与其他程序耦合时进行数据传递。

    图5 阀门控制图

    2.3 Relap5/Relap5耦合实现

    为了测试Relap5封装后的接口函数满足和其他程序耦合时数据传递的需求,用两个Relap5程序进行耦合,进行边界条件的数据传递。由于两个封装好的Relap5子程序和变量名一样,在编写串行supervisor控制程序时会出现报错,运用MPI通信,实现两个Relap5程序耦合时的数值传递,图6为该耦合程序进行计算的流程图。

    运用MPI开两个线程计算,每个线程计算一个Relap5程序,线程1负责计算程序1,线程2负责计算程序2。每步计算完成后进行数据传递。

    图6 Relap5/Relap5耦合流程图

    针对本文对Relap5程序的封装以及单点数据接口开发,建立两个测试问题,测试封装后程序计算、流程控制实现以及与其他程序进行耦合时单点数据的传递。

    算例 1 为水平圆管喷放,模拟节点图如图7所示。水平圆管长度15 m,流通面积为0.5 m2,出入口初始压力均为0.2 MPa,流体速度为0,流体温度为300 K,管壁绝热。0 s时出口压力突变,降到0.1 MPa,管内出现压差,流体从入口加速向出口流出,10 s左右后达到稳定流速(10.94 m/s)。在整个过程当中流体表现为单相状态。

    图7 水平圆管喷放模拟节点图

    算例2为典型四环路小破口事故模拟。图8为小破口事故模拟节点图,将包含破口的回路建成单个回路,水力学部件号为2××,其余三个完整循环回路合并成一个回路,水力学部件号为1××,堆芯部件号为3××,蒸汽发生器部分节点图忽略。其中阀门505为破口模拟阀,破口时间为0.01 s。

    3.1 封装后Relap5测试

    通过编写supervisor程序检验每个ICoCo接口是否可以正常调用和实现其功能,从而对封装后的Relap5进行测试。以算例1和算例2为对象,全面验证封装后Relap5的功能。

    图9和图10为Relap5封装前后计算算例1的结果对比,图中Relap5曲线为程序封装前计算结果,REICOCO曲线为程序封装后计算结果,可以看出算例1中流速和沿管压力分布封装前后计算结果完全一致。

    图8 典型四环路小破口模拟节点图

    图9 速度随时间变化

    图10 沿管压力变化

    表3 是封装前后计算效率的对比,封装后的计算效率基本与封装前一致,因此,基于ICoCo理念对Relap5程序的封装过程满足计算正确性和计算效率的要求。

    图11 一回路出口蒸汽、蒸汽室腔压力随时间变化

    图12 破口模拟阀门流量随时间变化

    表3 计算效率对比

    3.2 流程控制测试

    以算例 2 为测试对象,选取阀门和泵,在supervisor 中通过调用单点数据读取函数(get Output Hydro)和单点数据写入函数(set Input Hydro),实现对阀门开度和泵转速的控制。

    对算例中破口模拟阀trip valve 505的破口时间进行修改,原模拟破口时间为计算开始后0.01 s,将破口时间改为计算开始后200 s,分别对封装前输入卡修改控制信息,实现在封装前程序修改阀门破口时间;
    对封装后的Relap5程序,调用单点数据输入接口,以时间为判断信息,修改破口模拟阀门开度,实现在supervisor中修改阀门破口时间计算对比破口模拟阀门的流量随时间变化对比如图13所示。

    图13 破口模拟阀门流量随时间变化

    封装前后的结果一致,阀门在200 s前流量为0,200 s后阀门开启。

    对主泵209的初始转速进行赋值,泵初始转速为 125.2 rad/s,分别在输入卡和在 supervisor中对泵初始转速进行修改,改为75 rad/s。计算结果对比如图14所示,两种方法修改泵的初始转速后的计算结果一致。同时还在supervisor中编写类似trip卡判断对泵转速进行控制,与在输入卡中编写trip卡计算结果对比一致。在supervisor中实现了对泵转速的修改。

    图14 一回路出口蒸汽、蒸汽室腔压力随时间变化

    将Relap5输入卡内的控制模块外移到调度程序supervisor中,简化Relap5输入卡控制模块的复杂设置,实现了对部件精细灵活的控制,允许与其他程序实现耦合数据传递和对部件运行的控制。

    3.3 Relap5/Relap5耦合测试

    如图15所示,选取了算例1对两个算例进行Relap5和Relap5的耦合测试,从中间分为两段,左右长度为7.5 m。每段各由一个Relap5进行计算。

    图15 水平圆管耦合节块划分

    如图16所示,耦合时,将左侧计算区域中Pipe120的最右节点的压力和温度传给右侧计算区域中的TDV120,将右侧计算区域中Pipe130的最左节点的压力和温度传给左侧计算区域中的TDV210。耦合计算结果发现沿水平管的压力分布在耦合处有些许偏差,稳定后流速变大,这是由于Relap5采用集总参数法进行计算,节块的数据代表中心处状态,TDV210、TDV120获取的压力温度值不是真实边界处的数据,两端的压差变大,使得稳定后流速增大。将两侧Pipe从5个节点分为25个节点进行耦合,可以看出,由于将Pipe细分之后,边界TDV获取的参数与真实边界接近,耦合结果和原计算结果基本一致(见图17~图18)。

    图16 耦合节块细分示意图

    图17 流速随时间变化

    图18 沿管压力变化

    (1)本文基于ICoCo统一封装理念,对系统程序Relap5mod3.2进行了程序封装,用supervisor单独调用封装好程序,以水平圆管喷放、典型四环路小破口算例测试,验证程序封装前后计算结果一致,计算效率接近。

    (2)开发单点数据接口,实现对接管、控制体、泵、阀门等数据交换,编写supervisor程序,使用MPI,调用两个封装后的Relap5程序,使用数据接口进行数据传递,实现了对Relap5的流程控制和Relap5/Relap5并发耦合,耦合计算结果和Relap5计算结果一致,耦合数据传递接口正确。

    (3)封装后的程序能够在外部控制程序实现对Relap5计算的流程控制,允许未来更先进的控制及其优化算法应用到反应堆控制安全系统的设计、分析与优化中。

    [1] Anderson N,Hassan Y,Schultz R. Analysis of the hot gas flow in the outlet plenum of the very high temperature reactor using coupled RELAP5-3D system code and a CFD code[J].Nuclear Engineering & Design,2008,238(1):274-279.

    [2] Bertolotto D,Manera A,Frey S,et al. Single-phase mixing studies by means of a directly coupled CFD/system-code tool[J].Annals of Nuclear Energy,2009,36(3):310-316.

    [3] 刘余,张虹,贾宝山. RELAP5 与 CFX 程序耦合研究[J].原子能科学技术,2010.

    [4] Kz A,Acm B,Se A. Development and verification of the coupled thermal-hydraulic code-TRACE/SCF based on the ICoCo interface and the SALOME platform-ScienceDirect[J].Annals of Nuclear Energy,155.

    [5] Chauliac C,Aragonés J M,Bestion D,et al. NURESIM – A European simulation platform for nuclear reactor safety:Multi-scale and multi-physics calculations,sensitivity and uncertainty analysis[J].Nuclear Engineering & Design,2011,241(9):3416-3426.

    [6] Baviere R,Tauveron N,Perdu F,et al. A first system/CFD coupled simulation of a complete nuclear reactor transient using CATHARE2 and TRIO_U Preliminary validation on the Phénix Reactor Natural Circulation Test[J].Nuclear Engineering and Design,2014,277(10):124-137.

    [7] Fletcher C D,Schultz R R. RELAP5/MOD3 code manual[R].Nuclear Regulatory Commission,Washington,DC (United States). Div. of Systems Research;
    EG and G Idaho,Inc.,Idaho Falls,ID(United States),1992.

    Development and Verification of System Code Encapsulation Based on the Unified Coupling Framework

    TANG Junjie1,LUO Xiao1,LI Zhongchun2,ZHANG Xilin2,SHEN Danhong2,CHEN Hongli1,*

    (1. School of Nuclear Science and Technology,University of Science and Technology of China,Hefei of Anhui Prov. 230026,China;
    2. Nuclear Power Institute of China,Chengdu of Sichuan Prov.,610213,China)

    The state of the reactor system is closely related to core physics, fluid, structure, control and external conditions. In order to fully consider the multi-scale and multi-physical coupling characteristicsof the reactor, it is necessary to establish the system-level coupling analysis software to evaluate the behavior characteristics of the reactor system under steady-state, transient and accident conditions. The unified interface ICoCo(Interface for Code Coupling) has the advantages for reuse. Based on ICoCo, this paper encapsulates system code Relap5mod3.2, and then schedules Relap5mod3.2 by supervisor flow control scheme, regression tests were carried out to verify that the calculation results are consistent before and after the encapsulate. On this basis, the ICoCo interface input and output interface related data of nozzles, control bodies, pumps and valves and other important components are developed, on the one hand, the concurrent coupling of two Relap5 code is carried out to verify the correctness of the coupling interface, on the other hand, by moving the control module outward. Relap5 is controlled in the supervisor, which allows more advanced control and optimization algorithms to be applied to the design, analysis and optimization of reactor control safety system in the future.

    System code; Unified coupling framework; ICoCo concept; Data transfer interface

    TL325

    A

    0258-0918(2022)06-1268-09

    2021-09-26

    汤俊杰(1997—),男,湖南益阳人,硕士研究生,现主要从事核反应堆物理分析方面研究

    陈红丽,E-mail:hlchen1@ustc.edu.cn

    猜你喜欢破口单点算例华龙一号蒸汽发生器传热管6mm破口事故放射性后果分析核安全(2022年2期)2022-05-05基于“华龙一号”大破口事故先进安注箱研究核科学与工程(2021年4期)2022-01-12历元间载波相位差分的GPS/BDS精密单点测速算法中国惯性技术学报(2020年2期)2020-07-24破口满族文学(2019年6期)2019-12-02超薄异型坯连铸机非平衡单点浇铸实践与分析山东冶金(2019年5期)2019-11-16降压节能调节下的主动配电网运行优化策略电子技术与软件工程(2018年10期)2018-07-16数字电视地面传输用单频网与单点发射的效果比较山东工业技术(2016年15期)2016-12-0116吨单点悬挂平衡轴的优化设计信息记录材料(2016年4期)2016-03-11基于振荡能量的低频振荡分析与振荡源定位(二)振荡源定位方法与算例中国学术期刊文摘(2016年2期)2016-02-13互补问题算例分析新乡学院学报(2015年6期)2015-11-06

    推荐访问:耦合 封装 框架

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章