An emulation method and related apparatus
Patent Information
- Application Number
- CN202510472326.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2026-10-23
AI Technical Summary
[0003]本申请提供了一种仿真方法及相关装置,实现了PCB板级仿真过程的自动化,解决了PCB板级仿真问题
[0045]可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
Smart Images

Figure CN122965418A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of PCB board simulation, and in particular to a simulation method and related apparatus. Background Technology
[0002] Printed Circuit Boards (PCBs) are the supporting structures for electronic components and the cornerstone of today's electronic world. PCBs have complex structures and house a large number of devices, making PCB-level simulation (simulating the PCB and the numerous devices mounted on it) a challenging problem. Therefore, a simulation method is needed to solve the PCB-level simulation problem. Summary of the Invention
[0003] This application provides a simulation method and related apparatus, which automates the PCB board-level simulation process and solves the PCB board-level simulation problem.
[0004] Firstly, this application provides a simulation method, which includes: acquiring input information, including identification information and position information of multiple devices, wherein at least two of the multiple devices have different material properties, such as a PCB board and multiple devices disposed on it; matching the geometric information and material information of the multiple devices from a device database based on the identification information; obtaining an assembly of the multiple devices based on the geometric information and position information, wherein the assembly is a geometric structure that eliminates the contact surfaces between the multiple devices; meshing the assembly to obtain multiple mesh elements; determining the material properties of each mesh element in the multiple mesh elements based on the material information; and performing simulation to solve the assembly to obtain the simulation result of the assembly.
[0005] This application eliminates the contact surfaces between devices, avoiding multiple iterations at these surfaces during simulation, thus significantly reducing the single-run simulation time and improving efficiency. Based on material information, the material properties of each mesh element in multiple mesh cells are determined. Different locations within the assembly possess different material properties, making these properties exist as a "field." Therefore, the material properties of the assembly can be understood as a "material field." This "material field" solves the problem of assigning material properties to mesh elements across devices after eliminating contact surfaces, ensuring the accuracy of simulation results while improving simulation efficiency. This application automates the simulation process, solving the most time-consuming preprocessing steps of geometry cleaning and simplification. Furthermore, by connecting preprocessing, solving, and post-processing through the material field, it achieves full automation, addressing the issues of high operational barriers and significant manual time consumption in simulation. This application provides a device database. Through unique device identifiers (such as serial numbers and models), it automatically acquires various attribute information required during simulation, including geometry, materials, connections, and excitation. This solution addresses the issue of simulation engineers having to navigate through multiple steps to search and download data in traditional workflows, improving efficiency while avoiding errors introduced by human intervention.
[0006] In one possible implementation, the above-mentioned determination of the material properties of each grid cell in multiple grid cells based on material information includes: determining the material information of each point in the point cloud data of the assembly based on the material information; and obtaining the material properties of each grid cell based on the points contained in each grid cell and their material information.
[0007] In this implementation, the assembly is processed as point cloud data, where each point (also called a dot) is a smaller geometric shape than a mesh cell. Points do not cross boundaries, and their material properties are unique. Therefore, the material properties of each mesh cell can be obtained based on the points it contains and their material information. This automates the generation of the "material field."
[0008] In one possible implementation, obtaining the material properties of each grid cell based on the points and their material information contained in each grid cell includes: determining the network cell to which each point in the point cloud data of the assembly belongs; and interpolating the material information of all points contained in each grid cell to obtain the material properties of each grid cell.
[0009] In this implementation, the network element to which each point belongs is first determined; then, the material information of all points contained in each mesh element is interpolated to obtain the material properties of each mesh element. In this way, the material properties of each mesh element are closer to the true physical values of the mesh element's material properties, improving the accuracy of the simulation results.
[0010] In one possible implementation, obtaining the material properties of each grid cell based on the points contained in each grid cell and their material information includes: constructing spatial structured information of multiple grid cells based on the centroid of each grid cell; constructing the bounding box of each point in the point cloud data of the assembly; determining the network cell to which each point belongs based on at least one grid cell within the bounding box of each point; and interpolating the network cell to which each point belongs and the material information of each point to obtain the material properties of each grid cell.
[0011] In this implementation, the bounding box technique is used to determine the network cell to which each point in the point cloud data of the composite belongs, which can reduce the number of enumerated grid cells and improve computational efficiency.
[0012] In one possible implementation, the input information mentioned above also includes mesh parameter information, which includes information on the fineness of the mesh cells and / or the number and size of the mesh cells. The above-mentioned meshing of the assembly to obtain multiple mesh cells includes: dividing the assembly according to the mesh parameter information to obtain multiple mesh cells.
[0013] In this implementation, the resolution of the mesh cells is controlled through mesh parameter information, thereby enabling targeted extraction of the geometric features of the composite object and solving the most time-consuming problem of geometric cleaning and simplification in preprocessing. For example, by setting coarser mesh cells through mesh parameter information, the geometry of sharp corners and cusps can be cleaned and simplified.
[0014] In one possible implementation, the aforementioned multiple mesh elements include adjacent first and second elements; the simulation includes thermal simulation. The aforementioned simulation solution for the assembly includes: determining the surface heat flow of adjacent surfaces in a first direction and a second direction; adjacent surfaces refer to the adjacent surfaces between the first and second elements, the first direction represents the direction of the line connecting the centroids of the first and second elements, and the second direction represents the direction perpendicular to the normal of the adjacent surfaces; determining the surface heat flow of adjacent surfaces based on the surface heat flow in the first and second directions.
[0015] In this implementation, the surface heat flow in the first direction corresponding to the centroid of the first unit and the centroid of the second unit is the main direction of heat transfer. The surface heat flow in the second direction is the error supplement of the surface heat flow in the first direction. The surface heat flow in the first direction and the surface heat flow in the second direction are added together to obtain the surface heat flow of adjacent surfaces, thereby making the surface heat flow of adjacent surfaces more accurate and improving the accuracy of the simulation results.
[0016] In one possible implementation, the determination of the surface heat flow of adjacent surfaces in the first direction and the surface heat flow in the second direction includes: when the material properties of the first unit and the second unit are different, using a first calculation formula to determine the surface heat flow in the first direction, and setting the surface heat flow in the second direction to zero, wherein the first calculation formula is related to the material properties of the first unit and the material properties of the second unit.
[0017] In this implementation, when the material properties of the first and second units are different, the surface heat flux in the second direction is zero. A first calculation formula for the surface heat flux in the first direction is determined based on the material properties of the first and second units. The surface heat flux in the second direction is generally determined based on the temperature gradient between adjacent surfaces. Since the material properties of the first and second units are different, calculating the temperature gradient between adjacent surfaces is complex and time-consuming. The zero surface heat flux in the second direction simplifies the calculation process and improves computational efficiency. The difference in material properties between the first and second units is reflected in the first calculation formula for the surface heat flux in the first direction. This approach considers both the different material properties of the first and second units while simplifying the calculation process and improving computational efficiency.
[0018] In one possible implementation, the first calculation formula described above relates to at least one of the following: the temperature and thermal conductivity of the first unit, the temperature and thermal conductivity of the second unit, the distance between the centroid of the first unit and the centroid of the second unit, the distance between the centroid of the first unit and the intersection point, and the distance between the centroid of the second unit and the intersection point; the intersection point represents the point where the line connecting the centroids of the first unit and the centroids of the second unit intersects with adjacent surfaces.
[0019] In this implementation, the first calculation formula is illustrated by way of example, but there are no limitations on the first calculation formula.
[0020] In one possible implementation, the determination of the surface heat flow in the first direction and the surface heat flow in the second direction of adjacent surfaces includes: when the material properties of the first unit and the second unit are the same, using a second calculation formula to determine the surface heat flow in the first direction; the second calculation formula is related to the material properties of the first unit or the second unit; and determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces, where the surface gradient represents the temperature gradient of the surface.
[0021] In this implementation, when the material properties of the first and second units are the same, the second calculation formula is related to the same material properties, thus simplifying the calculation process and improving computational efficiency. The surface heat flow in the second direction is determined based on the temperature gradient of adjacent surfaces. The surface heat flow in the second direction can correct the surface heat flow in the first direction, making the heat transfer direction closer to the temperature gradient of adjacent surfaces, thereby making the surface heat flow of adjacent surfaces more accurate and improving the accuracy of the simulation results.
[0022] In one possible implementation, the second calculation formula described above relates to at least one of the temperature of the first unit, the temperature of the second unit, the thermal conductivity of the first or second unit, and the distance between the centroids of the first and second units.
[0023] In this implementation, the second calculation formula is illustrated by way of example, but there are no limitations on the second calculation formula.
[0024] In one possible implementation, the above-mentioned determination of the surface heat flow in the second direction based on the surface gradient of adjacent surfaces includes: calculating the volume gradient of the first unit and the second unit, where the volume gradient represents the temperature gradient of the mesh element; obtaining the surface gradient of adjacent surfaces based on the volume gradient of the first unit and the second unit; and determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces and the thermal conductivity of the first unit or the second unit.
[0025] In this implementation, the surface gradient of adjacent surfaces is obtained based on the volume gradient of the first and second units; the surface heat flow in the second direction is determined based on the surface gradient of the adjacent surfaces and the thermal conductivity of the first or second unit. In this way, the surface heat flow in the second direction is consistent with the surface gradient of the adjacent surfaces, making the surface heat flow of the adjacent surfaces closer to the real physical scene and improving the accuracy of the simulation results.
[0026] In one possible implementation, obtaining the surface gradient of adjacent surfaces based on the volume gradients of the first and second units includes: interpolating the volume gradients of the first and second units based on a first distance and a second distance; the first distance represents the distance between the centroid of the first unit and the intersection point, the second distance represents the distance between the centroid of the second unit and the intersection point, and the intersection point represents the intersection point of the line connecting the centroids of the first and second units with the adjacent surfaces; and / or, the adjacent surfaces are the boundary surfaces of the composite body, and a reference gradient is determined based on the temperature of the target unit, the temperature of the adjacent surfaces, and a third distance; the target unit represents the unit in the first and second units with adjacent surfaces, and the third distance represents the distance between the centroid of the target unit and the surface center of the adjacent surface; and the surface gradient of the adjacent surfaces is determined based on the reference gradient and the volume gradient of the target unit.
[0027] This implementation provides a process for determining the surface gradients of adjacent faces of the first and second units. Based on the first and second distances, the volume gradients of the first and second units are interpolated, making the surface gradients of adjacent faces more accurate. This implementation also provides a process for determining the surface gradients of the boundary faces of the first and second units. By setting a reference gradient, the surface gradients of the boundary faces are made closer to the real physical scene, improving the accuracy of the simulation results.
[0028] Secondly, this application provides a simulation apparatus, the method comprising: an acquisition module for acquiring input information, the input information including identification information and position information of multiple devices, wherein at least two of the multiple devices include devices with different material properties, such as a PCB board and multiple devices disposed thereon; a processing module for matching geometric information and material information of the multiple devices from a device database based on the identification information; and obtaining an assembly of the multiple devices based on the geometric information and position information, the assembly being a geometric structure that eliminates the contact surfaces between the multiple devices; and meshing the assembly to obtain multiple mesh elements; and determining the material properties of each mesh element in the multiple mesh elements based on the material information; and performing simulation solving on the assembly to obtain the simulation result of the assembly.
[0029] In one possible implementation, when determining the material properties of each grid cell in multiple grid cells based on the material information, the above processing module is specifically used to: determine the material information of each point in the point cloud data of the assembly based on the material information; and obtain the material properties of each grid cell based on the points contained in each grid cell and their material information.
[0030] In one possible implementation, when obtaining the material properties of each grid cell based on the points and their material information contained in each grid cell, the above processing module is specifically used to: determine the network cell to which each point in the point cloud data of the assembly belongs; and perform interpolation processing on the material information of all points contained in each grid cell to obtain the material properties of each grid cell.
[0031] In one possible implementation, when obtaining the material properties of each grid cell based on the points contained in each grid cell and their material information, the above processing module is specifically used to: construct the spatial structured information of multiple grid cells based on the centroid of each grid cell; construct the bounding box of each point in the point cloud data of the assembly; determine the network cell to which each point belongs based on at least one grid cell within the bounding box of each point; and interpolate the network cell to which each point belongs and the material information of each point to obtain the material properties of each grid cell.
[0032] In one possible implementation, the input information mentioned above also includes mesh parameter information, which includes information on the fineness of the mesh cells and / or the number and size of the mesh cells. When meshing the assembly to obtain multiple mesh cells, the processing module is specifically used to: divide the assembly into multiple mesh cells according to the mesh parameter information.
[0033] In one possible implementation, the aforementioned multiple mesh elements include adjacent first and second elements; the simulation includes thermal simulation. When simulating the assembly, the aforementioned processing module is specifically used to: determine the surface heat flow of adjacent surfaces in a first direction and a second direction; adjacent surfaces refer to the adjacent surfaces between the first and second elements, the first direction represents the direction of the line connecting the centroids of the first and second elements, and the second direction represents the direction perpendicular to the normal of the adjacent surfaces; based on the surface heat flow in the first and second directions, the surface heat flow of adjacent surfaces is determined.
[0034] In one possible implementation, when determining the surface heat flow of adjacent surfaces in the first direction and the second direction, the above processing module is specifically used to: when the material properties of the first unit and the second unit are different, use a first calculation formula to determine the surface heat flow in the first direction and set the surface heat flow in the second direction to zero. The first calculation formula is related to the material properties of the first unit and the second unit.
[0035] In one possible implementation, the first calculation formula described above relates to at least one of the following: the temperature and thermal conductivity of the first unit, the temperature and thermal conductivity of the second unit, the distance between the centroid of the first unit and the centroid of the second unit, the distance between the centroid of the first unit and the intersection point, and the distance between the centroid of the second unit and the intersection point; the intersection point represents the point where the line connecting the centroids of the first unit and the centroids of the second unit intersects with adjacent surfaces.
[0036] In one possible implementation, when determining the surface heat flow of adjacent surfaces in the first direction and the second direction, the above processing module is specifically used to: when the material properties of the first unit and the second unit are the same, use a second calculation formula to determine the surface heat flow in the first direction; the second calculation formula is related to the material properties of the first unit or the second unit; and determine the surface heat flow in the second direction based on the surface gradient of adjacent surfaces, where the surface gradient represents the temperature gradient of the surface.
[0037] In one possible implementation, the second calculation formula described above relates to at least one of the temperature of the first unit, the temperature of the second unit, the thermal conductivity of the first or second unit, and the distance between the centroids of the first and second units.
[0038] In one possible implementation, when determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces, the above processing module is specifically used to: calculate the volume gradient of the first unit and the second unit, where the volume gradient represents the temperature gradient of the mesh unit; obtain the surface gradient of adjacent surfaces based on the volume gradient of the first unit and the second unit; and determine the surface heat flow in the second direction based on the surface gradient of adjacent surfaces and the thermal conductivity of the first unit or the second unit.
[0039] In one possible implementation, when obtaining the surface gradient of adjacent surfaces based on the volume gradients of the first and second units, the above processing module is specifically used to: interpolate the volume gradients of the first and second units based on a first distance and a second distance; the first distance represents the distance between the centroid of the first unit and the intersection point, the second distance represents the distance between the centroid of the second unit and the intersection point, and the intersection point represents the intersection point of the line connecting the centroids of the first and second units with the adjacent surfaces; and / or, when the adjacent surfaces are the boundary surfaces of the composite, determine a reference gradient based on the temperature of the target unit, the temperature of the adjacent surfaces, and a third distance; the target unit represents the unit in the first and second units that has adjacent surfaces, and the third distance represents the distance between the centroid of the target unit and the surface center of the adjacent surface; and determine the surface gradient of the adjacent surfaces based on the reference gradient and the volume gradient of the target unit.
[0040] Thirdly, this application provides a simulation system, comprising at least a preprocessing module, a solving module, and a post-processing module. The preprocessing module is used to acquire input information, including identification and location information of multiple devices, at least two of which have different material properties; and, based on the identification information, to match and obtain the geometric and material information of the multiple devices from a device database; and, based on the geometric and location information, to obtain an assembly of the multiple devices, the assembly being a geometric structure that eliminates the contact surfaces between the multiple devices; and to mesh the assembly to obtain multiple mesh elements; and, based on the material information, to determine the material properties of each mesh element. The solving module is used to perform simulation solving on the assembly to obtain the simulation results of the assembly.
[0041] Fourthly, this application provides a simulation device, including at least one processor and an interface; the at least one processor acquires program instructions through the interface; the at least one processor is used to execute program line instructions to implement the method described in the first aspect. Exemplarily, the device may be, but is not limited to, a chip.
[0042] Fifthly, this application provides an electronic device, comprising: at least one memory for storing a program; and at least one processor for executing the program stored in the memory; wherein, when the program stored in the memory is executed, the processor is configured to perform the method as described in the first aspect.
[0043] In a sixth aspect, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to perform the method described in the first aspect.
[0044] In a seventh aspect, this application provides a computer program product that, when run on a processor, causes the processor to perform the method described in the first aspect.
[0045] It is understood that the beneficial effects of the second to seventh aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0046] Figure 1 This is a schematic diagram of a solution provided by related technologies;
[0047] Figure 2 This is a schematic diagram of the structure of a simulation system provided in an embodiment of this application;
[0048] Figure 3 This is a comparative schematic diagram of the mesh cells of related technologies and the mesh cells provided in the embodiments of this application;
[0049] Figure 4 This is a schematic diagram of the method for assigning material properties to mesh elements provided in an embodiment of this application;
[0050] Figure 5 This is a schematic diagram illustrating an example of the unit to which a pixel belongs, provided in an embodiment of this application.
[0051] Figure 6a This is a schematic diagram of adjacent grid cells provided in an embodiment of this application;
[0052] Figure 6b This is a schematic diagram of orthogonal and non-orthogonal vectors provided in the embodiments of this application;
[0053] Figure 6c This is a schematic diagram of the intersection point of the centroid of an adjacent mesh cell and an adjacent face provided in an embodiment of this application;
[0054] Figure 6d This is a schematic diagram of the surface gradient when adjacent surfaces are boundary surfaces, as provided in an embodiment of this application.
[0055] Figure 6e This is a schematic diagram of the reference gradient provided in the embodiments of this application;
[0056] Figure 7 This is a schematic diagram of a simulation method provided in an embodiment of this application;
[0057] Figure 8aThis is a schematic diagram of a physical device assembly provided in an embodiment of this application;
[0058] Figure 8b This is a schematic diagram showing the analytical results of the copper foil layer and traces provided in the embodiments of this application;
[0059] Figure 8c This is a schematic diagram of the geometrically cleaned and simplified PCB assembly model provided in the embodiments of this application;
[0060] Figure 8d This is a schematic diagram of the PCB component model provided in this application embodiment placed in simulation software;
[0061] Figure 8e This is a schematic diagram of the assembly of the PCB components provided in the embodiments of this application to obtain the combined body;
[0062] Figure 8f This is a schematic diagram of the simulation results of the assembly provided in the embodiments of this application;
[0063] Figure 9 This is a schematic diagram of the structure of a simulation device provided in an embodiment of this application;
[0064] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0065] Figure 11 This is a schematic diagram of the structure of a simulation device provided in an embodiment of this application. Detailed Implementation
[0066] In this article, the term "and / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The symbol " / " in this article indicates that the related objects are in an "or" relationship; for example, A / B means A or B.
[0067] The terms "first" and "second," etc., used in the specification and claims herein are used to distinguish different objects, not to describe a specific order of objects. For example, "first response message" and "second response message," etc., are used to distinguish different response messages, not to describe a specific order of response messages.
[0068] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0069] In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more, for example, multiple processing units means two or more processing units, multiple elements means two or more elements, etc.
[0070] To facilitate understanding of the solutions provided in the embodiments of this application, some of the terms involved in this solution will be briefly introduced first.
[0071] Simulation: In this article, simulation specifically refers to computer simulation, a mathematical modeling process running on a computer, aimed at predicting the behavior or outcomes of a real-world or physical system. The reliability of some mathematical models can be determined by comparing the consistency between simulation results and real-world results. Currently, computer simulation is a very helpful tool for mathematical modeling of many natural systems in physics (computational physics), astrophysics, climatology, chemistry, biology, and manufacturing, as well as human systems in economics, psychology, social sciences, healthcare, and engineering.
[0072] Geometry cleanup and simplification: These are commonly used concepts in simulation. Cleanup refers to removing "dirty" geometry, with the main goal of making the geometry more regular and easier to mesh. Specifically, geometry cleanup involves dividing and merging surfaces and edges, transforming irregular faces into smaller, more regular ones. Simplification involves reducing complex features to simpler ones, typically by removing small features unnecessary for meshing.
[0073] Solving: A term in numerical analysis, referring to the use of numerical approximation algorithms in mathematical analysis problems to obtain approximate but sufficiently accurate results. It is commonly used in numerical weather prediction, calculating spacecraft trajectories, and computer simulations of car crashes used by car companies.
[0074] Printed Circuit Boards (PCBs) are the supporting structures for electronic components and the cornerstone of today's electronic world. PCBs have complex structures and house a large number of devices, making PCB-level simulation (simulating the PCB and the numerous devices mounted on it) a challenging problem. Therefore, a simulation method is needed to solve the PCB-level simulation problem.
[0075] Figure 1 This is a schematic diagram of a solution provided by related technologies. For example... Figure 1As shown, in one solution of related technologies, a simulation system mainly includes modules such as preprocessing, mesh generation, solving, and post-processing. The preprocessing module includes: a device geometry module for inputting device geometry, which is a 3D model; a simulation settings module for setting up the simulation; and a geometry cleanup and simplification module for cleaning and simplifying the geometry.
[0076] In the solutions of related technologies, the preprocessing process relies heavily on manual operation, resulting in low simulation efficiency, poor simulation effect, and high cost.
[0077] For example, PCB boards typically contain multiple conductive layers, circuits, pads, conductive vias, and other numerous intricate structures and complex metal traces. The lengthy processing time for "geometric simplification and cleaning" is the main reason for the low efficiency of "pre-processing." For instance, the detailed features of devices need to be processed one by one. When the number of devices reaches hundreds or thousands, manual geometric simplification and cleaning can usually take several days.
[0078] For example, the complexity of the scenario requires a high level of experience from simulation engineers, which is a major factor limiting simulation efficiency. For instance, using a "rough modeling" approach for "geometric simplification and cleanup" is highly dependent on the engineering experience of engineers. Inappropriate simplification can lead to excessive errors or even distortion in the results.
[0079] For example, PCB modeling has become a major challenge in thermal flow simulation, leading to high operational and computational costs. Typically, PCB-level simulations involve over 1000 components and numerous interfaces between them. Related solution methods require iterative convergence at these interfaces. The more interfaces there are, the longer the solution process takes, resulting in very low computational efficiency for PCB-level simulations. For instance, the interface handling method in related techniques significantly impacts solution efficiency; for the same heat pipes and heat exchangers, calculating the heat pipe-heat exchanger interface increases the solution time by approximately seven times.
[0080] In view of this, the embodiments of this application provide a simulation method that automates the PCB board-level simulation process, solves the problem that the pre-processing in the PCB board-level simulation process heavily relies on manual operation, reduces the experience requirements of simulation engineers, and lowers labor costs.
[0081] Figure 2 This is a schematic diagram of the structure of a simulation system provided in an embodiment of this application. For example... Figure 2As shown in the figure, this application provides a simulation system, which mainly includes a preprocessing module, a solution module, and a post-processing module. This simulation system automates the preprocessing process, solving the problem of heavy reliance on manual operation in the preprocessing stage, reducing the experience requirements of simulation engineers, and lowering labor costs.
[0082] In this embodiment, the automation of the entire simulation process can be understood as an "end-to-end" simulation process. That is, the simulation system obtains the user's input information, automatically executes the simulation process based on the input information, and outputs the simulation results to the user.
[0083] Furthermore, the simulation system reads input information, which includes information about the simulation object. The simulation object is the PCB assembly to be simulated. A PCB assembly refers to an assembly of a PCB board and multiple components arranged on it. Relevant information includes the component numbers, relative positions, connections, and excitations of each component within the PCB assembly.
[0084] For example, the files for input information include, but are not limited to: Open Database++ (ODB++), Business Requirement Document (BRD), and other Electronic Computer Aided Design (ECAD) files.
[0085] In this embodiment, the preprocessing module includes: a device database module, a simulation settings module, a background mesh generation module, and a material field generation module.
[0086] Furthermore, the "device database module" will be further explained. Generally, PCB boards and the devices arranged on them are standard parts. The structure, size, and materials of standard parts are standardized, with unified specifications and standards. PCB boards and the devices arranged on them can be associated through identification information such as serial numbers and model numbers. Therefore, this application embodiment provides a device database, which includes multiple PCB boards and electronic devices of different models, categories, and manufacturers. During simulation, the geometric information, material information, and other attribute information of a certain device can be uniquely determined from the device database through identification information. Attribute information includes geometric information, weight, material information, power consumption, etc. Among them, the geometric information of each device represents the data of the geometric structure of the device; after rendering based on the geometric information of each device, a three-dimensional model of the device can be obtained. Among them, the material information of each device indicates the material properties of the device, such as material type, density, specific heat capacity, etc.
[0087] In this embodiment, information such as geometric information, material information, connections, and excitation required during simulation can be automatically obtained from a device database using the device's unique code (example of identification information). This eliminates the need for simulation engineers to perform multiple jumps and downloads in the relevant technical process, improving efficiency while avoiding errors introduced by human operation.
[0088] Understandably, related technologies require modeling to obtain the device geometry, followed by simulation and geometric cleaning and simplification. In this embodiment, the device geometry is obtained by retrieving its geometric information from a device database using its code. This eliminates the need for manual modeling, avoiding the errors introduced by manual modeling.
[0089] As can be understood, a device database refers to a collection of multiple devices. Each device in the database is configured with identification and attribute information. The identification information uniquely identifies each device. The attribute information includes geometric information, weight, material information, power consumption, etc.; attribute information refers to the inherent properties of each device and does not change with different usage scenarios. The input information of the simulation system refers to the information from one or more devices in the device database. Input information includes the identification information, location information, connection relationship information, and excitation information of one or more devices, etc., which are relevant to a specific usage scenario; input information is not the inherent attributes of each device, but rather information corresponding to the usage scenario. For example, the identification information of the input information indicates which devices are used; the location information between the devices indicates the relative positions of the devices in a device number pair; the connection relationship information indicates the connection relationships between the devices; and the excitation information indicates the input power, voltage, current, etc., of each device.
[0090] Furthermore, the "Simulation Settings Module" will be explained in more detail. The Simulation Settings Module is used to set the simulation conditions, such as ambient temperature, wind speed, and mesh parameters. It can be understood that the input information includes the simulation settings information, which serves as the input to the Simulation Settings Module for simulation configuration.
[0091] In this embodiment, the mesh parameters refer to the resolution control parameters of the background mesh. Mesh parameters can be parameters used to select mesh precision, such as "fine" indicating high mesh precision, "medium" indicating medium mesh precision, and "low" indicating low mesh precision. Mesh parameters can also be parameters used to set related mesh parameters, such as the number of meshes and the mesh size.
[0092] Furthermore, the "background mesh generation module" will be explained in more detail. In this module, the target device can be meshed based on the mesh parameter information in the input information, resulting in multiple mesh elements.
[0093] In this embodiment, by setting mesh parameters in the input information, the resolution of the background mesh can be controlled. A denser background mesh is generated based on the simulation settings and the device's geometric information, enabling targeted extraction of geometric features. This saves on manual geometric cleaning and simplification, improving the efficiency of pre-simulation processing. For example, by setting reasonable mesh parameters, a larger mesh can be used to automatically filter out overly dense device geometries such as cusps and chamfers, automating the "geometric cleaning and simplification" pre-processing work and avoiding manual intervention, thus improving the efficiency of pre-simulation processing.
[0094] It should be noted that in related technologies, the mesh generation module divides the PCB assembly into multiple mesh units by device. However, this device-based meshing process requires iterative work such as mesh division and alignment at the interfaces between different devices, resulting in long mesh generation time and low meshing efficiency. In this embodiment, the background mesh generation module divides the entire PCB assembly into multiple mesh units. That is, during the background mesh generation process, the background mesh generation module no longer identifies the interfaces between devices within the assembly, but treats the entire assembly as a single structure for mesh division. Therefore, it eliminates the need for iterative work such as mesh division and alignment at the interfaces between different devices, resulting in shorter mesh generation time and higher meshing efficiency.
[0095] In one possible implementation, the background mesh generation module's mesh generation process includes: obtaining the geometry of multiple devices to be simulated from a device database based on the identification information in the input information; placing the device geometry based on the device position information in the input information to obtain an assembly composed of multiple devices; performing processing such as shrinking envelope and format conversion on the assembly to obtain the geometry corresponding to the outer envelope of the assembly; and meshing the geometry of the assembly to obtain at least one mesh element corresponding to the assembly. Then, based on the size and position of the devices and the setting of the computational region, an adaptive, locally refined background mesh is generated.
[0096] Figure 3 This is a comparative schematic diagram of the mesh cells in related technologies and the mesh cells provided in the embodiments of this application. For example... Figure 3As shown, in one example, the PCB assembly to be simulated includes device 1 and device 2. In related technologies, the mesh generation module performs mesh generation on device 1 and device 2 on a device-by-device basis. The boundary of the mesh in device 1 is the geometric boundary of device 1, and the boundary of the mesh in device 2 is the geometric boundary of device 2. Iterative work of mesh generation and mesh alignment is performed on the interface between device 1 and device 2. In this embodiment, the background mesh generation module performs mesh generation on the assembly of device 1 and device 2 on a device-by-device basis. The boundary of the mesh is the outer surface of the assembly, and the mesh is no longer bounded by the interface between device 1 and device 2. Therefore, iterative work of mesh generation and mesh alignment is not required, resulting in higher work efficiency.
[0097] In this embodiment of the application, the geometry formed by the outer surfaces of device 1 and device 2 (hereinafter referred to as "external geometry") is meshed, and at least one mesh cell may contain mesh cells that "cross devices", such as... Figure 3 In grid a, the attribute information of grid cells "across devices" may be related to the two adjacent devices.
[0098] Furthermore, the "material field generation module" is explained in more detail. In related technologies, each mesh cell uniquely belongs to a single device, therefore, the attribute information of the mesh cell is deterministic. In this application, there may be "cross-device" mesh cells, and the attribute information of these "cross-device" mesh cells may be related to the attribute information of two adjacent devices. This application proposes a technical solution for a "material field" that solves the problem of assigning attribute information to potentially "cross-device" mesh cells.
[0099] In this embodiment, the external geometry of the PCB assembly is processed into a point cloud to obtain point cloud data of the external geometry. Each point in the point cloud data is also called a pixel. Since pixels do not cross device boundaries, the material properties in the material information of each pixel can be assigned values based on the material properties of the device corresponding to that pixel. Once the cell to which each pixel belongs is determined, the properties of the mesh cell can be assigned values.
[0100] Figure 4 This is a schematic diagram illustrating the method for assigning material properties to mesh elements provided in an embodiment of this application. For example... Figure 4 As shown, a method for assigning material properties to mesh elements mainly includes the following steps:
[0101] Step S410: Perform preprocessing, starting by assigning material properties to the mesh cells. Preprocessing includes, for example: acquiring point cloud data of the external geometry of the PCB assembly, where each pixel in the point cloud data has assigned material properties; and acquiring all the divided mesh cells.
[0102] Step S420: Obtain a pixel from the point cloud data. If the pixel can be obtained, proceed to step S430; if the pixel cannot be obtained, proceed to step S450. For example, obtain the coordinates of an image pixel.
[0103] Step S430: Calculate the cell to which the pixel belongs. For example, the cell to which the pixel belongs is cell C.
[0104] Step S440: Further process unit C: Total number of points +; Number of pixels of various materials +. Here, "Total number of points +" means adding 1 to the total number of pixels in unit C. For example, if the material properties of all pixels in unit C include nylon and polytetrafluoroethylene (PTFE), and the pixel's material property is nylon, then the number of nylon pixels in unit C will be added by 1.
[0105] Step S450: Calculate the material volume fraction for each unit. This is the ratio of the number of pixels of various materials within unit C to the total number of pixels within unit C.
[0106] Step S460: Calculate the material properties of each element. For example, calculate the thermal conductivity of each element.
[0107] Optionally, an interpolation algorithm is used to calculate the material properties of each element based on its volume fraction. The calculation formula is shown in formula (1). i Represents the attribute value of the i-th material; n i The number of pixels of the i-th material in cell C; m represents the number of material types; s c This represents the material properties of element C.
[0108]
[0109] In one example, the material property is thermal conductivity, and the number of material types m = 2. The material types include nylon and polytetrafluoroethylene (PTFE). Assume the thermal conductivity of nylon is approximately 0.31 W / mK, and the thermal conductivity of PTFE is approximately 0.22 W / mK. The number of nylon pixels in unit C is n1 = 1500; the number of PTFE pixels in unit C is n1 = 2500. Then the thermal conductivity of unit C is approximately s. c =0.25g / cm 3 .
[0110] In this application embodiment, the different types of materials may be due to different devices or different parts of the same device, and this application embodiment does not limit this. It is understood that the "material field" in this application embodiment is a field formed by the spatial distribution of materials, and no distinction is made between different devices or different parts of a device.
[0111] Step S470: End the assignment of material properties to the mesh elements.
[0112] Figure 5 This is a schematic diagram illustrating an example of the unit to which a pixel belongs, provided in an embodiment of this application. (In conjunction with...) Figure 5 The example shown further illustrates the method for calculating the cell to which a pixel belongs. Optionally, the method for calculating the cell to which a pixel belongs further includes the following steps:
[0113] Step S431: Construct a kd-tree (K-Dimensional Tree) using all cell centroids. A kd-tree is a structured representation of points in space. That is, it uses the centroids of grid cells to represent grid cells. A kd-tree is a method for storing the positions of all cell centroids.
[0114] Step S432: Calculate the bounding box dimensions.
[0115] Furthermore, the design principles for bounding box size include: the bounding box should not be too large, so as to avoid an excessive number of elements within the bounding box, which would increase the computational load and reduce efficiency; the bounding box should not be too small, so as to avoid a lack of suitable mesh elements within the bounding box.
[0116] In one feasible implementation, the bounding box size is determined based on the size of the largest mesh cell. The formulas for calculating the bounding box size are as follows: len_x = max(cell.len_x), len_y = max(cell.len_y), len_z = max(cell.len_z). Here, len_x represents the size of the bounding box in the x-direction; cell.len_x represents the size of the mesh cell in the x-direction; max is the maximum value function; len_y represents the size of the bounding box in the y-direction; cell.len_y represents the size of the mesh cell in the y-direction; len_x represents the size of the bounding box in the z-direction; and cell.len_z represents the size of the mesh cell in the z-direction.
[0117] Step S433: Calculate the bounding box based on the pixel coordinates. For example, place the bounding box y with pixel x as the center.
[0118] Step S434: Calculate the centroids of all elements within the bounding box using a kd-tree. That is, calculate the centroids of all elements within the bounding box. For example, the bounding box y contains the centroids of elements A, B, C, D, and E.
[0119] Step S435: Obtain a cell. If a cell is successfully obtained, proceed to step S436. If a cell cannot be obtained, proceed to step S439.
[0120] For example, after obtaining unit C, step S436 is executed. However, after traversing units A, B, C, D, and E, the next unit cannot be obtained, so step S439 is executed.
[0121] Step S436: Determine whether the pixel is within the cell using a fast detection algorithm. If the pixel is within the cell, proceed to step S437. If the pixel is not within the cell, proceed to step S435 to obtain the next cell.
[0122] Examples of fast detection algorithms include point-to-face intersection and volume methods. The point-to-face intersection method determines whether a pixel is within a cell by judging its positional relationship with each face of a 3D volume. The volume method determines whether a point is inside a volume by calculating the distance between the point and the center of the volume, as well as parameters such as the volume's radius or side length. For example, a fast detection algorithm might determine that pixel x is within cell C.
[0123] Step S437: Output unit, which is the unit to which the pixel belongs. For example, when it is determined that pixel x is in unit C, then output unit C.
[0124] Step S438: End the step of calculating the cell to which the pixel belongs.
[0125] Step S439: If the cell to which the pixel belongs cannot be determined, discard the pixel and end the step of calculating the cell to which the pixel belongs.
[0126] In this embodiment, the "solver module" of the simulation system has been improved. The working process of the "solver module" in this embodiment will be explained below using thermal simulation as an example.
[0127] In related technologies, the "solution module" solves the heat dissipation process on a device-by-device basis, requiring continuous iteration with the temperatures of the device's outer surface and the boundary temperatures between devices as known conditions. For example, in Figure 3In the related technology, when solving the heat dissipation process of device 1 and device 2, in one iteration step, the temperature of the boundary surface of device 1 and device 2 needs to be set to a known value. Based on the known temperature of the outer surface and adjacent boundary surface of device 1 and device 2, the temperature of all grid cells inside device 1 and device 2 is solved. Finally, based on the surface heat flow generated by the temperature difference between the grid cells inside device 1 and device 2, the temperature of the outer surface and adjacent boundary surface of device 1 and device 2 in the next iteration step is updated.
[0128] In this embodiment, since the mesh cells no longer distinguish between different devices, the solution process for heat dissipation simulation does not need to iterate continuously with the temperature of the boundary surface between devices as a known condition, but only needs to iterate continuously with the temperature of the outer surface of the device as a known condition. This simplifies the solution process, reduces the amount of computation in the solution process, and improves the solution efficiency.
[0129] For example, in Figure 3 In solving the heat dissipation process of devices 1 and 2 in the embodiments of this application, in one iteration step, it is only necessary to solve for the temperature of all grid cells inside device 1 and device 2 based on the known temperature of the outer surfaces of devices 1 and 2. Finally, the surface heat flow generated by the temperature difference between the grid cells is used to update the temperature of the outer surfaces of devices 1 and 2 in the next iteration step. Surface heat flow represents the heat flowing out of a certain surface per unit time. For example, the temperature of the outer surfaces of devices 1 and 2 in the next iteration step can be calculated and updated based on the product of the surface heat flow and a small time interval.
[0130] In this embodiment, the calculation formula for "surface heat flux" in each iteration step is modified to accommodate the calculation errors that may occur when different materials appear in different mesh cells due to the "material field".
[0131] Figure 6a This is a schematic diagram of adjacent grid cells provided in an embodiment of this application. For example... Figure 6a As shown, in one example, adjacent mesh cells are cell C and cell F, and the adjacent boundary surfaces of cells C and F are adjacent surfaces f. Assume that during heat transfer, the heat passes sequentially through cell C, adjacent surface f, and cell F.
[0132] The formula for spatially discretizing the energy equation of the solid region is shown in formula (2). In formula (2), K f The thermal conductivity (W / m·K) of adjacent surfaces f is expressed as follows; This represents the temperature gradient between adjacent surfaces f; Let f be the normal vector of the adjacent face f.
[0133]
[0134] For an adjacent surface f, the temperature T on surface f can be calculated based on the fact that the heat flow on both sides of the surface is equal. f As shown in formula (3). In formula (3), K F T represents the thermal conductivity of unit F (W / m·K). The calculation method for the thermal conductivity of unit F is described in the relevant description of formula (1) above. F This represents the temperature of element F, which can also be understood as the temperature value at the centroid of element F. δ Ff K represents the distance between the centroid of element F and the intersection point in the adjacent face f. The intersection point in the adjacent face f is the intersection point of the line connecting the centroid of element C and the centroid of element F with the adjacent face f. C T represents the thermal conductivity of unit C (W / m·K). The calculation method for the thermal conductivity of unit C is described in the relevant description of formula (1) above. C This represents the temperature of element C, which can also be understood as the temperature value at the centroid of element C. δ fC This represents the distance between the intersection point of adjacent faces f and the centroid of element C.
[0135]
[0136] By T f The surface heat flow q of adjacent surfaces f can be calculated. f The surface heat flow q of adjacent surface f f The calculation formula is shown in formula (4). For example, based on the temperature T of the adjacent surface f. f and the temperature T of unit C C The difference is used to substitute formula (3) into the formula for calculating surface heat flow, resulting in formula (4). In formula (4), δ CF This represents the distance between the centroid of element C and the centroid of element F.
[0137]
[0138] Optionally, the surface heat flow q of adjacent surfaces f f It can also be expressed in the form of enthalpy, as shown in formula (5). For example, in formula (5), h F h represents the energy of unit F. F =T F Xc p.F ;c p.F This represents the specific heat capacity of unit F. h C H represents the energy of unit C. C =T C Xc p.C ;c p.C α represents the specific heat capacity of unit C; c This represents the thermal diffusivity of unit C.
[0139]
[0140] In related technologies, traditional solvers, when dealing with the energy equations of solid regions, typically perform spatial discretization based on the assumption that "the material is the same within the same region," resulting in the surface heat flow expression as shown in equation (6). Based on the assumption of "the material is the same within the same region," the material properties of element C, element F, and adjacent surfaces f are identical. In equation (6), α... f α represents the thermal diffusivity of adjacent surfaces f. f =α c .
[0141]
[0142] In this embodiment, devices are no longer distinguished, and different grid cells caused by the "material field" may have different materials. Therefore, the assumption that "the material is the same in the same region" is no longer applicable. That is, in related technologies, there are no grid cells that "cross devices," and the assumption that "the material is the same in the same region" is feasible. However, in this embodiment, there are grid cells that "cross devices," which may cause adjacent grid cells to have different material properties. If the assumption that "the material is the same in the same region" is used, it will introduce errors.
[0143] This application proposes a novel solution. For adjacent elements C and F with different materials, the surface gradient of the adjacent surface f is not calculated. The adjacent surface f is treated as a boundary surface, and the non-orthogonal vector is set to 0, thus eliminating the need to calculate the surface gradient. This is because the surface gradient is currently only used for non-orthogonal correction. For adjacent surfaces with different materials on both sides, the surface gradient is not calculated. That is, these surfaces are treated as boundary surfaces, and the non-orthogonal vector is set to 0, thus eliminating the need to calculate the surface gradient. This is because the surface gradient is currently only used for non-orthogonal correction.
[0144] When the materials of element C and element F are the same, the formula for calculating the orthogonal vector of surface heat flow is given in formula (7), and the formula for calculating the non-orthogonal vector of surface heat flow is given in formula (8).
[0145]
[0146] In formula (7), Let θ represent the unit normal vector of the adjacent face f. Let θ represent the normal vector of the line connecting the centroid of element C and the centroid of element F to the adjacent face f. The included angle.
[0147]
[0148] In formula (8), This represents the surface gradient of adjacent surfaces f. The coefficients representing the surface gradient, and the normal vectors of adjacent surfaces f. It is related to thermal conductivity. The calculation formula is given in formula (9), where, or,
[0149]
[0150] When the materials of element C and element F are different, the formula for calculating orthogonal vectors is given in formula (10) or formula (11); the formula for calculating non-orthogonal vectors is given in formula (11). Therefore, the nonorthogonal vector q′ of the surface heat flow f =0. When the materials of unit C and unit F are different, the orthogonal vector is obtained by modifying the source term shown in formula (7), taking into account the thermal conductivity K of unit C. c The thermal conductivity K of unit F F .
[0151]
[0152] In formula (10), |δ Cf | represents the distance between the centroid of the intersection point of element C and the adjacent face f.
[0153]
[0154] Figure 6b This is a schematic diagram of orthogonal and non-orthogonal vectors provided in an embodiment of this application. In one example, adjacent mesh cells are cell C and cell F, and the adjacent boundary surfaces of cell C and cell F are adjacent surfaces f. Figure 6b As shown, A diagram representing orthogonal vectors. A diagram representing a unit vector that represents orthogonal vectors. The direction is the direction from the face center of the adjacent face f to the body center of the element F. A diagram representing the normal vector of an adjacent face f. express A diagram of a unit vector. The direction is perpendicular to the adjacent face f. A diagram representing non-orthogonal vectors. A diagram representing a unit vector that is not orthogonal to other vectors. This represents the offset between the orthogonal vector and the normal vector of the adjacent surface f, used to correct the error between the orthogonal vector and the actual heat dissipation direction. The direction is the normal vector of the adjacent surface f. and orthogonal vectors The difference, for example
[0155] It is understandable that when the materials of unit C and unit F are different, the thermal conductivity K of unit C will be different. c The thermal conductivity K of unit F F They are different, but their heat dissipation directions are similar. The direction, therefore,
[0156] The non-orthogonal vector q in the direction of ′ f =0. When unit C and unit F are made of the same material, the thermal conductivity K of unit C is 0. c The thermal conductivity K of unit F F They are the same, with similar heat dissipation directions. The direction, therefore,
[0157] The non-orthogonal vector q in the direction of ′ f It is not equal to zero and needs to be corrected for non-orthogonal vectors based on the surface gradient.
[0158] When unit C and unit F are made of the same material, the thermal conductivity K of unit C is... c The thermal conductivity K of unit F F Similarly, in the embodiments of this application, the surface temperature T of adjacent surfaces f is... f The calculation formula has been simplified and modified. The surface temperature of adjacent surfaces f is obtained by linear interpolation, and the calculation formula is shown in formula (12).
[0159] T f =λ*(T) C -T F )+T F (12)
[0160] In formula (12), the formula for calculating λ is shown in formula (13).
[0161]
[0162] The calculation formulas for λ for different adjacent surfaces f are discussed. For adjacent surfaces f that are the connection surfaces between different mesh units inside the PCB assembly, the calculation formula for λ is shown in formula (13). For adjacent surfaces f that are the boundary surfaces of the PCB assembly, that is, the contact surfaces between the simulation object and the outside world, λ = 1. For coupled boundaries, the calculation formula for λ is shown in formula (13). Coupled boundaries refer to some special interfaces between mesh units, such as the interfaces between different devices inside the PCB assembly, also known as processor boundaries; for example, when using a distributed server cluster to solve the calculation, each server calculates a part of the mesh units, and the boundary surfaces of these mesh units are actually the connection surfaces between different mesh units inside the PCB assembly. These boundary surfaces are a type of coupled boundary. For mixed boundaries, that is, the connection boundaries between the PCB assembly and the fluid, λ = 1.
[0163] Figure 6c This is a schematic diagram of the intersection point of the centroid of an adjacent mesh cell and an adjacent face provided in an embodiment of this application. For example... Figure 6c As shown, the intersection point f′ is the intersection point of the line connecting the centroid of element C and the centroid of element F with the adjacent face f; the intersection point f is a point other than the intersection point f′ in the adjacent face f.
[0164] For example, in formula (13), the following is used: The expression, not |δ Cf |cosθ and |δ Ff The expression for |cosθ| is used to avoid errors caused by the skewness of the intersection points. Skewness occurs when the intersection points f′ and f are not concurrent, which is addressed using |δ|. Cf |cosθ and |δ Ff The expression for |cosθ will introduce errors. Due to the skew, ∠Cfn and ∠Ffn are not the same; ∠Cfn represents the angle between the line connecting the centroid of element C and its intersection point and the normal vector of the adjacent surface f, while ∠Ffn represents the angle between the line connecting the centroid of element F and its intersection point and the normal vector of the adjacent surface f. In other words, and The expression is more general and can be applied to any intersection point in adjacent faces f, such as intersection point f′ and intersection point f.
[0165] Surface gradient with respect to adjacent surface f To elaborate further.
[0166] The volume gradient is obtained using the gradient theorem. The formula for calculating the volume gradient of element C is shown in formula (14). In formula (14), V C T represents the volume of unit C; f Represents the temperature of adjacent surfaces f; ∑f This represents the summation over all boundary surfaces of element C. Similarly, the volume gradient of element F can be obtained. This will not be elaborated upon here.
[0167]
[0168] There are two cases for adjacent surfaces f. In the first case, adjacent surfaces f are the connecting surfaces between different grid units inside the PCB assembly. The formula for calculating the surface gradient of adjacent surfaces f is shown in formula (15). For example, the surface gradient can be obtained by linear interpolation. λ is shown in formula (13).
[0169]
[0170] In the second case, the adjacent surface f is the surface gradient of the boundary surface, which is the contact surface between the simulation object and the outside world. For the boundary surface, the formula for calculating the surface gradient of the adjacent surface f is shown in formula (16).
[0171]
[0172] Figure 6d This is a schematic diagram of the surface gradient when adjacent surfaces are boundary surfaces, as provided in an embodiment of this application. For example... Figure 6d As shown, the surface gradient when the adjacent surface f is a boundary surface. For the volume gradient of element C sum vector The sum of.
[0173] For example, for a general boundary, that is, the contact surface between the simulation object and the outside world, the calculation formula of the reference gradient snGrad is shown in formula (17).
[0174]
[0175] Figure 6e This is a schematic diagram of the reference gradient provided in an embodiment of this application. For example... Figure 6e As shown, the purpose of setting formula (17) is to ensure that formula (18) holds true, that is, to ensure that snGrad is a surface gradient. The unit normal vector at the boundary surface The projection.
[0176]
[0177] Figure 7 This is a schematic diagram of a simulation method provided in an embodiment of this application. Figure 7 As shown in the figure, this application provides a simulation method, which mainly includes the following steps:
[0178] Step S710: Obtain input information, which includes the identification and location information of multiple devices. At least two of the multiple devices must have different material properties.
[0179] Step S720: Based on the identification information, the geometric information and material information of multiple devices are obtained from the device database.
[0180] Step S730: Based on geometric and positional information, a combination of multiple devices is obtained, which is a geometric structure that eliminates the contact surfaces between multiple devices.
[0181] Step S740: Mesh the assembly to obtain multiple mesh elements.
[0182] Step S750: Determine the material properties of each mesh element in the multiple mesh elements based on the material information.
[0183] Step S760: Perform simulation to solve the assembly and obtain the simulation results of the assembly.
[0184] In this embodiment, by reducing the contact surface between devices, multiple iterations at the contact surface are avoided during the simulation solution process, which enables the simulation solution algorithm to significantly shorten the single simulation solution time and improve the solution efficiency.
[0185] In this embodiment, based on material information, the material properties of each grid cell in multiple grid cells are determined. The structures at different locations of the assembly have different material properties, making the material properties of the assembly exist in the form of a "field." Therefore, the material properties of the assembly can be understood as a "material field." The "material field" solves the problem of assigning material properties to grid cells "across devices" after reducing the contact surfaces between devices. This allows the simulation method of this embodiment to improve simulation efficiency while ensuring the accuracy of the simulation results after reducing the contact surfaces between devices. This embodiment automates the simulation process, solving the most time-consuming geometric cleaning and simplification process in preprocessing. Furthermore, by connecting preprocessing, solving, and postprocessing through the material field, it achieves full-process automation, addressing the problems of high operational barriers and significant manual time consumption in simulation.
[0186] This application provides a device database. By using the unique identifier of each device (such as serial number or model number), it enables the automatic acquisition of various attribute information required during simulation, including geometry, material, connections, and excitation. This eliminates the need for simulation engineers to navigate through multiple steps for searching and downloading in traditional workflows, improving efficiency while avoiding errors introduced by human intervention.
[0187] Optionally, the process of determining the material properties of each grid cell in multiple grid cells includes: determining the material information of each point in the point cloud data of the assembly based on the material information; and obtaining the material properties of each grid cell based on the points contained in each grid cell and their material information.
[0188] Furthermore, the assembly is processed into point cloud data, where each point (also called a dot) is a smaller geometric shape than a mesh cell. Points do not have "cross-device" relationships, and their material properties are unique. Therefore, the material properties of each mesh cell can be obtained based on the points it contains and their material information. This automates the generation of the "material field."
[0189] Optionally, the process of determining the material properties of each grid cell includes: determining the network cell to which each point in the point cloud data of the assembly belongs; and interpolating the material information of all points contained in each grid cell to obtain the material properties of each grid cell.
[0190] Furthermore, the network cell to which each point belongs is first determined; then, the material information of all points contained in each mesh cell is interpolated to obtain the material properties of each mesh cell. In this way, the material properties of each mesh cell are closer to the true physical values of the material properties of the mesh cells, improving the accuracy of the simulation results.
[0191] Optionally, the process of determining the network unit to which each point in the point cloud data of the assembly belongs includes: constructing spatial structured information of multiple grid units based on the centroid of each grid unit; constructing the bounding box of each point in the point cloud data of the assembly; determining the network unit to which each point belongs based on at least one grid unit within the bounding box of each point; and interpolating the network unit to which each point belongs and the material information of each point to obtain the material properties of each grid unit.
[0192] Furthermore, by using bounding box technology to determine the network cell to which each point in the point cloud data of the composite belongs, the number of enumerated grid cells can be reduced, thus improving computational efficiency.
[0193] Optionally, the input information also includes mesh parameter information, which includes information on the fineness of the mesh cells and / or the number and size of the mesh cells. Based on the mesh parameter information, the assembly can be divided to obtain multiple mesh cells.
[0194] Furthermore, by using mesh parameter information, the resolution of mesh cells can be controlled, thereby enabling targeted extraction of the geometric features of the composite object and solving the most time-consuming problem of geometric cleaning and simplification in preprocessing. For example, by setting coarser mesh cells using mesh parameter information, the geometry of sharp corners and cusps can be cleaned and simplified.
[0195] Optionally, the multiple mesh elements include adjacent first and second elements; the simulation includes thermal simulation. The simulation solution process for the assembly includes: determining the surface heat flow of adjacent surfaces in a first direction and in a second direction; adjacent surfaces refer to the adjacent surfaces between the first and second elements, the first direction refers to the direction of the line connecting the centroids of the first and second elements, and the second direction refers to the direction perpendicular to the normal of the adjacent surfaces; the surface heat flow of adjacent surfaces is determined based on the surface heat flow in the first and second directions.
[0196] Furthermore, the surface heat flow in the first direction corresponding to the centroid of the first unit and the centroid of the second unit is the main direction of heat transfer. The surface heat flow in the second direction is an error supplement to the surface heat flow in the first direction. The surface heat flow in the first direction and the surface heat flow in the second direction are added together to obtain the surface heat flow of adjacent surfaces, thereby making the surface heat flow of adjacent surfaces more accurate and improving the accuracy of the simulation results.
[0197] Optionally, when the material properties of the first unit and the second unit are different, the process of determining the surface heat flow of adjacent surfaces in the first direction includes: when the material properties of the first unit and the second unit are different, using a first calculation formula to determine the surface heat flow in the first direction, and setting the surface heat flow in the second direction to zero. The first calculation formula is related to the material properties of the first unit and the second unit.
[0198] Furthermore, when the material properties of the first and second units are different, the surface heat flux in the second direction is zero. Based on the material properties of the first and second units, a first calculation formula for the surface heat flux in the first direction is determined. The surface heat flux in the second direction is generally determined based on the temperature gradient between adjacent surfaces. Since the material properties of the first and second units are different, calculating the temperature gradient between adjacent surfaces is complex and time-consuming. The zero surface heat flux in the second direction simplifies the calculation process and improves computational efficiency. The difference in material properties between the first and second units is reflected in the first calculation formula for the surface heat flux in the first direction. In this way, the different material properties of the first and second units are considered, the calculation process is simplified, and computational efficiency is improved.
[0199] Optionally, the first calculation formula is related to at least one of the following: the temperature and thermal conductivity of the first unit, the temperature and thermal conductivity of the second unit, the distance between the centroid of the first unit and the centroid of the second unit, the distance between the centroid of the first unit and the intersection point, and the distance between the centroid of the second unit and the intersection point; the intersection point represents the intersection of the line connecting the centroid of the first unit and the centroid of the second unit with the adjacent surface.
[0200] Furthermore, this implementation provides an exemplary description of the first calculation formula, but does not impose any limitations on the first calculation formula.
[0201] Optionally, when the material properties of the first unit and the second unit are the same, the process of determining the surface heat flow in the first direction and the surface heat flow in the second direction of adjacent surfaces includes: when the material properties of the first unit and the second unit are the same, using a second calculation formula to determine the surface heat flow in the first direction; the second calculation formula is related to the material properties of the first unit or the second unit; and determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces. The surface gradient represents the temperature gradient of a surface (e.g., adjacent surfaces).
[0202] Furthermore, when the material properties of the first and second units are the same, the second calculation formula is related to the same material properties, thus simplifying the calculation process and improving computational efficiency. Based on the temperature gradient of adjacent surfaces, the surface heat flow in the second direction is determined. The surface heat flow in the second direction can correct the surface heat flow in the first direction, making the heat transfer direction closer to the temperature gradient of adjacent surfaces, thereby making the surface heat flow of adjacent surfaces more accurate and improving the accuracy of the simulation results.
[0203] Optionally, the second calculation formula relates to at least one of the temperature of the first unit, the temperature of the second unit, the thermal conductivity of the first or second unit, and the distance between the centroid of the first unit and the centroid of the second unit.
[0204] Furthermore, this implementation provides an exemplary description of the second calculation formula, but does not impose any limitations on the second calculation formula.
[0205] Optionally, the process of determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces includes: calculating the volume gradient of the first and second elements; obtaining the surface gradient of adjacent surfaces based on the temperature gradient of the first and second elements; and determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces and the thermal conductivity of the first or second element. The volume gradient represents the temperature gradient in the mesh elements (e.g., the first and second elements).
[0206] Furthermore, based on the volume gradients of the first and second units, the surface gradients of adjacent surfaces are obtained; based on the surface gradients of adjacent surfaces and the thermal conductivity of the first or second unit, the surface heat flow in the second direction is determined. In this way, the surface heat flow in the second direction is consistent with the surface gradients of adjacent surfaces, making the surface heat flow of adjacent surfaces closer to the real physical scene and improving the accuracy of the simulation results.
[0207] Optionally, the process of obtaining the surface gradient of adjacent surfaces based on the volume gradients of the first and second units includes: interpolating the volume gradients of the first and second units based on a first distance and a second distance; the first distance represents the distance between the centroid of the first unit and the intersection point, the second distance represents the distance between the centroid of the second unit and the intersection point, and the intersection point represents the intersection point of the line connecting the centroids of the first and second units with the adjacent surfaces. And / or, when the adjacent surfaces are boundary surfaces of a composite body, a reference gradient is determined based on the temperature of the target unit, the temperature of the adjacent surfaces, and a third distance; the target unit represents the unit in the first and second units with adjacent surfaces, and the third distance represents the distance between the centroid of the target unit and the surface center of the adjacent surface; the surface gradient of the adjacent surfaces is determined based on the reference gradient and the volume gradient of the target unit.
[0208] Furthermore, this implementation provides a process for determining the surface gradients of adjacent faces of the first and second units. Based on the first and second distances, the volume gradients of the first and second units are interpolated, making the surface gradients of adjacent faces more accurate. This implementation also provides a process for determining the surface gradients of the boundary faces of the first and second units. By setting a reference gradient, the surface gradients of the boundary faces are made closer to the real physical scene, improving the accuracy of the simulation results.
[0209] This application provides a device database. The device database contains unique identifiers, geometry, material properties, power consumption, and other attribute information for each device. Using these unique identifiers, device geometry can be automatically imported from the device database during mesh generation, and material properties can be automatically imported during material field generation. Simultaneously, attributes such as power consumption, connectivity, and excitation of the devices can be automatically associated.
[0210] In this embodiment, a background mesh generation module is provided. This module can generate a regionally refined background mesh based on simulation settings and device geometry. By controlling the resolution of the background mesh, targeted extraction of geometric features is achieved. An adaptive, locally refined background mesh is generated based on the device's size, location, and computational area settings.
[0211] In this embodiment, a material field generation module is provided. In this module, after acquiring the spatial pixel information of the device, the number of material spatial pixels in each grid cell is calculated, the material properties of each pixel are obtained from the device database, and interpolation is performed to obtain the material properties of each grid cell. Based on the device's geometric position information, interpolation processing is performed on the background grid cells, and material property values are assigned to each grid cell.
[0212] In this embodiment, a solution module is provided. The solution module reads in material field information, eliminates iterative convergence at device interfaces based on a global unified material field, and achieves coupled solution. The physical field results of the unified domain are output to post-processing. At adjacent faces of mesh elements, the effects of surrounding elements on the current element are derived theoretically and processed in the equations of the current element, achieving strong coupled solution for different material regions and improving solution efficiency. When processing interfaces between different material elements, interpolation is needed to obtain the physical quantities on the "cross-device" mesh elements at the interface, solving the problem of non-differentiability at device interfaces in related technologies. No restrictions are placed on the types of material properties of each mesh element within the region, and a unified solution is performed for the entire region.
[0213] In this embodiment, the time-consuming manual geometric cleaning and simplification process can be skipped during the simulation of computer-aided engineering (CAE) of electronic devices, and the preprocessing of simulation can be completed automatically. At the same time, the problem of slow solution efficiency caused by too many interfaces can be solved.
[0214] The technical solution of this application can be used for CAE simulation in electronic device scenarios, as well as CAE simulation in other industrial scenarios, such as vehicle cockpit CAE simulation and aero-engine CAE simulation. The main difference is that in electronic device scenarios, the geometric position of the device is defined based on the PCB board, which facilitates automatic layout calling through a component library to achieve full-process automation. When applied to other industrial scenarios, it is necessary to predefine the benchmark components of each field and the relative relationships of other components, and combine them with a component library to automate the pre-processing of simulation.
[0215] In this embodiment, a breakthrough is made in the geometric preprocessing function to achieve a high degree of automation in geometric preprocessing. The entire process of simulation preprocessing is automated according to the unified material field method, achieving a similar purpose to this invention.
[0216] It is understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. In addition, the various embodiments or technical features involved in the embodiments described above can be combined according to the actual situation, and the combined solution is still within the protection scope of this application.
[0217] To further illustrate the technical solutions of the embodiments of this application, this application provides a PCB board-level simulation example to further illustrate the technical effects of the thermal simulation method of the embodiments of this application.
[0218] Figure 8aThis is a schematic diagram of a physical device assembly provided in an embodiment of this application. Figure 8a As shown, in a physical embodiment of a device assembly, the number of devices is approximately 1500 or more, with the main heating device being the central chip.
[0219] Figure 8b This is a schematic diagram illustrating the analytical results of the copper foil layer and traces provided in the embodiments of this application. For example... Figure 8b As shown, the PCB board has 13 copper foil layers. The original PCB board model was imported, and the copper foil and traces were analyzed. Based on the analysis results of the copper foil and trace layers, corresponding material properties were assigned. The PCB board material itself is a composite material made of glass fiber and flame-retardant epoxy resin (Flame-Retardant 4Reinforced, F4R). Finally, the entire PCB board was numbered, and its unique code, geometry, material, power consumption, and other attribute information were stored in the device material library. Most of the other devices are packaged devices; similar processing was performed on these other devices to build the device material library.
[0220] Figure 8c This is a schematic diagram of a geometrically cleaned and simplified PCB assembly model provided in an embodiment of this application. For example... Figure 8c The image shows a model of a PCB assembly after geometric cleaning and simplification. In this embodiment, the resolution of the mesh cells can be controlled using mesh parameter information, thereby enabling targeted extraction of the geometric features of the assembly and solving the most time-consuming problem of geometric cleaning and simplification in preprocessing. For example, by setting coarser mesh cells using mesh parameter information, the cleaning and simplification of geometry such as sharp corners and cusps can be achieved.
[0221] Figure 8d This is a schematic diagram showing the PCB component model provided in this application placed in simulation software. For example... Figure 8d As shown, multiple components are automatically called from the component material library to obtain an assembly, thus automating the preprocessing process.
[0222] Figure 8e This is a schematic diagram showing the assembly of the PCB components provided in the embodiments of this application. Figure 8e As shown, before the simulation method of this application embodiment, the PCB assembly exists in the form of an assembly, with each component being an independent geometric structure. After the simulation method of this application embodiment, the PCB assembly exists in the form of a composite, which is an independent geometric structure. The composite eliminates the contact surfaces between multiple components and the resulting geometric structure.
[0223] Figure 8f This is a schematic diagram of the simulation results of the assembly provided in the embodiments of this application. Based on the simulation method of the embodiments of this application, the assembly is solved and calculated to obtain the following results: Figure 8f The simulation results are shown.
[0224] In this application embodiment, the simulation methods in related technologies and the simulation methods in this application embodiment are compared and analyzed. The comparison simulation results include chip temperature, thermal interface material (TIM) temperature, and heat flow through TIM. The simulation results of related technologies and this application embodiment are shown in Table 1.
[0225] Table 1. Simulation results analysis of related technologies and embodiments of this application (unit: degrees Celsius, °C)
[0226]
[0227] According to the simulation results analysis in Table 1, the simulation method of this application embodiment saves more than 80% of manual operations, specifically reducing 230 clicks to 42 clicks. The total preprocessing time is shortened by 90%, and the calculation time is reduced by 70% compared to traditional methods (specifically, reducing 25 hours to 7 hours). The calculation accuracy is within 2% of that of related technologies. Therefore, the simulation method of this application embodiment improves simulation efficiency while ensuring the accuracy of the simulation results after reducing the contact area between devices.
[0228] For example, in Table 1, for the time-to-temperature (TIM) simulation method of this embodiment, the average TIM temperature (Mean) is 50.5°C and the maximum TIM temperature (Max) is 52.5°C. For the TIM temperature, the average TIM temperature (Mean) in the related technology simulation method is 51°C and the maximum TIM temperature (Max) is 53.3°C. Compared with the related technology simulation method, the difference in the average TIM temperature (Mean) of this embodiment and the difference in the maximum TIM temperature (Max) is 0.98% and 1.5%, respectively. This demonstrates that the simulation method of this embodiment ensures the accuracy of the simulation results after reducing the contact area between devices.
[0229] Based on the methods in the above embodiments, this application also provides an object speed prediction device.
[0230] Figure 9 This is a schematic diagram of the structure of a simulation device provided in an embodiment of this application. Figure 9 As shown, this application embodiment provides a simulation device 900, which includes at least:
[0231] The acquisition module 910 is used to acquire input information. The input information includes the identification information and location information of multiple devices, and at least two of the multiple devices include devices with different material properties, such as a PCB board and multiple devices set on it.
[0232] The processing module 920 is used to match the geometric and material information of multiple devices from the device database based on the identification information; and to obtain an assembly of multiple devices based on the geometric and positional information, wherein the assembly is a geometric structure that eliminates the contact surfaces between the multiple devices; to mesh the assembly to obtain multiple mesh elements; to determine the material properties of each mesh element in the multiple mesh elements based on the material information; and to perform simulation on the assembly to obtain the simulation results of the assembly.
[0233] In one possible implementation, when determining the material properties of each grid cell in multiple grid cells based on the material information, the aforementioned processing module 920 is specifically used to: determine the material information of each point in the point cloud data of the assembly based on the material information; and obtain the material properties of each grid cell based on the points contained in each grid cell and their material information.
[0234] In one possible implementation, when obtaining the material properties of each grid cell based on the points and their material information contained in each grid cell, the aforementioned processing module 920 is specifically used to: determine the network cell to which each point in the point cloud data of the assembly belongs; and perform interpolation processing on the material information of all points contained in each grid cell to obtain the material properties of each grid cell.
[0235] In one possible implementation, when obtaining the material properties of each grid cell based on the points contained in each grid cell and their material information, the aforementioned processing module 920 is specifically used to: construct the spatial structured information of multiple grid cells based on the centroid of each grid cell; construct the bounding box of each point in the point cloud data of the assembly; determine the network cell to which each point belongs based on at least one grid cell within the bounding box of each point; and interpolate the network cell to which each point belongs and the material information of each point to obtain the material properties of each grid cell.
[0236] In one possible implementation, the input information mentioned above also includes mesh parameter information, which includes information on the fineness of the mesh cells and / or the number and size of the mesh cells. When meshing the assembly to obtain multiple mesh cells, the processing module 920 is specifically used to: divide the assembly according to the mesh parameter information to obtain multiple mesh cells.
[0237] In one possible implementation, the aforementioned multiple mesh elements include adjacent first and second elements; the simulation includes thermal simulation. When simulating the assembly, the processing module 920 is specifically used to: determine the surface heat flow of adjacent surfaces in a first direction and a second direction; adjacent surfaces refer to adjacent surfaces between the first and second elements, the first direction represents the direction of the line connecting the centroids of the first and second elements, and the second direction represents the direction perpendicular to the normal of the adjacent surfaces; based on the surface heat flow in the first and second directions, the surface heat flow of adjacent surfaces is determined.
[0238] In one possible implementation, when determining the surface heat flow of adjacent surfaces in the first direction and the surface heat flow in the second direction, the processing module 920 is specifically used to: when the material properties of the first unit and the material properties of the second unit are different, use a first calculation formula to determine the surface heat flow in the first direction and set the surface heat flow in the second direction to zero. The first calculation formula is related to the material properties of the first unit and the material properties of the second unit.
[0239] In one possible implementation, the first calculation formula described above relates to at least one of the following: the temperature and thermal conductivity of the first unit, the temperature and thermal conductivity of the second unit, the distance between the centroid of the first unit and the centroid of the second unit, the distance between the centroid of the first unit and the intersection point, and the distance between the centroid of the second unit and the intersection point; the intersection point represents the point where the line connecting the centroids of the first unit and the centroids of the second unit intersects with adjacent surfaces.
[0240] In one possible implementation, when determining the surface heat flow of adjacent surfaces in the first direction and the surface heat flow in the second direction, the processing module 920 is specifically used to: when the material properties of the first unit and the material properties of the second unit are the same, use a second calculation formula to determine the surface heat flow in the first direction; the second calculation formula is related to the material properties of the first unit or the second unit; and determine the surface heat flow in the second direction based on the surface gradient of adjacent surfaces, where the surface gradient represents the temperature gradient of the surface.
[0241] In one possible implementation, the second calculation formula described above relates to at least one of the temperature of the first unit, the temperature of the second unit, the thermal conductivity of the first or second unit, and the distance between the centroids of the first and second units.
[0242] In one possible implementation, when determining the surface heat flow in the second direction based on the surface gradient of adjacent surfaces, the processing module 920 is specifically used to: calculate the volume gradient of the first unit and the second unit, where the volume gradient represents the temperature gradient of the mesh unit; obtain the surface gradient of adjacent surfaces based on the volume gradient of the first unit and the second unit; and determine the surface heat flow in the second direction based on the surface gradient of adjacent surfaces and the thermal conductivity of the first unit or the second unit.
[0243] In one possible implementation, when obtaining the surface gradient of adjacent surfaces based on the volume gradients of the first and second units, the processing module 920 is specifically used to: interpolate the volume gradients of the first and second units based on a first distance and a second distance; the first distance represents the distance between the centroid of the first unit and the intersection point, the second distance represents the distance between the centroid of the second unit and the intersection point, and the intersection point represents the intersection point of the line connecting the centroids of the first and second units with the adjacent surfaces; and / or, when the adjacent surfaces are the boundary surfaces of the composite, determine a reference gradient based on the temperature of the target unit, the temperature of the adjacent surfaces, and a third distance; the target unit represents the unit in the first and second units that has adjacent surfaces, and the third distance represents the distance between the centroid of the target unit and the surface center of the adjacent surface; and determine the surface gradient of the adjacent surfaces based on the reference gradient and the volume gradient of the target unit.
[0244] It should be understood that the above-described device is used to execute the methods in the above embodiments. The implementation principle and technical effect of the corresponding program modules in the device are similar to those described in the above methods. The working process of the device can be referred to the corresponding process in the above methods, and will not be repeated here.
[0245] Based on the methods described in the above embodiments, this application also provides an electronic device. For example... Figure 10 As shown, the electronic device 1000 includes a bus 1002, a processor 1004, a memory 1006, and a communication interface 10015. The processor 1004, memory 1006, and communication interface 10015 communicate with each other via the bus 1002. The electronic device 1000 may be, but is not limited to, devices configured with autonomous driving functions, such as vehicles. It should be understood that this application does not limit the number of processors and memories in the electronic device 1000.
[0246] Bus 1002 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 10 The bus 1004 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 1004 may include a path for transmitting information between various components of the electronic device 1000 (e.g., memory 1006, processor 1004, communication interface 10015).
[0247] The processor 1004 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0248] The memory 1006 may include volatile memory, such as random access memory (RAM). The processor 1004 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD). Alternatively, it may include both volatile and non-volatile memory.
[0249] The memory 1006 stores executable program code, and the processor 1004 executes the executable program code to implement the functions of each module in FIG6 as described above, thereby implementing all or part of the steps of the method in the above embodiments. That is, the memory 1006 stores instructions for executing all or part of the steps in the method of the above embodiments.
[0250] Alternatively, the memory 1006 may store executable code, which the processor 1004 executes to implement the functions of the speed prediction device 600 of the aforementioned objects, thereby implementing all or part of the steps in the methods of the above embodiments. That is, the memory 1006 stores instructions for performing all or part of the steps in the methods of the above embodiments.
[0251] The communication interface 1003 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the electronic device 1000 and other devices or communication networks.
[0252] Based on the methods described in the above embodiments, this application also provides a simulation device. Please refer to... Figure 11 , Figure 11 This is a schematic diagram of the structure of a simulation device provided in an embodiment of this application. Figure 11 As shown, a simulation device 1100 includes one or more processors 1101 and interface circuitry 1102. Optionally, the simulation device 1100 may also include a bus 1103. Wherein:
[0253] Processor 1101 can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed through integrated logic circuits in the hardware of processor 1101 or through software instructions. Processor 1101 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods and steps disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor.
[0254] The interface circuit 1102 can be used to send or receive data, instructions or information. The processor 1101 can use the data, instructions or other information received by the interface circuit 1102 to process the data, instructions or other information, and can send the processed information out through the interface circuit 1102.
[0255] Optionally, the emulation device 1100 also includes memory, which may include read-only memory and random access memory, and provides operation instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).
[0256] Optionally, the memory stores executable software modules or data structures, and the processor can execute corresponding operations by calling the operation instructions stored in the memory (which may be stored in the operating system).
[0257] Optionally, the interface circuit 1102 can be used to output the execution results of the processor 1101.
[0258] It should be noted that the functions of the processor 1101 and the interface circuit 1102 can be implemented through hardware design, software design, or a combination of hardware and software; no restrictions are imposed here.
[0259] It should be understood that each step of the above method embodiments can be completed by hardware logic circuits or software instructions in a processor.
[0260] Based on the methods in the above embodiments, this application provides a computer-readable storage medium including computer program instructions. When executed by a cluster of computing devices including at least one computing device, the computer program instructions cause the cluster of computing devices to perform the methods in the above embodiments. Exemplarily, the computer-readable storage medium can be any available medium that the computing device can store, or a data storage device such as a data center containing one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives).
[0261] Based on the methods in the above embodiments, this application provides a computer program product containing instructions that, when executed by a cluster of computing devices containing at least one computing device, cause the cluster of computing devices to perform the methods in the above embodiments.
[0262] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0263] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.
[0264] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0265] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application.
[0266] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
1. A simulation method, characterized in that, include: Obtain input information, which includes identification information and location information of multiple devices, and at least two of the multiple devices have different material properties; Based on the identification information, the geometric and material information of the multiple devices are obtained from the device database; Based on the geometric information and the position information, an assembly of the plurality of devices is obtained, wherein the assembly is a geometric structure that eliminates the contact surfaces between the plurality of devices; The assembly is divided into multiple mesh elements. Based on the material information, determine the material properties of each of the plurality of mesh cells; The assembly is simulated and solved to obtain the simulation results.
2. The method according to claim 1, characterized in that, The step of determining the material properties of each of the plurality of mesh cells based on the material information includes: Based on the material information, determine the material information of each point in the point cloud data of the assembly; Based on the points contained in each grid cell and their material information, the material properties of each grid cell are obtained.
3. The method according to claim 2, characterized in that, The process of obtaining the material properties of each mesh cell based on the points contained in each mesh cell and their material information includes: Determine the network unit to which each point belongs in the point cloud data of the assembly; Interpolate the material information of all points contained in each grid cell to obtain the material properties of each grid cell.
4. The method according to claim 2 or 3, characterized in that, The step of obtaining the material properties of each mesh cell based on the points contained in each mesh cell and their material information includes: Based on the centroid of each grid cell, construct the spatial structured information of the multiple grid cells; Construct the bounding box for each point in the point cloud data of the assembly; The network cell to which each point belongs is determined based on at least one grid cell within the bounding box of each point; Interpolate the network cell to which each point belongs and the material information of each point to obtain the material properties of each mesh cell.
5. The method according to any one of claims 1-4, characterized in that, The input information also includes grid parameter information, which includes information on the fineness of the grid cells and / or the number and size of the grid cells; The process of meshing the assembly to obtain multiple mesh elements includes: Based on the grid parameter information, the combined body is divided to obtain the multiple grid cells.
6. The method according to any one of claims 1-5, characterized in that, The plurality of mesh cells include adjacent first and second cells; the simulation includes thermal simulation; The simulation solution for the assembly includes: Determine the surface heat flow of adjacent surfaces in a first direction and the surface heat flow in a second direction; the adjacent surfaces refer to the adjacent surfaces between the first unit and the second unit, the first direction refers to the direction of the line connecting the centroid of the first unit and the centroid of the second unit, and the second direction refers to the direction perpendicular to the normal of the adjacent surfaces; The surface heat flow of the adjacent surfaces is determined based on the surface heat flow in the first direction and the surface heat flow in the second direction.
7. The method according to claim 6, characterized in that, Determining the surface heat flow of adjacent surfaces in the first direction and the surface heat flow in the second direction includes: When the material properties of the first unit and the second unit are different, the first calculation formula is used to determine the surface heat flow in the first direction and the surface heat flow in the second direction is set to zero. The first calculation formula is related to the material properties of the first unit and the second unit.
8. The method according to claim 7, characterized in that, The first calculation formula is related to at least one of the following: the temperature and thermal conductivity of the first unit, the temperature and thermal conductivity of the second unit, the distance between the centroid of the first unit and the centroid of the second unit, the distance between the centroid of the first unit and the intersection point, and the distance between the centroid of the second unit and the intersection point; the intersection point refers to the intersection of the line connecting the centroid of the first unit and the centroid of the second unit with the adjacent surface.
9. The method according to any one of claims 6-8, characterized in that, Determining the surface heat flow of adjacent surfaces in the first direction and the surface heat flow in the second direction includes: When the material properties of the first unit and the second unit are the same, the second calculation formula is used to determine the surface heat flow in the first direction; the second calculation formula is related to the material properties of the first unit or the second unit. The surface heat flow in the second direction is determined based on the surface gradient of the adjacent surfaces, where the surface gradient represents the temperature gradient of the surface.
10. The method according to claim 9, characterized in that, The second calculation formula is related to at least one of the temperature of the first unit, the temperature of the second unit, the thermal conductivity of the first unit or the second unit, and the distance between the centroid of the first unit and the centroid of the second unit.
11. The method according to claim 9 or 10, characterized in that, Determining the surface heat flow in the second direction based on the surface gradient of the adjacent surfaces includes: Calculate the volume gradient of the first cell and the second cell, where the volume gradient represents the temperature gradient of the mesh cell; The surface gradient of the adjacent surfaces is obtained based on the volume gradient of the first unit and the second unit. The surface heat flow in the second direction is determined based on the surface gradient of the adjacent surfaces and the thermal conductivity of the first or second unit.
12. The method according to any one of claims 9-11, characterized in that, The step of obtaining the surface gradient of the adjacent surface based on the volume gradient of the first unit and the second unit includes: Based on the first distance and the second distance, the volume gradient interpolation of the first unit and the second unit is performed; the first distance represents the distance between the centroid of the first unit and the intersection point, the second distance represents the distance between the centroid of the second unit and the intersection point, and the intersection point represents the intersection point of the line connecting the centroids of the first unit and the centroids of the second unit with the adjacent surface; And / or, the adjacent surface is the boundary surface of the assembly, and a reference gradient is determined based on the temperature of the target unit, the temperature of the adjacent surface, and a third distance; the target unit refers to the unit in the first unit and the second unit that has the adjacent surface, and the third distance refers to the distance between the centroid of the target unit and the face center of the adjacent surface; The surface gradient of the adjacent surfaces is determined based on the reference gradient and the volume gradient of the target unit.
13. A simulation device, characterized in that, include: The acquisition module is used to acquire input information, which includes identification information and location information of multiple devices, and at least two of the multiple devices have different material properties. The processing module is configured to match the geometric information and material information of the plurality of devices from the device database based on the identification information; and to obtain an assembly of the plurality of devices based on the geometric information and the position information, wherein the assembly is a geometric structure that eliminates the contact surfaces between the plurality of devices. Furthermore, the assembly is meshed to obtain multiple mesh elements; Furthermore, based on the material information, the material properties of each of the plurality of mesh cells are determined; Furthermore, the assembly is simulated and solved to obtain the simulation results of the assembly.
14. A simulation system, characterized in that, include: The preprocessing module is used to process the acquired input information, which includes the identification information and location information of multiple devices, including at least two devices with different material properties. Furthermore, based on the identification information, the geometric information and material information of the plurality of devices are matched from the device database; and based on the geometric information and the position information, an assembly of the plurality of devices is obtained, wherein the assembly is a geometric structure that eliminates the contact surfaces between the plurality of devices. Furthermore, the assembly is meshed to obtain multiple mesh elements; Furthermore, based on the material information, the material properties of each of the plurality of mesh cells are determined; The solver module is used to perform simulation and solve the assembly to obtain the simulation results of the assembly.
15. A simulation device, characterized in that, Includes at least one processor and interface; The at least one processor obtains program instructions through the interface; The at least one processor is configured to execute the program line instructions to implement the method as described in any one of claims 1-12.
16. An electronic device, characterized in that, include: At least one memory for storing programs; At least one processor for executing the program stored in the memory; When the program stored in the memory is executed, the processor is used to execute the method as described in any one of claims 1-12.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a processor, causes the processor to perform the method as described in any one of claims 1-12.
18. A computer program product, characterized in that, When the computer program product is run on a processor, the processor causes the processor to perform the method as described in any one of claims 1-12.