Reactor transport calculation method, electronic equipment and computer storage medium
By combining parallel multi-process computation and the JFNK algorithm with the MPI/OpenMP hybrid parallel architecture, the contradiction between computational accuracy and solution speed in neutron transport computation is resolved, realizing an efficient neutron transport computation method that improves both computational speed and accuracy.
Patent Information
- Application Number
- CN202511690150.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-18
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2045-11-18
AI Technical Summary
In neutron transport calculations, existing techniques struggle to improve solution speed while maintaining computational accuracy, especially when using whole-core rod-by-rod transport calculation methods, where computational accuracy and solution speed are at odds.
A parallel multi-process computation method is adopted, combining the JFNK algorithm and the MPI/OpenMP hybrid parallel architecture. The neutron transport response matrix is calculated in parallel by decomposing the reactor core into multiple regions. Krylov basis and minimal residual method are used to accelerate iterative calculation, so as to achieve fast solution of neutron flux and core eigenvalues.
It significantly improves the iterative convergence speed and computation speed of neutron transport calculations while maintaining the accuracy of the calculation results, achieving a high-efficiency balance between computational accuracy and speed.
Smart Images

Figure CN121506277A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a neutron transport calculation of a nuclear reactor core, in particular to a reactor transport calculation method, an electronic device and a computer storage medium. BACKGROUND
[0002] In nuclear reactor physics, the neutron transport equation is an important method for simulating the nuclear physics process of the reactor core. Compared with other methods, the simulation accuracy of the calculation process of the neutron transport equation based on the deterministic theory depends on the modeling level and the calculation grid size. The more realistic modeling and the finer grid division bring more accurate calculation results. The method of full-core rod-by-rod transport calculation can obtain accurate fuel rod level results, but the application of this method brings a decrease in solving speed while bringing high-precision results, so there is a challenge in balancing the calculation accuracy and the calculation solving speed when using this method for neutron transport calculation. SUMMARY
[0003] The present application provides a reactor transport calculation method, an electronic device and a computer storage medium, which solves the problem of decreased solving speed while considering calculation accuracy when performing neutron transport calculation.
[0004] In a first aspect, the present application provides a reactor transport calculation method, comprising the following steps: calling a plurality of parallel processes to respectively calculate a neutron transport response matrix of a plurality of regions in a core of the reactor, wherein each region includes a plurality of grids allocated to the associated process, and each grid corresponds to a neutron transport response matrix; setting a set of basis vectors for an acceleration algorithm, the basis vectors including a neutron flux of the grids contained in the plurality of regions, a first incident flow of an outer boundary of the core, a second incident flow of a first grid group in the grids, and a core eigenvalue, the grids in the first grid group are not adjacent; calling the plurality of processes to use the acceleration algorithm to perform neutron transport iteration calculation according to the neutron transport response matrix and the basis vectors, and obtaining a target value of the neutron flux and the core eigenvalue.
[0005] In some embodiments, calling a plurality of parallel processes to respectively calculate a neutron transport response matrix of a plurality of regions in a core of the reactor comprises: starting a plurality of parallel processes, and using each process to read input information of the core, the input information including geometric information; performing grid division on the core according to the geometric information to obtain a plurality of grids; decomposing the core into a plurality of regions according to the number of processes of the plurality of processes; calling the plurality of processes to calculate the neutron transport response matrix of each grid according to the grid allocated to each process.
[0006] In some embodiments, calling the plurality of processes to calculate the neutron transport response matrix of the plurality of regions in the core of the reactor respectively includes: dividing the plurality of grids into the first grid group and the second grid group, wherein each grid in the same grid group is not adjacent.
[0007] In some embodiments, the intra-process threads share memory.
[0008] In some embodiments, calling the plurality of processes to perform the neutron transport iteration calculation according to the neutron transport response matrix and the basis vector using the acceleration algorithm includes: calling the plurality of processes to perform neutron transport calculation to obtain the neutron flux of the grid, the incident flow of the grid and the core eigenvalue, and save as a second current basis vector; calculating the L2 norm of a first function according to the second current basis vector and a first current basis vector not subjected to this calculation; calculating the JFNK perturbation of this calculation according to the L2 norm of the first current basis vector; obtaining a Krylov basis according to the first function and the L2 norm of the first function, and performing a minimal residual method cycle using the Krylov basis, forming a Krylov basis matrix using each Krylov basis obtained in the minimal residual method cycle, and obtaining a target Krylov basis when the minimal residual method cycle exits; generating a next basis vector according to the first current basis vector, the Krylov basis matrix and the target Krylov basis; and judging whether the L2 norm of the next basis vector converges, so as to determine whether to end the iteration calculation.
[0009] In some embodiments, the calling the plurality of processes to perform the neutron transport calculation, obtaining the neutron fluxes of the grids, the incident fluxes of the grids, and the core eigenvalue comprises performing the following steps for each grid: a. calculating a first outgoing flux of a grid of a target grid group according to the neutron transport response matrix and the source vector, wherein the target grid group is selected from one of a first grid group and a second grid group, and grids in the same grid group are not adjacent; b. encapsulating the first outgoing flux into inter-process communication data, sending out through a non-blocking communication manner, and simultaneously starting a non-blocking receiving of communication data from other processes; c. calculating a second outgoing flux of a grid belonging to the target grid group inside the plurality of regions, and storing as an incident flux of an adjacent grid; d. calculating an incident flux of a grid belonging to the target grid group at a boundary of the core according to an external boundary condition of the core, the first outgoing flux, and the second outgoing flux; e. updating the neutron fluxes of the grids belonging to the target grid group in the plurality of regions according to the neutron transport response matrix and the basis vector; f. waiting for the non-blocking communication to be completed by each process, and mapping the communication data into incident fluxes of grids at the boundaries of the plurality of regions; g. selecting the other one of the first grid group and the second grid group as the target grid group, and iteratively performing the steps a-f; and updating the core eigenvalue according to the updated neutron fluxes.
[0010] In some embodiments, after obtaining the neutron fluxes and a target value of the core eigenvalue, the method further comprises: performing a polynomial projection approximation on the neutron fluxes to obtain a neutron flux expansion; performing a flux distribution resolution enhancement calculation on the neutron flux expansion to obtain a fine neutron flux distribution; and performing a power distribution resolution enhancement calculation on the fine neutron flux distribution to obtain a fine power distribution.
[0011] In some embodiments, the acceleration algorithm is a JFNK algorithm.
[0012] In a second aspect, the present application provides an electronic device, comprising: a memory configured to store instructions executable by a processor; and the processor configured to execute the instructions to implement the method of the first aspect.
[0013] In a third aspect, the present application provides a computer storage medium storing computer program codes, which, when executed by a processor, implement the method of the first aspect.
[0014] In a fourth aspect, the present application provides a computer program product comprising computer program codes, which, when executed by one or more processors, implement the steps in the method of the first aspect.
[0015] Compared with the prior art, the method provided by the application calls multiple parallel processes and references an acceleration algorithm, which significantly accelerates the convergence speed and calculation speed of neutron transport calculation iteration while ensuring the accuracy of the calculation results. BRIEF DESCRIPTION OF DRAWINGS
[0016] The accompanying drawings are included to provide a further understanding of the application, and are incorporated in and constitute apart of this application, illustrate embodiments of the application, and together with the description serve to explain the principles of the application. In the drawings:
[0017] Figure 1 is a flowchart of a reactor transport calculation method provided by an embodiment of the application;
[0018] Figure 2 is a flowchart of a method for calculating a neutron transport response matrix of multiple regions in a reactor core provided by an embodiment of the application;
[0019] Figure 3 is a schematic diagram of a grid incident flow provided by an embodiment of the application;
[0020] Figure 4 is a flowchart of an acceleration algorithm provided by an embodiment of the application;
[0021] Figure 5 is a flowchart of a parallel process algorithm provided by an embodiment of the application;
[0022] Figure 6 is a partial schematic diagram of an algorithm for starting multiple parallel processes using MPI provided by an embodiment of the application;
[0023] Figure 7 is a schematic diagram of a resolution enhancement method provided by an embodiment of the application;
[0024] Figure 8 is a schematic diagram of an integration interval for a resolution enhancement method provided by an embodiment of the application;
[0025] Figure 9 is a block diagram of a device for a reactor transport calculation method provided by an embodiment of the application. DETAILED DESCRIPTION
[0026] In order to more clearly illustrate the technical solutions of the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some examples or embodiments of the application, and for those skilled in the art, the application can also be applied to other similar scenarios without creative labor. Unless it is obvious from the language environment or otherwise stated, the same reference numbers in the drawings represent the same structures or operations.
[0027] As used in this application, the terms "comprises", "comprising", "includes", "including", "has", "having" or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of steps or elements is not necessarily limited to only those steps or elements but can include other not expressly listed steps or elements. In other words, "comprising" or "including" or "having" does not exclude the presence of additional steps or elements.
[0028] Also, certain terminology can also be used in the present application for the purpose of reference only, and thus be not intended to be limiting. For example, terms such as "one embodiment", "an embodiment" or "some embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" or "in some embodiments" in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily referring to a single embodiment. Furthermore, the particular features, structures, or characteristics can be combined in any suitable manner on an embodiment or embodiments. It is intended that the specification and examples be considered as exemplary only, with the true scope of the application being indicated by the following claims.
[0029] The relative arrangement of parts and steps, numerical expressions, and numerical values set forth in the examples illustrated herein are not intended to limit the scope of the application unless specifically so stated. The mere fact that an apparatus, method, or device is capable of being used in connection with the application in some instances, is not intended to be a disavowal of other uses of the apparatus, method, or device. The drawings are not necessarily to scale and the dimensions of the parts can have been exaggerated with respect to each other for purposes of explanation. For purposes of the description hereinafter, the orientations of the devices and / or apparatuses described and illustrated can be referred to in terms of relative positional relationships which are used to describe a certain orientation of the device or apparatus as shown in the figures. However, it is to be understood that the device or apparatus can assume many orientations during use. Certain vehicles, devices, and / or apparatuses can be fixed in orientation, while others can be movable. It will be apparent to one of ordinary skill in the art that aspects of the present application can be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the present application. Other examples can use structures, devices, and / or apparatuses similar to those described above, and yet perform variations of the principles of the present application without departing from the application. Although the examples provided herein are primarily taught with reference to particular program code implementations, it is appreciated that the scope of the present application extends beyond the specifically delineated examples, and it is recognized that one ordinarily of skill in the art can construct and implement other variations of the principles of the present application based on the description in this application and the associated drawings. It is intended that the claims submitted herewith can address and claim such other examples and constructions.
[0030] In addition, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, to the extent that the terms "comprises", "comprising", "includes", "including" and / or "has", "having" are used, such terms are specifically understood by those skilled in the art as being equivalent to the term "comprising" or "including". Specifically, the term "comprises" or "comprising" is intended to mean that the stated features, elements, components, or steps are included but not to the exclusion of the presence or addition of one or more other features, elements, components, steps or groups thereof. Additionally, terms such as "one" and "a" and "only one" are used to indicate that elements or instrumentalities are singular by nature, whereas the terms "a plurality" and "plurality" or "one or more" or "at least one" or the like indicate that elements or instrumentalities are multiple in number.
[0031] Flow diagrams as can be used in accordance with embodiments of the present application to illustrate the operations of apparatuses or devices in accordance with embodiments of the present application. It will be understood that the operations as shown or described below are not necessarily performed in the precise order shown. Rather, various steps can be handled in reverse order or simultaneously. Also, other operations can be added or removed from these processes, or one or more steps can be removed from these processes.
[0032] Referring toFigure 1 The application provides a reactor transport calculation method, comprising the following steps:
[0033] Step S101: calling a plurality of parallel processes to respectively calculate a plurality of region neutron transport response matrices in a reactor core, wherein each region comprises a plurality of grids assigned to the associated process, and each grid corresponds to a neutron transport response matrix.
[0034] In this step, the reactor core is divided into a plurality of regions, and each region comprises a plurality of grids. Each process corresponds to a region, thereby processing the plurality of grids of the region. Each process performs neutron transport response matrix calculation for each grid to obtain the corresponding neutron transport response matrix.
[0035] As an implementable manner, referring to Figure 2 Step S101 can comprise the following steps:
[0036] In step S201, a plurality of parallel processes are started, and each process reads the input information of the core, and the input information comprises geometric information.
[0037] In this step, each process reads the core input information obtained by the rod-by-rod method. In some embodiments, the core input information comprises geometric information, material information, cross-section information, shared parallel thread number, computer control parameters, and iteration accuracy. Since each process reads the complete core parameters, this step ensures that all processes have a complete understanding of the input parameters.
[0038] In step S202, the core is meshed according to the geometric information to obtain a plurality of meshes.
[0039] In this step, the core is divided into a plurality of meshes as the basic unit for performing neutron transport response matrix calculation.
[0040] In step S203, the core is decomposed into a plurality of regions according to the number of processes.
[0041] In this step, the core is regionally decomposed according to the specified number of distributed parallel processes, so that the number of grids assigned to each process is close to uniform, which helps to balance the load of each process and make the subsequent inter-process communication smoother.
[0042] In step 204, a plurality of processes are called to calculate the neutron transport response matrix of each grid according to the grids assigned to each process.
[0043] In this step, a plurality of processes are enabled, and each process contains a plurality of grids. The neutron transport response matrix corresponding to the grid is calculated in each process.
[0044] As an implementable manner, calling a plurality of parallel processes to respectively calculate the neutron transport response matrix of a plurality of regions in the core of the reactor comprises: dividing a plurality of grids into a first grid group and a second grid group, wherein the grids in the same grid group are not adjacent. Figure 3 The first grid group is a red grid group, and the second grid group is a black grid group. All directly adjacent grids of the red grid are black. Using the above method, it can be ensured that adjacent grids do not belong to the same group. After the grid classification is completed, the position number of each grid is read. The position number can be The specific calculation formula for classifying the grid is:
[0045] (1)
[0046] If the calculation result of the formula is 1, the grid belongs to the red grid group, and if the result is -1, the grid belongs to the black grid group.
[0047] As an implementable manner, according to the material and cross-section related characteristics, the neutron transport response matrix can be obtained by the cell unfolding method: 、 、 and The numerical value of the above matrix is related to the material and cross section.
[0048] Further, the neutron transport response matrix is defined, and the formula of the neutron transport response matrix can be:
[0049] (2)
[0050] (3)
[0051] Wherein, based on the division of the grids in the region into the red grid group and the black grid group, can be the incident flow of the red grid, then is the outgoing flow of the red grid, is converted into an incident flow by being transmitted to another adjacent black grid of the region, is the neutron flux, is the source term.
[0052] Step S102: setting a set of basis vectors for accelerating the algorithm, the basis vectors including the neutron flux of the grid contained in the plurality of regions, the first incident flow of the outer boundary of the core, the second incident flow of the first grid group in the grid, and the core eigenvalue, the grids in the first grid group are not adjacent.
[0053] In this step, refer to Figure 3The grids inside the region 31 refer to the grids in the dotted area in the figure, i.e. the grids not intersecting the region boundary, and the grids at the region boundary 32 refer to the grids located on the region boundary, at least one of which is adjacent to the grid in another region responsible for the process. The first incident flow refers to the incident flow of the grid at the region boundary 32, and the second incident flow refers to the incident flow of the grid inside the region 31.
[0054] As an implementable manner, the acceleration algorithm is the JFNK algorithm, and the use of the algorithm is beneficial to the fast convergence of the neutron transport calculation, thereby accelerating the calculation.
[0055] As an implementable manner, the calculation grids distributed by each distributed parallel process are set with the initial value of the neutron flux and the incident flow, and the process core eigenvalue is set. The initial value is set, and the initial value of the JFNK acceleration parameter is set. Referring to Figure 3 , the initial value of the parameter is set according to the technical features of the parallel calculation of the red grid group and the black grid group in the neutron transport calculation, and the basis vector of the JFNK algorithm is set as follows:
[0056] (4)
[0057] Wherein, is the incident flow of all red grids, is the incident flow of the outer boundary of the core, is the neutron flux of all grids, is the core eigenvalue. After the basis vector of the JFNK algorithm is set, a new calculation array is created in each distributed parallel process to save the current value of the basis vector . In particular, the value of the initially set basis vector is . It should be noted that the basis vector is a set of iteration variables for the normal operation of the JFNK acceleration, and the selected basis vector is the minimum basis vector, and the redundant iteration variables are discarded to reduce the calculation cost and memory cost.
[0058] Step S103: calling multiple processes to use the acceleration algorithm to perform neutron transport iteration calculation according to the neutron transport response matrix and the basis vector, and obtaining the target value of the neutron flux and the core eigenvalue.
[0059] As an implementable manner, referring to Figure 4 , step S103 includes:
[0060] In step S401, multiple processes are called to perform neutron transport calculation, and the neutron flux of the grid, the incident flow of the grid and the core eigenvalue are obtained and saved as the second current basis vector.
[0061] In this step, the neutron flux of the grid , the incident flow of the grid , and the core eigenvalue are obtained as the second current basis vector , and the exemplary calculation process thereof will be described later with reference to Figure 5 .
[0062] In step S402, the L2 norm of the first function is calculated according to the second current basis vector and the first current basis vector not subjected to this calculation.
[0063] In this step, the first function is , the first current basis vector not subjected to this calculation is , and the calculation method of the first function is:
[0064] (5)
[0065] The L2 norm of the first function is , and the first current basis vector not subjected to this calculation is recorded as .
[0066] In step S403, the JFNK perturbation of this calculation is calculated according to the L2 norm of the first current basis vector.
[0067] In this step, the L2 norm of the first basis vector is ||, and then the JFNK perturbation of the current step is calculated as:
[0068] (6)
[0069] wherein is the machine precision of the double-precision real number in the running hardware. This step ensures that the perturbation is adapted to the size of the numerical environment, so as to maintain the stability and precision of the numerical differentiation process.
[0070] In step S404, the Krylov basis is obtained according to the first function and the L2 norm of the first function, and the minimal residual method cycle (GMRES) is performed using the Krylov basis. Each Krylov basis obtained in the minimal residual method cycle is formed into a Krylov basis matrix, and the target Krylov basis at the exit of the minimal residual method cycle is obtained.
[0071] In this step, the specific steps of constructing the minimal residual method cycle (GMRES) and forming the Krylov basis matrix are as follows:
[0072] (a) Let the first Krylov basis vector = F( ) / , where (m = 1, 2,...) is called a Krylov basis.
[0073] (b) Enter the GMRES loop (m = 1, 2,...), construct the perturbation vector:
[0074] (7)
[0075] Then, the calculation as in step S401 is performed to obtain .
[0076] (c) Calculate the product of the Jacobian matrix and :
[0077] (8)
[0078] (d) Perform Schmidt orthogonalization on the vector and the first m Krylov bases to obtain the normalized new basis vector , and calculate the Hessenberg matrix element
[0079] (9)
[0080] (e) Use the least squares method to solve:
[0081] (10)
[0082] The purpose of step (e) is to find a best solution y m in the current Krylov subspace such that the residual is minimized. Through calculation, we obtain and , where is obtained by adding a row of all zeros to the Hessenberg matrix H, is an m+1-dimensional vector whose first element is 1 and the remaining elements are 0, and when , the loop ends, where is the target Krylov basis, is the matrix spanned by all Krylov bases, .
[0083] In step S405, the next basis vector is generated according to the first current basis vector, the Krylov basis matrix, and the target Krylov basis.
[0084] In this step, the next basis vector is where the first current basis vector is , the target Krylov basis when the GMRES loop exits , and the JFNK acceleration iteration process is completed.
[0085] Step S406: Determine whether the L2 norm of the first function calculated according to the next basis vector converges, thereby determining whether to end the iteration calculation.
[0086] In this step, it is determined whether to repeat steps S401 to S405 until convergence according to the convergence judgment result, and the convergence judgment criterion is:
[0087] (11)
[0088] where is the L2 norm of the first function calculated according to the next basis vector , take a smaller number, such as , or the iteration number is greater than a specified value. If it does not converge, the iteration count is accumulated, , and jump to step S401 for the next JFNK acceleration iteration calculation; if it converges, the calculation is ended, and the final neutron flux and eigenvalue are output.
[0089] As an implementable way, referring to Figure 5 , steps 501 to 508 show the neutron transport iteration calculation process of each distributed parallel process to obtain the neutron transport response matrix and the current basis vector x. It should be noted that in steps 501 to 508, the red grid is calculated first and then the black grid, and the corresponding neutron transport response matrix is used for iteration. The specific steps are as follows:
[0090] In step 501, the first outgoing flow of the target grid group at the region interface is calculated according to the neutron transport response matrix and the calculation of multiple regions, wherein the target grid group is selected from one of the first grid group and the second grid group, and the grids in the same grid group are not adjacent.
[0091] In this step, the target grid group is selected as the first grid group, i.e., the red grid group, and the first outgoing flow of the red grid at the distributed parallel region interface is calculated according to formula (1), and the incident flow comes from the black grid of the last iteration step.
[0092] In step 502, the first outgoing flow is packaged into inter-process communication data, and is sent through a non-blocking communication mode, and at the same time, non-blocking reception of communication data from other processes is started.
[0093] In this step, the first exit flow of the red grid obtained in step 501 is encapsulated as inter-process communication data, and is sent through a non-blocking communication mode, while starting a non-blocking communication to accept communication data from other distributed parallel processes.
[0094] In step 503, the second exit flow of the grid belonging to the target grid group in the plurality of regions is calculated, and is stored as the incident flow of the adjacent grid.
[0095] In this step, the second exit flow of the red grid in the distributed parallel region is calculated according to formula (1), and the calculated second exit flow is directly stored as the incident flow of the adjacent black grid according to the flow continuity condition.
[0096] In step 504, the incident flow of the grid belonging to the target grid group at the boundary of the core is calculated according to the outer boundary condition of the core, the first exit flow and the second exit flow.
[0097] In this step, the incident flow of the red grid at the boundary of the core is calculated according to the outer boundary condition of the entire core, such as the reflective boundary, the vacuum boundary, etc., and the exit flow updated by step 501 and step 503.
[0098] In step 505, the neutron flux of the grid belonging to the target grid group in the plurality of regions is updated according to the neutron transport response matrix and the basis vector.
[0099] In this step, the neutron flux of all red grids in the distributed parallel region is updated according to formula (2).
[0100] In step 506, each process waits for the completion of non-blocking communication, and maps the communication data to the incident flow of the grid at the boundary of the plurality of regions.
[0101] In this step, each distributed parallel process waits for the completion of the non-blocking communication in step 502, ensures that all inter-process communication data has been synchronized, and maps the received communication data, i.e. the exit flow of the red grid at the boundary sent by the adjacent process, to the incident flow of the black grid at the boundary of the distributed parallel process region.
[0102] In step 507, the other of the first grid group and the second grid group is selected as the target grid group, and steps a-f are iteratively executed.
[0103] In this step, the second grid group is the black grid group, and the second grid group is taken as the target grid group, and then steps 501 to 506 are repeated for iterative calculation.
[0104] In step 508, the eigenvalue of the core is updated according to the updated neutron flux.
[0105] Further, the neutron transport iteration calculation is performed in the distributed parallel process, and the iteration sequence of the red and black grids is arbitrary, that is, the black grid can be calculated first and then the red grid in steps 501 to 508.
[0106] As an implementable manner, the multiple processes enabled in the above steps can adopt an MPI (Message Passing Interface) method, wherein the MPI is an industry standard of the message passing interface in a distributed memory environment, so that the parallel computing program can be started through the MPI environment. Referring to Figure 6 As an implementable manner, the multiple processes enabled in the above steps can adopt an MPI (Message Passing Interface) method, wherein the MPI is an industry standard of the message passing interface in a distributed memory environment, so that the parallel computing program can be started through the MPI environment. Referring to Figure 6 FIG. 1 is a schematic diagram of an algorithm part of a reactor transport calculation method of the present application in which multiple parallel processes are started by using the MPI, and the process is that each MPI process reads the same nuclear reactor input parameters, and when the neutron transport response matrix calculation is performed, the non-blocking communication method in the MPI is used for data interaction between processes.
[0107] As an implementable manner, the multiple processes enabled in the above steps can adopt an MPI (Message Passing Interface) method, wherein the MPI is an industry standard of the message passing interface in a distributed memory environment, so that the parallel computing program can be started through the MPI environment. Referring to
[0108] As an implementable manner, the distributed parallel intra-region memory sharing parallel method can also use GPU and CUDA-based parallel technology, wherein the MPI method is still used to start the parallel process, the MPI is run in the CPU, the core parameters are initialized in the CPU host memory, the parameters in the CPU are copied to the GPU using a program command, and then the corresponding neutron transport response matrix of the grid is traversed, and the iteration calculation is performed through the automatic conversion of CUDA to thread-level parallelism on the GPU.
[0109] As an implementable manner, in order to better illustrate the advantages of the calculation acceleration of the MPI / OpenMP hybrid parallel architecture, an acceleration experiment using the MPI / OpenMP hybrid parallel architecture is designed. The experiment uses the same program running environment to realize large-scale parallel acceleration of the large-size core-by-rod transport calculation of the nuclear reactor. In this acceleration experiment, the JFNK algorithm is not used for acceleration. In the experiment using the MPI / OpenMP hybrid parallel architecture and not using the architecture, the test results show that the parallel acceleration ratio is about 200, and the calculation results under different parallel scales are unchanged.
[0110] As an implementable manner, in order to better illustrate the effect of the JFNK acceleration algorithm, an acceleration experiment using the JFNK acceleration algorithm is designed. The experiment uses the same program running environment to realize large-scale parallel acceleration of the large-size core-by-rod transport calculation of the nuclear reactor. In this acceleration experiment, the MPI / OpenMP hybrid parallel architecture is used. In the experiment using the JFNK acceleration algorithm and not using the algorithm, the test shows that the parallel acceleration ratio is about 10, and the calculation results are unchanged.
[0111] As an embodiment, in order to further improve the accuracy of the neutron transport calculation result, the resolution of the neutron flux distribution obtained according to the foregoing steps is improved, and the resolution enhancement technology algorithm specific steps are as follows: Figure 7
[0112] In step S701, the neutron flux is polynomially projected and approximated to obtain a neutron flux expansion.
[0113] In this step, according to step S103, the uniform block level neutron flux distribution and other data can be obtained, and polynomial projection approximation is performed thereon.
[0114] (12)
[0115] wherein, , is a Legendre polynomial, , , 、 、 、 、 is the polynomial expansion coefficient of the flux distribution projection, which converts the discrete neutron flux distribution into a continuous function expression, which can accurately reconstruct the original distribution using Legendre polynomials.
[0116] In step S702, the flux distribution resolution enhancement calculation is performed on the neutron flux expansion formula to obtain the fine neutron flux distribution,
[0117] In this step, the neutron flux distribution calculation result resolution enhancement calculation is performed, and the reference Figure 8 shows the integral interval in the axial z direction, and for the grid , the integral interval with any finer resolution inside is , and the average flux is:
[0118] (13)
[0119] In this step, the purpose of improving the accuracy of the neutron flux distribution is achieved by finer resolution integral intervals.
[0120] In step S703, the fine neutron flux distribution is calculated to obtain the fine power distribution.
[0121] In this step, the power distribution calculation result resolution enhancement calculation is performed, and the reference Figure 8 is taken as an example in the axial z direction, and the fine neutron flux distribution is further calculated to obtain the power distribution in the finer integral interval :
[0122] (14)
[0123] (15)
[0124] (16)
[0125] (17)
[0126] wherein, is the neutron energy group number, is the total number of energy groups, is the fission release cross section.
[0127] The neutron transport response matrix obtained in step S101 has the precision of a coarse grid, and in order to solve this problem, a finer grid is often divided, which brings an increase in calculation overhead, more memory occupation and an increase in calculation time, while the resolution enhancement technology algorithm realizes high-precision output on the basis of the precision of the original coarse grid and avoids the above problems.
[0128] Figure 9 is a device block diagram of a reactor transport calculation method according to an embodiment of the present application. Referring to Figure 9 the system 900 is configured to implement the method shown in Figure 1 and can include an internal communication bus 901, a processor 902, a read-only memory (ROM) 903, a random access memory (RAM) 904, a communication port 905 and a hard disk 906. The internal communication bus 1001 can realize data communication between the components of the system 900. The processor 902 can make judgments and issue prompts, and can include a CPU and a GPU. In some embodiments, the processor 902 can be composed of one or more processors. The communication port 905 can realize data communication between the implementation environment 900 and the outside. In some embodiments, the implementation environment 900 can send and receive information and data from the network through the communication port 1005. The implementation environment 900 can also include different forms of program storage units and data storage units, such as the hard disk 906, the read-only memory (ROM) 903 and the random access memory (RAM) 904, which can store various data files used by the computer processing and / or communication, and possible program instructions executed by the processor 902. The processor executes these instructions to implement the main part of the method. The above fault analysis method can be implemented as a computer program, stored in the hard disk 906 and loaded into the processor 902 for execution.
[0129] The present application also includes a computer readable medium storing computer program code which, when executed by a processor, implements the fault analysis method described above.
[0130] The above has described the basic concepts, and it is obvious that the above-mentioned disclosure of the application is only as an example and does not constitute a limitation on the present application. Although it is not explicitly stated here, those skilled in the art can make various modifications, improvements and corrections to the present application. Such modifications, improvements and corrections are suggested in the present application, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of the present application.
[0131] Also, certain terminology can also be used in the description for the sake of brevity. For example, the terms "some" and "one" can be read to indicate "one or more" or "one or more than one." Also, the terms "first," "second," or the like can be understood to mean only "first" and "second," or they can be understood to mean "first," "second," or any one of a number of other possible items. The use of these terms in the description is only used to distinguish one item from another, and is not intended to exclude other items from the scope of the disclosure. Also, the use of the term "or" in the description can be understood to mean "and / or," unless otherwise indicated.
[0132] Aspects of the present disclosure can be implemented in hardware, software, firmware, or combinations thereof, and can be implemented to accomplish one or more of the above-described aspects during the operation of a computing device. Above-described hardware, software, firmware, or combinations thereof can be referred to as a "data block," "module," "engine," "unit," "component," or "system." A processor can be one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DAPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, or combinations thereof. Further, aspects of the present disclosure can be embodied as a computer program product, which can include a computer-readable medium having computer program code embodied thereon. The computer-readable medium can be, for example, but is not limited to, magnetic storage devices (e.g., hard disk; floppy disk; magnetic strips), optical storage devices (e.g., compact disk (CD); digital versatile disk (DVD)), smart cards, and flash memory devices (e.g., card; stick; key drive). The computer program code can also be loaded to a computer-readable medium, which can be a computer-readable storage medium or a computer-readable signal medium.
[0133] The computer-readable medium can include a propagated data signal with computer program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal can take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any combination thereof. Computer program code embodied on a computer-readable medium can be transmitted using any appropriate medium, including, but not limited to, wireless, wire line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0134] As such, it should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components can be utilized to implement the functionality described above. For example, a plurality of devices, components or actions can represent a number of different hardware devices or software components that can be configured to perform the specified functions. Similarly, an item, component or action can be depicted as being stored in memory even though a particular item can be stored on a type of storage media that can not yet even be known when the disclosure is made. Furthermore, a number of items or components depicted as separate can in fact be combined, and / or a number of items or components depicted as combined can in fact be separated. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and can be made without departing from the spirit and scope disclosed herein.
[0135] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of embodiments are modified in some examples with the terms "approximately," "approximately," or "generally." Unless otherwise stated, "approximately," "approximately," or "generally" indicates that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may be changed depending on the characteristics required by individual embodiments. In some embodiments, numerical parameters should take into account specified significant digits and employ a general method of digit reservation. Although the numerical ranges and parameters used to confirm their breadth of scope in some embodiments of this application are approximate values, in specific embodiments, such values are set as precisely as feasible.
[0136] Although this application has been described with reference to specific embodiments, those skilled in the art should recognize that the above embodiments are only used to illustrate this application, and various equivalent changes or substitutions can be made without departing from the spirit of this application. Therefore, any changes or modifications to the above embodiments within the essential spirit of this application will fall within the scope of the claims of this application.
Claims
1. A reactor transport calculation method, comprising the following steps: Multiple parallel processes are invoked to calculate the neutron transport response matrix of multiple regions in the reactor core, where each region includes several grids allocated to the associated processes, and each grid corresponds to a neutron transport response matrix; A set of basis vectors is set for accelerating the algorithm. The basis vectors include the neutron flux of the grid contained in the plurality of regions, the first incident flow at the outer boundary of the core, the second incident flow of the first grid group in the grid, and the core characteristic value. The grids in the first grid group are not adjacent. The multiple processes are invoked to use the acceleration algorithm to perform neutron transport iterative calculations based on the neutron transport response matrix and the basis vectors, thereby obtaining the target values of the neutron flux and core characteristic values.
2. The reactor transport calculation method as described in claim 1, characterized in that, The process of calling multiple parallel processes to calculate the neutron transport response matrix of multiple regions in the reactor core includes: Multiple processes are started in parallel, and each process is used to read the input information of the core, including geometric information; The core is meshed based on the geometric information to obtain multiple meshes; The core is divided into multiple regions based on the number of processes in the multiple processes; The multiple processes are invoked to calculate the neutron transport response matrix of each grid according to their respective assigned grids.
3. The reactor transport calculation method as described in claim 1, characterized in that, The process of calling multiple parallel processes to calculate the neutron transport response matrix of multiple regions in the reactor core includes: The plurality of grids are divided into a first grid group and a second grid group, wherein the grids in the same grid group are not adjacent.
4. The reactor transport calculation method as described in claim 1, characterized in that, The threads within the process share memory.
5. The reactor transport calculation method as described in claim 1, characterized in that, Invoking the multiple processes to use the acceleration algorithm to perform neutron transport iterative calculations based on the neutron transport response matrix and the basis vectors includes: The multiple processes are invoked to perform neutron transport calculations, obtain the neutron flux of the grid, the incident flow of the grid, and the core characteristic values, and save them as the second current basis vector; The L2 norm of the first function is calculated based on the second current basis vector and the first current basis vector not calculated in this instance. The JFNK perturbation is calculated based on the L2 norm of the first current basis vector. Krylov bases are obtained based on the first function and the L2 norm of the first function, and the minimum residual method loop is executed using the Krylov bases. Each Krylov base obtained during the minimum residual method loop is formed into a Krylov base matrix, and the target Krylov base is obtained when the minimum residual method loop exits. Generate the next basis vector based on the first current basis vector, the Krylov basis matrix, and the target Krylov basis; Determine whether the L2 norm of the first function calculated based on the next basis vector has converged, and thus decide whether to end the iterative calculation.
6. The reactor transport calculation method as described in claim 5, characterized in that, The process of invoking the multiple processes to perform neutron transport calculations and obtain the neutron flux of the grid, the incident flux of the grid, and the core characteristic values includes performing the following steps for each grid: a. Calculate the first outflow of the target grid group at the boundary of the plurality of regions based on the neutron transport response matrix and the grid of the target grid group, wherein the target grid group is selected from one of the first grid group and the second grid group, and the grids in the same grid group are not adjacent; b. Encapsulate the first outgoing stream with inter-process communication data and send it out in a non-blocking communication manner, while simultaneously starting to receive communication data from other processes in a non-blocking manner; c. Calculate the second outgoing flow of the grids belonging to the target grid group within the multiple regions, and store it as the incoming flow of the adjacent grids; d. Calculate the incident flow of the grid belonging to the target grid group at the core boundary based on the outer boundary conditions of the core, the first outgoing flow, and the second outgoing flow; e. Update the neutron flux of the grids belonging to the target grid group in the plurality of regions according to the neutron transport response matrix and the basis vector; f. Each process waits for the non-blocking communication to complete and maps the communication data as an incident flow of a grid at the boundary of multiple regions; g. Select the other of the first and second grid groups as the target grid group, and iteratively execute step af; The core characteristic values are updated based on the updated neutron flux.
7. The reactor transport calculation method as described in claim 1, characterized in that, After obtaining the target values of the neutron flux and core characteristic values, the process further includes: The neutron flux is approximated by a polynomial projection to obtain the neutron flux expansion. The flux distribution resolution is improved by performing flux distribution enhancement calculations on the neutron flux expansion to obtain a fine neutron flux distribution. The power distribution resolution is improved by performing a power distribution resolution calculation on the fine neutron flux distribution to obtain a fine power distribution.
8. The reactor transport calculation method as described in claim 1, characterized in that, The acceleration algorithm is the JFNK algorithm.
9. An electronic device, comprising: Memory is used to store instructions that can be executed by the processor; as well as A processor for executing the instructions to implement the method as described in any one of claims 1-8.
10. A computer storage medium storing computer program code, said computer program code implementing the method as claimed in any one of claims 1-8 when executed by a processor.
11. A computer program product comprising computer program code, wherein when the computer program code is executed by one or more processors, the one or more processors implement the steps of the method as described in any one of claims 1-8.
Citation Information
Patent Citations
Spatial region decomposition parallel acceleration method and system based on characteristic line
CN115935598A
Krylov-Schur algorithm-based reactor transportation critical simulation method and system
CN119129358A
Method and device for calculating physical and thermal coupling numerical value of reactor, medium and equipment
CN119670360A
Numerical calculation method for solving neutron transport equation
CN120874153A
Control method for three-dimensional mesh system for parallel calculation
JP2007278991A
