[go: up one dir, main page]

WO2020055659A1 - Generation and utilization of self-improving data-driven models with selective simulation of 3d object design - Google Patents

Generation and utilization of self-improving data-driven models with selective simulation of 3d object design Download PDF

Info

Publication number
WO2020055659A1
WO2020055659A1 PCT/US2019/049714 US2019049714W WO2020055659A1 WO 2020055659 A1 WO2020055659 A1 WO 2020055659A1 US 2019049714 W US2019049714 W US 2019049714W WO 2020055659 A1 WO2020055659 A1 WO 2020055659A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
engine
design
design point
surrogate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2019/049714
Other languages
French (fr)
Inventor
Lucia MIRABELLA
Sanjeev SRIVASTAVA
Suraj Ravi MUSUVATHY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Publication of WO2020055659A1 publication Critical patent/WO2020055659A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • This application relates to simulations for computer aided design of three dimensional (3D) objects. More particularly, this application relates to data-driven models for selectively bypassing design simulations of 3D objects.
  • the process of designing 3D objects often involves the use of simulation tools to evaluate the performance of the physical object before the design is finalized and/or manufactured. For example, simulation can predict whether the designed object possesses physical characteristics that can withstand particular stresses or other criteria upon fabrication. While 3D simulation is advantageous, it is a costly process in time consumed for computational processing involved. For example, a complex CAD simulation can take several days to execute, which can be a significant loss if the simulation fails. With a trial and error approach, many simulations result in failure (e.g., the simulation at a particular design point results in a fault termination or results in a design that fails to meet target performance metrics). In other cases, the runtime for multiple simulations required to derive the optimum design point exceeds practicality or reasonable expectations. Hence, it is desirable to have a faster way of computing key performance indicators for a particular design with accuracy.
  • Typical solutions include using engineering experience acquired by experts in the field to identify which design points are more likely to be successful and can lead to good performance, limiting the number of design points to evaluate, or utilizing massive computing power to perform all the simulations necessary to identify the most desirable design.
  • a technical solution is provided to improve a CAD system operation by applying a two-stage screening of design points before performing heavy processing for high fidelity simulation of 3D objects.
  • a machine learning-based classifier e.g., a neural network classifier
  • a predicted failure by the classifier can "short circuit" the simulation to allow a new design point to be selected for evaluation.
  • a machine learning-based surrogate model e.g., a neural network surrogate model
  • the classifier and surrogate model are trained and are self-improving during initial rounds of simulations, taking results of the simulations as training inputs.
  • the improved CAD system is more robust and reliable by selectively performing simulations for design points, drastically reducing simulation failures and wasted processing time, which can be as high as multiple days lost by a simulation failure.
  • FIG. 1 shows an example of a computer aided design system according to embodiments of this disclosure
  • FIG. 2 shows a flowchart example of a self-improving data driven process for generation of simulation models with selective simulation according to embodiments of this disclosure
  • FIG. 3 shows an example of a computing environment within which embodiments of this disclosure may be implemented.
  • a technical solution is provided to improve a CAD system operation by applying a two-stage screening of design points before performing heavy processing for high fidelity simulation of 3D objects.
  • a machine learning-based classifier can predict if a given design point can be successfully be simulated by the CAD system.
  • a predicted failure by the classifier can "short circuit" the simulation to allow a new design point to be selected for evaluation.
  • a machine learning-based surrogate model can predict simulation results to bypass the costly simulation process.
  • the classifier and surrogate model are trained and are self- improving during initial rounds of simulations, taking results of the simulations as training inputs.
  • the improved CAD system is more robust and reliable by selectively performing simulations for design points, drastically reducing simulation failures and wasted processing time, which can be as high as multiple days lost by a simulation failure.
  • FIG. 1 shows an example of a computer aided design system according to embodiments of this disclosure.
  • a computer aided design (CAD) system 100 includes a processor 120 used to execute programs stored in memory 1 10, which include a classifier engine 1 1 1 , a surrogate model engine 1 12, one or more confidence engines 1 13, simulation engine 1 14, and analyzer 1 15.
  • CAD computer aided design
  • a machine learning-based classifier engine 1 1 1 may be trained to classify a design point for a simulation as a successful design point or an unsuccessful design point as to whether a simulation will be successfully completed without error if the design point is applied.
  • classifier engine 1 1 1 may be configured to include a neural network (e.g., a deep neural network (DNN), artificial neural network (ANN), convolutional neural network (CNN), recursive neural network (RNN)), which may be trained for classification.
  • DNN deep neural network
  • ANN artificial neural network
  • CNN convolutional neural network
  • RNN recursive neural network
  • Other forms of machine learning may be deployed for classifier engine 1 1 1 , including supervised learning algorithms, unsupervised learning algorithms, feature learning algorithms, decision-tree learning algorithms, or rule-learning algorithms.
  • Classifier engine 1 1 1 may apply a classification for the design point to predict whether a simulation will result in computed key performance indicator (KPI) values useful for measuring the success of the design simulation, or whether the simulation would instead result in a failed simulation that does not produce an expected output. Classifier engine 1 1 1 may also predict which type of prediction is best to perform for a given design point (e.g., a surrogate model, a reduced order (e.g., low fidelity) model, a high-fidelity 3D model). Training of the classifier engine 1 1 1 may be based on prior simulation output data, as will be described below in greater detail.
  • KPI computed key performance indicator
  • a machine learning-based surrogate engine 1 12 may be trained as a representation of a surrogate model to predict simulation results for a given design point, without having to perform the expensive simulation.
  • surrogate engine 1 12 may be configured to include a neural network (e.g., DNN, ANN, CNN, RNN or residual neural network (ResNet)), which may be trained for prediction.
  • Other forms of machine learning may be deployed for surrogate engine 1 12, including supervised learning algorithms, unsupervised learning algorithms, feature learning algorithms, decision-tree learning algorithms, or rule-learning algorithms.
  • surrogate engine 1 12 may predict KPI values corresponding to the given design point, without running an actual simulation. Training of the of surrogate engine 1 12 may be based on prior simulation output data, as will be described below in greater detail.
  • the one or more confidence engines 1 13 may be configured to perform algorithmic evaluation of a given design point as a preliminary screening of a given design point to predict whether the classifier engine 1 1 1 is ready to successfully classify the design point. For example, a confidence score may be generated by the confidence engine 1 13 to predict successful simulation for the design point. In an embodiment, the confidence score is based on the number of training inputs processed by the classifier compared to a minimum threshold.
  • the one or more confidence engines 1 13 may also include algorithms to generate a confidence score for the design point with respect to results to be predicted by the surrogate engine 1 12 for deciding whether a surrogate model can reliably give simulation results for bypassing the simulation, or a full simulation should be run on the design point instead.
  • Confidence engine 1 13 may implement a statistical model (e.g., a Bayesian model) or rule-based algorithms for determining a confidence score.
  • Simulation engine 1 14 includes application programs for generating a simulation for an object and/or system design, such as a high-fidelity simulation of a 3D object.
  • a 3D pipe with various performance parameters multiple point fluid velocities, temperatures, densities
  • physical parameters pipe dimensions, material properties, external forces, environmental conditions
  • Analyzer engine 1 15 reads the output of the simulation engine 1 14 or surrogate engine 1 15 to determine success or failure of a design point measured by key performance indicator (KPI) values. For example, KPI values may meet or exceed predefined metrics for a successful design.
  • KPI key performance indicator
  • analyzer 1 15 sends the data from design point analysis to classifier engine 1 1 1 as a training input for strengthening the classifier model.
  • Analyzer 1 15 also triggers KPI values, and the corresponding input data, of a successful simulation to be sent to surrogate engine 1 12 as training input for a surrogate model.
  • Analyzer engine 1 15 monitors design point evaluations to determine when to conclude a series of design point evaluations based on achievement optimal design or upper limit of total elapsed time being reached.
  • FIG. 2 shows a flowchart example of a self-improving data driven process for generation of simulation models with selective simulation according to the embodiments of this disclosure.
  • a design point 21 1 is initially obtained for evaluation by process 200 and may be a parametric representation of a 3D object, a system, or a combination of both.
  • Confidence engine 1 13 executes a classifier query 212 to determine the presence of a suitable classifier type in the classifier engine 1 1 1 . If the classifier presence is detected, confidence engine 1 13 performs a confidence evaluation 213 to determine whether the classifier has been adequately trained to reach a desired level of confidence for a given domain or use case associated with the design point.
  • classifier engine 1 1 1 runs a classifier objective function for the design point 21 1.
  • prediction 240 by classifier engine 1 1 1 may determine which type of simulation is most appropriate to run for the design point 21 1. If prediction 240 determines that a simulation will be unsuccessful, the process 200 is halted for the current design point 21 1 , and a new design point generation 214 is executed.
  • KPI evaluation 214 for design point 21 1 is triggered by the confidence engine 1 13 determining inadequate training of classifier at test 213 or the classifier engine 1 1 1 predicting a successful simulation at test 215.
  • confidence engine 1 13 performs a surrogate model query 216 of surrogate engine 1 12 to identify presence of a surrogate model for predicting a simulation for the design point 21 1 . If a surrogate model is present, confidence engine 1 13 may perform a confidence evaluation 217 to determine whether the surrogate model has been adequately trained to reach a desired level of confidence for a given domain or use case associated with the design point.
  • the confidence engine 1 13 On the condition that the confidence score is favorable (e.g., equal to or greater than a predefined value), the confidence engine 1 13 triggers the surrogate engine 1 12 to run surrogate model 219 to compute KPI values for the design point 21 1 . On a condition that the confidence score is not favorable at evaluation 217, confidence engine 1 13 triggers the simulation engine 1 14 to run a simulation 218 for the design point 21 1 .
  • the success or failure result 220 of simulation run 218 or surrogate model run 219 is evaluated by analyzer 1 15. On a condition that a simulation or surrogate modeling run was unsuccessful, the current design point evaluation ends, and a new design point generation 241 is triggered by analyzer 1 15. If simulation 218 was successful, or if surrogate modeling 219 was successful, analyzer 1 15 sends design input 21 1 to classifier engine 1 1 1 as training input to train classifier 223 for a classifier model 233.
  • Analyzer 1 15 performs KPI origin test 226, where on a condition that KPIs were generated by a simulation 218, analyzer 1 15 triggers KPIs of the successful simulation to be sent to surrogate engine 1 12 as training input 227 for a surrogate model 237. If the KPIs were generated by the surrogate model run 219, then analyzer 1 15 terminates the design point evaluation, and triggers a new design point generation 241 .
  • Analyzer engine 1 15 monitors design point evaluations to perform an end of design study test 224 based on achievement of an optimal design 225 or upper limit of total elapsed time being reached. Analyzer engine 1 15 may determine an optimal design 225 based on convergence of KPI values for a series of evaluated design points 21 1 . If analyzer 1 15 determines the design study has concluded, the optimal design point is extracted from all evaluated design points and saved as the optimal design 235 for the CAD system. Otherwise, the analyzer 1 15 triggers a new design point generation 241 for the next KPI evaluation cycle for the design study using the next design point 21 1 .
  • FIG. 3 illustrates an example of a computing environment within which embodiments of the present disclosure may be implemented.
  • a computing environment 300 includes a computer system 310 that may include a communication mechanism such as a system bus 321 or other communication mechanism for communicating information within the computer system 310.
  • the computer system 310 further includes one or more processors 320 coupled with the system bus 321 for processing the information.
  • computing environment 300 corresponds to a CAD system, in which the computer system 310 relates to a computer described below in greater detail.
  • the processors 320 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as described herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device.
  • CPUs central processing units
  • GPUs graphical processing units
  • a processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer.
  • a processor may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a Reduced Instruction Set Computer (RISC) microprocessor, a Complex Instruction Set Computer (CISC) microprocessor, a microcontroller, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a System-on-a-Chip (SoC), a digital signal processor (DSP), and so forth.
  • RISC Reduced Instruction Set Computer
  • CISC Complex Instruction Set Computer
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • SoC System-on-a-Chip
  • DSP digital signal processor
  • the processor(s) 320 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like.
  • the microarchitecture design of the processor may be capable of supporting any of a variety of instruction sets.
  • a processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between.
  • a user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof.
  • a user interface comprises one or more display images enabling user interaction with a processor or other device.
  • the system bus 321 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the computer system 310.
  • the system bus 321 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth.
  • the system bus 321 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnects (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • AGP Accelerated Graphics Port
  • PCI Peripheral Component Interconnects
  • PCMCIA Personal Computer Memory Card International Association
  • USB Universal Serial Bus
  • the computer system 310 may also include a system memory 330 coupled to the system bus 321 for storing information and instructions to be executed by processors 320.
  • the system memory 330 may include computer readable storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 331 and/or random access memory (RAM) 332.
  • the RAM 332 may include other dynamic storage device(s) (e.g., dynamic RAM, static RAM, and synchronous DRAM).
  • the ROM 331 may include other static storage device(s) (e.g., programmable ROM, erasable PROM, and electrically erasable PROM).
  • system memory 330 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processors 320.
  • a basic input/output system 333 (BIOS) containing the basic routines that help to transfer information between elements within computer system 310, such as during start-up, may be stored in the ROM 331.
  • RAM 332 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by the processors 320.
  • System memory 330 may additionally include, for example, operating system 334, application modules 335, and other program modules 336.
  • Application modules 335 may include aforementioned modules described for FIG. 1 and may also include a user portal for development of the application program, allowing input parameters to be entered and modified as necessary.
  • the operating system 334 may be loaded into the memory 330 and may provide an interface between other application software executing on the computer system 310 and hardware resources of the computer system 310. More specifically, the operating system 334 may include a set of computer-executable instructions for managing hardware resources of the computer system 310 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). In certain example embodiments, the operating system 334 may control execution of one or more of the program modules depicted as being stored in the data storage 340.
  • the operating system 334 may include any operating system now known or which may be developed in the future including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non- proprietary operating system.
  • the computer system 310 may also include a disk/media controller 343 coupled to the system bus 321 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 341 and/or a removable media drive 342 (e.g., floppy disk drive, compact disc drive, tape drive, flash drive, and/or solid state drive).
  • Storage devices 340 may be added to the computer system 310 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire).
  • Storage devices 341 , 342 may be external to the computer system 310.
  • the computer system 310 may include a user input interface or graphical user interface (GUI) 361 , which may comprise one or more input devices, such as a keyboard, touchscreen, tablet and/or a pointing device, for interacting with a computer user and providing information to the processors 320.
  • GUI graphical user interface
  • the computer system 310 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 320 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 330. Such instructions may be read into the system memory 330 from another computer readable medium of storage 340, such as the magnetic hard disk 341 or the removable media drive 342.
  • the magnetic hard disk 341 and/or removable media drive 342 may contain one or more data stores and data files used by embodiments of the present disclosure.
  • the data store 340 may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed data stores in which data is stored on more than one node of a computer network, peer-to-peer network data stores, or the like. Data store contents and data files may be encrypted to improve security.
  • the processors 320 may also be employed in a multi-processing arrangement to execute the one or more sequences of instructions contained in system memory 330.
  • hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
  • the computer system 310 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein.
  • the term“computer readable medium” as used herein refers to any medium that participates in providing instructions to the processors 320 for execution.
  • a computer readable medium may take many forms including, but not limited to, non- transitory, non-volatile media, volatile media, and transmission media.
  • Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 341 or removable media drive 342.
  • Non-limiting examples of volatile media include dynamic memory, such as system memory 330.
  • Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 321 .
  • Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
  • Computer readable medium instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
  • the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • electronic circuitry including, for example, programmable logic circuitry, field- programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
  • the computing environment 300 may further include the computer system 310 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 373 and remote agents 381.
  • the network interface 370 may enable communication, for example, with other remote devices 373 or systems and/or the storage devices 341 , 342 via the network 371 .
  • Remote computing device 373 may be a person5al computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 310.
  • computer system 310 may include modem 372 for establishing communications over a network 371 , such as the Internet. Modem 372 may be connected to system bus 321 via user network interface 370, or via another appropriate mechanism.
  • Network 371 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 310 and other computers (e.g., remote computing device 373).
  • the network 371 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art.
  • Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 371 .
  • program modules, applications, computer- executable instructions, code, or the like depicted in FIG. 3 as being stored in the system memory 330 are merely illustrative and not exhaustive and that processing described as being supported by any particular module may alternatively be distributed across multiple modules or performed by a different module.
  • various program module(s), script(s), plug-in(s), Application Programming Interface(s) (API(s)), or any other suitable computer-executable code hosted locally on the computer system 310, the remote device 373, and/or hosted on other computing device(s) accessible via one or more of the network(s) 371 may be provided to support functionality provided by the program modules, applications, or computer-executable code depicted in FIG.
  • functionality may be modularized differently such that processing described as being supported collectively by the collection of program modules depicted in FIG. 3 may be performed by a fewer or greater number of modules, or functionality described as being supported by any particular module may be supported, at least in part, by another module.
  • program modules that support the functionality described herein may form part of one or more applications executable across any number of systems or devices in accordance with any suitable computing model such as, for example, a client-server model, a peer-to-peer model, and so forth.
  • any of the functionality described as being supported by any of the program modules depicted in FIG. 3 may be implemented, at least partially, in hardware and/or firmware across any number of devices.
  • the computer system 310 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the computer system 310 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program modules have been depicted and described as software modules stored in system memory 330, it should be appreciated that functionality described as being supported by the program modules may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned modules may, in various embodiments, represent a logical partitioning of supported functionality.
  • This logical partitioning is depicted for ease of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other modules. Further, one or more depicted modules may not be present in certain embodiments, while in other embodiments, additional modules not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain modules may be depicted and described as sub- modules of another module, in certain embodiments, such modules may be provided as independent modules or as sub-modules of other modules.
  • any operation, element, component, data, or the like described herein as being based on another operation, element, component, data, or the like can be additionally based on one or more other operations, elements, components, data, or the like. Accordingly, the phrase“based on,” or variants thereof, should be interpreted as “based at least in part on.”
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the Figures.
  • two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Methods and systems are disclosed for computer aided design using self-improving data-driven models with selective simulation of a three-dimensional object design. A simulation engine executes a three-dimensional simulation of a designed object for a design point. A classifier engine executes a first neural network to predict whether the design point for a 3D simulation will successfully be executed by the 3D simulation engine to produce a computed key performance indicator (KPI) value. A surrogate model engine executes a second neural network representation of a surrogate model to compute KPI values corresponding to a new design point while bypassing a simulation by the simulation engine.

Description

GENERATION AND UTILIZATION OF SELF-IMPROVING
DATA-DRIVEN MODELS WITH SELECTIVE SIMULATION OF 3D OBJECT DESIGN
TECHNICAL FIELD
[0001] This application relates to simulations for computer aided design of three dimensional (3D) objects. More particularly, this application relates to data-driven models for selectively bypassing design simulations of 3D objects.
BACKGROUND
[0002] The process of designing 3D objects often involves the use of simulation tools to evaluate the performance of the physical object before the design is finalized and/or manufactured. For example, simulation can predict whether the designed object possesses physical characteristics that can withstand particular stresses or other criteria upon fabrication. While 3D simulation is advantageous, it is a costly process in time consumed for computational processing involved. For example, a complex CAD simulation can take several days to execute, which can be a significant loss if the simulation fails. With a trial and error approach, many simulations result in failure (e.g., the simulation at a particular design point results in a fault termination or results in a design that fails to meet target performance metrics). In other cases, the runtime for multiple simulations required to derive the optimum design point exceeds practicality or reasonable expectations. Hence, it is desirable to have a faster way of computing key performance indicators for a particular design with accuracy.
[0003] Typical solutions include using engineering experience acquired by experts in the field to identify which design points are more likely to be successful and can lead to good performance, limiting the number of design points to evaluate, or utilizing massive computing power to perform all the simulations necessary to identify the most desirable design.
SUMMARY
[0004] Methods and systems are disclosed for generation and utilization of self- improving data-driven models with selective simulation of 3D object design. A technical solution is provided to improve a CAD system operation by applying a two-stage screening of design points before performing heavy processing for high fidelity simulation of 3D objects. A machine learning-based classifier (e.g., a neural network classifier) can predict if a given design point can be successfully be simulated by the CAD system. A predicted failure by the classifier can "short circuit" the simulation to allow a new design point to be selected for evaluation. A machine learning-based surrogate model (e.g., a neural network surrogate model) can predict simulation results to bypass the costly simulation process. The classifier and surrogate model are trained and are self-improving during initial rounds of simulations, taking results of the simulations as training inputs. The improved CAD system is more robust and reliable by selectively performing simulations for design points, drastically reducing simulation failures and wasted processing time, which can be as high as multiple days lost by a simulation failure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:
FIG. 1 shows an example of a computer aided design system according to embodiments of this disclosure;
FIG. 2 shows a flowchart example of a self-improving data driven process for generation of simulation models with selective simulation according to embodiments of this disclosure;
and
FIG. 3 shows an example of a computing environment within which embodiments of this disclosure may be implemented.
DETAILED DESCRIPTION
[0006] Methods and systems are disclosed for generation and utilization of self- improving data-driven models with selective simulation of 3D object design. A technical solution is provided to improve a CAD system operation by applying a two-stage screening of design points before performing heavy processing for high fidelity simulation of 3D objects. A machine learning-based classifier can predict if a given design point can be successfully be simulated by the CAD system. A predicted failure by the classifier can "short circuit" the simulation to allow a new design point to be selected for evaluation. A machine learning-based surrogate model can predict simulation results to bypass the costly simulation process. The classifier and surrogate model are trained and are self- improving during initial rounds of simulations, taking results of the simulations as training inputs. The improved CAD system is more robust and reliable by selectively performing simulations for design points, drastically reducing simulation failures and wasted processing time, which can be as high as multiple days lost by a simulation failure.
[0007] FIG. 1 shows an example of a computer aided design system according to embodiments of this disclosure. A computer aided design (CAD) system 100 includes a processor 120 used to execute programs stored in memory 1 10, which include a classifier engine 1 1 1 , a surrogate model engine 1 12, one or more confidence engines 1 13, simulation engine 1 14, and analyzer 1 15.
[0008] In an embodiment, a machine learning-based classifier engine 1 1 1 may be trained to classify a design point for a simulation as a successful design point or an unsuccessful design point as to whether a simulation will be successfully completed without error if the design point is applied. For example, classifier engine 1 1 1 may be configured to include a neural network (e.g., a deep neural network (DNN), artificial neural network (ANN), convolutional neural network (CNN), recursive neural network (RNN)), which may be trained for classification. Other forms of machine learning may be deployed for classifier engine 1 1 1 , including supervised learning algorithms, unsupervised learning algorithms, feature learning algorithms, decision-tree learning algorithms, or rule-learning algorithms. Classifier engine 1 1 1 may apply a classification for the design point to predict whether a simulation will result in computed key performance indicator (KPI) values useful for measuring the success of the design simulation, or whether the simulation would instead result in a failed simulation that does not produce an expected output. Classifier engine 1 1 1 may also predict which type of prediction is best to perform for a given design point (e.g., a surrogate model, a reduced order (e.g., low fidelity) model, a high-fidelity 3D model). Training of the classifier engine 1 1 1 may be based on prior simulation output data, as will be described below in greater detail.
[0009] In an embodiment, a machine learning-based surrogate engine 1 12 may be trained as a representation of a surrogate model to predict simulation results for a given design point, without having to perform the expensive simulation. For example, surrogate engine 1 12 may be configured to include a neural network (e.g., DNN, ANN, CNN, RNN or residual neural network (ResNet)), which may be trained for prediction. Other forms of machine learning may be deployed for surrogate engine 1 12, including supervised learning algorithms, unsupervised learning algorithms, feature learning algorithms, decision-tree learning algorithms, or rule-learning algorithms. In an embodiment, surrogate engine 1 12 may predict KPI values corresponding to the given design point, without running an actual simulation. Training of the of surrogate engine 1 12 may be based on prior simulation output data, as will be described below in greater detail.
[0010] The one or more confidence engines 1 13 may be configured to perform algorithmic evaluation of a given design point as a preliminary screening of a given design point to predict whether the classifier engine 1 1 1 is ready to successfully classify the design point. For example, a confidence score may be generated by the confidence engine 1 13 to predict successful simulation for the design point. In an embodiment, the confidence score is based on the number of training inputs processed by the classifier compared to a minimum threshold. The one or more confidence engines 1 13 may also include algorithms to generate a confidence score for the design point with respect to results to be predicted by the surrogate engine 1 12 for deciding whether a surrogate model can reliably give simulation results for bypassing the simulation, or a full simulation should be run on the design point instead. Confidence engine 1 13 may implement a statistical model (e.g., a Bayesian model) or rule-based algorithms for determining a confidence score.
[0011] Simulation engine 1 14 includes application programs for generating a simulation for an object and/or system design, such as a high-fidelity simulation of a 3D object. For example, a 3D pipe with various performance parameters (multiple point fluid velocities, temperatures, densities) and physical parameters (pipe dimensions, material properties, external forces, environmental conditions) may be simulated to predict key performance indicators to measure success of a given design point.
[0012] Analyzer engine 1 15 reads the output of the simulation engine 1 14 or surrogate engine 1 15 to determine success or failure of a design point measured by key performance indicator (KPI) values. For example, KPI values may meet or exceed predefined metrics for a successful design. Upon a successful design point evaluation, analyzer 1 15 sends the data from design point analysis to classifier engine 1 1 1 as a training input for strengthening the classifier model. Analyzer 1 15 also triggers KPI values, and the corresponding input data, of a successful simulation to be sent to surrogate engine 1 12 as training input for a surrogate model. Analyzer engine 1 15 monitors design point evaluations to determine when to conclude a series of design point evaluations based on achievement optimal design or upper limit of total elapsed time being reached.
[0013] FIG. 2 shows a flowchart example of a self-improving data driven process for generation of simulation models with selective simulation according to the embodiments of this disclosure. A design point 21 1 is initially obtained for evaluation by process 200 and may be a parametric representation of a 3D object, a system, or a combination of both. Confidence engine 1 13 executes a classifier query 212 to determine the presence of a suitable classifier type in the classifier engine 1 1 1 . If the classifier presence is detected, confidence engine 1 13 performs a confidence evaluation 213 to determine whether the classifier has been adequately trained to reach a desired level of confidence for a given domain or use case associated with the design point. On the condition that the confidence score is satisfactory, classifier engine 1 1 1 runs a classifier objective function for the design point 21 1. The classification result may indicate a prediction 240 for simulation success (e.g., output = "1 ") or simulation failure (e.g., output = "0"). In an embodiment, prediction 240 by classifier engine 1 1 1 may determine which type of simulation is most appropriate to run for the design point 21 1. If prediction 240 determines that a simulation will be unsuccessful, the process 200 is halted for the current design point 21 1 , and a new design point generation 214 is executed.
[0014] Commencement of KPI evaluation 214 for design point 21 1 is triggered by the confidence engine 1 13 determining inadequate training of classifier at test 213 or the classifier engine 1 1 1 predicting a successful simulation at test 215. [0015] In order to determine if a simulation is required or can be bypassed with a surrogate model prediction, confidence engine 1 13 performs a surrogate model query 216 of surrogate engine 1 12 to identify presence of a surrogate model for predicting a simulation for the design point 21 1 . If a surrogate model is present, confidence engine 1 13 may perform a confidence evaluation 217 to determine whether the surrogate model has been adequately trained to reach a desired level of confidence for a given domain or use case associated with the design point. On the condition that the confidence score is favorable (e.g., equal to or greater than a predefined value), the confidence engine 1 13 triggers the surrogate engine 1 12 to run surrogate model 219 to compute KPI values for the design point 21 1 . On a condition that the confidence score is not favorable at evaluation 217, confidence engine 1 13 triggers the simulation engine 1 14 to run a simulation 218 for the design point 21 1 .
[0016] The success or failure result 220 of simulation run 218 or surrogate model run 219 is evaluated by analyzer 1 15. On a condition that a simulation or surrogate modeling run was unsuccessful, the current design point evaluation ends, and a new design point generation 241 is triggered by analyzer 1 15. If simulation 218 was successful, or if surrogate modeling 219 was successful, analyzer 1 15 sends design input 21 1 to classifier engine 1 1 1 as training input to train classifier 223 for a classifier model 233.
[0017] Analyzer 1 15 performs KPI origin test 226, where on a condition that KPIs were generated by a simulation 218, analyzer 1 15 triggers KPIs of the successful simulation to be sent to surrogate engine 1 12 as training input 227 for a surrogate model 237. If the KPIs were generated by the surrogate model run 219, then analyzer 1 15 terminates the design point evaluation, and triggers a new design point generation 241 .
[0018] Analyzer engine 1 15 monitors design point evaluations to perform an end of design study test 224 based on achievement of an optimal design 225 or upper limit of total elapsed time being reached. Analyzer engine 1 15 may determine an optimal design 225 based on convergence of KPI values for a series of evaluated design points 21 1 . If analyzer 1 15 determines the design study has concluded, the optimal design point is extracted from all evaluated design points and saved as the optimal design 235 for the CAD system. Otherwise, the analyzer 1 15 triggers a new design point generation 241 for the next KPI evaluation cycle for the design study using the next design point 21 1 . [0019] FIG. 3 illustrates an example of a computing environment within which embodiments of the present disclosure may be implemented. A computing environment 300 includes a computer system 310 that may include a communication mechanism such as a system bus 321 or other communication mechanism for communicating information within the computer system 310. The computer system 310 further includes one or more processors 320 coupled with the system bus 321 for processing the information. In an embodiment, computing environment 300 corresponds to a CAD system, in which the computer system 310 relates to a computer described below in greater detail.
[0020] The processors 320 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as described herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer. A processor may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a Reduced Instruction Set Computer (RISC) microprocessor, a Complex Instruction Set Computer (CISC) microprocessor, a microcontroller, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a System-on-a-Chip (SoC), a digital signal processor (DSP), and so forth. Further, the processor(s) 320 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like. The microarchitecture design of the processor may be capable of supporting any of a variety of instruction sets. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof. A user interface comprises one or more display images enabling user interaction with a processor or other device.
[0021] The system bus 321 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the computer system 310. The system bus 321 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth. The system bus 321 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnects (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.
[0022] Continuing with reference to FIG. 3, the computer system 310 may also include a system memory 330 coupled to the system bus 321 for storing information and instructions to be executed by processors 320. The system memory 330 may include computer readable storage media in the form of volatile and/or nonvolatile memory, such as read only memory (ROM) 331 and/or random access memory (RAM) 332. The RAM 332 may include other dynamic storage device(s) (e.g., dynamic RAM, static RAM, and synchronous DRAM). The ROM 331 may include other static storage device(s) (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 330 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processors 320. A basic input/output system 333 (BIOS) containing the basic routines that help to transfer information between elements within computer system 310, such as during start-up, may be stored in the ROM 331. RAM 332 may contain data and/or program modules that are immediately accessible to and/or presently being operated on by the processors 320. System memory 330 may additionally include, for example, operating system 334, application modules 335, and other program modules 336. Application modules 335 may include aforementioned modules described for FIG. 1 and may also include a user portal for development of the application program, allowing input parameters to be entered and modified as necessary.
[0023] The operating system 334 may be loaded into the memory 330 and may provide an interface between other application software executing on the computer system 310 and hardware resources of the computer system 310. More specifically, the operating system 334 may include a set of computer-executable instructions for managing hardware resources of the computer system 310 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). In certain example embodiments, the operating system 334 may control execution of one or more of the program modules depicted as being stored in the data storage 340. The operating system 334 may include any operating system now known or which may be developed in the future including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non- proprietary operating system.
[0024] The computer system 310 may also include a disk/media controller 343 coupled to the system bus 321 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 341 and/or a removable media drive 342 (e.g., floppy disk drive, compact disc drive, tape drive, flash drive, and/or solid state drive). Storage devices 340 may be added to the computer system 310 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire). Storage devices 341 , 342 may be external to the computer system 310.
[0025] The computer system 310 may include a user input interface or graphical user interface (GUI) 361 , which may comprise one or more input devices, such as a keyboard, touchscreen, tablet and/or a pointing device, for interacting with a computer user and providing information to the processors 320.
[0026] The computer system 310 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 320 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 330. Such instructions may be read into the system memory 330 from another computer readable medium of storage 340, such as the magnetic hard disk 341 or the removable media drive 342. The magnetic hard disk 341 and/or removable media drive 342 may contain one or more data stores and data files used by embodiments of the present disclosure. The data store 340 may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed data stores in which data is stored on more than one node of a computer network, peer-to-peer network data stores, or the like. Data store contents and data files may be encrypted to improve security. The processors 320 may also be employed in a multi-processing arrangement to execute the one or more sequences of instructions contained in system memory 330. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0027] As stated above, the computer system 310 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. The term“computer readable medium” as used herein refers to any medium that participates in providing instructions to the processors 320 for execution. A computer readable medium may take many forms including, but not limited to, non- transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 341 or removable media drive 342. Non-limiting examples of volatile media include dynamic memory, such as system memory 330. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 321 . Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0028] Computer readable medium instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field- programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0029] Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer readable medium instructions.
[0030] The computing environment 300 may further include the computer system 310 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 373 and remote agents 381. The network interface 370 may enable communication, for example, with other remote devices 373 or systems and/or the storage devices 341 , 342 via the network 371 . Remote computing device 373 may be a person5al computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 310. When used in a networking environment, computer system 310 may include modem 372 for establishing communications over a network 371 , such as the Internet. Modem 372 may be connected to system bus 321 via user network interface 370, or via another appropriate mechanism.
[0031] Network 371 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 310 and other computers (e.g., remote computing device 373). The network 371 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art. Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 371 .
[0032] It should be appreciated that the program modules, applications, computer- executable instructions, code, or the like depicted in FIG. 3 as being stored in the system memory 330 are merely illustrative and not exhaustive and that processing described as being supported by any particular module may alternatively be distributed across multiple modules or performed by a different module. In addition, various program module(s), script(s), plug-in(s), Application Programming Interface(s) (API(s)), or any other suitable computer-executable code hosted locally on the computer system 310, the remote device 373, and/or hosted on other computing device(s) accessible via one or more of the network(s) 371 , may be provided to support functionality provided by the program modules, applications, or computer-executable code depicted in FIG. 3 and/or additional or alternate functionality. Further, functionality may be modularized differently such that processing described as being supported collectively by the collection of program modules depicted in FIG. 3 may be performed by a fewer or greater number of modules, or functionality described as being supported by any particular module may be supported, at least in part, by another module. In addition, program modules that support the functionality described herein may form part of one or more applications executable across any number of systems or devices in accordance with any suitable computing model such as, for example, a client-server model, a peer-to-peer model, and so forth. In addition, any of the functionality described as being supported by any of the program modules depicted in FIG. 3 may be implemented, at least partially, in hardware and/or firmware across any number of devices.
[0033] It should further be appreciated that the computer system 310 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the computer system 310 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program modules have been depicted and described as software modules stored in system memory 330, it should be appreciated that functionality described as being supported by the program modules may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned modules may, in various embodiments, represent a logical partitioning of supported functionality. This logical partitioning is depicted for ease of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other modules. Further, one or more depicted modules may not be present in certain embodiments, while in other embodiments, additional modules not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain modules may be depicted and described as sub- modules of another module, in certain embodiments, such modules may be provided as independent modules or as sub-modules of other modules.
[0034] Although specific embodiments of the disclosure have been described, one of ordinary skill in the art will recognize that numerous other modifications and alternative embodiments are within the scope of the disclosure. For example, any of the functionality and/or processing capabilities described with respect to a particular device or component may be performed by any other device or component. Further, while various illustrative implementations and architectures have been described in accordance with embodiments of the disclosure, one of ordinary skill in the art will appreciate that numerous other modifications to the illustrative implementations and architectures described herein are also within the scope of this disclosure. In addition, it should be appreciated that any operation, element, component, data, or the like described herein as being based on another operation, element, component, data, or the like can be additionally based on one or more other operations, elements, components, data, or the like. Accordingly, the phrase“based on,” or variants thereof, should be interpreted as “based at least in part on.”
[0035] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

Claims

CLAIMS What is claimed is:
1. A computer aided design system for using self-improving data-driven models with selective simulation of a three-dimensional object design, comprising: a processor; and
a memory having a plurality of application modules stored thereon, comprising: a simulation engine configured to execute a three-dimensional simulation of a designed object for a design point;
a classifier engine configured to:
execute a first neural network to predict whether the design point for a 3D simulation will successfully be executed by the 3D simulation engine to produce a computed key performance indicator (KPI); and
a surrogate model engine configured to:
execute a second neural network representation of a surrogate model to compute KPI values corresponding to a new design point while bypassing a simulation by the simulation engine.
2. The system of claim 1 , wherein the classifier engine is further configured to:
predict which type of prediction is best to perform for the design point from one of: the surrogate model, a reduced order/low fidelity model, or a high-fidelity 3D model.
3. The system of claim 1 , further comprising a confidence engine configured to analyze the design point using a statistical model as a preliminary screening to predict whether the classifier engine will successfully classify the design point.
4. The system of claim 1 , further comprising a confidence engine configured to analyze the design point using a statistical model as a preliminary screening to generate a confidence score for the design point with respect to results to be predicted by the surrogate engine, and in response to a favorable confidence score, triggers the surrogate engine to run a surrogate modeling for the design point for bypass of the simulation.
5. The system of claim 1 , further comprising an analyzer configured to compare the KPI values output by the simulation engine against predefined metrics to determine success or failure of the design point simulation, wherein on a condition that a successful design is determined, the KPI values are sent to the surrogate model engine for training the second neural network.
6. The system of claim 1 , further comprising an analyzer configured to:
send the design point to the classifier engine as training input of the first neural network on a condition that the simulation was determined to successfully evaluate the design point; and
send the new design point to the classifier engine as training input of the first neural network on a condition that the surrogate model was determined to successfully evaluate the design point.
7. The system of claim 1 , further comprising an analyzer configured to determine when to conclude a design study for multiple design points based on achievement of an optimal design based on a convergence of KPI values for a series of evaluated design points.
8. A computer aided design method for using self-improving data-driven models with selective simulation of a three-dimensional object design, comprising: executing, by a simulation engine, a three-dimensional simulation of a designed object for a design point; executing a first neural network to predict whether the design point for a 3D simulation will successfully be executed by the 3D simulation engine to produce a computed key performance indicator (KPI); and
executing a second neural network representation of a surrogate model to compute KPI values corresponding to a new design point while bypassing a simulation by the simulation engine.
9. The method of claim 8, further comprising:
predicting which type of prediction is best to perform for the design point from one of: the surrogate model, a reduced order/low fidelity model, or a high-fidelity 3D model.
10. The method of claim 8, further comprising:
analyzing the design point using a statistical model as a preliminary screening to predict whether the classifier engine will successfully classify the design point.
11. The method of claim 8, further comprising:
analyze the design point using a statistical model as a preliminary screening to generate a confidence score for the design point with respect to results to be predicted by the surrogate engine, and in response to a favorable confidence score, triggering the surrogate engine to run a surrogate modeling for the design point for bypass of the simulation.
12. The method of claim 8, further comprising:
comparing the KPI values output by the simulation engine against predefined metrics to determine success or failure of the design point simulation, wherein on a condition that a successful design is determined, the KPI values are sent to the surrogate model engine for training the second neural network.
13. The method of claim 8, further comprising:
sending the design point to the classifier engine as training input of the first neural network on a condition that the simulation was determined to successfully evaluate the design point; and
sending the new design point to the classifier engine as training input of the first neural network on a condition that the surrogate model was determined to successfully evaluate the design point.
14. The method of claim 8, further comprising an analyzer configured to determine when to conclude a design study for multiple design points based on achievement of an optimal design based on a convergence of KPI values for a series of evaluated design points.
PCT/US2019/049714 2018-09-14 2019-09-05 Generation and utilization of self-improving data-driven models with selective simulation of 3d object design Ceased WO2020055659A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862731256P 2018-09-14 2018-09-14
US62/731,256 2018-09-14

Publications (1)

Publication Number Publication Date
WO2020055659A1 true WO2020055659A1 (en) 2020-03-19

Family

ID=68000082

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/049714 Ceased WO2020055659A1 (en) 2018-09-14 2019-09-05 Generation and utilization of self-improving data-driven models with selective simulation of 3d object design

Country Status (1)

Country Link
WO (1) WO2020055659A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022090401A1 (en) 2020-10-30 2022-05-05 Spg Dry Cooling Belgium Srl Method, system and computer program product for providing insights on user desirability
CN114513408A (en) * 2022-01-05 2022-05-17 新华三技术有限公司 ECN (electrically controlled network) threshold configuration method and device
FR3147027A1 (en) * 2023-03-24 2024-09-27 Vitesco Technologies Automotive parts dimensioning process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008112921A1 (en) * 2007-03-14 2008-09-18 Halliburton Energy Services, Inc. Neural-network based surrogate model construction methods and applications thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008112921A1 (en) * 2007-03-14 2008-09-18 Halliburton Energy Services, Inc. Neural-network based surrogate model construction methods and applications thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAOCHU JIN ET AL: "Managing approximate models in evolutionary aerodynamic design optimization", EVOLUTIONARY COMPUTATION, 2001. PROCEEDINGS OF THE 2001 CONGRESS ON MAY 27-30, 2001, PISCATAWAY, NJ, USA,IEEE, vol. 1, 27 May 2001 (2001-05-27), pages 592 - 599, XP010551852, ISBN: 978-0-7803-6657-2 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022090401A1 (en) 2020-10-30 2022-05-05 Spg Dry Cooling Belgium Srl Method, system and computer program product for providing insights on user desirability
BE1028765B1 (en) * 2020-10-30 2022-05-31 Spg Dry Cooling Belgium Srl METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR PROVIDING USER INTEREST INDICATIONS
CN114513408A (en) * 2022-01-05 2022-05-17 新华三技术有限公司 ECN (electrically controlled network) threshold configuration method and device
CN114513408B (en) * 2022-01-05 2023-10-27 新华三技术有限公司 ECN threshold configuration method and device
FR3147027A1 (en) * 2023-03-24 2024-09-27 Vitesco Technologies Automotive parts dimensioning process

Similar Documents

Publication Publication Date Title
CN115427968B (en) Robust AI Inference in Edge Computing Devices
US11263116B2 (en) Champion test case generation
US11106567B2 (en) Combinatoric set completion through unique test case generation
US20190370659A1 (en) Optimizing neural network architectures
US10997717B2 (en) Method and system for generating a confidence score using deep learning model
US11836665B2 (en) Explainable process prediction
EP3701403B1 (en) Accelerated simulation setup process using prior knowledge extraction for problem matching
CN111145076B (en) Data parallelization processing method, system, equipment and storage medium
JP2020514916A (en) Homogeneous model of heterogeneous product life cycle data
CN114981800A (en) Personalized automated machine learning
US12124771B2 (en) Computer aided design of custom cellular lattice kernels according to material properties
US20230326195A1 (en) Incremental learning for anomaly detection and localization in images
WO2020055659A1 (en) Generation and utilization of self-improving data-driven models with selective simulation of 3d object design
CN117421311A (en) Data verification method, device, equipment and storage medium based on artificial intelligence
CN116166967B (en) Data processing method, equipment and storage medium based on meta learning and residual error network
CN117318052A (en) Reactive power prediction method, device and computer equipment for generator set phase advance test
CN114842920A (en) A molecular property prediction method, device, storage medium and electronic device
JP7424373B2 (en) Analytical equipment, analytical methods and analytical programs
CN117114087A (en) Fault prediction method, computer device, and readable storage medium
CN115099371B (en) LSTM anomaly detection method, device, equipment and storage medium
CN119205712B (en) Hydropower station dam risk assessment method, device, equipment and medium
WO2021247831A1 (en) Automated knowledge extraction and representation for complex engineering systems
CN117312826A (en) Data analysis method and system for power grid line loss repair system
KR20250015013A (en) Method and apparatus for generating meta-model based on artificial intelligence to determine structure performance
CN119441041A (en) Software testing method, device, computer equipment, readable storage medium and program product

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19773241

Country of ref document: EP

Kind code of ref document: A1