WO2014093996A2 - System and method for performing a multiphysics simulation - Google Patents

System and method for performing a multiphysics simulation Download PDF

Info

Publication number
WO2014093996A2
WO2014093996A2 PCT/US2013/075747 US2013075747W WO2014093996A2 WO 2014093996 A2 WO2014093996 A2 WO 2014093996A2 US 2013075747 W US2013075747 W US 2013075747W WO 2014093996 A2 WO2014093996 A2 WO 2014093996A2
Authority
WO
WIPO (PCT)
Prior art keywords
service
data model
processor
multiple physics
physics data
Prior art date
Application number
PCT/US2013/075747
Other languages
French (fr)
Other versions
WO2014093996A3 (en
Inventor
Vincent M. PAJERSKI
Joseph S. SOLECKI
Christopher M. Hawkins
Original Assignee
Sas Ip
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
Priority claimed from US14/108,338 external-priority patent/US20140172395A1/en
Application filed by Sas Ip filed Critical Sas Ip
Publication of WO2014093996A2 publication Critical patent/WO2014093996A2/en
Publication of WO2014093996A3 publication Critical patent/WO2014093996A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Definitions

  • This application discloses an invention which is related, generally and in various embodiments, to a system and method for performing a multiphysics analysis and a multiphysics simulation.
  • FIG. 1 illustrates various embodiments of a system
  • FIG. 2 illustrates various embodiments of a computing system of the system of FIG. 1;
  • FIG. 3 illustrates a high-level representation of the data flow for the system of FIG. 1 according to various embodiments.
  • FIG. 4 illustrates various embodiments of a method.
  • aspects of the invention may be implemented by a computing device and/or a computer program stored on a computer-readable medium.
  • the computer-readable medium may comprise a disk, a device, and/or a propagated signal.
  • FIG. 1 illustrates various embodiments of a system 10.
  • the system 10 may be utilized to perform a multiphysics simulation.
  • multiphysics is meant to include, but not be limited to, sequential and simultaneous physics, dependent and independent physics, multiple physics, multiphysics phenomena, multiphysics problems, multiphysics processes, and the like.
  • the system 10 includes a computing system 12 which is communicably connected to a network 14.
  • the network 14 may also be
  • the computing system 12 may be communicably connected to any number of networks 14 which in turn may be communicably connected to any number of remote computer systems 16 and remote storage devices 18.
  • the remote computing systems 16 and the remote storage devices 18 are each communicably connected to the network 14, it will be appreciated that the computing system 12 may be communicably connected to the remote computing systems 16 and the remote storage devices 18.
  • the computing system 12 may include any suitable type of computing device (e.g., a server, a desktop, a laptop, etc.) that includes at least one processor 20.
  • the computing system 12 also includes a user interface module 22, a service proxy module 24 and a selection module 26. Although only one service proxy module 24 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of service proxy modules 24. As explained in more detail hereinbelow, each service proxy module 24 is communicably connected to a corresponding service 28. Therefore, although only one service 28 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the system 10 may include any number of similar or different services 28 and/or the system 10 may utilize any number of similar or different services 28. As shown in FIG. 1, according to various embodiments, the computing system 12 also includes an input device 30, a storage device 32 and a display device 34. Various embodiments of the computing system 12 are described in more detail hereinbelow with respect to FIG. 2.
  • the user interface module 22 is communicably connected to the processor 20, and is configured to receive information input by a system user.
  • the information input by the system user may include, for example, a model of an object associated with the simulation, a physics type (e.g., structural, fluid, thermal, electrical, etc.), a calculation type (e.g., static, transient, etc.), a service dimensionality (one dimensional, two dimensional, three dimensional) and object information (e.g., pressure, temperature, coordinate system, boundary conditions, etc.).
  • the information may be input by the system user via the input device 30 which is described in more detail hereinbelow.
  • the system 10 can infer the physics type based on the model of the object to be analyzed and/or some of the information input by the system user.
  • the user interface module 22 may be further configured to define the display that is presented by the display device 34 to the system user.
  • the system 10 is configured to provide a uniform look to a system user regardless of the number of different services 28 associated with the system 10. Exemplary embodiments of such displays are shown and described, for example, in U.S. Patent Application No. 13/907,564 assigned to the assignee of the instant application.
  • the service proxy module 24 is communicably connected to the processor 20, and can have multiple functionality.
  • the service proxy module 24 is configured to generate code for software and/or hardware and analysis of the same. Such created code may be utilized, for example, to control a system or parts thereof that are being simulated.
  • the service proxy module 24 is configured to extract at least a portion of a multiple physics data model 36 (See FIG. 3) for use by a service 28 associated with the service proxy module 24. For example, if the service 28 to be performed by the corresponding service 28 is solving structural aspects of a problem, the service proxy module 24 may extract only those portions of the multiple physics data model 36 which are applicable to the structural aspects of the problem.
  • the service proxy module 24 is also configured to translate the extracted portions of the multiple physics data model 36 to a format utilized by a service 28 associated with the service proxy module 24.
  • a given service proxy module 24 may also be communicably connected to any number of other service proxy modules 24.
  • the multiple physics data model 36 is embodied as an object oriented database which resides at the storage device 32. According to other embodiments, the multiple physics data model 36 may be embodied as a database other than an object oriented database and may reside at any storage device which is communicably connected to the service proxy module 24.
  • the multiple physics data model 36 is a representation of an engineering problem definition and includes all of the physics (i.e., chemical, electrical, mechanical, structural, etc.) necessary to solve the problem. As the multiple physics data model 36 includes all of the physics necessary to solve a given problem, it will be appreciated that the multiple physics data model 36 may be utilized with many different types of services 28, including many different types of solvers.
  • a solver may be utilized to solve a mathematical problem, calculate a solution to a problem, compute results, etc.
  • any number of different or similar services 28 can be utilized and/or added to the system 10 without having to change the multiple physics data model 36. Stated differently, the multiple physics data model 36 does not have to be changed each time a different service 28 is utilized, modified or added to system 10.
  • the service proxy module 24 may also be configured to define an extension to the multiple physics data model 36.
  • An extension to the multiple physics data model 36 allows a system user to add any properties to any class instance that exists in the multiple physics data model 36, and according to various embodiments, can include service specific information such as, for example, conversions, criteria, number of solution steps, etc. needed for a given service 28 to be performed. All data types can be represented in the multiple physics data model 36 and can be extended by a developer. When certain service specific information is needed for a given service 28 to be performed, one or more extensions to the multiple physics data model 36 allows the service 28 to be performed without having to change the existing properties of the multiple physics data model 36. Also, according to various embodiments, extensions to the multiple physics data model 36 may be utilized to allow one or more of the services 28 to utilize or reuse the multiple physics data model 36.
  • the service proxy module 24 may also be configured to define one or more rules which may be utilized by the service proxy module 24 to aggregate or hide one or more properties from defined objects in the multiple physics data model 36. For example, if an object in the multiple physics data model 36 has certain boundary conditions associated therewith, and the service 28 to be utilized is not able to handle the certain boundary conditions, a rule may be utilized to effectively hide the certain boundary conditions associated with the object from the service 28 to be utilized. For example, according to various embodiments, if the coordinates for a boundary condition are given in x, y and z coordinates but the service 28 to be performed only runs in two dimensions (e.g.
  • the service proxy module 24 corresponding to the service 28 can define a rule which operates to hide the "z" direction from all of the objects in the multiple physics data model 36.
  • Such rules may run when certain actions occur (e.g., when a property of an object in the multiple physics data model 36 changes) and may be used, for example, to calculate the validity, visibility and/or creatability of objects in the multiple physics data model 36.
  • the rules may be utilized on a proxy -by -proxy basis, wherein a first service proxy module 24 utilizes a first set of rules and a second service proxy module 24 utilizes a second set of rules, and the first set is different than the second set.
  • the service proxy module 24 may also be configured to extract stored service output data. Such data may be stored at any suitable location (e.g., in a memory, at storage device 32, at remote storage device 18, etc.) and utilized for subsequent operations.
  • the service proxy modules 24 may be incorporated into the system 10 prior to its installation or may be automatically added to the system 10 after the system 10 has already been installed or accessed.
  • a file may be used to identify the binary software components for a new service proxy module 24 that is to be added, and the system 10 may load the new proxy service module 24 and extend the multiple physics data model 36 accordingly.
  • new service proxy modules 24 can be added to the system 10 over time (e.g., days, weeks, months after the system 10 is first installed or accessed).
  • the computing system 12 may include any number of service proxy modules 24.
  • the service 28 is communicably connected to the service proxy module 24 and is configured to perform a service. As set forth hereinabove, each service 28 is communicably connected to a corresponding service proxy module 24. As the system 10 may include a plurality of service modules 24, it will be appreciated that the system 10 may include and/or utilize a plurality of services 28. The plurality of services 28 may perform any number of similar or different services. For example, according to various embodiments, one or more of the services 28 may be configured to perform a geometry service, a mesh service, a post-processing service, an engineering data service, a kinematic calculation service, a system coupling service, etc.
  • one or more of the services 28 may be embodied as a solver (e.g., a mechanical solver, a fluids solver, an electrical solver, etc.).
  • a solver e.g., a mechanical solver, a fluids solver, an electrical solver, etc.
  • the solver output (or any service output) may be stored in a memory or at a suitable storage device for future use by a given service proxy module 24.
  • the solver output may be discarded.
  • the selection module 26 is communicably connected to the processor 20 and is configured to select the service proxy modules 24 corresponding to the services 28 which are to be utilized for the multiphysics simulation. According to various embodiments, the selection module 26 selects the service proxy modules 24 based on service selections made by a system user (e.g., the system user clicks a mouse to select specific solvers and the selection module 26 then selects the corresponding service proxy modules 24).
  • the selection module 26 may automatically select the service proxy modules 24 based on information known by the system 10, including information related to the physics and/or the problem (e.g., a model of an object associated with the simulation, a calculation type, a service dimensionality, object information, etc.). As some of this information may be input by a system user (e.g., importing a file, selecting a service dimensionality, etc.), it will be appreciated that according to various embodiments, the selection module 26 selects the service proxy modules 24 based at least in part on information input by a system user.
  • the modules 22, 24, 26 may be implemented in hardware, firmware, software and combinations thereof.
  • the software may utilize any suitable computer language (e.g., C, C++, C#, Java, JavaScript, Python, Visual Basic, VBScript, Delphi) and may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of delivering instructions to a device.
  • the modules e.g., software application, computer program
  • the functionality of the modules 22, 24, 26 may be combined into fewer modules or even into a single module.
  • the modules 22, 24, 26 may be distributed across two or more computing devices of the computing system 12.
  • the input device 30 is communicably connected to the processor 20 and may be any suitable type of input device 30.
  • the input device 30 may be a mouse, a trackball, a joystick, a keyboard, a touch screen, etc.
  • FIG. 1 only one input device 30 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of input devices 30.
  • the storage device 32 is communicably connected to the processor 20 and may be any suitable type of data storage device.
  • the storage device 32 may utilize semiconductor, magnetic and/or optical technologies to store data.
  • the computing system 12 may include any number of storage devices 32.
  • the storage device 32 is integral with the computing system 12 as shown in FIG. 1. According to other embodiments, the storage device 32 is remote from but communicably connected to the computing system 12.
  • the display device 34 is communicably connected to the processor 20 and may be any suitable type of display device 34.
  • the display device 34 may be a cathode ray tube display device, a light- emitting diode display device, a liquid crystal display device, a plasma display device, etc.
  • the computing system 12 may include any number of display devices 34.
  • the network 14 may include one or more networks, and each network may include any type of delivery system including, but not limited to, a local area network (e.g., Ethernet), a wide area network (e.g. the Internet and/or World Wide Web), a telephone network (e.g., analog, digital, wired, wireless, fiber optic, PSTN, ISDN, GSM, GPRS, and/or xDSL), a packet-switched network, a radio network, a television network, a cable network, a satellite network, and/or any other wired or wireless communications network configured to carry data.
  • a given network 14 may include elements, such as, for example, intermediate nodes, proxy servers, routers, switches, and adapters configured to direct and/or deliver data.
  • the system 10 may be structured and arranged to communicate with the remote computing system 16 and the remote storage device 18 via the one or more networks 14 using various communication protocols (e.g., HTTP, HTTPS, TCP/IP, UDP, WAP, WiFi,
  • various communication protocols e
  • Bluetooth and/or to operate within or in concert with one or more other
  • the remote computing system 16 may include any suitable type of computing device which includes a processor.
  • the remote computing system 16 may include one or more servers, desktops, laptops, etc. which can be communicably connected to the network 14.
  • the remote storage device 18 may be any suitable type of data storage device.
  • the remote storage device 18 may utilize semiconductor, magnetic and/or optical technologies to store data.
  • FIG. 2 illustrates various embodiments of the computing system 12.
  • the computing system 12 may be embodied as one or more computing devices, and includes networking components such as Ethernet adapters, non-volatile secondary memory such as magnetic disks, input/output devices such as keyboards and visual displays, volatile main memory, and a processor 20. Each of these components may be communicably connected via a common system bus.
  • the processor 20 includes processing units and on-chip storage devices such as memory caches.
  • the computing system 12 includes one or more modules which are implemented in software, and the software is stored in non-volatile memory devices while not in use.
  • the software is loaded into volatile main memory.
  • the processor 20 reads software instructions from volatile main memory and performs useful operations by executing sequences of the software instructions on data which is read into the processor 20 from volatile main memory. Upon completion of the useful operations, the processor 20 writes certain data results to volatile main memory.
  • FIG. 3 illustrates a high-level representation of the data flow for the system 10 according to various embodiments.
  • the system 10 utilizes one multiple physics data model 36 for a plurality of different services 28, wherein the different services 28 are accessed via corresponding service proxy modules 24.
  • Each service 28 is communicably connected to a corresponding service proxy module 24.
  • Each service proxy module 24 can extract at least a portion of the multiple physics data model 36 and translate the extracted portion of the multiple physics data model 36 to a format which is appropriate for its corresponding service 28.
  • the portion extracted by a first service proxy module 24 can be the same as or different than the portion extracted by a second service proxy module 24.
  • FIG. 4 illustrates various embodiments of a method 40 for performing a multiphysics simulation.
  • the method 40 will be described in the context of being implemented by the system 10 of Fig. 1. However, it will be appreciated that the method 40 may be implemented by devices and/or systems other than the system 10 of FIG. 1.
  • a model of an object associated with the simulation may be generated and stored at a storage device communicably connected to the system 10 (e.g., at storage device 32). Additionally, a page may be presented by the display device 34, and a system user may utilize one or more of the input devices 30 to input information associated with the multiphysics simulation. Such information may include, for example, one or more files, parameters, limitations, assumptions, geometries, etc. associated with the simulation to be performed.
  • the process starts at block 42, where the information input by the system user is received at the computing system 12.
  • the system 10 stores the received information at the storage device 32.
  • the process advances to block 44, where the selection module 26 selects the appropriate service proxy modules 24 based at least in part on information input by a system user.
  • the appropriate service proxy modules 24 are the ones which are communicably connected to the services 28 which will be utilized to perform the multiphysics simulation. Although the selection of three service proxy modules 24 are shown in block 44, it will be appreciated that any number of service proxy modules 24 may be selected at block 44, and the selections may be sequential or concurrent.
  • the process advances to block 46, where each selected service proxy module 24 extracts the relevant portions of the multiple physics data model 36 for use by the corresponding services 28. According to various embodiments, the selected service proxy modules 24 may also translate the extracted portions of the multiple physics data model 36. Each service proxy module 24 may translate the portion which it extracted to a format utilized by its corresponding service 28, and forward the translated format to the corresponding service 28. The extractions and accompanying translations shown at block 46 may be performed sequentially or concurrently.
  • the process advances to block 48, where the services 28 receive the appropriate translated format from their corresponding service proxy modules 24, perform the associated services and according to various embodiments, forward the service output data (e.g., solution data) to their corresponding service proxy modules 24.
  • the service 28 performed by and the output data of a first service 28 may be different than the service 28 performed by and the output data of a second service 28.
  • the respective services 28 performed at block 48 may be performed sequentially or concurrently. Although the performance of three services 28 are shown at block 48 (corresponding to the three service proxy modules 24 selected at block 44), it will be appreciated that any number of services 28, different or similar, may be performed at block 48.
  • the process advances to block 50, where the service proxy modules 24 receive the service output data from the corresponding services 28.
  • the service proxy modules 24 can maintain the service output data in a memory, forward the received service output data to one or more storage devices (e.g., storage device 18, storage device 32, etc.) and/or discard the service output data.
  • the process advances from block 50 to block 52, where the service proxy modules 24 extract stored service output data for further operations (e.g., using service output data as input data for another service 28, postprocessing operations, etc.).
  • the service proxy module 24 which received the given portion of the service output data at block 50 is the service proxy module 24 which is utilized to extract the given portion at block 52.
  • any number of different service proxy modules 24 may be utilized to extract the stored service output data for further operations.
  • a selected service proxy module 24 may extend the multiple physics data model 36 by adding extensions to the multiple physics data model 36 as needed by a corresponding service 28.
  • a given selected service proxy module 24 may utilize predefined rules to aggregate or hide one or more properties from defined objects in the multiple physics data model 36 prior to the translation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

A system for performing a multiphysics simulation. The system includes a computing device, a multi physics data model and a plurality of service proxy modules. The computing device includes a processor. The multiple physics data model is communicably connected to the processor. The plurality of service proxy modules are communicably connected to the processor. Each service proxy module is configured to extract at least a portion of the multiple physics data model for use by a service communicably connected thereto.

Description

SYSTEM AND METHOD FOR PERFORMING A MULTIPHYSICS
SIMULATION
Inventors: Vincent M. Pajerski, Joseph S. Solecki and Christopher M. Hawkins
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. § 119(e) of the earlier filing date of United States Provisional Patent Application No. 61/737,405 filed on December 14, 2012, the contents of which are hereby incorporated by reference, and United States Patent Application No. 14/108,338 filed on December 16, 2013, the contents of which are hereby incorporated by reference.
BACKGROUND
[0002] This application discloses an invention which is related, generally and in various embodiments, to a system and method for performing a multiphysics analysis and a multiphysics simulation.
[0003] Simulations are playing an increasing important role in the
development of many products. Although in the past simulations were typically utilized to predict how a component or a subsystem of given product would perform, more and more simulations are now being utilized to study how the entire product will perform in the real world where multiple physics interact.
[0004] For such multiphysics simulations, a user heretofore was required to utilize multiple user interfaces and data models (e.g., one for each physics involved) in order to perform the multiphysics simulation. For complex problems involving multiphysics, the user experience and overall efficiency associated with using multiple user interfaces and data models is less than desired. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Various embodiments of the invention are described herein in by way of example in conjunction with the following figures, wherein like reference characters designate the same or similar elements.
[0006] FIG. 1 illustrates various embodiments of a system; and
[0007] FIG. 2 illustrates various embodiments of a computing system of the system of FIG. 1;
[0008] FIG. 3 illustrates a high-level representation of the data flow for the system of FIG. 1 according to various embodiments; and
[0009] FIG. 4 illustrates various embodiments of a method.
DETAILED DESCRIPTION
[0010] It is to be understood that at least some of the figures and descriptions of the invention have been simplified to illustrate elements that are relevant for a clear understanding of the invention, while eliminating, for purposes of clarity, other elements that those of ordinary skill in the art will appreciate may also comprise a portion of the invention. However, because such elements are well known in the art, and because they do not facilitate a better understanding of the invention, a description of such elements is not provided herein.
[0011] As described in more detail hereinbelow, aspects of the invention may be implemented by a computing device and/or a computer program stored on a computer-readable medium. The computer-readable medium may comprise a disk, a device, and/or a propagated signal.
[0012] FIG. 1 illustrates various embodiments of a system 10. As described in more detail hereinbelow, the system 10 may be utilized to perform a multiphysics simulation. As used herein, the term multiphysics is meant to include, but not be limited to, sequential and simultaneous physics, dependent and independent physics, multiple physics, multiphysics phenomena, multiphysics problems, multiphysics processes, and the like. The system 10 includes a computing system 12 which is communicably connected to a network 14. The network 14 may also be
communicably connected to a remote computing system 16 and a remote storage device 18. Although only one network 14, one remote computing system 16 and one remote storage device 18 are shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may be communicably connected to any number of networks 14 which in turn may be communicably connected to any number of remote computer systems 16 and remote storage devices 18. As the computing system 12, the remote computing systems 16 and the remote storage devices 18 are each communicably connected to the network 14, it will be appreciated that the computing system 12 may be communicably connected to the remote computing systems 16 and the remote storage devices 18.
[0013] The computing system 12 may include any suitable type of computing device (e.g., a server, a desktop, a laptop, etc.) that includes at least one processor 20. The computing system 12 also includes a user interface module 22, a service proxy module 24 and a selection module 26. Although only one service proxy module 24 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of service proxy modules 24. As explained in more detail hereinbelow, each service proxy module 24 is communicably connected to a corresponding service 28. Therefore, although only one service 28 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the system 10 may include any number of similar or different services 28 and/or the system 10 may utilize any number of similar or different services 28. As shown in FIG. 1, according to various embodiments, the computing system 12 also includes an input device 30, a storage device 32 and a display device 34. Various embodiments of the computing system 12 are described in more detail hereinbelow with respect to FIG. 2.
[0014] The user interface module 22 is communicably connected to the processor 20, and is configured to receive information input by a system user. The information input by the system user may include, for example, a model of an object associated with the simulation, a physics type (e.g., structural, fluid, thermal, electrical, etc.), a calculation type (e.g., static, transient, etc.), a service dimensionality (one dimensional, two dimensional, three dimensional) and object information (e.g., pressure, temperature, coordinate system, boundary conditions, etc.). According to various embodiments, the information may be input by the system user via the input device 30 which is described in more detail hereinbelow. According to other embodiments, the system 10 can infer the physics type based on the model of the object to be analyzed and/or some of the information input by the system user.
According to various embodiments, the user interface module 22 may be further configured to define the display that is presented by the display device 34 to the system user. According to various embodiments, the system 10 is configured to provide a uniform look to a system user regardless of the number of different services 28 associated with the system 10. Exemplary embodiments of such displays are shown and described, for example, in U.S. Patent Application No. 13/907,564 assigned to the assignee of the instant application.
[0015] The service proxy module 24 is communicably connected to the processor 20, and can have multiple functionality. For example, according to various embodiments, the service proxy module 24 is configured to generate code for software and/or hardware and analysis of the same. Such created code may be utilized, for example, to control a system or parts thereof that are being simulated. According to various embodiments, the service proxy module 24 is configured to extract at least a portion of a multiple physics data model 36 (See FIG. 3) for use by a service 28 associated with the service proxy module 24. For example, if the service 28 to be performed by the corresponding service 28 is solving structural aspects of a problem, the service proxy module 24 may extract only those portions of the multiple physics data model 36 which are applicable to the structural aspects of the problem. According to various embodiments, the service proxy module 24 is also configured to translate the extracted portions of the multiple physics data model 36 to a format utilized by a service 28 associated with the service proxy module 24. A given service proxy module 24 may also be communicably connected to any number of other service proxy modules 24.
[0016] According to various embodiments, the multiple physics data model 36 is embodied as an object oriented database which resides at the storage device 32. According to other embodiments, the multiple physics data model 36 may be embodied as a database other than an object oriented database and may reside at any storage device which is communicably connected to the service proxy module 24. The multiple physics data model 36 is a representation of an engineering problem definition and includes all of the physics (i.e., chemical, electrical, mechanical, structural, etc.) necessary to solve the problem. As the multiple physics data model 36 includes all of the physics necessary to solve a given problem, it will be appreciated that the multiple physics data model 36 may be utilized with many different types of services 28, including many different types of solvers. As known in the art, a solver may be utilized to solve a mathematical problem, calculate a solution to a problem, compute results, etc. With the multiple physics data model 36, any number of different or similar services 28 can be utilized and/or added to the system 10 without having to change the multiple physics data model 36. Stated differently, the multiple physics data model 36 does not have to be changed each time a different service 28 is utilized, modified or added to system 10.
[0017] According to various embodiments, the service proxy module 24 may also be configured to define an extension to the multiple physics data model 36. An extension to the multiple physics data model 36 allows a system user to add any properties to any class instance that exists in the multiple physics data model 36, and according to various embodiments, can include service specific information such as, for example, conversions, criteria, number of solution steps, etc. needed for a given service 28 to be performed. All data types can be represented in the multiple physics data model 36 and can be extended by a developer. When certain service specific information is needed for a given service 28 to be performed, one or more extensions to the multiple physics data model 36 allows the service 28 to be performed without having to change the existing properties of the multiple physics data model 36. Also, according to various embodiments, extensions to the multiple physics data model 36 may be utilized to allow one or more of the services 28 to utilize or reuse the multiple physics data model 36.
[0018] According to various embodiments, the service proxy module 24 may also be configured to define one or more rules which may be utilized by the service proxy module 24 to aggregate or hide one or more properties from defined objects in the multiple physics data model 36. For example, if an object in the multiple physics data model 36 has certain boundary conditions associated therewith, and the service 28 to be utilized is not able to handle the certain boundary conditions, a rule may be utilized to effectively hide the certain boundary conditions associated with the object from the service 28 to be utilized. For example, according to various embodiments, if the coordinates for a boundary condition are given in x, y and z coordinates but the service 28 to be performed only runs in two dimensions (e.g. x and y), the service proxy module 24 corresponding to the service 28 can define a rule which operates to hide the "z" direction from all of the objects in the multiple physics data model 36. Such rules may run when certain actions occur (e.g., when a property of an object in the multiple physics data model 36 changes) and may be used, for example, to calculate the validity, visibility and/or creatability of objects in the multiple physics data model 36. The rules may be utilized on a proxy -by -proxy basis, wherein a first service proxy module 24 utilizes a first set of rules and a second service proxy module 24 utilizes a second set of rules, and the first set is different than the second set. According to various embodiments, as described in more detail hereinafter with respect to FIG. 4, the service proxy module 24 may also be configured to extract stored service output data. Such data may be stored at any suitable location (e.g., in a memory, at storage device 32, at remote storage device 18, etc.) and utilized for subsequent operations.
[0019] The service proxy modules 24 may be incorporated into the system 10 prior to its installation or may be automatically added to the system 10 after the system 10 has already been installed or accessed. For example, according to various embodiments, a file may be used to identify the binary software components for a new service proxy module 24 that is to be added, and the system 10 may load the new proxy service module 24 and extend the multiple physics data model 36 accordingly. Thus, it will be appreciated that new service proxy modules 24 can be added to the system 10 over time (e.g., days, weeks, months after the system 10 is first installed or accessed). As set forth hereinabove, the computing system 12 may include any number of service proxy modules 24.
[0020] The service 28 is communicably connected to the service proxy module 24 and is configured to perform a service. As set forth hereinabove, each service 28 is communicably connected to a corresponding service proxy module 24. As the system 10 may include a plurality of service modules 24, it will be appreciated that the system 10 may include and/or utilize a plurality of services 28. The plurality of services 28 may perform any number of similar or different services. For example, according to various embodiments, one or more of the services 28 may be configured to perform a geometry service, a mesh service, a post-processing service, an engineering data service, a kinematic calculation service, a system coupling service, etc. According to other embodiments, one or more of the services 28 may be embodied as a solver (e.g., a mechanical solver, a fluids solver, an electrical solver, etc.). In general, such solvers are utilized by the system 10 to determine a multiphysics solution, and according to various embodiments, the solver output (or any service output) may be stored in a memory or at a suitable storage device for future use by a given service proxy module 24. According to other embodiments, the solver output may be discarded.
[0021] The selection module 26 is communicably connected to the processor 20 and is configured to select the service proxy modules 24 corresponding to the services 28 which are to be utilized for the multiphysics simulation. According to various embodiments, the selection module 26 selects the service proxy modules 24 based on service selections made by a system user (e.g., the system user clicks a mouse to select specific solvers and the selection module 26 then selects the corresponding service proxy modules 24). According to other embodiments, in instances where the system user does not select specific services 28, the selection module 26 may automatically select the service proxy modules 24 based on information known by the system 10, including information related to the physics and/or the problem (e.g., a model of an object associated with the simulation, a calculation type, a service dimensionality, object information, etc.). As some of this information may be input by a system user (e.g., importing a file, selecting a service dimensionality, etc.), it will be appreciated that according to various embodiments, the selection module 26 selects the service proxy modules 24 based at least in part on information input by a system user.
[0022] The modules 22, 24, 26 may be implemented in hardware, firmware, software and combinations thereof. For embodiments utilizing software, the software may utilize any suitable computer language (e.g., C, C++, C#, Java, JavaScript, Python, Visual Basic, VBScript, Delphi) and may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of delivering instructions to a device. The modules (e.g., software application, computer program) may be stored on a computer-readable medium (e.g., disk, device, and/or propagated signal) such that when a computer reads the medium, the functions described herein are performed.
[0023] According to various embodiments, the functionality of the modules 22, 24, 26 may be combined into fewer modules or even into a single module.
According to other embodiments, the modules 22, 24, 26 may be distributed across two or more computing devices of the computing system 12.
[0024] The input device 30 is communicably connected to the processor 20 and may be any suitable type of input device 30. For example, according to various embodiments, the input device 30 may be a mouse, a trackball, a joystick, a keyboard, a touch screen, etc. Although only one input device 30 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of input devices 30.
[0025] The storage device 32 is communicably connected to the processor 20 and may be any suitable type of data storage device. For example, according to various embodiments, the storage device 32 may utilize semiconductor, magnetic and/or optical technologies to store data. Although only one storage device 30 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of storage devices 32. According to various embodiments, the storage device 32 is integral with the computing system 12 as shown in FIG. 1. According to other embodiments, the storage device 32 is remote from but communicably connected to the computing system 12.
[0026] The display device 34 is communicably connected to the processor 20 and may be any suitable type of display device 34. For example, according to various embodiments, the display device 34 may be a cathode ray tube display device, a light- emitting diode display device, a liquid crystal display device, a plasma display device, etc. Although only one display device 34 is shown in FIG. 1 for purposes of simplicity, it will be appreciated that the computing system 12 may include any number of display devices 34.
[0027] The network 14 may include one or more networks, and each network may include any type of delivery system including, but not limited to, a local area network (e.g., Ethernet), a wide area network (e.g. the Internet and/or World Wide Web), a telephone network (e.g., analog, digital, wired, wireless, fiber optic, PSTN, ISDN, GSM, GPRS, and/or xDSL), a packet-switched network, a radio network, a television network, a cable network, a satellite network, and/or any other wired or wireless communications network configured to carry data. A given network 14 may include elements, such as, for example, intermediate nodes, proxy servers, routers, switches, and adapters configured to direct and/or deliver data. In general, the system 10 may be structured and arranged to communicate with the remote computing system 16 and the remote storage device 18 via the one or more networks 14 using various communication protocols (e.g., HTTP, HTTPS, TCP/IP, UDP, WAP, WiFi,
Bluetooth) and/or to operate within or in concert with one or more other
communications systems.
[0028] The remote computing system 16 may include any suitable type of computing device which includes a processor. For example, according to various embodiments, the remote computing system 16 may include one or more servers, desktops, laptops, etc. which can be communicably connected to the network 14.
[0029] The remote storage device 18 may be any suitable type of data storage device. For example, according to various embodiments, the remote storage device 18 may utilize semiconductor, magnetic and/or optical technologies to store data.
[0030] FIG. 2 illustrates various embodiments of the computing system 12. The computing system 12 may be embodied as one or more computing devices, and includes networking components such as Ethernet adapters, non-volatile secondary memory such as magnetic disks, input/output devices such as keyboards and visual displays, volatile main memory, and a processor 20. Each of these components may be communicably connected via a common system bus. The processor 20 includes processing units and on-chip storage devices such as memory caches.
[0031] According to various embodiments, the computing system 12 includes one or more modules which are implemented in software, and the software is stored in non-volatile memory devices while not in use. When the software is needed, the software is loaded into volatile main memory. After the software is loaded into volatile main memory, the processor 20 reads software instructions from volatile main memory and performs useful operations by executing sequences of the software instructions on data which is read into the processor 20 from volatile main memory. Upon completion of the useful operations, the processor 20 writes certain data results to volatile main memory.
[0032] FIG. 3 illustrates a high-level representation of the data flow for the system 10 according to various embodiments. As described hereinabove, the system 10 utilizes one multiple physics data model 36 for a plurality of different services 28, wherein the different services 28 are accessed via corresponding service proxy modules 24. Each service 28 is communicably connected to a corresponding service proxy module 24. Each service proxy module 24 can extract at least a portion of the multiple physics data model 36 and translate the extracted portion of the multiple physics data model 36 to a format which is appropriate for its corresponding service 28. The portion extracted by a first service proxy module 24 can be the same as or different than the portion extracted by a second service proxy module 24. As different services 28 may require different formats, it will be appreciated that a first service proxy module 24 may translate a portion of the multiple physics data model 36 to a first format and a second service proxy module 24 may translate a portion of the multiple physics data model 36 to a second format, wherein the first format is different than the second format. Although only three services 28 and three corresponding service proxy modules 24 are shown in FIG. 3 for purposes of simplicity, it will be appreciated that the one multiple physics data model 36 may be utilized with any number of similar or different services 28. [0033] FIG. 4 illustrates various embodiments of a method 40 for performing a multiphysics simulation. For purposes of simplicity, the method 40 will be described in the context of being implemented by the system 10 of Fig. 1. However, it will be appreciated that the method 40 may be implemented by devices and/or systems other than the system 10 of FIG. 1.
[0034] Prior to the start of the process, a model of an object associated with the simulation (e.g., a three-dimensional model of an engine) may be generated and stored at a storage device communicably connected to the system 10 (e.g., at storage device 32). Additionally, a page may be presented by the display device 34, and a system user may utilize one or more of the input devices 30 to input information associated with the multiphysics simulation. Such information may include, for example, one or more files, parameters, limitations, assumptions, geometries, etc. associated with the simulation to be performed.
[0035] The process starts at block 42, where the information input by the system user is received at the computing system 12. According to various embodiments, the system 10 stores the received information at the storage device 32.
[0036] From block 42 the process advances to block 44, where the selection module 26 selects the appropriate service proxy modules 24 based at least in part on information input by a system user. In general, the appropriate service proxy modules 24 are the ones which are communicably connected to the services 28 which will be utilized to perform the multiphysics simulation. Although the selection of three service proxy modules 24 are shown in block 44, it will be appreciated that any number of service proxy modules 24 may be selected at block 44, and the selections may be sequential or concurrent. [0037] From block 44, the process advances to block 46, where each selected service proxy module 24 extracts the relevant portions of the multiple physics data model 36 for use by the corresponding services 28. According to various embodiments, the selected service proxy modules 24 may also translate the extracted portions of the multiple physics data model 36. Each service proxy module 24 may translate the portion which it extracted to a format utilized by its corresponding service 28, and forward the translated format to the corresponding service 28. The extractions and accompanying translations shown at block 46 may be performed sequentially or concurrently.
[0038] From block 46, the process advances to block 48, where the services 28 receive the appropriate translated format from their corresponding service proxy modules 24, perform the associated services and according to various embodiments, forward the service output data (e.g., solution data) to their corresponding service proxy modules 24. It will be appreciated that the service 28 performed by and the output data of a first service 28 may be different than the service 28 performed by and the output data of a second service 28. The respective services 28 performed at block 48 may be performed sequentially or concurrently. Although the performance of three services 28 are shown at block 48 (corresponding to the three service proxy modules 24 selected at block 44), it will be appreciated that any number of services 28, different or similar, may be performed at block 48.
[0039] From block 48, the process advances to block 50, where the service proxy modules 24 receive the service output data from the corresponding services 28. According to various embodiments, the service proxy modules 24 can maintain the service output data in a memory, forward the received service output data to one or more storage devices (e.g., storage device 18, storage device 32, etc.) and/or discard the service output data.
[0040] For embodiments where the service output data is forwarded from the service proxy modules 24 for storage, the process advances from block 50 to block 52, where the service proxy modules 24 extract stored service output data for further operations (e.g., using service output data as input data for another service 28, postprocessing operations, etc.). According to various embodiments, for a given portion of the stored service output data, the service proxy module 24 which received the given portion of the service output data at block 50 is the service proxy module 24 which is utilized to extract the given portion at block 52. Thus it will be appreciated that any number of different service proxy modules 24 may be utilized to extract the stored service output data for further operations.
[0041] According to various embodiments, prior to the translation of the multiple physics data model 36 at block 46, a selected service proxy module 24 may extend the multiple physics data model 36 by adding extensions to the multiple physics data model 36 as needed by a corresponding service 28. Similarly, a given selected service proxy module 24 may utilize predefined rules to aggregate or hide one or more properties from defined objects in the multiple physics data model 36 prior to the translation.
[0042] Nothing in the above description is meant to limit the invention to any specific materials, geometry, or orientation of elements. Many part/orientation substitutions are contemplated within the scope of the invention and will be apparent to those skilled in the art. The embodiments described herein were presented by way of example only and should not be used to limit the scope of the invention. [0043] Although the invention has been described in terms of particular embodiments in this application, one of ordinary skill in the art, in light of the teachings herein, can generate additional embodiments and modifications without departing from the spirit of, or exceeding the scope of, the claimed invention. Accordingly, it is understood that the drawings and the descriptions herein are proffered only to facilitate comprehension of the invention and should not be construed to limit the scope thereof.

Claims

CLAIMS What is claimed is:
1. A system for performing a multiphysics simulation, the system comprising:
a computing device, wherein the computing device comprises a processor; a multiple physics data model communicably connected to the processor; and a plurality of service proxy modules communicably connected to the processor, wherein each service proxy module is configured to extract at least a portion of the multiple physics data model for use by a service communicably connected thereto.
2. The system of claim 1, wherein the multiple physics data model is a representation of an engineering problem definition.
3. The system of claim 2, wherein the multiple physics data model comprises physics for solving the engineering problem.
4. The system of claim 1, wherein at least one of the service proxy modules is further configured to translate an extracted portion of the multiple physics data model to a format utilized by the service communicably connected thereto.
5. The system of claim 1, wherein at least one of the service proxy modules is further configured to define an extension to the multiple physics data model.
6. The system of claim 1, wherein at least one of the proxy modules is further configured to define a rule associated with an object in the multiple physics data model.
7. The system of claim 1, wherein at least one of the service proxy modules is further configured to generate code.
8. The system of claim 1, wherein at least one of the service proxy modules is further configured to extract stored service output data.
9. The system of claim 1, further comprising a plurality of services, wherein each service is communicably connected to a different one of the plurality of services.
10. The system of claim 1, wherein a first one of the plurality of services is configured to provide a first service associated with the multiphysics simulation and a second one of the plurality of services is configured to provide a second service associated with the multiphysics simulation, wherein the first service is different than the second service.
1 1. The system of claim 1, wherein at least one of the plurality of services is a solver.
12. The system of claim 1, further comprising a selection module communicably connected to the processor, wherein the selection module is configured to select at least one of the plurality of service proxy modules to access the service.
13. A method, implemented at least in part by a computing device having a processor, for performing multiphysics simulation, the method comprising:
at the computing device:
selecting a plurality of service proxies, wherein each of the plurality of service proxies are associated with a different service; and
extracting a plurality of portions of a multiple physics data model for use by the selected plurality of service proxies.
14. The method of claim 13, further comprising translating a first extracted portion of the multiple physics data model into a first format and translating a second extracted portion of the multiple physics data model to a second format.
15. The method of claim 14, wherein the first format is different from the second format.
16. The method of claim 14, further comprising utilizing the first and second formats to perform a plurality of services.
17. The method of claim 13, further comprising at the computing device, extending the multiple physics data model.
18. The method of claim 13, further comprising, at the computing device, modifying at least one property of an object in the multiple physics data model based on a predefined rule.
19. A computer-readable medium having stored thereon instructions which, when executed by a processor, cause the processor to perform the steps of: selecting a plurality of service proxies, wherein each of the plurality of service proxies are associated with a different service; and
extracting a plurality of portions of a multiple physics data model for use by the selected plurality of service proxies.
20. The computer-readable medium of claim 19, wherein the execution of the instructions by the processor further cause the processor to perform the step of translating a first extracted portion of the multiple physics data model into a first format and translating a second extracted portion of the multiple physics data model to a second format.
21. The computer-readable medium of claim 20, wherein the execution of the instructions by the processor further cause the processor to perform the step of utilizing the first and second formats to perform a plurality of services.
22. The computer-readable medium of claim 19, wherein the execution of the instructions by the processor further cause the processor to perform the step of extending the multiple physics data model.
23. The computer-readable medium of claim 19, wherein the execution of the instructions by the processor further cause the processor to perform the step of modifying at least one property of an object in the multiple physics data model based on a predefined rule.
PCT/US2013/075747 2012-12-14 2013-12-17 System and method for performing a multiphysics simulation WO2014093996A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261737405P 2012-12-14 2012-12-14
US61/737,405 2012-12-14
US14/108,338 US20140172395A1 (en) 2012-12-14 2013-12-16 System and method for performing a multiphysics simulation
US14/108,338 2013-12-16

Publications (2)

Publication Number Publication Date
WO2014093996A2 true WO2014093996A2 (en) 2014-06-19
WO2014093996A3 WO2014093996A3 (en) 2014-08-07

Family

ID=50935100

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/075747 WO2014093996A2 (en) 2012-12-14 2013-12-17 System and method for performing a multiphysics simulation

Country Status (1)

Country Link
WO (1) WO2014093996A2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1672872B1 (en) * 2005-09-19 2008-04-09 Agilent Technologies, Inc. Unitary data format for measurement devices
US8112262B1 (en) * 2008-09-30 2012-02-07 Interactive TKO, Inc. Service modeling and virtualization
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US20120179426A1 (en) * 2000-08-02 2012-07-12 Comsol Ab System and method for establishing bidirectional links between multiphysics modeling and design systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120179426A1 (en) * 2000-08-02 2012-07-12 Comsol Ab System and method for establishing bidirectional links between multiphysics modeling and design systems
EP1672872B1 (en) * 2005-09-19 2008-04-09 Agilent Technologies, Inc. Unitary data format for measurement devices
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US8112262B1 (en) * 2008-09-30 2012-02-07 Interactive TKO, Inc. Service modeling and virtualization

Also Published As

Publication number Publication date
WO2014093996A3 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
US11934772B2 (en) Providing synchronous and asynchronous general user interface (GUI) input
Ono et al. CyREST: turbocharging Cytoscape access for external tools via a RESTful API
US8032591B2 (en) Systems and methods for mapping event changes in network navigation
US9043750B2 (en) Automated generation of two-tier mobile applications
CN104025079A (en) User interface for translation webpage
US20090327402A1 (en) Systems and methods for mapping user experiences in network navigation
Hamon et al. Formal description of multi-touch interactions
US10599314B2 (en) Identifying and surfacing relevant report artifacts in documents
CN111666206A (en) Method, device, equipment and storage medium for acquiring influence range of change code
US20220147498A1 (en) Generation of schemas with error resolve
CN111949272A (en) Compilation optimization method and device for hosted application, electronic device and readable storage medium
CN114443076A (en) Mirror image construction method, device, equipment and storage medium
EP3067806A1 (en) System and method for performing a multiphysics simulation
US20150067157A1 (en) Optimize data exchange for mvc-based web applications
WO2014093996A2 (en) System and method for performing a multiphysics simulation
US9471652B1 (en) Extract transform load input suggestion
CN114115855A (en) Code multiplexing method and device, computer readable storage medium and electronic equipment
US20160110387A1 (en) Product lifecycle management system
US9582782B2 (en) Discovering a reporting model from an existing reporting environment
CN112506796A (en) Data processing method, device, equipment and storage medium
Karimpour et al. Early performance assessment in component‐based software systems
CN109214846A (en) Information storage means and device
US10672157B2 (en) Bar chart optimization
CN115639990A (en) Offline package access method, system, device, equipment and storage medium
Wirawan et al. Petri Nets simulation for operational analytics based on process data: An overview

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13862259

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 13862259

Country of ref document: EP

Kind code of ref document: A2