Data solving method and apparatus for numerical reactor

By meshing and creating processes for the computational domain of the numerical reactor, computational resources are allocated rationally, solving the problem of unreasonable resource allocation among solvers and improving processing efficiency.

WO2025246797A1PCT designated stage Publication Date: 2025-12-04CHINA NUCLEAR POWER TECH RES INST CO LTD +1

Patent Information

Application Number
PCT/CN2025/092428
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-31
Filing Date
2025-04-30
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

In existing technologies, the allocation of computational resources among solvers of different disciplines is unreasonable, which affects processing efficiency.

Method used

By meshing the computational domain of the numerical reactor, allocating mesh regions and mesh blocks to different computational nodes, and creating particle processes and multiple region processes on each node, computational resources are allocated rationally, thereby improving solution efficiency.

Benefits of technology

It enables efficient allocation of computational resources among solvers from different disciplines, thereby improving the processing efficiency of numerical reactor simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025092428_04122025_PF_FP_ABST
    Figure CN2025092428_04122025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a data solving method and apparatus for a numerical reactor, and a device and a medium. The method comprises: performing meshing on a computational domain of a numerical reactor, so as to obtain a plurality of mesh regions and a plurality of mesh blocks; recording a domain decomposition parallel solver into each mesh region, and recording a particle parallel solver into each mesh block; allocating the plurality of mesh regions and the plurality of mesh blocks to a plurality of computing nodes, wherein the plurality of computing nodes are used for solving the computation of the particle parallel solver and the domain decomposition parallel solver; for each computing node, on the basis of computing resources of the computing node, creating one particle process and creating a plurality of domain processes; and performing solving on an allocated mesh block by means of the particle processes of the plurality of computing nodes, and performing solving on an allocated mesh region by means of the domain processes of the plurality of computing nodes, so as to obtain solved data of the numerical reactor. By means of the present application, computing resources can be rationally allocated between different disciplinary solvers, thereby improving the processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Data solving method and device for numerical reactor TECHNICAL FIELD

[0001] The present application relates to the technical field of computer science, and in particular, relates to a data solving method and device for numerical reactor, an electronic device and a computer readable storage medium. BACKGROUND

[0002] Multi-physics field simulation of numerical reactor is a key technology with important applications in the field of nuclear energy and other related fields. It involves simulating and analyzing complex reactor systems, including the interaction of multiple physical fields such as thermodynamics, fluid dynamics, neutron transport, and fuel burnup.

[0003] When performing multi-physics field simulation, different disciplinary solvers (such as particle parallel solvers and domain decomposition parallel solvers) are usually used to handle the equations of each physical field. These solvers may have different algorithms, data structures, and numerical methods. In order to achieve accurate and efficient simulation, these solvers require a large amount of computing resources, data exchange, and communication.

[0004] In related technologies, the allocation of computing resources between different disciplinary solvers is unreasonable, which greatly affects the processing efficiency. SUMMARY

[0005] The present application aims to at least solve one of the technical problems existing in the prior art. To this end, the present application proposes a data solving method and device for numerical reactor, an electronic device and a computer readable storage medium, which can reasonably allocate computing resources between different disciplinary solvers and improve processing efficiency.

[0006] To achieve the above-mentioned purpose, a first aspect of an embodiment of the present application proposes a data solving method for numerical reactor, the method comprising:

[0007] dividing the computational domain of the numerical reactor into a plurality of grid regions and a plurality of grid blocks;

[0008] recording a domain decomposition parallel solver to each of the grid regions, and recording a particle parallel solver to each of the grid blocks;

[0009] allocating the plurality of grid regions and the plurality of grid blocks to a plurality of computing nodes, the plurality of computing nodes being used for computing and solving the particle parallel solver and the domain decomposition parallel solver;

[0010] for each computing node, creating a particle process and creating a plurality of region processes based on the computing resources of the computing node;

[0011] Solving the grid block allocated to the particle process of each of the plurality of computing nodes and solving the grid region allocated to the region process of each of the plurality of computing nodes to obtain numerical reactor solution data.

[0012] Optionally, the solving the grid block allocated to the particle process of each of the plurality of computing nodes and solving the grid region allocated to the region process of each of the plurality of computing nodes to obtain numerical reactor solution data comprises:

[0013] performing a region solving sub-process, the region solving sub-process comprising: solving, by each of the region processes, the grid region with particle buffer data sent by the particle processes at a first time step to obtain region solving data at a second time step, updating a region buffer area corresponding to the region process with the region solving data at the second time step, and sending region buffer data in the region buffer area to the particle processes; updating, by the particle processes on all of the computing nodes, a particle buffer area corresponding to the particle process with the received region buffer data, and accumulating particle buffer data in the particle buffer area into a global buffer area; wherein the first time step is a previous time step of the second time step;

[0014] performing a particle solving sub-process, the particle solving sub-process comprising: solving, by the particle processes, the grid block with region buffer data sent by the plurality of region processes at a first time step to obtain particle solving data at a second time step, and updating a particle buffer area corresponding to the particle process with the particle solving data at the second time step; sending, by the particle processes, particle buffer data in the particle buffer area to the plurality of region processes on the same computing node; updating, by each of the region processes, a region buffer area corresponding to the region process based on the particle buffer data at the second time step;

[0015] If the second time step does not reach a preset target time step, repeating the region solving sub-process and the particle solving sub-process until the numerical reactor solution data is obtained from the global buffer area.

[0016] Optionally, the sending region buffer data in the region buffer area to the particle processes comprises:

[0017] For each computing node, sending, by the plurality of region processes on the computing node, region buffer data at a second time step to the particle processes on the computing node respectively;

[0018] Sending, by the particle processes on the computing node, region buffer data at a second time step to particle processes on other computing nodes.

[0019] Optionally, the sending, by the particle process on the computing node, the region cache data of the second time step to the particle processes on other computing nodes comprises:

[0020] updating, by the particle process on the computing node, the particle cache area with the region cache data of the second time step;

[0021] sending, by the particle process on the computing node, the particle cache data in the particle cache area to the particle processes on other computing nodes, the particle cache data containing the region cache data of the second time step, so that the particle process on each computing node updates the particle cache area corresponding to the particle process with the particle cache data sent by other computing nodes.

[0022] Optionally, the sending, by the particle process, the particle cache data in the particle cache area to a plurality of region processes on the same computing node comprises:

[0023] sorting, by the particle process on each computing node, a plurality of region processes on the same computing node from small to large;

[0024] for each computing node, performing a blocking sending process; wherein the blocking sending process comprises determining a current receiving region process from a plurality of region processes based on the sorting, and sending, by the particle process, the particle solving data of the second time step to the current receiving region process;

[0025] if it is detected that the current receiving region process receives the particle solving data of the second time step, repeating the blocking sending process until there is no current receiving region process.

[0026] Optionally, before the solving, by the particle process, the assigned grid block and the solving, by the region process, the assigned grid area, the method further comprises:

[0027] establishing, by a target process, a communication connection channel between the region decomposition parallel solver and the particle parallel solver, the target process comprising at least one of the region process and the particle process;

[0028] wherein the particle cache data and the region cache data are transmitted through the communication connection channel.

[0029] Optionally, the creating, based on the computing resources of the computing node, one particle process and a plurality of region processes comprises:

[0030] The process of solving the time length required for the grid region comprises: determining a first time length and a second time length required for solving the grid region, the first time length being a time length required for solving the grid region in a case that a first number of the region processes is created by the computing resource of the computing node, and the second time length being a second time length required for solving the grid region in a case that a second number of the region processes is created by the computing resource of the computing node, the second number being a sum of the first number and a preset number gradient.

[0031] In a case that a preset condition is not met between the second time length and the first time length, the second number is replaced by the first number, the process of solving the time length required for the grid region is repeatedly executed until the preset condition is met between the second time length and the first time length, and one particle process and a first number of the region processes are created in the computing node.

[0032] To achieve the above object, a second aspect of the present application provides a data solving device of a numerical reactor, the device comprising:

[0033] A dividing module is configured to divide a calculation domain of the numerical reactor into a plurality of grid regions and a plurality of grid blocks.

[0034] A recording module is configured to record a region decomposition parallel solver to each of the grid regions and record a particle parallel solver to each of the grid blocks.

[0035] A distribution module is configured to distribute the plurality of grid regions and the plurality of grid blocks to a plurality of computing nodes, and the plurality of computing nodes are configured to calculate and solve the particle parallel solver and the region decomposition parallel solver.

[0036] A creating module is configured to create, for each of the computing nodes, one particle process and a plurality of region processes based on a computing resource of the computing node.

[0037] A solving module is configured to solve, by the particle processes of the plurality of computing nodes, the grid blocks distributed thereto, and solve, by the region processes of the plurality of computing nodes, the grid regions distributed thereto, to obtain numerical reactor solving data.

[0038] To achieve the above object, a third aspect of the present application provides an electronic device, comprising a memory and a processor, the memory stores a computer program, and the processor implements the data solving method of the numerical reactor according to the first aspect when executing the computer program.

[0039] To achieve the above object, a fourth aspect of the present application provides a computer readable storage medium, the storage medium storing a computer program, the computer program being executed by a processor to implement the data solving method of the numerical reactor.

[0040] The data solving method and device of the numerical reactor, the electronic device and the computer readable storage medium provided by the present application propose to first divide the calculation domain of the numerical reactor into a plurality of grid regions and a plurality of grid blocks, the plurality of grid regions covering the entire calculation domain, and the plurality of grid blocks also covering the entire calculation domain. Secondly, record the domain decomposition parallel solver to each grid region, and record the particle parallel solver to each grid block. The domain decomposition parallel solver is a solver for solving the grid region, and the particle parallel solver is a solver for solving the grid block. A certain amount of computing resources are required for solving, so the plurality of grid regions and the plurality of grid blocks are allocated to a plurality of computing nodes, each computing node will call its own computing resources to solve the allocated grid regions and grid blocks. The computing resources required for solving the grid regions and the grid blocks are different, so a particle process and a plurality of region processes are created based on the computing resources of the computing nodes, then the grid blocks allocated to the particle processes of the plurality of computing nodes are solved, and the grid regions allocated to the region processes of the plurality of computing nodes are solved, to obtain numerical reactor solving data. Although the particle process and the region process will occupy a part of the computing resources of the computing node, the region processes need more frequent communication than the particle processes, so by setting the number of region processes to be more than the number of particle processes, it can be ensured that the plurality of region processes of the same computing node can efficiently communicate with each other when solving the grid regions. In summary, the embodiments of the present application can reasonably allocate the computing resources between different discipline solvers, and improve the processing efficiency.

[0041] Additional aspects and advantages of the present application will be made apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0042] FIG. 1 is a flowchart of the data solving method of the numerical reactor provided by the embodiments of the present application;

[0043] FIG. 2 is a schematic diagram of a grid region provided by the embodiments of the present application;

[0044] FIG. 3 is a schematic diagram of a grid block provided by the embodiments of the present application;

[0045] FIG. 4 is a schematic diagram of creating a process in a computing node provided by the embodiments of the present application;

[0046] FIG. 5 is a schematic diagram of serial coupling communication between the particle parallel solver and the domain decomposition parallel solver;

[0047] FIG. 6 is a schematic diagram of parallel coupling communication between a particle parallel solver and a domain decomposition parallel solver according to an embodiment of the present application;

[0048] FIG. 7 is a structural schematic diagram of a data solver of a numerical reactor according to an embodiment of the present application;

[0049] FIG. 8 is a structural schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0050] In order to make the purposes, technical solutions and advantages of the present application clearer, further detailed description will be made to the present application in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0051] It should be noted that although the functional modules are divided in the device schematic diagram, and the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a manner different from the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification and claims and the above-described drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application, and are not intended to limit the present application.

[0053] A numerical reactor generally refers to a technology that uses computer numerical simulation methods to simulate and analyze the physical processes in a nuclear reactor. Numerical reactor simulation is an important tool in the field of nuclear energy and nuclear engineering, which is used to study and evaluate the performance, safety and stability of nuclear reactors. The main purposes of numerical reactor simulation include: predicting and analyzing nuclear parameters in the reactor, such as neutron flux distribution, temperature distribution, fuel burnup, etc.; simulating the operating state of the reactor under different conditions, understanding the stability, response characteristics and failure conditions of the reactor; optimizing the design, layout and control strategy of the reactor, and improving the efficiency and safety of the reactor. Numerical reactor simulation is often based on a series of mathematical and physical models, including diffusion theory, neutron transport theory, fuel deposition model, thermal-hydraulic model, etc. The simulation process will involve discretization and numerical solution of different parameters to obtain numerical solutions of various physical processes in the reactor. In the data solving (also known as coupling analysis) of the numerical reactor, different types of high-fidelity disciplinary solvers are often used, and the parallel solving types of these solvers can be divided into particle parallel solvers and domain decomposition parallel solvers.

[0054] Particle parallel solver often uses Monte Carlo method for neutron / photon transport simulation, etc. In parallel computing, each sub-process completely replicates the entire solution of the problem, including global information such as power distribution, temperature distribution, etc.

[0055] Domain decomposition parallel solver is often used in computational fluid dynamics (CFD) software, etc. In parallel computing, the data of the problem is decomposed into different local information and distributed to each sub-process. Each sub-process only contains local information related to it, such as local power distribution or temperature distribution. Data exchange and communication between sub-processes are needed to achieve global coupling analysis.

[0056] At present, how to realize resource allocation and efficient parallel communication between particle parallel solver and domain decomposition parallel solver is one of the difficulties of large-scale coupled analysis of numerical reactor. The related technology at least has at least one of the problems of data transmission delay, large communication overhead, and low parallel efficiency.

[0057] Therefore, the embodiments of the present application provide a data solving method and device for numerical reactor, electronic equipment and computer readable storage medium. The method provided by the present application relates to multi-physical field simulation of numerical reactor, and specifically relates to a parallel communication method between multiple discipline solvers, which can improve the parallel efficiency in large-scale data transmission. Specifically, the calculation domain of the numerical reactor is first divided into a plurality of grid regions and a plurality of grid blocks, the plurality of grid regions cover the entire calculation domain, and the plurality of grid blocks also cover the entire calculation domain. Secondly, record the domain decomposition parallel solver to each grid region, and record the particle parallel solver to each grid block. The domain decomposition parallel solver is a solver for solving the grid region, and the particle parallel solver is a solver for solving the grid block. A certain amount of computing resources are required for solving, so the plurality of grid regions and the plurality of grid blocks are distributed to a plurality of computing nodes, and each computing node calls its own computing resources to solve the distributed grid regions and grid blocks. The computing resources required for solving the grid regions and the grid blocks are different, so a particle process and a plurality of region processes are created based on the computing resources of the computing nodes, and then the particle process of the plurality of computing nodes is used to solve the distributed grid blocks, and the region process of the plurality of computing nodes is used to solve the distributed grid regions, to obtain numerical reactor solving data. Although the particle process and the region process will occupy a part of the computing resources of the computing node, the region processes need to communicate more frequently than the particle processes, so by setting the number of region processes to be more than the number of particle processes, it can be ensured that the multiple region processes of the same computing node can efficiently communicate between the region processes when solving the grid regions. In summary, the embodiments of the present application can reasonably allocate the computing resources between different discipline solvers, and improve the processing efficiency.

[0058] The application provides a data solving method and device of a numerical reactor, an electronic device and a storage medium, which are specifically described through the following embodiments. First, the data solving method of the numerical reactor in the application is described.

[0059] Please refer to FIG. 1, which discloses an optional flowchart of a data solving method of a numerical reactor. The method in FIG. 1 can include but is not limited to steps 101 to 105.

[0060] Step 101, grid division is performed on a calculation domain of the numerical reactor to obtain a plurality of grid regions and a plurality of grid blocks;

[0061] Step 102, a domain decomposition parallel solver is recorded to each grid region, and a particle parallel solver is recorded to each grid block;

[0062] Step 103, the plurality of grid regions and the plurality of grid blocks are distributed to a plurality of computing nodes, and the plurality of computing nodes are used to solve the calculation of the particle parallel solver and the domain decomposition parallel solver;

[0063] Step 104, for each computing node, a particle process and a plurality of region processes are created based on the computing resources of the computing node;

[0064] Step 105, the grid blocks distributed by the particle processes of the plurality of computing nodes are solved, and the grid regions distributed by the region processes of the plurality of computing nodes are solved, to obtain numerical reactor solving data.

[0065] The steps 101 to 105 shown in the embodiments of the application, the plurality of grid regions cover the entire calculation domain, and the plurality of grid blocks also cover the entire calculation domain. A certain amount of computing resources are required for solving, so the plurality of grid regions and the plurality of grid blocks are distributed to the plurality of computing nodes, and each computing node calls its own computing resources to solve the distributed grid regions and grid blocks. The computing resources required for solving the grid regions and the grid blocks are different, so a particle process and a plurality of region processes are created based on the computing resources of the computing node, then the grid blocks distributed by the particle processes of the plurality of computing nodes are solved, and the grid regions distributed by the region processes of the plurality of computing nodes are solved, to obtain numerical reactor solving data. Although the particle processes and the region processes both occupy a part of the computing resources of the computing node, the region processes need more frequent communication than the particle processes, so by setting the number of region processes to be more than the number of particle processes, it can be ensured that the plurality of region processes of the same computing node can efficiently communicate with each other when solving the grid regions. In summary, the embodiments of the application can reasonably allocate the computing resources between different discipline solvers, and improve the processing efficiency.

[0066] In step 101 of some embodiments, the numerical reactor has been described above and will not be repeated here. The computational domain is a concept in computer science used to describe the effective range of a certain variable in a computer program. The computational domain usually refers to the range in which the variable can be accessed and operated in the program, including aspects such as the scope, lifetime, and visibility of the variable.

[0067] In an embodiment, the process of meshing the computational domain of the numerical reactor to obtain a plurality of mesh regions can include: defining a global mesh according to the computational domain of the numerical reactor; and dividing the global mesh into a plurality of mesh regions according to the geometry of the problem to be solved and a meshing strategy. For example, in the data solving (also known as numerical simulation) of a nuclear reactor, the entire core can be regarded as a complete computational domain. Then, according to the geometry of the problem (such as neutron / photon transport simulation, fluid mechanics, etc.) and the meshing strategy, the computational domain can be divided into a plurality of non-overlapping mesh regions. The mesh region types are triangular, quadrilateral, hexagonal, or irregular (such as a mixture of triangular and quadrilateral, etc.). The mesh regions can be regularly divided, for example, equally divided, or adaptively divided to better adapt to the local characteristics of the problem. For example, different meshing strategies can increase the number of mesh regions in the key area of the problem (such as the inside of the core) and reduce the number of mesh regions in the non-key area (such as the edge or outside of the core).

[0068] In an embodiment, each mesh region includes a plurality of sub-meshes, and the size and refinement level of the sub-meshes can be adjusted according to the flow characteristics and accuracy requirements in the mesh region. Referring to FIG. 2, the computational domain of the numerical reactor is divided into four mesh regions, namely mesh region 201, mesh region 202, mesh region 203, and mesh region 204. Mesh region 201 includes 16 sub-meshes. Mesh region 202 includes 64 sub-meshes. Mesh region 203 includes 16 sub-meshes. Mesh region 204 includes 16 sub-meshes. It can be seen that the sub-mesh density of mesh region 202 can be higher than that of mesh regions 201, 203, and 204.

[0069] In one embodiment, the process of dividing the computational domain of the numerical reactor into a plurality of grid blocks can include: defining a global grid according to the computational domain of the numerical reactor; and dividing the global grid into a plurality of grid blocks. The global grid used to divide the grid blocks is the same as the global grid used to divide the grid regions. Each grid block should include at least one sub-grid of the domain decomposition parallel solver. The shape of the grid blocks can be irregular so as to better adapt to the characteristics of the distribution and movement of the particles. Referring to FIG. 3, the computational domain of the numerical reactor is divided into five grid blocks, namely, grid block 301, grid block 302, grid block 303, grid block 304, and grid block 305. Grid block 301 covers 12 sub-grids of grid region 201 and 12 sub-grids of grid region 202. Grid block 302 covers 48 sub-grids of grid region 202 and 3 sub-grids of grid region 204. Grid block 303 covers 3 sub-grids of grid region 203 and 12 sub-grids of grid region 204. Grid block 304 covers 3 sub-grids of grid region 201 and 12 sub-grids of grid region 203. Grid block 305 covers 1 sub-grid of grid region 201, 4 sub-grids of grid region 202, 1 sub-grid of grid region 203, and 1 sub-grid of grid region 204.

[0070] In step 102 of some embodiments, the domain decomposition parallel solver is recorded to each grid region, and the particle parallel solver is recorded to each grid block. The domain decomposition parallel solver and the particle parallel solver have been described above and will not be repeated here. Each grid region includes one or more sub-grids, each of which contains a portion of the information and data of the computational domain, and the domain decomposition parallel solver recorded in the grid region can perform solving calculation on the information and data contained in each sub-grid. Similarly, each grid block corresponds to at least one sub-grid, also contains a portion of the information and data of the computational domain, and the particle parallel solver recorded in the grid block can perform solving calculation on the information and data contained in the grid block.

[0071] In step 103 of some embodiments, a computing node refers to a basic computing unit used for parallel computing in a high-performance computing (HPC) system. A computing node usually contains one or more processors (such as CPUs or GPUs), memory (RAM), storage devices, network interfaces, and other components, and can independently perform computing tasks. In high-performance computing, a computing node is the basic building block of the entire system, and by connecting multiple computing nodes together to form a cluster or supercomputer, large-scale parallel computing can be achieved. Each computing node can independently perform computing tasks and communicate and coordinate with other computing nodes to achieve distributed parallel computing of tasks. In this embodiment, the computing node is configured with multiple processor cores and large memory capacity to support complex numerical calculations. The computing node is used to solve the computational solution of the particle parallel solver and the domain decomposition parallel solver.

[0072] In an embodiment, the process of allocating multiple grid regions and multiple grid blocks to multiple computing nodes can include: for each grid region, determining a first remainder of a modulo operation of a first serial number of the grid region and a first total number, the first total number being a total number corresponding to the multiple grid regions; distributing the grid region to a computing node with a second serial number corresponding to the first remainder; for each grid block, determining a second remainder of a modulo operation of a third serial number of the grid block and a second total number, the second total number being a total number corresponding to the multiple grid blocks; distributing the grid block to a computing node with a second serial number corresponding to the second remainder. This embodiment realizes round-robin allocation based on the first remainder and the second remainder obtained by the modulo operation, which can ensure that each computing node has an equal chance of being allocated to a grid region and a grid block, improving the fairness of allocation.

[0073] In step 104 of some embodiments, computing resources refer to various computing devices and resources available in a computing task, used for performing calculations, storing data, and communicating, etc. Computing resources can include hardware resources (such as processors, memory, storage devices, GPUs, etc.) and software resources (such as operating systems, applications, programming tools, etc.), which collectively support the performance of computing tasks. Common computing resources include: processors (CPUs): central processing units used to perform computing tasks, usually including multiple processor cores that can perform multiple tasks in parallel. Graphics processing units (GPUs): used to accelerate graphics processing and general-purpose computing, widely used in deep learning, scientific computing, and cryptography. For each computing node, a particle process is created based on the computing resources of the computing node and multiple region processes are created.

[0074] For example, referring to FIG. 4, there are totally 5 computing nodes, which are computing node 401, computing node 402, computing node 403, computing node 404 and computing node 405. Process 1 to process 10 are created for computing node 401, in which process 1 is a particle process and process 2 to process 10 are all region processes. Process 11 to process 20 are created for computing node 402, in which process 11 is a particle process and process 12 to process 20 are all region processes. Process 21 to process 30 are created for computing node 403, in which process 21 is a particle process and process 22 to process 30 are all region processes. Process 31 to process 40 are created for computing node 404, in which process 31 is a particle process and process 32 to process 40 are all region processes. Process 41 to process 50 are created for computing node 405, in which process 41 is a particle process and process 42 to process 50 are all region processes.

[0075] In an embodiment, the process of creating one particle process and creating a plurality of region processes based on the computing resource of the computing node can comprise:

[0076] performing a process of determining a time length required for solving the grid region, the process of determining the time length required for solving the grid region comprising: determining a first time length and a second time length required for solving the grid region, the first time length being a time length required for solving the grid region in a case that the first number of region processes are created based on the computing resource of the computing node, the second time length being a second time length required for solving the grid region in a case that the second number of region processes are created based on the computing resource of the computing node, the second number being a sum of the first number and a preset number gradient;

[0077] replacing the second number with the first number and repeating the process of determining the time length required for solving the grid region until the preset condition is met between the second time length and the first time length, and creating one particle process and the first number of region processes based on the computing resource of the computing node.

[0078] The number gradient can be set according to requirements, such as the number gradient being 1, 2, etc. Assuming that the number gradient is 1 and the first number is 5, the second number is 6. The preset condition can be that the difference between the second time length and the first time length is greater than a time length reduction gradient threshold value. For example, the time length reduction gradient threshold value is 1 second, and if the difference between the second time length and the first time length is greater than 1 second, the second number is replaced with the first number, and the process of determining the time length required for solving the grid region is repeated. The preset condition can also be that the proportion of the difference between the second time length and the first time length in the first time length is less than a time length reduction proportion threshold value. For example, the time length reduction proportion threshold value is 5%, and if the proportion of the difference between the second time length and the first time length in the first time length is less than 5%, the process of determining the time length required for solving the grid region is repeated.

[0079] The embodiment has the benefit that a sufficient number of region processes can be created according to the computing resources of the computing nodes, and the computing resources are reasonably allocated.

[0080] In step 105 of some embodiments, the grid blocks allocated to the particle processes of the plurality of computing nodes are solved, and the grid regions allocated to the region processes of the plurality of computing nodes are solved, to obtain numerical reactor solving data. Referring to FIG. 4, process 1 of computing node 401, process 11 of computing node 402, process 21 of computing node 403, process 31 of computing node 404, and process 41 of computing node 405 solve the grid blocks allocated thereto, respectively. Process 2 to process 10 of computing node 401, process 12 to process 20 of computing node 402, process 22 to process 30 of computing node 403, process 32 to process 40 of computing node 404, and process 42 to process 50 of computing node 405 solve the grid regions allocated thereto, respectively. Each particle process corresponds to a particle buffer area. Each region process corresponds to a region buffer area. In the solving process, the particle processes solve to obtain particle solving data, and update the particle buffer area with the particle solving data; the region processes solve to obtain region solving data, and update the region buffer area with the region solving data. Data interaction is required between the particle processes and the region processes, i.e., the particle processes need to send particle buffer data in the particle buffer area to the region processes, and the region processes need to send region buffer data in the region buffer area to the particle processes.

[0081] In an embodiment, before step 105, the data solving method of the numerical reactor further includes:

[0082] The target process includes at least one of the region process and the particle process; wherein the particle buffer data and the region buffer data are transmitted through the communication connection channel.

[0083] In an example, when the target process is the region process, a communication module is imported and initialized in the program of the region decomposition parallel solver, communication with the particle parallel solver is waited for, and then when the target process is the particle process, a communication module is imported and initialized in the program of the particle parallel solver, and then the region decomposition parallel solver and the particle parallel solver successfully establish the communication connection channel. In another particle, when the target process is the particle process, a communication module is imported and initialized in the program of the particle parallel solver, communication with the region parallel solver is waited for, and then when the target process is the region process, a communication module is imported and initialized in the program of the region parallel solver, and then the region decomposition parallel solver and the particle parallel solver successfully establish the communication connection channel.

[0084] The above embodiment has the benefit that the communication connection channel is established by the target process before solving, which can ensure the data interaction between the domain decomposition parallel solver and the particle parallel solver during solving.

[0085] The communication between the particle parallel solver (A) and the domain decomposition parallel solver (B) and the respective processing flow are described below.

[0086] In an example, the following processing can be performed in the program of A and the program of B respectively.

[0087] (1) Program initialization;

[0088] (2) Import communication module, communication initialization;

[0089] (3) Repeat the following operation until the convergence or time step requirement is met, t = t + 1:

[0090] 3.1, t time step pre-processing;

[0091] Obtain data from A (B);

[0092] 3.2, perform solver calculation;

[0093] 3.3, t time step post-processing;

[0094] Send data to B (A);

[0095] Time synchronization (A and B synchronization);

[0096] 3.4 Check if the next time step;

[0097] (4) End.

[0098] It should be noted that the pre-processing is specifically the pre-processing of the environment required by the solver for its calculation. The pre-processing required by each solver calculation is different. Generally, the pre-processing will include data format conversion, data decomposition and reconstruction, calculation task allocation, and some optimization settings. For example, superlu (a three-party open source solver) will calculate row permutation vectors and column permutation vectors before performing LU decomposition to optimize matrix decomposition. The post-processing is specifically the post-processing of the environment required by the solver for its calculation. Different solvers will perform different post-processing, such as memory space release, data format conversion, log output, etc. Checking if the next time step can be specifically: when all solver calculation results meet the convergence criteria set by the user performing simulation, the next time step is entered. If no criteria are set, the next time step is entered when all solvers complete the calculation. For example, the convergence criteria include meeting the upper limit of the number of calculations, or the error between the current calculation result and the previous calculation result is less than a given value.

[0099] The process of establishing the communication connection channel includes the following cases: (1) starting A, the communication module in A is initialized, and waits to establish communication with B; then starting B, A and B establish communication. (2) Starting B, the communication module is initialized, and waits to establish communication with A; then starting A, A and B establish communication. It can be seen that the starting order between A and B does not affect the coupling calculation between A and B.

[0100] The communication between the particle parallel solver A and the domain decomposition parallel solver B can be serial coupling communication or parallel coupling communication. Referring to FIG. 5, FIG. 5 shows the serial coupling communication between the particle parallel solver A and the domain decomposition parallel solver B. Specifically, for one time step, A performs solving calculation while B is in a waiting state. For another time step, B performs solving calculation while A is in a waiting state. A can send data such as a power field to B, and B can send data such as a temperature field to A. Referring to FIG. 6, FIG. 6 shows the parallel coupling communication between the particle parallel solver A and the domain decomposition parallel solver B. Specifically, for each time step, A performs solving calculation while B also performs solving calculation. A can send data such as a power field to B, and B can send data such as a temperature field to A.

[0101] In an example, in the program of A, at a time step t, data is acquired from B, solving calculation of A is performed, data is sent from A to B, data of A and B is checked, and whether to proceed to the next time is determined. In the program of B, at the time step t, data is acquired from A, solving calculation of B is performed, data is sent from B to A, data of A and B is checked, and whether to proceed to the next time step is determined, until a convergence condition is reached or a target time step is reached.

[0102] In an embodiment, step 105 comprises:

[0103] performing a domain solving sub-process, the domain solving sub-process comprising: solving, by each domain process, a grid domain with particle cache data sent by a particle process at a first time step to obtain domain solving data at a second time step, updating a domain cache area corresponding to the domain process with the domain solving data at the second time step, and sending domain cache data in the domain cache area to the particle process; updating, by the particle process on all computing nodes, a particle cache area corresponding to the particle process with the received domain cache data, and accumulating particle cache data in the particle cache area into a global cache area;

[0104] performing a particle solving sub-process, the particle solving sub-process comprising: solving, by the particle process, the grid block with the region buffer data sent by the plurality of region processes at the first time step to obtain particle solving data of a second time step, and updating a particle buffer area corresponding to the particle process with the particle solving data of the second time step; sending, by the particle process, the particle buffer data in the particle buffer area to the plurality of region processes on the same computing node; updating, by each region process, a region buffer area corresponding to the region process based on the particle buffer data of the second time step;

[0105] If the second time step does not reach a preset target time step, the region solving sub-process and the particle solving sub-process are repeatedly performed until the numerical reactor solving data is obtained from the global buffer area.

[0106] It should be noted that the first time step is a previous time step of the second time step. For example, if the first time step is t, then the second time step is t+1.

[0107] In combination with the above, each particle process corresponds to a particle buffer area, and each region process also corresponds to a region buffer area. After the region process is solved with the particle buffer data sent by the particle process at the first time step, the region solving data of the second time step can be obtained, and the corresponding region buffer area can be updated with the region solving data. It can be understood that the region buffer area is also used to store the particle buffer data sent by the particle process at the first time step and received by the region process. After the particle process is solved with the region buffer data sent by the plurality of region processes at the first time step, the particle solving data of the second time step can be obtained, and the corresponding particle buffer area can be updated with the particle solving data. It can be understood that the particle buffer area is also used to store the region buffer data sent by the region process at the first time step and received by the particle process.

[0108] The above embodiment has the benefit that, through the respective solving calculations of the region process and the particle process and the mutual effective communication, the data exchange between the region parallel solver and the particle parallel solver is realized. Moreover, this communication mode effectively localizes the data of the region decomposition parallel solver and performs appropriate sending and receiving operations to realize the accumulation and updating of the data. In addition, since the embodiment can efficiently utilize the computing and communication resources, under the same hardware resource conditions, larger-scale data and more complex computing tasks can be processed.

[0109] In an embodiment, the process of sending the region buffer data in the region buffer area to the particle process can include:

[0110] For each computing node, the plurality of region processes on the computing node respectively send the region buffer data of the second time step to the particle process on the computing node;

[0111] sending the region cache data of the second time step to the particle processes on other computing nodes by the particle process on the computing node.

[0112] For example, referring to FIG. 4, for the region cache data of process 2, a communication connection channel is established between process 2 and the process (e.g., process 1) of the root node (e.g., computing node 401) of the particle parallel solver, and the region cache data is sent to process 1. This is a blocking point-to-point sending / receiving operation. Process 1 establishes a communication connection channel between process 1 and the particle processes (e.g., process 11, process 21, process 31, and process 41) of other computing nodes (e.g., computing node 402), such as broadcasting the region cache data received by process 1 to process 11, process 21, process 31, and process 41.

[0113] The advantage of this embodiment is that the region cache data is not directly sent across computing nodes by the region process, but is first sent to the particle process on the same computing node as the region process, and then sent by the particle process across computing nodes to other particle processes, reducing the possibility of data loss and improving the security of data interaction.

[0114] In an embodiment, sending the region cache data of the second time step to the particle processes on other computing nodes by the particle process on the computing node comprises:

[0115] updating the particle cache area by the particle process on the computing node with the region cache data of the second time step;

[0116] sending the particle cache data in the particle cache area to the particle processes on other computing nodes by the particle process on the computing node, the particle cache data containing the region cache data of the second time step, so that the particle process on each computing node updates the particle cache area corresponding to the particle process with the particle cache data sent by other computing nodes.

[0117] For example, referring to FIG. 4, process 1 of computing node 401 updates the particle cache area with the region cache data of the second time step sent by process 2, and sends the particle cache data in the updated particle cache area to process 11 of computing node 402, process 21 of computing node 403, process 31 of computing node 404, and process 41 of computing node 405. Since the particle cache area is updated based on the region cache data of the second time step, the particle cache data sent contains the region cache data of the second time step.

[0118] The advantage of this embodiment is that when the particle processes across computing nodes interact with data, the particle cache data in the particle cache area can be sent at one time, and different data cannot be sent multiple times, improving the efficiency of interaction.

[0119] In an embodiment, the process of sending the particle buffer data in the particle buffer to the plurality of domain processes on the same computing node by the particle process on the computing node can comprise:

[0120] ranking the plurality of domain processes on the same computing node from small to large by the particle process on each computing node;

[0121] performing a blocking sending process for each computing node, wherein the blocking sending process comprises determining a current receiving domain process from the plurality of domain processes based on the ranking, and sending the particle solution data of the second time step to the current receiving domain process by the particle process;

[0122] repeating the blocking sending process until there is no current receiving domain process if it is detected that the current receiving domain process receives the particle solution data of the second time step.

[0123] For example, referring to FIG. 4, process 1 of computing node 401 ranks processes 2 to 10 from small to large. Based on the ranking, the current receiving domain process can be determined as process 2, process 3, …, process 9 and process 10 in turn. After process 1 sends the particle solution data of the second time step to process 2, if it is detected that process 2 has received the particle solution data of the second time step, process 1 can send the particle solution data of the second time step to process 3. If it is detected that process 3 has received the particle solution data of the second time step, process 1 can send the particle solution data of the second time step to process 4. The sending process for processes 4 to 10 is similar to that for processes 2 to 3, which will not be described here. This embodiment can start the next operation before some operations are completed, thereby reducing the waiting time and improving the overall parallel performance.

[0124] The embodiment has the benefit of improving the efficiency of parallel computing by reasonable communication and computing sequence arrangement.

[0125] In an example, referring to FIGS. 2, 3 and 4, the data solution method of the numerical reactor can comprise the following implementation steps:

[0126] 1. Communication from the domain parallel solver B to the particle parallel solver A:

[0127] 1.1 Localization of the domain decomposition parallel solver B data:

[0128] The region grid consists of multiple sub-grids, and the region solution data consists of sub-grid solution data of the multiple sub-grids. Each region process averages its sub-grid solution data of each sub-grid on the particle buffer area of the corresponding grid block (also called local part of the grid block). For example, the grid region 202 has 4 sub-grids corresponding to the grid block 305, and the sub-grid solution data of the 4 sub-grids can be averaged on the local part of the grid block. For each region process, the region solution data of its grid region is translated to the region buffer area.

[0129] 1.2 Communicate the region buffer data to the root node of the particle parallel solver:

[0130] For the region buffer data of process 2, a process (e.g., process 1) of the root node (e.g., computing node 401) of the particle parallel solver communication is established. This is a blocking point-to-point send / receive operation. The region buffer data is stored in the particle buffer area of process 1 of computing node 1.

[0131] 1.3 Send the particle buffer data in the particle buffer area of the root node to other computing nodes:

[0132] The communication of the root node (e.g., computing node 401) of the particle parallel solver communication is established with other computing nodes, for example, the particle buffer data of process 1 is broadcast to process 11, process 21, process 31, process 41, etc.

[0133] 1.4 Accumulation of global data:

[0134] Each particle parallel solver process accumulates the particle buffer data in the updated particle buffer area into the global buffer area. This is done in parallel without any MPI communication.

[0135] 1.5 Repeat steps (1.1) to (1.4) to traverse all region processes (e.g., process 2 to process 10, process 12 to process 20, process 22 to process 30, process 32 to process 40, process 42 to process 50).

[0136] 2 Communication from the particle parallel solver A to the region parallel solver B:

[0137] 2.1 The particle process (e.g., process 1) sends the particle buffer data (also called local grid data) in the particle buffer area to the corresponding region process (e.g., process 2), which is a blocking send / receive operation.

[0138] 2.2 The region process (e.g., process 2) updates the region buffer area based on the particle buffer data, and can set the data of its grid region from the updated region buffer area setting (also called local grid data field). This does not require MPI communication.

[0139] 2.3 Repeat the operation of step 2.1 to step 2.2 for each region process.

[0140] It can be understood that the particle process (such as process 1) can immediately start the step for the region process n+1 after completing the step 2.1 for the region process n. It means that the region process n+1 can start before the step 2.2 for the region process ≤n is completed. The efficiency of parallel communication and calculation can be greatly improved.

[0141] It can be understood that the particle process (such as process 1) can immediately start the step for the region process n+1 after completing the step 2.1 for the region process n. It means that the region process n+1 can start before the step 2.2 for the region process ≤n is completed. The efficiency of parallel communication and calculation can be greatly improved.

[0142] Please refer to FIG. 7, the embodiment of the present application further provides a data solving device of a numerical reactor, which can realize the data solving method of the numerical reactor. FIG. 7 is a module structure block diagram of the data solving device of the numerical reactor provided by the embodiment of the present application. The device comprises: a division module 701, which is used for dividing a calculation domain of a numerical reactor into grids to obtain a plurality of grid regions and a plurality of grid blocks; a recording module 702, which is used for recording a region decomposition parallel solver to each grid region and recording a particle parallel solver to each grid block; an allocation module 703, which is used for allocating the plurality of grid regions and the plurality of grid blocks to a plurality of computing nodes, and the plurality of computing nodes are used for calculating and solving the particle parallel solver and the region decomposition parallel solver; a creation module 704, which is used for creating a particle process and creating a plurality of region processes based on a computing resource of each computing node; and a solving module 705, which is used for solving the grid block allocated by the particle process of the plurality of computing nodes, and solving the grid region allocated by the region process of the plurality of computing nodes to obtain numerical reactor solving data.

[0143] In an embodiment, the solving module 705 is further used for establishing a communication connection channel between the region decomposition parallel solver and the particle parallel solver by a target process, and the target process comprises at least one of the region process and the particle process.

[0144] It should be noted that the specific implementation of the data solving device of the numerical reactor is basically the same as the specific embodiments of the data solving method of the numerical reactor, which will not be described here.

[0145] The electronic device provided by the embodiment of the present application comprises a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for realizing connection communication between the processor and the memory, and the program is executed by the processor to realize the data solving method of the numerical reactor. The electronic device can be any smart terminal including a tablet computer, a vehicle-mounted computer, etc.

[0146] Referring to FIG. 8, the hardware structure of the electronic device of another embodiment is shown, which comprises:

[0147] The processor 801 can be implemented in the form of a general-purpose CPU (Central Processing Unit), a microprocessor, an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits, etc., for executing related programs to realize the technical solutions provided by the embodiments of the present application.

[0148] The memory 802 can be implemented in the form of a ROM (Read Only Memory), a static storage device, a dynamic storage device, or a RAM (Random Access Memory), etc. The memory 802 can store an operating system and other application programs, and when the technical solutions provided by the embodiments of the present application are realized by software or firmware, the related program codes are stored in the memory 802 and called and executed by the processor 801 to realize the data solving method of the numerical reactor of the embodiments of the present application.

[0149] The input / output interface 803 is used to realize information input and output.

[0150] The communication interface 804 is used to realize the communication interaction between the device and other devices, which can realize communication through a wired manner (for example, a USB, a network cable, etc.) or a wireless manner (for example, a mobile network, WIFI, Bluetooth, etc.).

[0151] The bus 805 is used to transmit information between various components (for example, the processor 801, the memory 802, the input / output interface 803, and the communication interface 804) of the device.

[0152] The processor 801, the memory 802, the input / output interface 803, and the communication interface 804 realize the communication connection between each other inside the device through the bus 805.

[0153] The embodiment of the present application further provides a storage medium, which is a computer readable storage medium, used for computer readable storage, and stores one or more programs, which can be executed by one or more processors to implement the data solving method of the numerical reactor.

[0154] The memory, as a non-transitory computer readable storage medium, can be used to store non-transitory software programs and non-transitory computer executable programs. In addition, the memory can include a high-speed random access memory, and can also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state memory device. In some embodiments, the memory can optionally include a memory remotely arranged relative to the processor, and these remote memories can be connected to the processor through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0155] The embodiments described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0156] Those skilled in the art can understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and can include more or fewer steps than those shown in the figures, or combine certain steps, or different steps.

[0157] The device embodiments described above are only schematic, and the units described as separate components can or can not be physically separate, that is, can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0158] Those skilled in the art can understand that all or some steps in the above disclosed method, the functions of the modules / units in the system and the device can be implemented as software, firmware, hardware and their appropriate combinations.

[0159] The terms "first", "second", "third", "fourth", and the like in the description and in the claims of this application, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of the terms so termed is interchangeable under appropriate circumstances such that the embodiments of the application described herein are, for example, capable of orderly or chronological mundane operation, reverse order operation, based on circuitry availability, based on stated preference or the like, and that "default" or other orderings are thus permissible. Further, the terms "comprise", "comprising", "include", "including", and the like, are specifically intended to be open-ended. That is, references to individual steps and the like do not suhstantially exclude the presence of two or more of a given step or its integral presence in the process, method, system, article, or apparatus having been made with a wider scope. The use of notation such as "first", "second", "third", etc. does not generally limit the areas, but is used to connect like elements or to distinguish one claim from another. These terms can be used interchangeably when appropriate. Terms concerning the relative position of elements can be interpreted such that their use adheres to their normal meaning, but they can also be interpreted to mean the opposite according to specific claims.

[0160] It should be understood that, in the application, "at least one" refers to one or more, and "multiple" refers to two or more. "And / or" is used to describe the relationship between associated objects, which means that there can be three relationships, for example, "A and / or B" can represent three cases: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the front and rear associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single or multiple items. For example, at least one of a, b or c can mean a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0161] In several embodiments provided by the application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the above-mentioned units is only a logical functional division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed objects can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0162] The units described above as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0163] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.

[0164] If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application, essentially or in part, or all or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes multiple instructions used to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various other media that can store programs.

[0165] The preferred embodiments of the embodiments of the present application are described above with reference to the accompanying drawings, and are not intended to limit the scope of the embodiments of the present application. Any modifications, equivalent replacements and improvements made by those skilled in the art without departing from the scope and essence of the embodiments of the present application shall be within the scope of the embodiments of the present application.

Claims

1. A data solving method of a numerical reactor, characterized by, The method comprises: grid dividing a calculation domain of the numerical reactor to obtain a plurality of grid regions and a plurality of grid blocks; recording a region decomposition parallel solver to each of the grid regions and recording a particle parallel solver to each of the grid blocks; allocating the plurality of grid regions and the plurality of grid blocks to a plurality of computing nodes, the plurality of computing nodes being used to calculate and solve the particle parallel solver and the region decomposition parallel solver; for each computing node, creating a particle process and creating a plurality of region processes based on the computing resources of the computing node; solving the allocated grid blocks by the particle processes of the plurality of computing nodes and solving the allocated grid regions by the region processes of the plurality of computing nodes to obtain numerical reactor solution data.

2. The method of claim 1, wherein, The solving the allocated grid blocks by the particle processes of the plurality of computing nodes and solving the allocated grid regions by the region processes of the plurality of computing nodes to obtain numerical reactor solution data comprises: performing a region solving sub-process, the region solving sub-process comprising: solving, by each of the region processes, the grid regions with particle cache data sent by the particle processes at a first time step to obtain region solving data at a second time step, updating a region cache area corresponding to the region process with the region solving data at the second time step, and sending region cache data in the region cache area to the particle processes; updating a particle cache area corresponding to the particle process with the received region cache data by the particle processes on all the computing nodes, and accumulating particle cache data in the particle cache area into a global cache area; wherein the first time step is a previous time step of the second time step; performing a particle solving sub-process, the particle solving sub-process comprising: solving, by the particle processes, the grid blocks with region cache data sent by the plurality of region processes at a first time step to obtain particle solving data at a second time step, and updating a particle cache area corresponding to the particle process with the particle solving data at the second time step; sending particle cache data in the particle cache area to the plurality of region processes on the same computing node by the particle processes; updating a region cache area corresponding to the region process based on the particle cache data at the second time step by each of the region processes; if the second time step does not reach a preset target time step, repeating the region solving sub-process and the particle solving sub-process until the numerical reactor solution data is obtained from the global cache area.

3. The method of claim 2, wherein, The sending of the region cache data in the region cache area to the particle processes comprises: for each computing node, sending the region cache data at the second time step to the particle processes on the computing node by the plurality of region processes on the computing node; sending the region cache data at the second time step to the particle processes on other computing nodes by the particle processes on the computing node.

4. The method of claim 3, wherein, The sending of the region cache data of the second time step by the particle process on the computing node to the particle processes on other computing nodes comprises: updating, by the particle process on the computing node, a particle cache area with the region cache data of the second time step; sending, by the particle process on the computing node, particle cache data in the particle cache area to the particle processes on other computing nodes, the particle cache data containing the region cache data of the second time step, so that the particle process on each computing node updates the particle cache area corresponding to the particle process with the particle cache data sent by other computing nodes.

5. The method of claim 2, wherein, The sending of the particle cache data in the particle cache area by the particle process to the multiple region processes on the same computing node comprises: sorting, by the particle process on each computing node, the multiple region processes on the same computing node from small to large; for each computing node, performing a blocking sending process; wherein the blocking sending process comprises: determining a current receiving region process from the multiple region processes based on the sorting, and sending, by the particle process, particle solving data of the second time step to the current receiving region process; if it is detected that the current receiving region process receives the particle solving data of the second time step, repeatedly performing the blocking sending process until there is no current receiving region process.

6. The method of claim 2, wherein, Before the solving of the grid block allocated to the particle process and the solving of the grid region allocated to the region process, the method further comprises: establishing, by a target process, a communication connection channel between the region decomposition parallel solver and the particle parallel solver, the target process comprising at least one of the region process and the particle process; wherein the particle cache data and the region cache data are transmitted through the communication connection channel.

7. The method according to any one of claims 1 to 6, characterized in that, The creating of one particle process and the creating of multiple region processes based on the computing resources of the computing node comprises: performing a grid region solving time length required process, the grid region solving time length required process comprising: determining a first time length and a second time length required for solving the grid region, the first time length being a time length required for solving the grid region in a case where a first number of region processes is created based on the computing resources of the computing node, and the second time length being a second time length required for solving the grid region in a case where a second number of region processes is created based on the computing resources of the computing node, the second number being a sum of the first number and a preset number gradient; if a preset condition is not met between the second time length and the first time length, replacing the second number with the first number, and repeatedly performing the grid region solving time length required process until the preset condition is met between the second time length and the first time length, and creating one particle process and the first number of region processes on the computing node.

8. A data solving apparatus of a numerical reactor, characterized by, The apparatus comprises: The division module is configured to divide a calculation domain of the numerical reactor into a plurality of grid areas and a plurality of grid blocks. The recording module is configured to record a domain decomposition parallel solver to each of the grid areas and record a particle parallel solver to each of the grid blocks. The distribution module is configured to distribute the plurality of grid areas and the plurality of grid blocks to a plurality of computing nodes, and the plurality of computing nodes are configured to calculate and solve the particle parallel solver and the domain decomposition parallel solver. The creating module is configured to create one particle process and a plurality of domain processes for each of the computing nodes based on a calculation resource of the computing node. The solving module is configured to solve the grid blocks distributed to the particle process of the plurality of computing nodes, and solve the grid areas distributed to the domain process of the plurality of computing nodes, to obtain numerical reactor solving data.

Citation Information

Patent Citations

  • Asynchronous transportation simulation method and system for particle transportation are decomposition parallel calculation

    CN108363865A

  • Large-scale parallel grid generation method and system suitable for numerical reactor

    CN112464540A

  • Model establishment method for solving full-speed domain flow problem and related product

    CN117787147A

  • Data solving method and device of numerical reactor, equipment and medium

    CN118708331A

  • Particle simulation apparatus and computer resource allocating method

    US20170132048A1

Cited By

  • Automobile external flow field pressure distribution prediction and distributed calculation system, equipment and medium

    CN122334112A