CN108256212B - 多棒燃料元件并行性能分析方法、系统及存储介质 - Google Patents
多棒燃料元件并行性能分析方法、系统及存储介质 Download PDFInfo
- Publication number
- CN108256212B CN108256212B CN201810040201.2A CN201810040201A CN108256212B CN 108256212 B CN108256212 B CN 108256212B CN 201810040201 A CN201810040201 A CN 201810040201A CN 108256212 B CN108256212 B CN 108256212B
- Authority
- CN
- China
- Prior art keywords
- rod
- fuel
- performance analysis
- parallel
- parallelization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/08—Thermal analysis or thermal optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Monitoring And Testing Of Nuclear Reactors (AREA)
Abstract
本发明涉及核燃料分析技术领域,公开了一种多棒燃料元件并行性能分析方法、系统及存储介质,以实现快速高效的并行燃料元件性能分析。本发明方法包括:获取OpenMP支持的编程语言所编写的单棒燃料元件性能分析源程序;由OpenMP编译器根据用户在所述源程序中加入的相关预处理指令将所述源程序进行并行化;所述并行化包括嵌套的外层并行和内层并行,所述外层并行用于将互不影响的各燃料棒进行并行化,所述内层并行用于将各燃料棒内部轴向节点进行并行化;以按棒分表的方式并行读写各燃料棒所对应的元件性能分析数据;以及将各燃料棒所对应的元件性能分析数据进行显示输出处理。
Description
技术领域
本发明涉及核燃料分析技术领域,尤其涉及一种多棒燃料元件并行性能分析方法、系统及存储介质。
背景技术
现有单棒燃料性能分析程序是基于Fortran 90编写的计算机代码,用于计算长期燃耗期间轻水堆燃料棒的稳态响应。该代码根据时间相关的燃料棒功率和冷却剂边界条件来计算燃料棒的温度,压力和变形。代码模拟的现象包括:
1)通过燃料和包层的热传导到冷却剂;
2)包层弹性塑性变形;
3)燃料包壳机械相互作用;
4)从燃料释放裂变气体和杆内压力;和
5)包壳氧化。
该代码包含必要的材料属性,水属性和传热相关性。该程序被用于在基于Windows的计算机上使用,但是源代码可以在具有Fortran 90编译器的任何计算机上编译。源代码被设计用于执行稳态燃料棒计算,通过FRAPTRAN计算机代码生成瞬态燃料棒分析的初始条件。
然而上述单棒燃料性能分析程序只能进行单根燃料棒的稳态响应计算,无法适应当今燃料组件以至反应堆的计算要求,而且现有程序计算结果存储在txt文件中导致结果抽象不易分析,缺乏危险预警,数据存储不安全等问题。
发明内容
本发明目的在于公开一种多棒燃料元件并行性能分析方法、系统及存储介质,以实现快速高效的并行燃料元件性能分析。
为实现上述目的,本发明公开了一种多棒燃料元件并行性能分析方法,包括:
获取OpenMP(Open Multi-Processing,共享存储并行编程)支持的编程语言所编写的单棒燃料元件性能分析源程序;
由OpenMP编译器根据用户在所述源程序中加入的相关预处理指令将所述源程序进行并行化;所述并行化包括嵌套的外层并行和内层并行,所述外层并行用于将互不影响的各燃料棒进行并行化,所述内层并行用于将各燃料棒内部轴向节点进行并行化;
以按棒分表的方式并行读写各燃料棒所对应的元件性能分析数据;以及
将各燃料棒所对应的元件性能分析数据进行显示输出处理。
为达上述目的,本发明还公开一种多棒燃料元件并行性能分析系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为达上述目的,本发明还公开一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
本发明具有以下有益效果:
一方面,外层并行用于多棒循环控制,内层并行用于轴向节点循环控制,通过嵌套实现快速高效的并行燃料元件性能分析。
另一方面,采用按棒分表的方式读写各燃料棒所对应的元件性能分析数据,使得一根燃料棒对应数据库中的一张记录表,例如:某根棒(比如ID为34的棒)由输入文件frapcon034中读取输入变量,计算所得温度插入到tem_fuelrods034的温度表中;且同一燃料棒多次的实验数据分次插入同一数据表中,大量缩减了每次实验后记录表的数据,且便于利用索引等进行分类管理及提高数据访存速度。
下面对本发明作进一步详细的说明。
具体实施方式
以下结合实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1
本实施例公开一种多棒燃料元件并行性能分析方法。
本实施例方法包括:
步骤S1、获取OpenMP支持的编程语言所编写的单棒燃料元件性能分析源程序。
在该步骤中,本实施例优选地源程序采用混合编程以充分利用各种程序设计语言的优势,例如:以Fortran 90进行数值计算处理,并以C++与数据库进行交互,以此解决现有的fortran单棒燃料元件性能分析源程序与当前的各类数据库的交互能力较弱、交互效率很低的缺点;藉此,综合利用了fortran语言在数值计算、科学和工程技术领域的优势以及C++面向对象、良好的数据库交互能力的特点,达到将计算所得温度数据快速高效的插入到数据库的目的。
步骤S2、由OpenMP编译器根据用户在所述源程序中加入的相关预处理指令将所述源程序进行并行化;所述并行化包括嵌套的外层并行和内层并行,一方面,所述外层并行用于将互不影响的各燃料棒进行并行化,另一方面,基于在某一棒某个时间步中,轴向节点计算互不干扰,可以对不同轴向节点之间的数据并行计算处理,所述内层并行用于将各燃料棒内部轴向节点进行并行化。
其中,OpenMP为共享内存并行提供了一种简单灵活的开发并行应用的接口模型,具有良好的可移植性,使得并行线程数可以在程序启动时利用环境变量等动态设置。在该步骤中,通过在源代码(串行程序)中添加OpenMP指令(如:#pragma指令)和调用OpenMP库函数来实现在共享内存系统上的并行执行。
另一方面,在该步骤中,外层并行用于多棒循环控制,内层并行用于轴向节点循环控制,通过嵌套实现快速高效的并行燃料元件性能分析。
步骤S3、以按棒分表的方式并行读写各燃料棒所对应的元件性能分析数据。例如:按实验属性对应存储燃料棒棒体温度数据、冷却剂温度数据和日志信息,相关实验属性包括实验标识、轴向检测取点的数目和位置信息、径向检测取点的数目和位置信息以及时间步长数。
在该步骤中,使得一根燃料棒对应数据库(如:mysql数据库)中的一张记录表,例如:某根棒(比如ID为34的棒)由输入文件frapcon034中读取输入变量,计算所得温度插入到tem_fuelrods034的温度表中;大量缩减了每次实验后记录表的数据,且便于利用索引等进行分类管理及提高数据访存速度。藉此,优选地,本实施例还在数据库中添加数据索引以供访存。
步骤S4、将各燃料棒所对应的元件性能分析数据进行显示输出处理。优选地,在显示输出时,还包括:根据相应的元件性能分析数据进行危险预警。
综上,本实施例公开的基于OpenMP多棒燃料元件性能分析程序并行方法,可以同时进行一个燃料组件(289根燃料棒)的并行计算,大大缩短了计算时间。采用fortran/C++混合编程的方式将计算产生的温度数据插入到数据库中可以为后来的危险预警、结果分析等工作奠定基础。
实施例2
本实施例公开一种多棒燃料元件并行性能分析系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法实施例的相关步骤。
实施例3
本实施例公开一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述方法实施例的相关步骤。
综上,本发明上述各实施例所分别公开的多棒燃料元件并行性能分析方法、系统及存储介质,具有以下有益效果:
一方面,外层并行用于多棒循环控制,内层并行用于轴向节点循环控制,通过嵌套实现快速高效的并行燃料元件性能分析。
另一方面,采用按棒分表的方式读写各燃料棒所对应的元件性能分析数据,使得一根燃料棒对应数据库中的一张记录表,例如:某根棒(比如ID为34的棒)由输入文件frapcon034中读取输入变量,计算所得温度插入到tem_fuelrods034的温度表中;且同一燃料棒多次的实验数据分次插入同一数据表中,大量缩减了每次实验后记录表的数据,且便于利用索引等进行分类管理及提高数据访存速度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种多棒燃料元件并行性能分析方法,其特征在于,包括:
获取OpenMP支持的编程语言所编写的单棒燃料元件性能分析源程序;
由OpenMP编译器根据用户在所述源程序中加入的相关预处理指令将所述源程序进行并行化;所述并行化包括嵌套的外层并行和内层并行,所述外层并行用于将互不影响的各燃料棒进行并行化,所述内层并行用于将各燃料棒内部轴向节点进行并行化;
以按棒分表的方式并行读写各燃料棒所对应的元件性能分析数据;包括:按实验属性对应存储燃料棒棒体温度数据、冷却剂温度数据和日志信息,所述实验属性包括实验标识、轴向检测取点的数目和位置信息、径向检测取点的数目和位置信息以及时间步长数;
以及将各燃料棒所对应的元件性能分析数据进行显示输出处理。
2.根据权利要求1所述的多棒燃料元件并行性能分析方法,其特征在于,所述源程序采用混合编程,以Fortran 90进行数值计算处理,并以C++与数据库进行交互。
3.根据权利要求1或2所述的多棒燃料元件并行性能分析方法,其特征在于,还包括:
在数据库中添加数据索引以供访存。
4.根据权利要求1所述的多棒燃料元件并行性能分析方法,其特征在于,在显示输出时,还包括:
根据相应的元件性能分析数据进行危险预警。
5.一种多棒燃料元件并行性能分析系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至4任一所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述权利要求1至4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040201.2A CN108256212B (zh) | 2018-01-16 | 2018-01-16 | 多棒燃料元件并行性能分析方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040201.2A CN108256212B (zh) | 2018-01-16 | 2018-01-16 | 多棒燃料元件并行性能分析方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108256212A CN108256212A (zh) | 2018-07-06 |
CN108256212B true CN108256212B (zh) | 2021-08-31 |
Family
ID=62726650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810040201.2A Active CN108256212B (zh) | 2018-01-16 | 2018-01-16 | 多棒燃料元件并行性能分析方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256212B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858157B (zh) * | 2019-01-31 | 2023-07-18 | 中南大学 | 一种环形燃料组件的计算方法及系统 |
CN110990158B (zh) * | 2019-12-12 | 2023-03-21 | 北京科技大学 | 一种反应堆燃料元件性能并行化处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
CN105047238A (zh) * | 2015-07-03 | 2015-11-11 | 中科华核电技术研究院有限公司 | 更换核燃料棒的二维模拟监控方法及装置 |
CN105653869A (zh) * | 2016-01-05 | 2016-06-08 | 中国核动力研究设计院 | 一种超临界水堆堆芯三维瞬态性能分析方法 |
CN105934797A (zh) * | 2014-01-27 | 2016-09-07 | 泰拉能源公司 | 用于燃料元件变形的建模 |
CN106156460A (zh) * | 2015-03-27 | 2016-11-23 | 国核(北京)科学技术研究院有限公司 | 获得核燃料棒内部燃料芯块温度分布的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257709A (ja) * | 1992-03-16 | 1993-10-08 | Hitachi Ltd | 並列化判別方法およびそれを用いた並列化支援方法 |
KR100884534B1 (ko) * | 2007-04-30 | 2009-02-18 | 삼성에스디아이 주식회사 | 연료 전지 시스템의 탈황 장치, 및 이를 포함하는 연료전지 시스템 |
CN101989192A (zh) * | 2010-11-04 | 2011-03-23 | 浙江大学 | 一种程序自动并行化的方法 |
US20150025917A1 (en) * | 2013-07-15 | 2015-01-22 | Advanced Insurance Products & Services, Inc. | System and method for determining an underwriting risk, risk score, or price of insurance using cognitive information |
-
2018
- 2018-01-16 CN CN201810040201.2A patent/CN108256212B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
CN105934797A (zh) * | 2014-01-27 | 2016-09-07 | 泰拉能源公司 | 用于燃料元件变形的建模 |
CN106156460A (zh) * | 2015-03-27 | 2016-11-23 | 国核(北京)科学技术研究院有限公司 | 获得核燃料棒内部燃料芯块温度分布的方法 |
CN105047238A (zh) * | 2015-07-03 | 2015-11-11 | 中科华核电技术研究院有限公司 | 更换核燃料棒的二维模拟监控方法及装置 |
CN105653869A (zh) * | 2016-01-05 | 2016-06-08 | 中国核动力研究设计院 | 一种超临界水堆堆芯三维瞬态性能分析方法 |
Non-Patent Citations (1)
Title |
---|
多核微机基于 OpenMP 的并行计算;蔡佳佳 等;《计算机技术与发展》;20071031;第17卷(第10期);87-91 * |
Also Published As
Publication number | Publication date |
---|---|
CN108256212A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Venkat et al. | Automating wavefront parallelization for sparse matrix computations | |
Prasad et al. | Automatic compilation of MATLAB programs for synergistic execution on heterogeneous processors | |
KR101573586B1 (ko) | 논-리프 코드의 컴파일러 기반 벡터화를 위한 시스템들 및 방법들 | |
US9495136B2 (en) | Using aliasing information for dynamic binary optimization | |
US20190079805A1 (en) | Execution node selection method and information processing apparatus | |
CN108256212B (zh) | 多棒燃料元件并行性能分析方法、系统及存储介质 | |
Ye et al. | Using polyhedral analysis to verify openmp applications are data race free | |
Fang et al. | Aristotle: A performance impact indicator for the OpenCL kernels using local memory | |
Blanchard et al. | Conc2Seq: A Frama-C Plugin for Verification of Parallel Compositions of C Programs | |
Gannod et al. | An automated tool for analyzing petri nets using spin | |
Göhringer et al. | An interactive tool based on polly for detection and parallelization of loops | |
Yoga et al. | Atomicity violation checker for task parallel programs | |
Arabnejad et al. | An OpenMP based parallelization compiler for C applications | |
Rodrigues et al. | Generation of in-bounds inputs for arrays in memory-unsafe languages | |
Ştirb et al. | Improving performance and energy consumption with loop fusion optimization and parallelization | |
Abe et al. | Model checking stencil computations written in a partitioned global address space language | |
Salim et al. | Towards a webassembly standalone runtime on graalvm | |
Komatsu et al. | Xevolver: A code transformation framework for separation of system‐awareness from application codes | |
Li et al. | FreshBreeze: A data flow approach for meeting DDDAS challenges | |
Pape et al. | Language-independent storage strategies for tracing-JIT-based virtual machines | |
Rietveld et al. | Optimizing sparse matrix computations through compiler-assisted programming | |
Singh | RUST Programming for HPC application | |
Chang et al. | A translation framework for automatic translation of annotated llvm ir into opencl kernel function | |
Cantiello et al. | Automatic source code transformation for GPUs based on program comprehension | |
Zhang et al. | Catamaran: Low-Overhead Memory Safety Enforcement via Parallel Acceleration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |