An Adaptive Parallel Global Icosahedral Unstructured Mesh Coding and Subdivision Method

By adaptively adjusting the mesh encoding, the problems of dynamic adaptability, boundary communication, and load balancing of icosahedral unstructured meshes in parallel computing are solved, achieving more efficient parallel computing performance.

CN120387293BActive Publication Date: 2026-01-30COMP NETWORK INFORMATION CENT CHINESE ACADEMY OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510467653.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2026-01-30
Estimated Expiration
2045-04-15

AI Technical Summary

Technical Problem

The existing icosahedral unstructured mesh encoding method lacks dynamic adaptability in parallel computing, resulting in uneven mesh cell distribution, inability to optimize boundary communication, lack of hierarchical dynamic encoding mechanism and parallel load balancing problem, which affects the efficiency of parallel computing.

Method used

An adaptive parallel global icosahedral unstructured mesh coding generation and partitioning method is adopted. By adjusting the mesh coding to optimize the number of boundaries between cores, load balancing is achieved, and the hierarchical structure and allocation of mesh cells are dynamically adjusted during parallel computing.

Benefits of technology

It significantly reduces the amount of boundary communication between cores, shortens the boundary communication time, and improves the load balancing and resource utilization of parallel computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120387293B_ABST
    Figure CN120387293B_ABST
Patent Text Reader

Abstract

This invention discloses an adaptive parallel global icosahedral unstructured mesh encoding generation and subdivision method, relating to the field of spatial information technology. It includes: obtaining an initial mesh code based on a regular icosahedral spherical rhombic mesh designed with a simple linear sequential filling; setting the number of cores and determining the encoding method based on the set number of cores to obtain a new mesh code; converting the relationship between the new mesh code and the initial mesh code to a one-to-one correspondence with Earth's latitude and longitude; updating the mapping table based on the geometric relationship between U-grids and T-grids in the new mesh code, generating an nc format image file that can globally display the one-to-one correspondence between the code and geographical location. This invention optimizes the number of boundaries between cores by modifying the mesh code through changes in the number of cores, significantly reducing the boundary communication volume between cores, shortening the boundary communication time, and making it easier for the program to achieve load balancing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of spatial information technology, and in particular to an adaptive parallel global icosahedral unstructured mesh encoding generation and partitioning method. Background Technology

[0002] In numerical computation, mesh generation is a crucial step. As the complexity of computational problems increases, the limitations of structured meshes become apparent, as they struggle to adapt to complex geometries. Therefore, unstructured meshes are widely used due to their greater adaptability. To effectively manage global spatial information, researchers have proposed a discrete global grid system (DGGS) based on regular polyhedra. Common DGGS are based on hexahedrons, octahedrons, and icosahedrons, among which the icosahedron has become a research hotspot due to its large number of faces, near-spherical properties, smaller deformation, and more uniform geometric characteristics.

[0003] Currently available global icosahedral unstructured mesh coding generation and subdivision algorithms in China include: SQT coding based on regular icosahedral triangular meshes, coding model based on L-shaped space-filling curves, coding and fast indexing algorithms for regular icosahedral hexagonal meshes similar to generalized balanced ternary, hierarchical coding schemes based on pyramid structures, and coding models for regular icosahedral spherical rhombic meshes designed based on Hilbert curves.

[0004] In recent years, unstructured meshes have gradually replaced structured meshes in numerical simulations, and parallelization has become an important means of optimizing unstructured mesh computation. Scholars both domestically and internationally have made significant progress in parallel mesh generation and computation. International teams have parallelized NASA's unstructured mesh program VGRID, developed parallel unstructured mesh technology for flow field calculations, and promoted the application of parallel adaptive numerical simulation technology in industrial fields. Domestic scholars have proposed parallel finite element algorithms based on hierarchical mesh data structures and designed parallel programming tools for unstructured mesh numerical simulations.

[0005] Despite significant progress in the research of global icosahedral unstructured mesh encoding generation and partitioning algorithms, some key issues still exist in the field of parallel computing. In particular, the encoding method cannot adaptively adjust with changes in the number of parallel optimization cores, resulting in the inability to effectively reduce boundary communication.

[0006] Including the following main disadvantages:

[0007] 1. The encoding method lacks dynamic adaptability.

[0008] Problem Description: Existing icosahedral unstructured mesh encoding methods (such as SQT encoding, L-shaped space-filling curve encoding, Hilbert curve encoding, etc.) are usually static, that is, the encoding rules are fixed when the mesh is generated and cannot be dynamically adjusted according to the changes in the number of cores in parallel computing.

[0009] Impact: In parallel computing, increasing or decreasing the number of cores leads to a redistribution of computational load. If the encoding method cannot adapt adaptively, the distribution of grid cells may be uneven, causing some cores to be overloaded while others remain idle, thus reducing parallel efficiency.

[0010] 2. Boundary traffic cannot be optimized.

[0011] Problem Description: In parallel computing, boundary communication between different cores is one of the performance bottlenecks. Existing encoding methods cannot dynamically optimize the allocation of grid cells according to changes in the number of cores, resulting in the inability to minimize boundary communication overhead.

[0012] Impact: As the number of cores increases, the mesh cell division may generate more boundary regions, leading to increased communication between cores. Conversely, when the number of cores decreases, boundary communication may not be effectively reduced, resulting in a waste of communication resources.

[0013] 3. Lack of hierarchical dynamic coding mechanism

[0014] Problem Description: Existing encoding methods (such as pyramid structure encoding, block hierarchical models, etc.) support hierarchical partitioning, but lack dynamic adjustment capabilities and cannot adjust the hierarchical structure of grid cells in real time according to the needs of parallel computing.

[0015] Impact: In parallel computing, dynamically adjusting the hierarchy of grid cells can effectively reduce boundary communication. However, existing methods cannot achieve this, thus limiting the scalability of parallel computing.

[0016] 4. Parallel load balancing problem

[0017] Problem Description: Existing encoding methods struggle to achieve dynamic load balancing in parallel computing. The allocation of grid cells is typically based on fixed encoding rules and cannot be dynamically adjusted according to the core's computing power or load conditions.

[0018] Impact: This can lead to some cores being overloaded with computational tasks, while other cores are underloaded, reducing the efficiency and resource utilization of parallel computing.

[0019] Therefore, proposing an adaptive parallel global icosahedral unstructured mesh encoding generation and subdivision method to address the difficulties of existing technologies is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0020] In view of this, the present invention provides an adaptive parallel global icosahedral unstructured mesh encoding generation and partitioning method. By modifying the mesh encoding by changing the number of cores, the number of boundaries between cores is optimized, which greatly reduces the boundary communication volume between cores, shortens the boundary communication time, and makes it easier for the program to achieve load balancing.

[0021] To achieve the above objectives, the present invention adopts the following technical solution:

[0022] An adaptive parallel global icosahedral unstructured mesh encoding and generation method includes the following steps:

[0023] Based on a simple linear sequential filling design of a regular icosahedral spherical rhombic grid, an initial grid code is obtained, with the number of initial grid code cores being 10*2^n, where n is a natural number.

[0024] Set the number of cores and determine the encoding method based on the set number of cores. When the number of cores is 10*2^2n and n is a natural number, the grid shape is divided into rhombuses; when the number of cores is 10*2^(2n+1) and n is a natural number, the grid shape is divided into triangles. A new grid code is obtained, and a new core number is also obtained by arranging the encoding logic according to a simple linear sequence.

[0025] The relationship between the new grid code and the initial grid code is converted into a one-to-one correspondence with Earth's latitude and longitude.

[0026] The mapping table is updated based on the geometric relationship between the U-grid and T-grid in the new grid coding, generating an nc format image file that can globally display the one-to-one correspondence between the coding and the geographical location.

[0027] Optionally, when the number of cores is 10*2^2n, and n is a natural number, the specific details of the rhomboid mesh shape are as follows:

[0028] First, the grid on each rhombus is divided into rhombus-shaped grid blocks according to a simple linear order. Then, the grids inside each grid block are encoded according to the grid block number in the same simple linear order.

[0029] Optionally, when the number of cores is 10*2^(2n+1) and n is a natural number, the specific details of the mesh shape according to the triangular subdivision are as follows:

[0030] First, the grid on each rhombus is divided into triangular grid blocks according to a simple linear order. Then, the grids inside each grid block are encoded according to the grid block number in the same simple linear order.

[0031] Optionally, the specific details of encoding the meshes within each mesh block according to the mesh block number and following a simple linear order are as follows:

[0032] Given that the center point U of a regular icosahedral spherical rhombic grid is divided into ten rhombuses, denoted as {rhombus 1, rhombus 2, ..., rhombus 9, rhombus 10}, the total number of U grids is NU. Each rhombus block is divided into NU / 10 U grids. Based on the geometric properties of the vertices and center point of a triangle grid, the total number of grids at each vertex T is NT = NU / 2 + 2. Therefore, rhombus 1 and rhombus 10 have (NT-2) / 10 + 1 T grids, and the remaining rhombuses have (NT-2) / 10 T grids.

[0033] When the number of cores is 10*2^2n and n is a natural number, the grid shape is divided into rhombuses; when the number of cores is 10*2^(2n+1) and n is a natural number, the grid shape is divided into triangles; for each grid block that has been divided according to the number of cores, the grid inside each grid block is encoded according to a simple linear order.

[0034] As can be seen from the above technical solution, compared with the prior art, the present invention provides an adaptive parallel global icosahedral unstructured mesh encoding generation and subdivision method, which has the following beneficial effects:

[0035] (1) The grid coding generated by this invention is applicable to global atmospheric and oceanic models. By changing the number of cores, the grid coding is modified to optimize the number of boundaries between cores, which greatly reduces the boundary communication between cores and shortens the boundary communication time, making it easier for the program to achieve load balancing. In addition, the grid coding generation and partitioning of this invention will not change with the number of cores.

[0036] (2) This invention is applicable to two sets of meshes: the center point U mesh and the vertex T mesh of an icosahedral unstructured mesh. At the same time, it can also ensure that the two sets of meshes are still adjacent in spatial position on each core after parallel subdivision. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0038] Figure 1 A flowchart of an adaptive parallel global icosahedral unstructured mesh encoding generation and subdivision method provided by the present invention;

[0039] Figure 2 A schematic diagram of the encoding method for obtaining the initial grid encoding of the regular icosahedral spherical rhombic grid based on a simple linear sequential filling design provided by the present invention;

[0040] Figure 3 The diagram shows a method for dividing a regular icosahedral spherical rhombic grid into ten equally divided rhombic blocks, as provided by the present invention; wherein, 3a is a schematic diagram of the overlapping edges of two adjacent rhombuses on the regular icosahedron, and 3b is a schematic diagram of the ten equally divided rhombic blocks.

[0041] Figure 4 This invention provides a schematic diagram showing the mesh shape divided into rhomboids when the number of cores is 10*2^2n and n is a natural number.

[0042] Figure 5 This invention provides a schematic diagram of the mesh shape divided into triangles when the number of cores is 10*2^(2n+1) and n is a natural number.

[0043] Figure 6 A schematic diagram of the U-grid (center point) division encoding method within each core when the number of cores is 10*2^2n and n is a natural number, provided for the present invention;

[0044] Figure 7 This invention provides a schematic diagram of the U-grid (center point) division encoding method within each core when the number of cores is 10*2^(2n+1) and n is a natural number;

[0045] Figure 8 A schematic diagram of the T-grid (vertices) partitioning encoding method within each core when the number of cores is 10*2^2n and n is a natural number, provided for the present invention;

[0046] Figure 9 This invention provides a schematic diagram of the T-grid (vertices) partitioning encoding method within each core when the number of cores is 10*2^(2n+1) and n is a natural number. Detailed Implementation

[0047] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0048] Reference Figure 1 As shown, this invention discloses an adaptive parallel global icosahedral unstructured mesh encoding generation and subdivision method, comprising the following steps:

[0049] Based on a simple linear sequential filling design of a regular icosahedral spherical rhombic grid, an initial grid code is obtained, with the number of initial grid code cores being 10*2^n, where n is a natural number.

[0050] Set the number of cores and determine the encoding method based on the set number of cores. When the number of cores is 10*2^2n and n is a natural number, the grid shape is divided into rhombuses; when the number of cores is 10*2^(2n+1) and n is a natural number, the grid shape is divided into triangles. A new grid code is obtained, and a new core number is also obtained by arranging the encoding logic according to a simple linear sequence.

[0051] The relationship between the new grid code and the initial grid code is converted into a one-to-one correspondence with Earth's latitude and longitude.

[0052] The mapping table is updated based on the geometric relationship between the U-grid and T-grid in the new grid coding, generating an nc format image file that can globally display the one-to-one correspondence between the coding and the geographical location.

[0053] Specifically, based on a simple linear sequence filling design of a regular icosahedral spherical rhombic grid, the initial grid encoding method is illustrated in the diagram below. Figure 2 As shown, the IJ order is a simple linear order.

[0054] Furthermore, when the number of cores is 10*2^2n, where n is a natural number, the specific details of the rhomboid mesh shape are as follows:

[0055] First, the grid on each rhombus is divided into rhombus-shaped grid blocks according to a simple linear order. Then, the grids inside each grid block are encoded according to the grid block number in the same simple linear order.

[0056] Furthermore, when the number of cores is 10*2^(2n+1) and n is a natural number, the specific details of the mesh shape according to the triangular subdivision are as follows:

[0057] First, the grid on each rhombus is divided into triangular grid blocks according to a simple linear order. Then, the grids inside each grid block are encoded according to the grid block number in the same simple linear order.

[0058] Furthermore, based on the grid block number, the specific content of encoding the grids within each grid block according to a simple linear order is as follows:

[0059] like Figure 3 As shown, Figure 3This invention provides a method for dividing a regular icosahedral spherical rhombic grid into ten equally divided rhombic blocks; wherein, 3a is a schematic diagram of the overlapping edges of two adjacent rhombuses on the regular icosahedron, and 3b is a schematic diagram of the ten equally divided rhombic blocks; it is known that the grid center point U of the regular icosahedral spherical rhombic grid has been equally divided into ten rhombuses, denoted as {rhombus 1, rhombus 2, ..., rhombus 9, rhombus 10}, the total number of U grids is NU, each rhombic block is equally divided into NU / 10 U grids, and according to the geometric characteristics of the vertices and center points of the triangular grid, the total number of grid vertices T is NT = NU / 2 + 2, then rhombus 1 and rhombus 10 have (NT-2) / 10 + 1 T grids, and the remaining rhombuses have (NT-2) / 10 T grids;

[0060] like Figure 4 As shown (from left to right, 40 cores, 160 cores, and 640 cores are represented by one of ten equally divided rhomboid blocks), when the number of cores is 10 * 2^2n, where n is a natural number, the grid shape is divided into rhomboids; for example... Figure 5 As shown (from left to right, 80 cores, 320 cores, and 1280 cores, taking the upper half of one of the ten equally divided rhombus blocks as an example), when the number of cores is 10*2^(2n+1), and n is a natural number, the grid shape is divided into triangles; for each grid block that has been divided according to the number of cores, the grid inside each grid block is encoded according to a simple linear order.

[0061] Specifically, for each grid block that has been divided according to the number of cores, the internal logic is still encoded according to the IJ order. For example... Figure 6 and Figure 7 The diamond-shaped partitioning encoding method is demonstrated in the form of images, such as... Figure 8 and Figure 9 The triangular partitioning encoding method is illustrated visually. It's important to note that when the number of cores is 10*2^(2n+1), and n is a natural number, the T-grid division does not strictly adhere to triangles; the junctions between two cores will exhibit a jagged appearance, such as... Figure 9 As shown.

[0062] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0063] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A self-adaptive parallel global icosahedral unstructured mesh encoding generation and partitioning method, characterized in that, The method comprises the following steps: The icosahedral spherical rhombic grid based on a simple linear sequence filling design is used to obtain an initial grid code, and the core number of the initial grid code is 10 2^n, n is a natural number; Set the number of cores and determine the encoding method based on the set number of cores. When the number of cores is 10... When n is a natural number and 2^2n, the grid shape is divided into rhombuses; when the number of cores is 10 When n is a natural number, the grid shape is divided into triangles to obtain a new grid code, and at the same time, a new core number is obtained by arranging the code according to a simple linear order. The relationship between the new grid code and the initial grid code is converted into a one-to-one correspondence with the latitude and longitude of the earth; According to the geometric relationship between the U grid and the T grid in the new grid code, the mapping table is updated to generate an nc format image file that can globally display the one-to-one correspondence between the code and the geographical position.

2. The adaptive parallel global icosahedral unstructured grid coding generation and partitioning method according to claim 1, characterized in that, When the number of cores is 10 When n is a natural number, the specific content of the mesh shape according to the diamond dissection is: According to a simple linear order, first divide the grid on each diamond into grid blocks in the shape of diamonds, and then encode the grids inside each grid block according to the grid block number and also according to a simple linear order.

3. The adaptive parallel global icosahedral unstructured grid coding generation and partitioning method according to claim 1, characterized in that, When the number of cores is 10 2^(2n+1), n is a natural number, the specific content of the mesh shape according to the triangular division is: According to a simple linear order, first divide the grid on each diamond into grid blocks in the shape of triangles, and then encode the grids inside each grid block according to the grid block number and also according to a simple linear order.

4. The adaptive parallel global icosahedral unstructured grid coding generation and partitioning method according to claim 2 or 3, characterized in that, The specific content of encoding the grids inside each grid block according to the grid block number and also according to a simple linear order is that: It is known that the grid center point U grid of the icosahedral spherical rhombus grid is divided into ten rhombuses, denoted as , the total amount of U grid is NU, and each rhombus block is divided into NU / 10 U grids. According to the geometric characteristics of the grid vertex T and the center point, the total amount of T grid is NT=NU / 2+2. There are (NT-2) / 10+1 T grids on the first rhombus and the tenth rhombus, and there are (NT-2) / 10 T grids on the remaining rhombuses. When the core number is 10 2^(2n), n is a natural number, the grid shape is divided according to a diamond shape; when the core number is 10 2^(2n+1), n is a natural number, the grid shape is divided according to a triangle shape; for each grid block divided according to the core number, the grids inside each grid block are encoded according to a simple linear order.

Citation Information

Patent Citations

  • Method for rapidly converting spherical triangle discretization grid codes into geographic longitude and latitude coordinates

    CN107273466A

  • A generation method and application of a global regular icosahedron grid with any resolution

    CN109584372A