CN111814384B - High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method - Google Patents

High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method Download PDF

Info

Publication number
CN111814384B
CN111814384B CN202010901953.0A CN202010901953A CN111814384B CN 111814384 B CN111814384 B CN 111814384B CN 202010901953 A CN202010901953 A CN 202010901953A CN 111814384 B CN111814384 B CN 111814384B
Authority
CN
China
Prior art keywords
grid
geometric
mesh
geometric model
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010901953.0A
Other languages
Chinese (zh)
Other versions
CN111814384A (en
Inventor
莫则尧
郑澎
肖丽
张爱清
徐权
张哲�
冷珏琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INSTITUTE OF APPLIED PHYSICS AND COMPUTATIONAL MATHEMATICS
Original Assignee
INSTITUTE OF APPLIED PHYSICS AND COMPUTATIONAL MATHEMATICS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INSTITUTE OF APPLIED PHYSICS AND COMPUTATIONAL MATHEMATICS filed Critical INSTITUTE OF APPLIED PHYSICS AND COMPUTATIONAL MATHEMATICS
Priority to CN202010901953.0A priority Critical patent/CN111814384B/en
Publication of CN111814384A publication Critical patent/CN111814384A/en
Application granted granted Critical
Publication of CN111814384B publication Critical patent/CN111814384B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The numerical calculation method comprises the steps of dispersing geometric objects of a geometric model based on a geometric grid data structure of the numerical calculation method, and generating a grid which is associated with the geometric model; and decomposing the computing resources of the high-performance computer to correspond to a grid layer, wherein the grid layer comprises grids which have association relation with the geometric model. The geometric grid data structure in the embodiment can embody the geometric characteristics of the numerical simulation object in the grid, improve the numerical simulation precision, and apply the grid with the geometric characteristics of the numerical simulation object to a high-performance computer, thereby avoiding the problems of low efficiency and low speed caused by converting the grid data structure in three stages in the high-performance numerical simulation in the prior art.

Description

High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method
Technical Field
The present disclosure relates to the field of high-performance numerical simulation technologies, and in particular, to a structure and a method for pre-processing and post-processing low-overhead connection data for high-performance numerical simulation.
Background
Numerical simulation is an important research means for scientific research and engineering design. Generally, the numerical simulation whole flow comprises a calculation modeling stage, a numerical calculation stage and a visual analysis stage, and a grid is used for the whole flow and is a data carrier calculated in each stage. In the calculation modeling stage, a grid and a physical quantity (grid quantity for short) on the grid are generated, defined and given initial values; in the numerical calculation stage, the grid quantity is processed; in the visual analysis stage, the grid quantity is analyzed to obtain the operation rule of the simulation object. However, in the prior art, when the physical model is simulated through the mesh, the geometric characteristics of the physical model cannot be obtained.
How to solve the problem that the prior art cannot reflect the geometric characteristics of a physical model in the grid-based numerical simulation is urgent to solve.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments herein provide a structure and a method for processing low-overhead connection data before and after a high-performance numerical simulation, which can make the numerical simulation calculation of a grid more accurate by establishing an association relationship between a grid unit and a geometric model, improve the processing efficiency of the whole flow of the numerical simulation calculation, and reduce the I/O overhead in the whole flow processing process.
Embodiments herein provide a method of constructing a high performance numerical simulation pre-and post-processing low-overhead connected geometric grid data structure, comprising,
corresponding different grid layers to different computing resources of the high-performance computer;
storing the incidence relation between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object;
constructing the geometric objects, the mesh layers and mesh cells, and the associations of the geometric model into the geometric mesh data structure;
the grid unit at least comprises a grid surface, grid edges and grid nodes, and the geometric object of the geometric model at least comprises a geometric surface, a geometric edge and a geometric vertex;
the incidence relation represents the corresponding relation between the mesh surface, the mesh edge and the mesh node of the mesh unit and the geometric surface, the geometric edge and the geometric vertex of the geometric model;
the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
Embodiments herein also provide a numerical simulation method based on a geometric grid data structure, which specifically includes,
dispersing a geometric object of a geometric model to generate a grid having an association relation with the geometric model;
decomposing and corresponding the computing resources of the high-performance computer to a grid layer, wherein the grid layer comprises grids which have incidence relation with the geometric model;
the geometric objects of the geometric model at least comprise geometric surfaces, geometric edges and geometric vertexes, and the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
Embodiments herein also provide an apparatus for constructing a geometric mesh data structure, comprising,
a mapping unit for corresponding different grid layers to different computing resources of the high performance computer;
the incidence relation storage unit is used for storing the incidence relation between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object;
a generating unit for constructing the geometric objects, the mesh layers and mesh cells, and the associations of the geometric model into the geometric mesh data structure;
the grid unit at least comprises a grid surface, grid edges and grid nodes, and the geometric object of the geometric model at least comprises a geometric surface, a geometric edge and a geometric vertex;
the incidence relation represents the corresponding relation between the mesh surface, the mesh edge and the mesh node of the mesh unit and the geometric surface, the geometric edge and the geometric vertex of the geometric model;
the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
Embodiments herein also provide a numerical simulation apparatus based on a geometric grid data structure, the geometric grid data structure constructed based on the method of any one of the preceding claims 1 to 4, the numerical simulation apparatus comprising,
the grid generating unit is used for dispersing a geometric object of a geometric model and generating a grid which has an incidence relation with the geometric model;
the modeling unit is used for decomposing and corresponding the computing resources of the high-performance computer to a grid layer, wherein the grid layer comprises grids which have incidence relation with the geometric model;
the geometric objects of the geometric model at least comprise geometric surfaces, geometric edges and geometric vertexes, and the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
Embodiments herein also provide a computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the above-mentioned method when executing the computer program.
Embodiments herein also provide a computer-readable storage medium having stored thereon computer instructions, which when executed by a processor, implement the above-described method.
The geometric grid data structure in the embodiment can embody the geometric characteristics of the numerical simulation object in the grid, improve the numerical simulation precision, and apply the grid with the geometric characteristics of the numerical simulation object to a high-performance computer, thereby avoiding the problems of low efficiency and low speed caused by converting the grid data structure in three stages in the high-performance numerical simulation in the prior art.
Drawings
In order to more clearly illustrate the embodiments or technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
FIG. 1a is a schematic diagram illustrating a prior art implementation of data transmission between three phases in an out-coupled file connection manner;
FIG. 1b is a schematic diagram illustrating a prior art implementation of data transmission between three phases of an external memory connection;
FIG. 2 is a flow diagram illustrating a method of constructing a geometric mesh data structure according to embodiments herein;
FIG. 3a is a schematic diagram of a grid area according to an embodiment herein;
FIG. 3b is a schematic diagram illustrating a mesh domain according to an embodiment herein;
FIG. 3c is a schematic view of a grid sheet according to embodiments herein;
FIG. 4 is a schematic diagram of a geometric mesh data structure featuring a geometric model of a numerically modeled object according to an embodiment of the present disclosure;
FIG. 5 is a flow chart illustrating a method for numerical simulation based on a geometric grid data structure according to an embodiment of the present disclosure;
FIG. 6 is a full flow diagram illustrating numerical simulation calculations for an unstructured grid according to an embodiment herein;
FIG. 7 is a full flow chart of numerical simulation calculations for a structured grid according to an embodiment herein;
FIG. 8 is a schematic structural diagram illustrating an apparatus for constructing a geometric mesh data structure according to an embodiment of the present disclosure;
fig. 9 is a schematic structural diagram of a numerical simulation apparatus based on a geometric grid data structure according to an embodiment of the present disclosure.
[ brief description of the drawings ]
301. A grid;
302. a grid area;
303. a grid domain;
304. a grid sheet;
801. a mapping unit;
802. an association relation storage unit;
803. a generating unit;
901. a grid generating unit;
902. and a modeling unit.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments herein without making any creative effort, shall fall within the scope of protection.
Fig. 1a is a schematic diagram of data transmission between three stages implemented by an external coupling file connection method in the prior art, in the diagram, the three stages of the computation modeling stage, the numerical computation stage, and the visual analysis stage are implemented by mesh quantity conversion in the form of an external storage file, which is called an external coupling file connection method.
The commonly adopted external coupling connection method is that a grid file is generated by adopting preprocessing software, then a grid is read by a computer program to solve the field problem, and finally the post-processing software is used for reading a calculation result file to perform visual analysis, so that the numerical simulation whole flow is completed. Part of foreign commercial or open source software such as fluid simulation software ANSYS-CFX, ANSYS-Fluent, OpenFoam, turbine simulation software NUMECA and the like all process the continuity of the pre-and post-processing and numerical calculation stages in the form of file I/O, thereby completing the numerical simulation whole flow in an external coupling connection mode; a plurality of researchers in China also adopt the similar connection mode to realize the numerical simulation whole flow of the independent research and development of the calculation software. Such as finite element analysis software JIFEX and SIPSC developed by the university of major courseware, aeroelastic analysis software HAJIF developed by the department of aviation industry, finite element software FEPG developed by the department of Chinese academy, ship motion wave crash calculation and analysis software developed by the university of Harbin engineering based on the FastCAE rapid integration platform, and the like.
The problem brought by the mode is that when large-scale parallel computation is faced, the overhead of the external coupling connection mode is obviously increased along with the increase of the computation scale, the computation time of the numerical simulation whole flow is greatly prolonged, the execution efficiency of the numerical simulation whole flow is reduced, and the method becomes a performance bottleneck of the numerical simulation.
Fig. 1b is a schematic diagram of a prior art external coupling memory connection for realizing data transmission between three phases, in which the three-phase docking is realized in a memory copy form through grid quantity conversion, which is called an external coupling memory connection mode.
In fact, the two ways of out-coupling connections of fig. 1a and 1b are commonly present in the numerical simulation process of complex system engineering design.
During serial calculation, the calculation scale is small, the overhead of an external coupling connection mode is small, and the restriction on the calculation time of the numerical simulation whole flow cannot be formed. However, in the face of large-scale parallel computing, the overhead of the external coupling connection mode is obviously increased along with the increase of the computing scale, the computing time of the numerical simulation full flow is greatly prolonged, and the external coupling connection mode is likely to become a performance bottleneck of the numerical simulation; the external coupling file connection mode has huge I/O overhead and grid amount data conversion overhead, the external coupling memory connection mode with the TB magnitude grid amount overhead accounting for more than 50% of the whole process time can cause huge memory, grid amount data conversion calculation and communication overhead according to data statistics, and the TB magnitude grid overhead accounts for more than 30% of the whole process time according to data statistics.
In the scheme of the embodiment, the geometric information of the physical model is introduced into a computational grid data structure, a data structure combining grid layering and a geometric model is adopted, the system structure of a high-performance computer is adapted, and large-scale and high-precision grid generation, initial value and constraint convenient setting and seamless butt joint with a computational grid in a numerical computation stage can be supported.
As shown in fig. 2, a flowchart of a method for constructing a geometric grid data structure according to an embodiment of the present disclosure is described, in which a method for constructing a geometric grid data structure capable of embodying features of a geometric model of a numerically-simulated object is described, and the geometric grid data structure constructed according to the present disclosure may be applied to a high-performance computer, where the high-performance computer refers to a computer having typical features such as "six-layer nested parallel" or "heterogeneous many-core acceleration", where the former refers to "inter-node distributed storage (DM)", intra-node multi-CPU distributed shared storage (DSM) ", intra-CPU multi-core symmetric multiprocessing shared Storage (SMP)", intra-CPU-core multi-level Cache (Cache) -intra-CPU-core multi-function component Instruction Level Parallel (ILP), -CPU intra-core long vector acceleration (SIMD) ", and the latter refers to" heterogeneous many-core acceleration ", that each node is configured with a graphics acceleration microprocessor GPU or many-core coprocessor MIC, the power consumption is reduced while the floating point calculation speed is improved. The method specifically comprises the following steps:
step 201, corresponding different grid layers to different computing resources of the high performance computer.
In this step, the grid layer refers to a grid layer obtained by logically dividing a grid, and includes a grid region, a grid domain, a grid slice and other layers, and the computing resources of the high-performance computer include computing nodes, CPUs of the computing nodes, and CPU cores.
The specific method for corresponding different grid layers to different computing resources of the high-performance computer is as follows:
and dividing the grid into a plurality of grid areas which are not overlapped with each other, endowing each grid area with a unique logic number, and mapping each grid area to different computing nodes.
Fig. 3a is a schematic diagram of a grid area according to an embodiment of the present invention, in which a grid 301 is divided into N grid areas 302 that do not overlap with each other, where N is equal to the number of high performance computer computing nodes, where N is a positive integer not less than 1. In the diagram of the present embodiment, the grid 301 is divided into 2 grid zones 302, and the grid zones 302 have unique logical numbers in the grid 301 and are mapped to different high-performance computer computing nodes. The grid layer is stored in the memory space of the high performance computer computing nodes according to the mapping of the grid area 302 to different high performance computer computing nodes.
The grid areas 302 correspond to the computing nodes, each grid area 302 corresponds to one computing node, grid data are distributed and stored to the computing nodes, grid parallel computing between the grid areas 302 is supported, data exchange between the grid areas 302 is realized through message transmission among processes, and only data on the grid area boundary need to be exchanged.
And dividing the grid region into a plurality of grid domains which are not overlapped with each other, allocating a unique logic number to each grid domain, and mapping the logic number to different CPUs in the computing nodes.
Fig. 3b is a schematic diagram of the mesh domain according to the embodiment, in which the mesh region 302 is divided into M mesh domains 303 that do not overlap with each other, where M is equal to the number of CPUs in the high performance computer computing node, where M is a positive integer not less than 1. The grid domain 303 has a unique logical number that is mapped to different CPUs within the high performance computer computing node. According to the mapping of the grid domain 303 to different CPUs, the grid area is perceptually distributed and shared by non-uniform memory access (NUMA) to memory spaces of different CPUs stored in the high-performance computer computing node.
The grid domains 303 correspond to CPUs in the computing nodes, each grid domain 303 corresponds to a CPU in a computing node, grid data are distributed, shared and stored in the computing nodes of the computer, grid parallel computing among the grid domains 303 is supported, and data exchange among the grid domains 303 is realized through message transmission among processes.
And (3) dividing the grid domain into a plurality of grid slices which are not overlapped with each other, allocating a unique logic number to each grid slice, and mapping the logic number to different CPU cores of the CPUs in the computing nodes.
Fig. 3c is a schematic diagram of the grid slices of the embodiment herein, in which P grid slices 304 that are not overlapped with each other are described as the grid domain 303, P is not less than the total number of cores in the CPU, where P is a positive integer not less than 1. The grid slices 304 have unique logical numbers that are mapped to different CPU cores of the CPUs within the high-performance computer computing node. The grid domain 303 is shared for storage in the memory space of the CPU within the high performance computer computing node, based on the mapping of the grid slices 304 to the CPU cores. The total number of tiles 304 may vary across all of the grid domains 303, but is at least the total number of cores within the CPU.
The grid slices 304 correspond to CPU cores in the computation nodes, each grid slice 304 corresponds to one CPU core in the computation node, grid data is shared and stored in the CPU in the computation node, parallel computation between the grid slices 304 is supported, and data exchange between the grid slices 304 is realized through message transmission between threads.
The storage on the grid slice 304 is composed of grid cells and data. All of the grid tiles 304 have unique logical numbers, and the total number of grid cells contained in different grid tiles 304 may be different. The two mesh sheets 304 are geometrically adjacent if and only if there are geometrically adjacent mesh cells for each of them. The grid on the grid sheet 304 is composed of a plurality of grid cells.
Step 202, storing the association relationship between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object.
Each mesh cell contains the topological relationship of the mesh cell: a grid unit has multiple grid faces, one grid face has multiple grid edges, one grid edge has multiple grid nodes, and in the grid on the grid sheet, the grid nodes, grid edges and grid faces contained in each grid unit have unique logic numbers.
Each mesh cell holds an association with the geometric model: the grid surface, grid edge and grid node of the grid unit all store the logic number of the geometric object corresponding to each other. The geometric model is a spatial model of the physical model, the geometric model is represented as a geometric object in the memory, and the geometric object refers to a general name of a geometric body, a geometric surface, a geometric edge and a geometric vertex included in the geometric model. Wherein, all grid cells can correspond to the geometric body of the geometric model; part of the mesh surfaces in the mesh unit can correspond to the geometric surfaces of the geometric bodies, part of the mesh edges in the mesh unit can correspond to the geometric edges of the geometric bodies, and part of the mesh nodes in the mesh unit can correspond to the geometric vertexes of the geometric bodies. The mesh is generated based on the geometric model and covers all the space occupied by the geometric model, so the mesh can be mapped onto the geometric object. A grid cell is composed of a plurality of grid faces, grid edges and grid nodes.
Step 203, constructing the geometric objects, the grid layers and grid cells, and the association of the geometric model into the geometric grid data structure.
A geometric model comprises a plurality of geometric objects, namely geometric objects, geometric surfaces, geometric edges and geometric vertexes, wherein each of the geometric objects has a unique logic number and corresponds to a corresponding grid unit, a corresponding grid surface, a corresponding grid edge and a corresponding grid node. The geometric bodies, the geometric surfaces, the geometric edges and the geometric vertexes have a hierarchical relationship, one geometric body is composed of a plurality of geometric surfaces, one geometric surface is composed of a plurality of geometric edges, and one geometric edge is provided with a plurality of geometric vertexes.
The method for constructing the geometric grid data structure according to the embodiment of the present invention may obtain a geometric grid data structure diagram capable of embodying the geometric model features of the numerical simulation object according to the embodiment of the present invention as shown in fig. 4, where grid regions obtained by grid division correspond to computing nodes of a high-performance computer, a grid domain in each grid region corresponds to a CPU in a corresponding computing node, a grid slice in each grid region corresponds to a CPU core in a corresponding CPU, and a grid unit in each grid slice has topology data recorded in a grid slice where the grid unit is located, and has an association relationship with a geometric object of the geometric model. In the geometric mesh data structure, there are also data of geometric objects of the geometric model, including geometric data and topology indicating all geometric objects (geometry, geometric faces, geometric edges, geometric vertices), and other geometric feature data about the geometric model. The geometric grid data structure is provided with geometric description information of a geometric model of a numerical simulation object, geometric characteristics of the geometric model of the numerical simulation object can be expressed through the geometric description information, grid data hierarchy information matched with a high-performance computer architecture is further included in the geometric grid data structure, grid data can be transmitted among three stages of a numerical simulation whole flow through the geometric grid data structure, and grid quantity conversion and file I/O overhead in the prior art are reduced.
The geometric grid data structure in the embodiment is formed by corresponding geometric objects of a geometric model, a grid with a hierarchical relationship corresponding to a high-performance computer, and corresponding relationships of the geometric objects (geometric bodies, geometric surfaces, geometric edges and geometric vertexes) and grid cells (grid surfaces, grid edges and grid nodes) in the grid, by means of which the geometric mesh data structure can embody the geometric features of a numerically modeled object in the mesh, the geometrical characteristics can be used for various applications, such as obtaining a grid which is more similar to a numerical simulation object by encrypting the grid, improving the numerical simulation precision, the grid with the geometric characteristics of the numerical simulation object is applied to a high-performance computer, so that the problems of low efficiency and low speed caused by the fact that a grid data structure is converted in three stages in high-performance numerical simulation in the prior art are solved.
Fig. 5 is a flowchart of a numerical simulation method based on a geometric grid data structure according to an embodiment of the present disclosure, in which a process of performing high-performance numerical simulation modeling based on a geometric grid data structure is described in the embodiment of the present disclosure, in three stages of numerical simulation: in the calculation modeling stage, the numerical calculation stage, and the visual analysis stage, since the geometric grid data structure is adopted to make data management between the calculation modeling stage and the numerical calculation stage consistent, data I/O and data conversion in the two stages in butt joint can be avoided by means of direct memory reference, and grid data transmission based on internal coupling is realized, where the direct memory reference may be, for example, that after the calculation modeling of the geometric grid data structure is completed by the calculation modeling stage, the geometric grid data structure in the memory can be read by the device in the numerical calculation stage through a memory address indicated by a memory pointer, or the geometric grid data structure obtained in the calculation modeling stage can be obtained by the device in the numerical calculation stage through a memory copy instruction, and specifically includes:
step 501, discretizing a geometric object of a geometric model to generate a mesh having an association relation with the geometric model.
In this step, a geometric model reflecting geometric characteristics of the numerical simulation object is generated from the numerical simulation object having a corresponding physical model reflecting physical characteristics of the numerical simulation object. Dispersing all geometric objects of the geometric model, including dispersing geometric bodies, geometric surfaces, geometric edges and geometric vertexes in the geometric model, respectively constructing the geometric bodies, the geometric surfaces, the geometric edges and the geometric vertexes in a one-to-one correspondence relationship among grid units, grid surfaces, grid edges and grid nodes, generating a small-scale grid (coarse grid) which is preliminarily approximate to the shape of the geometric model, and setting initial values and constraint conditions on the small-scale grid based on the requirements of the physical model.
The method comprises the steps of storing grid data in a geometric grid data structure, wherein the grid data comprise relevant data such as grid areas, grid domains, grid slices, grid units, grid surfaces in the grid units, grid edges, grid nodes and the like, and storing geometric model data in the geometric grid data structure, wherein the geometric model data comprise relevant data such as geometric bodies, geometric surfaces, geometric edges, geometric vertexes and the like, and storing the association relationship between the grid and the geometric model in the geometric grid data structure, wherein the association relationship comprises the corresponding relationship between the grid units, the grid surfaces in the grid units, the grid edges, the grid nodes and the geometric bodies, the geometric surfaces, the geometric edges and the geometric vertexes of the geometric model.
Step 502, decomposing and corresponding the computing resources of the high-performance computer to the grid layer.
Specifically, the computation nodes of the high-performance computer, the CPUs in the computation nodes, and the cores in the CPUs are decomposed and correspond to the grid layer.
In this step, according to the requirement of the numerical simulation object, the grid area, the grid domain and the grid slice in the grid are corresponding to the computation node of the high-performance computer, the CPU in the computation node and the core in the CPU.
Step 503, encrypting the grid according to the geometric model by using the computing resources of the high-performance computer corresponding to the grid layer to obtain a grid approximating the geometric model.
In this step, the mesh encryption may be performed in parallel between a plurality of mesh domains using a plurality of processes in a high-performance computer computing node, with the mesh domains being the processing target. The parallel encryption grid can be executed for multiple times, the grid scale is increased continuously along with the increase of the encryption times, and the degree of the approximation of the grid to the geometric model is improved continuously, wherein the approximation to the geometric model is realized by adding grid units (the grid units comprise grid surfaces, grid edges and grid nodes) corresponding to the geometric characteristics of the geometric model in grid slices. In the encryption process, geometrically adjacent grid cells adopt the same grid encryption method, that is to say, the geometric positions of nodes, edges and faces of the adjacent grid cells are completely overlapped.
The above-mentioned mesh encryption step is not essential, but may not be included in some application scenarios.
Through the method of the embodiment, the same data structure can be used in the computational modeling stage and the numerical calculation stage, the processing of steps such as file export and data structure conversion is not needed as in the prior art, the data structure of the computational modeling is input into the numerical calculation equipment, and especially for application scenarios of large-scale numerical simulation calculation (TB-level grids) and high-performance computer systems (hundreds of thousands of CPU cores), a large amount of I/O time can be saved, and the efficiency of the numerical simulation calculation can be improved.
Fig. 6 is a full flowchart of the numerical simulation computation on the unstructured grid according to the embodiment herein, where a process oriented to the numerical simulation computation on the unstructured grid is described in this diagram, where an unstructured grid refers to a grid region where all internal grid nodes do not have the same number of adjacent grid cells, the entire process realizes integrated and coherent execution from computational modeling-numerical computation-visual analysis, and each two-stage docking realizes transmission of grid data by copying geometric grid data from a computational grid memory, and specifically includes:
step 601, generating a coarse mesh according to the geometric model of the numerical simulation object.
In the step, based on the geometric vertexes of the geometric model, the grid nodes of the corresponding grid units are generated discretely, and the one-to-one correspondence relationship between the geometric vertexes and the grid nodes is established; based on the geometric edges of the geometric model, generating corresponding grid edges in a discrete mode, and constructing a one-to-one correspondence relationship between the geometric edges and the grid edges; based on the geometric surface of the geometric model, generating corresponding grid surfaces in a discrete mode, and constructing a one-to-one correspondence relationship between the geometric surface and the grid surfaces; based on the geometric body of the geometric model, generating corresponding grid units discretely, and constructing a one-to-one corresponding relation between the geometric entity and the grid units; traversing the grid unit, and determining the incidence relation between the grid nodes, the grid edges, the grid surfaces and the geometric model contained in the grid unit based on the one-to-one correspondence; the whole coarse grid is composed of a plurality of grids.
Step 602, assigning an initial value to each grid cell in the coarse grid according to the physical model of the numerical simulation object.
In this step, for each grid cell in the grid, physical quantity data is assigned to the grid surface, the grid edge, or the grid node according to the physical model of the numerical simulation object, and the assignment of the initial value to the grid is completed.
And 603, combining the structure of the high-performance computer, and corresponding the coarse grid to the structure of the high-performance computer.
In this step, the number of calculation nodes, the number of CPUs in the calculation nodes, and the number of cores in the CPUs, which are required for the numerical calculation of the numerical simulation object, are decomposed step by step and correspond to the coarse mesh, and a geometric mesh data structure matched with the high-performance computer structure as shown in fig. 4 is constructed. Corresponding to the high-performance computer structure, decomposing the grid into K grid areas which are numbered as the 1 st, the 2 nd, … th, K-1 st and the Kth in sequence, wherein K is a positive integer, each grid area corresponds to a computing node on the high-performance computer, the grid areas are distributed in the memory space stored in the computing node of the high-performance computer, the geometric model is also distributed in the memory space stored in the computing node of the high-performance computer, and the processes of the decomposition of the grid areas are executed in parallel among the computing nodes. Then, the grid area in each computing node is further decomposed into a plurality of grid domains, the Kth grid area is decomposed into L grid domains which are not overlapped with each other, the L grid domains are numbered as the 1 st, the 2 nd, … th, the L-1 st and the L th in sequence, L is a positive integer, each grid domain corresponds to a CPU in the computing node, the grid domains are stored in the memory space of the CPU in the computing node, and the decomposition of the grid domains is executed in parallel in the processes among the CPUs in the computing node. Then, the grid domain in the CPU in the computing node is divided into a plurality of grid slices, the L-th grid domain is divided into M grid slices which are not overlapped with each other, the M grid slices are numbered as the 1 st, the 2 nd, the … th, the M-1 st and the M-th in sequence, M is a positive integer, each grid slice corresponds to a CPU core in the CPU in the computing node, the grid slices are stored in the memory space of the CPU in a sharing mode, and the division of the grid slices is executed in parallel in a thread mode among multiple cores in the CPU in the computing node.
And step 604, encrypting the coarse grid to obtain a large-scale grid.
In this step, for each mesh unit, a mesh node approximating the geometric model is added to a midpoint of each mesh edge, where approximating the geometric model refers to obtaining a plurality of new mesh units according to geometric description information of a geometric object (geometric body, geometric surface, geometric edge, geometric vertex) of the geometric model. For an original grid unit, based on a geometric object corresponding to a grid edge of the original grid unit, projecting the position of the grid edge onto the geometric object to obtain a newly-added grid node, reconnecting the original grid node and the newly-added grid node (including the original grid node and the newly-added grid node, and possibly including the connection of the newly-added grid node and the newly-added grid node) to obtain a plurality of new grid units, and then adjusting the incidence relation between the new grid units (including the grid units, the grid surfaces, the grid edges and the grid nodes) and the geometric object to enable the grid units to approach the geometric model. The geometric description information comprises geometric data and topological data of geometric objects of the geometric model, the geometric data refers to geometric definitions of geometric surfaces, geometric edges and geometric vertexes, and the topological data indicates that the geometric body is composed of a plurality of geometric surfaces, geometric edges and geometric vertexes. For example, a cube geometry is composed of 6 geometric faces, 12 geometric edges and 8 geometric vertices, the 6 geometric faces can be represented by 6 plane analytical equations, the 12 geometric edges can be represented by 12 straight line analytical equations, and the 8 geometric vertices can be represented by 8 three-dimensional coordinates. Because a consistent encryption mode is adopted, the consistency of geometrically adjacent grid units (superposition of grid nodes and grid edges) is ensured, and geometrically adjacent grid pieces do not need to be communicated. And then, aiming at each grid unit, updating the newly added grid nodes, grid edges, grid surfaces and grid units, and updating the incidence relation between the grid and the geometric model according to the newly added grid units. The new added grid unit and the original grid unit form an updated grid, the data of the new added grid unit is added in the geometric grid data structure, and the data of the new added grid unit records the geometric object of the geometric model associated with the new added grid unit, namely the association relationship between the grid unit and the geometric model.
Step 605, performing numerical calculation according to the grid.
In this step, the data of the unstructured grid is obtained by direct memory copy, finite element numerical calculation is performed based on the unstructured grid and the application scene of the numerical simulation object, for example, solution may be performed in a static finite element manner, and the calculation result is stored in the geometric grid data structure.
Step 606, the grid is reduced according to the requirements of visualization analysis.
In this step, the reduction is performed on the grid subjected to numerical computation according to the requirements of visualization analysis (for example, the number of visualization grid cells, which geometries in the visualization geometric model are), so as to reduce the data processing amount of visualization and improve the efficiency of visualization operation. Acquiring numerically-computed grid data (step 605) by memory reference in a process based on the same geometric grid data structure as that in computational modeling (steps 601-604), and completing loading of the grid data in a visualization process; then, establishing a grid association mode of a geometric structure and grid data, wherein the grid association mode refers to that a geometric vertex, a geometric edge, a geometric surface and a geometric body of a geometric model are all composed of grid nodes, grid lines, grid surfaces and grid units of a grid, and the grid nodes, the grid lines, the grid surfaces and the grid units are in one-to-one correspondence through logical indexes; finally, the reduction of the grid cells in a merged manner is performed according to the numerical characteristics of the grid data, that is, whether merging is possible is determined according to the numerical characteristics of the grid data, for example: there are three adjacent grid cells a, b, c, the grid data of which is the cell quantity x1、x2、x3If x is1、x2If the difference value is within a certain range, then the grid cells a and b can be merged to become a new grid cell d with grid data x1. By reducing the number of mesh cells, lightweight mesh data is obtained for visualization.
Step 607, visualization processing is performed on the mesh data.
In this step, a visualization method based on data parallel may be adopted, and mixed parallel visualization may be performed in-process and inter-process with a grid slice as a basic unit of parallel processing. A process may initiate multiple visualization sub-processes. A visualization sub-process performs a specified form of visualization on a single physical field, for example, such that grid regions, grid domains, grid slices, grid cells, grid faces of grid cells, grid edges, grid nodes in a grid have different colors, transparencies, and other visualization characteristics.
And 608, visualizing the grid based on the association relationship between the geometric model and the grid.
In the step, constructing geometric body, geometric surface, geometric edge and geometric vertex grid data representing the geometric model according to corresponding logical indexes among the geometric body, the geometric surface, the geometric edge, the geometric vertex and grid units, grid surfaces, grid edges and grid nodes of the grid which form the geometric model; then, directly acquiring a required physical quantity value from the grid according to a corresponding relation established based on the logic index; finally, the geometric model and the data field thereon are visualized using conventional field magnitude visualization methods, e.g. visualizing different geometric objects of the geometric model of the numerically simulated object as different colors, transparencies, etc.
And step 609, coupling and drawing the visual grid data and the geometric model.
In the step, the visual geometric model data and the grid data are transmitted into a plurality of channels for coupling drawing, the drawing is carried out according to a certain observation visual angle, and the multi-channel coupling is completed through multi-channel sequential execution. The drawing result completed earlier will be input as a drawing element into the next channel, which will be coupled into the drawing result of this channel.
And step 610, obtaining a corresponding visualization result according to the user interaction instruction.
In this step, the interactive behavior of the user is transmitted to the parallel visualization sub-process in the form of visualization parameters, and data updating and process execution are triggered to obtain a visualization result under a new interactive instruction.
Fig. 7 is a full flowchart of the structural grid numerical simulation computation according to the embodiment of the present disclosure, where a process of the structural grid numerical simulation computation is described in the present diagram, where a structural grid refers to a grid region in which all internal grid nodes have the same number of adjacent grid units, the entire process implements integrated coherent execution from computational modeling-numerical computation-visual analysis, and each two-stage docking implements transmission of grid data by copying geometric grid data from a computational grid memory, and specifically includes:
step 701, generating a coarse mesh according to a geometric model of the numerical simulation object.
In the step, corresponding grid nodes are arranged in a discrete mode based on the geometric vertexes of the geometric model, and a one-to-one corresponding relation between the geometric vertexes and the grid nodes is established; based on the geometric edges of the geometric model, discretely arranging corresponding grid nodes on the geometric edges, and constructing a one-to-one correspondence relationship between the geometric edges and the grid edges; based on the geometric surface of the geometric model, discretely arranging corresponding grid nodes on the geometric surface, and constructing a one-to-one correspondence relationship between the geometric surface and the grid surface; and (3) discretely generating a rectangular background grid by taking the bounding box of the geometric model as a background space, wherein grid edges of the rectangular background grid can pass through all grid nodes. Traversing the grid units, and determining the incidence relation between the grid nodes, the grid edges, the grid surfaces and the geometric model contained in each grid unit based on the one-to-one correspondence; the whole coarse grid is composed of a plurality of grids.
Step 702, assigning an initial value to each grid cell in the coarse grid according to the physical model of the numerical simulation object.
In this step, for each grid cell in the grid, physical quantity data is assigned to the grid surface, the grid edge, or the grid node according to the physical model of the numerical simulation object, and the assignment of the initial value to the grid is completed.
And 703, combining the structure of the high-performance computer, and corresponding the coarse grid to the structure of the high-performance computer.
In this step, the number of calculation nodes, the number of CPUs in the calculation nodes, and the number of cores in the CPUs, which are required for the numerical calculation of the numerical simulation object, are decomposed step by step and correspond to the coarse mesh, and a geometric mesh data structure matched with the high-performance computer structure as shown in fig. 4 is constructed. Corresponding to the high-performance computer structure, decomposing the grid into K grid areas which are numbered as the 1 st, the 2 nd, … th, K-1 st and the Kth in sequence, wherein K is a positive integer, each grid area corresponds to a computing node on the high-performance computer, the grid areas are distributed in the memory space stored in the computing node of the high-performance computer, the geometric model is also distributed in the memory space stored in the computing node of the high-performance computer, and the processes of the decomposition of the grid areas are executed in parallel among the computing nodes. Then, the grid area in each computing node is further decomposed into a plurality of grid domains, the Kth grid area is decomposed into L grid domains which are not overlapped with each other, the L grid domains are numbered as the 1 st, the 2 nd, … th, the L-1 st and the L th in sequence, L is a positive integer, each grid domain corresponds to a CPU in the computing node, the grid domains are stored in the memory space of the CPU in the computing node, and the decomposition of the grid domains is executed in parallel in the processes among the CPUs in the computing node. Then, the grid domain in the CPU in the computing node is divided into a plurality of grid slices, the L-th grid domain is divided into M grid slices which are not overlapped with each other, the M grid slices are numbered as the 1 st, the 2 nd, the … th, the M-1 st and the M-th in sequence, M is a positive integer, each grid slice corresponds to a CPU core in the CPU in the computing node, the grid slices are stored in the memory space of the CPU in a sharing mode, and the division of the grid slices is executed in parallel in a thread mode among multiple cores in the CPU in the computing node.
Step 704, encrypting the background grid in the coarse grid, and recording the intersection result of the background grid and the geometric model.
In this step, taking the grid slice as a basic unit, the multi-process performs grid generation in parallel: firstly, encrypting a background grid, splitting the middle point of each grid edge, and reconnecting the split points to obtain a plurality of new grid units, for example, encrypting one hexahedral grid unit to obtain eight hexahedral grid units; and then, performing intersection operation on each grid unit and the geometric model, recording an intersection result as unit quantity data of the grid unit, and storing the unit quantity data on a data sheet of the grid unit, wherein the unit quantity data belong to the geometric model completely, do not belong to the geometric model or belong to the geometric model partially, or can be accurate geometric coordinates of intersection of the grid unit and the geometric model.
The intersection result indicates whether the grid unit belongs to the geometric model, and the grid unit belonging to the geometric model needs to be calculated in numerical calculation; also in the mesh visualization process, mesh cells belonging to the geometric model are used for display.
Step 705, performing numerical calculation according to the grid.
In this step, the data of the structural grid is obtained by direct memory copy, and the numerical calculation is performed based on the structural grid and the application scene of the numerical simulation object, for example, the grid may be solved in parallel by time domain difference, and the calculation result is stored in the geometric grid data structure.
Step 706, the grid is reduced according to the requirements of visualization analysis.
In this step, the reduction is performed on the grid subjected to numerical computation according to the requirements of visualization analysis (for example, the number of visualization grid cells, which geometries in the visualization geometric model are), so as to reduce the data processing amount of visualization and improve the efficiency of visualization operation. Acquiring numerically-computed grid data (step 705) by memory reference in a process based on the same geometric grid data structure as that in computational modeling (steps 701-704), and completing loading of the grid data in a visualization process; then, establishing a proportion association mode of the geometric structure and the grid data, wherein the proportion association mode is used for expressing the characteristics of the geometric model in the form of the proportion of a geometric body in each grid unit; finally, according to the numerical characteristics of the grid data, the grid cells are reduced in a combined mode, and the number of the grid cells is reduced, so that light grid data are obtained for visual operation.
Step 707, visualization processing is performed on the mesh data.
In this step, visualization processing is performed according to the physical field of the grid data, data transmission and image data filling can be adopted, so that inter-grid-layer stitching and inter-grid-piece continuity are realized, and the correctness and continuity of the visualization result are ensured.
And 708, visualizing the grid based on the association relationship between the geometric model and the grid.
In the step, the geometric surface, the geometric side and the geometric vertex of the geometric model are constructed by using the occupation ratio of the geometric model in the grid unit and adopting a material interface reconstruction method; for the grid representing the geometric model, physical quantities distributed on the reconstructed grid are directly obtained from grid data to form a data field of the geometric model; and visualizing the geometric model by adopting a material interface method.
Steps 709 and 710 may refer to steps 609 and 610 described above.
By the method of the embodiment, the efficiency of the numerical simulation process based on the geometric grid data structure is improved, the traditional numerical simulation process is redistributed, and low-overhead connection and efficient coherent execution of the whole process are realized. The new process breaks through the traditional three-stage functional composition of 'computational modeling-numerical computation-visual analysis', and moves the parts needing large-scale computation, such as large-scale grid parallel generation in computational modeling, large-scale data reduction in visual analysis and the like, to the numerical computation stage for execution (as shown by dotted lines in fig. 6 and 7), on one hand, the computing resources of a high-performance computer are fully utilized, and the data processing is accelerated; on the other hand, due to the adoption of a unified geometric grid data structure, the calculation modeling, the visual analysis and the numerical calculation are carried out in the memory in a data sharing internal coupling mode, the long-time I/O overhead and the data conversion overhead of the super-large-scale data are avoided, and the zero-overhead butt joint is realized.
According to the time model, the read-in/read-out overhead of data is butted among all stages in the traditional whole process
Figure 993817DEST_PATH_IMAGE001
With a data conversion overhead of
Figure 5897DEST_PATH_IMAGE002
. The time cost corresponding to the calculation modeling, the numerical calculation and the visual analysis is respectively
Figure 254476DEST_PATH_IMAGE003
Figure 915264DEST_PATH_IMAGE004
Figure 57533DEST_PATH_IMAGE005
If the execution time of the process is:
Figure 145574DEST_PATH_IMAGE006
(formula 1)
Assume a parallel core number of
Figure 615870DEST_PATH_IMAGE007
In the method of the embodiment, the execution time is:
Figure 80349DEST_PATH_IMAGE008
(formula 2)
The analysis of the formula (2),
Figure 77124DEST_PATH_IMAGE009
representing the time of generating the coarse grid, since the grid size is small, it can be known
Figure 336067DEST_PATH_IMAGE009
Much less than
Figure 293659DEST_PATH_IMAGE010
The visual analysis time of the reduced data is represented, and the data is known to be small in scale
Figure 296250DEST_PATH_IMAGE011
Much less than
Figure 147531DEST_PATH_IMAGE012
Figure 842955DEST_PATH_IMAGE013
The time is reduced for the data, and the data drawing time with large overhead is not included,
Figure 287843DEST_PATH_IMAGE013
is less than
Figure 828546DEST_PATH_IMAGE012
Can be pushed out
Figure 298448DEST_PATH_IMAGE014
Must also be less than
Figure 899193DEST_PATH_IMAGE003
Figure 831377DEST_PATH_IMAGE015
Must be less than
Figure 175771DEST_PATH_IMAGE005
Therefore, in the methods of the embodiments herein, the time complexity is greatly reduced.
Fig. 8 is a schematic structural diagram of an apparatus for constructing a geometric grid data structure according to an embodiment of the present disclosure, in which the apparatus for constructing a geometric grid data structure is described, and the apparatus may be formed by a high-performance computer, or may be implemented by a software program running on the high-performance computer, or may be implemented by a general-purpose chip or a special-purpose chip, and specifically includes,
a mapping unit 801, configured to correspond different grid layers to different computing resources of a high performance computer;
an association relation storage unit 802, configured to store an association relation between a grid cell in the grid layer and a geometric object of a geometric model of a numerical simulation object;
a generating unit 803 for constructing the geometric objects, the mesh layers and the mesh cells of the geometric model and the associations into the geometric mesh data structure.
Fig. 9 is a schematic structural diagram of a numerical simulation apparatus based on a geometric grid data structure according to an embodiment of the present disclosure, in which a computational modeling apparatus is described, and the apparatus may be formed by a high-performance computer, or a software program running on the high-performance computer may implement each functional module therein, or a general-purpose chip or a special-purpose chip may implement the functional modules thereof, specifically including,
a mesh generating unit 901, configured to discretize a geometric object of a geometric model, and generate a mesh having an association relationship with the geometric model;
and the modeling unit 902 is used for decomposing and corresponding the computing resources of the high-performance computer to a grid layer, wherein the grid layer comprises grids which have an association relation with the geometric model.
Embodiments herein also provide a computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program:
corresponding different grid layers to different computing resources of the high-performance computer;
storing the incidence relation between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object;
constructing the geometric objects, the mesh layers and mesh cells, and the associations of the geometric model into the geometric mesh data structure.
The computer device provided by the embodiment can also realize the methods in fig. 2-4.
Corresponding to the methods in fig. 2-4, the embodiments herein also provide a computer-readable storage medium having stored thereon a computer program, which, when executed by a processor, performs the steps of the above-described method.
Embodiments herein also provide computer readable instructions, wherein a program therein causes a processor to perform the method as shown in fig. 2-4 when the instructions are executed by the processor.
Embodiments herein also provide a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein based on the above geometric grid data structure, the processor executes the computer program to implement the following steps:
dispersing a geometric object of a geometric model to generate a grid having an association relation with the geometric model;
and decomposing the computing resources of the high-performance computer to correspond to a grid layer, wherein the grid layer comprises grids which have association relation with the geometric model.
The computer device provided by the embodiment can also realize the methods in fig. 5-7.
Corresponding to the methods in fig. 5-7, the embodiments herein also provide a computer-readable storage medium having stored thereon a computer program, which, when executed by a processor, performs the steps of the above-described method.
Embodiments herein also provide computer readable instructions, wherein a program therein causes a processor to perform the methods as shown in fig. 5-7 when the instructions are executed by the processor.
It should be understood that, in various embodiments herein, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments herein.
It should also be understood that, in the embodiments herein, the term "and/or" is only one kind of association relation describing an associated object, meaning that three kinds of relations may exist. For example, a and/or B, may represent: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided herein, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electric, mechanical or other form of connection.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments herein.
In addition, functional units in the embodiments herein may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present invention may be implemented in a form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The principles and embodiments of this document are explained herein using specific examples, which are presented only to aid in understanding the methods and their core concepts; meanwhile, for the general technical personnel in the field, according to the idea of this document, there may be changes in the concrete implementation and the application scope, in summary, this description should not be understood as the limitation of this document.

Claims (13)

1. A method of constructing a high performance numerical simulation pre-and post-processing low overhead connected geometric mesh data structure comprising,
corresponding different grid layers to different computing resources of the high-performance computer;
storing the incidence relation between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object;
constructing the geometric objects, the mesh layers and mesh cells, and the associations of the geometric model into the geometric mesh data structure;
the grid unit at least comprises a grid surface, grid edges and grid nodes, and the geometric object of the geometric model at least comprises a geometric surface, a geometric edge and a geometric vertex;
the incidence relation represents the corresponding relation between the mesh surface, the mesh edge and the mesh node of the mesh unit and the geometric surface, the geometric edge and the geometric vertex of the geometric model;
the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
2. The method of claim 1,
the grid layer comprises grid areas, grid domains and grid sheets, and the computing resources of the high-performance computer comprise computing nodes, CPUs (central processing units) of the computing nodes and CPU cores.
3. The method of claim 2, wherein corresponding different grid layers to different computing resources of a high performance computer specifically comprises,
dividing the grid into a plurality of grid areas which are not overlapped with each other, and mapping each grid area to different computing nodes;
dividing the grid region into a plurality of grid domains which are not overlapped with each other, and mapping the grid domains to different CPUs in the computing nodes;
and (3) dividing the grid domain into a plurality of grid slices which are not overlapped with each other, allocating a unique logic number to each grid slice, and mapping the logic number to different CPU cores of the CPUs in the computing nodes.
4. A method for numerical simulation based on a geometric mesh data structure, characterized in that the geometric mesh data structure constructed based on the method of any one of the preceding claims 1 to 3, in particular comprises,
dispersing a geometric object of a geometric model to generate a grid having an association relation with the geometric model;
decomposing and corresponding the computing resources of the high-performance computer to a grid layer, wherein the grid layer comprises grids which have incidence relation with the geometric model;
the geometric objects of the geometric model at least comprise geometric surfaces, geometric edges and geometric vertexes, and the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
5. The method of claim 4, further comprising, after decomposing computing resources of the high performance computer to correspond to the grid layer,
and encrypting the grid according to the geometric model by utilizing the computing resources of the high-performance computer corresponding to the grid layer to obtain the grid approximate to the geometric model.
6. The method of claim 5, further comprising, in encrypting the mesh according to the geometric model using computational resources of a high-performance computer corresponding to the mesh layer,
the mesh is encrypted in parallel using multiple processes in a high performance computer computing node.
7. The method of claim 5, further comprising, in encrypting the mesh according to the geometric model using computational resources of a high-performance computer corresponding to the mesh layer,
aiming at the unstructured grid, newly adding grid nodes approaching the geometric model on the middle points of grid edges of each grid unit, and connecting the newly added grid nodes to obtain a plurality of new grid units;
and updating the incidence relation between the grid and the geometric model according to the new grid unit.
8. The method of claim 5, further comprising, in encrypting the mesh according to the geometric model using computational resources of a high-performance computer corresponding to the mesh layer,
aiming at the structured grid, splitting the middle point of the grid edge in each grid unit of the background grid, and connecting the split points to form a plurality of new grid units;
performing intersection operation on the new grid unit and the geometric model;
and recording the intersection operation result of the new grid unit and the geometric model.
9. The method of claim 5, further comprising, after encrypting the mesh according to the geometric model using computational resources of a high-performance computer corresponding to the mesh layer to obtain a mesh approximating the geometric model,
performing numerical calculation according to the grids;
reducing the grids in a grid combination mode;
and carrying out visualization processing on the grids based on the incidence relation between the geometric model and the grids.
10. An apparatus for constructing a geometric mesh data structure, comprising,
a mapping unit for corresponding different grid layers to different computing resources of the high performance computer;
the incidence relation storage unit is used for storing the incidence relation between the grid cells in the grid layer and the geometric objects of the geometric model of the numerical simulation object;
a generating unit for constructing the geometric objects, the mesh layers and mesh cells, and the associations of the geometric model into the geometric mesh data structure;
the grid unit at least comprises a grid surface, grid edges and grid nodes, and the geometric object of the geometric model at least comprises a geometric surface, a geometric edge and a geometric vertex;
the incidence relation represents the corresponding relation between the mesh surface, the mesh edge and the mesh node of the mesh unit and the geometric surface, the geometric edge and the geometric vertex of the geometric model;
the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
11. A numerical simulation apparatus based on a geometric grid data structure, characterized in that the geometric grid data structure constructed based on the method of any one of the preceding claims 1 to 3, comprises,
the grid generating unit is used for dispersing a geometric object of a geometric model and generating a grid which has an incidence relation with the geometric model;
the modeling unit is used for decomposing and corresponding the computing resources of the high-performance computer to a grid layer, wherein the grid layer comprises grids which have incidence relation with the geometric model;
the geometric objects of the geometric model at least comprise geometric surfaces, geometric edges and geometric vertexes, and the geometric objects of the geometric model have geometric description information which embodies the geometric characteristics of the geometric model.
12. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of any of the preceding claims 1-3 when executing the computer program.
13. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the method of any of the preceding claims 4-9 when executing the computer program.
CN202010901953.0A 2020-09-01 2020-09-01 High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method Active CN111814384B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010901953.0A CN111814384B (en) 2020-09-01 2020-09-01 High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010901953.0A CN111814384B (en) 2020-09-01 2020-09-01 High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method

Publications (2)

Publication Number Publication Date
CN111814384A CN111814384A (en) 2020-10-23
CN111814384B true CN111814384B (en) 2020-12-11

Family

ID=72859872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010901953.0A Active CN111814384B (en) 2020-09-01 2020-09-01 High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method

Country Status (1)

Country Link
CN (1) CN111814384B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114048610B (en) * 2021-11-15 2022-08-09 中科三清科技有限公司 Data output method and device
CN115016951B (en) * 2022-08-10 2022-10-25 中国空气动力研究与发展中心计算空气动力研究所 Flow field numerical simulation method and device, computer equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2414405C (en) * 2000-06-29 2010-06-01 Object Reservoir, Inc. Method and system for modeling geological structures using an unstructured four-dimensional mesh
CN101465006B (en) * 2009-01-08 2011-01-05 清华大学 Method for building grid surface by point cloud
CN104572295B (en) * 2014-12-12 2016-06-01 北京应用物理与计算数学研究所 It is matched with the structured grid data management process of high-performance calculation machine architecture
CN108549582B (en) * 2018-03-30 2019-12-13 北京应用物理与计算数学研究所 combined geometric data structure matched with high-performance computer structure and parallel method
CN110427707A (en) * 2019-08-06 2019-11-08 中国原子能科学研究院 It is adapted to the constructive solid geometry modeling method of more heap-type geometry and the method for characteristic curves

Also Published As

Publication number Publication date
CN111814384A (en) 2020-10-23

Similar Documents

Publication Publication Date Title
Fan et al. GPU cluster for high performance computing
Huang et al. Explorations of the implementation of a parallel IDW interpolation algorithm in a Linux cluster-based parallel GIS
EP4120199A1 (en) Image rendering method and apparatus, and electronic device and storage medium
CN103761215B (en) Matrix transpose optimization method based on graphic process unit
CN111814384B (en) High-performance numerical simulation pre-and-post-processing low-overhead connection data structure and method
CN111210498A (en) Reducing the level of detail of a polygon mesh to reduce the complexity of rendered geometry
Badouel et al. Ray tracing on distributed memory parallel computers: strategies for distributing computations and data
EP3678037A1 (en) Neural network generator
Su et al. An adaptive and rapid 3D Delaunay triangulation for randomly distributed point cloud data
Mackerras A fast parallel marching-cubes implementation on the Fujitsu AP1000
Mahmoud et al. RXMesh: a GPU mesh data structure
Tautges et al. Coupled Multi-Physics simulation frameworks for reactor simulation: A Bottom-Up approach
Dou et al. A fine-granularity scheduling algorithm for parallel XDraw viewshed analysis
CN113822975A (en) Techniques for efficient sampling of images
Dou et al. An equal‐area triangulated partition method for parallel Xdraw viewshed analysis
US20050213823A1 (en) Distributed CAD apparatus
Akkurt et al. An efficient edge based data structure for the compressible Reynolds‐averaged Navier–Stokes equations on hybrid unstructured meshes
Chen et al. Parallel performance optimization of large-scale unstructured data visualization for the earth simulator.
Wang et al. A composition-free parallel volume rendering method
Wittenbrink et al. Time and space optimal data parallel volume rendering using permutation warping
Cave et al. A new approach to parallel processing
Cao et al. Efficient visualization of high-resolution virtual nuclear reactor
Gu et al. Accurate and efficient GPU ray‐casting algorithm for volume rendering of unstructured grid data
Shirazian et al. Polygonization of Implicit Surfaces on Multi-Core Architectures with SIMD Instructions.
Liangyin et al. Efficient visualization strategies for large-scale finite element models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant