Data processing method, device, electronic device and computer-readable storage medium
By dividing the result data of the mesh model into multiple data blocks and storing them in the cache area for post-processing, the problem of finite element analysis and CFD analysis software lags when processing big data is solved, reducing hardware requirements, and improving data processing efficiency and user experience.
Patent Information
- Application Number
- CN202210795190.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-07-07
AI Technical Summary
The existing finite element analysis and CFD analysis software has lag and wait when processing a large amount of data, and the hardware requirements are high, resulting in poor user experience.
The result data of the mesh model is divided according to attributes and physical quantities, forming multiple data blocks, and the target data block is stored in the cache area for post-processing, reducing memory requirements and improving IO rate.
It effectively solves the problem of software lag, reduces hardware requirements, and improves data processing efficiency and user experience.
Smart Images

Figure CN115033499B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, device, electronic device, and computer-readable storage medium. Background Art
[0002] With the rapid development of computer technology, data analysis and processing with the help of computers can accomplish many tasks that cannot be completed by manpower.
[0003] In the relevant technical solutions, for CAE (Computer Aided Engineering) analysis, especially finite element analysis and CFD (Computational Fluid Dynamics) analysis, in actual engineering applications, the number of grid nodes and units after the discretization of the analysis model is huge, and the number of grid units can usually reach the order of millions or tens of millions. The corresponding amount of result data output after calculation is huge, and the result file is usually at the Gb level. Due to the huge amount of data, high requirements are placed on IO (input / output) efficiency, hardware requirements, software response speed, etc. Among the current major finite element analysis and CFD analysis software, there are different degrees of pauses, waiting, etc. when processing extremely large amounts of data, resulting in a poor user experience. The excessively high requirements for hardware result in many users' computers being unable to run the corresponding software well. Summary of the Invention
[0004] In order to solve or partially solve the problems existing in the relevant technologies, this application provides a data processing method that can effectively solve the problems of lag and waiting when using existing finite element analysis, CFD analysis and other software, and reduce the hardware requirements for software use.
[0005] A first aspect of the present application provides a data processing method, wherein the data processing comprises:
[0006] Obtaining result data obtained by CAE analysis of a mesh model and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model;
[0007] Based on a post-processing request from a user, dividing the grid model into a plurality of regions according to the attributes, and determining a target region;
[0008] Segmenting the result data according to the regions and physical quantities to obtain a plurality of data blocks, wherein each data block contains physical quantity component data corresponding to a region;
[0009] A target data block corresponding to the target area is determined, and post-processing is performed on the target data block based on the post-processing request.
[0010] As a possible implementation of the present application, in this implementation, dividing the grid model into multiple areas according to the attributes based on the user's post-processing request includes:
[0011] receiving a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model;
[0012] The grid model is divided into a plurality of regions according to the attribute indication information.
[0013] As a possible implementation manner of the present application, in this implementation manner, the post-processing request includes type information of the physical quantity to be processed, and the result data is segmented according to the region and the physical quantity to obtain multiple data blocks, wherein each data block contains physical quantity component data corresponding to a region, including:
[0014] The result data is divided into a plurality of data blocks according to the type of the physical quantity to be processed and the region, wherein each of the data blocks contains region information of a region and component information of a physical quantity of a target type corresponding to the region.
[0015] As a possible implementation manner of the present application, in this implementation manner, post-processing the target data block based on the post-processing request includes:
[0016] Storing the target data block in a buffer area and recording the storage time;
[0017] According to the post-processing request, the target area is post-processed based on the physical quantity information in the target data block.
[0018] As a possible implementation manner of the present application, in this implementation manner, before storing the target data block in the cache area, the method further includes:
[0019] A storage space of a preset size is divided in a preset memory area as a buffer area;
[0020] When the available storage space of the cache area is smaller than the size of the storage space occupied by the data block, at least one data block stored in the cache area earliest is deleted according to the storage time of each data block in the cache area until the size of the available storage space of the cache area is not smaller than the size of the storage space occupied by the data block.
[0021] As a possible implementation manner of the present application, in this implementation manner, determining the target data block corresponding to the target area includes:
[0022] Searching the cache area for a target data block corresponding to the target area; or
[0023] When the target data block corresponding to the target area is not found in the cache area, the target data block corresponding to the target area is searched in a preset disk storage area.
[0024] As a possible implementation manner of the present application, in this implementation manner, searching for a target data block corresponding to the target area in a preset disk storage area includes:
[0025] Searching the result data for target result data corresponding to the target area, wherein the result data is stored in a preset disk storage area;
[0026] The target result data and the target area are combined into a target data block.
[0027] A second aspect of the present application provides a data processing device, the data processing device comprising:
[0028] A data acquisition module, configured to acquire result data obtained by CAE analysis of a mesh model and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model;
[0029] a target area determination module, configured to divide the grid model into a plurality of areas according to the attributes and determine a target area based on a post-processing request of a user;
[0030] A data segmentation module, configured to segment the result data according to the regions and physical quantities to obtain a plurality of data blocks, wherein each data block contains one physical quantity component data corresponding to one region;
[0031] A data processing module is configured to determine a target data block corresponding to the target area and perform post-processing on the target data block based on the post-processing request.
[0032] As a possible implementation manner of the present application, in this implementation manner, the target area determination module includes:
[0033] a post-processing request receiving unit, configured to receive a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model;
[0034] A region division unit is configured to divide the grid model into a plurality of regions according to the attribute indication information.
[0035] As a possible implementation of the present application, in this implementation, the data processing module includes:
[0036] A data cache unit, configured to store the target data block in a cache area and record the storage time;
[0037] A post-processing unit is configured to perform post-processing on the target area based on the physical quantity information in the target data block according to the post-processing request.
[0038] As a possible implementation of the present application, in this implementation, the data processing module includes:
[0039] A cache area division unit, configured to divide a storage space of a preset size in a preset memory area as a cache area;
[0040] The data deleting unit is configured to delete at least one data block stored earliest in the cache area according to the storage time of each data block in the cache area when the storage space of the cache area is smaller than the size of the storage space occupied by the data block.
[0041] A third aspect of the present application provides an electronic device, including:
[0042] processor; and
[0043] The memory stores executable codes thereon, and when the executable codes are executed by the processor, the processor is caused to execute the method described above.
[0044] A fourth aspect of the present application provides a computer-readable storage medium having executable code stored thereon. When the executable code is executed by a processor of an electronic device, the processor is caused to execute the method described above.
[0045] The embodiment of the present application obtains a plurality of smaller data blocks by dividing the larger result data obtained after CAE analysis of the grid model according to the properties of the grid model and the physical quantities corresponding to the grid model, and stores the corresponding data blocks in a cache area according to the user's post-processing request, and obtains the data blocks from the cache area for post-processing, which can greatly reduce the memory requirements for software operation and improve the IO rate. At the same time, the result data is processed in blocks, and when the result data of any area in the grid model is post-processed according to user needs, there is no need to traverse the entire result data, the data processing efficiency is higher, the software will not experience lag, waiting, etc., and the user experience is improved.
[0046] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The above and other objects, features and advantages of the present application will become more apparent by describing in more detail exemplary embodiments of the present application in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of the present application.
[0048] Figure 1 This is a flow chart of a data processing method shown in an embodiment of the present application;
[0049] Figure 2 This is a flow chart of a method for dividing an area according to an embodiment of the present application;
[0050] Figure 3 This is a flow chart of a data caching method shown in an embodiment of the present application;
[0051] Figure 4 This is a flow chart of a data deletion method shown in an embodiment of the present application;
[0052] Figure 5 1 is a flow chart of a method for determining a target data block according to an embodiment of the present application;
[0053] Figure 6 is a structural diagram of a data processing device provided in an embodiment of the present application;
[0054] Figure 7 It is a structural diagram of an electronic device shown in an embodiment of the present application.
[0055] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale. DETAILED DESCRIPTION
[0056] The following describes embodiments of the present application in more detail with reference to the accompanying drawings. Although the accompanying drawings illustrate embodiments of the present application, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.
[0057] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0058] It should be understood that although the terms "first", "second", "third", etc. may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0059] In the relevant technical solutions, for CAE (Computer Aided Engineering) analysis, especially finite element analysis and CFD (Computational Fluid Dynamics) analysis, in actual engineering applications, the number of grid nodes and units after the discretization of the analysis model is huge, and the number of grid units can usually reach the order of millions or tens of millions. The corresponding amount of result data output after calculation is huge, and the result file is usually at the Gb level. Due to the huge amount of data, high requirements are placed on IO (input / output) efficiency, hardware requirements, software response speed, etc. Among the current major finite element analysis and CFD analysis software, there are different degrees of pauses, waiting, etc. when processing extremely large amounts of data, resulting in a poor user experience. The excessively high requirements for hardware result in many users' computers being unable to run the corresponding software well.
[0060] In response to the above problems, an embodiment of the present application provides a data processing method that can effectively solve the problems of lag and waiting when using existing finite element analysis, CFD analysis and other software, and reduce the hardware requirements for software use.
[0061] The technical solutions of the embodiments of the present application are described in detail below with reference to the accompanying drawings.
[0062] Figure 1 It is a flowchart of the data processing method shown in an embodiment of the present application.
[0063] See also Figure 1 , the data processing method provided in the embodiment of the present application includes:
[0064] Step S101 : obtaining result data of a mesh model obtained through CAE analysis and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model.
[0065] In the embodiments of the present application, a mesh model refers to a model that is constructed based on a structural model and is easy to analyze. The mesh model is composed of multiple polygons of similar size and shape, which are combined into a model that needs to be analyzed by CAE. CAE analysis refers to an approximate numerical analysis method that uses computers to solve problems such as the analysis and calculation of mechanical properties such as strength, stiffness, buckling stability, dynamic response, heat conduction, three-dimensional multi-body contact, elastic-plasticity, and optimization design of structural performance of complex engineering and product structures. The attributes of a mesh model are a characteristic of the mesh model, which can be the number of nodes, the number of elements, the total number of elements of the same element type, or the total number of nodes corresponding to them. For example, the element type of the mesh model can be divided into beam elements, shell elements, solid elements, etc. The result data refers to the result data obtained after the mesh model is analyzed by CAE. The result data at least includes the physical quantity information corresponding to the mesh model, such as the displacement solution and stress solution on the mesh model obtained by analyzing the mesh model. Optionally, different analyses can be performed on the mesh model according to user needs to obtain different result data.
[0066] In an embodiment of the present application, after a mesh model undergoes CAE analysis, the result data required by the user is obtained. The result data is a whole data. As a possible implementation method of the present application, for the convenience of explanation, taking a specific embodiment as an example, after the mesh model undergoes CAE analysis, the result data obtained by the analysis is obtained and the result data is stored in a preset disk space. The result data is a whole data, wherein the result data includes physical quantity information corresponding to each area of the mesh model, such as the displacement solution corresponding to each area of the mesh model. Obtaining the attribute information of the mesh model includes determining the unit type in the mesh model, such as which areas of the mesh model are beam units, shell units, and solid units. Optionally, the classification basis can be specified by the user, such as the user can specify to distinguish the mesh model and distinguish according to the unit type. This application does not limit this.
[0067] Step S102 : Based on the user's post-processing request, the grid model is divided into a plurality of regions according to the attributes, and a target region is determined.
[0068] In the embodiments of the present application, post-processing refers to the process of processing the result data of the mesh model after the result data is obtained through CAE analysis. This process can include combining the result data with the mesh model for rendering and display to facilitate the user's intuitive understanding of the physical properties of the mesh model, or performing subsequent analysis and calculation on the result data. A post-processing request is made by the user through an external device, such as when the user clicks the area to be displayed on the software display interface with a mouse, which is equivalent to making a post-processing request. Based on the software function, this can be an operation such as rendering the mesh model.
[0069] In an embodiment of the present application, when a user makes a post-processing request, the post-processing request includes indication information for indicating a target area, such as an area of a grid model corresponding to a mouse click operation of the user. When the post-processing request is received, the grid model is partitioned based on the post-processing request. The grid model can be partitioned according to the properties of the grid model (such as the cell type) to obtain multiple areas, and the target area corresponding to the post-processing request is determined.
[0070] Step S103 : dividing the result data according to the regions and physical quantities to obtain a plurality of data blocks, wherein each data block contains physical quantity component data corresponding to a region.
[0071] In an embodiment of the present application, the result data obtained after the mesh model undergoes CAE analysis is a whole data, and the data occupies a large amount of memory. The present application obtains multiple smaller data blocks by segmenting the result data, wherein the segmentation basis is determined according to the post-processing request. In the aforementioned embodiment, the unit types of the mesh model may include beam units, shell units, and solid units. When segmenting the result data, the physical quantity corresponding to each beam unit can be regarded as a data block, the physical quantity corresponding to each shell unit can be regarded as a data block, and the physical quantity corresponding to each solid unit can be regarded as a data block to segment the result data to obtain multiple result data blocks.
[0072] As a possible implementation of the present application, for the convenience of explanation, taking a specific embodiment as an example, the grid model can be divided into multiple beam units, shell units, and solid units. For each unit, there is a corresponding physical quantity. Depending on the analysis model, the physical quantity is also different. For example, in mechanical analysis, the physical quantity can be the force on each unit. For example, when the analysis model is a displacement solution analysis model, the physical quantity can be six displacement components, namely, X-axis translation displacement, Y-axis translation displacement, Z-axis translation displacement, rotational displacement around the X-axis, rotational displacement around the Y-axis, and rotational displacement around the Z-axis. Optionally, when the result data is segmented, each component of the physical quantity on each unit can be used as a result data block, such as the X-axis translation displacement data on beam unit A as a data block, and the Z-axis translation displacement data on solid unit B as a data block. In the embodiment of the present application, the specific segmentation method of the result data is not limited by the present application.
[0073] Step S104: determining a target data block corresponding to the target area, and performing post-processing on the target data block based on the post-processing request.
[0074] In an embodiment of the present application, after determining the target data block corresponding to the target area, the target data block is post-processed based on the post-processing request. The post-processing may be data rendering, further data analysis and calculation, etc., which is not limited by the present application.
[0075] The embodiment of the present application obtains a plurality of smaller data blocks by dividing the larger result data obtained after CAE analysis of the grid model according to the properties of the grid model and the physical quantities corresponding to the grid model, and stores the corresponding data blocks in a cache area according to the user's post-processing request, and reads the data blocks from the cache area for post-processing, which can greatly reduce the memory requirements for software operation and improve the IO rate. At the same time, the result data is processed in blocks, and when the result data of any area in the grid model is post-processed according to user needs, there is no need to traverse the entire result data, the data processing efficiency is higher, the software will not experience lag, waiting, etc., and the user experience is improved.
[0076] As a possible implementation of the present application, in this implementation, if Figure 2 As shown, the dividing of the grid model into a plurality of areas according to the attributes based on the user's post-processing request includes:
[0077] Step S201: receiving a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model.
[0078] In an embodiment of the present application, the post-processing request includes attribute indication information for dividing the grid model, which means that the post-processing request includes the classification basis of the grid model. The attribute indication information of the grid model means that the grid model can be divided according to the different attributes. Specifically, it can be divided according to the unit type, such as dividing the grid model into beam units, shell units, solid units, etc. Optionally, the software can set a grid model division function. By clicking this function button, the user can display the types of grid model division, such as division by unit type, division by grid nodes, etc. The specific classification standard of the grid model is not limited by this application.
[0079] Step S202: Divide the grid model into multiple areas according to the attribute indication information.
[0080] In an embodiment of the present application, the grid model is divided into multiple areas based on the attribute indication information of the grid model. For example, the grid model is divided into beam units, shell units, and solid units according to the unit types in the grid model, where the number of units of each type can be one or more, depending on the actual situation.
[0081] The embodiment of the present application divides the grid model into regions, thereby facilitating the subsequent segmentation of the result data, determining the result data corresponding to each region, and providing a basis for data segmentation.
[0082] As a possible implementation manner of the present application, in this implementation manner, the post-processing request includes type information of the physical quantity to be processed, and the result data is segmented according to the region and the physical quantity to obtain multiple data blocks, wherein each data block contains physical quantity component data corresponding to a region, including:
[0083] The result data is divided into a plurality of data blocks according to the type of the physical quantity to be processed and the region, wherein each of the data blocks contains region information of a region and component information of a physical quantity of a target type corresponding to the region.
[0084] In an embodiment of the present application, when the result data is segmented, the segmentation can be performed based on the area of the grid model and the type of physical quantity, wherein the type of physical quantity to be processed is determined according to the type of analysis model. For example, in mechanical analysis, the physical quantity can be the force applied to each unit. For example, when the analysis model is a displacement solution analysis model, the physical quantity can be six displacement components, namely, X-direction translational displacement, Y-direction translational displacement, Z-direction translational displacement, rotational displacement around the X-axis, rotational displacement around the Y-axis, and rotational displacement around the Z-axis. Optionally, when the result data is segmented, each component of the physical quantity on each unit can be used as a result data block, such as the X-direction translational displacement data on beam unit A as a data block, and the Z-direction translational displacement data on solid unit B as a data block. In an embodiment of the present application, the present application does not limit the specific method of segmenting the result data.
[0085] The embodiment of the present application divides the result data into multiple smaller data blocks, so that data IO can be performed smoothly even when the hardware memory is small, thereby improving IO efficiency.
[0086] As a possible implementation of the present application, in this implementation, if Figure 3 As shown, the post-processing of the target data block based on the post-processing request includes:
[0087] Step S301: store the target data block into a buffer area and record the storage time.
[0088] In the embodiment of the present application, the result data obtained after CAE analysis of the mesh model is generally stored in the disk area. When the user needs to call it, the result data is stored in the memory and called. Because the result data is generally very large, it will take up a lot of memory when called, causing computer lag. In the embodiment of the present application, after determining the target data block corresponding to the target area, the target data block is stored from the disk area to the cache area, and the time when the target data block is stored in the cache area is recorded to facilitate the call of the target data block.
[0089] Step S302: According to the post-processing request, post-process the target area based on the physical quantity information in the target data block.
[0090] In the embodiment of the present application, after the target data is stored in the cache, the target area is post-processed based on the physical quantity information in the target data block according to the user's post-processing request. Optionally, the post-processing can be rendering, viewing displacement cloud maps, etc., which is not limited by this application.
[0091] In the embodiment of the present application, the target data block is stored in the cache area. When the target data block is needed, it is directly called from the cache area. The data block occupies less memory and the software responds quickly.
[0092] As a possible implementation of the present application, in this implementation, if Figure 4 As shown, before storing the target data block in the cache area, the method further includes:
[0093] Step S401: divide a storage space of a preset size in a preset memory area as a buffer area.
[0094] In the embodiment of the present application, the cache area refers to a part of the storage space in the computer's memory. In order to prevent the software from occupying too much memory and causing the software to run slowly, a part of the storage space in the memory is used as a cache area to store data blocks, and the data blocks are called in the cache area to reduce the memory space occupied when the software is running.
[0095] As a possible implementation method of the present application, for the convenience of explanation, taking a specific embodiment as an example, the memory of the computer hardware part is 4G, and the user can set 1G or 2G of storage space in the memory as a cache area according to needs. Optionally, the specific size of the storage space can be set according to actual conditions, and this application does not impose any restrictions on this.
[0096] Step S402: When the available storage space of the cache area is smaller than the size of the storage space occupied by the data block, at least one data block stored earliest in the cache area is deleted according to the storage time of each data block in the cache area until the size of the available storage space of the cache area is not smaller than the size of the storage space occupied by the data block.
[0097] In an embodiment of the present application, before storing a data block in the cache area, it is necessary to first check the size of the remaining storage space in the cache area. When the size of the remaining storage space in the cache area is less than the size of the storage space occupied by the data block, part of the data in the cache area needs to be quickly deleted. Optionally, according to the first-in-first-out principle, at least one data block first stored in the cache area can be deleted according to the time when the data block is stored in the cache area. Optionally, according to the size of the required storage space, one or more data blocks first stored can be deleted until the target data block can be stored in the cache area.
[0098] The embodiment of the present application follows the first-in-first-out principle and deletes at least one data block stored first when the storage space in the cache area is insufficient, thereby ensuring that the target data block can be stored in the cache area. In this way, when post-processing the result data, a smaller memory space can always be occupied, which will not affect the running speed of the software.
[0099] As a possible implementation manner of the present application, in this implementation manner, determining the target data block corresponding to the target area includes:
[0100] Searching the cache area for a target data block corresponding to the target area; or
[0101] When the target data block corresponding to the target area is not found in the cache area, the target data block corresponding to the target area is searched in a preset disk storage area.
[0102] In an embodiment of the present application, when a post-processing request is received from a user, when determining a target data block based on the post-processing request, the target data block can be first searched in the cache area. Because during the use of the software, the user may repeatedly view the same target data block. When a target data block is viewed by the user, the target data block may already be stored in the cache area. When viewing the target data block again, the target data block can be searched in the cache area. If the target data block exists in the cache area, the target data block can be directly called. If the target data block does not exist in the cache area, it is necessary to search the result data block on the disk for the corresponding target data block, determine the target data block corresponding to the target area in the result data stored on the disk, and store the target data block in the cache area.
[0103] The embodiment of the present application searches for the target data block in the cache first, and then searches the disk when the target data block does not exist in the cache. This can effectively reduce the workload of determining the target data block and improve the software response speed.
[0104] As a possible implementation of the present application, in this implementation, if Figure 5 As shown, searching for the target data block corresponding to the target area in the preset disk storage area includes:
[0105] Step S501 : searching the result data for target result data corresponding to the target area, wherein the result data is stored in a preset disk storage area.
[0106] In an embodiment of the present application, when searching for target result data corresponding to target data in the result data, it is necessary to search in a preset disk storage area, because the result data obtained after the grid model undergoes CAE analysis is stored in the disk area.
[0107] Step S502: combining the target result data and the target area into a target data block.
[0108] In an embodiment of the present application, after the target result data is determined, the target result data and the target area are combined to form a target data block, and the target data block is stored in a cache area for calling.
[0109] As a possible implementation of the present application, taking a specific embodiment as an example, for a certain grid model, when the user needs to view the displacement cloud map of the result, the user can select the structural area where the displacement cloud map needs to be displayed. The structural area can be the entire grid model, or certain units in the grid model specified by the user, such as beam units, shell units, etc., or a group of units selected by the user. Then, the target data block is read from the result data. The most basic unit of the target data block is a one-dimensional array. The factors that determine the size of the array can be the number of nodes in the grid model, the number of units in the grid model, the total number of units of the same unit type, or the total number of nodes corresponding to it. For example, for the static analysis of a 3D structure, the displacement solution of the node, the stress solution of the unit node, etc. will be output in the result file. The displacement solution will contain six displacement components, namely: X-direction translation displacement, Y-direction translation displacement, Z-direction translation displacement, rotation displacement around the X-axis, rotation displacement around the Y-axis, and rotation displacement around the Z-axis. To view physical quantities, such as mesh node displacement data, users first query the cache to see if the required displacement data exists. If the data exists, it is retrieved and applied to the mesh for rendering. If the data does not exist, the displacement data for all nodes in the corresponding mesh model is retrieved from the result file and stored in arrays, such as the X- and Y-direction displacements. When storing the arrays of each displacement component in the cache, the remaining available space is calculated. If the cache is fully occupied, the oldest unused data is cleared. Based on the mesh's block structure, the arrays for each displacement component are divided and stored in the cache. For example, for X-direction displacement data, the displacement data for all beam nodes, shell nodes, and solid nodes are stored in one array, depending on the element type. This is the data segmentation process. These arrays are then stored in the cache, and the corresponding data is applied to the mesh for rendering.
[0110] The embodiment of the present application obtains a plurality of smaller data blocks by dividing the larger result data obtained after CAE analysis of the grid model according to the properties of the grid model and the physical quantities corresponding to the grid model, and stores the corresponding data blocks in a cache area according to the user's post-processing request, and reads the data blocks from the cache area for post-processing, which can greatly reduce the memory requirements for software operation and improve the IO rate. At the same time, the result data is processed in blocks, and when the result data of any area in the grid model is post-processed according to user needs, there is no need to traverse the entire result data, the data processing efficiency is higher, the software will not experience lag, waiting, etc., and the user experience is improved.
[0111] Corresponding to the aforementioned application function implementation method embodiment, the present application also provides a data processing device, an electronic device and corresponding embodiments.
[0112] Figure 6 It is a structural diagram of a data processing device shown in an embodiment of the present application.
[0113] See also Figure 6 The data processing device provided in the embodiment of the present application includes a data acquisition module 610, a target area determination module 620, a data segmentation module 630, and a data processing module 640, wherein:
[0114] A data acquisition module 610 is configured to acquire result data obtained by CAE analysis of a mesh model and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model;
[0115] a target region determination module 620 for dividing the grid model into a plurality of regions according to the attributes and determining a target region based on a post-processing request of a user;
[0116] A data segmentation module 630 is configured to segment the result data according to the regions and physical quantities to obtain a plurality of data blocks, wherein each data block contains physical quantity component data corresponding to a region;
[0117] The data processing module 640 is configured to determine a target data block corresponding to the target area and perform post-processing on the target data block based on the post-processing request.
[0118] As a possible implementation of the present application, in this implementation, when the target area determination module 620 divides the grid model into multiple areas according to the attributes based on the user's post-processing request, it is configured to:
[0119] receiving a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model;
[0120] The grid model is divided into a plurality of regions according to the attribute indication information.
[0121] As a possible implementation of the present application, in this implementation, the post-processing request includes type information of the physical quantity to be processed, and the data segmentation module 630 segments the result data according to the region and the physical quantity to obtain multiple data blocks, wherein each data block contains physical quantity component data corresponding to a region, and is used to:
[0122] The result data is divided into a plurality of data blocks according to the type of the physical quantity to be processed and the region, wherein each of the data blocks contains region information of a region and component information of a physical quantity of a target type corresponding to the region.
[0123] As a possible implementation manner of the present application, in this implementation manner, when the data processing module 640 performs post-processing on the target data block based on the post-processing request, it is configured to:
[0124] Storing the target data block in a buffer area and recording the storage time;
[0125] According to the post-processing request, the target area is post-processed based on the physical quantity information in the target data block.
[0126] As a possible implementation of the present application, in this implementation, before storing the target data block in the cache area, the data processing module 640 is configured to:
[0127] A storage space of a preset size is divided in a preset memory area as a buffer area;
[0128] When the available storage space of the cache area is smaller than the size of the storage space occupied by the data block, at least one data block stored in the cache area earliest is deleted according to the storage time of each data block in the cache area until the size of the available storage space of the cache area is not smaller than the size of the storage space occupied by the data block.
[0129] As a possible implementation manner of the present application, in this implementation manner, determining the target data block corresponding to the target area includes:
[0130] Searching the cache area for a target data block corresponding to the target area; or
[0131] When the target data block corresponding to the target area is not found in the cache area, the target data block corresponding to the target area is searched in a preset disk storage area.
[0132] As a possible implementation manner of the present application, in this implementation manner, searching for a target data block corresponding to the target area in a preset disk storage area includes:
[0133] Searching the result data for target result data corresponding to the target area, wherein the result data is stored in a preset disk storage area;
[0134] The target result data and the target area are combined into a target data block.
[0135] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated again here.
[0136] The embodiment of the present application obtains a plurality of smaller data blocks by dividing the larger result data obtained after CAE analysis of the grid model according to the properties of the grid model and the physical quantities corresponding to the grid model, and stores the corresponding data blocks in a cache area according to the user's post-processing request, and reads the data blocks from the cache area for post-processing, which can greatly reduce the memory requirements for software operation and improve the IO rate. At the same time, the result data is processed in blocks, and when the result data of any area in the grid model is post-processed according to user needs, there is no need to traverse the entire result data, the data processing efficiency is higher, the software will not experience lag, waiting, etc., and the user experience is improved.
[0137] Reference below Figure 7 , which shows a schematic structural diagram of an electronic device 700 suitable for implementing the embodiments of the present disclosure. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0138] The electronic device includes: a memory and a processor, wherein the processor here may be referred to as the processing device 701 described below, and the memory may include at least one of the read-only memory (ROM) 702, the random access memory (RAM) 703, and the storage device 708 described below, as shown below:
[0139] like Figure 7 As shown, the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the electronic device 700 are also stored in the RAM 703. The processing device 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0140] Typically, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device 700 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 7 The electronic device 700 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
[0141] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.
[0142] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.
[0143] In some embodiments, the client and server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0144] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0145] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: obtains the result data obtained by CAE analysis of the grid model and the properties of the grid model, wherein the result data at least includes the physical quantity corresponding to the grid model; based on the user's post-processing request, divides the grid model into multiple areas according to the properties, and determines the target area; divides the result data according to the areas and physical quantities to obtain multiple data blocks, wherein each data block contains physical quantity component data corresponding to an area; determines the target data block corresponding to the target area, and post-processes the target data block based on the post-processing request.
[0146] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0147] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0148] The modules or units described in the embodiments of the present disclosure may be implemented in software or hardware. The names of the modules or units do not, in some cases, limit the units themselves. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses."
[0149] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0150] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0151] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.
[0152] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0153] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.
Claims
1. A data processing method, characterized in that: The data processing method includes: Obtaining result data obtained by CAE analysis of a mesh model and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model; Based on a user's post-processing request, the grid model is divided into a plurality of regions according to the attributes, and a target region is determined; wherein the post-processing includes a process of processing the result data obtained after the grid model undergoes CAE analysis, or performing subsequent analysis and calculation on the result data; the post-processing request includes type information of the physical quantity to be processed; Segmenting the result data according to the region and the physical quantity to obtain a plurality of data blocks, wherein each of the data blocks contains physical quantity component data corresponding to a region; comprising: segmenting the result data according to the type of the physical quantity to be processed and the region into a plurality of data blocks, wherein each of the data blocks contains region information of a region and component information of a physical quantity of a target type corresponding to the region; Determine the target data block corresponding to the target area, and post-process the target data block based on the post-processing request; including: storing the target data block in a cache area and recording the storage time; according to the post-processing request, post-process the target area based on the physical quantity information in the target data block.
2. The data processing method according to claim 1, wherein: The dividing the grid model into a plurality of areas according to the attributes based on the post-processing request of the user comprises: receiving a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model; The grid model is divided into a plurality of regions according to the attribute indication information.
3. The data processing method according to claim 1, wherein: Before storing the target data block in the cache area, the method further includes: A storage space of a preset size is divided in a preset memory area as a buffer area; When the available storage space of the cache area is smaller than the size of the storage space occupied by the data block, at least one data block stored in the cache area earliest is deleted according to the storage time of each data block in the cache area until the size of the available storage space of the cache area is not smaller than the size of the storage space occupied by the data block.
4. The data processing method according to claim 1, wherein: The determining the target data block corresponding to the target area includes: Searching the cache area for a target data block corresponding to the target area; or When the target data block corresponding to the target area is not found in the cache area, the target data block corresponding to the target area is searched in a preset disk storage area.
5. The data processing method according to claim 4, characterized in that: The step of searching for a target data block corresponding to the target area in a preset disk storage area includes: Searching the result data for target result data corresponding to the target area, wherein the result data is stored in a preset disk storage area; The target result data and the target area are combined into a target data block.
6. A data processing device, characterized in that: The data processing device includes: A data acquisition module, configured to acquire result data obtained by CAE analysis of a mesh model and properties of the mesh model, wherein the result data at least includes physical quantities corresponding to the mesh model; a target region determination module, configured to divide the grid model into a plurality of regions according to the attributes and determine a target region based on a post-processing request from a user; wherein post-processing includes processing the result data obtained after the grid model undergoes CAE analysis, or performing subsequent analysis and calculation on the result data; and wherein the post-processing request includes information on the type of physical quantity to be processed; a data segmentation module, configured to segment the result data according to the region and the physical quantity to obtain a plurality of data blocks, wherein each of the data blocks contains physical quantity component data corresponding to one region; when the data segmentation module segments the result data according to the region and the physical quantity to obtain a plurality of data blocks, wherein each of the data blocks contains physical quantity component data corresponding to one region, the data segmentation module is configured to: segment the result data according to the type of the physical quantity to be processed and the region into a plurality of data blocks, wherein each of the data blocks contains region information of one region and component information of a physical quantity of a target type corresponding to the one region; A data processing module is used to determine the target data block corresponding to the target area and post-process the target data block based on the post-processing request; it includes: a data cache unit, used to store the target data block in a cache area and record the storage time; a post-processing unit, used to post-process the target area based on the physical quantity information in the target data block according to the post-processing request.
7. The data processing device according to claim 6, characterized in that The target area determination module includes: a post-processing request receiving unit, configured to receive a post-processing request from a user, wherein the post-processing request includes attribute indication information for dividing the grid model; A region division unit is configured to divide the grid model into a plurality of regions according to the attribute indication information.
8. The data processing device according to claim 6, characterized in that The data processing module includes: A cache area division unit, configured to divide a storage space of a preset size in a preset memory area as a cache area; The data deleting unit is configured to delete at least one data block stored earliest in the cache area according to the storage time of each data block in the cache area when the storage space of the cache area is smaller than the size of the storage space occupied by the data block.
9. An electronic device, characterized in that: include: processor; as well as A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to any one of claims 1 to 5.
10. A computer-readable storage medium, characterized in that An executable code is stored thereon, and when the executable code is executed by a processor of an electronic device, the processor is caused to execute the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Analysis simulation device and its high-speed display method
JP1997305651A
Analysis method using finite element method and program for it
JP2004013442A