Parallel coupled material point finite difference finite element simulation method and device
By using the parallel coupled material point finite difference finite element simulation method, an octree-structured background mesh is generated, material points and rod elements are initialized, and parallel simulation and communication are performed. This solves the problem of insufficient accuracy and efficiency of the material point method in small deformation problems and achieves higher accuracy simulation results.
Patent Information
- Application Number
- CN202510040062.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-01-10
AI Technical Summary
The existing material point method is less accurate and efficient than the finite element method when simulating small deformation problems such as the steel reinforcement of buildings in explosion applications.
A parallel coupled material point finite difference finite element simulation method is adopted. By generating an octree-structured background mesh, material points and rod elements are initialized. Parallel simulation and communication are performed by combining finite difference and finite element methods, and mesh data is moved to improve accuracy.
It improves the simulation accuracy for small deformation problems, making the simulation results closer to reality, and is suitable for material explosion simulation.
Smart Images

Figure CN120012488B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of large-scale supercomputing technology, and in particular to a parallel coupled material point finite difference finite element simulation method and apparatus. Background Technology
[0002] The material point method is well-suited for handling extreme events, such as hypervelocity collisions, geotechnical problems, explosions, crack evolution, and incompressible fluids. For highly nonlinear fluid-solid coupled processes, the coupled material point finite difference method divides the problem domain into a finite difference region and a material point region. It uses the finite difference method to simulate fluid propagation and the material point method to simulate the solid response, leveraging the advantages of both the finite difference method for solving large-scale flow problems and the material point method for solving large structural deformation problems. However, when dealing with small deformation problems, such as simulating the steel reinforcement in buildings during explosions, the material point method's accuracy and efficiency are lower than the finite element method. Therefore, a solution for small deformation problems is urgently needed. Summary of the Invention
[0003] To address the problems existing in the prior art, embodiments of this application provide a method, apparatus, computing device, computer storage medium, and product containing a computer program for parallel coupled material point finite difference finite element simulation, which can improve simulation accuracy and make the simulation more closely resemble actual conditions.
[0004] In a first aspect, embodiments of this application provide a parallel coupled material point finite difference finite element simulation method, applied to material explosion simulation. The method includes: generating a background mesh, each background mesh including several material points; initializing the material information of the material points, the material information including at least one of mass, momentum, density, stress-strain, and deformation gradient information; initializing rod elements; performing parallel simulation and communication between the various background meshes based on the finite difference finite element method; and moving mesh data, including the movement of material points and the movement of rod elements.
[0005] In some possible implementations, generating the background mesh specifically includes: constructing the background mesh using an octree structure, determining the final form of the background mesh through encryption operations on the octree, and determining the initial parameters and encryption rules of the octree based on the spatial characteristics and accuracy requirements of the material explosion simulation scenario.
[0006] In some possible implementations, initializing the rod element includes: setting structural parameters for the rod element, including the rod element's length, cross-sectional shape and size, elastic modulus, and Poisson's ratio information; establishing a mapping relationship between the point structure of the rod element and material points, wherein the point structure participates in the material point method mesh point mapping and calculation; and updating the rod structure based on the position information of the rod element's two endpoints and the set structural parameters.
[0007] In some possible implementations, based on the finite difference finite element method, parallel simulation and communication between various background meshes include: classifying the background meshes into three categories: fluid, solid, and fluid-structure interaction; using the finite difference method to calculate fluid dynamics equations for fluid meshes; using the material point method or finite element method to calculate solid mechanics equations for solid meshes; and using the submerged boundary method to handle interactions for fluid-structure interaction meshes; establishing a neighbor list mechanism, and when data transmission involves cross-processes, finding the index of the target mesh in adjacent processes based on the neighbor list, and sending the data through data packaging and transmission protocols.
[0008] In some possible implementations, moving mesh data includes: for the movement of material points, by establishing a material point location query function and a process affiliation judgment function, comparing the newly calculated position of the material point with the background mesh range of the current process, when the material point exceeds the range of the current process, packing all the material information of the material point into a preset data format and moving it to the corresponding adjacent process; for the movement of rod elements, determining whether the rod element needs to be moved based on the position changes of its two ends, if it needs to be moved, then during the movement process, in addition to moving the rod structure and point structure of the rod element to the corresponding process simultaneously, updating the index mapping relationship of the rod element in the new process.
[0009] Secondly, embodiments of this application provide a parallel coupled material point finite difference finite element simulation device, deployed on a computing device used for material explosion simulation. The device includes: an initialization module for generating a background mesh, each background mesh including several material points, and initializing the material information of the material points, the material information including at least one of mass, momentum, density, stress-strain, and deformation gradient information; the initialization module is also used to initialize rod elements; a processing module for performing parallel simulation and communication between the various background meshes based on the finite difference finite element method; and the processing module is also used to move mesh data, including the movement of material points and the movement of rod elements.
[0010] In some possible implementations, the initialization module is specifically used to: generate a background mesh using an octree structure, determine the final shape of the background mesh by encrypting the octree, and determine the initial parameters and encryption rules of the octree based on the spatial characteristics and accuracy requirements of the material explosion simulation scenario.
[0011] In some possible implementations, the initialization module is also used to: set structural parameters for the rod element, including the rod element's length, cross-sectional shape and size, elastic modulus, and Poisson's ratio information; establish the mapping relationship between the point structure and material points of the rod element, wherein the point structure participates in the material point method mesh point mapping and calculation; and the rod structure is updated based on the position information of the rod element's two end points and the set structural parameters.
[0012] In some possible implementations, the processing module is used to: classify the background mesh into three categories: fluid, solid, and fluid-structure interaction; calculate the relevant fluid dynamics equations using the finite difference method for fluid meshes; calculate the relevant solid mechanics equations using the material point method or finite element method for solid meshes; and handle the interaction using the submerged boundary method for fluid-structure interaction meshes; establish a neighbor list mechanism, and when data transmission involves cross-processes, find the index of the target mesh in the adjacent process based on the neighbor list, and send the data through data packaging and transmission protocols.
[0013] In some possible implementations, the processing module is also used for: for the movement of material points, by establishing a material point position query function and a process affiliation judgment function, comparing the newly calculated position of the material point with the background grid range of the current process, when the material point exceeds the range of the current process, packing all the material information of the material point into a preset data format and moving it to the corresponding adjacent process; for the movement of rod elements, determining whether the rod element needs to be moved based on the position changes of the two ends of the rod element, if it needs to be moved, then during the movement process, in addition to moving the rod structure and point structure of the rod element to the corresponding process simultaneously; updating the index mapping relationship of the rod element in the new process.
[0014] Thirdly, embodiments of this application provide a computer-readable storage medium including computer-readable instructions that, when read and executed by a computer, cause the computer to perform the method as described in any of the first aspects.
[0015] Fourthly, embodiments of this application provide a computing device, including a processor and a memory, wherein the memory stores computer program instructions, which, when executed by the processor, perform the method as described in any of the first aspects.
[0016] Fifthly, embodiments of this application provide a product comprising a computer program that, when the computer program product is run on a processor, causes the processor to perform the method as described in any of the first aspects. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart illustrating a parallel coupled material point finite difference finite element simulation method provided in an embodiment of this application;
[0019] Figure 2This is a schematic diagram of a rod unit division provided in an embodiment of this application;
[0020] Figure 3 This is a schematic diagram of a pole unit data transmission provided in an embodiment of this application;
[0021] Figure 4 This is a schematic diagram of inter-process lever unit movement provided in an embodiment of this application;
[0022] Figure 5 This is a schematic diagram of the structure of a parallel coupled material point finite difference finite element simulation device provided in an embodiment of this application;
[0023] Figure 6 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] To facilitate understanding of the embodiments of this application, the following will provide further explanation and description with reference to the accompanying drawings and specific embodiments. These embodiments do not constitute a limitation on the embodiments of the present invention.
[0030] The material point method (MPM) discretizes material regions using particles, each carrying all material information such as mass, position, and momentum. During computation, the particles move on a background mesh, which, based on the Eulerian scheme, remains unchanged, thus avoiding mesh distortion. By employing a regular Eulerian background mesh to calculate spatial derivatives and momentum equations, the MPM realizes the interactions and connections between particles. Furthermore, it avoids handling convection terms, giving it advantages in algorithm stability and efficiency. The MPM has become an effective method for solving highly nonlinear problems such as hypervelocity collisions, explosions, and impact penetration. In hypervelocity collisions, the MPM accurately simulates deformation, fragmentation, and ejection phenomena. In explosion simulations, it captures complex physical phenomena such as shock waves and debris dispersion. In impact penetration, it simulates the dynamic response of materials under impact loads, such as the process of a projectile penetrating a target plate. In dynamic fracture simulation, the material point method can capture the processes of crack initiation, propagation, and penetration. In fluid-structure interaction, the material point method can handle the interaction between fluids and solids, such as the process of droplets impacting solid surfaces. In multi-scale analysis, the material point method can also be combined with other numerical methods to perform multi-scale analysis and capture the behavior of materials at different scales. However, when dealing with problems involving small deformations, such as the reinforcing steel sections of buildings in explosion applications, the accuracy and efficiency of the material point method are not satisfactory.
[0031] In view of this, the embodiments of this application provide a parallel coupled material point finite difference finite element simulation method, which uses finite difference to simulate fluid propagation, material point method to simulate solid response, and finite element method to simulate small deformation problems, making the simulation closer to reality.
[0032] Specifically, this method can be divided into three parts. The first part is the initialization of the parallel simulation using the coupled material point finite difference finite element method. The second part is the parallel simulation and communication using the coupled material point finite difference finite element method. The third part is the movement of the object (material point, rod element) simulated in parallel using the coupled material point finite difference finite element method.
[0033] In the first part, the initialization process first requires constructing an octree and using it to generate the background mesh. Next, based on the initial octree, the background mesh is divided, with each process obtaining its own managed background mesh. Each process initializes objects (material points and rod elements) and materials through its managed mesh physical region; finally, the background mesh is classified according to whether it contains material points or fluid meshes.
[0034] In the second part, the background meshes are divided into three categories: fluid, solid, and fluid-structure interaction (FSI). Finite difference and solid methods (material point method and finite element method) are used for calculations on fluid and solid meshes, respectively. For FSI meshes, the submerged boundary method is used. A neighbor list with 26 directions is established. If the target mesh is in the current process, it is searched within that process; otherwise, the index of the target mesh in an adjacent process is searched. The data is then packaged and sent, and a data transmission method is designed for the special storage structure of the rod element.
[0035] In the third part, it is determined whether the material point and the rod element are still in the octree node under the responsibility of this process based on the newly calculated position. If not, all its attributes are packaged and moved to the corresponding adjacent process through the list queried by the material point and the rod element.
[0036] For example, Figure 1 This diagram illustrates a flowchart of a parallel coupled material point finite difference finite element simulation method provided in an embodiment of this application. Figure 1 As shown, the method may include the following steps:
[0037] S11: Generate background meshes, each containing several material points. Initialize the material information of the material points, including mass, momentum, density, stress, strain, deformation gradient, etc.
[0038] In this embodiment, an octree is generated based on the requirements of the physical background mesh. The physical background mesh is a spatially discretized representation of the simulated physical scene, carrying physical information such as material points, rod elements, and different materials. Its characteristics and distribution directly affect the accuracy of the simulation results. An octree is a data structure used for spatial partitioning. The tree is divided into three directions, and the product of these three directions is the number of original trees. Root nodes and adjacency relationships are generated using the octree, and the background mesh is densified. Spatial sub-regions are divided in parallel according to the background mesh, and each sub-region captures its own material points. Material information for each material point is initialized, including mass, momentum, density, stress-strain, deformation gradient, etc. Simultaneously, fluid mesh attributes are added to the background mesh to classify the mesh elements. Mesh elements can be divided into three types: solid mesh elements, fluid mesh elements, and fluid-solid two-phase mesh elements.
[0039] S12: Initialize the lever unit.
[0040] In this embodiment, in the finite element method, the rod element is a basic unit used to simulate the mechanical behavior of structures. It is used to simulate slender members subjected to axial forces, providing a simplified simulation of similar real-world components in structural mechanics analysis. It consists of two nodes and a straight rod connecting the nodes. The nodes are located at both ends of the rod and are connected to other elements to construct complex structural models. The rod element is assumed to only bear axial tensile or compressive forces, neglecting the effects of shear forces, bending moments, and torques. When an external force is applied to the rod element, the force is transmitted along the axial direction of the rod, causing tensile or compressive deformation. The displacement mode of the rod element is typically described using a linear function, assuming that the displacement within the rod element changes linearly from one node to another. This simple displacement mode satisfies the accuracy requirements of the calculation while greatly simplifying the calculation process. Each rod element has specific material properties, such as the elastic modulus (reflecting the material's resistance to elastic deformation) and cross-sectional area. These properties determine the mechanical response of the rod element under stress.
[0041] Unlike material points, rod elements consist of rod structures and point structures. The point structures, similar to material points, participate in the mapping and computation of the material point method mesh. The rod structures update other physical quantities based on the position information of the rod element's two endpoints. During rod element initialization, structural parameters are set for the rod element, including its length, cross-sectional shape and dimensions, elastic modulus, Poisson's ratio, etc., establishing a mapping relationship between the rod element's point structures and material points. Since rod element nodes move across computation processes, simply representing the mapping from rod structure to point structure is insufficient to uniquely represent this mapping relationship. Therefore, a global index is added to the original rod element data structure, and a mapping list is used to establish the mapping from the global index of points to the local indexes in the local rod element node array. This ensures the uniqueness of the rod element structure mapping relationship while maintaining the original relationship between the rod structure and point structure.
[0042] For example, please refer to Figure 2 , Figure 2 A schematic diagram of the rod element division is shown. For example... Figure 2 As shown, during the initial partitioning of the rod element, since the rod structure itself lacks positional information, only the rod element nodes possess positional information. Therefore, during initialization, the presence of the rod in the current process is determined based on the nodes at both ends of the rod element. Similar to the material point method, when both nodes of the rod element are within the mesh governed by the current process, the rod element structure is considered to be in the current process, and the nodes at both ends are considered to be real points. If only one end is in the current process, the rod element is considered to be across processes, with a copy of the rod element in each process and the nodes at both ends being a pair of virtual and real nodes.
[0043] S13: Based on the finite difference finite element method, parallel simulation and communication are performed between the various grids.
[0044] In this embodiment, data transmission occurs between the various meshes. Data transmission allows for the exchange of computation-related information between different processes. For example, when performing calculations on different types of meshes such as fluid, solid, and fluid-structure interaction (FSI) meshes, mesh element data, and rod element data can be transferred between processes, ensuring the accuracy and coordination of the calculations. Each process is responsible for the finite difference method and material point method related calculations of the background mesh in its managed octree node. Data transmission with neighboring meshes is managed through the octree. Specifically, the finite difference method is used to calculate fluid dynamics equations for fluid meshes, the material point method or finite element method is used to calculate solid mechanics equations for solid meshes, and the submerged boundary method is used to handle interactions for FSI meshes. A neighbor list mechanism is established. When data transmission involves cross-processes, the index of the target mesh in an adjacent process is found based on the neighbor list, and the data is sent through data packaging and transmission protocols.
[0045] The calculation of rod elements involves two parts. The calculation of the rod element node structure is similar to that of material points and is independent. However, the calculation of the rod structure is related to the two end nodes of the rod element. To facilitate parallel rod element calculations, a virtual / real attribute is added to the end nodes of rod elements that cross nodes. Virtual nodes do not participate in the end node-related calculations but are synchronized before the rod structure-related calculations and then participate in those calculations. Real points have only one copy and are unique across all processes, while the data for virtual points needs to be synchronized before updating the stress and strain of the rod element.
[0046] In addition to being parallel to the material point method octree and requiring synchronization of contributions from each process to the mesh points during physical quantity calculations, it is also necessary to synchronize the data of corresponding real points before updating the stress and strain of the rod elements to maintain consistency of the calculation results. For example, Figure 3 This is a schematic diagram illustrating data transmission of a lever unit according to an embodiment of this application. Figure 3 As shown, this application embodiment designs a virtual-physical node synchronization function to communicate cross-process lever unit data to the corresponding lever unit node in the corresponding process. The synchronized lever unit node knows which process it receives data from, which process it sends data to, and which local lever unit node it synchronizes with, and then sends / receives its data.
[0047] S14: Moving mesh data, including the movement of material points and rod elements.
[0048] In this embodiment, the physical processes to which material points and rod units belong may change due to calculation results, thus requiring actual position transfer between processes. This process involves not only data transfer but also updating their positions in the new processes and maintaining related indexes and structural relationships.
[0049] Specifically, a list of material point queries is established to determine which object the material points contained in the grid to be moved belong to, and their index within that object. The moving grid traverses the list of neighboring processes to determine which process to send to and receive from, locally counts the number of material points sent / received, performs a handshake to allocate the corresponding memory, and then sends / receives the grid and its carried material points.
[0050] For example, please refer to Figure 4 , Figure 4 This is a schematic diagram of inter-process lever unit movement provided in an embodiment of this application. Figure 4 As shown, when a link unit moves across processes, since the link structure and point structure of the link unit are highly bound, but the link structure does not have position information, the movement of the link unit across processes is based on the position information of the nodes at both ends of the link, with the link structure as the center. During the movement, in addition to moving both the link structure and point structure of the link unit to the corresponding process simultaneously, it is also necessary to maintain the mapping in the index mapping list and update the nodes at both ends of the link to maintain the uniqueness of the link unit structure mapping relationship.
[0051] Repeat steps S13 and S14 until the end.
[0052] The above describes the parallel coupled material point finite difference finite element simulation method provided in this application embodiment. A background mesh is generated, with each mesh containing several material points, and the mass, momentum, and other material information of these points are initialized. Simultaneously, the rod elements are also initialized. Then, based on the finite difference finite element method, parallel simulation and communication are carried out between the various background meshes. During this process, the background meshes are divided into three categories: fluid, solid, and fluid-structure interaction, each employing corresponding calculation methods. A neighbor list mechanism is used to handle cross-process data transmission. Finally, the mesh data is moved. For material points and rod elements, their newly calculated positions are used to determine if they exceed the current process's coverage area. If so, they are moved. Material points pack and transfer their material information, while rod elements ensure that the rod structure and point structure are transferred synchronously and the index mapping relationship is updated during movement, ensuring the accuracy and completeness of the entire simulation process. This method provides an effective technical means for material explosion simulation and improves the simulation accuracy.
[0053] 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. Furthermore, in some possible implementations, each step in the above embodiments may be selectively executed according to actual circumstances; it may be partially or fully executed, without limitation here. All or part of any feature of any embodiment of this application can be freely and arbitrarily combined without contradiction. The combined technical solutions are also within the scope of this application.
[0054] Based on the methods in the above embodiments, this application also provides a parallel coupled material point finite difference finite element simulation device. Exemplarily, Figure 5 A parallel coupled finite difference finite element method (FEM) simulation apparatus for material points is shown, deployed on a computing device used for simulating material explosions. Figure 5 As shown, the device 500 includes an initialization module 501 and a processing module 502.
[0055] The initialization module 501 is used to generate background meshes, each of which includes several material points. It initializes the material information of these material points, including at least one of mass, momentum, density, stress-strain, and deformation gradient information. The initialization module 501 is also used to initialize rod elements. The processing module 502 is used for parallel simulation and communication between the background meshes based on the finite difference finite element method. The processing module 502 is also used to move mesh data, including the movement of material points and rod elements.
[0056] In some possible embodiments, the initialization module 501 is specifically used to: generate a background mesh constructed using an octree structure, determine the final form of the background mesh by encrypting the octree, and determine the initial parameters and encryption rules of the octree based on the spatial characteristics and accuracy requirements of the material explosion simulation scenario.
[0057] In some possible embodiments, the initialization module 501 is further configured to: set structural parameters for the rod element, including the rod element's length, cross-sectional shape and size, elastic modulus, and Poisson's ratio information; establish a mapping relationship between the point structure of the rod element and material points, wherein the point structure participates in the material point method mesh point mapping and calculation; and the rod structure is updated based on the position information of the two ends of the rod element and the set structural parameters.
[0058] In some possible embodiments, the processing module 502 is used to: classify the background mesh into three categories: fluid, solid, and fluid-structure interaction; calculate the relevant fluid dynamics equations using the finite difference method for fluid meshes; calculate the relevant solid mechanics equations using the material point method or the finite element method for solid meshes; and handle the interaction using the submerged boundary method for fluid-structure interaction meshes; establish a neighbor list mechanism; when data transmission involves cross-processes, find the index of the target mesh in the adjacent process according to the neighbor list, and send the data through data packaging and transmission protocols.
[0059] In some possible embodiments, the processing module 502 is further configured to: for the movement of material points, by establishing a material point position query function and a process affiliation judgment function, compare the newly calculated position of the material point with the background grid range of the current process, and when the material point exceeds the range of the current process, pack all the material information of the material point into a preset data format and move it to the corresponding adjacent process; for the movement of rod units, determine whether the rod unit needs to be moved based on the position changes of the two ends of the rod unit, and if it needs to be moved, in addition to moving the rod structure and point structure of the rod unit to the corresponding process at the same time during the movement process; update the index mapping relationship of the rod unit in the new process.
[0060] 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.
[0061] This application also provides a computing device 600. For example... Figure 6 As shown, the computing device 600 includes a bus 602, a processor 604, a memory 606, and a communication interface 608. The processor 604, the memory 606, and the communication interface 608 communicate with each other via the bus 602. The computing device 600 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 600.
[0062] Bus 602 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 6 The bus 604 is represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 604 may include a path for transmitting information between various components of the computing device 600 (e.g., memory 606, processor 604, communication interface 608).
[0063] Processor 604 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).
[0064] Memory 606 may include volatile memory, such as random access memory (RAM). Processor 604 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0065] The memory 606 stores executable program code, and the processor 604 executes the executable program code to implement the functions of the aforementioned initialization module 501 and processing module 502, thereby implementing all or part of the steps of the method in the above embodiments. That is, the memory 606 stores instructions for executing all or part of the steps in the method of the above embodiments.
[0066] Alternatively, the memory 606 stores executable code, which the processor 604 executes to implement the functions of the aforementioned parallel coupled material point finite difference finite element simulation device 500, thereby achieving all or part of the steps in the methods of the above embodiments. That is, the memory 606 stores instructions for executing all or part of the steps in the methods of the above embodiments.
[0067] The communication interface 608 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 600 and other devices or communication networks.
[0068] Based on the methods in the above embodiments, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0069] Based on the methods in the above embodiments, this application provides a computer program product that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0070] 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.
[0071] 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.
[0072] 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)).
[0073] 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.
Claims
1. A parallel coupled material point finite-difference finite element simulation method applied to material explosion simulation, characterized in that, The method comprises: generating background grids, each of which comprises a plurality of material points, initializing material information of the material points, the material information comprising at least one of mass, momentum, density, stress-strain, deformation gradient information; initializing a rod element; wherein the rod element is composed of a rod structure and a point structure, the point structure participates in material point method grid point mapping and operation, and the rod structure is updated according to position information of two end points of the rod element and structure parameters; the initialization of the rod element comprises: setting structure parameters of the rod element, the structure parameters comprising length, cross-sectional shape and size, elastic modulus, Poisson's ratio information of the rod element, and establishing a mapping relationship between the point structure of the rod element and the material points, wherein the point structure participates in material point method grid point mapping and operation, and the rod structure is updated according to position information of two end points of the rod element and the set structure parameters; a global index is added to the original rod element data structure, and a mapping between the global index of the point and the local index in the local rod element node array is established through a mapping list, so that the unique rod element structure mapping relationship is determined while the relationship between the original rod structure and the point structure of the rod element is maintained; based on the finite difference finite element method, parallel simulation and communication are performed between the background grids; wherein the background grids are divided into fluid, solid and fluid-structure interaction three types, the finite difference method is used to calculate fluid dynamics related equations for fluid grids, the material point method or the finite element method is used to calculate solid mechanics related equations for solid grids, and the immersed boundary method is used to process the interaction for fluid-structure interaction grids; a neighbor list mechanism is established, when data transmission involves cross-process, the index of the target grid in the adjacent process is found according to the neighbor list, and data is sent through data packaging and transmission protocol; the virtual and real attributes of the end nodes are added at the rod element across the nodes, when both nodes of the rod element are in the grid governed by the process, the rod element structure is considered to be in the process, and the nodes at both ends are real points; if only one end is in the process, it is considered that the rod element crosses the process, the rod element has a copy in each of the two processes, and the nodes at both ends are a pair of virtual and real nodes, the virtual node does not participate in the calculation related to the end node, only synchronizes before the calculation related to the rod structure, and participates in the calculation related to the rod structure, the virtual point needs to synchronize the data of the corresponding real point before updating the stress and strain of the rod element, and the data of the rod element across the process is communicated to the corresponding rod element node in the corresponding process; moving grid data, including movement of the material points and movement of the rod element; wherein for the movement of the rod element, whether it needs to move is determined based on the position change of the two end points of the rod element, if it needs to move, the rod structure and the point structure of the rod element are moved to the corresponding process during the movement; and the index mapping relationship of the rod element in the new process is updated.
2. The method of claim 1, wherein, The generation of the background grid specifically comprises: the generation of the background grid adopts an octree structure for construction, and the final form of the background grid is determined through encryption operation of the octree, and the initial parameters and encryption rules of the octree need to be determined according to the spatial characteristics and precision of the material explosion simulation scene.
3. The method of claim 1, wherein, The mobile grid data comprises: For the movement of the material points, by establishing a material point position query function and a process attribution judgment function, the newly calculated position of the material point is compared with the background grid range responsible by the current process, when the material point exceeds the current process range, all material information of the material point is packed according to a preset data format and moved to the corresponding adjacent process.
4. A parallel coupled material point finite-difference finite element simulation apparatus deployed on a computing device, the computing device applied to a material explosion simulation, characterized by, The device comprises: An initialization module is configured to generate background grids, each of which comprises a plurality of material points, and initialize material information of the material points, the material information comprising at least one of mass, momentum, density, stress and strain, and deformation gradient information; The initialization module is further configured to initialize a rod element, wherein the rod element is composed of a rod structure and a point structure, the point structure participates in mapping and operation of the material point method grid point, and the rod structure is updated according to position information of two end points of the rod element and structure parameters; the initialization of the rod element comprises: setting structure parameters of the rod element, the structure parameters comprising length, cross-sectional shape and size, elastic modulus, and Poisson's ratio information of the rod element, and establishing a mapping relationship between the point structure of the rod element and the material point, wherein the point structure participates in mapping and operation of the material point method grid point, and the rod structure is updated according to position information of two end points of the rod element and the set structure parameters; a global index is added to an original rod element data structure, and a mapping list is used to establish a mapping of the global index of the point to the local index in a local rod element node array, so that the mapping relationship of the rod element structure is unique, and the relationship between the original rod structure and the point structure of the rod element is maintained unchanged; A processing module is configured to perform parallel simulation and communication between the background grids based on the finite difference finite element method; wherein the background grids are divided into three types of fluid, solid, and fluid-structure coupling, the finite difference method is used to calculate fluid dynamics related equations for the fluid grid, the material point method or the finite element method is used to calculate solid mechanics related equations for the solid grid, and the immersed boundary method is used to process the interaction for the fluid-structure coupling grid; a neighbor list mechanism is established, when data transmission involves cross-process, a subscript of a target grid in a neighboring process is found according to the neighbor list, and data is sent through data packaging and transmission protocol; a virtual-real attribute of an end node is added to a rod element across nodes, when both nodes of the rod element are in a grid governed by the current process, the rod element structure is considered to be in the current process, and the nodes at both ends are real points; if only one end is in the current process, the rod element is considered to be cross-process, the rod element has a copy in each of the two processes, and the nodes at both ends are a pair of virtual-real nodes, the virtual node does not participate in the calculation related to the end node, only synchronizes before the calculation related to the rod structure, and participates in the calculation related to the rod structure, the virtual point needs to synchronize the data of the corresponding real point before updating the stress and strain of the rod element, and the data of the cross-process rod element is communicated to the corresponding rod element node of the corresponding process. The processing module is further configured to move the grid data, including movement of the material points and movement of the rod elements; wherein for the movement of the rod elements, whether the rod elements need to move is determined based on position changes of two end points of the rod elements, and if the rod elements need to move, in the movement process, in addition to moving the rod structure and the point structure of the rod elements to corresponding processes simultaneously, an index mapping relationship of the rod elements in a new process is updated.
5. The apparatus of claim 4, wherein, The initialization module is specifically configured to: The background grid is constructed using an octree structure, and the final form of the background grid is determined through encryption operation of the octree; initial parameters and encryption rules of the octree are determined according to spatial features and precision of a material explosion simulation scene.
6. The apparatus of claim 4, wherein, The processing module is further configured to: For the movement of the material points, a material point position query function and a process attribution judgment function are established, and a newly calculated position of the material points is compared with a range of the background grid responsible for a current process; when the material points are out of the range of the current process, all material information of the material points is packed and moved to a corresponding adjacent process according to a preset data format.
Citation Information
Patent Citations
Non-structural right-angle grid acceleration generation method
CN111400969A
Substance point simulation parallel method based on three-dimensional adaptive division
CN116911147A