A Neutron Transport Computation System Decoupled by Geometric Modeling and Mesh Generation
By setting a mesh generator for the underlying material Cell, the problems of low efficiency and poor compatibility in fine mesh generation in MOC programs are solved, achieving efficient and flexible mesh generation and calculation, and supporting fine mesh processing of complex geometries.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2026-02-25
- Publication Date
- 2026-06-02
Smart Images

Figure CN122133329A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of numerical calculation technology in nuclear reactor physics, and in particular to a neutron transport calculation system with geometric modeling-mesh generation decoupling. Background Technology
[0002] Numerical calculations of neutron transport in reactor physics are fundamental to nuclear reactor system analysis. They simulate the transport process of neutrons reacting with reactor materials using computers, obtaining the temporal and spatial distribution of neutron flux density, and thus determining key physical parameters such as core power distribution. The Method of Characteristics (MOC), a deterministic method for solving neutron transport, calculates neutron flux by scanning along a characteristic line. It offers advantages such as strong geometric adaptability, accurate handling of anisotropic scattering, and ease of parallel computation, making it an effective approach for achieving high-precision neutron transport calculations across the entire reactor core.
[0003] Geometric processing is the foundation for solving neutron transport problems using the characteristic line method, and mainly includes three steps: 1) Geometric modeling, accurately establishing a complex geometric structure model of the reactor core; 2) Mesh generation, dividing the geometric model (solution domain) into several flat source region (FSR) fine meshes, where the material inside each flat source region fine mesh is homogeneous and the neutron source is assumed to be constant; 3) Ray tracing, projecting characteristic rays along each set of transport directions and performing ray tracing operations on these rays, calculating the boundary intersection points of each ray with each flat source region fine mesh, thereby generating characteristic line segments containing information such as length, mesh affiliation, and material.
[0004] After geometric processing, by repeatedly scanning along the characteristic line direction and performing internal and external iterations, the fine power distribution and key physical parameters such as reactivity of the entire reactor core are finally obtained through convergence. For the neutron transport characteristic line method, one of the most important steps is the fine mesh generation. The generation, scanning, iteration, and final calculation results all depend on the fine mesh generation for both accuracy and efficiency. Therefore, establishing an efficient, fine, and flexible mesh generation method is crucial for the characteristic line method.
[0005] Constructive Solid Geometry (CSG) methods construct complex spatial models by combining simple geometries (such as cubes, cylinders, and spheres) using Boolean operations. This approach is particularly suitable for describing reactor cores with numerous repeating elements and highly standardized structures. Therefore, CSG is widely used in geometric modeling within MOC programs. Users typically construct cells within the CSG framework by defining material regions and then assemble them step-by-step into a complete core model. For fine meshing, the current mainstream method involves introducing auxiliary geometric surfaces (such as planes or curved surfaces) within the user-defined cells. This is achieved by actually cutting the cells to generate smaller cells, thus achieving fine meshing. While this method is simple and intuitive, its computational efficiency is insufficient due to the introduction of auxiliary geometric surfaces and the construction of more small cells, which also affects the flexibility of geometric modeling and fine meshing.
[0006] Existing MOC programs perform fine-grained mesh generation by further subdividing user-defined cells. This involves creating more auxiliary faces to divide the geometric regions of the cell, thus constructing smaller cells and achieving finer mesh generation. However, this method generates a large number of independent and disordered fine-mesh geometric entities through actual cutting. This not only significantly increases memory overhead but also, due to its lack of a regular organizational structure, forces the program to sequentially check the inclusion relationship between the coordinate point and the geometric region of each fine-mesh until a match is found. This method is particularly problematic when the core size is large and the mesh is fine, leading to reduced computational efficiency. Summary of the Invention
[0007] In view of this, in order to solve the problem of low computational efficiency of the fine mesh generation method used in existing nuclear reactor parameter acquisition methods, this invention proposes a neutron transport calculation system based on fine mesh generation without auxiliary surfaces, which decouples geometric modeling and mesh generation. The system includes a mesh generator and a CSG geometric modeling module, which are fully embedded into the computational framework of the feature line method neutron transport procedure, realizing a refined transport calculation process. Its working method specifically includes: First, a suitable mesher type is selected based on the geometry of the underlying material cell (e.g., hexagonal, cylindrical, etc.). The mesher's internal structure is completed by setting meshing parameters (e.g., ring width, number of angle divisions, etc.). Then, the mesher is set as an attribute of the material cell. The core representation refers to the core geometry region with multiple macroscopic cross-sections (the underlying material cells within this region carry their own unique mesher attributes). Discretization parameters determine the number of discrete feature line equations, such as the number of discrete angles. Based on the geometric information and discretization parameters, trajectories are generated across the entire geometry. This stage executes a ray tracing algorithm to calculate the intersection segments of the trajectory with the fine mesh in the flat source region. This process is accomplished by calling the mesher bound to each material cell: the mesher's built-in positioning algorithm quickly determines the fine mesh index of the ray segment endpoint; its intersection algorithm accurately calculates the intersection distance between the ray and the fine mesh. Thus, all feature line segment information is generated without pre-storing the geometric boundaries of all fine meshes. Finally, source iteration is performed until the convergence condition is met to obtain the core standard flux distribution. and eigenvalues Key physical parameters, etc.
[0008] Furthermore, the CSG geometry modeling module only completes the geometry modeling of elements such as fuel rods, cladding, and moderators, which are generally cylindrical, toroidal, spheres, hexagonal, or other geometric shapes. The feature line method requires further subdivision of these geometries into finer meshes; therefore, a mesh generator is introduced to handle this step.
[0009] In summary, CSG geometric modeling establishes the core geometry, a process that creates cells of various shapes, including squares, hexagons, cylinders, and spheres. The mesh generator then further refines these cells into finer meshes; four types of mesh generators are used for this purpose. Typically: the square mesh generator (LatSubdivider) is used to mesh square cells; the hexagonal mesh generator (HexSubdivider) is used to mesh hexagonal cells; the cylindrical mesh generator (ZCylinderSubdivider) is used to mesh cylindrical cells; and the spherical mesh generator (SphereSubdivider) is used to mesh spherical cells.
[0010] Based on the above scheme, this invention provides a neutron transport computation system with decoupled geometry modeling and mesh generation. The proposed fine mesh generation method can efficiently and flexibly complete the fine mesh generation of the computational domain in MOC programs. On the one hand, this invention does not require the construction of any auxiliary geometric entities for mesh generation; it only stores lightweight meshing parameters and arrays in the underlying cells. This greatly reduces the amount of geometric information stored and alleviates memory overhead issues. On the other hand, this invention sets the mesher as a general property of the cells, allowing any shape of underlying cell to be combined with any type of mesher, resulting in high flexibility in geometric processing. Given these characteristics, this invention effectively improves the geometric adaptability and computational efficiency of feature-line method mesh generation while maintaining consistency between feature-line and Monte Carlo (CSG) geometric modeling, thus enabling deterministic-Monte Carlo hybrid computation. Attached Figure Description
[0011] Figure 1 This is a flowchart of the steps of the method applied in the neutron transport calculation system with geometric modeling-mesh generation decoupling of the present invention; Figure 2 This is a schematic diagram of ray tracing using the Subdivider mesh divider; Figure 3 This is a flowchart of MOC transport calculation based on a mesh divider; Figure 4 This is a schematic diagram of the grid division effect of the basic grid divider; Figure 5 This is a schematic diagram of the grid parameter settings for the square divider; Figure 6 This is a schematic diagram of the square divider grid numbering calculation; Figure 7 This is a schematic diagram of the radial numbering of the square divider grid; Figure 8 This is a schematic diagram illustrating the minimum distance calculation for a square divider; Figure 9 This is a schematic diagram of the hexagonal grid divider mesh parameter settings; Figure 10 This is a schematic diagram of the hexagonal divider for calculating the numbering of the rhombus region; Figure 11 This is a schematic diagram of the calculation of the inner layer rhombus block number of the hexagonal divider; Figure 12 This is a schematic diagram of the triangular grid numbering of the hexagonal divider; Figure 13 This is a schematic diagram of triangular mesh division within a hexagonal divider; Figure 14 This is a schematic diagram of the radial numbering of the triangular mesh within the hexagonal divider; Figure 15This is a schematic diagram of the fine mesh boundary of the hexagonal divider; Figure 16 This is a schematic diagram illustrating the calculation of the minimum radial distance of a hexagonal divider; Figure 17 This is a schematic diagram of the mesh parameter settings for a cylindrical divider; Figure 18 This is a schematic diagram of the grid numbering calculation for a cylindrical grid divider; Figure 19 This is a schematic diagram of the radial grid numbering for a cylindrical divider; Figure 20 This is a schematic diagram of the fine mesh boundary of a cylindrical divider; Figure 21 This is a schematic diagram showing various cases where the ray of a cylindrical divider intersects with a circle; Figure 22 This is a schematic diagram showing the intersection of the ray of the cylindrical divider and the straight line passing through the center; Figure 23 This is a schematic diagram of the mesh parameter settings for the spherical divider; Figure 24 This is a schematic diagram of the mesh numbering calculation for a spherical divider; Figure 25 This is a schematic diagram of the radial numbering of the spherical divider grid; Figure 26 This is a schematic diagram of the fine mesh boundary of the spherical divider; Figure 27 This is a schematic diagram illustrating various scenarios where the ray intersects with the sphere in a spherical divider. Figure 28 This is a schematic diagram showing the intersection of the ray from the spherical divider and the straight line passing through the centroid. Detailed Implementation
[0012] Besides the technical issues mentioned in the background, existing MOC programs' fine mesh generation involves further subdividing user-defined cells, i.e., actually creating more auxiliary geometric regions facing the cell to divide it, thereby constructing smaller cells and achieving fine mesh generation. This method also has the following drawbacks: Existing methods generate a large number of independent and disordered fine mesh geometric entities through actual cutting. This not only significantly increases memory overhead but also, due to the lack of a regular organizational structure, requires the program to sequentially check the inclusion relationship between the coordinate point and the geometric region of each fine mesh until a match is found. This problem is particularly prominent when the reactor core is large and the mesh is fine, leading to reduced computational efficiency. Existing methods can only perform fine mesh generation on regular geometries such as rods and plates, making it difficult to handle irregular and complex geometric structures, such as the matrix material of randomly dispersed fuel spheres, resulting in insufficient mesh generation flexibility. Under existing fine mesh generation methods, the lowest-level material type cells of CSG geometric modeling need to be further subdivided, leading to poor compatibility with Monte Carlo methods that also use CSG geometric modeling, thus restricting the development of deterministic-Monte Carlo hybrid computation.
[0013] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0014] It should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0015] It should be understood that the terms "system," "apparatus," "unit," and / or "module" used in this application are a method of distinguishing different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0016] As indicated in this application and claims, unless the context clearly indicates otherwise, the words "a," "an," "a," and / or "the" are not specifically singular and may include the plural. Generally, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements. An element defined by the phrase "comprising an..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes the element.
[0017] In the description of the embodiments of this application, "a plurality of" refers to two or more. The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
[0018] Furthermore, flowcharts are used in this application to illustrate the operations performed by the system according to embodiments of this application. It should be understood that the preceding or following operations are not necessarily performed precisely in sequence. Instead, the steps can be processed in reverse order or simultaneously. Additionally, other operations can be added to these processes, or one or more steps can be removed from them.
[0019] Reference Figure 1 This is a flowchart illustrating an optional example of the method applied to a geometric modeling-mesh decoupling neutron transport computing system proposed in this invention. This method can be applied to computer devices and may include, but is not limited to, the following steps: Step S1: Construct a mesh generator based on the target cell; Step S2: Model based on the mesh generator; Step S3 calls the mesh generator to perform ray tracing, determines the fine mesh index where the ray segment endpoint is located based on the ray endpoint positioning method, calculates the intersection distance between the ray and the fine mesh based on the ray intersection method, and generates the ray segment; Step S4: Perform source iteration until the convergence condition is met to obtain the nuclear reactor parameters.
[0020] The mesh generator used in this invention does not pre-generate and store all fine mesh entities. Instead, based on the mesh generator's internal partitioning rules and algorithms, it calculates the minimum intersection distance between rays and the current mesh in real time and locally in memory to assist in the ray tracing process. Without introducing solid faces and incurring memory overhead, it achieves the equivalent partitioning effect of traditionally using solid faces to cut cells. For example, in... Figure 2 (a) shows the bottom layer material Cell geometric region, through which a line with an angle of... rays When the ray originates When the current Cell has a Subdivider property, call Figure 2 (b) shows the minimum distance calculation function inside the mesh generator, which calculates the distance from the current point. Start, along the ray direction Minimum distance to the fine mesh boundary This distance calculation takes into account the fine mesh structure of the cell under the current partitioning rules. Get to the new location by this distance. The minimum distance calculation function is called again to obtain the next position until the ray leaves the current cell region, finally completing the ray casting. Ray tracing is used to generate corresponding feature lines.
[0021] Furthermore, during ray tracing, it is necessary to determine the fine mesh at the endpoint of the ray segment, and transport calculations also require the use of FSR fine mesh numbers to obtain parameters such as material type. Therefore, this invention sets up an FSR fine mesh numbering mechanism within the mesh generator, and uses a specific algorithm to calculate the FSR fine mesh to which any point belongs and its number based on the coordinates of any point in space (the coordinates of the endpoint of the feature line segment or an FSR feature point).
[0022] In summary, the mesh generation method of this invention achieves the following by fully embedding the mesh generator and CSG geometric modeling module into the computational framework of the subtransport procedure in the feature line method: Figure 3 The detailed transport calculation process is shown below. First, based on the geometry of the underlying material cell (e.g., hexagonal, cylindrical, etc.), a suitable mesher type is selected. The internal structure of the mesher is completed by setting meshing parameters (e.g., ring width, number of angle divisions, etc.). Then, the mesher is set as an attribute of the material cell. The core representation refers to the core geometry region with multiple macroscopic cross-sections added (the underlying material cells within this region carry their own unique mesher attributes). Discretization parameters determine the number of discrete feature line equations, such as the number of discrete angles. Based on the geometric information and discretization parameters, trajectories are generated across the entire geometry. This stage executes a ray tracing algorithm to calculate the intersection segments of the trajectory with the fine mesh in the flat source region. This process is accomplished by calling the mesher bound to each material cell: the mesher's built-in positioning algorithm quickly determines the fine mesh index of the ray segment endpoint; its intersection algorithm accurately calculates the intersection distance between the ray and the fine mesh. Thus, all feature line segment information is generated without pre-storing the geometric boundaries of all fine meshes. Finally, source iteration is performed until the convergence condition is met to obtain the core standard flux distribution. and eigenvalues Key physical parameters, etc.
[0023] The divider provided by this invention has strong geometric adaptability and can, in principle, be extended to cells of arbitrary shapes. In this embodiment, as shown below... Figure 4 Four basic classifiers.
[0024] Square dividers along mutually perpendicular lines , and Along the axial direction, it performs uniform or non-uniform meshing according to specified mesh parameters, making it particularly suitable for fine description of rectangular or rectangular hexahedral regions. The hexagonal mesher uses triangular meshes to tile hexagons, and these triangles can be seamlessly combined to form complete regular hexagons along the axial direction. It can be further layered; this divider is key to accurately describing the hexagonal fuel assembly. The cylindrical divider is in cylindrical coordinates. Divide into sections along the radial direction. Divide into concentric rings, along the azimuth angle Divide the sector along the axis Layering is particularly suitable for the fine description of columnar structures such as fuel rods and control rods. The spherical divider operates in spherical coordinates. Divide into sections along the radial direction. Divide the concentric spherical shell along the azimuth angle and axial It subdivides the sphere, forming a grid-like division similar to latitude and longitude lines; suitable for fine description of spherical fuel elements or particles.
[0025] The following section introduces the specific implementation methods of several types of partitioners.
[0026] Square divider: Square divider parameter settings and preprocessing: Mesh parameters include , , An array of fine grid widths in the direction. Figure 5 Taking the division rule shown as an example, The width array of the direction is , The width array of the direction is , The width array of the direction is The width value determines whether the division effect is uniform or non-uniform.
[0027] After setting the parameters, the divider performs preprocessing to generate a cumulative width array for each direction. This array forms the basis for subsequent fine mesh numbering and minimum distance calculations. Figure 5 For example, The cumulative width array of directions is , The cumulative width array of directions is , The cumulative width array of directions is The cumulative width array essentially defines the spatial location of all grid boundaries. Its advantage lies in the fact that, given a coordinate value, an efficient binary search algorithm can be used to find the location of all grid boundaries. Determine the fine grid where the coordinate is located within the time complexity.
[0028] Ray endpoint positioning method in a square divider: like Figure 6 As shown, for a certain ray endpoint within the Cell Using coordinate values respectively , , For the cumulative width array , , Perform a binary search to obtain integer indices in three directions: (satisfy ), (satisfy ), (satisfy ).
[0029] Finally, point The fine mesh number id is calculated according to formula (1) to complete the ray endpoint positioning process.
[0030] (1) in, , , They are respectively , , The number of fine grids in the direction.
[0031] by Figure 5 For example, its grid (radial) numbering format is as follows: Figure 7 As shown.
[0032] Ray intersection method in square divider: like Figure 8 As shown, based on the current point Boundary of the grid , , Calculation points Along direction vector The minimum distance to the three faces of the fine mesh is obtained by comparing the distances and is taken as the minimum intersection distance between the ray segment and the fine mesh.
[0033] From point Starting from, along the direction vector of the ray Calculate the distances to the three faces of the grid, and finally return the minimum positive distance. Distance in each direction. The calculation is shown in equation (2): (2) in: Calculate in three directions The minimum value is then obtained by comparison, which is the shortest distance between the ray segment and the grid, thus completing the ray intersection process.
[0034] Hexagonal divider: Hexagonal divider parameter settings and preprocessing: The hexagonal grid divider mesh parameters include the hexagonal (paved with a triangular mesh array) orientation (“ (or "y"), the side length of the triangle and An array of fine grid widths in a given direction. For example, Figure 9 (a) Using a side length of X-shaped hexagonal grid division, Figure 9 (b) Using a side length of Y-shaped hexagonal grid division, The width array of the direction is The width value determines whether the division effect is uniform or non-uniform.
[0035] After setting the parameters, the divider performs preprocessing to generate a cumulative width array for each direction. For a hexagonal divider, the preprocessing only generates... A cumulative width array in each direction. Radial coordinate transformation is used to calculate fine mesh numbering and minimum distance. Figure 9 (c) is an example. The cumulative width array of directions is The cumulative width array essentially defines the spatial location of all grid boundaries. Its advantage lies in the fact that, given a coordinate value, an efficient binary search algorithm can be used to find the location of all grid boundaries. Determine the fine grid where the coordinate is located within the time complexity.
[0036] Ray endpoint positioning method in a hexagonal divider: For a certain ray endpoint within the Cell The fine mesh positioning calculation of the hexagonal divider consists of three steps: 1) numbering the rhombus region where the calculation point is located; 2) numbering the inner rhombus block where the calculation point is located; 3) numbering the triangular mesh where the calculation point is located.
[0037] Step 1): Calculate the number of the rhombus region where the point is located: When calculating the numbering of the rhombus region, if using Divide into hexagonal shapes (e.g.) Figure 10 (a) then use coordinate values. , calculate With a straight line The included angle ,according to The interval to which it belongs is determined. diamond-shaped region index value If adopted Divide into hexagonal shapes (e.g.) Figure 10 (b) then use coordinate values. , calculate With a straight line The included angle ,according to The interval to which it belongs is determined. diamond-shaped region index value .
[0038] Step 2): Calculate the inner diamond-shaped block number where the calculation point is located: When calculating the inner diamond-shaped block number, such as Figure 11 As shown, the point is uniformly deflected to For the rhomboid region, establish corresponding [structures] based on the different triangular mesh arrays. Coordinate system. Calculated according to equations (3) and (4). Coordinate value, used as the number of the inner diamond-shaped block.
[0039] for A hexagonal triangular grid array, Calculate using the following formula: in: and coordinate values , Deflect to The coordinates within the rhombus-shaped region; Let be the side length of the triangular grid.
[0040] Step 3): Calculate the triangular grid number where the point is located. because Coordinate system established at The rhomboid region is also included when calculating the triangular mesh number. It is carried out within the diamond-shaped area. For example... Figure 12 As shown in (a), for A triangular grid array within a hexagonal shape is used to divide the rhombus-shaped block vertically, forming two triangular grids; for example... Figure 12 As shown in (b), for The triangular grid array within the hexagonal shape splits the rhombus-shaped block into two triangular grids, one horizontally and one vertically. Only the following calculations are performed here. Triangular grid number within the rhombus area The index values of the rhombus-shaped region calculated in the first two steps are then used subsequently. and The coordinate values are used to statistically determine the overall triangular grid number.
[0041] like Figure 13 As shown in (a), for A triangular mesh array is used to calculate the left vertex of the rhombus-shaped block containing the current point. coordinate, ,if If it belongs to the lower half of the triangle; for example Figure 13 As shown in (b), for Using a triangular mesh array, calculate the lower vertex of the rhombus-shaped block within which the current point is located. coordinate, ,if If so, it belongs to the right half of the triangle.
[0042] right Type or A triangular grid array; if the current point is located in the lower or right half of a diamond-shaped area, Calculate using the following formula: right Type or A triangular grid array; if the current point is located in the upper or left half of a diamond-shaped area, Calculate using the following formula: in, ;for Direction, using coordinate values For the cumulative width array Perform a binary search and get (satisfy ).
[0043] Finally, point The fine mesh number id of the triangle is calculated according to the following formula to complete the ray endpoint positioning process.
[0044] by Figure 9 (a) For example, its grid (radial) numbering format is as follows: Figure 14 As shown in (a), Figure 9 (b) For example, its grid (radial) numbering format is as follows: Figure 14 As shown in (b).
[0045] Ray intersection method in hexagonal dividers: like Figure 15 As shown, based on the current point Axial boundary of the mesh ,calculate Axial direction vector The minimum intersection distance to the axial fine mesh. On the radial triangular mesh, calculate the points within the fine mesh respectively. Radial direction vector The distances to the three edges are compared to obtain the minimum intersection distance of the radial fine mesh. Finally, the minimum value is compared to obtain the minimum intersection distance between the ray segment and the fine mesh.
[0046] like Figure 16 As shown, with points to the edge Taking the calculation of intersection distance as an example, according to vector operations, we have: Cross product vectors on both sides of the above equation , get some points to the edge Intersection distance for: The method for calculating distance in a direction is the same as that used in the square divider, and the distance calculation is shown in the following formula: After calculation, the minimum value is obtained by comparison, which is the shortest distance between the ray segment and the grid, thus completing the ray intersection process.
[0047] Cylindrical divider: Divider parameter settings and preprocessing: Mesh parameters include , , An array of fine grid widths in the direction. The direction can be determined based on the inner diameter of the current area. and outer diameter and the number of circles The radius of each ring is determined by dividing the area into equal parts. Direction from The sector division begins at point 1, with the angle of each sector determined by... The width array for the direction is determined. Generally, the sector angles are divided into equal parts, with each sector angle being [value missing]. , for The number of sectors divided in the direction. Figure 17 Taking the division shown as an example, The width array of the direction is , The width array of the direction is , The width array of the direction is The width value determines whether the division effect is uniform or non-uniform.
[0048] After setting the parameters, the divider performs preprocessing to generate a cumulative width array for each direction. This array forms the basis for subsequent fine mesh numbering and minimum distance calculations. Because... The width array for each direction represents the radius value for each revolution, which is equivalent to the cumulative width array and requires no preprocessing. Direction. With Figure 17 For example, The cumulative width array of directions is , The cumulative width array of directions is , The cumulative width array of directions is The cumulative width array essentially defines the spatial location of all grid boundaries. Its advantage lies in the fact that, given a coordinate value, an efficient binary search algorithm can be used to find the location of all grid boundaries. Determine the fine grid position of the coordinate within the time complexity.
[0049] Ray endpoint positioning method in cylindrical dividers: like Figure 18 As shown, for a certain ray endpoint within the Cell Using coordinate values respectively , Calculation points Distance in the radial direction to the center of the local coordinate system and points Relative in the radial direction The included angle For the cumulative width array , , Perform a binary search to obtain integer indices in three directions: (satisfy ), (satisfy ), (satisfy ).
[0050] Finally, point The fine mesh number id is calculated using the following formula to complete the ray endpoint positioning process.
[0051] in, , , They are respectively Number of circles in the direction Number of sectors in the direction The number of fine grids in the direction.
[0052] by Figure 17 For example, its grid (radial) numbering format is as follows: Figure 19 As shown; Ray intersection method in cylindrical dividers: like Figure 20 As shown, based on the current point Radial boundary of the grid , and axial boundary Calculate the points respectively Radial direction vector Minimum intersection distance and point to radial fine grid Axial direction vector The minimum intersection distance between the axial fine mesh and the minimum value is obtained by comparison and taken as the minimum intersection distance between the ray segment and the fine mesh.
[0053] The calculation of the minimum intersection distance between the ray and the radial fine mesh is summarized as follows: 1) Calculate the intersection distance between the ray and the two circles, with radii respectively... and 2) Calculate the intersection distances between the ray and the two lines, with inclination angles of ; and Finally, the minimum value of the four calculations is taken as the final value. Radial direction vector Minimum intersection distance to the radial fine mesh.
[0054] The following equation represents the intersection of a ray and a circle: in, and As the starting point of the ray and coordinate; The distance between the ray and the circle; and The ray direction vector and Components in direction; Let be the radius of the circle.
[0055] Simplifying the above equation, we get: The above formula relates to the intersection distance. A linear equation in two variables, according to the discriminant Positive and negative can be categorized into the following three cases: 1. The ray does not intersect the circle.
[0056] 2. ,but .
[0057] if ,Right now At this point On the circle, there is... Therefore, the ray origin On a circle, the direction is the tangent direction, and the ray does not intersect the circle, such as... Figure 21 As shown in (a).
[0058] if ,point Outside the circle. If The ray then points away from the circle, and the ray does not intersect the circle, such as... Figure 21 As shown in (b); if The ray then points in the direction closer to the circle, and the intersection point is the point of tangency. ,like Figure 21 As shown in (c).
[0059] 3. ,but .
[0060] if ,point Outside the circle. If The ray then points away from the circle, and the ray does not intersect the circle, such as... Figure 21 As shown in (d); if If the ray direction is closer to the circle, then the smaller solution is taken as the intersection distance. ,like Figure 21 As shown in (e).
[0061] if At this point On the circle. If The ray then points away from the circle, and the ray does not intersect the circle, such as... Figure 21 As shown in (f); if Then the ray's direction is towards the circle, and the ray intersects the circle. ,like Figure 21 As shown in (g).
[0062] if At this point Inside the circle. We take the solution with a positive (larger) value as the intersection distance; at this point... ,like Figure 21 As shown in (h).
[0063] right Figure 22 In the case shown, the following equation represents the intersection of the ray and the line passing through the origin: in: and As the starting point of the ray and coordinate; The distance between the ray and the line is the intersection distance. and The ray direction vector and Components in direction; The angle of inclination of the line.
[0064] Simplifying the above equation, we get: The method for calculating distances along a direction is the same as that used in the square divider: Calculate in three directions The minimum value is then obtained by comparison, which is the shortest distance between the ray segment and the grid, thus completing the ray intersection process.
[0065] Spherical divider: Spherical divider parameter settings and preprocessing: Mesh parameters include , , Array of fine grid widths in the direction, The direction can be determined based on the inner diameter of the sphere in the current region. outer diameter of the sphere and the number of circles The radius of each spherical shell is determined by calculating the equal volume division. Direction from The sector division begins at point 1, with the angle of each sector determined by... The width array for the direction is determined. Generally, the sector angles are divided into equal parts, with each sector angle being [value missing]. , for The number of sectors divided in the direction. Figure 23 Taking the division rule shown as an example, The width array of the direction is , The width array of the direction is , The width array of the direction is The width value determines whether the division effect is uniform or non-uniform.
[0066] After setting the parameters, the divider performs preprocessing to generate a cumulative width array for each direction. This array forms the basis for subsequent fine mesh numbering and minimum distance calculations. Because... The width array for each direction represents the radius value for each revolution, which is equivalent to the cumulative width array and requires no preprocessing. Direction. With Figure 23 For example, The cumulative width array of directions is , The cumulative width array of directions is , The cumulative width array of directions is The cumulative width array essentially defines the spatial location of all grid boundaries. Its advantage lies in the fact that, given a coordinate value, an efficient binary search algorithm can be used to find the location of all grid boundaries. Determine the fine grid where the coordinate is located within the time complexity.
[0067] Ray endpoint positioning method in a spherical divider: like Figure 24 As shown, for a certain ray endpoint within the Cell Using coordinate values , , Calculation points Distance in the radial direction to the center of the local coordinate system Using coordinate values , Calculation points Relative in the radial direction The included angle For the cumulative width array , , Perform a binary search to obtain integer indices in three directions: (satisfy ), (satisfy ), (satisfy ).
[0068] Finally, point The fine mesh number id is calculated using the following formula to complete the ray endpoint positioning process.
[0069] in, , , They are respectively Number of spheres in the direction, Number of sectors in the direction The number of fine grids in the direction.
[0070] by Figure 23 For example, its grid (radial) numbering format is as follows: Figure 25 As shown; Ray intersection method in spherical dividers: like Figure 26 As shown, based on the current point Radial boundary of the grid , and axial boundary Calculate the points separately. Radial direction vector Minimum intersection distance and point to radial fine grid Axial direction vector The minimum intersection distance between the axial fine mesh and the minimum value is obtained by comparison and taken as the minimum intersection distance between the ray segment and the fine mesh.
[0071] The calculation of the minimum intersection distance between the ray and the radial fine mesh is summarized as follows: 1) Calculate the intersection distance between the ray and the two spheres, with radii respectively... and 2) Calculate the intersection distances between the ray and the two lines, with inclination angles of ; and Finally, the minimum value of the four calculations is taken as the final value. Radial direction vector Minimum intersection distance to the radial fine mesh.
[0072] The following equation represents the intersection of a ray and a circle: in: , and As the starting point of the ray , and coordinate; The distance between the ray and the sphere; , and The ray direction vector , and Components in direction; Let be the radius of the sphere.
[0073] Simplifying the above equation, we get: The above formula relates to the intersection distance. The two linear equations in two variables, similar to the cylindrical divider, are also based on the discriminant. Positive and negative can be categorized into the following three cases: 1. The rays do not intersect the sphere.
[0074] 2. ,but .
[0075] if ,Right now At this point On the ball, there are Therefore, the ray origin On the sphere, the direction is tangential, and the ray does not intersect the sphere, such as... Figure 27 As shown in (a).
[0076] if ,point Outside the ball. If The ray then points away from the sphere, and the ray does not intersect the sphere, such as... Figure 27 As shown in (b); if The ray then points towards the sphere, and the intersection point is the point of tangency. ,like Figure 27 As shown in (c).
[0077] 3. ,but .
[0078] if ,point Outside the ball. If The ray then points away from the sphere, and the ray does not intersect the sphere, such as... Figure 27 As shown in (d); if If the ray direction is towards the sphere, then the smaller solution is taken as the intersection distance. ,like Figure 27 As shown in (e).
[0079] if At this point On the ball. If The ray then points away from the sphere, and the ray does not intersect the sphere, such as... Figure 27 As shown in (f); if The ray then points towards the sphere, intersecting with it. ,like Figure 27 As shown in (g).
[0080] if At this point Inside the sphere. We take the solution with a positive (larger) value as the intersection distance; at this point... ,like Figure 27 As shown in (h).
[0081] right Figure 28 In the case shown, the following equation represents the intersection of the ray and the line passing through the origin: in: and As the starting point of the ray and coordinate; The distance between the ray and the line is the intersection distance. and The ray direction vector and Components in direction; The angle of inclination of the line.
[0082] Simplifying the above equation, we get: The method for calculating the distance in the direction is the same as that used in the square divider, and the distance calculation is shown in equation (22): Calculate in three directions The minimum value is then obtained by comparison, which is the shortest distance between the ray segment and the grid, thus completing the ray intersection process.
[0083] Based on the above overall process, this invention, in the field of numerical analysis of nuclear reactor physics, sets a subdivider attribute for the lowest-level material type Cell in the CSG geometric model. This subdivider internally stores meshing parameters, which are invoked during ray tracing to determine the position and shortest travel distance of ray segments within the fine mesh of the Cell, without pre-cutting the Cell. This invention aligns with the multi-level geometric structure of CSG modeling and conforms to the ray tracing calculation mode common to the feature line method, achieving fine meshing specifically for neutron transport calculations. By abstracting a unified mesh subdivider interface, it ensures high code versatility and extensibility, supporting different high-fidelity neutron transport calculation programs and providing a framework for future integration of new geometric types and subdivider algorithms.
[0084] The above is a detailed description of the preferred embodiments of the present invention. However, the present invention is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.
Claims
1. A neutron transport computation system with geometric modeling-mesh generation decoupling, characterized in that, Including a mesh generator and a CSG geometry modeling module, this neutron transport computation system performs the following steps: Construct a mesh generator based on the target cell; Modeling is performed based on the aforementioned mesh divider; The mesh generator is invoked to perform ray tracing, the fine mesh index of the ray segment endpoint is determined based on the ray endpoint positioning method, the intersection distance between the ray and the fine mesh is calculated based on the ray intersection method, and the ray segment is generated. Integrate over the ray segment and iteratively calculate the scalar flux for each grid until the convergence condition is met to obtain the nuclear reactor parameters.
2. A neutron transport computation system with geometric modeling-mesh generation decoupling, characterized in that, The step of constructing a mesh generator based on the target cell specifically includes: Select the mesh generator based on the geometry of the underlying material cell; Based on the grid divider, the division parameters are set and a width array is generated; The grid divider includes square dividers, hexagonal dividers, cylindrical dividers, and spherical dividers.
3. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 2, characterized in that, For a square divider, the method for locating its ray endpoints includes the following steps: Based on the width array, perform a binary search on a certain ray endpoint within the Cell to obtain the integer index in the corresponding direction; The ray endpoint location is completed by calculating the corresponding fine grid number using the following formula: Where id represents the fine grid number, , , They are respectively , , The number of fine grids in the direction, , , Represents the integer index in the corresponding direction.
4. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 3, characterized in that, For a square divider, the ray intersection method includes the following steps: Based on the boundary of the grid to which the current point belongs, calculate the distance from the point to the three faces of the grid along the direction vector, and compare them to find the minimum value; This minimum value is taken as the minimum intersection distance between the ray segment and the fine mesh.
5. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 2, characterized in that, For a hexagonal divider, the method for locating its ray endpoints includes the following steps: Based on the selected division method, calculate the corresponding included angle and its interval to obtain the rhombus region number where the ray endpoint is located; Rotate the coordinate point to the pre-selected rhombus region and calculate the inner rhombus block number where the point is located; Based on the rhombus-shaped region, the rhombus-shaped block is divided into triangular grids, and the grid number of the point is calculated. Based on the width array, perform a binary search and generate an integer index in the z-direction; The ray endpoint is located by calculating the corresponding fine grid number using the following formula: in, Indicates the number of the rhombus-shaped region; Indicates in number The triangular grid numbers within the rhomboid region; express The number of fine grids in a given direction; express Integer index in the direction.
6. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 5, characterized in that, For a hexagonal divider, the ray intersection method includes the following steps: Calculate based on the axial boundary of the grid to which the current point belongs. The minimum intersection distance of the axial fine grid is obtained by finding the minimum intersection distance of the axial direction vector to the axial fine grid. Calculate the points inside the radial triangular mesh. The minimum intersection distance of the radial fine mesh is obtained by comparing the distances from the radial direction vector to the three sides. The minimum intersection distance of the axial fine mesh is compared with the minimum intersection distance of the radial fine mesh, and the minimum value is taken as the minimum intersection distance between the ray segment and the fine mesh.
7. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 2, characterized in that, For a cylindrical divider, the method for locating its ray endpoints includes the following steps: For a given ray endpoint within a cell, calculate the radial distance from that endpoint to the center of the local coordinate system and the radial distance relative to the endpoint. The included angle; Based on the width array, perform a binary search to obtain integer indices in three directions; The ray endpoint is located by calculating the corresponding fine grid number using the following formula: in, Integer index representing the corresponding direction. express The number of circles in the direction division, express The number of sectors divided by direction.
8. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 7, characterized in that, For a cylindrical divider, the ray intersection method includes the following steps: Calculate the point based on the radial and axial boundaries of the grid to which the current point belongs. Minimum intersection distance and point of radial direction vector to radial fine grid The minimum intersection distance between the axial direction vector and the axial fine mesh is taken as the minimum intersection distance between the ray segment and the fine mesh.
9. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 2, characterized in that, For a spherical divider, the method for locating its ray endpoints includes the following steps: For a given ray endpoint within a cell, calculate the radial distance from that endpoint to the center of the local coordinate system and the radial distance relative to the endpoint. The included angle; Based on the width array, perform a binary search to obtain integer indices in three directions; The ray endpoint is located by calculating the corresponding fine grid number using the following formula: in, Integer index representing the corresponding direction. express The number of circles in the direction division, express The number of sectors divided by direction.
10. The neutron transport computation system with geometric modeling-mesh generation decoupling according to claim 9, characterized in that, For a spherical divider, the ray intersection method includes the following steps: Calculate the point based on the radial and axial boundaries of the grid to which the current point belongs. Minimum intersection distance and point of radial direction vector to radial fine grid The minimum intersection distance between the axial direction vector and the axial fine mesh is taken as the minimum intersection distance between the ray segment and the fine mesh.