Calculation and analysis module design method, simulation software construction method and device

By building the data structure and functional architecture of computing tasks in CAE software, seamless conversion from interaction model to analysis model is realized, and data processing efficiency is improved through the conversion mechanism and assembly, the shortcomings in data conversion and architecture design of existing domestic CAE software are solved, and more efficient user experience and technological innovation are achieved.

CN119885770AActive Publication Date: 2025-04-25WUHAN UNIV

Patent Information

Application Number
CN202510103344.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-22
Publication Date
2025-04-25
Estimated Expiration
2045-01-22

AI Technical Summary

Technical Problem

The existing domestic CAE software has shortcomings in the architecture design of the computing and analysis module, resulting in poor data conversion, low efficiency of multi-disciplinary collaborative work, poor user operation experience, and difficulty in integrating emerging algorithms, limiting the expansion of technological innovation and application scope.

Method used

By building a computing task data structure and computing task creation management functional architecture, seamless transformation of interactive model data and analytical model data are realized. At the same time, a conversion mechanism for geometric grids and analysis grids and a multi-unit general assembly are built, and the docking interface between calculation results and post-processing modules is standardized to reduce development complexity and maintenance costs.

Benefits of technology

It improves the stability and efficiency of model data conversion, improves user operation experience, enhances the scalability and maintenance of the system, supports the integration and application of advanced algorithms, and promotes the technological progress of domestic CAE software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885770A_ABST
    Figure CN119885770A_ABST
Patent Text Reader

Abstract

The invention provides a calculation and analysis module design method and a simulation software construction method and device. The calculation and analysis module design method comprises the following steps: constructing a calculation task data structure and a calculation task creation management function architecture; the calculation task data structure comprises a model node class and a calculation task information class; the calculation task creation management function architecture comprises a dialogue window; constructing a conversion mechanism of the geometric grid and the analysis grid and a multi-unit universal assembler; the conversion mechanism is used for converting the interaction model data into analysis model data, and the multi-unit universal assembler is used for determining a degree-of-freedom distribution total rigidity identifier of each node in the analysis model data; constructing a calculation step data structure; the calculation step data structure comprises a calculation step information class representing calculation step information; and determining a specific implementation method in the calculation step information class based on a finite element analysis theory. According to the method, clear development guidance is provided for the calculation and analysis module, and the expandability, maintainability and module development efficiency are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of finite element simulation, and in particular to a calculation and analysis module design method, a simulation software construction method and a device. Background Art

[0002] In the current environment of rapid progress in science, technology and engineering, finite element simulation (CAE) software has become increasingly indispensable as a key tool for design and analysis. The process of interactive finite element modeling and simulation mainly revolves around two core steps: model building and simulation analysis. Model building aims to provide an accurate data basis for subsequent simulation calculations, while the accuracy and efficiency of simulation are highly dependent on the effective operation of the solution analysis module and solver. However, in the development process of domestic CAE software, especially in the architectural design of the calculation and analysis module, there are still some important challenges that need to be solved: Model data conversion and compatibility: Due to defects in data structure design, existing CAE software is difficult to achieve seamless conversion from interactive modeling to finite element calculation models. This not only hinders the smooth transition between different stages, but also limits the efficiency of multidisciplinary collaborative work and affects the user's operating experience.

[0003] Computational analysis module architecture design: The existing solution analysis module lacks a comprehensive and flexible architecture design, which makes it difficult for the system to quickly adapt to and integrate emerging advanced algorithms, limiting technological innovation and the expansion of application scope.

[0004] Connecting with other modules: Due to the lack of consideration in data structure and architecture design, it is difficult to connect with other modules in the system, and complex file systems are often required for data communication between modules. For example, in the post-processing module, it is usually necessary to rely on third-party software for additional processing, which increases the complexity of the user's operation and the workload.

[0005] In view of the above problems, there is an urgent need for a design method and device for a computing and analysis module, which aims to solve the deficiencies in the existing data structure and functional architecture design, enhance the stability of the system in data conversion and analysis model construction, standardize the docking interface between the calculation results and the post-processing module, reduce development complexity and long-term maintenance costs, and significantly improve the efficiency of modeling and simulation and user experience, and promote the technological progress and development of domestic CAE software. Summary of the invention

[0006] In view of this, it is necessary to provide a computing and analysis module design method, a simulation software construction method and a device to solve the technical problems existing in the prior art, such as poor scalability and maintainability at the software development level caused by the limitations of the data structure and the rigid functional architecture, and the inability to effectively implant external algorithms.

[0007] On the one hand, in order to solve the above technical problems, the present invention provides a method for designing a computing analysis module, comprising: Constructing a computing task data structure and a computing task creation management function architecture; the computing task data structure includes a model node class for accessing the interaction model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management function architecture includes a dialog window for describing computing tasks; Constructing a conversion mechanism and a multi-element universal assembler for geometric mesh and analysis mesh; the conversion mechanism is used to convert the interactive model data into analysis model data, and the multi-element universal assembler is used to determine the total stiffness identification of the degree of freedom allocation of each node in the analysis model data; Constructing a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; The specific implementation method in the calculation step information class is determined based on finite element analysis theory.

[0008] In a possible implementation, a computing task data structure is constructed, including: Based on the combination mode, a computing task container class inherited from the abstract container class and a computing task node class inherited from the abstract model node class are designed; the computing task container class and the computing task node class are in an aggregation relationship; the computing task container class is used to manage the computing task node class, and the computing task node class is used to create computing tasks; The model node class and the computing task information class are constructed. The relationship between the model node class and the computing task node class is an association relationship, and the relationship between the computing task information class and the computing task node class is a combination relationship; the computing task information class is used to obtain computing task information.

[0009] In a possible implementation, constructing a computing task data structure further includes: Constructing a computing task thread class, an analysis model class and a computing result class, wherein the computing task thread class and the computing result class have an aggregation relationship with the computing task node class, and the analysis model class has an association relationship with the computing task node class; Among them, the computing task thread class is used to provide asynchronous computing functions, the analysis model class is used to access the analysis model data, and the calculation result class is used to store the analysis model data and the interaction model data, and establish a connection with the visualization post-processing module.

[0010] In one possible implementation, a computing task creation management functional architecture is constructed, including: Constructing a computing task creation dialog window, a computing task editing dialog window, a computing task generator and a computing task management dialog window, wherein the relationship between the computing task creation dialog window and the computing task editing dialog window, and between the computing task editing dialog window and the computing task generator is a combination relationship, the relationship between the computing task creation dialog window and the computing task management dialog window, and between the computing task editing dialog window and the computing task management dialog window is a combination relationship, and the computing task management dialog window and the computing task thread class are in an aggregation relationship; The computing task management dialog window includes a reserved create button and an edit button, wherein the create button is used to call the computing task creation dialog window, and the edit button is used to call the computing task editing dialog window.

[0011] In a possible implementation, the conversion mechanism includes a node conversion mechanism and a unit conversion mechanism, and the conversion mechanism of the geometric mesh and the analysis mesh is constructed, including: Traversing the geometric node information in the geometric grid and the analytical model node information in the analytical grid, and constructing the node conversion mechanism based on the geometric node information and the analytical model node information; The geometric unit information in the geometric grid and the analysis model unit information in the analysis grid are traversed, and the unit conversion mechanism is constructed based on the geometric unit information and the analysis model unit information.

[0012] In one possible implementation, a multi-unit general assembler is constructed, including: Determining data attributes of the multi-unit universal assembler, and constructing assembly steps based on the data attributes to obtain the multi-unit universal assembler; The data attributes include an analysis model node list, an analysis model unit list, a node degree of freedom quota table, and a node degree of freedom mapping number table. The analysis model node list includes a node degree of freedom identifier and a node degree of freedom mapping number in an assembly process. The analysis model unit list includes a unit degree of freedom number and a unit degree of freedom identifier in an assembly process. The node degree of freedom quota table is a string list composed of the degree of freedom identifier of each node. The node degree of freedom mapping number table is a list of node degree of freedom mapping numbers. The assembly steps are: Traverse each element in the unit degree of freedom number table of each unit, compare each element with the corresponding node degree of freedom identifier, update the node degree of freedom based on the comparison result, and the updated node degrees of freedom of all nodes constitute a degree of freedom identifier quota table; Traversing each element in the node degree of freedom quota table, determining the total number of node degrees of freedom, obtaining an initial value of the node degree of freedom mapping number, and determining the value of each element in the node degree of freedom mapping number based on the total number of node degrees of freedom and the initial value; Each unit is traversed, and the unit degree of freedom number table of each unit is determined based on the degree of freedom identification quota table and the node degree of freedom mapping number, and the degree of freedom allocation total stiffness identification is determined based on the unit degree of freedom number table of each unit.

[0013] In a possible implementation, constructing the calculation step data structure includes: Based on the combination mode, a calculation step container class inherited from the abstract container class and a calculation step node class inherited from the abstract model node class are designed; the calculation step container class and the calculation step node class are in an aggregation relationship; the calculation step container class is used to manage the calculation step node class, and the calculation step node class is used to create calculation steps; Constructing the load condition container class and the boundary condition container class which are in an aggregation relationship with the calculation step node class, the calculation step information class which is in a combination relationship with the calculation step node class, and the calculation step type class which is in an association relationship with the calculation step node class; The calculation step information class is used to manage the calculation step attributes and parameters of the calculation step node class and provide an abstract method interface.

[0014] On the other hand, the present invention also provides a simulation software construction method, comprising: Construct computational analysis modules based on computational analysis module design method; The design method based on computing and analyzing modules is the design method based on computing and analyzing modules described in any one of the possible implementations described above.

[0015] On the other hand, the present invention also provides a computing and analysis module design device, comprising: A data structure and functional architecture construction unit, used to construct a computing task data structure and a computing task creation management functional architecture; the computing task data structure includes a model node class for accessing the interaction model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management functional architecture includes a dialog window for describing computing tasks; A conversion mechanism and assembler construction unit is used to construct a conversion mechanism and a multi-element universal assembler for constructing a geometric mesh and an analysis mesh; the conversion mechanism is used to convert the interactive model data into analysis model data, and the multi-element universal assembler is used to determine the total stiffness identifier of the degree of freedom allocation of each node in the analysis model data; A calculation step data structure construction unit, used to construct a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; The specific implementation method determination unit is used to determine the specific implementation method in the calculation step information class based on finite element analysis theory.

[0016] On the other hand, the present invention also provides a simulation software construction device, comprising: A computing and analysis module construction unit, used to construct a computing and analysis module based on a computing and analysis module design method; The design method based on computing and analyzing modules is the design method based on computing and analyzing modules described in any one of the possible implementations described above.

[0017] The beneficial effects of the present invention are as follows: the design method of the computing analysis module provided by the present invention, firstly, by constructing a computing task data structure and a computing task creation management function architecture, the quasi-analysis interaction model can be accessed based on the model node class in the computing task data structure, the computing task information can be obtained based on the computing task information class, and the computing task parameters and other information describing the computing task can be determined based on the dialog window in the computing task creation management function architecture, thereby determining the specific computing task of the quasi-analysis interaction model, and when determining the computing task of the quasi-analysis interaction model, the interactive model data is accessed based on the model node class, the acquisition of the interactive model data is realized, and data support is provided for subsequent mesh conversion and priority cloud analysis. Secondly, by constructing a conversion mechanism and a multi-unit universal assembler for geometric meshes and analysis meshes, seamless conversion of geometric meshes and analysis meshes is realized, without the need to import geometric meshes into third-party software for additional processing, thereby reducing the complexity of user operations and workload. Further, the present invention constructs a computing step data structure, and sets a computing step information class representing computing step information in the computing step data structure, and the specific implementation method in the computing step information class is determined based on the finite element analysis theory. That is, the abstract method interface in the computing step information class can access different algorithms, thereby improving the scalability of the computing analysis module.

[0018] In summary, the embodiment of the present invention provides clear development guidance for the computing and analysis module by constructing a design framework for the computing and analysis module, and provides clear data and functional architecture support for the development, access and verification of advanced algorithms. While effectively ensuring the scalability and maintainability of the module, it improves the development efficiency of the module and provides users with a good interactive experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. 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 work.

[0020] Figure 1 A schematic diagram of an embodiment of the calculation and analysis module design method provided by the present invention; Figure 2 A schematic diagram of an embodiment of a computing task data structure provided by the present invention; Figure 3 A schematic diagram of an embodiment of a computing task creation management functional architecture provided by the present invention; Figure 4 A schematic diagram of an embodiment of a calculation step data structure provided by the present invention; Figure 5 A schematic diagram of calculation steps of an algorithm example based on finite element theory provided by the present invention; Figure 6 A schematic diagram of the structure of an embodiment of the computing and analysis module design device provided by the present invention. DETAILED DESCRIPTION

[0021] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0022] It should be understood that the schematic drawings are not drawn to scale. The flowchart used in the present invention shows the operations implemented according to some embodiments of the present invention. It should be understood that the operations of the flowchart can be implemented out of order, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art, under the guidance of the content of the present invention, can add one or more other operations to the flowchart, and can also remove one or more operations from the flowchart. Some of the block diagrams shown in the accompanying drawings are functional entities, which do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor systems and / or microcontroller systems.

[0023] Reference to an "embodiment" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0024] The present invention provides a calculation and analysis module design method, a simulation software construction method and a device, which are applied to finite element simulation software, and are described below respectively.

[0025] Before introducing the embodiments, it should be noted that the computing and analysis module design method in the embodiments of the present invention can be implemented in electronic devices such as desktop computers, notebooks, tablet computers, laptop computers, etc. Any of the above electronic devices stores a program compiled by the computing and analysis module design method. When any of the above electronic devices is started, the program is called, and then the computing and analysis module design method is implemented.

[0026] In a specific embodiment of the present invention, the electronic device is a finite element simulation software building device, which is used to build finite element simulation software.

[0027] Figure 1 A flow chart of an embodiment of the method for designing a computing and analyzing module provided by the present invention is as follows: Figure 1 As shown, the calculation and analysis module design method includes: S101, constructing a computing task data structure and a computing task creation management function architecture; the computing task data structure includes a model node class for accessing the interaction model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management function architecture includes a dialog window for describing the computing task; S102, constructing a conversion mechanism for geometric mesh and analysis mesh and a multi-element universal assembler; the conversion mechanism is used to convert the interactive model data into analysis model data, and the multi-element universal assembler is used to determine the total stiffness identifier of the degree of freedom allocation of each node in the analysis model data; S103, constructing a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; S104. Determine the specific implementation method in the calculation step information class based on finite element analysis theory.

[0028] The interactive model data includes the geometric model generated during modeling and related setting parameters, such as material parameters, boundary conditions, etc. It also includes the geometric mesh data obtained when the geometric model is meshed. The geometric mesh refers to the mesh without physical properties (such as stress, temperature) assigned to the mesh, and the analysis mesh is the mesh with physical properties.

[0029] It should be noted that the purpose of creating the computing task data structure and the computing task creation management functional architecture is to support the development of the computing tasks, the purpose of constructing the geometric mesh and analysis mesh conversion mechanism and the multi-unit general assembler is to support the conversion of geometric mesh to analysis mesh, and the purpose of constructing the computing step data structure and the specific implementation method is to realize the simulation analysis and solution calculation of the analysis model.

[0030] Compared with the prior art, the design method of the calculation analysis module provided by the embodiment of the present invention, firstly, by constructing a calculation task data structure and a calculation task creation management function architecture, the pseudo-analysis interaction model can be accessed based on the model node class in the calculation task data structure, the calculation task information can be obtained based on the calculation task information class, and the calculation task parameters and other information describing the calculation task can be determined based on the dialog window in the calculation task creation management function architecture, thereby determining the specific calculation task of the pseudo-analysis interaction model, and when determining the calculation task of the pseudo-analysis interaction model, the interaction model data is accessed based on the model node class, the acquisition of the interaction model data is realized, and data support is provided for subsequent mesh conversion and priority cloud analysis. Secondly, by constructing a conversion mechanism and a multi-unit universal assembler for geometric meshes and analysis meshes, seamless conversion of geometric meshes and analysis meshes is realized, without the need to import geometric meshes into third-party software for additional processing, thereby reducing the complexity of user operations and workload. Furthermore, the present invention constructs a calculation step data structure, and sets a calculation step information class representing the calculation step information in the calculation step data structure, and the specific implementation method in the calculation step information class is determined based on the finite element analysis theory. That is, the abstract method interface in the calculation step information class can access different algorithms, thereby improving the scalability of the calculation analysis module.

[0031] In summary, the embodiment of the present invention provides clear development guidance for the computing and analysis module by constructing a design framework for the computing and analysis module, and provides clear data and functional architecture support for the development, access and verification of advanced algorithms. While effectively ensuring the scalability and maintainability of the module, it improves the development efficiency of the module and provides users with a good interactive experience.

[0032] Since the process of determining the computing task includes not only accessing the interaction model data and obtaining the computing task information, but also other information or operations, in order to ensure the rationality and hierarchy of the computing task data structure, in some embodiments of the present invention, Figure 2As shown, the construction of the computing task data structure in step S101 includes: Based on the combination pattern, the computing task container class Jobs inherited from the abstract container class BaseContainerObject and the computing task node class Job inherited from the abstract model node class BaseObject are designed; the computing task container class Jobs and the computing task node class Job are in an aggregation relationship; the computing task container class Jobs is used to manage the computing task node class Job, and the computing task node class Job is used to create computing tasks; Construct the model node class Model and the computing task information class JobInfo. The relationship between the model node class Model and the computing task node class Job is an association relationship, and the relationship between the computing task information class JobInfo and the computing task node class Job is a combination relationship; the computing task information class JobInfo is used to obtain computing task information.

[0033] Among them, both the combination relationship and the aggregation relationship have management significance, that is, both the combination relationship and the aggregation relationship are relationships between management and being managed, and the association relationship has no management significance, it is only used to illustrate the existence of a connection between the two.

[0034] The computing task information class includes not only basic information about the computing task, such as computing task description and computing task type, but also functional settings of the computing task, such as whether to perform parallel computing and how to allocate computing resources.

[0035] In some embodiments of the present invention, the task data structure may also support other functions, such as Figure 2 As shown, the construction of the computing task data structure in step S101 also includes: Construct the calculation task thread class JobThread, the analysis model class FEMModel and the calculation result class Result. The relationship between the calculation task thread class JobThread and the calculation result class Result and the calculation task node class Job is an aggregation relationship, and the relationship between the analysis model class FEMModel and the calculation task node class Job is an association relationship; Among them, the computing task thread class JobThread is used to provide asynchronous computing functions, the analysis model class is used to access the analysis model data, and the computing result class Result is used to store the analysis model data and the interactive model data, and to establish a connection with the visualization post-processing module.

[0036] The embodiment of the present invention takes into account that finite element calculations are often time-consuming. In order not to affect the use of the finite element simulation system after a calculation task is submitted for calculation and to allow the user to perform other modeling and calculation operations, a calculation task thread class is set to implement an asynchronous calculation function, thereby avoiding occupying the software when the calculation task is executed, thereby improving the simulation efficiency of the finite element simulation system.

[0037] Moreover, the embodiment of the present invention can provide data support for the subsequent conversion of geometric meshes and analysis meshes by setting the analysis model class. Furthermore, the embodiment of the present invention can establish data management with other modules by setting the calculation result class for storing analysis model data and interaction model data, and establish a connection with the visualization post-processing module, directly provide data for other modules, and avoid the introduction of third-party software.

[0038] From a macroscopic perspective, the functions associated with computing tasks include creation, editing, and management. To implement these functions, in some embodiments of the present invention, for example, Figure 3 As shown, the step S101 of constructing a computing task creation management function architecture includes: Construct the computing task creation dialog window QmyGenerateJobDialog, the computing task editing dialog window QmyEditJobDialog, the computing task generator JobGenerator and the computing task management dialog window QmyManageJobDialog. The relationship between the computing task creation dialog window QmyGenerateJobDialog and the computing task editing dialog window QmyEditJobDialog, the computing task editing dialog window QmyEditJobDialog and the computing task generator JobGenerator is a combination relationship. The relationship between the computing task creation dialog window QmyGenerateJobDialog and the computing task management dialog window QmyManageJobDialog, the computing task editing dialog window QmyEditJobDialog and the computing task management dialog window QmyManageJobDialog is a combination relationship. The computing task management dialog window QmyManageJobDialog and the computing task thread class JobThread are an aggregation relationship. The computing task management dialog window QmyManageJobDialog includes a reserved create button and an edit button. The create button is used to call the computing task creation dialog window QmyGenerateJobDialog, and the edit button is used to call the computing task editing dialog window QmyEditJobDialog.

[0039] It can be seen from the above management function architecture that the embodiment of the present invention designs two ways to implement creation, editing and management related operations, specifically: First, after clicking the calculation task creation dialog window QmyGenerateJobDialog and setting the name of the Job and the interaction model to be analyzed, a temporary calculation task object Job is created for the user, and the calculation task editing dialog window QmyEditJobDialog is entered to provide the user with more detailed calculation task properties and parameter settings. When the user completes the settings, the calculation task generator JobGenerator reads all the user inputs and generates the calculation task information object JobInfo to complete the creation and editing of the Job.

[0040] Second, users can directly create and edit computing tasks through the reserved create and edit buttons in the computing task management dialog window QmyManageJobDialog, simplifying the management of computing tasks.

[0041] In addition, in QmyManageJobDialog, a QTableWidget is designed, which is associated with the data model, can reflect the computing task data in the current model in real time and provide interactive functions. The created Job object is associated with QmyManageJobDialog through the corresponding JobThread. Therefore, the user can select the computing task to be modified in the QTableWidget and click the edit button to edit the JobInfo of the created Job object.

[0042] In addition to basic operations such as rename and delete, QmyManageJobDialog also provides a submit function. That is, after selecting the calculation task to be analyzed, click the Submit button to access the JobThread corresponding to the Job and call its execution method to start executing the simulation calculation task.

[0043] It should be understood that the main steps in building the analysis model include: Step 1, generating an analysis model node FEMNode based on the geometric mesh data MeshData; Step 2, based on the geometric mesh data MeshData, the analysis model node FEMNode, and the element type setting ElementType, generate the analysis model element FEMElement; Step 3: Assemble the units and nodes through the Assembler, and assign an overall mapping number to each valid degree of freedom on each node; Step 4: Obtain boundary conditions and load conditions from the interactive model; Step 5: Obtain the cross-sectional information corresponding to the geometric shape from the interactive model.

[0044] From the above content, it can be seen that in order to realize the construction of the analysis model, the conversion mechanism of the geometric mesh and the analysis mesh needs to include a node conversion mechanism and a unit conversion mechanism, that is, the conversion mechanism of the geometric mesh and the analysis mesh in step S102 includes: Traversing the geometric node information in the geometric mesh and the analytical model node information in the analytical mesh, and building a node conversion mechanism based on the geometric node information and the analytical model node information; The geometric unit information in the geometric grid and the analytical model unit information in the analytical grid are traversed, and a unit conversion mechanism is constructed based on the geometric unit information and the analytical model unit information.

[0045] In a specific embodiment of the present invention, the specific implementation process of converting the geometric grid into the analysis grid is: Generate analysis model node FEMNode: traverse the node data in MeshData to read its node coordinates and node numbers as instantiation parameters to generate FEMNode.

[0046] Generate analysis model unit FEMElement: First, traverse the geometric unit data in MeshData and extract the basic information of the geometric unit, including unit number, unit type and corresponding node number. Then read the analysis unit type settings set in the meshing module, including the selected unit family type, unit order, etc., and then match them in the unit library. This matching process not only involves matching the unit geometry, such as matching the first-order triangular unit with the three-node triangle unit and the second-order quadrilateral unit with the eight-node quadrilateral unit, but also matches the calculation properties of the unit based on the user's settings, such as matching the preset calculation unit with a special number of node degrees of freedom and interpolation function in the unit family with the same geometric characteristics to generate FEMElement.

[0047] In some embodiments of the present invention, building a multi-unit universal assembler in step S102 includes: The data attributes of the multi-unit universal assembler are determined, and assembly steps are constructed based on the data attributes to obtain the multi-unit universal assembler.

[0048] Specifically, the data attributes include the analysis model node list nodes, the analysis model element list elements, the node freedom quota table nfat, and the node freedom mapping number table nfmt; Among them, the analysis model node list nodes is a list of FEMNode, including the node freedom identifier nfs and the node freedom mapping number nfm in the assembly process. The node freedom identifier nfs is represented by a string consisting of 0 and 1, where 0 represents an invalid degree of freedom and 1 represents a valid degree of freedom. The node freedom mapping number nfm is used to describe the starting number of the degree of freedom of the node.

[0049] The analysis model element list elements is a list of FEMElement, including the element degree of freedom number eft and the element degree of freedom identifier efs during the assembly process. The element degree of freedom number eft is an integer list corresponding to the total rigid assembly number of each valid degree of freedom in the element. The element degree of freedom identifier efs is a string list, which is a list composed of the node degree of freedom identifiers nfs of the nodes, indicating the valid degrees of freedom on the corresponding nodes of the element.

[0050] The node freedom quota table nfat is a string list composed of the freedom identifiers of each node. When the units are different, the same node shared by different units may have different freedom identifiers in different units. For example, node 1 is shared by units 1 and 2. The freedom identifier nfs of the node in unit 1 is "110000", and the freedom identifier of the node in unit 2 is "110001". At this time, the freedom identifier of the node in nfat is the union of the two, that is, "110001".

[0051] The node degree of freedom mapping number table nfmt is a list of node degree of freedom mapping numbers, which is a list of integers. The starting degree of freedom number corresponding to each node in the table can be obtained from nfat. For example, if an nfat is ["110000","110000","110001",...], the corresponding nfmt is [0,2,4,7,...].

[0052] In a specific embodiment of the present invention, the assembly steps are: Step 1, calculate the node freedom quota table nfat: traverse each element in the unit freedom number efs table of each unit, compare each element with the corresponding node freedom mark, if the freedom in efs is "1" and the node freedom mark is "0", then update the node freedom and change the freedom mark to "1". After the traversal is completed, the freedom mark quota nfat table of all nodes can be obtained; Step 2, calculate the node freedom mapping number nfmt table: traverse each element in the node freedom quota nfat table, calculate the format of "1" in each element as the total number of freedom of the node, the elements in the node freedom mapping number nfmt start from 0, the effective freedom number of the i-th element in nfat plus the value of the i-1th element in nfmt is the value of the i-th element in nfmt; Step 3, calculate the unit freedom number eft of each unit: traverse each unit, and calculate the total rigid number corresponding to each degree of freedom on each node based on the freedom identification quota table nfat and the node freedom mapping number nfmt. Take the nfmt element corresponding to the node as the starting number, and the freedom identification in nfat as the calculation object. Whenever "1" appears, an element is recorded in eft, and its value is the corresponding element of nfmt and the number of times "1" appears in the node up to the current degree of freedom. For example, nfat=["110001","110000","110001",...], nfmt=[0,3,5,8,...], then for the unit composed of nodes 1 and 3, eft=[1,2,3,6,7,8].

[0053] At this point, the eft of each unit is calculated, and the total stiffness identification of the degree of freedom allocation can be confirmed to meet the total stiffness assembly requirements in subsequent simulation calculations.

[0054] In some embodiments of the present invention, Figure 4 , the construction of the calculation step data structure in step S103 includes: Based on the combination pattern, the calculation step container class Steps inherited from the abstract container class BaseContainerObject and the calculation step node class Step inherited from the abstract model node class BaseObject are designed; the calculation step container class Steps and the calculation step node class Step are in an aggregation relationship; the calculation step container class Steps is used to manage the calculation step node class Step, and the calculation step node class Step is used to create calculation steps; Construct the load condition container class Loads and the boundary condition container class BoundaryConditions which are in an aggregation relationship with the calculation step node class Step, the calculation step information class StepInfo which is in a combination relationship with the calculation step node class Step, and the calculation step type class StepType which is in an association relationship with the calculation step node class Step; The calculation step information class StepInfo is used to manage the calculation step properties and parameters of the calculation step node class Step, and provides an abstract method interface.

[0055] The construction principle of the above calculation step data structure is: Step is a calculation step, and its main function is to clarify the analysis type. In finite element simulation calculations, different simulation problems require different calculation steps and algorithms to achieve the simulation calculation goals. For example, in static structural simulation, geometric nonlinearity is not considered when calculating small deformation problems, but it needs to be considered when calculating large deformations. There are significant differences between the two in the calculation process and computing resource consumption.

[0056] Therefore, during the calculation process, Step requires two pieces of information: On the one hand, the boundary related information is constructed in the boundary setting module. Each Step has corresponding boundary conditions and loads, so it is necessary to clarify which calculation step it belongs to when setting boundary conditions. Therefore, Loads and BoundaryConditions are designed to form an aggregation relationship with Step, representing the load and boundary conditions in the calculation step respectively.

[0057] On the other hand, there is the Step's own setting attribute information. During the calculation and analysis process, it is necessary to set the calculation-related parameters, such as whether to consider geometric nonlinearity, which solution storage strategy to choose, the maximum and minimum step parameters of iterative calculation, and other contents.

[0058] For different types of calculation steps, the optional strategies and related setting parameters are obviously different. Therefore, the calculation step information class StepInfo is designed to form a combination relationship with Step. StepInfo manages the calculation step attributes and parameters required by the corresponding type of Step on the one hand, and provides abstract method interfaces such as compute() on the other hand.

[0059] The specific calculation of the calculation step is implemented by the compute() method of StepInfo. Because there are significant differences in different analysis types, there is no clear common method. The algorithm principle can be based on the finite element theory framework, and the data required for the calculation is the analysis model data FEMModel that has been converted by the calculation and analysis module. Taking the static structure simulation analysis as an example, the calculation process of the compute() method in the calculation step considering large deformation in the general calculation step information class GeneralStepInfo is explained. Based on the updated Lagrangian format, the solution is solved using the Newton method, such as Figure 5 shown.

[0060] First, it is necessary to initialize various data, including node coordinates coords, Cauchy stress vector taus, displacement increment vector du, and displacement vector u. Then enter the formal calculation steps: Step 1, enter the calculation step loop; Step 2: Call the generate_k_mat() method of the FEMModel object to calculate the overall stiffness matrix k_mat and the internal force related terms tf_vec based on the node coordinates coords and the Cauchy stress taus; Step 3: Call the generate_f_vec() method of the FEMModel object to calculate the load vector f_vec of the current calculation step based on the node coordinates coords; Step 4, subtract f_vec from tf_vec to obtain the processed load vector f_vec_0; Step 5, call process_k_f_via_bc() of the FEMModel object to process the boundary conditions of f_vec_0 and k_mat; Step 6: Based on the processed f_vec_0 and k_mat, solve and calculate to obtain the displacement increment vector du; Step 7, update the coordinates coords according to du; Step 8: Calculate the stress increment relative to the current model and update the stress vector to obtain the Cauchy stress taus of the current configuration; Step 9, enter the iterative calculation step loop; Step 10, call the generate_k_mat() method of the FEMModel object, and calculate the overall stiffness matrix k_mat_1 and the internal force related items tf_vec_1 based on the node coordinates coords and the Cauchy stress taus; Step 11, calculate the residual rsd based on f_vec and tf_vec_1, and determine whether it meets the accuracy requirements. If not, proceed to the next step; if it does, end the iterative calculation step loop, add 1 to the calculation step number and return to step 2. If the calculation step reaches the maximum value at this time, end the calculation process; Step 12: Process the boundary conditions of the stiffness matrix k_mat_1 and the residual rsd, and calculate the new displacement increment du1; Step 13: Based on the displacement increment du1, update the node coordinates coords and Cauchy stress; Step 14: Increase the iterative calculation step by 1 and return to step 9.

[0061] The above solution is only a specific implementation method when considering large deformation. In practical applications, different specific implementation methods can be constructed based on the algorithms in the finite element analysis principle, which will not be elaborated here.

[0062] On the other hand, an embodiment of the present invention further provides a simulation software construction method for constructing finite element simulation software, the method comprising: Construct computational analysis modules based on computational analysis module design method; Among them, the design method based on computing and analyzing modules is the design method based on computing and analyzing modules in any one of the above embodiments.

[0063] It should be understood that: in addition to constructing the calculation and analysis module through the above steps, the simulation software construction method can also include constructing modules such as grid division, which will not be elaborated here.

[0064] On the other hand, the embodiment of the present invention also provides a computing and analysis module design device, such as Figure 6 As shown, the computing and analysis module design device 600 includes: The data structure and functional architecture building unit 601 is used to build a computing task data structure and a computing task creation management functional architecture; the computing task data structure includes a model node class for accessing the interaction model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management functional architecture includes a dialog window for describing computing tasks; The conversion mechanism and assembler construction unit 602 is used to construct the conversion mechanism and multi-element universal assembler of the geometric mesh and the analysis mesh; the conversion mechanism is used to convert the interactive model data into the analysis model data, and the multi-element universal assembler is used to determine the total stiffness identification of the degree of freedom allocation of each node in the analysis model data; A calculation step data structure construction unit 603 is used to construct a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; The specific implementation method determining unit 604 is used to determine the specific implementation method in the calculation step information class based on the finite element analysis theory.

[0065] The computing and analysis module design device 600 provided in the above embodiment can implement the technical solution described in the above computing and analysis module design method embodiment. The specific implementation principles of the above modules or units can refer to the corresponding contents in the above computing and analysis module design method embodiment, which will not be repeated here.

[0066] On the other hand, an embodiment of the present invention further provides a simulation software construction device for constructing finite element simulation software, the device comprising: A computing and analysis module construction unit, used to construct a computing and analysis module based on a computing and analysis module design method; Among them, the design method based on computing and analyzing modules is the design method based on computing and analyzing modules in any one of the above embodiments.

[0067] Those skilled in the art will appreciate that all or part of the processes of the above-mentioned embodiments can be implemented by instructing related hardware (such as a processor, a controller, etc.) through a computer program, and the computer program can be stored in a computer-readable storage medium, wherein the computer-readable storage medium is a disk, an optical disk, a read-only storage memory, or a random access memory, etc.

[0068] The above is a detailed introduction to a computing and analysis module design method, a simulation software construction method and a device provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A method for designing a computing and analysis module, characterized in that: include: Construct computing task data structure and computing task creation management function architecture; The computing task data structure includes a model node class for accessing the interactive model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management function architecture includes a dialog window for describing computing tasks; Conversion mechanisms and multi-element general assemblers for constructing geometric and analytical meshes; The conversion mechanism is used to convert the interactive model data into analytical model data, and the multi-unit universal assembler is used to determine the total stiffness identifier of the degree of freedom allocation of each node in the analytical model data; Constructing a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; The specific implementation method in the calculation step information class is determined based on finite element analysis theory.

2. The method for designing a computing and analysis module according to claim 1, characterized in that: Construct the computing task data structure, including: Based on the combination mode, a computing task container class inherited from the abstract container class and a computing task node class inherited from the abstract model node class are designed; the computing task container class and the computing task node class are in an aggregation relationship; the computing task container class is used to manage the computing task node class, and the computing task node class is used to create computing tasks; The model node class and the computing task information class are constructed. The relationship between the model node class and the computing task node class is an association relationship, and the relationship between the computing task information class and the computing task node class is a combination relationship; the computing task information class is used to obtain computing task information.

3. The method for designing a computing and analysis module according to claim 2, characterized in that: Constructing the computing task data structure also includes: Constructing a computing task thread class, an analysis model class and a computing result class, wherein the computing task thread class and the computing result class have an aggregation relationship with the computing task node class, and the analysis model class has an association relationship with the computing task node class; Among them, the computing task thread class is used to provide asynchronous computing functions, the analysis model class is used to access the analysis model data, and the calculation result class is used to store the analysis model data and the interaction model data, and establish a connection with the visualization post-processing module.

4. The method for designing a computing and analysis module according to claim 3, characterized in that: Build a computing task creation management functional architecture, including: Constructing a computing task creation dialog window, a computing task editing dialog window, a computing task generator and a computing task management dialog window, wherein the relationship between the computing task creation dialog window and the computing task editing dialog window, and between the computing task editing dialog window and the computing task generator is a combination relationship, the relationship between the computing task creation dialog window and the computing task management dialog window, and between the computing task editing dialog window and the computing task management dialog window is a combination relationship, and the computing task management dialog window and the computing task thread class are in an aggregation relationship; The computing task management dialog window includes a reserved create button and an edit button, wherein the create button is used to call the computing task creation dialog window, and the edit button is used to call the computing task editing dialog window.

5. The method for designing a computing and analyzing module according to claim 1, characterized in that: The conversion mechanism includes a node conversion mechanism and a unit conversion mechanism, and the conversion mechanism of the geometric mesh and the analysis mesh is constructed, including: Traversing the geometric node information in the geometric grid and the analytical model node information in the analytical grid, and constructing the node conversion mechanism based on the geometric node information and the analytical model node information; The geometric unit information in the geometric grid and the analysis model unit information in the analysis grid are traversed, and the unit conversion mechanism is constructed based on the geometric unit information and the analysis model unit information.

6. The method for designing a computing and analyzing module according to claim 1, characterized in that: Build a multi-unit generic assembler, including: Determining data attributes of the multi-unit universal assembler, and constructing assembly steps based on the data attributes to obtain the multi-unit universal assembler; The data attributes include an analysis model node list, an analysis model unit list, a node degree of freedom quota table, and a node degree of freedom mapping number table. The analysis model node list includes a node degree of freedom identifier and a node degree of freedom mapping number in an assembly process. The analysis model unit list includes a unit degree of freedom number and a unit degree of freedom identifier in an assembly process. The node degree of freedom quota table is a string list composed of the degree of freedom identifier of each node. The node degree of freedom mapping number table is a list of node degree of freedom mapping numbers. The assembly steps are: Traverse each element in the unit degree of freedom number table of each unit, compare each element with the corresponding node degree of freedom identifier, update the node degree of freedom based on the comparison result, and the updated node degrees of freedom of all nodes constitute a degree of freedom identifier quota table; Traversing each element in the node degree of freedom quota table, determining the total number of node degrees of freedom, obtaining an initial value of the node degree of freedom mapping number, and determining the value of each element in the node degree of freedom mapping number based on the total number of node degrees of freedom and the initial value; Each unit is traversed, and the unit degree of freedom number table of each unit is determined based on the degree of freedom identification quota table and the node degree of freedom mapping number, and the degree of freedom allocation total stiffness identification is determined based on the unit degree of freedom number table of each unit.

7. The method for designing a computing and analyzing module according to claim 1, characterized in that: The step of constructing the calculation step data structure includes: Based on the combination mode, a calculation step container class inherited from the abstract container class and a calculation step node class inherited from the abstract model node class are designed; the calculation step container class and the calculation step node class are in an aggregation relationship; the calculation step container class is used to manage the calculation step node class, and the calculation step node class is used to create calculation steps; Constructing the load condition container class and the boundary condition container class which are in an aggregation relationship with the calculation step node class, the calculation step information class which is in a combination relationship with the calculation step node class, and the calculation step type class which is in an association relationship with the calculation step node class; The calculation step information class is used to manage the calculation step attributes and parameters of the calculation step node class and provide an abstract method interface.

8. A method for constructing simulation software, characterized in that: include: Construct computational analysis modules based on computational analysis module design method; The design method based on computing and analyzing modules is the design method based on computing and analyzing modules as described in any one of claims 1 to 7.

9. A computing and analysis module design device, characterized in that: include: A data structure and functional architecture building unit, used to build a computing task data structure and a computing task creation management functional architecture; The computing task data structure includes a model node class for accessing the interactive model data of the interaction model to be analyzed and a computing task information class for obtaining computing task information; the computing task creation management function architecture includes a dialog window for describing computing tasks; A conversion mechanism and assembler construction unit is used to construct a conversion mechanism and a multi-element universal assembler for constructing a geometric mesh and an analysis mesh; the conversion mechanism is used to convert the interactive model data into analysis model data, and the multi-element universal assembler is used to determine the total stiffness identifier of the degree of freedom allocation of each node in the analysis model data; A calculation step data structure construction unit, used to construct a calculation step data structure; the calculation step data structure includes a calculation step information class representing calculation step information, a load condition container class representing load conditions, and a boundary condition container class representing boundary conditions; The specific implementation method determination unit is used to determine the specific implementation method in the calculation step information class based on finite element analysis theory.

10. A simulation software construction device, characterized in that: include: A computing and analysis module construction unit, used to construct a computing and analysis module based on a computing and analysis module design method; The design method based on computing and analyzing modules is the design method based on computing and analyzing modules as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Computer cluster parallel computing system and method

    CN113626367A

  • Creep deformation method and device for limited-length cladding pipe and computer equipment

    CN114676523A

  • Automobile opening and closing piece rigidity calculation method and device based on CATIA secondary development and storage medium

    CN115630438A

  • GPU parallel finite element method based on CUDA

    CN118210624A

Cited By

  • Small deformation contact nonlinear simulation method

    CN120217537A

  • A Small Deformation Contact Nonlinear Simulation Method

    CN120217537B