Methods of generating a design from finite element models
Patent Information
- Application Number
- GB2022016974
- Authority / Receiving Office
- GB · GB
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2025-01-29
- Estimated Expiration
- 2042-11-14
AI Technical Summary
Current structural engineering finite element analysis software packages face issues such as design fragmentation, slow and confusing data input, lack of transparency, and time-consuming validation processes, leading to inefficient design optimization and costly changes.
A method for generating structural engineering finite element models by extracting and formatting analysis data into readable text files, using APIs to interface with existing software, and categorizing elements for efficient design creation and visualization, enabling transparent and efficient design generation.
This approach provides a consistent, efficient, and transparent method for generating designs from finite element analysis data, reducing validation time and costs, and facilitating design optimization and change management.
Smart Images

Figure 00000001_0000 
Figure 00000002_0000 
Figure 00000003_0000
Abstract
Description
The following terms are registered trade ma: an should be rea assuc w they occur in this document; Autodesk Abaqus Methods of generating a design from finite element models Field of the invention 5 The present disclosure relates to methods for generating a design of a structural engineering finite element analysis model. Background 10 The design of finite elements in the structural engineering / civil engineering industry relies on the use of analysis software packages. These analysis software packages are either stand-alone analysis packages, or they contain capability to perform design post completion of the analysis. 15 For example, Autodesk Robot Structural Analysis allows the user to perform analysis, and to then perform the design within the same software. On the other hand, Abaqus allows the user to perform analysis, but does not have design capability. This causes design fragmentation if the user needs to use multiple analysis packages. Each design will be different and need separate validation to be undertaken. 20 Furthermore, the design part of these analysis software packages are generally slow, confusing, at risk of file corruption and lack transparency. This costs organisations time and money. 25 If there are any errors in the analysis model, many of these can ‘slip through’ and not become apparent to the user, creating problems at later stages in design. Consequently, Engineers will typically make over conservatisms to simplify design and they will create their own manual spreadsheets to perform individual design checks, which 30 further frustrate the design process and require validation. The design packages are also typically “black box” and lead to a lack of trust and time-consuming validation. Given the time it takes and over conservatisms being made, design optimisation is practically not possible, and restricts clients from considering multiple options, or from working to find unique solutions. Making changes is typically very difficult, as it requires updates to the analysis model, and 5 then a full re-design of the structure. Having to do so for every element and every load case is practically not possible, hence Engineers will use qualitative methods to justify existing designs, rather than performing a re-design. This greatly restricts change and makes large changes very costly. 10 Summary of problems with existing design approaches: 1. Black Box 2. Time consuming validation 3. Fragmented design 4. Slow and confusing data input 15 5. Engineers develop their own spreadsheets 6. Long design and QA processes 7. Practically difficult and costly design optimisation 8. Practically difficult and costly to accommodate design change 20 There is therefore a need to provide improved methods for generating designs from finite element models that address these problems. Summary of the invention 25 Aspects of the invention are as set out in the independent claims and optional features are set out in the dependent claims. Aspects of the invention may be provided in conjunction with each other and features of one aspect may be applied to other aspects. In an aspect there is provided a method of generating a design of a structural engineering 30 finite element model comprising: extracting from at least one set of finite element analysis data for a structure; element data comprising geometric and / or material properties for each finite element; forces data comprising the analysis results for each finite element for each load case / combination; and formatting the extracted element data and forces data as a delimited text file using the formatted extracted element data and forces data to generate a design of the structural engineering finite element model. The delimited text file may be in a format that is readable by a human. 5 The extracted data may also comprise nodal data comprising the coordinates for nodes of the finite elements in 3D space; formatted as a delimited text file and used to generate a graphical design of the structural engineering finite element model. The extracted data may further comprise at least one of. plotting data comprising 10 component categorisation for each finite element, load combination data comprising load combination identifiers and the corresponding load case identifiers and combination factors; module data comprising additional design parameters required for a specific design. The extracting may be performed by an Application Programming Interface. For example, an API associated with the software on which the finite element analysis data 15 may have been generated. The method may further comprises establishing a thickness, or other categorising property (for example material grade or group name), of the finite elements. In particular the method may provide a user input interface to allow geometric data entry for all elements of each 20 established thickness or categorising property. An aspect of the disclosure provides a method of generating a design of a structural engineering finite element model, the method comprising: receiving at least one set of finite element analysis data for a structure; utilising the coordinate geometry of each node to 25 identify components in the structure (for example planar panels / frames); and outputting a file comprising the elements and identified planes for use in the production of the design. This method may further comprise receiving at least one set of finite element analysis data for a structure, the at least one set of analysis data comprising: nodal data comprising the 30 coordinates for nodes of the finite elements in 3D space; utilising the coordinate geometry of each node to identify components in the structure (for example planar panels / frames) by generating, along a set of global axes which define a set of global planes (for example X,Y and Z axes, and XY, YZ, and ZX planes), a set of unique planes; selecting an element from the at least one set of analysis data and determining if said element lies on at least one of the unique planes, and if an element is determined to lie on at least one of the unique planes categorise said element with said unique plane; and repeating until all elements have been selected and / or categorised and then using the element 5 categorisation in the production of the design and / or outputting a file comprising the elements and associated categorised planes for use in the production of the design The above method may comprise: assessing if any elements of the analysis data have not been categorised then if not: selecting an uncategorised element and transforming all finite 10 elements such that the selected uncategorised element lies on one of the global planes; generating another set of unique planes each of which intersect an axis perpendicular to the transformed plane; determining if an element lies on at least one of the another set of unique planes, and if an element is determined to lie on at least one of the another set of unique planes categorising said element with said unique plane; and repeating until all 15 uncategorised elements have been categorised. The determining steps may be performed by traversing a tree of the unique planes and uncategorised elements of the analysis data. In more detail, the method described above may be performed using: a dynamic Al depth-first-search approach comprising: traversing 20 a branch of uncategorised elements for a particular unique plane; determining whether each uncategorised element lies on the unique plane; dynamically building a new branch of the remaining uncategorised elements and traversing this branch to determine whether each remaining uncategorised element lies on a next unique plane; repeating the dynamically building step until a set of unique planes has been searched. The generated 25 unique planes and / or another unique planes may intersect the said global axis at intervals based on a tolerance level. The step of determining whether an element lies on a unique plane / another unique plane may be based on the intersect of the unique plane with a global axis and the tolerance level. A tolerance level may be set for each of the global axes and associated unique planes. 30 The analysis date may be formatted as a delimited text file for example a comma separated values file. The categorised elements from the above method may be used to create a 3D geometry of the structure of the analysis data. The finite element analysis data may comprise at least one of: element data comprising 5 reinforcement, geometric and / or material properties for each finite element; forces data comprising the analysis results for each finite element; nodal data comprising the coordinates for nodes of the finite elements in 3D space; and plotting data. At least two analysis data files for the same structure may be received by the above 10 method. The categorised elements of the method may be used to create a 3D geometry of the structure of the analysis data. In more detail, the method may comprise for each category of categorised elements: transforming each element onto a 2D plane using projection 15 equations; creating a list of the element edges that form each element; removing all duplicate element edges from the list to create a list of unique element edges; generating a panel outline by sequentially connecting the unique element edges; using the generated panel outlines to create a 2D visualisation of the 3D geometry. 20 The method may further comprise executing for every finite element for at least one load case a set of code compliant design formulae and may comprise outputting the data associated with each element with a categorised plane and the results of the executed design formula associated with the element for example as a delimited text file and / or outputting the data associated with each element with a categorised plane and the results 25 of the executed design formula associated with the element for example, as a series of 2D graphical visualisations. The finite element analysis data may be generated based on measurements of the structure for example a reinforced concrete structure. The categorised element data may 30 be converted into instructions that are then executed by a 3D printer to produce a model of the finite element analysis of the structure for example wherein the model is colour coded to indicate forces / design-results in the structure. The output of the above methods may be used in the construction of a reinforced concrete structure for example as part of an automated process. The output of the above methods may be used in the construction of frame structures for 5 example steel framed structures for example as part of an automated process. The analysis data may be generated based on measurements of a structure for example a reinforced concrete structure or a steel framed structure 10 The above described methods may be advantageously combined into a single method. A computer readable non-transitory storage medium comprising a program for a computer configured to cause a processor to perform any of the above methods may be provided. 15 Drawings Embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 shows a method of generating a design from finite element analysis data; 20 Figure 2 shows a method of retrieving and formatting input files; Figure 3 shows a step in the method of Figure 2; Figure 4 shows a “set-up phase” for the method of generating a design; Figure 5 shows a detailed flow diagram of the method of generating a design; Figure 6 shows a continuation of the flow diagram of Figure 5; 25 Figure 7 shows a detailed flow diagram of the component creation method of the method of Figure 1; Figure 8 shows a continuation of the flow diagram of Figure 7; Figure 9 shows a visualisation of the component creation method of Figures 7 and 8; Figure 10 shows a method of implementing at least part of the flow diagram of Figures 7 30 and 8: Figure 11 shows a visualisation of the method of Figure 10; Figures 12 and 13 show a detailed flow diagram of a method of creating graphical design plots from the design generated by the method of Figure 1; Figure 14 shows another visualisation of the method of the component creation method of Figures 7 and 8; Figure 15 shows a visualisation of the method of Figures 12 and 13; Figure 16 shows an example output design from the method of Figure 1; and 5 Figure 17 shows an example system for generating a design and performing the methods of Figures 1 to 15. Specific description 10 Embodiments of the claims relate to methods for generating a design of a structural engineering finite element model from any analysis software. For example, for generating a design from a structural engineering finite element model generated from a commercially available finite element modelling software such as Autodesk Robot Structural Analysis, SAP 2000 or Abaqus. The methods described herein are advantageous because they 15 provide an efficient and consistent method for generating designs from finite element analysis data. Furthermore, the designs generated using these methods can be validated by the user. The methods provide a transparent data focused approach to the design generation that is quick, straight forward to use and that requires minimal user input. Methods of visualisation of generated designs that overcome display constraints and 20 enable user interaction with the generated design are also described. For example, the methods described herein may produce visualisations of generated designs that are in a report ready layout and which may be used in subsequent phases of projects for example in determining reinforcement detailing in a structure. 25 Figure 1 shows a method 100 for generating a design from finite element analysis data. The method 100 may be implemented as a design creation software program. In such an example, as a first step a completed finite element analysis model is made available 110 to the design creation software program. The finite element analysis model may be provided in a file format native to the finite element analysis software on which the model 30 was generated and may be provided in more than one file. Each of the received files may have a different file format. The finite element model file or files are used to create an input file(s) 120 for the current method 100. The finite element model may have been generated from physical measurements of physical structures and may therefore represent strains and stresses experienced in a physical real-world structure, or structure to be constructed, or other properties of a real- world structure. 5 Figure 2 and 3 show an example method 200 of the creation of the input files. This method 200 is important because it enables the design generation software to be used with finite element data produced by any analysis software. 10 Initially when retrieving the finite element data from an analysis software, a check 210 is made to establish if the input files can be created through the use of an Application Programming Interface (API) which interfaces directly with the software that was used to generate the finite element model. For example, the finite element analysis software Autodesk Robot Structural Analysis provides an API that can be interfaced with. 15 In the case where an API is available, the software proceeds to step 220 and executes the method 300 shown in Figure 3. The method 300 directs a user to select 310 the desired analysis model, finite elements and load cases from the finite element analysis software for which they wish to generate a design. The design creation software retrieves the 20 requested data from the analysis software 320 using an API. The contents of the input files 260 may be automatically populated, in such cases the design generation software determines the unique finite element thicknesses (or other categorising property) 340 used in the model. A request 350 is made to the user to input the geometric and material properties of the structure on which the finite element analysis was generated. This 25 information can also be extracted from the analysis software where available using the API. The design generation software extracts 320,370 from the analysis software: element data which comprises reinforcement, geometric and material properties for each finite element; forces data which comprises the analysis results for each finite element, for example the forces and moments; and nodal data which contains the coordinates for each 30 node in 3D space. If no API is available then the user extracts the same information from the analysis software manually 230, using the methods provided in the finite element software 240 and in particular extracts the element data, forces data, and the nodal data. Regardless, whether the analysis data has been extracted manually or via an API an input file 260 for each of the element data, forces data, and the nodal data is created. The input 5 files 260 are formatted 250, as delimited text files for example a character separated values file such as a comma separated values file (.csv). Text based delimited files are advantageous because they have a very low risk of file corruption and are very rapid to generate. 10 The creation of the input files 260 from the finite element analysis data and especially the formatting 250 of the element data, forces data, and the nodal data into separate delimited text files enables the design generation software to receive analysis data from and generate a design for data generated by any finite element analysis software. 15 Once the input data files have been created the design creation software goes through a set-up phase 400 which is shown in Figure 4. During the set-up phase 410 the user is requested to select a module that will determine the data that is required for the software, the design calculations that are performed, and the graphical designs that are generated. Example modules 420 include shear, utilisation ratios, crack widths, deflections, flexural, 20 provided reinforcements and other global design codes. The global design codes are for example Eurocode 2, ACI318, ACI349 etc. and might include ultimate limit state design checks or serviceability limit state design checks. This enables the design creation software to be run for and generate designs for a number of different user selected scenarios. The design creation software may modify the contents of the created element 25 data input files 260 depending on the module that is selected by the user, retrieving further data from the finite element software where required. The user may also be requested 430 as part of advanced menu selections to input information regarding the sign and unit conventions that are to be used to generate the 30 design thereby enabling analysis data from different analysis software to be used. During the set-up phase 400 the user may also request that customised graphical plots and validation calculations are provided with the generated design 430. The validation calculations may include for example those compliant with the design codes listed above for example Eurocode 2, ACI318, ACI349 etc and will match the module that is selected by the user. 5 Following the set-up phase 400 the design generation software proceeds with steps 510- 590 which are detailed in Figures 5 and 6. In more detail, the design generation software reads 510 the input data files extracted from the finite element analysis software. The information read from the input data files may be stored in the Random Access Memory (RAM) of the computer system on which the design generation software is being run. The 10 information that is read from the input data files may depend on the modules that have been selected by the user during the set-up phase. For example, if the user has selected the “Shear” module then the design generation software will read the data required from the Input data files. 15 If the user has requested custom components for the graphical plots 520 the information from the plotting data file (extracted from the finite element analysis software, or created manually) is read into the local RAM 530. However, it may be that plotting data is unavailable from the finite element analysis 20 software or it has not been created by the user. In this case, the design generation software has the capability to automatically identify components (for example groupings of nodes / elements to form components of the structure such as walls, slabs, building frames or beams) in the finite element analysis 540. 25 A method 600 for identifying components in the finite element analysis is shown in Figures 7 and 8 and may be executed 540 as a sub-process of method 100. A component may be a part of a structure for example a planar element such as a wall or a part of a frame of the structure. 30 The method 600 generates 610 sets of unique planes along each of a set of global orthogonal axis for example YZ, XZ and XY planes along the X, Y and Z directions. A tolerance level between nodes along each of the three directions is used 620 to determine the spacing between each set of unique planes. The tolerance level may be automatically determined by the software or selected by the user. The unique planes along each direction are used as test conditions 630 (interim goal test) for each element, to determine whether the finite element lies on that plane i.e whether 5 that finite element can be categorised with that particular plane. The initial state of the system being that all finite elements are not associated with any plane and the desired final state of the system being that all finite elements are associated with a plane. A final test goal for the system is to check that all finite elements are associated with one of the unique planes. 10 The method 600 selects a finite element and determines 650 from the nodal data of the finite element if it lies on at least one of the unique planes in the sets of generated unique planes. In general, each finite element of a finite element analysis has a number of associated nodes (e.g. 3 or 4 for a shell element and 2 for a line element). The associated 15 nodes define the planar geometry of the finite element and the node data can be used to derive the plane along which the planar finite element lies. A finite element is determined to lie on the unique plane provided that its planar structure lies within the defined tolerance window. For example, a set of unique YZ planes may be generated along the X-axis for example with intercepts at X=1, 2 ,3 etc and with a tolerance window set to 0.1. A finite 20 element that is determined from the node data to lie along X=1.03 would be associated 660 with the X=1 YZ unique plane. Each unique plane and associated tolerance window therefore provides an interim goal test against which each finite element is assessed. An element that is determined to lie on 25 a unique plane is categorised or otherwise associated with that unique plane 660. This process is repeated 670 for all the finite elements of the finite element analysis data until all finite elements have been assessed against all unique planes 640 or until all the finite elements have been categorised. 30 Once the process has been repeated for all finite elements a stopping condition or final goal state of whether all the finite elements have been categorised is checked 680. If all finite elements have been categorised the software is stopped 690 and it outputs the finite elements and the associated unique planes by storing these values to memory 542 and writing a plotting data file for future use 544. If there are finite elements that remain uncategorised (not associated with a unique plane) i.e. the final goal state has not been reached, then the previously generated unique planes 5 (interim goals) are cleared 690 and another iterative loop to categorise the remaining uncategorised elements is initialised. Finite elements will remain uncategorised from the first iterative loop where the finite elements lie on a plane that is not one of the initial set of unique planes (i.e. a plane that 10 does not extend along one of the global axes). To categorise such finite elements, the design creation software selects a first uncategorised element 691, and transforms all finite elements such that the selected uncategorised element lies on one of the global planes, for example the XY plane. Another 15 set of unique planes is generated 692 along the global axis perpendicular to the global plane onto which the selected uncategorised finite element has been transformed. For example, another set of unique planes are generated along the global Z-axis for a transformation of an uncategorised element onto the global XY plane. As before a 20 tolerance level between nodes along the perpendicular axis is used to determine the next set of unique planes. The tolerance level may be automatically determined by the software or selected by the user. This another set of unique planes along the perpendicular global axis are now used as the 25 test condition (interim goal test) for each of the remaining uncategorised elements 693. The process to determine whether the uncategorised finite element lies on one of the another set of unique planes is similar to that described above. The software searches through each remaining uncategorised element 694 and determines based on the nodal 30 data for that uncategorised element if the finite element plane lies on one of the another set of unique planes 695. If a finite element meets one of the interim goal states, it is categorised (associated) with that new unique plane 696. After assessing whether an element lies on one of the another set of unique planes, a check is made to see if all finite elements have been traversed 697. If so, the algorithm continues, if not, the algorithm loops and the next element is checked by repeating steps 691 to 697. 5 If all finite elements have been assessed against all of the unique planes 697. A check is then made to see if all finite elements have been categorised with a unique plane (a final goal state) 698. If uncategorised elements remain, the software then repeats steps 691 to 697. Once all finite elements have been categorised (the final goal state reached) the 10 component creation algorithm stops 699. A visualisation of the component creation is shown in Figure 9A to Figure SE. Figure 9A shows a structure 710 for which a finite element analysis has been generated. The structure 710 is a cuboid with an internal slope 712. The structure 710 has a number of 15 components 714 that extend along one of the global planes. The slope 712 of the structure however does not extend along one of the global planes defined by set of global axes 716. When the component creation software 600 is used on the data inputted to the software it will first generate unique planes along each of the global axes 716 and the software determines the finite elements that lie along any of these unique planes. This is shown in 20 Figures 9B to 9D. In Figure 9B the components of the structure that lie on the YZ plane along the X-direction are identified 720. Figure 9C shows a visualisation of the panels of the structure that have been identified 730 to lie on XZ plane along the Y direction and Figure SD shows a visualisation of the panels that the software has identified by performing method that lie on the XY plane along the Z direction. The panels 714 identified in Figures 25 9C and 9D lie along one of the global axes and could therefore be identified without performing a transformation. The internal slope 712 of the cuboid structure however does not lie on one of the global planes and the finite elements associated with this component remain uncategorised when steps 610 to 680 of method 600 are performed. To categorise those finite elements of the slope 712 and identify the internal slope 712 an uncategorised 30 element is selected and transformed onto one of the global planes. This transformation is shown in Figure SE in which the structure 710 has been transformed relative to the global axes such that the uncategorised element of the slope 712 lies on one of the global planes in this case the XY plane. The steps 690 to 698 of the method 600 are then performed and the uncategorised elements associated with the slope are categorised with one of the another set of unique planes such that no uncategorised finite elements remain; the component creation method 600 having identified the finite elements associated with each of the panels 714 and the slope 712 of the cuboid structure 710. 5 The method shown in Figure SA-9E represents an example of a structure made up of panels (i.e. shell elements). The same methodology of categorising elements also applies in a structure made up of frames (i.e. line elements), or a combination of both panels and frames. Figure 14A-14E is similar to Figure 9A-9E, but shows an example of a framed 10 structure with each of the frames being identified using the same methodology. The term ‘components’ refers to both panels and frames or any constituent element of a structure. Figure 14A shows a frame 1100 for which a finite element analysis has been generated. The frame 1100 has a number of components 1114 that extend along one of the global 15 planes. Parts of the structure 1118 however do not extend along one of the global planes defined by set of global axes 1116. When the component creation software 600 is used on the data inputted to the software it will first generate unique planes along each of the global axes 1116 and the software determines the finite elements that lie along any of these unique planes. This is shown in Figures 14B to 14D. In Figure 14B the components of the 20 structure that lie on the YZ plane along the X-direction are identified 1120. Figure 14C shows a visualisation of the components of the structure that have been identified 1130 to lie on XZ plane along the Y direction and Figure 14D shows a visualisation of the components that the software has identified by performing method that lie on the XY plane along the Z direction. The components / frame identified in Figures 14C and 14D lie along 25 one of the global axes and could therefore be identified without performing a transformation. The parts of the structure that do not lie on one of the global planes and the finite elements associated with these components remain uncategorised when steps 610 to 680 of method 600 are performed. To categorise those finite elements and identify these components an uncategorised element is selected and transformed onto one of the 30 global planes. Example transformations are shown in Figure 14E in which the structure 1110 has been transformed relative to the global axes such that the uncategorised elements lie on one of the global planes in this case the XY plane. The steps 690 to 698 of the method 600 are then performed and the uncategorised elements associated with the slope are categorised with one of the another set of unique planes such that no uncategorised finite elements remain; the component creation method 600 having associated each element with a plane. 5 There are a number of different ways in which method 600 may be implemented. A particularly efficient way of implementing method 600 is shown in Figure 10. Figure 10 describes a method 800 in which a tree of uncategorised elements is traversed to determine if any of the elements lie on one of the generated unique planes. This method is further illustrated in the diagram 1300 of Figure 11. In more detail, to traverse the 10 uncategorised elements a dynamic Al depth-first-search approach in which a first branch 1310 comprising all uncategorised elements is created. The method 800 then traverses this first branch in its entirety and determines if any of the n uncategorised elements 1320 lie on a first unique plane 1330 of the set of unique planes. A second branch 1340 is created dynamically once the first branch 1310 has been completely traversed i.e., it has 15 been determined whether each of the finite elements 1320 in the branch lie on the first unique plane 1330. The second branch 1340 comprises all of the remaining uncategorised elements n-m wherein m is the total number of categorised finite elements i.e., those finite elements that were associated with the first unique plane are not traversed in the second branch 1340. The method 800 then determines 830 if the finite elements of the second 20 branch lie on a second unique plane 1350 of the set of unique planes. Once the second branch 1350 has been traversed another branch is created from the uncategorised elements and the method is then repeated until all of the / unique planes have been considered or all the uncategorised elements have been categorised. The method can be utilised both for finite elements that have not been transformed and for finite elements that 25 have been transformed. Once all finite elements have been categorised, the categorised elements and the unique planes that they have been associated with are written to a plotting file for future use. 30 Following steps 510 to 540, the sign and force conventions that were input by the user are then applied 550 to the analysis data that was extracted from the finite element analysis software or otherwise was provided. After the sign and force conventions have been applied to the finite element analysis data a number of design calculations are applied to the formatted input data files 560. These design calculations might include calculations to determine, for example, strain distributions, crack widths, sandwich forces, required reinforcement, and utilisation ratios 5 etc. The results from the design calculations are written to an output file and the maximum values are tracked and stored. Furthermore, a number of validation calculations may also be produced by the software while performing the design calculations. These validation 10 calculations directly represent the calculations being performed by the software and may be laid out in PDF format for user validations purposes. The provision of this information, both the output of the full results and the validation calculations and the output to the user is unique to this method and enables the generated design to be checked for example for regulatory purposes by the user. This removes the need for the user to make their own 15 individual design checks as these are provided by the method. An important consequence of generating a “transparent” design for which the design and validation calculations are provided to the user is that because it removes time-consuming validation checks it enables the user to iteratively generate designs - a process which otherwise would have been too time consuming. It also significantly improves the process of obtaining regulatory 20 approval for the design, if required, prior to a structure being constructed on site. This regulatory approval may be for example, from the Office for Nuclear Regulation (ONR). The methods described can be used in the construction of reinforced concrete structures for example to generate quantities of required reinforcement for the generated structure 25 and utilisation ratios for each finite element if concrete, or utilisation ratios if steel. The required reinforcement from the generated designs is directly used in the fabrication of concrete reinforcement cages. The methods described herein may be used in an automated process to produce concrete reinforcement cages for structures on which finite element analysis has been performed. In particular, the automated identification of 30 components in the structure described herein advantageously allows for construction processes to be automated and / or performed more efficiently. The described methods can also be used in the construction of frame structures for example steel frame structures. In particular, the automated identification of frame parts in finite element analysis data described herein advantageously allows for construction processes to be automated and / or performed more efficiently. 5 These iterative designs can also enable an improved manufacturing process particularly where the generated design is used directly as an input for manufacturing tool such as an automated reinforcement cage fabrication or a 3D printer. It could also be used to provide information to systems for controlling real world structures for example the automatic adjustment of damping for bridges carrying a certain load might be required. The present 10 method could be used to generate a design for a particular load and identify if further damping is required, if it is then this information could be used directly to adjust for example the tension that sections of the bridge is under. The automatic component method described above would be particularly useful in dynamic examples such as this. 15 Following the application of the design calculations 560 and validation calculations 572 the method then proceeds to step 580 and if the user has not requested that the software provides graphical plots the software ends 580 — the user having been provided a generated design and the associated executed design and validation calculations. 20 If the user has selected that graphical plots are to be provided then the software proceeds to step 170 which starts the method 900 for generating graphical design plots shown in Figures 12 and 13. An example output 1000 from the method 900 is shown in Figure 16. 25 First the method 900 accesses the plot variables 920 that are applicable for the module being run, along with the maximum values 910 that have been stored. If a panel (component) is under consideration 922, then for each panel (component) 930 of the design, steps 940 to 948 are followed. Firstly, the method identifies 940 all the nodes in that panel. The nodes in each panel having been identified by the component identification 30 method described above or input by the user. Each node is then transformed from three dimensional space to a two dimensional plane using projection equations 942. A list of lines that form the edges of the transformed elements is then created 944. An example visualisation of this is shown in Figure 15. For example, for a line element, node 1 to node 2 forms the only line; for a triangular element, node 1 to node 2, node 2 to node 3 and node 3 to node 1 forms the three lines; and for a quadrilateral element, node 1 to node 2, node 2 to node 3, node 3 to node 4 and node 4 to node 1 forms the four lines. The duplicate lines in this list are then removed 946 leaving a set of lines that form the panel (component) 5 outline. The panel (component) outline is constructed by sequentially connecting the remaining lines 848. The panel (component) outline is then formed 948 and the steps 940 to 948 are repeated for all panel (components) of the structure. Once outline projections for all components have been generated these are then combined 10 to form a three dimensional design of the structure of the finite element analysis model 950. This three-dimensional design is provided as a three dimensional plot to the user to provide context when the designs are used to construct the structure. The information generated can also be used to provide instructions for a 3D printer or other manufacturing process if required. 15 Once the three dimensional plot 1020 has been generated the software performs steps 980 to 988 for each panel / frame (component) in the structure and for each plot. First, a unique colour (for example red) is applied to the finite elements for a component 20 on the 3D context plot 980. Then a two dimensional plot 1010 of the panel is generated by drawing each of the finite elements of the selected panel using the associated node co- ordinates 982. Each finite element of the two dimensional plot 1010 is then assigned a colour based on the selected plot variable and the stored maximum value for the selected variable 984. An output file (for example a portable document format file) is generated 986. 25 The output file 1000 comprises the three-dimensional context plot 1020 and the two- dimensional plot of the panel for the selected variable 1010. Customisable text and security classification can also be provided by the user to be included in the output file 988. The steps 980 to 988 are repeated for each panel (component) of the structure and for each plot variable for the module being run. The plot variables for each module that may be 30 plotted in this manner may include but are not limited to required longitudinal reinforcement, required shear reinforcement, utilisation ratios, crack widths, deflections, strains / stresses, forces / moments etc.. The generated three-dimensional design may be provided to the user using a selected graphical visualisation framework for manipulating and displaying data. The method 100 then ends 190 having provided to the user a generated design, including the design calculations and that may include validation calculations and a graphical representation of 5 the generated design for multiple design variables. Figure 17 shows an example system 1200 for generating a design. A computing system 1240 runs the methods for generating a design described herein. The computing system interfaces with a finite element analysis software 1220 to extract at least one set of finite 10 element analysis data for structure 1210. Where an API 1230 is available the computing system 1240 interacts with the finite element analysis software via the API 1230. The computing system 1240 may output a file comprising the elements and identified planes generated from the methods described herein to an automated fabricator 1250 for example a 3D printer or an assembly line or process to produce a design. The produced design 15 may then be used as input to a finite element analysis software 1220 and the process repeated. It will be appreciated from the discussion above that the embodiments shown in the Figures are merely exemplary, and include features which may be generalised, removed or 20 replaced as described herein and as set out in the claims. The generated design or any component thereof, may be manufactured by subtractive or additive processes. For example, the generated design will be physically constructed on site by a contractor, and can also be manufactured using 3D printing using a PLA 25 thermoplastic material. The generated design or any component thereof, may also be manufactured by assembling pre-manufactured components together such as by adhering a sheetlike element to a substrate. This may be done by laying down a preformed track of the material, 30 or by laying down a larger sheet and then etching it away. This sheetlike element may be grown or deposited as a layer on the substrate. If it is deposited a mask may be used so the deposition happens only on regions which are to carry the track and / or it may be allowed to take place over a larger area and then selectively etched away. The generated design can also be used by an automated process for the fabrication of reinforcement (rebar) cages, or used to construct rebar cages in a factory or on-site prior to pouring concrete. 5 The design information from the methods described herein can also feed directly to the fabrication of the steel frame based structures for example to determine the required sizes of steel beams in the frame structure. 10 Other methods of manufacture may also be used. For example, the generated design may be manufactured by way of ‘3D printing’ whereby a three-dimensional model of the generated design are supplied, in machine readable form, to a ‘3D printer adapted to manufacture generated design. This may be by additive means such as extrusion deposition, Electron Beam Freeform Fabrication (EBF), granular materials binding, 15 lamination, photopolymerization, or stereolithography or a combination thereof. The machine readable model comprises a spatial map of the object to be printed, typically in the form of a Cartesian coordinate system defining the object's surfaces. This spatial map may comprise a computer file which may be provided in any one of a number of file conventions. One example of a file convention is a STL (STereoLithography) file which 20 may be in the form of ASCII (American Standard Code for Information Interchange) or binary and specifies areas by way of triangulated surfaces with defined normals and vertices. An alternative file format is AMF (Additive Manufacturing File) which provides the facility to specify the material and texture of each surface as well as allowing for curved triangulated surfaces. The mapping of the generated design may then be converted into 25 instructions to be executed by 3D printer according to the printing method being used. This may comprise splitting the model into slices (for example, each slice corresponding to an x-y plane, with successive layers building the z dimension) and encoding each slice into a series of instructions. The instructions sent to the 3D printer may comprise Numerical Control (NC) or Computer NC (CNC) instructions, preferably in the form of G- 30 code (also called RS-274), which comprises a series of instructions regarding how the 3D printer should act. The instructions vary depending on the type of 3D printer being used, but in the example of a moving printhead the instructions include: how the printhead should move, when / where to deposit material, the type of material to be deposited, and the flow rate of the deposited material. In the context of the present disclosure other examples and variations of the apparatus 5 and methods described herein will be apparent to a person of skill in the art.
Claims
Claims:
1. A method of generating a design of a structural engineering finite element model, the method comprising: receiving at least one set of finite element analysis data for a structure; utilising a coordinate geometry of each node to identify components in the structure; and outputting a file comprising the elements and identified components for use in the production of the design.
2. The method of claim 1 comprising: receiving at least one set of finite element analysis data for a structure, the at east one set of analysis data comprising: nodal data comprising the coordinates for nodes of the finite elements in 3D space; utilising the coordinate geometry of each node to identify components in the structure by generating, along a set of global axes which define a set of global planes, a set of unique planes; selecting an element from the at least one set of analysis data and determining if said element lies on at least one of the unique planes, and if an element is determined to lie on at least one of the unique planes categorising said element with said unique plane; and repeating until all elements have been selected and / or categorised and then using the element categorisation in the production of the design and / or outputting a file comprising the elements and associated categorised planes for use in the production of the design.
3. The method of claim 1 or 2 comprising: assessing if any elements of the analysis data have not been categorised then if not: selecting an uncategorised element and transforming all finite elements such that the selected uncategorised element lies on one of the global planes; generating another set of unique planes each of which intersect an axis perpendicular to the transformed plane; determining if an element lies on at least one of the another set of unique planes, and if an element is determined to lie on at least one of the another set of unique planes categorising said element with said unique plane; and repeating until all uncategorised elements have been categorised.
4. The method of any of claims 1 to 3, wherein the determining steps are performed by traversing a tree of the unique planes and uncategorised elements of the analysis data. 5 The method of claim 4, wherein the method is performed using: a dynamic Al depth-first-search approach comprising: traversing a branch of uncategorised elements for a particular unique plane; determining whether each uncategorised element lies on the particular unique plane; dynamically building a new branch of the remaining uncategorised elements and traversing this branch to determine whether each remaining uncategorised element lies on a next unique plane; repeating the dynamically building step until a set of unique planes has been searched.
6. The method of any previous claim wherein the unique planes and / or another unique plane intersect the said global axis at intervals based on a tolerance level. / . The method of claim 6 wherein determining whether an element lies on a unique plane / another unique plane is based on the intersect of the unique plane with a global axis and the tolerance level.
8. The method of claim 6 or claim 7 wherein a tolerance level is set for each of the global axes and associated unique planes.
9. The method of any previous claim wherein the at least one set of analysis data is formatted as a delimited text file.
10. The method of any previous claim wherein the categorised elements are used to create a 3D geometry of the structure of the analysis data.
11. The method of claim 10 comprising for each category of categorised elements: transforming each element onto a 2D plane using projection equations; creating a list of the element edges that form each element; removing all duplicate element edges from the list to create a list of unique element edges; generating a panel outline by sequentially connecting the unique element edges; using the generated panel outlines to create a 2D visualisation of the 3D geometry.
12. The method of any of any previous claim wherein the finite element analysis data comprises at least one of: element data comprising reinforcement, geometric and / or material properties for each finite element; forces data comprising the analysis results for each finite element; nodal data comprising the coordinates for nodes of the finite elements in 3D space; and plotting data.
13. The method of any of any previous claim comprising: executing for every finite element for at least one load case a set of code compliant design formulae.
14. The method of claim 13 comprising outputting the data associated with each element with the categorised plane and the results of the executed design formula associated with the element for example, as a delimited text file.
15. The method of claim 13 comprising outputting the data associated with each element with a categorised plane and the results of the executed design formula associated with the element for example, as a series of 2D graphical visualisations.
16. The method of any previous claim wherein the output data is used in the construction of a reinforced concrete structure or a steel framed structure.
17. The method of any of any previous claim wherein the analysis data is generated based on measurements of a structure for example a reinforced concrete structure or a steel framed structure.
18. The method of any previous claim wherein the categorised element data is converted into instructions that are then executed by a 3D printer to produce a model of the finite element analysis of the structure for example wherein the model is colour coded to indicate forces / design-results in the structure.
19. A computer readable non-transitory storage medium comprising a program for a computer configured to cause a processor to perform the method of any of claims 1 to 18.
20. A method of generating a design of a structural engineering finite element model comprising: extracting from at least one set of finite element analysis data for a structure; element data comprising geometric and / or material properties for each finite element and forces data comprising the analysis results for each finite element for each load case / combination; and formatting the extracted element data and forces data as a delimited text file; and using the formatted extracted element data and forces data to generate a design of the structural engineering finite element model.
21. The method of claim 20 wherein the extracted data also comprises nodal data comprising the coordinates for nodes of the finite elements in 3D space; formatted as a delimited text file and used to generate a graphical design of the structural engineering finite element model.
22. The method of claim 20 or 21 wherein the extracted data also comprises at least one of: plotting data comprising component categorisation for each finite element, load combination data comprising load combination identifiers and the corresponding load case identifiers and combination factors; module data comprising additional design parameters required for a specific design.
23. The method of claim any one of claims 20 to 22, comprising: establishing a thickness, or other categorising property, of the finite elements.
24. The method of claim 23, comprising: providing a user input interface to allow geometric data entry for all elements of each established thickness or categorising property.
25. The method of any one of claims 20 to 24, wherein the extracting is performed by an Application Programming Interface. AMENDMENTS TO THE CLAIMS HAVE BEEN FILED AS FOLLOWS:- Claims: 1, A method of generating a design of a structural engineering finite element model, the method comprising: receiving at least one set of finite element analysis data for a structure; the at least one set of analysis data comprising: nodal data comprising the coordinates for nodes of the finite elements in 3D space; utilising a coordinate geometry of each node to identify components in the structure: and outputting a design of a structural engineering finite element model for use in the production of the structure wherein the design comprises the finite elements and identified components.
2. The method of claim 1 comprising: utilising the coordinate geometry of each node to identify components in the structure by generating, along a set of global axes which define a set of global planes, a set of unique planes; selecting an element from the at least one set of analysis data and determining if said element lies on at least one of the unique planes, and if an element is determined to lie on at least one of the unique planes categorising said element with said unique plane; and repeating until all elements have been selected and / or categorised and then using the element categorisation to identify components in the structure.
3. The method of claim 1 or 2 comprising: assessing if any elements of the analysis data have not been categorised then if not: selecting an uncategorised element and transforming all finite elements such that the selected uncategorised element lies on one of the global planes; generating another set of unique planes each of which intersect an axis perpendicular to the transformed plane; determining if an element lies on at least one of the another set of unique planes, and if an element is determined to lie on at least one of the another set of unique planes categorising said element with said unique plane; and repeating until all uncategorised elements have been categorised.
4. The method of any of claims 1 to 3, wherein the determining steps are performed by traversing a tree of the unique planes and uncategorised elements of the analysis data.
5. The method of claim 4, wherein the method is performed using: a dynamic Al depth-first-search approach comprising: traversing a branch of uncategorised elements for a particular unique plane; determining whether each uncategorised element lies on the particular unique plane; dynamically building a new branch of the remaining uncategorised elements and traversing this branch to determine whether each remaining uncategorised element lies on a next unique plane; repeating the dynamically building step until a set of unique planes has been searched.
6. The method of any previous claim wherein the unique planes and / or another unique plane intersect the said global axis at intervals based on a tolerance level. f. The method of claim 6 wherein determining whether an element lies on a unique plane / another unique plane is based on the intersect of the unique plane with a global axis and the tolerance level.
8. The method of claim 6 or claim 7 wherein a tolerance level is set for each of the global axes and associated unique planes.
9. The method of any previous claim wherein the at least one set of analysis data is formatted as a delimited text file.
10. The method of any previous claim wherein the categorised elements are used to create a 3D geometry of the structure of the analysis data.
11. The method of claim 10 comprising for each category of categorised elements: transforming each element onto a 2D plane using projection equations; creating a list of the element edges that form each element; removing all duplicate element edges from the list to create a list of unique element edges; generating a panel outline by sequentially connecting the unique element edges; using the generated panel outlines to create a 2D visualisation of the 3D geometry.
12. The method of any of any previous claim wherein the finite element analysis data comprises at least one of. element data comprising reinforcement, geometric and / or material properties for each finite element; forces data comprising the analysis results for each finite element; nodal data comprising the coordinates for nodes of the finite elements in 3D space; and plotting data.
13. The method of any of any previous claim comprising: executing for every finite element for at least one load case a set of code compliant design formulae.
14. The method of claim 13 comprising outputting the data associated with each element with the categorised plane and the results of the executed design formula associated with the element for example, as a delimited text file.
16. The method of claim 13 comprising outputting the data associated with each element with a categorised plane and the results of the executed design formula associated with the element for example, as a series of 2D graphical visualisations.
16. The method of any previous claim wherein the output data is used in the construction of a reinforced concrete structure or a steel framed structure.
17. The method of any of any previous claim wherein the analysis data is generated based on measurements of a structure for example a reinforced concrete structure or a steel framed structure.
18. The method of any previous claim wherein the categorised element data is converted into instructions that are then executed by a 3D printer to produce a model of the finite element analysis of the structure for example wherein the model is colour coded to indicate forces / design-results in the structure.
19. A computer readable non-transitory storage medium comprising a program for a computer configured to cause a processor to perform the method of any of claims 1 to 18.