Assumption Checker

The method uses status icons on a GUI to indicate linear assumption compliance, addressing the unreliability of linear analysis by providing intuitive feedback for improved simulation reliability.

JP2026086348APending Publication Date: 2026-05-26DASSAULT SYSTEMES SOLIDWORKS CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DASSAULT SYSTEMES SOLIDWORKS CORP
Filing Date
2025-10-15
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing linear analysis in computer simulations is unreliable when certain assumptions are violated, leading to inaccurate results, and current tools lack intuitive mechanisms for users to assess compliance with these assumptions.

Method used

A computer-based method that generates status icons on a graphical user interface to visually indicate compliance or violation of linear analysis assumptions, allowing users to easily identify problematic areas and modify simulations accordingly.

Benefits of technology

Facilitates a better understanding of simulation reliability by providing intuitive feedback on linear assumption compliance, enabling users to quickly assess and improve simulation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026086348000001_ABST
    Figure 2026086348000001_ABST
Patent Text Reader

Abstract

A method for visually indicating whether any of the linear analysis assumptions have been violated, a computer, and a non-temporary computer-readable medium are provided. [Solution] The method receives data indicating whether each of the multiple linear metrics generated by the linear analysis of the model in the simulation violated any of the linear analysis assumptions. Each status icon displayed on the GUI is visually associated with one corresponding linear metric among the multiple linear metrics and one corresponding model element of the computer implementation model. Each model element is displayed on the GUI in a manner that represents the hierarchical model structure of the model elements. Each status icon visually indicates whether one of the multiple linear metrics for one corresponding model element among the multiple model elements generated by the linear analysis of the model in the simulation violated any of the linear analysis assumptions.
Need to check novelty before this filing date? Find Prior Art

Description

Detailed Description of the Invention

[0001] [Cross - Reference to Related Applications] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 707,428, titled "Hypothesis Checker," filed on October 15, 2024, the entire disclosure of which is incorporated herein by reference.

[0002] [Field of the Invention] The present disclosure relates to the field of computer - implemented simulations, typically using computer - based models, and more particularly to facilitating a user's understanding of the reliability of the results of such computer - implemented simulations.

[0003] [Background] Simulations of real - world phenomena can be performed using linear analysis or non - linear analysis. Non - linear analysis can handle certain real - world complexities that are not well - suited for linear analysis. However, non - linear analysis tends to be slower, much more complex, and more resource - intensive than linear analysis. Linear analysis can be faster, simpler, and have a lower computational cost compared to non - linear analysis. However, linear analysis generally has reliability only when certain assumptions are applied and adhered to by the analysis results.

[0004] [Summary of the Invention] The computer-based method includes receiving data indicating whether each of several linear metrics generated by the linear analysis of the computer implementation model in the computer implementation simulation represents a violation of any of the linear analysis assumptions (e.g., based on data and programming in computer memory that enable the establishment of a determination on this point). Status icons are generated and displayed on a graphical user interface (GUI), each status icon visually associated with one corresponding linear metric among several linear metrics and one corresponding model element among several model elements that make up the computer implementation model. Each model element is displayed on the graphical user interface in a manner that represents the hierarchical model structure of model elements in the computer implementation model (e.g., presented in a nested list). Each status icon provides a visual indication (e.g., color coding and / or indications including words such as pass, fail, or warning) of whether one of several linear metrics for one corresponding model element among several model elements generated by the linear analysis of the computer implementation model in the computer implementation simulation has violated any of the linear assumptions.

[0005] Displaying multiple status icons on a graphical user interface may represent a hierarchical model structure, which may include displaying the hierarchical model structure as an on-screen visual representation in which multiple model elements are presented in a nested array according to their respective relationships within the hierarchical model structure. Each model element may represent a product structure, shape, or body in a computer implementation model. In a typical implementation, the computer implementation model is made up of one or more product structures, each product structure may be made up of one or more shapes, and each shape may be made up of one or more bodies. The status icons may be arranged in an array, and each status icon is visually associated with a corresponding linear metric from among multiple linear metrics and a corresponding model element from among multiple model elements from the computer implementation model, based on the matrix position of the status icon within the array.

[0006] In some implementations, the computer-based method also includes allowing the user to select one or more status icons displayed on a graphical user interface, and, in response to the user's selection of a particular status icon, displaying on the graphical user interface a three-dimensional visual representation of at least the product structure, shape, or body corresponding to the selected status icon. The three-dimensional visual representation of at least the product structure, shape, or body corresponding to the selected status icon may have a visual appearance (e.g., color) that reflects (e.g., based on an on-screen color key) whether the selected status icon represents a violation of any of the linear analysis assumptions (e.g., pass status, fail status, or warning status).

[0007] In a typical implementation, each status icon is either a pass status icon, a fail status icon, or a warning status icon. In such implementations, a pass status icon may be assigned (and displayed logically in association with the first linear metric) to a first linear metric among multiple linear metrics for a first model element of multiple model elements if it is determined that the computer implementation simulation that generated the first linear metric was performed without violating any of the linear analysis assumptions, and / or a fail status icon may be assigned (and displayed logically in association with the second linear metric) to a second linear metric among multiple linear metrics for a second model element of multiple model elements if it is determined that the computer implementation simulation that generated the second linear metric was performed in a manner that violated one or more of the linear analysis assumptions. In some implementations, the computer-based method further includes assigning a warning status icon to a third linear metric among multiple linear metrics for a third model element among multiple model elements, in response to a determination that the computer implementation simulation that generated the third linear metric among multiple linear metrics was performed in a manner that does not satisfy the criteria for assigning a pass status icon or a fail status icon. In a typical implementation, the pass status icon, fail status icon, and warning status icon have different visual appearances (e.g., color, symbol, and / or word) on the graphical user interface.

[0008] In some implementations, the visual representation of the product structure, shape, or body corresponding to the selected status icon appears as part of the computer implementation model and is shown on the graphical user interface with a first style appearance. In some such cases, other parts of the computer implementation model that do not correspond to the selected status icon are visually represented on the graphical user interface with a second style appearance. The first style appearance is visually different from the second style appearance. In this example, the first style appearance can be solid and opaque, while the second style appearance is transparent. Naturally, variations are possible.

[0009] In some implementations, when parts of the computer implementation model appear on screen, those parts may be displayed on the graphical user interface, simultaneously with and adjacent to a table containing all the status icons.

[0010] Computer-implemented simulations can be linear static structural simulations (although other modifications are possible), with the analysis assumptions stored in computer memory being: 1) the materials involved in the computer-implemented simulation are linearly elastic and do not exhibit material nonlinearity; 2) displacement and rotation do not exceed predetermined thresholds; and 3) contact slip does not exceed predetermined thresholds. Linear metrics in such implementations can be yield, strain, sliding, and displacement.

[0011] In some implementations, the computer implementation method includes displaying a comprehensive status icon on a graphical user interface for each model element in the hierarchical model structure of the computer implementation model. In such cases, each comprehensive status icon identifies a linear analysis assumption compliance status (e.g., pass, fail, warning) corresponding to the worst of the corresponding linear metrics for the associated model element among multiple model elements, in terms of compliance with linear analysis assumptions, and has a visual appearance (e.g., color, pattern, label, etc.) that reflects the linear analysis assumption compliance status.

[0012] In a typical implementation, computer implementation simulations are based on simulation models that represent real-world scenarios in which the product, represented by a computer-based model, is exposed to various environmental boundary conditions during the execution of the computer implementation simulation.

[0013] In another embodiment, the computer includes a computer processor and computer-based memory operably coupled to the computer processor, the computer-based memory storing computer-readable instructions that, when executed by the computer processor, cause the computer to execute one or more of the aforementioned computer implementations and / or variations thereof disclosed herein.

[0014] In yet another embodiment, a non-temporary computer-readable medium is disclosed that stores computer-readable instructions that, when executed by a computer-based processor, cause the computer-based processor to execute one or more of the aforementioned computer implementation methods and / or variations thereof disclosed herein.

[0015] In some implementations, one or more of the following advantages exist:

[0016] For example, the systems and techniques disclosed herein can facilitate a better understanding of the reliability of computer-generated simulation results produced from simulations based on computer-based models. More specifically, in typical implementations, the systems and techniques disclosed herein can facilitate a better understanding of whether all necessary analytical assumptions in such simulations have been observed or violated. The systems and techniques typically provide feedback in this regard through an intuitive and easily navigable interface. The feedback provided is specific, for example, identifying any affected linear metrics generated from the simulation and to which parts of the model such feedback applies. This can enable users to easily and quickly modify the model and / or simulation profile as needed, and to know when a particular set of simulation outputs can be trusted. Existing applications suitable for linear static structural simulations generally do not provide users with access to the data or plots necessary to evaluate compliance with linear assumptions in the simulation. The systems and techniques disclosed herein eliminate the need for users to access such underlying data or plots, and instead provide users with a clear and intuitive assessment of such compliance, and enable them to navigate to meaningful data relating thereto in an even more intuitive manner.

[0017] In a typical implementation, the systems and techniques disclosed herein provide a clear indication of whether linear assumptions have been violated in a particular simulation, automatically evaluate whether the simulation results adhere to linear assumptions regarding small sliding contacts, small strain theory (small displacements and rotations), and material linearity (not exceeding yield stress or elastic limit strain), and provide a user interface that enables users (e.g., designers and design engineers) to quickly evaluate whether their simulation results are reliable using an intuitive pass / fail / warning status indicator, and provide an intuitive user interface with select-cross highlighting to guide the user to problematic areas.

[0018] Therefore, in a typical implementation, the systems and techniques disclosed herein provide a fully integrated tool for identifying whether linear assumptions have been violated. This may include, for example, a user experience driven by multiple linear metrics for evaluating linear assumptions against limit values ​​(stored in computer memory), visual feedback configured to draw the user's attention to specific problem areas, normalized plots for easy evaluation of linear metrics, and the ability to assess the validity of results. Currently, however, the ability to assess the validity of results is not possible even with at least some designer simulation applications (e.g., Static Study, Linear Structural Validation). Users, experts, and non-experts alike will gain confidence in the simulation results, which is likely to lead to increased use of simulations and, consequently, improved product designs.

[0019] Other features and advantages will become apparent from the specification and drawings, as well as from the claims. [Brief explanation of the drawing]

[0020] [Figure 1]It is a schematic representation of a computer configured to execute the computer-implemented functionality described in this specification. [Figure 2] It is a flowchart of the implementation of a computer-implemented simulation and simulation review process. [Figure 3] It shows an exemplary implementation of a screenshot including a three-dimensional depiction of a computer-based model in a computer-implemented simulation environment. [Figure 4] It shows an exemplary implementation of a screenshot including a type of pop-up window that may appear after the computer 100 has completed a simulation. [Figure 5] It shows an exemplary implementation of a screenshot including a depiction of a contour plot of von Mises stress. [Figure 6] It shows an exemplary implementation of a screenshot showing a cursor stopped above a user-selectable icon for activating the hypothesis checker functionality. [Figure 7] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 8] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 9] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 10] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 11] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 12] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 13] It shows an exemplary implementation of a screenshot from a hypothesis checker graphical user interface. [Figure 14]Illustrative implementations of screenshots from a Hypothesis Checker graphical user interface are shown. [Figure 15] Illustrative implementations of step, plot, and frame selector UI components for result navigation are shown. [Figure 16] An enlarged detailed view with annotations of an illustrative screenshot from a Hypothesis Checker graphical user interface is shown. [Figure 17] An enlarged detailed view with annotations of an illustrative screenshot from a Hypothesis Checker graphical user interface is shown. [Figure 18] Illustrative implementations of a Hypothesis Checker style graphical user interface applied to another type of simulation are shown. [Figure 19] Objects at different stages exposed to stress and strain over time are shown, and further, plots of stress and strain adjacent to the objects are shown.

Modes for Carrying Out the Invention

[0021] [Detailed Description] This document uses various technical terms to describe the inventive concept. These technical terms should be given their ordinary meanings and can be understood to have meanings consistent with the content described hereinafter, unless otherwise indicated.

[0022] For example, computer-aided design (CAD) software enables users to build and manipulate potentially complex three-dimensional (3D) models. SOLIDWORKS® and CATIA® computer software, both available from Dassault Systèmes, are examples of CAD software that can be used to build and manipulate complex three-dimensional (3D) models. A “design engineer” is a typical user of a 3D CAD system. A design engineer typically designs the physical and aesthetic aspects of a 3D model and may possess proficiency in 3D modeling techniques. A design engineer may typically create parts and assemble specific parts into subassemblies. Subassemblies may also consist of other subassemblies. As exemplified herein, the term “design engineer” should be broadly interpreted to include any one or more human users of a computer or computer system implementing the techniques disclosed herein.

[0023] Computer simulations analyze the behavior or results of real-world products, systems, processes, etc., in a virtual environment using computer implementation models designed to represent the behavior or results of real-world products, systems, etc., under boundary conditions applied to an equivalent real-world environment. Some computer applications that perform computer simulations can be configured to perform linear simulations that approximate the behavior or results. Linear simulations can provide relevant information in various implementations, for example, by reducing computational costs and / or simplifying otherwise complex physics-based simulations. However, for linear simulations to be reliable, certain assumptions must be applied. For example, in linear static structural simulations, these assumptions include: 1) the material is linearly elastic (no material nonlinearity), 2) displacement and rotation are considered small (small strain theory), and 3) contact slip is small (small sliding approximation). If a linear static structural simulation deviates to a sufficient extent from any (or all) of the aforementioned mechanical assumptions, the simulation results may be unreliable and inaccurate. Other types of assumptions can be applied to other types of linear simulations.

[0024] As used herein, the term “status icon” refers to a graphical symbol that conveys meaning through its visual appearance to assist the user in understanding the information being conveyed and / or navigating within a particular computer implementation environment. Examples of “status icons” may include graphical symbols such as a red “x” for identifying disqualification or disqualification conditions, a yellow triangle (optionally including a black exclamation mark) for identifying warning conditions, and a green checkmark for identifying acceptability or pass conditions. In some implementations, status icons may function as links or file shortcuts to additional information about the conditions associated with the status icon. For example, a red “x” identifying a disqualification condition may function as a link or file shortcut to information about a particular deviation of a linear assumption in a computer simulation, so that by selecting the red “x” status icon, the computer may display a portion of the model and / or simulation results involved in the relevant linear assumption violation. Similarly, by selecting the yellow triangle status icon, the computer may display a portion of the model and / or simulation results involved in the relevant warning of a potential linear assumption violation.

[0025] As used herein, the term "linear metric" refers to a type of measurement that can be represented and calculated, for example, by computer simulations using computer-implemented simulation models. Some examples of linear metrics in structural simulations include yield, strain, sliding, and displacement. The yield point is a point on the stress-strain curve that marks the limit of elastic behavior and the beginning of plastic behavior. Strain refers to the relative deformation compared to a reference position. Sliding refers to the type of relative motion between two contacting surfaces. Displacement refers to the distance moved in a particular direction by a point mass or body. Linear metrics can be calculated by computer simulations using computer-implemented models. The results of a linear simulation are inaccurate if, for example, one or more analytical assumptions are violated in the computer simulation. In short, linear metrics are measured to evaluate the validity of the inherent linear assumptions in the underlying formulation used in the analysis.

[0026] A computer implementation model consists of one or more model elements. As used herein, the term “model element” may refer to any product structure, shape, or body that collectively constitutes the computer implementation model. In a particular implementation, the computer implementation model may be constructed from one or more product structures, each product structure may be constructed from one or more shapes, and each shape may be constructed from one or more bodies. Therefore, the computer implementation model may be represented or organized into a hierarchical model structure containing one or more product structures, one or more shapes, and / or one or more bodies. An on-screen visual representation of such a hierarchical model structure may include a nested list display of product structures, shapes, and / or bodies, arranged and nested according to their respective positions and relationships within the hierarchy. Naturally, there are multiple types of “computer implementation models.” For example, there are also simulation models (computer models that represent the physical environment in which a physical product is placed, and in which engineers seek insights regarding the direction of design iterations, or insights for validating the design against key performance indicators and criteria).

[0027] As used herein, the term “product structure” may refer to a feature tree-based view of all physical products, 3D parts, and representations (e.g., in a computer implementation model). As used herein, the term “physical product” may refer to a single part, or a Product Lifecycle Management (PLM) object that gives the user the flexibility to author assemblies and / or subassemblies of parts. In short, it is used to create assemblies and / or subassemblies from any number of parts. As used herein, the term “3D part” refers to a special version of a physical product that allows only a single CAD 3D shape representation. In short, it can be used to represent, for example, a single component / piece / part. As used herein, the term “assembly” refers to two or more parts positioned relative to each other (e.g., to form at least a part of a computer implementation model). This can also be called a physical product. As used herein, the term “subassembly” refers to an assembly of parts that are added and positioned in a larger assembly. As used herein, the term “3D shape” refers to the 3D geometric representation of CAD geometry (for example, for a computer-implemented model). A physical product may have multiple 3D shapes. A 3D part may generally have a unique 3D shape. As used herein, a “body” is a collection of CAD features that represent a region of geometry.

[0028] An array is a visual arrangement of items (e.g., status icons) into a table having rows and columns. In one exemplary implementation, each data row in the array may identify and correspond to a specific model element (e.g., product structure, shape, or body) among several model elements that make up a computer implementation model, and each data column in the array may identify and correspond to a specific linear metric (e.g., yield, strain, sliding, or displacement) among several linear metrics generated in a computer simulation using the computer implementation model. In a typical implementation, each cell in the array is populated with a selected status icon from several status icons that identify a non-binary status (e.g., pass, fail, or warning) indicating whether any linear assumptions were violated or could have been violated when running the computer simulation and generating the corresponding linear metrics for the relevant model element.

[0029] In some implementations, the array may include a further (comprehensive or summary) data column indicating (e.g., in a meaningful way) whether the linear assumption was violated when generating any of the linear metrics for the relevant model element. In a typical implementation, if the linear assumption was violated when generating any of the linear metrics for the relevant model element, the computer fills the cells in the further (comprehensive) data column with a disqualified status icon. Also, in a typical implementation, if the linear assumption was not violated when generating any of the linear metrics for the relevant model element, the computer fills the cells in the further (comprehensive) data column with a passed status icon. Additionally, in a typical implementation, if there was a possibility that the linear assumption was violated when generating any of the linear metrics for the relevant model element, the computer fills the cells in the further (comprehensive) data column with a warning status icon. In other words, if all the array cells for a particular linear metric of a model element are filled with passed status icons, the further (comprehensive) data column is filled with passed status icons. If any of the array cells for a linear metric of a particular model element are filled with disqualified status icons, then the additional (inclusive) data column will be filled with disqualified status icons. If any of the array cells for a linear metric of a particular model element are filled only with warning status icons (or a mixture of warning and pass status icons) but not with disqualified status icons, then the additional (inclusive) data column will be filled with warning status icons.

[0030] Unless otherwise specified, the term “linear” as used herein generally means linear elastic materials, small strains (material-dependent), small rotations, and “linearized” small sliding contact conditions. Unless otherwise specified, the term “nonlinear” as used herein means that nonlinear materials may exist, finite (large) strains, plasticity, or hyperelasticity may exist, finite rotations may exist, and / or finite changes in sliding contact conditions may exist. Generally speaking, the actual real-world versions of any simulated scenario, including the real-world versions of the modeled objects, are nonlinear. However, linear analysis, when used properly, can provide valuable insights in a reduced time and therefore efficient outputs, because, generally, it is easier to solve those outputs. However, linear analysis must be used with caution because a violation of the linear assumption can lead to inaccurate results.

[0031] The term "processor" (etc.) refers to any one or more computer-based processing devices. A computer-based processing device is a physical component (e.g., a CPU) that can perform computer functions by executing computer-readable instructions stored in memory. If there are two or more computer-based processing devices or processor cores, they may be housed in a single physical device (e.g., a single computer or server) or they may be distributed across multiple physical devices, which may be located in two or more physical locations or facilities.

[0032] The term “memory” (etc.) refers to any one or more computer-based memory devices. A computer-based memory device is a physical component that can store computer-readable instructions, which, when executed by a processor, result in the processor performing the associated computer function. If there are two or more computer-based memory devices, they may be contained within a single physical device (e.g., a computer or server) or distributed across multiple physical devices that may be located in two or more physical locations or facilities.

[0033] One focus of this disclosure is to describe systems and techniques that facilitate the understanding of the reliability of results obtained from computer-implemented simulations using computer-implemented models. These systems and techniques can be used to ensure effective modeling and simulation that can ultimately lead to more efficient and better products, systems, etc. These products, systems, etc. can be manufactured in a number of potential ways. In one example, for instance, a product may be manufactured using a real-world machine that is automatically controlled via a computer numerical control (or "CNC") mechanism. The term "computer numerical control" or "CNC" refers to the automatic control of one or more machining tools, such as lathes, drills, grinders, routers, milling machines, 3D printers, etc., by means of a computer. A "CNC machine" is a machine that includes one or more such machining tools and is configured to process pieces of material (e.g., metal, plastic, ceramic, wood, composite material, etc.) to meet specifications by following coded and programmed instructions and without a manual operator directly controlling the machining operation. Instructions may be sent from a computer (for example, configured to provide the functionality disclosed herein) to a CNC machine in the form of a sequential program of machine control instructions, and subsequently executed by the CNC machine. In some cases, the program may be generated by or from CAD software and / or computer-aided manufacturing ("CAM") software (for example, based on a model generated using such CAD software / CAM software). In such cases, for example, the mechanical dimensions of an object may be defined using CAD software and then translated into manufacturing directives (for example, by the corresponding CAM software). The resulting directives may be used by a particular CNC machine as CNC-responsive commands necessary to perform manufacturing operations relating to producing a real-world version of the object (or to provide such CNC-responsive commands).CNC-compatible commands are loaded into a CNC machine and executed by the CNC machine to perform real-world manufacturing operations (e.g., removal operations) on one or more pieces of material (e.g., metal, plastic, ceramic, wood, composite material, etc.).

[0034] [Technical disclosure] As mentioned above, computer simulation applications are configured to analyze computer-implemented models designed to represent the behavior or outcomes of real-world or physical products, systems, processes, etc. Computer simulations can implement linear analysis, nonlinear analysis, or a combination thereof. Nonlinear analysis, while highly accurate, tends to be time-consuming and resource-intensive. Linear analysis, provided that certain fundamental assumptions about the properties and behavior of the modeled object are not violated, can be faster, less resource-intensive, and produce acceptable results.

[0035] Some computer simulation applications are configured to perform linear simulations of computer-implemented models, sometimes as standalone functionality, and sometimes as an alternative to nonlinear computer simulation options. Linear simulations may be appropriate under certain circumstances and may be advantageous in reducing computational costs and simplifying the simulation process in various implementations. Linear simulations are significantly easier to create and generally run faster and more robustly than fully nonlinear, physics-based simulations, and may be particularly desirable when the full physical processes of a particular problem are not fully understood or represented by the available data. Linear simulations are generally accurate only when certain linear assumptions are applied. For example, in a typical linear static structural simulation, these linear assumptions may include one or more (or all) of the following three mechanical assumptions: 1) the material in the simulation is linearly elastic (no material nonlinearity), 2) all displacements and / or rotations are small (small strain theory), and 3) all contact slip is small (small sliding approximation).

[0036] In a typical implementation, the assumption that a material is linearly elastic in a simulation means that the material behavior is idealized as both linear and elastic, without material nonlinearities such as plasticity, creep, or damage. Stress is proportional to strain and follows Hooke's law, where σ = E·ε, where σ = stress, ε = strain, and E = Young's modulus (constant). Therefore, the stress-strain curve is assumed to be a straight line. The assumption that a material is linearly elastic in a simulation can also mean that the material is elastic (i.e., the material does not experience any permanent deformation). Therefore, the material returns to its original shape after the applied load is removed.

[0037] In a typical implementation, the assumption that displacement and rotation are small means that the movement of points within the structure from their initial positions is so small that the geometry of the structure does not change significantly, and therefore the initial configuration can be used to calculate internal forces and stresses. In a typical implementation, the assumption that all rotations are small means that all rotations of structural elements are small enough that the sine and tangent of the rotation angle can be approximated to the angle itself (in radians), i.e., sin(θ) ≈ θ, tan(θ) ≈ θ, and / or higher-order terms in the strain-displacement relationship can be ignored.

[0038] In a typical implementation, the assumption that all contact slip is small means that the relative displacement (slip) between contacting surfaces in the model is assumed to be very small, that is, small enough to allow for simplification approximations of the progression of sliding motion at contact. In an exemplary implementation, small slip suggests that the relative displacement (slip) between contacting surfaces in the tangential direction is small enough that the contact area between the contacting surfaces does not change significantly, and the subsequent direction of the slip can be assumed to remain within the tangent plane of the initial contact point between the surfaces.

[0039] In a typical implementation, a computer or computer system configured to check for violations of linear assumptions may be configured using a non-transient computer-readable medium that stores computer-readable instructions. When executed by a computer processor, these instructions cause the computer processor to determine whether any linear assumptions have been violated while performing a linear analysis as part of a computer simulation. In this regard, there are several potential processes that can be implemented to make such determinations. In various implementations, the computer may be configured to store values ​​that, when a certain threshold is reached, identify whether one or more of the applicable linear assumptions have been violated, and to assist in that determination. In some implementations, the computer may be configured to solicit these values ​​from a human user (e.g., through a graphical user interface) and / or may store a default set of values ​​used to make such determinations about whether one or more of the applicable linear assumptions have been violated.

[0040] The computer is configured to present to a human user, via a graphical user interface, its determination of whether one (or more) of the applicable linear assumptions has been violated, in a manner consistent with the manner disclosed herein. The manner in which this information is conveyed is simple, systematic, actionable, and intuitive. In some implementations, the information may be presented in a manner that allows the human user to drill down into specific violations flagged by the computer to learn more details. For example, if a linear static structural simulation violates one (or all) of the aforementioned mechanical assumptions to a sufficient degree, the results of the simulation may be inaccurate. In some cases, when a linear static structural simulation violates mechanical assumptions, different simulation software may produce considerably different results for the same model and the same set of simulation conditions. In those cases, although the results are available, they will not provide meaningful insight into the performance of the product or system, and the results obtained may be incorrect in that one or more (or all) of the fundamental assumptions have been violated.

[0041] For users, and even for experienced users, manually evaluating linear assumptions in these situations is difficult, and sometimes impractical, because typical linear simulation applications (e.g., static analysis studies and linear structural validation apps) do not provide users with complete control over the output volume or plot type of solutions that would be necessary to perform such evaluations. In short, in such cases, users will find themselves in a difficult situation where they have inaccurate results and lack a simple mechanism to understand that those results should not be trusted.

[0042] In a typical implementation, the systems and techniques disclosed herein provide an intuitive mechanism for informing the user whether a particular set of simulation results should be trusted based on violations of linear assumptions. This enables users, including non-expert users, to easily perform linear assumption checks, thereby improving diagnostics for designers. In a typical implementation, the systems and techniques also provide a single user interface specifically designed to help users, both experts and non-experts, determine whether a set of simulation results is accurate with respect to linear assumptions. The target solution would rely on several solution quantities that may already be available for expert users to request as output. Implementations of the systems and techniques disclosed herein can, for example, automatically evaluate whether any of the three main linearity assumptions described above are observed or violated, not only through a global evaluation of the assembly but also through inspection of each individual component. Implementations of the user experience disclosed herein provide a tabular summary with pass / fail / warning status indicators, thereby enabling users, experts, or non-experts to clearly and quickly understand whether the simulation results adhere to linear assumptions.

[0043] Figure 1 is a schematic representation of a computer configured to perform the computer implementation functionality described herein, including facilitating an understanding of whether the simulation results of a particular set should be trusted. System 100 includes a processor 102, a storage device 104, a memory 106 containing software 108 defining the functionality described above, input and output (I / O) devices 110 (or peripherals), and a local bus or local interface 112 for communication within System 100. The local interface 112 may be, for example, one or more buses, or other wired or wireless connections. The local interface 112 may have additional elements omitted for simplification, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communication. Furthermore, the local interface 112 may include address, control, and / or data connections to enable proper communication between the aforementioned components.

[0044] The processor 102 is a hardware device for executing software, particularly software stored in memory 106. The processor 102 may be any, custom-made, or commercially available single-core or multi-core processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the system 100, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, or any device in general for executing software instructions.

[0045] Memory 106 may include one or a combination of volatile memory elements (e.g., random access memory (RAM such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drive, tape, CD-ROM, etc.). Memory 106 may also incorporate electronic, magnetic, optical, and / or other types of storage media. It should be noted that memory 106 may have a distributed architecture in which various components are located remotely from one another but are accessible by the processor 102.

[0046] Software 108 defines the functionality performed by the system 100 in accordance with the present invention. Software 108 in memory 106 may contain one or more separate programs, each of which contains an ordered list of executable instructions for implementing the logical functions of the system 100, as described below. Memory 106 may contain an operating system (O / S) 120, which essentially controls the execution of programs within the system 100 and provides scheduling, input-output control, file and data management, memory management and communication control, and related services.

[0047] The I / O device 110 may include, but is not limited to, input devices such as a keyboard, mouse, scanner, microphone, etc. Furthermore, the I / O device 110 may also include, but is not limited to, output devices such as a printer, display, etc. Finally, the I / O device 110 may further include, but is not limited to, devices that communicate via both input and output, such as modulators / demodulators (modems for accessing another device, system, or network), radio frequency (RF) transceivers or other transceivers, telephone interfaces, bridges, routers, or other devices.

[0048] When the system 100 is in operation, the processor 102 is configured to execute software 108 stored in memory 106 to communicate data with memory 106, as described herein, and to generally control the operation of the system 100 in accordance with the software 108.

[0049] When the functionality of system 100 is operating, processor 102 is configured to execute software 108 stored in memory 106 to communicate data with memory 106 and to generally control the operation of system 100 according to the software 108. The operating system 120 is read by processor 102, possibly buffered within processor 102, and then executed.

[0050] When System 100 is implemented in software 108, it should be noted that the instructions for implementing System 100 may be stored on any computer-readable medium used by or in connection with any computer-related device, system, or method. Such a computer-readable medium may, in some embodiments, correspond to either memory 106 or storage device 104, or both. In the context of this specification, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program used by or in connection with a computer-related device, system, or method. The instructions for implementing the system may be embodied by a processor or other such instruction execution system, equipment, or device, or on any computer-readable medium used by a processor or other such instruction execution system, equipment, or device. While processor 102 has been described as an example, such instruction execution systems, devices, or instruction execution devices may, in some embodiments, be any computer-based system, processor-based system, or other system capable of fetching instructions from an instruction execution system, device, or device and executing those instructions. In the context of this specification, “computer-readable medium” may be any means capable of storing, communicating, propagating, or transmitting programs used by, or in connection with, a processor or other such instruction execution system, device, or device.

[0051] Such computer-readable media may be, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, equipment, devices, or propagation media. More specific examples (a non-exhaustive list) of computer-readable media may include, namely, electrical connections with one or more wires (electronic), portable computer diskettes (magnetic), random access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fibers (optical), and portable compact disk read-only memory (CDROM) (optical). It should be noted that the computer-readable medium may even be paper on which the program is printed or another suitable medium, because the program can be electronically captured, for example, via optical scanning of paper or another medium, and then compiled, interpreted, or otherwise processed in a suitable manner as needed, and then stored in computer memory.

[0052] In an alternative embodiment in which system 100 is implemented in hardware, system 100 may be implemented using any or a combination of the following technologies: discrete logic circuits having logic gates for implementing logic functions for data signals, application-specific integrated circuits (ASICs) having appropriate combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0053] Structural simulations can be broadly characterized as either linear or nonlinear analyses. While all real-world problems are nonlinear in practice, the severity of nonlinear behavior depends on many factors. Therefore, while it is not uncommon to simplify nonlinear analyses to linear simulations, the determination of whether this simplified linear simulation accurately represents the solution to a particular problem is generally left to the user (e.g., engineer / analyst / practitioner). When a problem is simplified for linear analysis, several linear assumptions or approximations that must be adhered to in order for the solution to be accurate are inherently associated with the problem. In exemplary implementations, these linear assumptions may include: ● All materials behave in a linearly elastic manner. The stress from the load is less than the yield stress. ○ The strain remains sufficiently small (material-dependent limit). ■In some implementations, the small strain limit is <~5%. ■In other implementations, the small strain limit may be lower than 5%. ●All deformations are assumed to be small (small strain theory). More simply put, the initial shape and the final modified shape are almost identical. ● All rotations are assumed to be small. Mathematically speaking, sin(θ)≈θ, cos(θ)≈1, tan(θ)≈θ, and / or, ● All sliding contact behavior is tracked using the initial geometric configuration. This is consistent with the assumption that the initial configuration and the final configuration are nearly identical. This suggests that the nodes on part A do not slide beyond the boundary of the element surfaces on part B with which they are in contact.

[0054] It is believed that no commercially available finite element analysis (FEA) or simulation software today provides users with the ability to quickly assess whether any linear assumptions have been violated. However, methods for assessing whether these assumptions have been violated are well documented in the engineering literature, and analysts / simulation experts will know how to perform this assessment manually. Manual assessment can be a laborious process and generally requires a thorough understanding of how to interpret the problem being solved and the FEA results, and how to assess their validity against the linear assumptions. In other words, in the absence of a simulation expert, or without core knowledge of how to perform a manual assessment of adherence to linear assumptions, non-expert users (e.g., designers or design engineers) may not necessarily know how to perform this assessment. Worse still, there are currently no automated or semi-automated mechanisms to help non-expert users understand whether their results are meaningful or meaningless due to violations of linear assumptions. In short, even when the linear assumption is not followed, a solution can still be obtained, but the user receives no system feedback indicating that their solution does not adhere to the assumptions built into the simulation procedure.

[0055] Figure 2 is a flowchart illustrating the implementation of the computer simulation and simulation review process.

[0056] According to the illustrated flowchart, the user authores the simulation (in step 1). Simulation authoring can involve a wide variety of activities. In a typical implementation, simulation authoring may involve providing a computer implementation model on which the simulation will be run, and collecting and preparing the data to be input into the model for the simulation to be performed.

[0057] Figure 3 shows an exemplary implementation of a screenshot, including a three-dimensional rendering of a computer-based model in a computer-implemented simulation environment. The illustrated model has four legs supporting a tabletop, an outer perimeter on the top surface of the tabletop, and a block on a portion of the tabletop. The illustrated simulation environment is provided by the SIMULIA® software portfolio within the structures domain on the 3DEXPERIENCE® platform provided by Dassault Systèmes. The screenshot shows a graphical user interface (GUI) with a workspace, which displays a three-dimensional rendering of the modeled object and provides buttons in a ribbon across the bottom of the GUI that allow the user to access various simulation-related functionalities. In the illustrated implementation, these include standard functions as well as functions related to setup, meshing, initial conditions, abstraction, connections, boundary conditions, loads, results, view functions, AR-VR, tools, and touch functions. Naturally, various other implementations may include more or fewer buttons and associated functionalities or types of functionalities, and in some implementations, specific buttons may differ from those shown.

[0058] Referring again to Figure 2, and according to the flowchart shown next, the user (in step 2) runs the simulation. In practice, once all the necessary data is prepared and input into the model, or made available for input into the model, the user starts the simulation and the computer (e.g., computer 100) runs the simulation. There are various types of simulations that computer 100 can run. In one example, computer 100 can use simulation software, such as that provided by the SIMULIA® software portfolio. In some implementations, computer 100 can use Abaqus® software, i.e., structural simulation software products available in the SIMULIA® software portfolio. In a typical implementation, the simulation performed is a linear simulation, in which certain assumptions must be followed in order for the results to be reliable.

[0059] Figure 4 shows an exemplary implementation of a screenshot including a type of pop-up window that may appear, for example, after computer 100 has completed a simulation. The pop-up window identifies the status of the completed simulation according to the illustrated implementation. The illustrated pop-up window further identifies that the simulation was a static stress simulation. Although not explicitly noted in the illustrated pop-up window, a static stress simulation is a linear static stress simulation, and therefore, for the simulation results to be considered reliable, the set of linear assumptions described herein must be adhered to during the simulation. The illustrated pop-up window has two tabs, one for Messages and one for Diagnostic files. The Messages tab is visible in the illustrated figure. The messages indicate that there are zero Errors, thirteen Warnings, and zero Information. The pop-up window in the illustrated implementation is essentially superimposed on the screenshot of Figure 3.

[0060] Next, according to the illustrated flowchart, the user (in step 3) opens or views the simulation results. Computer 100 can present the simulation results on screen in any number of possible ways. In an exemplary implementation, the simulation results may be presented on a graphical user interface as computer-generated, color-coded, or otherwise visually marked images, presenting the simulation results on a three-dimensional representation of the model. In such an implementation, the color coding may be accompanied by keys indicating characteristics and associated values ​​for those characteristics, which are represented by various colors on the three-dimensional representation of the model. The information contained in the simulation results generally depends on the purpose of the simulation. For example, in a simulation aimed at simulating the structural behavior of a modeled part, the information may include linear metrics related to structural phenomena such as stress and strain, yield, displacement, and sliding.

[0061] Figure 5 depicts a contour plot of von Mises stress. While this contour plot is color-coded, it shows all the resulting quantities and not merely a "color-coding" indicating pass, fail, or warning. Von Mises stress is a measure of internal pressure, calculated in this case through simulation and used to determine whether the material yields or fractures. The unit for von Mises stress is Newtons per square meter (N / m²). The unit can also be lb / in², lb / ft², or any [unit of force / unit of area]. The key is immediately adjacent to the color-coded three-dimensional representation of the computer-based model, identifying the meaning of each color in the color-coded three-dimensional representation of the computer-based model. In the illustrated implementation, the key is a vertical bar, which has various colors along its length, and the numerical value immediately adjacent to the bar is used to identify the value (in N / m² units) represented by the associated color. Each location on the color-coded three-dimensional representation of the computer-based model has a specific color that represents a particular value for von Mises stress, represented by color-coded bar keys. For example, the color coding in the illustrated image reveals that the leg portion of the three-dimensional computer-based model has a higher von Mises stress value than the tabletop, block, or perimeter.

[0062] Referring again to Figure 2, the next step, according to the illustrated flowchart, is for the user to open the assumption checker dialog (in step 4). There are various ways in which the user can perform this step. In a typical implementation, the user can launch the assumption checker dialog by selecting an on-screen user-selectable button.

[0063] Figure 6 shows an exemplary implementation of the screenshot, with the cursor stopped above a user-selectable icon for activating the assumption checker functionality. As shown in the illustrated implementation, computer 100 displays the message that the assumption checker will "check different result quantities to see if any of the linear static assumptions are violated," depending on how the cursor is positioned. The assumption checker is activated by selecting (e.g., clicking) the indicated icon.

[0064] Referring again to Figure 2, once the assumption checker with the illustrated implementation is started, the computer 100 (for example, in response to a user prompt) starts a process (see Step 5) to determine whether any linear assumptions were violated during the simulation, and if so, which linear assumptions were violated and which parts (for example, which product structure, shape, or body) were affected. There are various ways in which the computer 100 can make these determinations. Based on these determinations, the computer 100 assigns a status of pass, fail, or warning to each of the simulation results produced by the simulation (for example, each of one or more linear metrics) and to each of the one or more product structures, shapes, or bodies that constitute the computer implementation model used in the computer implementation simulation.

[0065] Furthermore, as shown in the illustrated example, the computer 100 makes these determinations by calculating various quantities to evaluate the linearity assumption (5C1-5C3) and by evaluating the linearity check (5E1-5E3) by comparing the calculated quantities against predetermined limits. Based on the calculations and evaluations, the computer 100 (in step 5) assigns a pass, fail, or warning status to each linear metric for each model element. More specifically, in the illustrated implementation, the computer 100 calculates for each model element a quantity to evaluate the material linearity assumption (5C1), a quantity to evaluate the small displacement / rotation assumption (5C2), and a quantity to evaluate the small sliding assumption (5C3). Next, the computer 100 evaluates the material linearity check (in 5E1) for each model element by comparing the calculated quantities (from 5C1) against limits specified by the user; the displacement / rotation check (in 5E2) by comparing the calculated quantities (from 5C2) against limits specified by the user for evaluating the small displacement / rotation assumption; and the small sliding check (in 5E3) by comparing the calculated quantities (from 5C3) against limits specified by the user for evaluating the small sliding assumption. Any limits specified by the user may be input to (and stored in memory) the computer 100 before, during, or after the simulation, and such identification may be made in response to prompts from the computer 100 asking the user to identify the relevant limits. In some implementations, the computer system 100 may be pre-programmed to include such limits.

[0066] In some implementations, the limits define the boundaries of the ranges of values ​​corresponding to pass, fail, and warrant a warning. Depending on the results of the calculations (5C1-5C3) and evaluations (5E1-5E3) and the values ​​of the calculated quantities relative to the limits specified by the user, the computer 100 assigns a pass, fail, or warning status to each of the evaluated linear assumptions for each model element (e.g., product structure, shape, or body).

[0067] Next, in the illustrated flowchart, the user (in step 6) reviews the pass, fail, and warning statuses to evaluate whether the linear assumptions in the simulation results have been violated. In this regard, in a typical implementation, computer 100 displays various information related to a relatively simple yet comprehensive, highly intuitive, and interactive overview and presentation of the results of the assumption checker functionality (for example, from step 5 in Figure 2), an example of which is shown in Figure 7.

[0068] Specifically, Figure 7 shows an exemplary implementation of the assumption checker graphical user interface and a default color-coded plot depicted on a three-dimensional image of the computer-based model. This figure is also annotated with several descriptive notes.

[0069] The hypothetical checker user interface in the illustrated implementation is a table of status icons, which also serve as action buttons (for example, buttons that, when selected, cause computer 100 to perform one or more actions). The specific behavior of the action buttons is described herein and illustrated in the following diagrams.

[0070] Figures 16 and 17 show annotated enlarged detail views of the assumption checker user interface, similar to that in Figure 7. The table represented in the illustrated screenshot is organized into rows and columns, where each row corresponds to and represents a specific model element (e.g., product structure, geometry, and / or body) within a hierarchical model structure that constitutes the computer-based model, and each column corresponds to and represents a specific linear metric (e.g., linear metric determined by computer implementation simulations involved in the computer-based model).

[0071] The model elements in the illustrated example include the product structure "3DX_Test_Multibo…", which consists of two other product structures, namely the first "3DX_Test_Multi…" and the second "3DX_Test_Multi…". The first "3DX_Test_Multi…" in the illustrated example consists of the shape "3DX_Shape_TableLegs". The second "3DX_Test_Multi…" in the illustrated example consists of the shape "3DX_Shape_TableTop". The shape "3DX_Shape_TableLegs" in the illustrated example consists of the bodies "Leg1-Volume Extrude 2", "Leg2-Translate 1", "Leg3-Symmetry3", and "Leg4-Symmetry4". The shape "3DX_Shape_TableTop" in the illustrated example consists of the bodies "PartBody_TableTopOnly", "BlockOnTableTop-Volume Extrude 1", and "RimOnTableTop-Volume Extrude 2". These model elements are presented in a hierarchical format in the illustrated table, with indentations and relative positioning indicating the hierarchical relationships between elements. The linear metrics represented in the illustrated example include yield, strain, sliding (not shown), and displacement (not shown).

[0072] Each cell in the illustrated table is located at the intersection of one of the rows (model elements) and one of the columns of linear metrics. Each cell is filled with a single status icon that identifies the status (e.g., pass, fail, warning) of the corresponding linear metric for the corresponding model element. Specifically, each status icon provides a visual indication of whether the computer-implemented simulation, which involved the computer-implemented model and produced the corresponding results, violated any of the linear analysis assumptions. Generally, a pass status indicator indicates that computer 100 determined that no analysis assumptions were violated, a fail status indicator indicates that computer 100 determined that at least one of the analysis assumptions was violated, and a warning status indicator indicates that computer 100 determined that one or more linear assumptions may have been violated, and / or the results of the computer-implemented simulation may have been affected, based at least on the corresponding linear metric for the corresponding model element.

[0073] The annotations in the diagram indicate that in some implementations, for a given linear metric in a column of the table, computer 100 performs the necessary calculations to determine the condition (or status) for every cell and iterates through every row. Ultimately, computer 100 calculates all conditions (statuses) for all rows. Computer 100 can then find the "worst-case" condition (status) for each row (model element).

[0074] In the top row of the illustrated example, the yield entry used as a metric for linear material behavior is the "worst-case" condition (status) for the row corresponding to the model element labeled "3DX_Test_Multibo…". The reason the yield entry is the "worst-case" condition (status) is that the cell corresponding to the yield entry is filled with a disqualification status icon, while the cells corresponding to strain and sliding are filled with a pass status icon, and the cell corresponding to displacement is filled with a warning status icon. The reason the yield entry in this example is considered the "worst-case" is that disqualification is considered worse than pass and warning. Generally speaking, pass is the "best case", disqualification is the "worst case", and warning is somewhere in between.

[0075] Computer 100 then sets the status of the "All" column to the "Worst Case" condition (status) when it examines the entire row, as noted in the diagram. In the example of the top row in the illustrated diagram above, the surrender entry is considered to be the "Worst Case" condition (status), and therefore the "All" column gets the disqualified status icon. If a particular row of entries with linear metric status icons does not have anything worse than the warning status icon, the "All" column for that row gets the warning status icon. If a particular row of entries with linear metric status icons has all pass status icons, the "All" column for that row gets the pass status icon. In an exemplary implementation, computer 100 may be configured to scan the rows for any disqualified status. If any disqualified status is identified, computer 100 assigns the disqualified status icon to the "All" column for that model element. If no disqualified status is identified, computer 100 may scan the rows for any warning status. If any warning status is identified, computer 100 assigns a warning status icon to the "All" column for that model element. If no warning status is identified during the scan, computer 100 assigns a pass status icon to the "All" column for that model element. Thus, the "All" column gives the user a quick snapshot view of the worst-case reliability applied to a particular model element in the simulation results, and thus represents an overall status icon for that particular model element. Naturally, each column in the tabular report generated by the assumption checker tool provides detailed insight into the quality of the simulation results based on the linear assumptions being checked, but the "All" column is a rollup overview across the entire given row, and the worst-case status is reflected as the status in the "All" column. As another example, if the assumptions for yield, strain, and displacement are met (pass), but the sliding status is warning (yellow), the "All" column will reflect the value of "Warning".

[0076] Referring again to Figure 7, the color-coded plot on the three-dimensional representation of the computer-based model is generated by computer 100 identifying the "worst-case" condition (status) for any linear metric for each model element (e.g., body) and coloring the representation accordingly. Thus, in a typical implementation, the color coding of the three-dimensional representation corresponds to the status icons in the "All" column of the tabular assumption checker UI. In an exemplary implementation, any model element (e.g., body) whose status in the "All" column is disqualified may be displayed in red, any model element whose status in the "All" column is warning may be displayed in yellow, and any model element whose status in the "All" column is pass may be displayed in green. A color code plot key, which identifies the meaning of the various colors applied in the color-coded plot, is provided to the right of the three-dimensional representation.

[0077] Therefore, as noted in the figure, this uniformly colored plot is generated by focusing on the worst-case scenario for each body and using this output to reflect the overall status of that body. For example, a single node result that satisfies the "disqualified" criterion for a single linear metric may be interpreted by computer 100 as meaning that the entire body that encountered the disqualified condition, and the coloring of the depiction, accurately reflect this. In a typical implementation, as soon as computer 100 displays the assumption checker user interface, the three-dimensional display area (the area encompassing the three-dimensional depiction) is automatically updated to display a global evaluation plot with color-coded statuses to appropriately indicate the pass, fail, or warning status for each individual part in the illustrated product / assembly.

[0078] In a typical implementation, the systems and techniques disclosed herein, including the screenshot and related functionality shown in Figure 7, help to focus the user's attention on the areas of greatest concern, which is the primary use pattern of the assumption checker functionality. The application aims to provide expert-level guidance as an out-of-the-box (OOTB) function by evaluating the result quantity and comparing it against pre-specified limits, which in some cases may be limits commonly found in engineering literature. The global evaluation plot may be displayed as a color-coded plot based on the following three status indicators: 1) areas of solution results that do not violate linear assumptions are considered to pass and are assigned a default color of green; 2) areas of solution results that clearly violate linear assumptions are considered to fail and are assigned a default color of red; and 3) areas where the solution results are questionable regarding compliance with linear assumptions are considered warning areas and are assigned a default color of yellow. In some implementations, the assumption checker tool is accessed first by the user, at which point the 3D Viewing area provides a top-level "global" status indicator that renders every part and / or body in the assembly in red, yellow, or green, clearly guiding the user to areas of the model where the results should be examined more carefully. Each intersection of rows and columns in the tabular assumption checker UI results in a unique selection of product scope (e.g., model elements) and result quantities to plot. Rows in the UI provide a tree-table view of the product structure (e.g., model elements) that can be analyzed by the user.

[0079] Figure 7 shows a screenshot of the assumption checker UI and an example of the corresponding default color-coded plot. In the illustrated implementation, the default color-coded plot is the global evaluation plot.

[0080] The global evaluation plot can be thought of as the intersection of the "Assembly" row (row 1) and the "All" column, as shown in Figure 8 (see, for example, the shaded selection in the tabular assumption check UI). Each time the user clicks the dedicated button at this row-column intersection, the computer 100 generates a global evaluation plot as shown in Figure 8. This is the same color-coded plot that was displayed by default in the screenshot of Figure 7. As noted in the figure, when the user clicks the intersection of the root assembly corresponding to all parts ("3DX_Test_Multibo…") and the "All" column (a rollup summary of worst-case conditions / statuses for linear metrics), the computer 100 displays a global evaluation plot that has the same appearance as the default color-coded plot in the screenshot of Figure 7.

[0081] In the scenario shown in Figure 8, because the user has selected the root assembly as the context, the computer 100 interprets and responds to this selection as if all parts of the assembly were considered to be of visual importance to the user for the purpose of reviewing the results. Therefore, the three-dimensional representation of the modeled objects is shown with maximum saturation in color (e.g., red, yellow, and / or green), and there are no transparent areas. As noted in the figure, consequently, the resulting global evaluation plot, which arises from the user clicking the intersection of the root assembly and the "All" column, shows all objects as opaque because the root assembly is flagged as the active context for viewing. Each time the root assembly is flagged as the active context for viewing, all objects from the modeled objects are shown as opaque and with maximum saturation in the color that indicates the relevant status.

[0082] For example, as shown in Figure 9, if the user clicks the intersection of the third row (i.e., the sub-region of the leg of the product assembly) and the "All" column, the resulting color-coded plot will show the status colored with maximum saturation (e.g., without transparency) on the leg of the three-dimensional representation of the modeled object, while all other areas of the representation will be rendered transparent, however, in a typical implementation, accompanied by the associated status coloring. Thus, as noted in the figure, if the user clicks the intersection of the shown 3D shape and the "All" column (worst-case rollup overview), the computer 100 presents a highlighted global overview (e.g., illustrating the complete computer-based model) for this part of the assembly / product by rendering everything except the selected model element as transparent. In the scenario of Figure 9, because the user selected a single 3D shape as the context, the computer 100 interprets the user's selection as meaning that all bodies within the selected 3D shape are of visual importance to the user when reviewing the reliability of the simulation results. Therefore, the 3D rendering of the computer-based model displays the body within the selected 3D shape in the most saturated color, while the rest of the body not included within the selected 3D shape is displayed using transparency, although still color-coded in typical implementations. This helps to focus the user's attention on those selections while also providing a complete visual context of adjacent parts in the rendered computer-based model. The plot presented in this way provides the user with an assessment of the "worst-case scenario." Referring to the assumption checker table, it should be noted that the status icon in the "Yield" column (representing the linear material approximation metric) indicates failure (i.e., a red x), strain and sliding indicate passing (a green check), and displacement checks are indicated as a warning (a yellow warning sign).

[0083] Naturally, users can also click buttons anywhere within the assumption checker UI table. In one example, a user could click or select a status icon for a tabletop-only model element within the yield linear metric column.

[0084] Navigating the columns of individual linear assumptions or linear metrics provides behavior similar to a global evaluation plot, but with at least one unique difference. Specifically, when a button is clicked at the intersection of a row and a column, the computer 100 generates a resulting contour plot (also known as a field plot) for the particular linear metric. In the example shown in Figure 10, the user clicks at the intersection of the tabletop region and the yield column (representing a linear material approximation metric). The resulting plot provides a plot of yield risk (safety factor) with maximum saturation (opaque), while transparency is applied to detailed contour plots for all other regions of the model, the purpose of which is to provide the user with the full context of the evaluated linear metric, but with the user-selected part / region (row) as the primary focus. In some implementations, the plot is generated by comparing the magnitude of the stress with a known material input quantity called the yield stress. In a typical implementation, the user must provide or specify the yield stress as input to the computer as part of the material description in order to generate this comparison.

[0085] As noted in Figure 10, when the user clicks the intersection of a tabletop feature and a yield column in the assembly, computer 100 displays a risk assessment plot for review. This plot shows the full scope of detailed finite element analysis (FEA) data as a contour plot in the illustrated example. The illustrated plot focuses the user's attention on the selected tabletop by showing the user's selection (shaded row) as opaque, along with the detailed results, while showing all other parts and / or bodies as transparent. In various implementations, detailed FEA result data (node, element, or surface results) may be plotted directly over the selected body / geometry, or over the entire assembly (e.g., the entire computer-based model representation). The yield risk plot in the illustrated example focuses on the user selection context of the tabletop part (two areas specifically identified as of particular interest), while all other parts are shown transparently to provide context and to focus the user's attention with the product perspective display / view in mind.

[0086] Figure 11 shows an example screenshot including the tabular UI of the assumption checker (with a specific selection made) and a corresponding exemplary strain assessment plot for the table legs. In a typical implementation, the plotting and interactive behavior of strain assessment is similar to that for the yield column, except that here computer 100 compares the magnitude of the strain to known limits typically defined internally for the software system. The user generally has no control over these known limits. As noted in the figure, the user clicks on the indicated location in the tabular UI to produce the displayed image. The user's selection is for strain because it relates to all legs. This results in a strain risk plot where the legs are shown in maximum saturation and color-coded, while all other bodies are shown transparently, as shown.

[0087] Figure 12 is a screenshot showing an example of a screenshot including a tabular assumption checker UI and a small sliding plot for the tabletop only. Specifically, as shown, when the user stops the mouse cursor over a button shown in the table, computer 100 displays a tooltip providing an overview of the status (pass / fail / warning), step (step name), frame (solution frame #), maximum (maximum value), minimum (minimum value), average (average value), and median (median value). Currently, the prototype being depicted shows only the status and values ​​(for example, within a three-dimensional representation of the tabletop).

[0088] As described elsewhere in this specification, the small sliding approximation is a linear approximation of contact behavior that results in a significant simplification of the complexity of the solution. However, if the small sliding approximation is not used thoughtfully, the user may end up producing results that may appear physically natural but are inaccurate due to a breach of fundamental assumptions. Physically, the small sliding approximation means that any deformation experienced by the structure does not result in any significant deformation of any geometric surface. In other words, as the surface deforms, the distorted surface shape and orientation are not considered in the contact solution. This implies that for this assumption to hold, the initial surface configuration and the final surface configuration must remain nearly identical.

[0089] The small sliding approximation can be explained using a fairly simple example. Imagine a perfectly square plate (part A) in space. The edges of this plate form a natural boundary. Now imagine a point at the center of this plate, which represents a finite element node from an adjacent body (part B). The small sliding approximation assumes that the node on part B does not slide or move beyond the original boundary of the plate. If this node moves beyond the boundary, the small sliding approximation / assumption is broken. This explanation is one example of a case in which the small sliding assumption may be broken, but it is not the only case in which it may be broken. To give another example, imagine a square plate oriented on a plane in space. Now imagine a sphere rolling on this plate. The small sliding approximation assumes that as the sphere rolls on the plate, the plate remains plane and its orientation remains exactly the same as it was relative to the original plane. If this plate deforms (bends) or rotates outward from its original plane, the small sliding assumption will be broken. More generally, the small sliding assumption means that the software focuses on the point of contact of one body to the surface of another body at the start of the simulation. The software calculates the tangent plane at the point of contact on the surface and assumes that the given point of contact always slides within that tangent plane. This assumption holds if the degree of sliding is small enough that the tangent plane remains a good approximation of the actual surface geometry throughout the simulation.

[0090] Figure 12 shows an example of a small sliding evaluation plot. This image is rendered with transparency to provide the reader with a visual comparison of how the default plot typically appears in the current software system (3DEXPERIENCE), and adjacent parts are intentionally not shown. It should be noted that the small sliding evaluation is displayed in a manner consistent with the plots of other assumed risk / linear metrics. It is worth noting that manual creation of this type of plot, if possible, would typically require expert-level knowledge of the quantity of the solution to assess whether the sliding is sufficiently "small".

[0091] In a typical implementation, computer 100 can generate a displacement evaluation plot.

[0092] In a typical implementation, the usability and display of this type of plot would be consistent with the yield (linear material) column, strain column, and slip column. Displacement evaluation plots can help users understand whether the magnitudes of displacement and rotation can be considered small. To perform this evaluation, a computer may rely on the functionality of SOLIDWORKS® computer software. A common approach is to create what is called a normalized displacement plot, which can be calculated as a ratio of the displacement solution to its characteristic length and may exist within the SOLIDWORKS® computer software. It is worth noting that manual creation of this type of plot, if possible, would likely require expert-level knowledge of the solution quantities to evaluate whether the displacement and rotation can be considered sufficiently "small."

[0093] In some implementations, computer 100 is configured to generate and display global status annotations (e.g., using status bubbles to show detailed results). This additional UI concept provides the ability for the user to clearly understand global pass / fail / warning statuses while also navigating rich contour plots about a given assumption evaluation, such as a yield evaluation plot. Figure 13 shows an example of this type of screenshot illustrating the usefulness of adding global status annotations to a rendered assumption evaluation plot. The intention is as follows: 1) First, focus the user's attention on the assumption checker UI, where the user interacts with a tree-like table view of their products / parts, as well as pass / fail / warning status indicators for each plot. 2) The user clicks one of the buttons at the intersection of a row and a column that is not the "All" column. 3) The relevant hypothetical evaluation plot (e.g., risk plot) is rendered as previously described (the selected row object has no transparency, and all other bodies are transparent). 4) Once the user renders the plot, it is assumed that the user shifts their visual focus from the UI dialog (left side of Figure 13) to the 3D display area (right side of Figure 13). In doing so, the user may have lost context regarding whether the area of ​​interest (row) they selected had a pass, fail, or warning status. 5) Providing pass / fail / warning indicators for the 3D annotations is intended to help provide the user with a valuable "global" context while also allowing them to query the results.

[0094] In some implementations, computer 100 is configured to generate an assumption checker report view, an example of which is shown in Figure 14.

[0095] Regarding the Assumption Checker report view, it has been recognized that some users may prefer to navigate Assumption Checker information by reviewing key steps, frames, and result quantities in tabular form rather than through interactive plot displays. Figure 14 provides a visual example of this alternative view of the Assumption Checker. In some implementations, users can switch between the report view and the plot view as needed. Users may wish to capture the output / results of the Assumption Checker. Once a detailed evaluation of the linear assumption check has been performed, users may wish to export the detailed tabular results to a spreadsheet in a 3DEXPERIENCE platform management document, for example, to align with existing functionality regarding result "field export". This would be facilitated through the top right button in Figure 14.

[0096] As noted in the diagram, the user can switch between plot view and report view using the flagged button in the upper right corner of the screen. The same button may be provided on the corresponding plot view screen. The assumption checker, in the illustrated screenshot, shows a tabular view of information including result values, critical step IDs (S#), and critical frame IDs (F#) for individual linear metrics. The display of pass / fail / warning status may be provided in the illustrated implementation as color-coded cells and / or by directly listing or showing the status as part of the text within each cell. In report view, the global summary ("All" column) shows the assumptions broken and the associated critical step IDs and critical frame IDs.

[0097] It is worth noting that the images in this document, as shown in Figure 15, illustrate the step-plot-frame selector UI components for result navigation. However, in the exemplary implementation, the only mechanism for the user to access plots automatically generated by the assumption checker is to use the interactive plot view of the assumption checker UI, as shown in Figure 14. In a typical implementation, this facilitates providing non-expert users with clear visual context and guidance on where to focus their attention when reviewing the results of a linear analysis.

[0098] Figure 16 shows that the tabular assumption checker UI has filters that allow the user to control the level of product / shape / body information they wish to review.

[0099] Figure 17 shows that the tabular Assumption Checker UI has filters for linear metric columns. As noted in the figure, the column filters allow the user to control the level of detail displayed by computer 100 in the Assumption Checker Status and Plot Navigator tables discussed herein. For example, for large product assemblies, the default for these filters may be set to show only disqualification and warning conditions / statuses. This minimizes the possibility of the user being overwhelmed by information, given that there may be hundreds of different parts. For smaller or medium-sized product assemblies, the default for these filters may be set to show all status types, but it is also possible to configure them to show only disqualification and warning conditions / statuses. The default filter options may be determined by user settings / preferences or may be pre-programmed within the software.

[0100] Figure 18 shows that the concept of assumption checkers can be applied to other types of simulations. Specifically, in the illustrated example, the tabular assumption checker UI (which can be implemented using a system very similar to that described herein, and which can operate within such a system) is for fluid simulations. As noted in the figure, the concept of assumption checkers is applicable to any physics-based simulation software implementation where assumptions are made to gain some advantage (e.g., reduced computational cost, and / or simplification of the problem when the overall physical processes of the problem are not fully understood). Examples of physical domains to which these concepts can be applied include, but are not limited to, fluid, electromagnetism, motion simulation, heat transfer, dynamics (linear and nonlinear), and frequency extraction. The illustrated table shows linear metrics for fluid simulations, which, according to the illustrated example, include boiling risk, Reynolds number, Mach number, and Nusselt number. These are linear metrics that may be considered important for these types of simulations.

[0101] Figure 19 shows an exemplary object at different stages of exposure to stress and strain over time, along with plots of stress and strain adjacent to the object.

[0102] This object is a real-world object that is exposed to real-world stresses and experiences real-world strains as a result of those applied stresses. Alternatively, this object can be represented by a computer-implemented model that is exposed to stresses in a computer-implemented simulation and presents the associated strains through the application of computer-implemented analysis. This object has tabs at opposite ends that are connected to each other by a slender neck having an initial length (L0) and initial cross-sectional area (A0). The sequence of object images shows that the slender neck stretches over time, eventually experiencing constriction, and then fractures when the cross-sectional area shrinks to the fracture area (Af). The relationship between the applied stress and the strain experienced by the object is mapped to a stress-versus-strain plot. From this plot, it can be seen that in the first image, the object can experience elastic strain and elastic deformation. During this phase, as shown in the plot, Young's modulus is equal to the slope of the stress-strain curve. This means that the applied stress continues until it reaches the yield strength of the object (e.g., the neck portion of the object). Subsequently, once this yield strength is exceeded, the object begins to experience uniform plastic deformation. This continues until the applied stress reaches the ultimate tensile strength of the object (e.g., its neck portion), where necking begins. After that, the object experiences heterogeneous plastic deformation, with the stress beginning to decrease while the strain continues to increase until the object finally fractures. Linear analysis is effective in predicting the behavior of an object in terms of stress-strain in the elastic deformation / elastic strain portion of the stress-strain curve because, as shown, the stress-strain curve in that portion of the plot is substantially linear.

[0103] Numerous embodiments of this invention have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the invention.

[0104] For example, while certain inputs and components for the systems and techniques disclosed herein may be provided by specific expert applications, users of static analysis studies or linear structure validation may not have the data or plots necessary to evaluate all three assumptions of linearity.

[0105] The assumption checker may evaluate pass / fail / warning status based on a number of existing simulation outputs and plots. In an exemplary implementation, the system may rely at least in part on the following: namely, the CSL_normalized output in Abaqus, or existing SOLIDWORKS simulation methodologies for evaluating large deformations, such as those documented on the SOLIDWORKS website (e.g., help.SOLIDWORKS.com / 2013 / english / SOLIDWORKS / cworks / c_large_displacement_solution.htm?verRedirect=1).

[0106] The systems and techniques disclosed herein relate to simulation. Some of the implementations disclosed herein specifically relate to linear structural analysis. The automated evaluation of simulation results to understand whether assumptions have been violated is extendable to all other disciplines of physics (fluid dynamics, electromagnetism, etc.) relating to linear and nonlinear analysis. For example, any simulation using 3DS products may inherit a similar assumption checker. The basic premise is to automatically check the simulation results against known limits of the assumptions and evaluate whether the simulation results comply with the aforementioned assumptions. These approaches can also be extended to the evaluation of fundamental assumptions involved in other domains of physical simulation, such as fluid dynamics and electromagnetism.

[0107] The solutions disclosed herein provide a non-binary evaluation and use a [Pass | Fail | Warning] status indicator to assess violations of linear assumptions. The information provided to the user helps the user specifically identify whether any linearity assumptions have been violated, as part of evaluating the accuracy of the results. It should be noted that even if a given simulation passes all linear assumption checks, it remains the user's responsibility to perform mesh convergence studies, evaluate stress singularities, etc., to assess the reliability and accuracy of the results.

[0108] In various implementations, once a particular simulation metric is identified as violating (or potentially violating) the linear assumption, the user may have a variety of options. These may include accepting the violation, modifying the object, adjusting parameters in the linear analysis (e.g., applied loads or boundary conditions), or performing a nonlinear analysis on at least the affected elements of the model (or on all of the model).

[0109] In various implementations, the computer components disclosed herein (e.g., applications, design tools, etc.) may be implemented by one or more computer-based processors (hereinafter referred to as processors) that execute computer-readable instructions stored on a non-temporary computer-readable medium to perform associated computer-based functionality (e.g., functionality disclosed herein that belongs to a computer). One or more computer-based processors can be virtually any type of computer-based processor and may be contained within a single enclosure or distributed in different locations, and the non-temporary computer-readable medium may be one or more of various different computer-based hardware memory / storage devices, either contained within a single enclosure or distributed in different locations, or may include one or more such devices.

[0110] Certain functionalities are described herein as being accessible or activated by the user selecting an on-screen button or similar. This should be broadly interpreted to include any visible and user-selectable element, or any other user-interactive element of any kind.

[0111] The systems and techniques disclosed herein can be implemented in a number of different ways. In one exemplary implementation, the systems and techniques disclosed herein can be incorporated into the SIMULIA® computer program, which is available as part of the 3DEXPERIENCE® platform from Dassault Systèmes. In various implementations, the systems and techniques can be deployed in other ways.

[0112] Various aspects of the subject matter disclosed herein can be implemented in digital electronic circuits, or in computer-based software, firmware, or hardware, or in combination thereof, including the structures disclosed herein and / or their structural equivalents. In some embodiments, the subject matter disclosed herein can be implemented in one or more modules of computer program instructions encoded on a computer storage medium for execution by one or more computer programs, i.e., one or more data processing devices (e.g., processors), or for controlling the operation of one or more data processing devices (e.g., processors). Alternatively or additionally, the program instructions can be encoded on artificially generated propagating signals, e.g., machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information to be transmitted to a suitable receiving device and executed by a data processing device. The computer storage medium may be, or may be, a computer-readable storage device, a computer-readable storage board, a random-access or serial-access memory array or device, or a combination thereof. Computer storage media should not be considered solely as propagating signals, but they can be the source or destination of computer program instructions encoded within artificially generated propagating signals. Computer storage media can be one or more separate physical components or media, such as multiple CDs, computer disks, and / or other storage devices, or they can be contained within them.

[0113] The specific operations described in this specification (e.g., those attributable to a computer) may be implemented as operations performed by a data processing device (e.g., a processor / specially programmed processor / computer) on data stored in one or more computer-readable storage devices or received from other sources such as computer systems and / or network environments described herein. The term “processor” (etc.) encompasses all kinds of devices, machines, and apparatus for processing data, including, for example, programmable processors, computers, systems on chips, or several or combinations of the foregoing. Such apparatus may include special-purpose logic circuits, such as FPGAs (field-programmable gate arrays) or ASICs (application-specific integrated circuits). In addition to hardware, such apparatus may also include code that constitutes an execution environment for the computer program in question, such as processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or code that constitutes one or more of these. Such apparatus and execution environments can realize a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0114] This specification contains many specific implementation details, which should be interpreted not as limitations on the scope of any invention or the scope of the claims, but rather as descriptions of features specific to particular embodiments of a particular invention. Specific features in the context of individual embodiments described herein may be implemented in combination within a single embodiment. Conversely, various features described in the context of a single embodiment may be implemented individually or in any preferred subcombination in multiple embodiments. Furthermore, although features are described above as acting in a particular combination and may initially be claimed as such, one or more features from a claimed combination may, in some cases, be removed from that combination, and the claimed combination may cover subcombinations or variations of subcombinations.

[0115] Similarly, while operations may be described in this specification as occurring in a particular order or manner, this should not be understood as requiring such operations to be performed in a specific or sequential order, or to perform all illustrated operations, in order to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0116] Other implementations are within the scope of the claims.

Claims

1. A computer-based method, Receiving data indicating whether each of the multiple linear metrics generated by the linear analysis of the computer implementation model in the computer implementation simulation is accurate with respect to the linear assumptions in the model, Displaying multiple status icons on a graphical user interface, wherein each status icon is visually associated with a corresponding linear metric from among the multiple linear metrics and a corresponding model element from among the multiple model elements that make up the computer implementation model, and each of the multiple model elements is displayed on the graphical user interface in a manner that represents the hierarchical model structure of the model elements within the computer implementation model, and the display of multiple status icons is such that Includes, Each status icon provides a visual indication of whether the corresponding linear metric among the multiple linear metrics for the corresponding model element among the multiple model elements generated by the linear analysis of the computer implementation model in the computer implementation simulation violated any of the linear analysis assumptions. method.

2. The computer-based method according to claim 1, wherein displaying the plurality of status icons on the graphical user interface is equivalent to displaying the hierarchical model structure, and the hierarchical model structure is displayed as an on-screen visual representation in which the plurality of model elements are arranged in a nested array according to their respective relationships within the hierarchical model structure, and each model element represents a product structure, shape, or body in the computer implementation model.

3. The computer-based method according to claim 2, wherein the computer implementation model comprises one or more product structures, each of the product structures comprises one or more shapes, and each of the shapes comprises one or more bodies.

4. The computer-based method according to claim 2, wherein the status icons are arranged in an array, and each of the status icons is visually associated with the corresponding linear metric from the plurality of linear metrics and the corresponding model element from the plurality of model elements from the computer implementation model, by the matrix position of the status icon in the array.

5. The user is made able to select one or more of the status icons displayed on the graphical user interface, In response to the user selecting a specific status icon, the graphical user interface displays at least the product structure, shape, or three-dimensional visual representation of the body corresponding to the selected status icon. The computer-based method according to claim 2, further comprising:

6. The computer-based method according to claim 5, wherein at least the three-dimensional visual representation of the product structure, shape, or body corresponding to the selected status icon has a visual appearance that reflects whether the selected status icon represents a violation of any of the linear analysis assumptions.

7. The computer-based method according to claim 6, wherein each of the status icons is either a pass status icon, a disqualification status icon, or a warning status icon.

8. With respect to the first linear metric among the linear metrics for the first model element of the aforementioned model elements, a pass status icon is assigned in accordance with the determination that the computer implementation simulation that generated the first linear metric was performed without violating any of the linear analysis assumptions. With respect to the second linear metric of the linear metrics for the second model element of the aforementioned model elements, a disqualification status icon is assigned in accordance with the determination that the computer implementation simulation that generated the second linear metric was performed in a manner that violated one or more of the linear analysis assumptions. It further includes, The passing status icon has a different visual appearance on the graphical user interface from the disqualification status icon. The computer-based method according to claim 7.

9. With respect to the third linear metric of the linear metrics for the third model element of the aforementioned model elements, a warning status icon is assigned in accordance with the determination that the computer implementation simulation that generated the third linear metric was performed in a manner that does not satisfy the criteria for assigning a pass status icon or a fail status icon. The computer-based method according to claim 8, further comprising:

10. The product structure, shape, or visual representation of the body corresponding to the selected status icon appears as part of the computer implementation model and is shown on the graphical user interface with a first style appearance. Other parts of the computer implementation model that do not correspond to the selected status icon are visually represented on the graphical user interface with a second style of appearance on the graphical user interface. The appearance of the first style is visually different from the appearance of the second style. The computer-based method according to claim 6.

11. The computer-based method according to claim 10, wherein the computer implementation model is displayed on the graphical user interface simultaneously with and adjacent to the table containing all of the status icons.

12. The computer-based method according to claim 1, wherein the computer implementation simulation is a linear static structural simulation, and the analysis assumptions are stored in computer memory and are based on the assumptions that 1) the material involved in the computer implementation simulation is linearly elastic and does not have material nonlinearity, 2) the displacement and rotation do not exceed predetermined thresholds, and 3) the amount of contact slip does not exceed predetermined thresholds.

13. The computer-based method according to claim 12, wherein the linear metric is yield, strain, sliding, and displacement.

14. To display a comprehensive status icon on the graphical user interface for each of the multiple model elements in the hierarchical model structure of the computer implementation model, It further includes, Each of the aforementioned comprehensive status icons identifies a linear analysis assumption compliance status corresponding to the worst of the corresponding linear metrics for the associated model element among the multiple model elements, from the perspective of compliance with the linear analysis assumptions, and has a visual appearance that reflects the linear analysis assumption compliance status. The computer-based method according to claim 13.

15. The computer-based method according to claim 1, wherein the computer implementation simulation is based on a simulation model that represents a real-world scenario in which the product represented by the computer-based model is exposed to various environmental boundary conditions when the computer implementation simulation is executed.

16. It is a computer, Computer processors and A computer-based memory operably coupled to the aforementioned computer processor, The computer-based memory is provided, and when the computer processor executes, the computer, Receiving data indicating whether each of the multiple linear metrics generated by the linear analysis of the computer implementation model in the computer implementation simulation represents a violation of any of the linear analysis assumptions, Displaying a plurality of status icons on the graphical user interface of the computer, wherein each status icon is visually associated with a corresponding linear metric from among the plurality of linear metrics and a corresponding model element from among the plurality of model elements that make up the computer implementation model, and each of the plurality of model elements is displayed on the graphical user interface in a manner that represents the hierarchical model structure of the model elements in the computer implementation model, and the plurality of status icons are displayed accordingly. It stores computer-readable instructions that execute, Each status icon provides a visual indication of whether the corresponding linear metric among the multiple linear metrics for the corresponding model element of the computer implementation model generated by the linear analysis of the computer implementation model in the computer implementation simulation violated any of the linear analysis assumptions. computer.

17. A non-temporary computer-readable medium storing computer-readable instructions, wherein when the computer-readable instructions are executed by a computer-based processor, the computer-based processor receives the instructions. Receiving data indicating whether each of the multiple linear metrics generated by the linear analysis of the computer implementation model in the computer implementation simulation represents a violation of any of the linear analysis assumptions, Displaying a plurality of status icons on the graphical user interface of the computer, wherein each status icon is visually associated with a corresponding linear metric from among the plurality of linear metrics and a corresponding model element from among the plurality of model elements that make up the computer implementation model, and each of the plurality of model elements is displayed on the graphical user interface in a manner that represents the hierarchical model structure of the model elements in the computer implementation model, and the plurality of status icons are displayed accordingly. Make it run, Each status icon provides a visual indication of whether the corresponding linear metric among the multiple linear metrics for the corresponding model element of the computer implementation model generated by the linear analysis of the computer implementation model in the computer implementation simulation violated any of the linear analysis assumptions. Non-temporary computer-readable media.