DEPTH PEELING BASED NUCLEAR RADIATION SHIELD CALCULATION GRID GENERATION METHOD AND SYSTEM

20180018407 ยท 2018-01-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A depth peeling based nuclear radiation shield computational mesh generation method and a depth peeling based nuclear radiation shield computational mesh generation system are provided. The method includes: generating an outline pixel matrix of geometries with the depth peeling technique, performing conversion in an image space to obtain outline meshes of the geometries; then obtaining internal meshes of the geometries based on the outline meshes by a scanning line method, so as to fast generate the nuclear radiation shield computational meshes.

Claims

1. A depth peeling based nuclear radiation shield computational mesh generation method, comprising: reading a CAD geometric model generated by computer-aided software; parsing the CAD geometric model to obtain geometries; and generating discrete ordinate method-based particle transport computational meshes of the geometries, to generate nuclear radiation shield computational meshes, wherein a generation process of the discrete ordinate method-based particle transport computational meshes for at least one of the geometries comprises: calculating an axial bounding box Box of the geometry; generating a two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry downwards from an upper boundary surface of the axial bounding box Box using a depth peeling technique; and generating a two-dimensional negative outline pixel matrix GeoFragNeg(x,y) of the geometry upwards from a lower boundary surface of the axial bounding box Box using the depth peeling technique, wherein the two-dimensional positive outline pixel matrix GeoFragPos(x,y) records positive z-axis coordinate values zPos3D of outline pixels of the geometry in a three-dimensional coordinate system, and the two-dimensional negative outline pixel matrix GeoFragNeg(x,y) records negative z-axis coordinate values zNeg3D of outline pixels of the geometry in the three-dimensional coordinate system; determining, based on a mesh division Mesh3D and the positive z-axis coordinate values zPos3D, a positive z-axis mesh index value ZPos of a positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry in a positive axial direction, and determining, based on the mesh division Mesh3D and the negative z-axis coordinate values zNeg3D, a negative z-axis mesh index value ZNeg of a negative outline boundary mesh BoundaryMeshNeg(x,y) of the geometry in a negative axial direction; and acquiring internal meshes of the geometry based on a three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box, the positive z-axis mesh index value ZPos, and the negative z-axis mesh index value ZNeg, by using a scan line method, wherein x{1, 2, . . . , X}, y{1, 2, . . . , Y}, z{1, 2, . . . , Z}; X is the number of meshes in a space occupied by the axial bounding box Box in an x-axis direction, Y is the number of meshes in a space occupied by the axial bounding box Box in a y-axis direction, and Z is the number of meshes in a space occupied by the axial bounding box Box in a z-axis direction.

2. The method according to claim 1, wherein the acquiring the internal meshes of the geometry based on the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box, the positive z-axis mesh index value ZPos, and the negative z-axis mesh index value ZNeg, using the scan line method comprises: step A: initializing flag values in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box, to 0; step B: setting a value of x as x=1; step C: setting a value of y as y=1; step D: searching for the positive z-axis mesh index value ZPos of the positive outline boundary mesh BoundaryMeshPos(x,y) and the negative z-axis mesh index value ZNeg of the negative outline boundary mesh BoundaryMeshNeg(x,y) corresponding to the set value of x and the set value of y; step E: judging whether ZPos is less than ZNeg, turning to step G in a case that ZPos is less than ZNeg, and turning to step F in a case that ZPos is not less than ZNeg; step F: modifying flag values of meshes in the section from ZNeg to ZPos in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box to 1; step G: incrementing y by 1; step H: judging whether y is greater than Y, turning to step I in a case that y is greater than Y, and returning to step D in a case that y is not greater than Y; step I: incrementing x by 1; step J: judging whether x is greater than X, turning to step K in a case that x is greater than X, and returning to step C in a case that x is not greater than X; and step K: determining meshes with flag values being 1 in MeshFlag(x, y, z) as computational meshes for the geometry.

3. The method according to claim 1, wherein the discrete ordinate method-based particle transport computational meshes for each of the geometries are generated with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries.

4. The method according to claim 3, wherein the generating the discrete ordinate method-based particle transport computational meshes of the geometries, to generate the nuclear radiation shield computational meshes comprises: counting the number N of the obtained geometries, wherein N is a positive integer, and the obtained geometries are denoted as geometry i, wherein i{1, 2, . . . , N}; generating discrete ordinate method-based particle transport computational meshes for the geometry i with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries, wherein an initial value of i is 1; incrementing i by 1; and judging whether i is greater than N, ending calculation in a case that i is greater than N, and returning to the step of generating the discrete ordinate method-based particle transport computational meshes for the geometry i with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries in a case that i is not greater than N.

5. A depth peeling based nuclear radiation shield computational mesh generation system, comprising: a reading unit configured to read a CAD geometric model generated by computer-aided software; a parsing unit configured to parse the CAD geometric model to obtain geometries; and a generation unit configured to generate discrete ordinate method-based particle transport computational meshes of the geometries, to generate nuclear radiation shield computational meshes; wherein the generation unit comprises a generation subunit which comprises: a first calculation subunit configured to calculate an axial bounding box Box of the geometry; a two-dimensional outline pixel matrix generation subunit configured to generate a two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry downwards from an upper boundary surface of the axial bounding box Box using a depth peeling technique; and generate a two-dimensional negative outline pixel matrix GeoFragNeg(x,y) of the geometry upwards from a lower boundary surface of the axial bounding box Box using the depth peeling technique, wherein the two-dimensional positive outline pixel matrix GeoFragPos(x,y) records positive z-axis coordinate values zPos3D of outline pixels of the geometry in a three-dimensional coordinate system, and the two-dimensional negative outline pixel matrix GeoFragNeg(x,y) records negative z-axis coordinate values zNeg3D of outline pixels of the geometry in the three-dimensional coordinate system; a first determination subunit configured to determine, based on a mesh division Mesh3D and the positive z-axis coordinate values zPos3D, a positive z-axis mesh index value ZPos of a positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry in a positive axial direction, and determine, based on the mesh division Mesh3D and the negative z-axis coordinate values zNeg3D, a negative z-axis mesh index value ZNeg of a negative outline boundary mesh BoundaryMeshNeg(x,y) of the geometry in a negative axial direction; and a first calculation subunit configured to acquire internal meshes of the geometry based on a three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box, the positive z-axis mesh index value ZPos, and the negative z-axis mesh index value ZNeg, by using a scan line method, wherein x{1, 2, . . . , X}, y{1, 2, . . . , Y}, z{1, 2, . . . , Z}; X is the number of meshes in a space occupied by the axial bounding box Box in an x-axis direction, Y is the number of meshes in a space occupied by the axial bounding box Box in a y-axis direction, and Z is the number of meshes in a space occupied by the axial bounding box Box in a z-axis direction.

6. The system according to claim 5, wherein the first calculation subunit comprises: an initialization subunit configured to initialize flags in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box, to 0; a first setting subunit configured to set a value of x as x=1; a second setting subunit configured to set a value of y as y=1; a searching subunit configured to search for the positive z-axis mesh index value ZPos of the positive outline boundary mesh BoundaryMeshPos(x,y) and the negative z-axis mesh index value ZNeg of the negative outline boundary mesh BoundaryMeshNeg(x,y) corresponding to the set value of x and the set value of y; a first judgment subunit configured to judge whether ZPos is less than ZNeg; a third setting subunit configured to increment y by 1 in a case of the first judgment subunit judging that ZPos is less than ZNeg; a flag value modification subunit configured to modify flag values of meshes in the section from ZNeg to ZPos in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box to 1, and trigger the third setting subunit, in a case of the first judgment subunit judging that ZPos is not less than ZNeg; a second judgment subunit configured to judge whether y is greater than Y, wherein the searching subunit is triggered in a case of the second judgment subunit judging that y is not greater than Y; a fourth setting subunit configured to increment x by 1 in a case of the second judgment subunit judging that y is greater than Y; a third judgment subunit configured to judge whether x is greater than X, wherein the second setting subunit is triggered in a case that x is not greater than X; and a second determination subunit configured to determine meshes with flags being 1 in MeshFlag(x, y, z) as computational meshes for the geometry in a case of the third judgment subunit judging that x is greater than X.

7. The system according to claim 5, wherein the generation unit further comprises: a counting subunit configured to count the number N of the obtained geometries, wherein N is a positive integer, the obtained geometries are denoted as geometry i, wherein i{1, 2, . . . , N}, the generation subunit is configured to generate discrete ordinate method-based particle transport computational meshes for the geometry i, wherein an initial value of i is 1; a fifth setting subunit configured to increment i by 1; and a fourth judgment subunit configured to judge whether i is greater than N, wherein calculation is ended in a case that i is greater than N, and the generation subunit is triggered to generate the discrete ordinate method-based particle transport computational meshes for the geometry i in a case that i is not greater than N.

8. The method according to claim 2, wherein the discrete ordinate method-based particle transport computational meshes for each of the geometries are generated with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries.

9. The method according to claim 8, wherein the generating the discrete ordinate method-based particle transport computational meshes of the geometries, to generate the nuclear radiation shield computational meshes comprises: counting the number N of the obtained geometries, wherein N is a positive integer, and the obtained geometries are denoted as geometry i, wherein i{1, 2, . . . , N}; generating discrete ordinate method-based particle transport computational meshes for the geometry i with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries, wherein an initial value of i is 1; incrementing i by 1; and judging whether i is greater than N, ending calculation in a case that i is greater than N, and returning to the step of generating the discrete ordinate method-based particle transport computational meshes for the geometry i with the generation process of the discrete ordinate method-based particle transport computational meshes for the at least one of the geometries in a case that i is not greater than N.

10. The system according to claim 6, wherein the generation unit further comprises: a counting subunit configured to count the number N of the obtained geometries, wherein N is a positive integer, the obtained geometries are denoted as geometry i, wherein i{1, 2, . . . , N}, the generation subunit is configured to generate discrete ordinate method-based particle transport computational meshes for the geometry i, wherein an initial value of i is 1; a fifth setting subunit configured to increment i by 1; and a fourth judgment subunit configured to judge whether i is greater than N, wherein calculation is ended in a case that i is greater than N, and the generation subunit is triggered to generate the discrete ordinate method-based particle transport computational meshes for the geometry i in a case that i is not greater than N.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0075] The drawings to be used in the description of the embodiments of the application will be described briefly as follows, so that the technical solutions according to the embodiments of the present application will become clearer. It is apparent that the drawings in the following description only illustrate some embodiments of the present application. For those skilled in the art, other drawings may be obtained according to these drawings without any creative work.

[0076] FIG. 1 is a flow chart of a depth peeling based nuclear radiation shield computational mesh generation method according to an embodiment of the present disclosure;

[0077] FIG. 2 is a flow chart of a specific implementation of the step S107 according to an embodiment of the present disclosure;

[0078] FIG. 3 is a schematic structural diagram of a depth peeling based nuclear radiation shield computational mesh generation system according to an embodiment of the present disclosure;

[0079] FIG. 4 is a schematic structural diagram of a first calculation subunit according to an embodiment of the present disclosure; and

[0080] FIG. 5 is a schematic structural diagram of a generation unit according to an embodiment of the present disclosure.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0081] In order that the objectives, technical solutions and advantages of the present disclosure can be clearer, the embodiments of the present disclosure will be described in detail in the following in conjunction with the drawings.

[0082] Before describing the embodiments of the present disclosure, the depth peeling technique is introduced.

[0083] Depth Peeling is a technology for sorting depth values. The principle thereof is simple: in standard depth detection, a point with the smallest Z value in a scene, which is a vertex closest to the viewer, is outputted to the screen. Then, in order to display a second closest vertex and a third closest vertex with respect to the viewer, the multi-pass rendering method is adopted. Depth peeling is based on z-buffer multilayer rendering, where rendering of each layer is based on the depth value of the rendering of a previous layer.

[0084] The basic idea of the depth peeling technique is to render the scene pass by pass. Each pass of rendering goes into a deeper layer of the scene than a previous pass, thereby successively acquiring the nearest, the second nearest, the third nearest, . . . , the Nth nearest fragment of each pixel. Then, all fragments are finally synthesized using a synthesis technology to acquire the final color of the pixel, thereby acquiring the final image. Depth peeling is invented for performing transparency rendering of an object, with which proper transparency rendering can be acquired without sorting triangular facets. After being implied in Nvidia Geforce3, the transparency rendering based on the depth peeling technique has gained more and more attention.

[0085] Depth peeling has the working principle of plotting the geometry several times to accumulate the final result. Each iteration of the plotting peels off a single plane depth layer which is visible through each pixel. The advantage of this core algorithm over the painter's algorithm is that it is not necessary to presort the geometric primitives.

[0086] With the improvement of the capability and complexity of personal computer systems, more and more specialized graphic plotting devices called graphics processing units (GPUs) are used to perform graphical operations such as graphical operations required for Z-buffering, deep peeling, and rasterization. The GPU is generally used in a removable graphics card which is coupled to the motherboard via a standard bus (for example, AGP or PCI Express). Although the GPUs are different in capability, they can generally be used to perform tasks of plotting of two-dimensional (2D) graphic data, plotting of three-dimensional (3D) graphic data, and accelerated plotting of graphical user interface (GUI) display elements. The GPU can implement one or more application program interfaces (APIs) that allow the programmer to invoke the functionality of the GPU.

[0087] The GPU may include various built-in and configurable structures for plotting digital images to an imaging device.

[0088] In the deep peeling technology employed in the embodiments of the present disclosure, the GPU is utilized to extract boundary surfaces of a three-dimensional geometric model.

[0089] For a clearer understanding of the technical solution of the present disclosure, some technical terms used in the embodiments of the present disclosure are described below.

[0090] Radiation transport (also referred to as particle transport) refers to the process of radiation particles (such as neutrons, photons, electrons, protons, etc.) moving within the medium. The radiation transport theory is the basic theory for studying the process and rule of particle movement within the medium. Physical quantities such as particle integral flow rate, flux density and nuclear heat deposition can be acquired using radiation transport simulation calculation. With the vigorous development of nuclear energy utilization, radiation transport has become an independent basic theoretical subject in the field of nuclear science and technology, and is widely used in the fields of nuclear reactor physics, radiation shielding and protection, and engineering application of nuclear technology.

[0091] Radiation transport calculation programs (such as MCNP and TRIPOLI) have been widely used in the fields of reactor physics, radiation shielding and protection, nuclear detection, and emission dosimetry. The method of establishing the Monte Carlo model using the conventional manual text is time-consuming and error-prone, and is difficult to be used for modeling complex system geometry.

[0092] FIG. 1 is a flow chart of a depth peeling based nuclear radiation shield computational mesh generation method according to the embodiment of the present disclosure. As shown in FIG. 1, the method includes the following steps S101 to S109.

[0093] In step S101, a CAD geometric model generated by computer-aided software is read.

[0094] In step S102, the CAD geometric model are parsed to obtain geometries.

[0095] The CAD geometric model is a three-dimensional module which is generally constituted by at least one geometry. The obtained geometries may be a cylinder, a sphere, a cuboid, a cube and the like, depending on the CAD geometric model.

[0096] In step S103, the number N of the obtained geometries are counted, where N is a positive integer, and the obtained geometries are denoted as geometry i, i.e., Geo-I, where i{1, 2, . . . , N}.

[0097] In step 5104, minimum values and maximum values of axial boundaries on the x-axis, the y-axis and the z-axis of an axial bounding box Box-i of a geometry i are calculated.

[0098] Specifically, this step includes: calculating a minimum value x.sub.min and a maximum value x.sub.max of the axial boundary on the x-axis, a minimum value y.sub.min, and a maximum value y.sub.max of the axial boundary on the y-axis, and a minimum value z.sub.min, and a maximum value z.sub.max of the axial boundary on the z-axis in the three-dimensional coordinate system of the axial bounding box Box-i of the geometry i. In the embodiment of the present disclosure, the initial value of i is 1.

[0099] In step S105, a two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry is generated downwards from an upper boundary surface of the axial bounding box Box using a depth peeling technique; and a two-dimensional negative outline pixel matrix GeoFragNeg(x,y) of the geometry is generated upwards from a lower boundary surface of the axial bounding box Box using the depth peeling technique.

[0100] It is noted that, in the embodiments of the present disclosure, the axial direction of the axial bounding box Box-i is the z-axis direction. Therefore, the upper boundary surface of the axial bounding box Box-i is an x-y boundary surface located on the positive z-axis. Similarly, the lower boundary surface is an x-y boundary surface located on the negative z-axis.

[0101] Specifically, in this step, generating the two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry GEO-i downwards from the upper boundary surface of the axial bounding box Box-i using the depth peeling technique includes: perpendicularly projecting the x-y boundary surface of the axial bounding box Box-i located on the positive z-axis on the x-y plane, to generate the two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry.

[0102] Similarly, the two-dimensional negative outline pixel matrix GeoFragNeg(x,y) of the geometry is generated upwards from a lower boundary surface of the axial bounding box Box-i using the depth peeling technique.

[0103] The two-dimensional positive outline pixel matrix GeoFragPos(x,y) records positive z-axis coordinate values zPos3D of outline pixels of the geometry in the three-dimensional coordinate system, and the two-dimensional negative outline pixel matrix GeoFragNeg(x,y) records negative z-axis coordinate values zNeg3D of outline pixels of the geometry in the three-dimensional coordinate system.

[0104] In step S106, a positive z-axis mesh index value ZPos of a positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry in the positive axial direction is determined based on a mesh division Mesh3D and the positive z-axis coordinate values zPos3D, and a negative z-axis mesh index value ZNeg of a negative outline boundary mesh BoundaryMeshNeg2D(x,y) of the geometry in the negative axial direction is determined based on the mesh division Mesh3D and the negative z-axis coordinate values zNeg3D.

[0105] It is noted that, the three-dimensional coordination system where the geometry is located is meshed according to a predetermined mesh division rule Mesh3D, to acquire meshes corresponding to a space occupied by the axial bounding box Box-i of the geometry.

[0106] It is noted that, the positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry Geo-i in the positive axial direction may be acquired by denoting Mesh3D meshes covered by the upper surface over the z-axis of the axial bounding box Box-i as the positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry Geo-i in the positive axial direction.

[0107] Similarly, Mesh3D meshes covered by the lower surface below the z-axis of the axial bounding box Box-i are denoted as the negative outline boundary mesh BoundaryMeshNeg(x,y) of the geometry Geo-i in the negative axial direction.

[0108] The positive z-axis mesh index value ZPos of BoundaryMeshPos(x,y) can be determined based on the generated BoundaryMeshPos(x,y) and the positive z-axis coordinate values zPos3D of GeoFragPos(x,y).

[0109] It is noted that, specifically, the positive z-axis mesh index value ZPos is a mesh index value in the z-axis direction corresponding to a space where the meshed axial bounding box is located. For example, assuming that the meshes in the z-axis direction corresponding to the space where the meshed axial bounding box is located are a third mesh to a tenth mesh, the positive z-axis mesh index value ZPos is 10.

[0110] Similar to the positive z-axis mesh index value ZPos, in the graphics space, the negative z-axis mesh index value ZNeg of the negative outline boundary mesh BoundaryMeshNeg(x,y) of the geometry in the negative axial direction can be determined based on the negative z-axis coordinate values zNeg3D recorded in the two-dimensional negative outline pixel matrix GeoFragNeg(x,y).

[0111] In S107, internal meshes of the geometry are acquired based on a three-dimensional computational mesh flag matrix MeshFlag-i(x, y, z) corresponding to the axial bounding box Box-i, the positive z-axis mesh index value ZPos, and the negative z-axis mesh index value ZNeg, by using a scan line method.

[0112] In MeshFlag-i(x, y, z), x{1, 2, . . . , X}, y{1, 2, . . . , Y}, z{1, 2, . . . , Z}; X is the number of meshes in the space occupied by the axial bounding box Box-i in an x-axis direction, Y is the number of meshes in the space occupied by the axial bounding box Box-i in the y-axis direction, and Z is the number of meshes in the space occupied by the axial bounding box Box-i in the z-axis direction.

[0113] As an example, a specific implementation of step S107 is shown in FIG. 2, which includes the following steps A to K.

[0114] In step A, flags in the three-dimensional computational mesh flag matrix MeshFlag-i(x, y, z) corresponding to the axial bounding box Box-i are initialized, to 0.

[0115] In step B, a value of x is set as x=1.

[0116] In step C, a value of y is set as y1.

[0117] In step D, the positive z-axis mesh index value ZPos of the positive outline boundary mesh BoundaryMeshPos (x,y) and the negative z-axis mesh index value ZNeg of the negative outline boundary mesh BoundaryMeshNeg(x,y) corresponding to the set value of x and the set value of y are searched for.

[0118] In step E, it is judged whether ZPos is less than ZNeg. Step G is performed in a case that ZPos is less than ZNeg, and step F is performed in a case that ZPos is not less than ZNeg;

[0119] In step F, flag values of meshes in the section from ZNeg to ZPos in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box are modified to 1.

[0120] In step G, y is incremented by 1.

[0121] In step H, it is judged whether y is greater than Y. Step I is performed in a case that y is greater than Y, and the process returns to step D in a case that y is not greater than Y.

[0122] In step I, x is incremented by 1.

[0123] In step J, it is judged whether x is greater than X. Step K is performed in a case that x is greater than X, and the process returns to step C in a case that x is not greater than X.

[0124] In step K, meshes with flags being 1 in MeshFlag-i(x, y, z) are determined as computational meshes for the geometry.

[0125] In S108, i is incremented by 1.

[0126] In S109, it is determined whether i is greater than N, the calculation is ended in a case that i is greater than N, and the calculation returns to step S104 in a case that i is not greater than N.

[0127] An embodiment of the depth peeling based nuclear radiation shield computational mesh generation method according to the present disclosure is described above. In this embodiment, steps S103 to S107 is a process for generating discrete ordinate method-based particle transport computational meshes for a geometry. Computational meshes are generated for each of the geometries constituting the CAD geometric model using the method illustrated by steps S103 to S107. In fact, as long as computational meshes are generated for one of the geometries using the method illustrated by steps S103 to S107, it is within the scope of the present disclosure.

[0128] As can be seen from the above embodiment, in the nuclear radiation shield computational mesh generation method provided according to the present disclosure, the time-consuming geometry relationship judgment problem in a three-dimensional graphics space is converted to a pixel processing problem in the two-dimensional space using the generation process of discrete ordinate method-based particle transport computational meshes for at least one geometry. Thus the difficulty of processing and the time consumption are reduced.

[0129] In addition, the depth peeling technique is employed in the present disclosure to extract the boundary surfaces of a three-dimensional geometric model and converts them into two-dimensional pixel images using a graphics processing unit GPU. Therefore, with the method according to the present disclosure, the high-efficient processing performance of the GPU hardware technology is fully utilized, such that the boundary surface information of the three-dimensional geometric model can be acquired rapidly.

[0130] With the method of the present disclosure, meshes corresponding to the internal space of the three-dimensional geometry can be acquired by scanning meshes corresponding to the boundary of the geometry instead of direct judgment, thereby avoiding the time-consuming judgment of massive geometry relationships, thus reducing the amount of calculation, so as to generate the correspondence between the geometry internal space and the computational meshes rapidly.

[0131] Based on the depth peeling based nuclear radiation shield computational mesh generation method according to the embodiment of the present disclosure, it is further provided a depth peeling based nuclear radiation shield computational mesh generation system according to the embodiment of the present disclosure, which is described in the following embodiment.

[0132] FIG. 3 is a schematic structural diagram of a depth peeling based nuclear radiation shield computational mesh generation system according to the embodiment of the present disclosure.

[0133] As shown in FIG. 3, the generation system includes a reading unit 31, a parsing unit 32 and a generation unit 33.

[0134] The reading unit 31 is configured to read a CAD geometric model generated by computer-aided software.

[0135] The parsing unit 32 is configured to parse the CAD geometric model to obtain geometries.

[0136] The generation unit 33 is configured to generate discrete ordinate method-based particle transport computational meshes of the geometries, to generate nuclear radiation shield computational meshes.

[0137] The generation unit includes a generation subunit 331 which includes a first calculation subunit 3311, a two-dimensional outline pixel matrix generation subunit 3312, a first determination subunit 3313, and a first calculation subunit 3314.

[0138] The first calculation subunit 3311 is configured to calculate an axial bounding box Box of the geometry.

[0139] The two-dimensional outline pixel matrix generation subunit 3312 is configured to generate a two-dimensional positive outline pixel matrix GeoFragPos(x,y) of the geometry downwards from an upper boundary surface of the axial bounding box Box using a depth peeling technique; and generate a two-dimensional negative outline pixel matrix GeoFragNeg(x,y) of the geometry upwards from a lower boundary surface of the axial bounding box Box using the depth peeling technique, where the two-dimensional positive outline pixel matrix GeoFragPos(x,y) records positive z-axis coordinate values zPos3D of outline pixels of the geometry in the three-dimensional coordinate system, and the two-dimensional negative outline pixel matrix GeoFragNeg(x,y) records negative z-axis coordinate values zNeg3D of outline pixels of the geometry in the three-dimensional coordinate system.

[0140] The first determination subunit 3313 is configured to determine, based on a mesh division Mesh3D and the positive z-axis coordinate values zPos3D, a positive z-axis mesh index value ZPos of a positive outline boundary mesh BoundaryMeshPos(x,y) of the geometry in a positive axial direction in the graphic space, and determine, based on the mesh division Mesh3D and the negative z-axis coordinate values zNeg3D, a negative z-axis mesh index value ZNeg of a negative outline boundary mesh BoundaryMeshNeg(x,y) of the geometry in a negative axial direction in the graphic space.

[0141] The first calculation subunit 3314 is configured to acquire internal meshes of the geometry based on a three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box Box, the positive z-axis mesh index value ZPos, and the negative z-axis mesh index value ZNeg, by using a scan line method.

[0142] In the above, x{1, 2, . . . , X}, y{1, 2, . . . , Y}, z{1, 2, . . . , Z}, X is the number of meshes in a space occupied by the axial bounding box Box in an x-axis direction, Y is the number of meshes in a space occupied by the axial bounding box Box in a y-axis direction, and Z is the number of meshes in a space occupied by the axial bounding box Box in a z-axis direction.

[0143] As an embodiment of the present disclosure, a specific structure of the above described first calculation subunit 3314 is shown in FIG. 4, which includes the subunits 33141 to 331411.

[0144] An initialization subunit 33141 is configured to initialize flags in the three-dimensional computational mesh flag matrix MeshFlag(x, y, z) corresponding to the axial bounding box, to 0.

[0145] A first setting subunit 33142 is configured to set a value of x as x=1.

[0146] A second setting subunit 33143 is configured to set a value of y as y=1.

[0147] A searching subunit 33144 is configured to search for the positive z-axis mesh index value ZPos of the positive outline boundary mesh BoundaryMeshPos(x,y) and the negative z-axis mesh index value ZNeg of the negative outline boundary mesh BoundaryMeshNeg(x,y) corresponding to the set value of x and the set value of y.

[0148] A first judgment subunit 33145 is configured to judge whether ZPos is less than ZNeg;

[0149] A third setting subunit 33146 is configured to increment y by 1 in a case of the first judgment subunit judging that ZPos is less than ZNeg.

[0150] A flag value modification subunit 33147 is configured to modify flag values of meshes in the section from ZNeg to ZPos in the three-dimensional computational mesh flag matrix MeshFlag-i(x, y, z) corresponding to the axial bounding box Box to 1, and trigger the third setting subunit 33146, in a case of the first judgment subunit judging that ZPos is not less than ZNeg.

[0151] A second judgment subunit 33148 is configured to judge whether y is greater than Y, where the searching subunit 33144 is triggered in a case of the second judgment subunit judging that y is not greater than Y.

[0152] A fourth setting subunit 33149 is configured to increment x by 1 in a case of the second judgment subunit judging that y is greater than Y.

[0153] A third judgment subunit 331410 is configured to judge whether x is greater than X, where the second setting subunit 33143 is triggered in a case that x is not greater than X.

[0154] A second determination subunit 331411 is configured to determine meshes with flags being 1 in MeshFlag-i(x, y, z) as computational meshes for the geometry in a case of the third judgment subunit 33149 judging that x is greater than X.

[0155] As an embodiment of the present disclosure, in order that computational meshes for all obtained geometries are generated using the generation method according to the above embodiment, the generation unit 33 may further include a counting subunit 332, a fifth setting subunit 333 and a fourth judgment subunit 334 in addition to the generation subunit 331, as shown in FIG. 5.

[0156] The counting subunit 332 is configured to count the number N of the obtained geometries, where N is a positive integer, and the obtained geometries are denoted as geometry i, where i{1, 2, . . . , N}.

[0157] The generation subunit 331 is configured to generate discrete ordinate method-based particle transport computational meshes for the geometry i, where an initial value of i is 1.

[0158] The fifth setting subunit 333 is configured to increment i by 1.

[0159] The fourth judgment subunit 334 is configured to judge whether i is greater than N, where calculation is ended in a case that i is greater than N, and the generation subunit is triggered to generate the discrete ordinate method-based particle transport computational meshes for the geometry i in a case that i is not greater than N.

[0160] The above are preferred embodiments of the present disclosure. It should be understood that any modifications and variations of the above-described embodiments made by those skilled in the art without departing from the spirit of the present disclosure fall within the scope of the present disclosure.