A method and system for designing analysis-step related data structures applied to structural finite element software development
By abstracting the data objects and analysis steps of the finite element model, the problem of unencapsulated logic between data objects and analysis steps is solved, achieving lightweight management and improved maintainability, and reducing development difficulty and scalability requirements.
Patent Information
- Application Number
- CN202411889679.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-12-20
AI Technical Summary
In existing technologies, the logic relating data objects and analysis steps in structural finite element software is not encapsulated, resulting in each type of data needing to be processed separately. This leads to poor software stability, a heavy development workload, and a lack of scalability and maintainability.
By abstracting the finite element model into data objects and analysis steps, an analysis step-related data structure is designed, including a data object model and interface encapsulation, to realize the status and data management of data objects in the analysis step. A data object manager is used for unified management, and user operations are simplified through interface encapsulation.
It achieves lightweight management of analysis steps and data structures, reduces development workload, improves software scalability and maintainability, and lowers the professional familiarity requirements for developers.
Smart Images

Figure CN119861907B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of software development technology, specifically relating to a method and system for designing analysis step-related data structures in structural finite element software development. Background Technology
[0002] Structural finite element numerical solution is an engineering analysis method in the field of structural mechanics that uses the finite element method to establish an analysis model, and then uses a computer to solve it. The finite element analysis model is the foundation for numerical solution, and its data mainly includes mesh model, material property data, analysis step data, interaction data, and boundary and load data.
[0003] A mesh model consists of data such as nodes, elements, node sets, element geometry, and surfaces. A node is a point in 3D space, uniquely identified by an integer ID value. An element is composed of multiple nodes, such as a tetrahedral element with four nodes or a hexahedral element with eight nodes, also uniquely identified by an integer ID value. A node set consists of multiple points, uniquely identified by its name. An element set consists of multiple elements, also uniquely identified by its name. A surface is formed by one or more faces of multiple elements.
[0004] Material property data includes material data and cross-sectional property data. Material data refers to the physical properties of the material, such as density, mechanical properties, and thermal properties. Cross-sectional properties are the properties assigned to the mesh model, such as solid, thin shell, and beam cross-sections.
[0005] Analysis step data refers to the type and parameters of the solution required from the constructed finite element model, such as static analysis or dynamic analysis. An analysis step involves performing a complete solution calculation on the model under certain conditions, thereby obtaining the solution results for engineering analysis.
[0006] Interaction data expresses the connections, contacts, and other interactions between various components in a finite element model.
[0007] Boundary and load data are the boundary conditions (such as fixed constraints) and loads (such as concentrated forces and distributed forces) required for the solution of the finite element model.
[0008] As can be seen from the above, the finite element model contains a wide variety of data, a large amount of data, and not only static data, but also various data with interrelationships during the finite element analysis calculation process. The state of the associated data changes dynamically with the activation state of the analysis step. This situation places high demands on the data structure design. An unreasonable data structure design will directly affect the stability and scalability of the program; adding even a single material type might lead to a data structure that doesn't support it, resulting in extensive code modifications.
[0009] For example, a structural finite element model contains multiple analysis steps (Step-1, Step-2, and Step-3). A load, Load-1, is created in Step-1. The data and state of Load-1 can be discussed separately in this analysis step.
[0010] as follows:
[0011] By default, Load-1 is in the "Created" state in the analysis step Step-1 where it is created, and the data is the data assigned at creation time; in Step-2 and all subsequent analysis steps, the state is "Propagated" (meaning the effect of the load on the model will continue into Step-2 and subsequent analysis steps), and the data is consistent with the data in Step-1. For example... Figure 10 As shown;
[0012] If you want to modify the role of Load-1 in Step-2 (for example, adjust the load size), you can modify the Load-1 data in Step-2. In this case, the state and data of Load-1 in Step-1 remain unchanged; in Step-2, the state changes to "Modified" (meaning it has been modified), and the data becomes the modified data; while in all subsequent analysis steps, the state is "Propagated," and the data remains consistent with the data in Step-2. Figure 11 As shown;
[0013] To disable Load-1's role in Step-2, deactivate Load-1 in Step-2. In this case, Load-1's state and data in Step-1 remain unchanged; its state in Step-2 becomes "Deactivated," and its data is empty; in subsequent analyses after Step-2, its state is "No longer active," and its data is empty. Figure 12 As shown;
[0014] Load-1 also supports changes to the analysis step in which it is created. For example, the analysis step in which creation occurs can be "moved right" to Step-2. As a result, the state of Load-1 will change in both Step-1 and Step-2. In Step-1, the state and data are empty; in Step-2, the state changes to "Created," and the data is the data at the time of creation; in analysis steps after Step-2, the state is "Propagated," and the data remains consistent with that in Step-2.
[0015] like Figure 13 As shown;
[0016] Analyzing the above cases, it is clear that implementing data object status and data management during the analysis step involves two aspects: managing the data itself and managing its status.
[0017] This invention addresses the issues of status and data management of data objects associated with the analysis step as described above.
[0018] The drawbacks of existing technologies are:
[0019] 1) The logical type associated with the data object and the analysis step was not encapsulated, which resulted in each type of data needing to be processed separately, leading to poor software stability and an excessive workload for software development engineers.
[0020] 2) Users (the users of the data interface, i.e., GUI developers or script interface developers) need to be familiar with the state logic of data objects at the business level and explicitly set their data and state, which increases the requirements for developers' business understanding.
[0021] 3) Lack of scalability increases the difficulty and workload of software maintenance and expansion. Summary of the Invention
[0022] This invention provides a method and system for designing associated data structures in the analysis step of structural finite element software development, in order to solve the problems mentioned in the background art.
[0023] This invention is achieved through the following technical solution:
[0024] A method for designing associated data structures in the analysis step of structural finite element software development, the method comprising the following steps:
[0025] Step 1: Based on the business background of structural finite element calculation and analysis, abstract the data associated with the analysis step from the data level, and abstract the finite element model into data objects (DataObject) and analysis steps;
[0026] Step 2: Managing the DataObject based on Step 1 requires data abstraction and data structure design to form a data object model. The data object model should include a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager.
[0027] Step 3: Based on the data object model in Step 2, according to the usage requirements of DataObject in structural finite element analysis and the user's interaction logic at the UI level of the structural finite element analysis software, carry out the interface encapsulation design of the data object model;
[0028] Step 4: Based on the design of the DataObject in Steps 2 and 3, first derive the specific data XData of the DataObject from Data; then derive the DataObjectXDataObject from DataObject.
[0029] Furthermore, the data object in step 1 includes the data object of the finite element mesh model, the material property data object, the interaction data object, the boundary condition data object, and the load data object.
[0030] Furthermore, the unique identifier of the analysis step in step 2 cannot be modified, but the state of the analysis step can be modified. The created analysis step includes two states: active and deactivated. When the analysis step is active, it participates in the calculation during the structural finite element analysis calculation. In the deactivated state, it will not participate in the calculation during the structural finite element analysis calculation.
[0031] Furthermore, the analysis step data manager in step 2 manages all the data loaded in all analysis steps in a unified manner, wherein each analysis step can load different data.
[0032] Furthermore, in step 2, the data manager of the analysis step manages the data in each analysis step. When the data object DataObject is created, it only records the data corresponding to the unique identifier of the analysis step. Subsequent analysis step data is only recorded in the data manager when the data of the analysis step is modified; otherwise, it is not recorded.
[0033] Furthermore, in step 2, the analysis step data manager establishes a data mapping relationship between the unique identifier of the analysis step and the metadata in the analysis step data object manager, and establishes a binding relationship between the unique identifier of the analysis step and the data object DataObject, thereby completing the analysis step data model and participating in the structural finite element analysis calculation;
[0034] A data state mapping relationship is established between the analysis step status identifier and the metadata in the analysis step data object manager. The metadata object DataObject bound to the analysis step in the active state participates in the structural finite element analysis calculation, while the data bound to the analysis step in the deactivated state does not participate in the structural finite element analysis calculation.
[0035] Further, step 3 specifically involves the data object model interface encapsulation including an analysis step status acquisition interface encapsulation. The status of the data object (DataObject) in the analysis step is obtained through the status acquisition interface getStatus. This interface receives the stepID of the analysis step as a parameter and returns the status (Status). The logic for determining the status of the data object (DataObject) in the analysis step is also included. Specifically, the status (Status) includes None, Created, Modified, Propagated, Deactivated, and Nolongeractive.
[0036] Furthermore, the system uses the analysis step-related data structure design method as described in any one of claims 1-7 for structural finite element software development, and the system comprises:
[0037] Finite Element Model Abstraction Module: Combining the business background of structural finite element calculation and analysis, this module abstracts the data associated with the analysis steps from the data level, and abstracts the finite element model into data objects (DataObject) and analysis steps.
[0038] Data Object Model Establishment Module: To manage the DataObject based on the finite element model abstraction module, it is necessary to perform data abstraction and data structure design on the DataObject to establish a data object model. The data object model should include a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager.
[0039] The analysis step involves a related data structure design unit: based on the data object model established by the data object model building module, and according to the usage requirements of DataObject in structural finite element analysis calculations, as well as the user interaction logic at the UI level of the structural finite element analysis calculation software, the data object model interface encapsulation design is carried out. A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method described above.
[0040] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described above.
[0041] The beneficial effects of this invention are:
[0042] This invention enables the management of the state and data of data objects during the analysis step by abstracting data and encapsulating algorithms.
[0043] This invention not only enables lightweight association management of analysis steps and data structures, but also reduces the workload and difficulty for structural finite element analysis software development engineers.
[0044] In the method of this invention, the finite element model data structure is separated from the software business layer during the finite element model data structure design process. This approach greatly improves the scalability and maintainability of structural finite element analysis software.
[0045] This invention reduces the correlation between data structure design and the professional business level of structural finite element calculation and analysis, and achieves it from the perspective of computer IT technology. This reduces the requirement for computer software development engineers to have professional familiarity with structural finite element analysis, and greatly lowers the threshold for computer software development engineering. Attached Figure Description
[0046] Figure 1 This is a schematic diagram of the structure of the present invention.
[0047] Figure 2 This is a schematic diagram of the data structure design of the data object model of the present invention.
[0048] Figure 3 This is a schematic diagram of the analysis step state acquisition interface encapsulation design method of the present invention.
[0049] Figure 4 This is a schematic diagram of the data acquisition interface encapsulation design method for the analysis step of the present invention.
[0050] Figure 5 This is a schematic diagram of the analysis step data setting interface encapsulation design method of the present invention.
[0051] Figure 6 This is a schematic diagram of the analysis step change interface encapsulation design method of the present invention.
[0052] Figure 7 This is a schematic diagram of the deactivation interface encapsulation design method of the present invention.
[0053] Figure 8 This is a schematic diagram of the step-by-step reactivation interface encapsulation design method of the present invention.
[0054] Figure 9 This is a schematic diagram of the data object extension design method of the present invention.
[0055] Figure 10 This is a schematic diagram of the default states of Step-1, Step-2, and Step-3 in Load-1 of the present invention.
[0056] Figure 11 This is a schematic diagram of the states of Step-1, Step-2 and Step-3 when the function of Load-1 in Step-2 is modified according to the present invention.
[0057] Figure 12This is a schematic diagram of the states of Step-1, Step-2 and Step-3 when the function of Load-1 in Step-2 is cancelled according to the present invention.
[0058] Figure 13 This is a schematic diagram of the states of Step-1, Step-2, and Step-3 when the analysis step where Load-1 is created is changed according to the present invention. Detailed Implementation
[0059] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary detail.
[0060] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0061] It should also be understood that the terminology used in this application specification is for the purpose of describing particular embodiments only and is not intended to limit the application. As used in this application specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0062] The following is in conjunction with the appendix to this application specification. Figure 1-9 The technical solutions in the embodiments of this application are clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0063] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.
[0064] Implementation Method 1
[0065] This embodiment provides a method for designing associated data structures in the analysis step of structural finite element software development, such as... Figure 1As shown, the method includes the following steps:
[0066] Step 1: Based on the business background of structural finite element calculation and analysis, abstract the data associated with the analysis steps from the data level, and abstract the finite element model into data objects and analysis steps; the data objects in the finite element model are defined as DataObject, which are managed by the data object manager in the data model, and the data object manager is defined as DataObjectManager; the analysis steps in the finite element model are defined as Step, with the analysis step id as a unique identifier, and are managed by the analysis step manager, which is defined as StepManager;
[0067] Step 2: Managing the data objects from Step 1 requires data abstraction and data structure design to form a data object model. To enable the data object model to manage metadata and data status, the data object model should include a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager, such as... Figure 2 As shown;
[0068] Step 3: Based on the data object model in Step 2, according to the requirements of the structural finite element analysis calculation for the use of data objects, and the user's interaction logic at the UI level of the structural finite element analysis calculation software, carry out the interface encapsulation design of the data object model;
[0069] Step 4: Based on the design of the DataObject in Steps 2 and 3, when implementing the associated data types of specific interactions, loads, boundaries, etc., first derive the specific data XData of the DataObject based on Data; then derive the DataObjectXDataObject based on DataObject.
[0070] Furthermore, the data objects in step 1 include finite element mesh model data objects, material property data objects, interaction data objects, boundary condition data objects, and load data objects.
[0071] Furthermore, the unique identifier of the analysis step is generated when the analysis step is created and will not be changed throughout the entire life cycle of the analysis step. It also serves as a unique identification code in the structural finite element calculation process. The unique identifier of the analysis step corresponds one-to-one with the analysis step. For the convenience of describing the method of the present invention, it is assumed that three calculation analysis steps are created in the present invention, and analysis step 1, analysis step 2, and analysis step 3 are used as the unique identifiers of the three analysis steps.
[0072] The lifecycle of an analysis step refers to the entire process from its creation to its deletion. During the middle of the lifecycle, its unique identifier will not be changed. The lifecycle of an analysis step includes the possibility of data modification, interactions, boundary conditions, loads, etc.
[0073] In step 2, the unique identifier of the analysis step cannot be modified, but the state of the analysis step can be modified. An analysis step can have two states: active and deactivated. When the analysis step is active, it participates in the calculation during the structural finite element analysis. When it is deactivated, it will not participate in the calculation during the structural finite element analysis.
[0074] Furthermore, the analysis step data manager in step 2 manages all the data loaded in the analysis steps in a unified manner. Each analysis step can load different data, such as analysis step 1 loading mesh, material properties, and boundary conditions; analysis step 2 loading mesh, material properties, boundary conditions, and load data; and analysis step 3 loading mesh, material properties, boundary conditions, loads, and interaction data.
[0075] Furthermore, in step 2, the data manager of the analysis step manages the data in each analysis step. When a data object is created, only the data corresponding to the unique identifier of the analysis step is recorded. Subsequent analysis step data is only recorded in the data manager when the data of that analysis step is modified; otherwise, it is not recorded.
[0076] Furthermore, in step 2, the analysis step data manager establishes a data mapping relationship between the analysis step unique identifier and the metadata in the analysis step data object manager, and establishes a binding relationship between the analysis step unique identifier and the data object, thereby completing the analysis step data model and participating in the structural finite element analysis calculation;
[0077] A data state mapping relationship is established between the analysis step status identifier and the metadata in the analysis step data object manager. The metadata objects bound to the analysis step in the active state participate in the calculation in the structural finite element analysis, while the data bound to the analysis step in the deactivated state do not participate in the calculation in the structural finite element analysis.
[0078] Specifically, the advantages of the analysis step-related data structure design method for structural finite element software development described in step 2 are as follows: First, this method not only achieves lightweight association management between the analysis step and the data structure, effectively reducing the workload and development difficulty for structural finite element analysis software development engineers; second, in the finite element model data structure design process, this method achieves the separation of data structure and software business layer, significantly improving the scalability and maintainability of structural finite element analysis software; third, the finite element model data structure design strategy proposed in this method reduces the association between data structure design and the professional business layer of structural finite element calculation and analysis, and from the perspective of computer information technology, lowers the professional familiarity requirements of computer software development engineers in the field of structural finite element analysis, thereby significantly lowering the threshold for computer software development engineering.
[0079] like Figures 3-9 As shown, further, step 3 specifically involves the data object model interface encapsulation including an analysis step status acquisition interface encapsulation. The status of the data object in the analysis step is obtained through the status acquisition interface getStatus. This interface receives the stepID of the analysis step (i.e., the analysis step in which the status of the data object is to be obtained) as a parameter and returns the status Status; the logic for determining the status of the data object in the analysis step is also included. Specifically, the status Status includes None, Created, Modified, Propagated, Deactivated, and Nolongeractive.
[0080] Furthermore, the data object model interface encapsulation in step 3 should also include an analysis step data acquisition interface encapsulation, specifically, the data of the data object model in the analysis step is obtained through the data acquisition interface getData. This interface receives the stepID of the analysis step (i.e., the analysis step in which the data object's data is to be obtained) as a parameter and returns the data.
[0081] Furthermore, the data object model interface encapsulation in step 3 should include an analysis step data setting interface encapsulation, specifically setting the data of a data object in a certain analysis step, implemented through the data interface `setData`. This interface is used when creating and modifying data objects in the data object model. This interface receives the analysis step ID and the data (`Data`) as parameters. The set data is uniformly stored and managed in the data manager within the data object model described in step 2.
[0082] Furthermore, the data object model interface encapsulation in step 3 should also include an analysis step change interface encapsulation. Specifically, when it is necessary to change the analysis step in which the data object was created, the `setCreatedStepID` interface is used. This interface receives the analysis step ID as a parameter.
[0083] Furthermore, the data object model interface encapsulation in step 3 should also include a deactivation interface encapsulation. Specifically, when a data object is deactivated in a certain analysis step, it is achieved by calling the `setDeactivatedStepID` interface to set the deactivation analysis step. This interface receives the deactivation analysis step ID as a parameter.
[0084] Furthermore, the data object model interface encapsulation in step 3 should also include the analysis step reactivation interface encapsulation, specifically, when a data object in a deactivated analysis step is reactivated, it is achieved by calling the setReactive interface.
[0085] Specifically, step 3 is based on the data structure design proposed in step 2. From the perspectives of business and user UI operation, the data structure is further encapsulated to simplify code complexity, thereby improving development efficiency and reducing the difficulty of software code upgrades and maintenance.
[0086] Based on the characteristics of the data associated with the analysis step, such as the large variety of data types, large data volume, data state migration, and dynamic changes of data, this invention analyzes the relationship between data objects and analysis steps, and carries out the design of data object model data structure and interface encapsulation to realize the encapsulation of data object state and data management.
[0087] From a software development perspective, this method establishes a mapping relationship between analysis steps and data objects, thereby enabling the association between analysis steps and data and achieving lightweight management of finite element model data, reducing the workload and development difficulty for software development engineers.
[0088] The number of teams or individuals engaged in finite element software development in China is limited. In recent years, the government's emphasis on industrial software has sparked a surge in investment in this field, leading to a rapid increase in the number of participants. However, in the existing field of structural finite element model data structure design, the status of data associated with the analysis step and data management issues during the analysis step are rarely discussed.
[0089] A common approach is to directly store the state and data of the data object at each analysis step within the data object itself, and then provide read / write interfaces. The actual processing of the state and data is then left to the user (the user of the data interface). For example:
[0090] 1. In the specific task of "modifying the value of Load-1 in Step-2", the user will complete the process through the following steps:
[0091] 1) Set the load data in Step-2;
[0092] 2) Set the status in Step-2 to "Modified";
[0093] 3) Set the load status to "Propagated" in Step-3 and subsequent analysis steps;
[0094] 4) Set the load data in Step-3 and subsequent analysis steps to be consistent with the data in Step-2.
[0095] 2. In the specific task of "Deactivating Load-1 in Step-2", the user needs to do the following:
[0096] 1) Set the load status in Step-2 to "Deactivated";
[0097] 2) Set the load status in Step-3 and subsequent analysis steps to "No longer active";
[0098] 3) Clear the data in Step-2 and subsequent analysis steps.
[0099] 3. In the specific business logic of "changing the analysis step where Load-1 is created from Step-1 to Step-2", the user needs to do the following:
[0100] 1) Set the creation analysis step of Load-1 to Step-2;
[0101] 2) Set the load status in Step-1 to "None";
[0102] 3) Set the load status in Step-2 to "Created";
[0103] 4) Clean up the data from the analysis steps prior to Step-2;
[0104] 5) Set the data in Step-2 and subsequent analysis steps to be consistent with the data in Step-2.
[0105] 4. When the number of analysis steps changes, such as in "Create or delete analysis steps", users need to perform operations such as creating or deleting analysis step data and status for each data object.
[0106] From the perspective of users of structural finite element analysis software, this invention makes the data structure designed and the business logic developed based on this method simpler, thus simplifying the operation for users of structural finite element analysis software. The simplified operation is as follows:
[0107] 1. In the specific task of "modifying the value of Load-1 in Step-2", the user will complete the process through the following steps:
[0108] 1) Set the load value in Step-2.
[0109] 2. In the specific task of "Deactivating Load-1 in Step-2", the user needs to do the following:
[0110] 1) Deactivate Load-1 in Step-2.
[0111] 3. In the specific business logic of "changing the analysis step where Load-1 is created from Step-1 to Step-2", the user needs to do the following:
[0112] 1) Set the creation analysis step of Load-1 to Step-2.
[0113] 4. When the number of analysis steps changes, such as in the context of "creating or deleting analysis steps," no action is required.
[0114] The adjustments to other states and data are implemented in the interface encapsulation process in step 3. Based on this design, all analysis step-related data classes can be derived from this data structure, thereby achieving the reuse of state and data management algorithms, maintaining data type extensibility, and reducing the development burden.
[0115] This invention not only achieves lightweight association management between analysis steps and data structures, reducing the development workload and difficulty for structural finite element analysis software development engineers; secondly, in the finite element model data structure design process, the finite element model data structure is separated from the software business layer, which greatly improves the scalability and maintainability of structural finite element analysis software; thirdly, the finite element model data structure design method proposed in this invention reduces the correlation between data structure design and the professional business layer of structural finite element calculation and analysis, and is implemented from the perspective of computer IT technology, reducing the requirements for computer software development engineers' familiarity with structural finite element analysis, and greatly lowering the threshold for computer software development engineering.
[0116] Implementation Method 2
[0117] This embodiment provides a design system for analysis step-related data structures applied to structural finite element software development. The system uses the analysis step-related data structure design method for structural finite element software development as described in Embodiment 1. The system includes:
[0118] Finite Element Model Abstraction Module: Based on the business background of structural finite element calculation and analysis, this module abstracts the data associated with analysis steps at the data level, abstracting the finite element model into data objects and analysis steps. In the finite element model, data objects are defined as DataObjects and managed by a DataObjectManager. Analysis steps in the finite element model are defined as Steps, uniquely identified by their IDs, and managed by a StepManager.
[0119] Data Object Model Establishment Module: To manage data objects based on the finite element model abstraction, it is necessary to perform data abstraction and data structure design on the data objects to establish a data object model. In order to realize the management of metadata and data status by the data object model, the data object model should include a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager.
[0120] Analysis Step Related Data Structure Design Unit: Based on the data object model established by the data object model building module, and according to the requirements of structural finite element analysis calculation for the use of data objects, as well as the user interaction logic at the UI level of the structural finite element analysis calculation software, the interface encapsulation design of the data object model is carried out.
[0121] Implementation Method 3
[0122] This invention provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor. The memory stores software programs and modules, and the processor executes various functional applications and data processing by running the software programs and modules stored in the memory. The memory and processor are connected via a bus. Specifically, the processor implements any step in Embodiment 1 by running the computer program stored in the memory.
[0123] It should be understood that, in the embodiments of the present invention, the processor may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0124] Memory may include read-only memory, flash memory, and random access memory, and provides instructions and data to the processor. Some or all of the memory may also include non-volatile random access memory.
[0125] As can be seen from the above, the electronic device provided by the embodiments of the present invention can implement the analysis step associated data structure design method as described in Embodiment 1 by running a computer program. This not only achieves lightweight association management of the analysis step and the data structure, reducing the development workload and difficulty for structural finite element analysis software development engineers; secondly, the method separates the finite element model data structure from the software business layer in the finite element model data structure design process, which greatly improves the scalability and maintainability of the structural finite element analysis software; thirdly, the finite element model data structure design method proposed in this method reduces the association between the data structure design and the professional business layer of structural finite element calculation and analysis, and is implemented from the perspective of computer IT technology, reducing the requirements for the familiarity of computer software development engineers with structural finite element analysis expertise, and greatly lowering the threshold for computer software development engineering.
[0126] It should be understood that if the integrated modules / units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods described above can also be implemented by a computer program instructing related hardware. This computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.
[0127] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0128] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the above device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this invention. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0129] It should be noted that the methods and detailed examples provided in the above embodiments can be incorporated into the apparatus and devices provided in the embodiments for mutual reference, and will not be repeated here.
[0130] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0131] In the embodiments provided by this invention, it should be understood that the disclosed apparatus / terminal devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units described above is merely a logical functional division, and in actual implementation, it can be divided in other ways. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
[0132] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A method for designing associated data structures in the analysis step of structural finite element software development, characterized in that, The method includes the following steps: Step 1: Based on the business background of structural finite element calculation and analysis, abstract the data associated with the analysis step from the data level, and abstract the finite element model into data objects (DataObject) and analysis steps; Step 2: Based on the data object DataObject from Step 1, manage the data object DataObject by performing data abstraction and data structure design to form a data object model. The data object model includes a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager. In step 2, the unique identifier of the analysis step cannot be modified, but the status identifier of the analysis step can be modified. The created analysis step includes two states: active and deactivated. When the analysis step is active, it participates in the calculation during the structural finite element analysis. When the analysis step is deactivated, it will not participate in the calculation during the structural finite element analysis. The analysis step data manager in step 2 manages all data loaded in the analysis steps in a unified manner, and each analysis step can load different data. The data manager in step 2 manages the data in each analysis step. When the data object (DataObject) is created, it only records the data corresponding to the unique identifier of the analysis step. The data manager only records the data of subsequent analysis steps when the data of that analysis step is modified; otherwise, it does not record it. Step 3: Based on the data object model in Step 2, according to the usage requirements of DataObject in structural finite element analysis and the user's interaction logic at the UI level of the structural finite element analysis software, carry out the interface encapsulation design of the data object model; Step 4: Based on the design of the DataObject in Steps 2 and 3, first derive the specific data XData of the DataObject from Data; then derive the DataObjectXDataObject from DataObject.
2. The method for designing an analytical step-related data structure according to claim 1, characterized in that, The DataObject in step 1 includes finite element mesh model data objects, material property data objects, interaction data objects, boundary condition data objects, and load data objects.
3. The method for designing an analytical step-related data structure according to claim 1, characterized in that, In step 2, the analysis step data manager establishes a data mapping relationship between the analysis step unique identifier and the metadata in the analysis step data object manager, and establishes a binding relationship between the analysis step unique identifier and the data object DataObject, thus completing the analysis step data model and participating in the structural finite element analysis calculation. A data state mapping relationship is established between the analysis step status identifier and the metadata in the analysis step data object manager. The metadata object DataObject bound to the analysis step in the active state participates in the structural finite element analysis calculation, while the metadata object DataObject bound to the analysis step in the deactivated state does not participate in the structural finite element analysis calculation.
4. The method for designing an analytical step-related data structure according to claim 1, characterized in that, Specifically, step 3 involves the following steps: the data object model interface encapsulation should include an analysis step status acquisition interface encapsulation. The status of the data object DataObject in the analysis step is obtained through the status acquisition interface getStatus. The status acquisition interface getStatus receives the stepID of the analysis step as a parameter and returns the status Status. The logic for determining the status of the data object DataObject in the analysis step is as follows.
5. A data structure design system for the analysis step in structural finite element software development, characterized in that, The system uses the analysis step-related data structure design method as described in any one of claims 1-4 for structural finite element software development. The system includes: Finite Element Model Abstraction Module: Combining the business background of structural finite element calculation and analysis, this module abstracts the data associated with the analysis steps from the data level, and abstracts the finite element model into data objects (DataObject) and analysis steps. Data Object Model Establishment Module: Based on the data object DataObject of the finite element model abstraction module, the module manages the data object DataObject, performs data abstraction and data structure design on the data object DataObject, and establishes a data object model. The data object model includes a unique identifier for the analysis step, an analysis step status identifier, and an analysis step data manager. Analysis Step Related Data Structure Design Unit: Based on the data object model established by the data object model building module, and according to the usage requirements of DataObject for structural finite element analysis calculations, as well as the user interaction logic at the UI level of the structural finite element analysis calculation software, the interface encapsulation design of the data object model is carried out.
6. A computer device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, it implements the method as described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1-4.