# Apparatus and method for defining coupled systems on spatial dimensions and extra dimensions

A simulation apparatus for adding extra geometries to a model of a physical system. The apparatus is configured to modify a geometry of a model of a physical system represented in terms of a combined set of equations. Instructions on the apparatus cause one or more processors to perform, upon execution, acts comprising: (i) receiving a base geometry of the physical system, (ii) receiving one or more extra geometries associated with the base geometry, (iii) determining first geometric entities of the base geometry and second geometric entities of the extra geometry, (iv) adding the extra geometries to the base geometry by computing a product geometry of the determined first geometric entities and the second geometric entities, (v) generating an updated combined set of equations including representations of the product geometry, and (vi) generating a graphical representation of the product geometry, the graphical representation configured for display on the display device.

## Latest COMSOL AB Patents:

- System and method for adding and defining perfectly matched layers for a model of a physical system
- Systems and methods for topology and shape optimization for modeling of a physical object
- System and method for accessing settings in a multiphysics modeling system using a model tree
- System and method for creating application interfaces for multiphysics modeling
- Systems and methods for determining finite elements in physics simulation systems for modeling physical systems using common geometry shape function spaces

**Description**

**CROSS-REFERENCE TO RELATED APPLICATIONS**

This application is a continuation of U.S. application Ser. No. 13/840,664, filed Mar. 15, 2013, now abanadoned, which claims priority to and the benefits of U.S. Provisional Application No. 61/760,504, filed on Feb. 4, 2013, the disclosures of which are each hereby incorporated by reference herein in their entireties.

**FIELD OF THE INVENTION**

The present invention relates generally to methods and apparatus for modeling and simulation, and more particularly, to techniques for modeling and simulation on a computer system that include defining physical systems on spatial dimensions and extra dimensions.

**BACKGROUND**

Computer design systems are used to develop product designs and may include graphical user interfaces. Computer design systems can be complemented with packages analyzing a single aspect of a design, such as, structural analysis in conjunction with computer-aided design systems. It would be desirable to have design systems that can operate in more complex environments.

**SUMMARY OF THE INVENTION**

According to one aspect of the present disclosure, a simulation method executed in a computer system with one or more processors is configured to modify a geometry of a model of a physical system including physical quantities represented in terms of a combined set of equations. The simulation method comprises the acts of defining geometry data representing a geometry of a physical system represented by a first combined set of equations. The geometry data is associated with a first model of the physical system. Extra geometry data representing one or more extra geometries for a modified model based on the first model is defined, via one or more processors. A first set of geometric entity data representing one or more geometric entities of the geometry of the physical system from which to extend the one or more extra geometries is determined via at least one of the one or more processors. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added, via at least one of said one or more processors, to at least a portion of the determined first set of geometric entity data representing one or more geometric entities by forming product geometry data representing a product geometry for the modified model. The extra geometry data representing the one or more extra geometries is at least a part of the product geometry data. Non-discretized equation data representing a non-discretized second combined set of equations for at least a portion of the product geometry data is generated via at least one of the one or more processors. Optionally a graphical representation of at least a portion of the product geometry data is generated. The graphical representation is configured for display on a graphical user interface.

According to another aspect of the present disclosure, a simulation system for adding extra geometries to a base geometry of a model of a physical system represented in terms of differential equation comprises one or more physical memory devices, one or more display devices, one or more input devices, and one or more processors configured to executed instructions stored on at least one of the one or more physical memory devices. The instructions cause at least one of the one or more processors to perform steps comprising defining base geometry data representing a base geometry of a physical system. The base geometry data is associated with a first model of the physical system, which is represented by a combined set of differential equations. Extra geometry data is defined representing one or more extra geometries for a modified model based on the first model. A first set of geometric entity data is determined representing one or more entities of the base geometry from which to extend the one or more extra geometries. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added to the determined first set of geometric entity data representing one or more entities of the base geometry by generating product data representing a product geometry for the modified model. The extra geometry data is at least a part of the product data. Equation data is generated representing an updated combined set of differential equations for the modified model that includes at least a portion the product data. The equation data and the product data is stored in at least one of the one or more physical memory devices.

According to yet another aspect of the present disclosure, a simulation apparatus for adding extra geometries to a model of a physical system. The apparatus includes a physical computing system comprising one or more processors, one or more user input devices, a display device, and one or more memory devices. At least one of the one or more memory devices includes executable instructions for modifying a geometry of a model of a physical system represented in terms of a combined set of equations. The executable instructions cause at least one of the one or more processors to perform, upon execution acts comprising receiving a base geometry of the physical system in response to one or more first inputs received via the one or more user input devices. The base geometry is associated with a model of the physical system which is represented in terms of a combined set of equations. One or more second inputs are received via at least one of the one or more user input devices. The second inputs define one or more extra geometries associated with the base geometry. One or more first geometric entities of the base geometry and one or more second geometric entities of the extra geometry are determined. At least one of the one or more extra geometries are added to the base geometry by computing a product geometry of the determined one or more first geometric entities and the one or more second geometric entities. The one or more extra geometries are at least a part of the product geometry. An updated combined set of equations is generated including representations of at least a portion of the product geometry. A graphical representation is generated of at least a portion of the product geometry. The graphical representation is configured for display on the display device.

According to further aspects of the present disclosure, one or more non-transitory computer readable media are encoded with instructions, which when executed by one or more processors associated with a design system, a simulation system, or a modeling system, causes at least one or the one or more processors to perform the above methods.

Additional aspects of the present disclosure will be apparent to those of ordinary skill in the art in view of the detailed description of various embodiments, which is made with reference to the drawings, a brief description of which is provided below.

**BRIEF DESCRIPTION OF THE DRAWINGS**

Features and advantages of the present disclosure will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:

While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

**DETAILED DESCRIPTION**

While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail preferred aspects of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the aspects illustrated. For purposes of the present detailed description, the singular includes the plural and vice versa (unless specifically disclaimed); the words “and” and “or” shall be both conjunctive and disjunctive; the word “all” means “any and all”; the word “any” means “any and all”; and the word “including” means “including without limitation.”

Exemplary methods, systems, and apparatus for constructing geometries for models of physical systems, and forming product geometries between base geometries and extra geometries are described. The contemplated geometries can be of various dimensions and the forming or computing of a product geometry includes Cartesian products. Further exemplary aspects of the present disclosure contemplate defining physical properties, physical quantities, parameters, variables, and boundary conditions on such products, or portions thereof, that are further applied to describe a model of a physical system as a combined system of equations. In additional exemplary aspects of the present disclosure, the model is discretized and provided as a system of equations to an equation solver that solves the system of equations and provides a useful solution to an operator of a modeling or simulation system.

The exemplary aspects described herein can be particularly useful and provide a computational advantage for methods, systems, and apparatus for modeling and simulation of physical systems. Physics interfaces for modeling and simulation systems, such as physics and multiphysics modeling systems, include systems that provide for specific dimensionalities of geometries for the physical systems being modeled. Typical dimensions of geometr(ies) for a physical system that is being modeled include dimensions between zero and three. Some physics interfaces include systems for modeling on geometries of specific dimensions. For example, shell physics interfaces include systems for modeling surfaces embedded in three dimensions, or beam physics interfaces include systems for modeling line segments embedded in three-dimensions. Additionally, some physical systems that are the subject of modeling are described by a phase space that includes a higher dimensionality than three. For example, in describing spatial and velocity distributions of a gas, three dimensions can be applied for describing position and three dimensions for describing the velocity. It is contemplated that modeling such a system can include describing or defining the velocity as a field with values in each position with each value of the field representing a velocity density in that respective position.

It is contemplated that it would be desirable for a modeling system to represent or define geometries of physical systems as base geometries and to also be able to define one or more extra geometr(ies). For example, in some aspects, it can be desirable for a model of the spatial and velocity distribution of gas to include representing the spatial distribution as a three-dimensional geometry, also referred to as a base geometry, and to represent the velocity distribution as another three-dimensional geometry called an extra geometry. The phase space can then represented by a Cartesian product or product geometry of at least some of the geometric entities of the base geometry and some or all of the geometric entities of the extra geometry. Geometric entities can be understood as being at least a part or portion of a specific dimension of the geometry for a model.

A Cartesian product or product geometry is exemplified as an operation that can be implemented between two sets of data, in this case geometry data, by forming all possible combinations of objects, or geometric entities, in one set of data with objects, or other geometric entities, in the other set of data. For example, assuming a first set of data is represented by Y={1, 2, 3} and a second set of data is represented by Z={a, b, c}, the following outcome is an exemplary product geometry of the two exemplary sets of data:

*Y×Z*={(1,*a*),(1,*b*),(1,*c*),(2,*a*),(2,*b*),(2,*c*),(3,*a*),(3,*b*),(3,*c*)}.

A formation of a product geometry between multiple sets of geometry data that represent physical systems of a model can be observed in different ways. For example, in some aspects, on a set of non-discretized geometries or geometric entities, a product geometry can be formed that includes all tuples of such non-discretized geometries or geometric entities. When implemented on a modeling system, such a product geometry can create either tuples of identifiers or some sort of indexes for the geometries or geometric entities or pointers to such identifiers or indexes. It is also contemplated in some aspects that a Cartesian product can be expressed in setting the start and end conditions for several nested loops or similar algorithm operations for creating such tuples.

In some aspects of a multiphysics modeling system, including modeling systems identified elsewhere herein, systems of coupled partial differential equations (“PDEs”) may be discretized using finite elements in a base geometry and in the geometry in the extra dimension, which are associated with model(s) of a physical system. A Cartesian product of two sets of discretized geometries can include all tuples of the mesh element points that can be created between the two sets. It is contemplated that in some aspects a form of linking or concatenation can then be completed on the tuples. For example, if one tuple created from two exemplary two-dimensional geometries, such as ((1, 2), (5, 6)), includes two ordered coordinate pairs, the tuple can be modified into (1, 2, 5, 6) which would be understood to be a geometric coordinate or data point in a four-dimensional coordinate space.

It is also contemplate that on tuples of mesh element points, degrees of freedom (“DOF”) can also be defined for dependent variables. Furthermore, in some aspects, shape functions can be defined on each geometry where discretization is performed. For each tuple, shape functions can form an expression that may be product. It is then contemplated that the discretized system may be solved on the product geometry between the base geometry and the one or more extra geometries.

Methods and system for setting up and solving models, such as multiphysics models based on coupled systems of PDEs, along with other modeling systems are described in U.S. Pat. No. 8,219,373, issued Jul. 10, 2012; U.S. Pat. No. 7,623,991, issued Nov. 24, 2009; U.S. Pat. No. 7,519,518, issued Apr. 14, 2009; U.S. Pat. No. 7,596,474, issued Sep. 29, 2009; and U.S. Patent Application Publication No. 2012/0179426, published Jul. 12, 2012. Ser. No. 13/184,207, filed Jul. 15, 2011, each of which are hereby incorporated by reference herein in their entireties. These published patent documents describe, for example, method for setting up and executing multiphysics simulations, including several coupled physical phenomena, by receiving inputs in the form of physical properties that may be expressed in terms of physical quantities. In addition, the above-referenced U.S. patents and patent application disclose methods for setting up problems using physical properties, physical quantities, and physical phenomena described using partial differential equations (PDEs). These published patent documents provide for methods and systems for setting up and solve multiphysics problems using predefined application modes that are otherwise referred to in the present descriptions as physics interfaces. Components of the physics interfaces can include parameters, variables, physical properties, physical quantities, boundary and initial conditions, and solvers with settings and menus. These settings and menus may be tailored for the specific physics instead of using the generic mathematical settings. In addition, these published patent disclosures also describe methods for PDE modes, also referred to as PDE interfaces, in the cases where predefined physics interfaces are not available. The use of the generic PDE modes and PDE interfaces for setting up multiphysics problems requires knowledge about the description of physical properties, physical quantities, and physical phenomena in terms of PDEs.

It can further be desirable for modeling methods and system to include processes for defining coupled systems of equations, including coupled systems of differential equations and PDEs, on product geometries. It is further desirable for modeling methods and systems to include processes for solving coupled system of equations on product geometries. It is yet further desirable for modeling systems and methods to include processes for adding additional or extra geometries as Cartesian products to a base geometry of a model of a physical system.

In some aspects of the present disclosure, methods and systems for forming different of product geometries (e.g., a product geometry of all tuples, a product geometry expressed as start and end conditions for creating tuples) are contemplated. In some aspects, a user of the modeling system can extend a physics interface to solve problems on product geometries of arbitrary dimensionality. It is also contemplated that physics interfaces can be provides that build models that are defined on product geometries. For example, in the exemplary gas model discussed above, a user of a modeling system could draw or provide the space in which the gas is contained and the velocity distribution can be predefined as a sphere. Then, in some aspects, a product geometry between the user defined spatial space and the predefined sphere can be formed automatically by the contemplated system and methods of the present disclosure. It is further contemplated that formation of a product geometry, such as in the example of the gas, including determining the predefined sphere and the definition of extra geometries can occur within the modeling system without being displayed on a graphical user interface to the user of the modeling system.

In some aspects of a modeling system, it can be desirable to model thin structures using shells where physical propert(ies) are described as function(s) of physical quantit(ies) along the thickness of the shell. For example, in some aspects of the present disclosure, a method for adding a thickness direction in the form of an extra dimension is contemplated using an extra geometry that is a line segment. The exemplary line segment can be divided into several sub-line segments, and the sub-line segments can include or be defined with different physical properties such as material properties. This aspect can be particularly desirable because it allows physical quantities such as displacements, stresses, and strains to be modeled along the thickness of the shell. The exemplary aspect of thin structure modeling by applying shells and extra geometries is particularly desirable and provides certain computational advantages. For example, shell problems such the one described can also be solved by modeling the shell as a three-dimensional solid. However, the meshing of a shell and adding an extra geometry is a preferable and better way of defining a thin structure than defining it as a full three-dimensional solid, particularly where the dimensions of the structure are several orders of magnitude larger than the thickness of the thin shell. An example of such a thin shell structure may be an airplane fuselage.

Other exemplary physics interfaces where it can be beneficial to model the physical system using product geometries of a base geometry and one or more extra geometries include beams, reactors including porous particles, radiation in a participating media, perfectly matched layers (“PMLs”), and others. For example, for a beam, the data representing a beam cross section is defined as an extra geometry and data representing the beam axis is defined is a base geometry. For a reactor including porous particles, data representing the particles defines an extra geometry and data representing the bulk of the reactor represents the base geometry. For radiation in a participating media, an extra geometry can model the directional dependence and any wavelength dependence while the base geometry provides a spatial distribution. For PMLs, data representing boundaries is defined as a base geometry and data representing the PMLs is defined as one or more extra geometries. The PMLs are added to the boundaries by forming product geometry data representing a product geometry between the base geometry and the one or more extra geometries. It is further contemplated that for the PMLs, a scaling operation can also be defined on the product geometry.

It is contemplated that in some aspects equations, variables, operators, materials, boundary conditions etc. can be defined on a portion of a product geometry, which may also be referred to as a product of selections. In some aspects, such portions of a product geometry can be constructed, formed, or computed as Cartesian products between some of the geometric entities forming a product geometry in a base geometry, and some of the geometric entities in extra dimensions forming a product geometry. Some aspects of the present disclosure include a method for making such selections by selecting base geometry entities and extra geometry entities in a graphical user interface.

It is further contemplated that in some aspects various properties can be defined on product geometries or parts thereof by defining the desired properties on entities of an extra geometry. The properties defined on the entities of the extra geometry can then be applied to a Cartesian product of base geometry entities and the extra geometry entities. For example, a thickness direction of a multi-layer shell can be described or defined as an ordered set of layers where each layer includes material properties and a thickness. From such an ordered set of layers, a line segment can be constructed or provided automatically with several sub-line segments with each segment representing an extra geometry entity, which can include material properties being defined upon it. The line segment is the extra geometry of an extra dimension and can automatically form a product geometry with user-defined or pre-selected base geometry entities in the form of a shell. The material properties and certain other properties defined on the extra geometry entities can then applied to the portions of the product geometry, of which the extra geometries entities are a part of.

It is contemplated that the simulation methods for modifying a geometry of a model of a physical system can be executed as a standalone system that interfaces or connects with an engineering analysis system, such as a multiphysics modeling system. It is also contemplated that the simulation method for modifying a geometry can be one of a plurality of modules or routines that comprise an engineering analysis system. The simulation methods and systems can include or be connected with a user interface, such as a graphical user interface, that seeks inputs and displays instructions to a user. The simulation methods for modifying a geometry of a model of a physical system can be executed on one or more processors associated with various computer systems described elsewhere herein including, among other things, the computer systems and apparatus described for the multiphysics modeling system.

It is contemplated that is would desirable for the simulation method to be available in, or accessible to, an engineering analysis system, such as a multiphysics modeling system, as part of generating a model described in a model object (e.g., a model data structure including data fields and methods along with their interactions) in accordance with an object-oriented programming language (e.g., C++, C#, Java®).

In certain aspects of the present disclosure, a system or simulation method for generating a modified geometry of a model of a physical systems is contemplated that may be based, at least in part, on PDE formulations. The modified geometry may be generated using inputs received via a dedicated graphical user interface. The modified geometry is contemplated to be useful for engineering analysis processes operating on computer system(s) that include modules or routines for performing finite element analysis methods, finite volume methods, computational fluid dynamic methods, multiphysics methods, and the like. Computer systems embodying the engineering analysis processes may be configured with one or more graphical user interfaces that allow a system user to input and execute simulations. The computer systems may include some of the non-limiting exemplary routines or methods described above and can further include different interfaces for different types of simulations. Different user interfaces may, for example, be provided for fluid flow, heat transfer, electromagnetic, and/or structural mechanics simulations. Simulations and associated interfaces for other engineering or physics phenomena are also contemplated for computer-aided engineering analysis systems.

Systems having a dedicated graphical user interface for modifying a geometry of a model of a physical system are contemplated in certain aspects of the present disclosure. For example, a computer system may include a graphical user interface for defining the parameters, variables, physical properties, physical quantities, and/or physics interface features for a desired physics phenomena associated with a desired analysis or simulation. It is contemplated that the various routines or methods associated with the system can be executed locally on, and/or remotely through network connection(s) to, one or more processing unit(s) executing engineering analysis or simulation systems.

One exemplary aspect of a an engineering analysis method operating on a computer system that is contemplated by the present disclosure includes routines for setting up and solving multiphysics problems for simulations that may have several coupled physical phenomena. Input(s) for the analysis method(s) can be received in a form representative of physical properties that are further expressed in terms including physical quantities. The engineering analysis methods can also include routines for setting up problems using physical properties, physical quantities, and physical phenomena described using PDEs. It is contemplated that the setting up and solving of a multiphysics problem using the exemplary engineering analysis method can be accomplished via predefined physics interfaces. In addition, the setting up and solving of multiphysics problems may also be accomplished using PDE interfaces, which may also be referred to as PDE modes in situations where predefined physics interfaces are not available. It is contemplated that the use of the generic PDE interfaces for setting up a multiphysics problem can be accomplished by describing the physical properties, physical quantities, and physical phenomena in terms of PDEs.

Computer systems may be used for performing the different tasks described in the present disclosure. One aspect for using a computer system includes executing one or more computer programs, including engineering analysis components and methods, stored on computer readable media (e.g., temporary or fixed memory, magnetic storage, optical storage, electronic storage, flash memory, other storage media). A computer program may include instructions which, when executed by a processor, perform one or more tasks. In certain embodiments, a computer system executes machine instructions, as may be generated, for example, in connection with translation of source code to machine executable code, to perform modeling and simulation, and/or problem solving tasks. One technique, which may be used to model and simulate physical phenomena or physical processes, is to represent various physical properties and quantities, of the physical phenomena or physical processes being modeled and simulated, in terms of variables and equations or in other quantifiable forms that may be processed by a computer system. In turn, these equations or other quantifiable forms may be solved by a computer system configured to solve for one or more variables associated with the equation, or the computer may be configured to solve a problem using other received input parameters.

It is contemplated that computer programs for modeling and simulating physical phenomena or physical processes may provide many advantages particularly as the complexity of the physical phenomena or physical processes being modeled and simulated increases. For example, in certain aspects a user can combine one or more physical phenomena into a multiphysics model, as part of, for example, an engineering analysis. To further illustrate this example, a user may combine phenomena described by chemical kinetics and fluid mechanics, electromagnetic phenomena and structural mechanics, or other physics phenomena. Such multiphysics models may also involve multiple physical processes. For example, a process may be combined that includes an amplifier powering an actuator, where both the amplifier and the actuator are a part of one multiphysics model. Multiphysics modeling can also include solving coupled systems of partial differential equations (PDEs).

It may be desirable in certain aspects to model physical quantities of coupled multiple processes using different sets of PDEs, defined for different geometries and/or in different coordinate systems, to represent the different coupled multiple processes. It is contemplated that in certain embodiments, systems of PDEs defined for multiple geometries can be desirable. PDEs can provide an efficient and flexible arrangement for defining various couplings between the PDEs within a single geometry, as well as, between different geometries.

It is contemplated that computer systems on which multiphysics modeling systems operate, such as the modeling systems described herein, can include networked computers or processors. In certain embodiments, processors may be operating directly on the multiphysics modeling system user's computer, and in other embodiments, a processor may be operating remotely. For example, a user may provide various input parameters at one computer or terminal located at a certain location. Those parameters may be processed locally on the one computer or they may be transferred over a local area network or a wide area network, to another processor, located elsewhere on the network that is configured to process the input parameters. The second processor may be associated with a server connected to the Internet (or other network) or the second processor can be several processors connected to the Internet (or other network), each handling select function(s) for developing and solving a problem on the multiphysics modeling system. It is further contemplated that the results of the processing by the one or more processors can then be assembled at yet another server or processor. It is also contemplated that the results may be assembled back at the terminal or computer where the user is situated. The terminal or computer where the user is situated can then display the solution of the multiphysics modeling system to the user via a display (e.g., a transient display) or in hard copy form (e.g., via a printer). It is also contemplated that the solution may be stored in a memory associated with the terminal or computer, or the solution may be stored on another server that the user may access to obtain the solution from the multiphysics modeling system.

Referring now to

A base model is a model including one or more physics interfaces. The exemplary system for creating the base model in

Referring back to **101**, the process for creating the base model is commenced and this can be done via the exemplary aspect illustrated in **101***a *in dropdown menu presented in a GUI. Next, in step **102**, the dimension of a base model is specified or determined. One exemplary aspect of specifying the dimension is illustrated in **102***a *is selected, though any one of several options are available. Next, at step **103**, an exemplary interface with a menu of physics interface options is displayed to a user, as illustrated in **103***a *in a wizard. A desired physics interface can then be added to a base model by selecting the interface listing itself or a corresponding icon **103***b*. An added physics interface can also be removed by selecting a previously added physics interface and selecting a “remove” icon **103***c*. In the exemplary aspect of

Next, at step **104**, a selection can be received for a study type to be implemented for a simulation including the base model. For example, an exemplary study type list **104***a *can be displayed to a user from which a study type can be selected, as illustrated in

Finally, at step **105**, the exemplary process of creating a base model can be finalized by selecting a “Finish” icon **105***a *or through some other trigger. A created or form base model can include a set of predefined variables, parameters, physical properties, physical quantities, boundary conditions, initial conditions, and solvers that are determined according to user selections in the previous steps of the base model creation process. It is contemplated that a final base model can be displayed and otherwise accessed via additional interfaces displayed by the modeling system. To the extent a user would to edit the base model, in some aspects it is contemplated that a user may go back or proceed to the next step in the process by selecting the “back” icon **103***d *or “forward” icon **103***e *or finish the process by selecting the “finish” icon **105***a*. It is also contemplated that a user can omit making selections in steps **103** and **104** by making similar selections; in some aspects this can be done using the same or similar icons (e.g., **103***d*, **103***e*, **105***a*). Furthermore, the process can proceed immediately to step **105** at any time by selecting the “finish” icon **105***a*, bypassing any intermediate steps.

Referring now to **310**, **320** with menus are illustrated for adding a physics interface and study to a base model, according to some aspects of the present disclosure. In some aspects, if the user omitted to make selections of physics interfaces or study type in method steps **103** or **104**, or wants to make additional choices, the user may add additional physics interfaces or study types to a base model. The user may do so by selecting the base model node **300***a *and further selecting an “add physics” icon **300***b *from a subsequent menu. The process can then proceed to the exemplary physics interface list **103***a *in **300***c *in **300***d*, also from a subsequent menu, and then the process can proceed to the exemplary study list **104***a *in

Referring now to

In some aspects of the disclosed simulation systems and methods for modifying a base geometry or otherwise adding extra dimensions, physics interfaces of a modeling system can include instructions or operations for automatically defining extra dimension features. For example, the modeling system can include predefined variables, parameters, physical properties, physical quantities, boundary conditions, and initial conditions for a set of extra dimensions. Solvers may also be adapted or configured for solving models that include base geometries or base model with extra dimensions added thereto.

In some aspects of a modeling system, extra dimension features can be added manually to a base model, such as where an extra dimension feature is not predefined in a physics interface. In these situations, variables, parameters, physical properties, physical quantities, boundary conditions, initial conditions, and solvers are defined manually in the extra dimensions.

In **401** through **405** are similar to the process described in **406**, an extra dimension feature is added to the base model. In one exemplary aspect of step **406**, GUI(s) such as the one(s) illustrated in **406***a *and then of an “Add extra dimensions” icon **406***b *that may be displayed in a context menu or otherwise. The user can then be provided the option to select a button **406***c *or icon associated with the dimension (e.g., 1-D, 1-D axisymmetric, 2-D, 2-D axisymmetric, 3-D) of the extra dimensions feature. The selection can be made, for example, via a dimension list in a separate window or via the wizard previously described in

It is contemplated that a physics interface in the modeling system can be configured to automatically define settings for the one or more extra dimensions following a user's selection or activation of extra dimensions. In certain aspects, it is also contemplated that a physics interface can be predefined to include extra dimensions by default. The below discussion includes some examples of situations where extra dimensions can be automatically generated.

In some aspects, a GUI can be presented to a user that receives selections for implementing a process to automatically add perfectly matched layers to a base geometry. The process can further automatically define the PMLs following the receipt of a user's selection to add PMLs to a domain.

In some aspects, a GUI can be displayed to a user for selecting a shell physics interface. It is contemplated that the shell physics interface can be configured to generate a predefined extra dimensions feature for describing certain physical quantities and physical properties along the thickness of a shell. Such an extra dimension feature can, for example, be added by a modeling system user to allow for some customization of a model, or the extra dimension feature can be included by default for certain shell interfaces. For example, shell interfaces for thick or nonlinear shells may by default include a 1-D extra dimensions feature for describing physical properties as functions of physical quantities along the thickness of the shell.

In some aspects, a GUI can be displayed to a user for selecting a beam physics interface that includes extra dimension features for describing or defining a cross section of a beam. It is contemplated that the extra dimension features can be activated by the user based on selection, for example, for manually defining cross section(s), or the extra dimension features can be included based on defaults for certain predefined cross sections. For example, an H-beam interface may by default include a 2-D extra dimensions feature that includes a description of the H-cross section of the beam.

It is also contemplated that in some aspects a GUI can be displayed to a user for selecting a physics interface for modeling reactors with porous particles. The interface can include, for example, a predefined 1-D extra dimensions feature for describing transport and reactions along the radius of the particles. The extra dimension feature can be activated by a user or it may be included by default in the physics interface. For example, a physics interface for lithium-ion battery modeling can by default include a predefined 1-D extra dimension feature for describing lithium intercalation in graphite particles.

In some aspects, a GUI can be displayed for selecting a physics interface for modeling heat transfer that includes an extra dimension feature for describing radiation along an independent variable for wavelength. It is contemplated that while an extra dimension in this exemplary aspect may not have a geometric physical meaning it is a useful alternative for modeling heat transfer and radiation effects. Similarly, an extra dimension can be applied in another exemplary aspect to model along a coordinate that represents energy in the Boltzmann equation.

The process of adding selected extra dimensions to a base model, as exemplified above and in the context of the exemplary aspects described herein, can be finalized at step **407** by a user selecting a “finish” icon **407***a *in the GUI exemplified in

Referring now to **500** can include one or more child nodes for defining an extra dimension.

In some aspects, a definitions child node **500***a *includes another child node **500***b *that is further denoted by “Points to Attach” in the tree illustrated in **500***b *can be used to identify one or more vertices in an extra geometry that are connected to entities in a base geometry in the base model. This may assist in identifying physical quantities and physical properties in a product geometry with the corresponding physical quantities and physical properties in a base geometry. For instance, in an exemplary aspect of a base geometry including a 2-D geometry forming a 3-D product geometry with a 1-D extra geometry in an extra dimensions feature, the point of attachment can be used identify a vertex in the product geometry which shares the value of physical quantities and physical properties with the base geometry.

A definitions context menu may be displayed by selecting the definitions node **500***a *and include different settings **500***c *for view, selections, extra dimension integration, variables, and coordinate system. Additional child nodes may be added to the definitions node by selecting one or more of the settings **500***c*. It is contemplated that a user can define viewing setting such as light settings, grids and geometry labels using additional settings available under the “View” setting. Selections can be applied to create specific selections of geometric entities, which may be customized by a user. Extra dimension integration can be used to integrate over geometries including extra dimensions. Variables can include symbolic expressions that may be defined on the extra dimension, though variables defined on a product geometry may be defined using a variables node in the base geometry. Coordinate systems listed in the context menu can include settings describing the coordinate system of the extra dimension.

In some aspects, a geometry child node **500***d *can include information about extra geometries created in an extra dimensions feature. Furthermore, a mesh child node **500***e *can include information about meshes on extra geometries. **500***f *for the extra dimension feature, which can be accessed through user selections, such as a “Settings” icon **500***g*. A settings window **500***f *can include a user editable extra dimension identifier **500***h *which can be automatically set by the system to a unique identifier. Furthermore, a settings window **500***f *can also include user editable names **500***i *of spatial coordinates that are applied in the extra dimension, where the unique names may be automatically assigned by the system. It is also contemplated that a geometry shape order **500***j *can be selected or set to an automatic setting in the settings window **500***f*. The geometry shape order sets the order of curved mesh elements that may be used to describe an extra geometry using finite elements.

Referring now to **600** is illustrated in **500***d *from **610**. Selecting the geometry node **610** can confirm the presence of a predetermined base geometry or allow the creation of the base geometry. The base geometry can be created similar to the creation of extra geometries, which are now described. An extra geometry can be constructed from geometric primitives **600***a *and operations **600***b*, exemplary aspects of which are included in **600***c*, such as the exemplary window illustrated in **600***f*). It is also contemplated that in some aspects, the base geometry and extra geometry data can be imported **600***d *or received as file data stored in a memory device or by linking **600***e *to a CAD system.

As previously described above, in some aspects where a physics interface automatically defines extra dimensions features, the shape of an extra geometry may be predefined. For example, when adding a PML feature to a radio frequency model, adding a thickness to a shell in a shell model, or adding a porous particle catalytic bed to a reacting flow model, extra geometries in the form of line segments can be generated automatically by the respective physics interfaces. Some further examples include physics interfaces for modeling heat transfer by radiation in 3-D, or Boltzmann equations in 3-D, that generate spheres or surfaces of spheres as extra geometries. For some aspects, a user can also define some characteristics of the predefined shapes in a GUI, such as the thickness of a shell in the shell model example.

It is contemplated that base dimensions and extra dimensions include identifiers. In addition, geometries and geometric entities also include identifiers. Such identifiers can be used to make lists, code, and data-structures specifying sets of base geometry entities that may form a Cartesian product with sets of such identifiers of geometric entities in extra geometries. Such Cartesian products are product geometries for non-discretized geometries. Product geometries for non-discretized geometries can be used to form or construct Cartesian products of discretized geometries. For discretized base geometries and discretized extra geometries, a product geometry is the Cartesian product of the set of mesh element points of a selection of base geometry entities with the mesh element points of an extra geometry or with a Cartesian product of the sets of mesh element points of two or more extra geometries.

Referring now to

In some aspects the process is initiated at step **701** by selecting an option to attach extra dimensions, such as icon **800***a *illustrated in **702**, a selection or determination of base geometry entities is made. This step can be implemented through a first selection of a geometry entity level, through for example a displayed list of options **800***b *(e.g., domain, boundary, edge, point) or selectable icons **800***c*, as illustrated in **800***d *or can be displayed as a graphical representation of a base geometry entity. It is contemplated that in some aspects while only base geometry entities of the selected geometry entity level may be displayed in step **702**, all base geometry entities directly adjacent to the selected entities in the geometry, which are of a lower geometric entity level, can further be automatically selected by the modeling system. For example, in some aspects, for a 3-D geometry, if “domains” is the displayed geometry entity level, and a domain is chosen, all boundaries, edges, and vertexes directly adjacent to the domain are also selected. As another example, for some aspects, if a displayed geometry entity level is “edges” and an edge is selected, only the two entity levels that are the directly adjacent vertexes are automatically selected in addition to the selected edge.

Next, at step **703**, a selection of extra geometries is implemented. In some aspects, this step can be implemented by selecting one or more extra dimensions from a list **800***f*, such as the one illustrated in **800***e *in **600***f *illustrated previously in

Next at step **704**, a determination is made if two or more extra dimensions have been selected in step **703**. If the determination is true, a Cartesian product of the two or more extra geometries is automatically constructed or computed in step **705**. The Cartesian product of extra geometries can also be referred to as a product of extra geometries. If the determination is false, only one extra dimension has been selected and the method proceeds to step **706**.

Next, at step **706**, a product geometry is formed or computed as a Cartesian product of the selection made in the step **702** with the selection made in step **703** or with the Cartesian product formed in step **705**. In some aspects, the product geometry can be formed by coupling a list, including pointers (or identifiers) to base geometry entities selected in step **702**, to a second list, including pointers to the selection of extra geometries made in the third method step **703**.

Finally, at step **707**, the process for creating a product geometry is completed, and the product geometry from step **706** can be stored or added to a list, code, or data structure.

It is contemplated that in some aspects if extra dimensions features have been generated automatically by a physics interface and extra geometries have been generated, instructions for the process of forming product geometries are predefined. For example, a product geometry between a 3-D geometry describing a shell and a 1-D geometry (e.g., a line) describing a thickness direction can be formed automatically.

In some aspects, it can be desirable to define variables, expressions, operations, and materials on at least a portion of a product geometry. The portions of a product geometry can be referred to as a products of selections. A product of selections is conceptually similar to a product geometry, but there are some differences. A product geometry is formed as a product of geometric entities in a base geometry and geometric entities in extra geometries. A product of selections differs in that it is a Cartesian product of a selected portion of the geometric entities of the base geometry and selected portions of the geometric entities of the extra geometries. A portion of a product geometry formed by a Cartesian product between a set of base geometry entities and a set of extra geometry entities can also be referred to as a product of entities. It is contemplated that a modeling system can be operable to include a process or instructions for creating a product of selections in various physics interfaces and features. It is also contemplated that a product of selection tool can be a feature itself in a physics or multiphysics simulation system.

Referring now to

At step **901**, it is contemplated that base geometry entities are displayed, such as in a list **1000***a *as illustrated in **1000***e *and **1000***f *in

At step **902**, a selection is made from among one or more base geometry entities displayed in the list or in the graphical representations displayed in step **901**. Next, at step **903**, the extra geometries forming a product geometry with geometric entities in the base geometry are displayed. In some aspects of the present disclosure, the extra geometries can be displayed in a list **1000***b*, as illustrated for example in **1000***e*, sphere at **1000***f*).

Next, at step **904**, a selection is made from among the extra geometries displayed in step **903**. In some aspects, this selection is made via exemplary selections made from a displayed or a graphical representations displayed in a GUI. (see, for example, elements **1000***b*, **1000***e*, **1000***f *in **902** and the selected extra geometries includes a product of entities that is not a portion of the product geometry, any base geometry entity that is part of such a product of entities will be automatically removed from the selection in the second method step **902**. It is also contemplated in some aspects that the generation of such product entities can generate an error message. In addition, it is contemplated in certain aspects, to only allow selections of extra geometries whose Cartesian product with the selection in step **902** forms at least a portion of the product geometry. It is further contemplated that in some aspect such geometric entities are highlighted (e.g., bolded font, different color), such as on a display so as to be readily visible to a user of the modeling system.

Next, at step **905**, extra geometry sections are generated. For example, in the GUI displayed in **1000***i*) are automatically generated and appended to the GUI based on the extra geometries selected in step **904**. In the exemplary sections **1000***i *in **904**. For example, if a selection was made in the step **904** of a Cartesian product between two extra geometries, two sections, one for each extra geometry, can be generated. If a single extra geometry was selected in step **904**, then in some aspects only one section is generated.

It is contemplated that in some aspects of the process for creating or forming a product of selections, step **905** can include a choice of geometric entity levels that can include several choices, such as an entire (extra) geometry, domains, boundaries, edges, and points. An exemplary aspect of an interface for receiving selections of these choices or options **1000***c *is illustrated in **906**. The options can include a “manual” option and another option for (all) domains, (all) boundaries, (all) edges, or (all) points in accordance with the option selected for the geometric entity level. If “manual” is chosen, selection can be received for geometric entity numbers displayed on a list of entities or from a graphical representation thereof (which in some aspects, may be displayed in step **906**). An exemplary aspect of an interface for receiving selections of these choices or options **1000***d*, **1000***g *is illustrated in **906**, the extra dimension geometric entities may be displayed in a GUI. For example, in exemplary

Next, at step **907**, extra geometry entities, which may have been displayed in step **906**, can be selected using the sections generated in step **905**. In some aspects, a user can choose an entire (extra) geometry, as illustrated in **1000***c*, a second choice may be made from a second drop down list **1000***d *and the user can select all geometric entities of a specific geometric entity level or a manual option. If a user chooses the manual option, a third choice can be made in another list **1000***g *or in a graphical representation of the extra geometry, where specific geometric entities can be selected. It is contemplated that the selection process of step **907** is performed for each section generated in step **905**. It is further contemplated that a set of geometric entities is further be selected for each section.

Next, at step **908**, a product of selections is formed. In some aspects, the product of selections is formed as a Cartesian product between the set of geometric entities selected from the base geometry in the step **902** and the set of extra geometry entities in step **907**. It is contemplated that the product of selections can be formed from a list including pointers (or identifiers) to base geometry entities selected in step **902** and then coupled using a second list including pointers to the selection of extra geometry entities made in step **907**.

As discussed above, it is contemplated that is can be desirable to define variables, operations, expressions, and materials on products of selections. These processes are described in more detail below. Defining variables, operations, expressions, and materials on a product of selections can involve including a list defining a product of selections, or a pointer to such a list, in a data structure describing variables, operations, expressions, and materials.

Referring now to **1100***a*) for the variable and an expression (e.g., **1100***b*). A product of selections can then be constructed or formed using a product of selections tool exemplified by interface **1100***c*. An outcome of the formation of the product of selections can include that a variable with the variable name (e.g., **1100***a*) and the expression (e.g., **1100***b*) is then automatically defined on the product of selections. Variables can also be defined on extra geometries in a similar fashion by selecting variables in a definitions context menu under an extra dimension feature (e.g., **500***a *in

Referring now to **1200***a*), as exemplified by **1200***b*) or be automatically generated by a multiphysics system. The integration on a product of selections can be defined by using a product of selections tool or interface exemplified thereby (e.g., **1200***c*). It is further contemplated that the operation name (e.g., integration) can be used in other features such as variables. For instance intop1(u) is the integral over the variable, u, on the product of selection defined using a product of selections tool.

It is further contemplated that in some aspect, a user can integrate in extra geometries. For example, a user can select extra dimension integration from a definitions context menu of an extra dimensions feature. The user can then define an integration operator with a name. The user may define the integration operator on one or more extra geometries or parts thereof by selecting geometric entities in a list or graphical representation of one or more extra geometries. It is also contemplated that the user can define an integration order of the integration operator. One or more such integration operators may be used to form expressions. An example of such an expression is xd3.intop2(u), which may be used to integrate over the variable, u, over some part of extra geometries in extra dimension 3, xd3. intop2 is the name of the integration operator, xd3 signifies that intop2 is the name as defined in extra dimension 3. xd3 may not be necessary if the name intop2 is unique. u may denote a variable representing a physical quantity.

To integrate over a product of extra geometries using strings, it is contemplated that two or more integration operators are used. An example of such an expression is: xd2.intop1(xd3.intop2(u)). Here xd2.intop1 refers to integration in extra geometries or parts thereof in extra dimension 2 and xd.3intop2 refer to integration in extra geometries or parts thereof in extra dimension 3 and u is a variable.

It is contemplated that other operators for finding the average, maximum, or minimum value of a variable may work in a similar fashion using operator names such as avg1, max1 or min1.

Operators for pointwise evaluation of variables are also contemplated in some aspects. These operators can be used in strings in a similar fashion to what is described above with the additional specification of the dimensionality of the entity in which to evaluate. For example, to evaluate the variable u on a boundary (1-D) of a 2-D extra geometry in an extra dimension with an identifier xd3 and global coordinates (0.3, 0.4), the following exemplary string may be used: xd3.atxd1(0.3,0.4,u). Here, xd3 specifies that the operation on u is with respect to the variable named u in xd3. atxd is the name of the operator which evaluates a variable in a point. atxd1 specifies that the evaluation is on a 1-D extra geometric entity (hence the 1 after atxd). 0.3,0.4 gives the coordinate pair and, u, the variable to be evaluated.

In some aspects, to make a pointwise evaluation in a product of extra geometries, more than one atxd operator is used. For example, given the product of extra geometries between a 1-D extra geometry in an extra dimensions xd4 and a 2-D extra geometry xd2, the following string may be used to find the value of u (in the point (0.7,0.9) in xd4 and the point (0.5) in xd2) on the product of entities formed between the boundary of xd2 and the xd4 domain: xd2.atxd1(0.7,0.9,xd4.atxd1(0.5,u)).

Referring now to **1300***a*) can be accessed by selecting a materials node (**1300***b*) and further selecting material (e.g., **1300***c*). Once in the settings window, a user can define various material properties (e.g., **1300***d*). A product of selections can be constructed using a product of selections tool as exemplified by interface **1300***e*. The material properties set in the interface (e.g., **1300***d*) can automatically be defined on the product of selections. Alternatively, it is also contemplated that a predefined material can be used on a product of selections by accessing a material browser, selecting a predefined material, selecting the node for the predefined material, accessing a settings window including a product of selections tool, and then defining a material on a product of selections. A selected material can include an identifier, which may be used when defining materials on products of selections in other ways, such other ways are described elsewhere.

It is also contemplated that in some aspects materials and other properties can be defined using a specific tool for defining a material and other properties on geometric entities in extra geometries. For example, when forming products of entities with entities in base geometries, the material and other properties defined on the entities in the extra geometries may be automatically defined on the product of entities. Several such tools may be combined in one feature, where each tool is located in a part of a settings window of the feature. It is also possible that the tools may be separate features. Such tools may be referred to as “materials sections tools”.

Referring now to

It is contemplated that layered structures can be used for examples describing multi-layer shells. A multi-layered shell can include several layers in a specific order. Each layer may have certain properties such as material, layer thickness, and in some instance layer orientation. Each layer can be identified by one or more identifiers. Several such layers can form a layer section that may be identified by a user editable identifier. The layered structures materials section can include user editable fields and drop down lists. Exemplary aspects of such fields from **1400***a*, layers section identifier **1400***b*, layer order **1400***c*, layer thickness **1400***d*, layer material **1400***e*, layer orientation **1400***f*, and layer identifiers **1400***g. *

It is contemplated that in some aspects the number of layers field a user can define the number of layers that are in a layer section. The number affects the number of fields and drop down list that can be made available. For instance if 3 is typed in the number of layers field the system may automatically create 3 sets of fields and drop down list, each set of fields and drop down lists describing one layer.

It is contemplated that in some aspects the layers section identifier can include a user editable identifier for a set of layers.

It is contemplated that in some aspects the layer order can describe the position of an individual layer among other layers. Such a position may be described by a number, for instance 1, designating a lowest layer, and 2, the layer above the lowest layer etc.

It is contemplated that in some aspects layer thickness can describe the thickness of an individual layer. This may be described as a fraction of a total thickness of all layers, as a physical quantity, or as an expression of physical quantities.

It is contemplated that in some aspects layer material can include a user editable field where a user may identify a material by its unique identifier. It is also contemplated that a user may identify a material in some other way or there may be several sub fields where a user could designate one or more material properties.

It is contemplated that in some aspects layer orientation can include a list with selections such as isotropic, or anisotropic, where a section in a settings window may allow the definition of the orientation of the layer in relation to a coordinate system.

It is contemplated that in some aspects layer identifiers may include the name of a layer or descriptors. A user may add more identifiers as needed. Layer identifiers may be used elsewhere in the software to refer to all layers including such identifiers.

In some aspects, a layered structures materials section can includes a layer number menu where a user can select a layer, as exemplified by element **1400***j *in **1400***i*. In another part of the layered structures materials section, layer thickness, layer material, layer orientation, and layer identifiers can be specified for the selected layer. In this example, the user defines the layer in a certain position rather than defining layers and their position.

It is further contemplated that an extra geometry can be automatically constructed or formed using information received from the described fields. For example, a line segment can be constructed, where the line segment is divided into several sub-line segments, and each sub-line segment having a length defined by the layer thickness field. The order of the line segments can be defined by the layer order fields and the material.

In some aspects, it is contemplated that an exemplary pipe materials section can include user editable fields and lists. Examples of such fields and lists include pipe shape, surface roughness, layers, and pipe identifiers. Pipe shape can describe the cross section of the pipe. The cross-sections can include predefined shapes such as circular with a user defined radius, square or rectangular with user defined sides, other two-dimensional shapes that may be defined by a set of parameters, user defined cross section with a user defined cross sectional area and wetted perimeter, or a user defined cross-section which may be imported or constructed using geometry tools in a multiphysics modeling system. A drop down list may include the possibility to describe surface roughness of pipes using several common roughness parameters, or the roughness may be defined as a physical quantity.

It is contemplated that layers can be described by lists and user editable fields such as those described for layered structures. It is also possible that a layer can be referred to by an identifier. Pipe identifiers can include the name of a pipe material section or descriptors. A user may add more identifiers if needed. Pipe identifiers may be used elsewhere in the system to refer to all pipes including such identifiers.

In some aspects, beam cross sections are contemplated that can include fields such as cross-sectional area, moment of inertia about local z-axis, distance to shear center in local z direction, moment of inertia about local y-axis, distance to shear center in local y direction, or torsional constant. Bending stress evaluation points can be chosen, for example, from section heights or from specified points using list that depend on which one of the following two sets of fields that may be present. If based on section heights, the list can include, section height in local y-direction, section height in local z direction, torsional section modulus, max shear stress factor in local y direction, and max shear stress in local z direction. If based on specific points, the list can include list of points in cross section, torsional section modulus, max shear stress factor in local y direction, and max shear stress factor in local z direction.

In some aspects, a materials section tool for inhomogeneous materials is contemplated that can include edit fields and lists. Examples of such edit fields and lists include fractions and material for each fraction. The materials section tool can include operations for saving materials sections to a file in a memory or loading materials sections from a file to a memory accessible to the modeling system.

Referring now to **1500***b*. In addition, it is contemplated that in some aspects an advanced physics option **1500***c *is selected, as illustrated in **1500***d *associated with a product of selections tool (see, e.g., **1500***a *on a product of selections.

Referring now to **1600***a*, which can then open a settings window. The settings window exemplified in **1600***b *associated with a product of selections tool for defining a weak constraint entered in the constraint field **1600***c *on a product of selections.

Referring now to **1700***a*, which can then open a settings window. The settings window exemplified in **1700***b *associated with a product of selections tool for defining a pointwise constraint entered in the constraint field **1700***c *on a product of selections.

Referring now to **1800***a*. Adding an auxiliary dependent variable as well as a weak equation can be desirable for allowing a user to define weak equations on a product of selections. The field variable name **1800***b *can be the name of the dependent variable. An initial value and an initial time derivative may also be set, as exemplified in **1800***c *associated with a product of selections tool (see, e.g.,

It is contemplated that in some aspects of the simulations methods and systems described herein that initial values on products of selections described, for example, in

It is further contemplated that PDEs can be applied to form a system of user editable coupled PDEs, whether the PDEs are predefined on product geometries by physics interfaces or by a user. To solve the system of coupled PDEs, the PDEs can be discretized and DOFs defined on discretized product geometries. To determine the number and locations of DOFs, the base geometry and extra geometries are meshed, discretizing the base geometry and the extra geometries in mesh elements expressed by shape functions. A discretized product geometry is formed by the set of mesh points on the base geometry and the set of mesh points on extra geometries forming a Cartesian product. Such a Cartesian product includes tuples of mesh points on which the DOFs are defined. Once the base geometry and the extra geometries have been meshed, a product geometry has been formed, and DOFs have been assigned, then the model may be solved.

Referring now to **1900***a *(e.g. Mesh1, Mesh2 respectively) under the base model and under the extra dimensions, as exemplified in **1900***b*). If a user selects user controlled mesh, then various additional settings windows may become available in relation to child nodes of the mesh node. If the mesh is physics controlled the user may further select an element size (e.g., **1900***c*).

In some aspects, PDEs can be discretized according to the following process exemplified as a 2-D problem for simplicity. In some aspects, a starting point for a discretization process is a weak formulation of the problem.

Discretization of the constraints identified by Equation 1 can start with the constraints on the boundaries, B.

0=*R*^{(2)}*onΩ*

0=*R*^{(1)}*on B *

0=*R*^{(0)}*on P* Equation 1

For each mesh element in B (e.g., each mesh edge in B), the Lagrange points of some order k are considered and denoted by x_{mj}^{(1)}, where m is the index of the mesh element. Then the discretization of the constraint is

0=*R*^{(1)}(*x*_{mj}^{(1)}) Equation 2

where the constraints hold pointwise at the Lagrange points.

The Lagrange point order k can be chosen differently for various components of the constraint vector R^{(1)}, and it can also vary in space. In some aspects of modeling system, such as multiphysics modeling systems, data structures denote the k as cporder. The constraints on domains Ω and points P can be discretized in the same way. All the pointwise constraints can be collected in one equation 0=M where M is the vector including all the right-hand sides.

A multiphysics modeling system can approximate the dependent variables with functions in the chosen finite element space(s). This means that the dependent variables are expressed in terms of the degrees of freedom as

where φ_{i}^{(l) }are the shape functions for variable u_{l }and letting U be the vector with the degrees of freedoms U_{i }as its components. This vector can be called the solution vector because it is include the what is desired to be computed. M depends only on U_{i }so the constraints can be written 0=M(U).

The difference between the discretizing of PDEs on a normal geometry and a PDE on a product geometry can be in how the shape functions are expressed. The shape functions can be defined on a base geometry and an extra geometry. While the above expression may still be used φ_{i}^{(l) }should be seen as being composed of the shape functions on the base geometry ψ_{a}^{l }and the shape functions on the extra geometry θ_{b}^{l}. In some aspects, shape functions can form a product where:

*u*_{l}=Σ_{a}Σ_{b}*U*_{ab}ψ_{a}^{l}θ_{b}^{l} Equation 4

In the more general case we may view φ_{i}^{(l) }of Equation 3 as a function of ψ_{a}^{l }and θ_{b}^{l}.

Now the weak equation is considered:

where μ^{(i) }are the Lagrange multipliers.

To discretize the weak equation, the dependent variables are expressed in terms of the DOFs as described earlier. Similarly, the test functions can be approximated with the same finite elements (this is the Galerkin method):

Because the test functions occur linearly in the integrands of the weak equation, it can be enough to specify that the weak equation holds when the test functions are chosen as shape functions:

*e*_{i}=φ_{i}^{(l)} Equation 7

When substituted into the weak equation, this gives one equation for each i.

Now the Lagrange multipliers can be discretized. Let

*A*_{mj}^{(d)}=μ^{(d)}(*x*_{mj}^{(d)})ω_{mj}^{(d)} Equation 8)

where x_{mj}^{(d) }are the Lagrange points defined earlier, and ω_{mj}^{(d) }are certain weights, as discussed elsewhere in more detail. The term

is approximated as a sum over all mesh elements in B.

The contribution from mesh element number m to this sum is approximated with the Riemann sum

where ω_{mj}^{(1) }is the length (or integral of ds) over the appropriate part of the mesh element. The integral over Ω and the sum over P can be similarly approximated.

The above operation can yield the following discretization of the weak equation:

0=*L−N*_{pΛ} Equation 11

where L is a vector whose ith component is

evaluated for

*e*_{i}=φ_{i}^{(l)} Equation 13

Λ is the vector including all the discretized Lagrange multipliers Λ_{mj}^{(d) }Λ_{mj}^{(d)}. N_{F }is a matrix whose ith row is a concatenation of the vectors

φ_{j}(*x*_{mj}^{(d)}*h*^{(d)}(*x*_{mj}^{(d)})^{F} Equation 14

For problems using ideal constraints, N_{F }is equal to the constraint Jacobian matrix N, which is defined as

To sum up, in some aspects, the discretization of the stationary problem is

0=*L*(*U*)−*N*_{p}(*U*)_{A }

0=*M*(*U*) Equation 16

It is contemplated that an objective of the above operation is to solve this system for the solution vector U and the Lagrange multiplier vector Λ. L is called the residual vector, M is the constraint residual, and N_{F }is the constraint force Jacobian matrix. M is redundant in the sense that some pointwise constraints occur several times. Similarly, Λ is redundant. Equations solvers remove this redundancy.

The integrals occurring in the components of the residual vector L (as well as K, as discussed elsewhere herein) are computed approximately using a quadrature formula. Such a formula can compute the integral over a mesh element by taking a weighted sum of the integrand evaluated in a finite number of points in the mesh element. The order of a quadrature formula on a 1-D, triangular, or tetrahedral element is the maximum number k such that it exactly integrates all polynomials of degree k. For a quadrilateral element, a formula of order k integrates exactly all products p(ξ_{1})q(ξ_{2}), where p and q are polynomials of degree k in the first and second local coordinates, respectively. A similar definition can be applied for hexahedral and prism elements. The accuracy of the quadrature can increase with the order, while the number of evaluation points also increases with the order, as well. As a rule of thumb, in some aspects the order may be twice the order of the shape function for the finite element being used. In some aspects, multiphysics data structures can refer to the order of the quadrature formula as gporder, where gp denotes Gauss points. In certain aspects, the maximum available order of the quadrature formula (the gporder value) may be (i) 41 for 1-D, quadrilateral, and hexahedral meshes; (ii) 30 for triangular and prism meshes; and (iii) 8 for tetrahedral meshes.

Discretization of a time-dependent problem may be similar to a stationary problem

0=*L*(*U,{dot over (U)},Ū,t*)−*N*_{F}(*U,t*)Λ

0=*M*(*U,t*) Equation 17

where U and Λ now depend on time t.

Now, considering a linearized stationary problem, the linearization “point” u_{0 }corresponds to a solution vector U_{0}. The discretization of the linearized problem is

*K*(*U*_{0})(*U−U*_{0})+*N*_{F}(*U*_{0})Λ=*L*(*U*_{0})

*N*(*U*_{0})(*U−U*_{0})=*M*(*U*_{0}) Equation 18

where K is called the stiffness matrix, and L(U_{0}) is the load vector. For problems given in general or weak form, K is the Jacobian of −L:

The entries in the stiffness matrix can be computed in a similar way to the load vector, namely by integrating certain expressions numerically. This computation is called the assembling the stiffness matrix.

If a problem is linear, then its discretization can be written

*KU+N*_{pΛ}*=L*(0)

*NU=M*(0) Equation 20

Similarly, for a time-dependent model the linearization involves the damping matrix

and the mass matrix

When E=0, the matrix D is often called the mass matrix instead of the damping matrix.

Discretization of an eigenvalue problem is

λ^{2}*E*(*U*_{0})*U−λD*(*U*_{0})*U+K*(*U*_{0})*U+N*_{F}(*U*_{0})Λ=0

*N*(*U*_{0})*U=*0 Equation 23

where U_{0 }is the solution vector corresponding to the linearization “point.” If the underlying problem is linear, then D, K, and N do not depend on U_{0}, which yields:

*KU+N*_{pΛ}*=λDU−λ*^{2}*EU *

*NU=*0 Equation 24

In some aspects, weak constraints provide an alternative way to discretize the Dirichlet conditions, as opposed to the pointwise constraints described earlier. The idea is to regard the Lagrange multipliers μ^{(d) }as field variables and thus approximate them with finite elements. This concept also introduces corresponding test functions ν^{(d)}. Multiplying the Dirichlet conditions with these test functions and integrating gives the following system, in the case of a stationary problem in 2-D:

These weak equations can be combined to form a single equation. This treatment of the Lagrange multipliers as ordinary variables can produce a weak equation without constraints. This can be useful if the Lagrange multipliers are of interest in their own right.

It is contemplated that combining pointwise and weak constraints unique situations can arise. For example, if both types of constraints are present for some variable, and the constraints are in adjacent domains, the resulting discretization may not work. Instead, it is contemplated that pointwise constraints can be obtained from the weak constraints formulation by using the shape functions

δ(*x−x*_{mj}^{(d)}) Equation 26

for the Lagrange multipliers and their test functions, that is, let

where δ is Dirac's delta function.

In some aspects, physics interfaces in modeling systems can be operable to predefine dependent variables on product geometries. This is can be a desirable aspect as exemplified below.

An exemplary aspect of the present disclosure can include a structural shell interface where a user describes the thickness direction of a shell as an extra dimension and a surface constituting a base geometry. In general, a shell element discretization is suited for structures which are thin in one direction. The displacement, stresses, and strains may be described by displacement and rotation physical quantities located on the mid-surface of the shell. Such a mid-surface may be described using a base model including a three-dimensional surface constituting a base geometry. The three-dimensional surface may be curved in a three dimensional space. For linear elastic problems, this may be the only information needed for solving a structural problem, since the shell theory assumptions allows for an analytical representations of the variations of all structural quantities in the thickness direction.

An extra dimension can be introduced when some physical quantity varies along the thickness and when this variation may not be handled analytically. It may also be introduced as a convenience for describing a variation in material in the shell for instance for multi layered shells. The thickness direction is then described as a line segment which is an extra geometry. The extra geometry may form a product geometry with the base geometry and the relevant physical quantities may then be defined on the product geometry. There are two situations where such an approach may be used for structural shells. The first is where stiffness contributions from different levels in the shell cannot be analytically integrated through the thickness. This would for example be the case for a nonlinear elastic or hyperelastic materials. In this case an extra dimension can be used to integrate nonlinear functions through the thickness, that is, the extra geometry. The second is where state variables are computed and stored at different levels in the shell thickness direction. This would be the situation for e.g. elastoplastic and creep materials. The concept is examined more in detail below in the context of creep materials.

For a material which experiences creep, the rate of the creep strain tensor ({dot over (ε)}_{c}) can be described as

{dot over (ε)}_{c}=ƒ(σ,*T,t*) Equation 28

Here, σ denotes the stress tensor, T the temperature, and t the time. The function ƒ is usually strongly nonlinear. The creep strain tensor is symmetric, and will thus have six independent components. Since the stress state, and possibly also the temperature, will vary through the thickness of the shell, the creep strain rate will have a strong variation with the local coordinate through the thickness (ζ).

The constitutive law used for computing the stresses is

σ=*D*:(ε−ε_{c}) Equation 29

where : denotes inner product. D is the fourth order elastic constitutive tensor and ε is the total strain tensor which is computed from the displacements and rotations at the mid-surface of the shell. To compute the stress and the Jacobians for the stiffness matrix, creep strain should be available through the thickness. The expressions, variables and parameters may be expressed in a symbolic form in a GUI in a physics or multiphysics simulation system. Furthermore, predefined expressions can be user editable.

Other physical quantities such as temperature and heat flux may also be described in physics interfaces using PDEs. In these PDEs, physical properties may be expressed as functions of physical quantities in PDEs defined on the product geometry. These PDEs may form a coupled system of PDEs, together with the PDEs describing the structural problem (including, for example creep strain). The PDEs of such a coupled system may be user editable.

The extra geometry, which is in the thickness direction, may be discretized and form a product geometry with the discretized base geometry. The PDEs describing the structural problem may be discretized together with PDEs describing other physical quantities and may then be expressed as degrees of freedom on the discretized product geometry. The shape functions selected for the structural problem can have any type of continuity in the direction along the thickness.

The structural problems may be solved independently or together with equations for other physical quantities using a numerical solver. A user may thus be able to model creep strain independently or coupled to other physical quantities (described in other physics interfaces) in a shell interface by describing the thickness direction using an extra geometry, said extra geometry forming a product geometry with the base geometry.

It may be desirable to model multi-layer shells using an extra geometry to construct product geometries. In particular, it may be beneficial to describe the thickness direction using either a materials section feature, including functionality for describing layered structures, or by including such edit fields in for example a settings window for a shell physics interfaces.

Another exemplary aspect includes a structural beam interface. The same considerations as for shells apply. The difference is that the standard beam formulation introduces displacements and rotations along a line or a curve. A 2-D extra geometry can be specified for representing the beam cross section and nonlinear functions or state variables may be described in the cross section.

For the structural beam aspect, a base geometry can be constructed as a line segment or curve segment, which may be curved or twisted in a 3-D space. The extra geometry representing the cross section may be loaded from a file, obtained from a library of beam cross sections, or constructed using the tools for creating geometries described elsewhere. It is also possible that the cross section is described by referring to a beam cross-section defined in a materials section described elsewhere. A product geometry is formed between the base geometry and the extra geometry. Various user editable expressions describing physical quantities, for instance the creep strain tensor are defined on the product geometry, in the form of PDEs, possibly forming a coupled system with other PDEs. The model is discretized analogously to the shell example and solved either independently or as the coupled system using a numerical solver. A user may thus be able to model creep strain independently or coupled to other physical quantities (described in other physics interfaces) in a structural beam interface by describing the cross section using an extra geometry, said extra geometry forming a product geometry with the base geometry.

Yet another exemplary aspect is a packed bed reactor which can be modeled using a base geometry and forming a product geometry with an extra geometry. The packed bed reactor is one of the most common reactors in the chemical industry, for use in heterogeneous catalytic processes. Such a reactor may include a container filled with catalyst particles. These particles may be supported by a structure, like tubes or channels, or they can be packed in one single compartment in the reactor. Some of the complexities of modeling mass and energy transport in a reactor lies in the description of the porous structure, which gives transport of different orders of magnitudes within the particles and between the particles. In most situations, the structure between particles is described as macroporous structure and the particle radius can be of the order of magnitude of 1 mm. When a pressure difference is applied across the bed, convection arises in the macroporous bulk of the reactor. The pores inside the catalyst particles form the microstructure of the bed and transport in this microstructure takes place mainly in the form of diffusion. By applying an extra dimension approach, a time dependent model can provide the mass and reaction distributions in the reactor and within each catalyst pellet in the reactor. This makes it possible to evaluate the utilization of catalyst load, optimal pellet size, or inlet temperature.

A model can be defined for a reactor where the pressure drop, convection, and diffusion takes place in three-dimensions. Assuming that the particles are spherical, only the transport and reactions along the radius may be specified in a model. Different dimensionalities with respect to the reactor and pellets would use a similar approach.

Referring now to

**2000***a *and the catalyzed oxidation of propylene to water and carbon dioxide **2000***b*. The reaction rate for equation **2000***a *is provided at element **2000***c *and the reaction rate for equations **2000***b *is provided at element **2000***d*. Rate constants may be calculated using the Arrhenius equation **2000***e*. Values for the activation energy E and the frequency factor A are provided in table **2000***f. *

**2100***a*, where c is the total concentration which is the concentration of all species including the solvent **2100***h, t *is the time, u is the reactor flow velocity, and s a sink/source term reflecting that while atoms are not created or destroyed, the number of molecules may vary due to reactions. The pressure gradient in the reactor is related to the flow velocity through Darcy's law **2100***b*, where P denotes pressure, k is the permeability of the packed bed reactor, and η is the viscosity of the gas flowing through the reactor. The total molecular flux is the sum of the flux of each species N_{i }**2100***c*. The species flux in the reactor may include a diffusion and a convection contribution as provided in **2100***d*, where D_{i }is the diffusion tensor and c_{i }is the concentration of species i. The convection and diffusion equation is provided in **2100***e*, where R_{i }is a source term, reflecting the contribution by reactions and transport within the catalyst particles. Boundary conditions at the reactor inlet are provided in **2100***f*. At the outlet of the reactor convective mass transport is dominant and can give a second boundary condition **2100***g*, where n is the outward vector unit normal.

Referring back to the convection and diffusion equation **2100***e*, the source term, R_{i}, depends on the transport inside the catalyst particles. The molar flux at the outer surface of the particles multiplied by the available outer surface area of the particles per unit volume can provide a proper source term. It can be desirable to apply an extra dimension to model the catalyst particles to obtain the source term R_{i}.

**2200***a*. c_{pi }is the concentration of i in the catalyst particle. D_{pi }is the diffusion tensor (in this example a scalar) for species i within the particle while R_{p }is the reaction rate for the heterogeneous reaction in the particle. A boundary condition stating that net outward diffusion at the center of the particle is 0 is provided in **2200***b*, and a boundary condition stating that the species concentration within the particle is equal to the reactor bulk species concentration, adjusted by the porosity ε of the particle is provided in **2200***c*. An expression for the source term R_{i }is provided in **2200***d*. The expression in **2200***d *for the exemplary model is valid at the particle surface, where the independent radius variable r equals the particle radius, r_{p}, A_{p }denotes the pellet surface to volume ratio.

It is contemplated that for this exemplary model a product geometry between a base geometry for the reactor and an extra geometry for catalyst particles can provide a way to accurately model the interface between the concentrations on the outside of the pellets and those on the inside. In this exemplary model, the physics interface for transport of diluted species can be used to model the packed bed reactor. Such a physics interface may include processes for automatically constructing extra dimensions, for particle radius, and forming a product geometry automatically.

**2300***a *to represent the reactor, and which may also represent the base geometry. The user can then set the radius **2300***b *for the catalytic particle in a settings window of a physics interface. The system can then automatically construct a line segment dependent on the radius as an extra geometry, In some aspects, a graphical representation of the particle can alternatively be constructed in a geometry settings window **2300***c*. A product geometry can then be formed between the base geometry and the extra geometry.

**2400***a*, or by loading them into a memory from a file. The reaction rates are then defined along with certain other variables **2400***b*, which can also be defined on the product geometry.

It is contemplated that physics interfaces, such as the interface illustrated in **2500***a*, where each child node can include one or more settings windows. These settings windows can include sections for specifying input for the bulk of the reactor, and sections for specifying input for the catalytic particles. Two sets of diffusion tensors **2500***b*, **2500***c*, or scalar diffusion coefficients for isotropic materials, can be defined, one set for the reactor **2500***b *and one set for the catalytic particles **2500***c*. In the same settings window, convection can also be defined. A modeling software can then automatically assigns the diffusion coefficient and convection expressions for the reactor to the base geometry and the diffusion coefficient for the particles to the extra geometry.

In some aspects, another settings window, such as settings window **2600***a *in **2700***a *and reactions **2800***a *in the particles as well as the flux **2800***b *from the particles into the reactor bulk can also be defined as exemplified by the setting windows of

The expressions and variables can be assigned on the product geometry as predefined by the physics interfaces. It is contemplated that the generated PDEs, which may be expressed in weak form (e.g., **2900***a *in **3000***a *can then be selected, as exemplified in **3000***b *as exemplified in

Another exemplary aspect of the simulation methods for modifying the geometry of a model according to the present disclosure are illustrated in the context of absorption and scattering of radiation in a participating media are illustrated, according to some aspect of the present disclosure. Referring now to **3100***a*, where κ, β, and σ_{s }denote absorption, extinction, and scattering coefficients, respectively. I(Ω, s) denotes the radiation intensity at the position s position in the Ω direction. For radiation in heat transfer, the first term of the equation at **3100***a *relates to the blackbody radiation intensity which is represented by the expression provided at **3100***b*, where n refers to the refractive index. The second term of the equation at **3100***a *refers to extinction and the third term to scattering. It can be desirable to introduce extra dimensions to model the system represented by the equations because of the high dimensionality of a phase space. Given a three dimensional geometry, there are three dimensions for defining s. The direction Ω may be described by two angles adding two dimensions and an additional dimension can be added for wavelength, and the additional dimension may be used for radiation with multiple wavelengths.

A user modeling the above example can construct a base geometry that describes the three-dimensional space. An extra geometry may be predefined in the physics interface as a sphere, spanned by the two angles rotation, with an independent variable along the radius representing the wavelength of radiation. The extra geometry may or may not be displayed in the GUI depending on the settings of the modeling system. The physics interface can include settings windows for model inputs that may be typed in edit fields or selected from lists. Such input may be for instance, temperature field variable, absorption coefficients, scattering coefficients, and scattering type describing the phase function of the scattering. Some inputs may be given by defining a material on the base geometry or on parts of the base geometry. Examples of such inputs are absorption and scattering coefficients. Materials used in the model may be defined in certain aspects only on the base geometry, and the modeling system may automatically handle the formation of product geometries. Radiation can be described as editable PDEs. Other physical quantities may be described either in the physics interface for radiation or in other physics interfaces. Such physical quantities can also be expressed as editable PDEs and may form a system of coupled PDEs with the PDEs describing radiation. The PDEs of the radiation interface may be discretized and solved either independently or as the coupled system of partial differential equations using finite element solvers. A user may thus model radiation in participating media, either independently or coupled to other physical quantities, by describing the direction of radiation and possibly wavelength of the radiation using an extra geometry. The extra geometry can form a product geometry with the base geometry describing the space in which radiation is modeled.

Yet another exemplary aspect is a physics interface for simulating a gas. The physics interface can be referred to as a Boltzmann interface. Such models may define the time dependent Boltzmann equation for describing the spatial distribution and velocity distribution of the particles of a gas. The Boltzmann equation gives the probability of finding particles within a volume element dx centered at position x and within a certain velocity range dv centered on a velocity v within a given time range. Similarly to the case of radiation, the phase space has a dimensionality of six for a gas modeled in a 3D geometry. A position in space may be described by a base geometry while the velocity may be described by extra dimensions. The base geometry may be three-dimensional, describe by three space coordinates, while the extra dimensions for the velocity may be described by the volume of a sphere, with one independent variable (the radius) describing the speed of the particles, and two other independent describing the angular dependency of the speed (the sphere spanned by rotating the two angles), together giving the velocity of a particle in a given direction.

When modeling a system where there is a sufficient range in the difference between the masses of the particles, it can be desirable to create several extra geometries. Each extra geometry can describe particles within a certain mass range, and thereby introduce an independent variable also for mass. It is also contemplated that a variation in mass can be introduced as yet another extra dimension.

A user can construct a base geometry describing a space including the particles. The Boltzmann interface may construct one or more extra geometries automatically, the dimensionality of the extra geometries dependent on the base geometry. The extra geometries can form a product geometry with the base geometry automatically as predefined by the Boltzmann interface. The user may give inputs to the Boltzmann interface, the inputs being specified for example by typing in edit fields or making selections in lists. The user may give inputs for instance relating to particle types, temperature, pressure and number of particles. Physical quantities in the Boltzmann interface may be predefined by user editable expressions in the form of PDEs.

It is contemplated that other physical quantities can be described either in the Boltzmann interface or in other physics interfaces. Such physical quantities can be expressed as editable PDEs or ODEs and may form a system of coupled PDEs together with the PDEs describing the spatial and velocity distribution of the gas. The PDEs of the Boltzmann interface may be discretized and solved either independently or as the coupled system of partial differential equations using a numerical solver. A user may thus model a time dependent spatial and velocity distribution of a gas either independently or coupled to other physical quantities by describing the velocity distribution using extra geometries with the extra geometry forming a product geometry with the base geometry describing the spatial distribution.

A further exemplary aspect of the present disclosure is an automatic operation for attaching PMLs to a geometry using extra geometries. A PML may exist on the boundaries of a wave equation to model that the wave is absorbed with no reflection on the boundary. For simplicity, a user of the modeling system can constructs a rectangle in a physics interface modeling some type of wave propagation phenomenon. Two parallel boundaries of the rectangle can be referred to as being directed in the x-direction and the other two boundaries of the rectangle as being directed in the y-direction. The user may select the boundaries of the rectangle and define the boundaries of the rectangle as perfectly matched layers. The modeling system can then automatically construct two extra geometries in the form of line segments, for example denoted XDx and XDy. The modeling system can further create several product geometries. XDx may form two 2-D product geometries with the boundaries directed in the x-direction. XDy may form two 2-D product geometries with the boundaries directed in the y direction. XDx and XDy may form a product of extra dimensions. The product of extra dimensions can form four 2-D product geometries with the vertexes of the rectangle. An example of a coordinate stretching transformation is

where the PML scaling factor and n can be determined by the modeling system and may further be user editable along with ξ and ξ_{0}. A coordinate stretching transformation can further be applied to the product geometries.

According to some aspects, a simulation method is executed in a computer system with one or more processors configured to modify a geometry of a model of a physical system including physical quantities represented in terms of a combined set of equations. The simulation method comprising the acts of defining geometry data representing a geometry of a physical system represented by a first combined set of equations. The geometry data is associated with a first model of the physical system. Extra geometry data representing one or more extra geometries for a modified model based on the first model is defined, via one or more processors. A first set of geometric entity data representing one or more geometric entities of the geometry of the physical system from which to extend the one or more extra geometries is determined via at least one of the one or more processors. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added, via at least one of said one or more processors, to the determined first set of geometric entity data representing one or more geometric entities by forming product geometry data representing a product geometry for the modified model. The extra geometry data representing the one or more extra geometries is at least a part of the product geometry data. Non-discretized equation data representing a non-discretized second combined set of equations for at least a portion of the product geometry data is generated via at least one of the one or more processors. Optionally a graphical representation of at least a portion of the product geometry data is generated. The graphical representation is configured for display on a graphical user interface.

It is contemplated that the simulation method described above can further include in some aspects one or more of the following features. At least a portion of the product geometry data can be stored as graphical representations configured for later display on one or more display devices. The method can also include generating a graphical representation of at least a portion of the product geometry data, with the graphical representation configured for display on one or more display devices. The graphical representation can include at least a portion of the product geometry data. The one or more extra geometries can be a part of an extra dimension. The simulation method can further include the act of determining, via at least one of said one or more processors, a second set of geometric entity data representing one or more geometric entities of the one or more extra geometries, and determining product selection data representing a product of selections computed as a Cartesian product between at least a portion of the first set of geometric entity data representing one or more geometric entities of the geometry and at least a portion of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries. The non-discretized equation data representing the non-discretized second combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized differential equations. The non-discretized second combined set of equations can be a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver.

It is further contemplated that the simulation method described above can also include in some aspects one or more of the following features. At least one of the one or more geometric entities can be a vertex, an edge, a boundary, or a domain. The simulation method can further include the act of defining material property data representing a material property for at least one of the one or more extra geometries. The simulation method can also include the act of defining material property data representing a material property for at least a portion of the product geometry data after forming the product geometry data representing the product geometry for said modified model. The geometry of the physical system can be one-dimensional and the one or more extra geometries are two-dimensional. The geometry of the physical system can also be three-dimensional and the one or more extra geometries can be one-dimensional. The geometry of the physical system and the one or more extra geometries can both be three-dimensional. The determining of the first set of geometric entity data representing one or more geometric entities on the geometry of a physical system can be based on user selections received via a graphical user interface. Similarly, the determining of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries can be based on user selections received via a graphical user interface. Defining of the geometry data representing the geometry of the physical system can include extracting the geometry data from data representing the first model of the physical system. Defining of the extra geometry data representing one or more extra geometries can occur at least in part via selections of extra geometry properties received via a graphical user interface.

According to some aspects, a simulation system or apparatus is contemplated for adding extra geometries to a base geometry of a model of a physical system represented in terms of a combined set of differential equations. The system includes one or more physical memory devices, one or more display devices, one or more user input devices, and one or more processors are configured to or adapted to execute instructions stored on at least one of the one or more physical memory devices. The instructions cause at least one of the one or more processors to perform steps including defining base geometry data representing a base geometry of a physical system. The base geometry data is associated with a first model of the physical system, which is represented by a combined set of differential equations. Extra geometry data is defined representing one or more extra geometries for a modified model based on said first model. A first set of geometric entity data is determined representing one or more entities of the base geometry from which to extend the one or more extra geometries. At least a portion of the extra geometry data representing at least one of the one or more extra geometries is added to the determined first set of geometric entity data representing one or more entities of the base geometry by generating product data representing a product geometry for the modified model. The extra geometry data is at least a part of the product data. Equation data is generated representing an updated combined set of differential equations for the modified model that includes at least a portion the product data. The equation data and the product data can be stored in at least one of the one or more physical memory devices.

It is contemplated that the simulation system or apparatus described above can further include in some aspects one or more of the following features. At least a portion of the product data can be stored as graphical representations configured for later display on the one or more display devices. The instructions can also cause at least one of the one or more processors to further perform a step comprising generating a graphical representation of at least a portion of the product data, where the graphical representation is configured for display on at least one of the one or more display devices. At least a portion of the product data can be stored as graphical representations configured for later display on the one or more display devices. The instructions can further cause at least one of the one or more processors to perform a step comprising generating a graphical representation of at least a portion of the product data where the graphical representation configured for display on at least one of the one or more display devices. The graphical representation can include the at least a portion of the product geometry data. The determining of the first set of geometric entity data representing one or more geometric entities on the geometry of a physical system can be based on user selections received via a graphical user interface. The defining of the geometry data representing the geometry of the physical system can include extracting the geometry data from data representing the first model of the physical system. The defining of the extra geometry data representing of one or more extra geometries can occurs at least in part via selections of extra geometry properties received via a graphical user interface.

It is further contemplated that the simulation system or apparatus described above can also include in some aspects one or more of the following features. The one or more extra geometries can be a part of an extra dimension. The system or apparatus can further include the act of determining, via at least one of the one or more processors, a second set of geometric entity data representing one or more geometric entities of the one or more extra geometries, and determining product selection data representing a product of selections that can be computed as a Cartesian product between at least a portion of the first set of geometric entity data representing one or more geometric entities of the geometry and at least a portion of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries. The non-discretized equation data representing the non-discretized second combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized differential equations. The non-discretized second combined set of equations is a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver. At least one of the one or more geometric entities can be a vertex, edge, boundary, or a domain. The system or apparatus can further include the act of defining material property data representing a material property for at least one of the one or more extra geometries. The system or apparatus can further include defining the material property data representing a material property for at least a portion of the product geometry data after forming the product data representing the product geometry for the modified model. The geometry of the physical system can be one-dimensional and the one or more extra geometries can be two-dimensional. The geometry of the physical system can also be three-dimensional with the one or more extra geometries being one-dimensional. The geometry of the physical system and the one or more extra geometries can further both be three-dimensional.

According to some aspects, a simulation apparatus or system for adding extra geometries to a model of a physical system is contemplated. The apparatus or system includes a physical computing system comprising one or more processors, one or more user input devices, a display device, and one or more memory devices. At least one of the one or more memory devices includes executable instructions for modifying a geometry of a model of a physical system represented in terms of a combined set of equations. The executable instructions cause at least one of the one or more processors to perform, upon execution, acts comprising receiving a base geometry of said physical system in response to one or more first inputs received via the one or more user input devices. The base geometry is associated with a model of the physical system which is represented in terms of a combined set of equations. One or more second inputs are received via at least one of the one or more user input devices. The second inputs define one or more extra geometries associated with the base geometry. One or more first geometric entities of the base geometry and one or more second geometric entities of the extra geometry are determined. At least one of the one or more extra geometries are added to the base geometry by computing a product geometry of the determined one or more first geometric entities and the one or more second geometric entities. The one or more extra geometries are at least a part of the product geometry. An updated combined set of equations is generated including representations of at least a portion of the product geometry. A graphical representation is generated of at least a portion of the product geometry. The graphical representation is configured for display on the display device.

It is contemplated that the simulation apparatus or system described above can further include in some aspects one or more of the following features. The updated combined set of equations can be a combined set of non-discretized differential equations. At least a portion of the product geometry can be stored as graphical representations configured for later display on the one or more display devices. The graphical representation can include at least a portion of the product geometry. The one or more extra geometries can be a part of an extra dimension. The computing of the product geometry can be implemented as a Cartesian product between at least a portion of the one or more first geometric entities of the base geometry and one or more second geometric entities of the one or more extra geometries. The updated combined set of equations can be user editable to allow editing of the second combined set of equations. The updated combined set of equations can be a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver. At least one of the one or more first geometric entities can be a vertex, an edge, a domain, or a boundary. The system or apparatus can also define a material property for at least one of the one or more extra geometries. In addition, the system or method can define a material property for at least a portion of the product geometry after computing the product geometry. The geometry of the physical system can be one-dimensional and one or more extra geometries can be two-dimensional. The geometry of the physical system can also be three-dimensional with the one or more extra geometries being one-dimensional. The geometry of the physical system and the one or more extra geometries can both be three-dimensional. The determining of the one or more first geometric entities on the base geometry of a physical system can be based on user selections received via a graphical user interface. The defining of the base geometry of the physical system can include at least partially extracting the base geometry from data representing the model of the physical system. The defining of one or more extra geometries can occur at least in part via selections of extra geometry properties received via a graphical user interface.

Certain aspects of the present disclosure contemplate methods, systems, or apparatus based on any and all combinations of any two or more of the steps, acts, or features, individually or collectively, disclosed or referred to or otherwise indicated in the present disclosure.

The exemplary aspects for simulation methods, apparatus, and systems for modifying a geometry, for adding extra geometries to a base geometry, and for adding geometries to model(s) of physical system(s) presented in

Referring now to **3210** includes a data storage system **3212** connected to host systems **3214***a*-**3214***n *through communication medium **3218**. In this embodiment of the computer system **3210**, the “n” hosts **3214***a*-**3214***n *may access the data storage system **3212**, for example, in performing input/output (I/O) operations. The communication medium **3218** may be any one of a variety of networks or other type of communication connections as known in the modeling and computer simulation field. For example, the communication medium **3218** may be the Internet, an intranet, or other network connection by which the host systems **3214***a*-**114***n *may access and communicate with the data storage system **3212**, and may also communicate with others included in the computer system **3210**, including without limitation systems based on various forms of network communications (e.g., fiber optic, wireless, Ethernet).

Each of the host systems **3214***a*-**3214***n *and the data storage system **3212** included in the computer system **3210** may be connected to the communication medium **3218** by any one of a variety of connections as may be provided and supported in accordance with the type of communication medium **3218**. The processors included in the host computer systems **3214***a*-**3214***n *may be any one of a variety of commercially available single or multi-processor system, such as an Intel-based processor, IBM mainframe, server, or other type of commercially available processor able to support incoming traffic in accordance with each particular embodiment and application.

It should be noted that the particulars of the hardware and processes included in each of the host systems **3214***a*-**3214***n*, as well as those components that may be included in the data storage system **3212** are described herein in more detail, and may vary with each particular embodiment. Each of the host computers **3214***a*-**3214***n*, as well as the data storage system **3212**, may all be located at the same physical site, or, alternatively, may also be located in different physical locations. Examples of the communication medium that may be used to provide the different types of connections between the host computer systems, the data manager system, and the data storage system of the computer system **3210** may use a variety of different communication protocols such as SCSI, ESCON, Fiber Channel, or functional equivalents that are known to those skilled in the computer modeling and simulation field. Some or all of the connections by which the hosts and data storage system **3212** may be connected to the communication medium **3218** may pass through other communication devices, such as a Connectrix or other switching equipment that may exist, both physical and virtual, such as a phone line, a repeater, a multiplexer or even a satellite.

Each of the host computer systems may perform different types of data operations, such as storing and retrieving data files used in connection with an application executing on one or more of the host computer systems. For example, a computer program may be executing on the host computer **3214***a *and store and retrieve data from the data storage system **3212**. The data storage system **3212** may include any number of a variety of different data storage devices, such as disks, tapes, and the like in accordance with each implementation. As will be described in following paragraphs, methods may reside and be executing on any one of the host computer systems **3214***a*-**3214***n*. Data may be stored locally on the host system executing the methods, as well as remotely in the data storage system **3212** or on another host computer system. Similarly, depending on the configuration of each computer system **3210**, method as described herein may be stored and executed on one of the host computer systems and accessed remotely by a user on another computer system using local data. A variety of different system configurations and variations are possible then as will be described in connection with the embodiment of the computer system **3210** of

Referring now to **3319** is illustrated that may reside, for example, on a single computer or in one of a plurality of host computer systems (e.g., host computers **3214***a*-**3214***n*). The modeling system may be divided into several components. One exemplary aspect of the system may include a GUI module **3320**, a Modeling and Simulation module **3322**, and a Data Storage and Retrieval module **3324**. The GUI module **3320** can provide for interactions with system users. The Modeling and Simulation module **3322** can provide an ability to manage and perform a multiphysics simulation. The Data Storage and Retrieval module **3324** can provide an ability to load and save the model in a file, and to load and store other types of files which may be used during the simulation or may be used as input or output to the simulation.

The GUI module **3320** may communicate with the Modeling and Simulation module **3322** by sending and receiving commands. The act of sending and receiving commands may be performed through an application programming interface (“API”) or other similar components. In one aspect of the system, the API may be object oriented and mix data and function calls within the same structure. In another aspect of the system, the API may use a data structure that is separate from function calls.

It is contemplated that in certain aspects of the present disclosure components of the multiphysics modeling system may reside on different host computer systems. For example, the GUI module **3320** may reside on a personal computer host and the Modeling and Simulation module **3322** may reside on a server computer host. It is further contemplated that the Data Storage and Retrieval module **3324** may reside on either the personal computer host or the server computer host, or yet another separate computer host. If the computer hosts are not identical, the API can be configured to use a computer network to communicate between hosts. In one embodiment, an object oriented API may be configured to send data and method calls over the computer network or in another embodiment send data and function calls between the components over a computer network. The API may also be able to handle a Data Storage and Retrieval module **3324** which may be located either on the host of the GUI module **3320** or the Modeling and Simulation module **3322**, or on a separate host. In each of those cases, the Data Storage and Retrieval module **3324** may be configured to load and store files on each of those hosts.

It is contemplated that in certain aspects, the system **3319** may include, or be configured with, components other than what is described and represented in the modeling system **3319** illustrated in **3326** and the User Data Files **3328** can be stored locally within the host computer system. It is further contemplated that in certain aspects, the Libraries **3326** and/or User Data Files **3328**, as well as copies of these, may be stored in another host computer system and/or in the Data Storage System **3312** of the computer system **3310**. However, for simplicity and explanation in paragraphs that follow, it may be assumed in a non-limiting manner that the system **3319** may reside on a single host computer system such as **3214***a *with additional backups, for example, of the User Data Files and Libraries, in the Data Storage System **3212**.

In certain aspects of the present disclosure, portions of the modeling system **3319**, such as the GUI module **3320**, the Modeling and Simulation module **3322**, the Data Storage and Retrieval module **3324**, and/or the Libraries **3326** may be included or executed in combination with commercially available systems. These components may operate on one of the host systems **3214***a*-**3214***n*, and may include one or more operating systems, such as, Windows XP®, Windows 7, Windows HPC Server 2008 R2, Unix®, Linux®, or Mac OS. It is further contemplated that the modules of the modeling system **3319** may written in any one of a variety of computer programming languages, such as, C, C++, C#, Java®, or any combination(s) thereof, or other commercially available programming languages.

It is contemplated that the GUI module **3320** may display GUI windows in connection with obtaining data for use in performing modeling, simulation, and/or other problem solving for one or more processes and/or physics phenomena under consideration by a system user. The one or more processes and/or phenomena may be assembled and solved by the Modeling and Simulation module **3322**. That is, user data may be gathered or received by the system using modules, such as the GUI module **3320**, and subsequently used by the Modeling and Simulation module **3322**. Thereafter, the data may be transferred or forwarded to the Data Storage and Retrieval module **3324** where the user-entered data may be stored in a separate data structure (e.g., User Data Files **3328**). It is contemplated that other data and information may also be stored and retrieved from a separate data structure, such as Libraries **3326**, which may be used by the Modeling and Simulation module **3322** or in connection with the GUI module **3320**.

The various data files that may be associated with a modeling system, such as User Data Files **3328** and the Libraries **3326**, may be stored in any one of a variety of data file formats in connection with a file system used in the host computer system or in the Data Storage System **3212**. In certain aspects, the system **3319** may use any one of a variety of database packages in connection with the storage and retrieval of data. The User Data files **3328** may also be used in connection with other simulation and modeling packages. For example, the User Data files **3328** may be stored in a format that may also be used directly or indirectly as an input to any one of a variety of other modeling packages. In certain aspects, data may be imported and/or exported between the multiphysics modeling system and another system. The format of the data may be varied or customized in accordance with each of the system(s) as well as in accordance with additional functionalities that each of the system(s) may include.

It is contemplated that the systems and methods described herein may be used for combining physics interfaces that model different physical phenomena or processes. The combination of a plurality of physics interfaces can be referred to as a multiphysics model. Properties of the physics interfaces can be represented by PDEs that may be automatically combined to form PDEs describing physical quantities in a coupled system or representation. The coupled PDEs may be displayed, for example, in an “Equation view” that allows for the coupled PDEs to be modified and used as input into a solver. It is also contemplated that the PDEs may be provided to the solver either independently as one PDE or a system of PDEs, describing a single phenomenon or process, or as one or several systems of PDEs describing several phenomena or processes.

In certain aspects of the present disclosure, a multiphysics modeling system can provide an ability to combine physics interfaces that model physical properties through one or more GUIs that allow a user to select one or more physics interfaces from a list. In addition to displaying physics interfaces names, it is further contemplated that variable names for physical quantities may be selected through a GUI. It is contemplated that the physics interfaces may have different formulations that depend on a “Study” settings feature, which is described in more detail elsewhere herein.

It is further contemplated that it may be desirable for a multiphysics modeling system to provide the ability to access predefined combinations of several physics phenomena for defining multiphysics model(s). The predefined combinations may be referred to as multiphysics interfaces, which similar to the physics interfaces, may also have different formulations that depend on a study settings feature.

It is contemplated that in certain aspects of the present disclosure physical properties can be used to model physical quantities for component(s) and/or process(es) being examined using the modeling system, and the physical properties can be defined using a GUI that allow the physical properties to be described as numerical values. In certain aspects, physical properties can also be defined as mathematical expressions that include one or more numerical values, space coordinates, time coordinates, and/or the actual physical quantities. In certain aspects, the physical properties may apply to some parts of a geometrical domain, and the physical quantity itself may be undefined in the other parts of the geometrical domain. A geometrical domain or “domain” may be partitioned into disjoint subdomains. The mathematical union of these subdomains forms the geometrical domain or “domain”. The complete boundary of a domain may also be divided into sections referred to as “boundaries”. Adjacent subdomains may have common boundaries referred to as “borders”. The complete boundary is the mathematical union of all the boundaries including, for example, subdomain borders. For example, in certain aspects, a geometrical domain may be one-dimensional, two-dimensional, or three-dimensional in a GUI. However, as described in more detail elsewhere herein, the solvers may be able to handle any space dimension. It is contemplated that through the use of GUIs in one implementation, physical properties on a boundary of a domain may be specified and used to derive the boundary conditions of the PDEs.

Additional features of a modeling system, such as feature that may be found in the Modeling and Simulation module **3322**, may provide for automatically deriving a system of PDE's and boundary conditions for a multiphysics model. This technique can include merging the PDEs of the plurality of phenomena or processes, and may produce a single system of coupled PDEs, also using coupling variables or operators to couple processes in different coordinate systems, and may perform symbolic differentiation of the system of PDEs with respect to all the dependent variables for later use by the solver.

It is contemplated that in certain aspects, a coupled system of PDEs may be modified before being differentiated and sent to the solver. The modification may be performed using a settings window included in a GUI displaying the combined PDEs in an “Equation view”. When the system of PDEs is modified in this way, the settings for the corresponding physical properties can become “locked”. The properties may subsequently be unlocked by a user taking certain action(s).

It is contemplated that certain aspects of the present disclosure may include features for modeling one or more of a plurality of engineering and scientific disciplines, including, for example, acoustics, chemical reactions, diffusion, electromagnetism, fluid dynamics, geophysics, heat transfer, porous media flow, quantum mechanics, semiconductor devices, structural mechanics, wave propagation, and the like. Certain aspects of a modeling system may involve more than one of the foregoing disciplines and can also include representing or modeling a combination of the foregoing disciplines. Furthermore, the techniques that are described herein may be used in connection with one or more systems of PDEs.

It is contemplated that in certain aspects of the present disclosure, system(s) of PDEs may be represented in general, coefficient, and/or weak form. The coefficient form may be more suitable in connection with linear or almost linear problems, while the general and weak forms may be better suited for use in connection with non-linear problems. The system(s) being modeled may have one or more associated studies, for example, such as stationary, time dependent, eigenvalue, or eigenfrequency. In the aspects described herein, a finite element method (FEM) may be used to solve for the PDEs together with, for example, adaptive meshing, adaptive time stepping, and/or a choice of a one or more different numerical solvers.

It is contemplated that in certain aspects of the present disclosure, a finite element mesh may include simplices forming a representation of a geometrical domain. Each simplex can belong to a unique subdomain, and a union of the simplices can form an approximation of the geometrical domain. The boundary of the domain may also be represented by simplices of the dimensions 0, 1, and 2, for geometrical dimensions 1, 2, and 3, respectively.

It is further contemplated that a mesh representing a geometry may also be created by an outside or external application and may subsequently be imported for use into the modeling system(s) described in the present disclosure.

The initial value of the solution process may be given as numerical values, or expressions that may include numerical values, space coordinates, time coordinates and the actual physical quantities. The initial value(s) may also include physical quantities previously determined.

The solution of the PDEs may be determined for any portion of the physical properties and their related quantities. Further, any portion not solved for may be treated as initial values to the system of PDEs.

It is contemplated that it may be desirable for a user to select a space dimension, combinations of physics, and a type of study in a multiphysics modeling system using a model wizard. The model wizard may take the user through these selection steps and it may also allow for the combination of several space dimensions, several physics, and several studies or study steps in a multiphysics model.

Each of these aspects and obvious variations thereof is contemplated as falling within the spirit and scope of the claimed invention, which is set forth in the following claims. Moreover, the present concepts expressly include any and all combinations and subcombinations of the preceding elements and aspects.

## Claims

1. A graphical user interface (GUI) executed in a computer system comprising one or more processors, the GUI configured to modify a geometry and to generate and combine shape functions for a model of a physical system, the model including the geometry and physical quantities represented in terms of a combined set of equations, the GUI including GUI elements configured for implementation of the following acts:

- defining base geometry data representing a base geometry of a physical system represented by a first combined set of equations, the base geometry data associated with a first model of the physical system;

- defining extra geometry data representing one or more extra geometries for a modified model based on the first model;

- receiving one or more first user inputs via a GUI component, the first user inputs being applied to determine, via least one of the one or more processors, a first set of geometric entity data representing one or more geometric entities of the base geometry of the physical system from which to extend the one or more extra geometries, the determining of the first set of first geometric entity data including configuring the first set of geometric entity data for forming as Cartesian product data to be added with extra geometry data;

- receiving one or more second user inputs via a GUI component, the second user inputs being applied to determine, via at least one of the one or more processors, at least a portion of the extra geometry data representing at least one of the one or more extra geometries, the determining of at least a portion of the extra geometry data including configuring the portion of the extra geometry data for forming as Cartesian product data with the determined first set of geometric entity data;

- forming, via at least one of the one or more processors, Cartesian product geometry data representing a Cartesian product geometry for the modified model, the forming of the Cartesian product geometry data including using the determined at least a portion of the extra geometry data and the determined first set of geometric entity data;

- generating, via at least one of the one or more processors, non-discretized equation data representing a non-discretized combined set of equations for at least a portion of the Cartesian product geometry data;

- generating, via at least one of the one or more processors, data representing a discretized modified model of the physical system, the discretized modified model including the base geometry discretized into a first plurality of finite elements with the base geometry expressed as shape functions, each of the first plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the base geometry, the discretized modified model including at least one of the one or more extra geometries discretized into a second plurality of finite elements with at least one of the one or more extra geometries expressed as shape functions, the second plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the one or more extra geometries, the first plurality of finite elements being representative of the base geometry excluding the one or more extra geometries, the second plurality of finite elements being representative of at least one of the one or more extra geometries excluding the base geometry;

- forming, via at least one of the one or more processors, Cartesian product data representing a Cartesian product of the first plurality of finite elements with the second plurality of finite elements, the forming of the Cartesian product data occurring after the generating of data representing the discretized modified model;

- generating, via at least one of the one or more processors, matrix data representing an assembling of a stiffness matrix based on the Cartesian product;

- generating, via at least one of the one or more processors, solution data representing a solution to the modified model, the solution based on the matrix data representing the assembling of the stiffness matrix based on the Cartesian product of the first plurality of finite elements and the second plurality of finite elements, thereby allowing the generation of a finite element model based on the generated non-discretized equation data, wherein the finite elements of the model are at least one of (i) the same or lower dimensionality as the base geometry or (ii) the same or lower dimensionality as the extra geometry, the model describing a physical system of a dimensionality that is the sum of the base geometry dimensionality and the extra geometry dimensionality; and

- generating, via at least one of the one or more processors, a graphical representation of at least a portion of the solution data, the graphical representation configured for display on a graphical user interface.

2. The graphical user interface of claim 1, wherein the graphical representation is displayed on a display device.

3. The graphical user interface of claim 1, wherein an extra dimension includes the one or more extra geometries and the extra dimension is added as a child feature to the first model of the physical system.

4. The graphical user interface of claim 1, further comprising GUI elements configured for implementation of the following additional acts:

- determining, via at least one of the one or more processors, a second set of geometric entity data representing one or more geometric entities of the one or more extra geometries; and

- determining product of selection data representing a product of selections computed as a Cartesian product between at least a portion of spatial coordinates of the first set of geometric entity data representing one or more geometric entities of the base geometry and at least a portion of spatial coordinates of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries,

- wherein the product of selection data is determined prior to creation of a mesh, and wherein the forming product data representing the Cartesian product of the first plurality of finite elements with the second plurality of finite elements is restricted to finite elements within the geometric entities forming the product of selection data.

5. The graphical user interface of claim 1, wherein the non-discretized equation data representing the non-discretized combined set of equations are user editable to allow editing of the combined set of equations.

6. The graphical user interface of claim 1, wherein the non-discretized combined set of equations are a combined set of non-discretized partial differential equations configured as input data for a partial differential equation solver.

7. The graphical user interface of claim 1, wherein at least one of the one or more geometric entities is a vertex or an edge.

8. The graphical user interface of claim 1, wherein at least one of the one or more geometric entities is a boundary or a domain.

9. The graphical user interface of claim 1, further comprising GUI elements configured for implementation of the following additional act of defining material property data representing a material property for at least one of the one or more extra geometries.

10. The graphical user interface of claim 1, further comprising GUI elements configured for implementation of the following additional acts:

- after forming the Cartesian product geometry data representing the Cartesian product geometry for the modified model, defining material property data representing a material property for at least a portion of the Cartesian product geometry data.

11. The graphical user interface of claim 1, wherein the base geometry of the physical system is one-dimensional and the one or more extra geometries are two-dimensional.

12. The graphical user interface of claim 1, wherein the base geometry of the physical system is three-dimensional and the one or more extra geometries are one-dimensional.

13. The graphical user interface of claim 1, wherein the base geometry of the physical system and the one or more extra geometries are three-dimensional.

14. The graphical user interface of claim 1, wherein the determining of the first set of geometric entity data representing one or more geometric entities on the base geometry of a physical system is based on user selections of geometric entities on the base geometry received via a graphical user interface.

15. The graphical user interface of claim 4, wherein the determining of the second set of geometric entity data representing one or more geometric entities of the one or more extra geometries is based on user selections of geometric entity indicia displayed in a settings window on a graphical user interface.

16. The graphical user interface of claim 1, wherein the defining base geometry data representing the base geometry of the physical system includes extracting the base geometry data from data representing the first model of the physical system.

17. The graphical user interface of claim 1, wherein the first plurality of finite elements and the second plurality of finite elements include shape functions for expressing one or more dependent variables representing physical quantities of the physical system.

18. The graphical user interface of claim 17, further comprising GUI elements configured for implementation of the additional act of determining values of the one or more dependent variables by expressing the one or more dependent variables as Cartesian products of one or more first shape functions defined on the base geometry, the first shape functions being representative of the base geometry only, with one or more second shape functions defined on the extra geometries, the second shape functions being representative of the extra geometries only.

19. The graphical user interface of claim 1, wherein the one or more extra geometries define geometrical aspects of the physical system different from geometrical aspects defined by the base geometry.

20. The graphical user interface of claim 1, further comprising GUI elements configured for implementation of the following additional acts:

- defining material property data representing a material property for at least a portion of the extra geometry data forming the Cartesian product geometry data representing the Cartesian product geometry for the modified model;

- applying the material property data to the Cartesian product geometry, the material property data being applied between the at least a portion of the extra geometry data and the base geometry data.

21. The graphical user interface of claim 20, wherein the material property data is applied to the Cartesian product geometry such that the material property data is usable in a simulation using finite elements on the base geometry, the finite elements being of a dimensionality less than or equal to the dimensionality of the base geometry.

22. The graphical user interface of claim 1, wherein transport properties within the base geometry and transport properties within the one or more extra geometries are different.

23. The graphical user interface of claim 1, wherein the one or more extra geometries are created based on a user selection of a shape from a list of shapes presented within a settings window of a graphical user interface, one or more user-specified lengths attributable to the selected shape being defined within the settings window.

24. The graphical user interface of claim 3, wherein a user optionally defines a dimensionality of the extra dimension in association with adding the extra dimension as a child feature to the first model of the physical system, and

- wherein in response to the extra dimension being added as a child feature to the first model, the one or more extra geometries becoming user selectable options in a graphical user interface for extra geometry sections.

25. A graphical user interface (GUI) executed in a computer system comprising one or more processors, the GUI configured to modify a shell geometry and to generate and combine shape functions for a model of a physical system, the model including the shell geometry and physical quantities represented in terms of a combined set of equations, the GUI including GUI elements configured for implementation of the following acts:

- receiving one or more first user inputs via a user input tool and the graphical user interface, the first user inputs being applied to define base shell geometry data representing a base shell geometry of a physical system represented by a first combined set of equations, the base shell geometry data associated with a first model of the physical system;

- receiving one or more second user inputs via the user input tool and the graphical user interface, the second user inputs being applied to determine, via at least one of the one or more processors, extra geometry data representing one or more extra geometries including a length of at least one line segment associated with a thickness of one layer of the shell for a modified model based on the first model, the determining of the extra geometry data including configuring the extra geometry data for forming Cartesian product data with the base shell geometry;

- forming, via at least one of the one or more processors, Cartesian product geometry data representing a Cartesian product geometry for the modified model, the forming of the Cartesian product geometry data including using the extra geometry data representing the at least one line segment and the base shell geometry data to form Cartesian product geometry data representing a shell model with a defined thickness, the extra geometry data representing the at least one line segment being at least a part of the Cartesian product geometry data;

- generating, via at least one of the one or more processors, non-discretized equation data representing a non-discretized combined set of equations for at least a portion of the Cartesian product geometry data;

- generating, via at least one of the one or more processors, data representing a discretized modified model of the physical system, the discretized modified model including the base shell geometry discretized into a first plurality of finite elements with the base shell geometry expressed as shape functions, each of the first plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the base shell geometry, the discretized modified model including the one or more extra geometries discretized into a second plurality of finite elements with the one or more extra geometries expressed as shape functions, the second plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the one or more extra geometries, the first plurality of finite elements being representative of the base shell geometry excluding the one or more extra geometries, the second plurality of finite elements being representative of at least one of the one or more extra geometries excluding the base geometry;

- forming, via at least one of the one or more processors, Cartesian product data representing a Cartesian product of the first plurality of finite elements with the second plurality of finite elements, the forming of the Cartesian product data occurring after the generating of data representing the discretized modified model;

- generating, via at least one of the one or more processors, matrix data representing an assembling of a stiffness matrix based on the Cartesian product;

- generating, via at least one of the one or more processors, solution data representing a solution to the modified model, the solution based on the matrix data representing the assembling of the stiffness matrix based on the Cartesian product of the first plurality of finite elements and the second plurality of finite elements, thereby allowing the generation of a finite element model based on the generated non-discretized equation data, wherein the finite elements of the model are at least one of (i) the same or lower dimensionality as the base shell geometry or (ii) the same or lower dimensionality as one or more extra geometries, the model describing a physical system of a dimensionality that is the sum of the base shell geometry dimensionality and the extra geometry dimensionality; and

- generating, via at least one of the one or more processors, a graphical representation of at least a portion of the solution data, the graphical representation configured for display on a graphical user interface.

26. The graphical user interface of claim 25, wherein the user may further use the GUI element to define at least one material or material property for at least one of the layers.

27. The graphical user interface of claim 25, further comprising GUI elements configured for implementation of the additional act of determining values of the one or more dependent variables by expressing the one or more dependent variables as Cartesian products of one or more first shape functions defined on the base shell geometry, the first shape functions being representative of the base shell geometry only, with one or more second shape functions defined on the one or more extra geometries, the second shape functions being representative of the one or more extra geometries only.

28. A graphical user interface (GUI) executed in a computer system comprising one or more processors, the GUI configured to modify a geometry representing a chemical reactor including particles and to generate and combine shape functions for a model of a physical system, the model including the geometry and physical quantities represented in terms of a combined set of equations, the GUI including GUI elements configured for implementation of the following acts:

- receiving one or more first user inputs via a user input tool and the graphical user interface, the first user inputs being applied to define base geometry data representing a chemical reactor represented by a first combined set of equations, the base geometry data associated with a first model of the physical system;

- receiving one or more second user inputs via the user input tool and a settings window, the second user inputs being applied to determine, via at least one of the one or more processors, extra geometry data representing one or more extra geometries including a particle shape and size for a modified model based on the first model, the determining of the extra geometry data including configuring the extra geometry data for forming Cartesian product data with the base geometry representing the chemical reactor;

- forming, via at least one of the one or more processors, Cartesian product geometry data representing a Cartesian product geometry for the modified model, the forming of the Cartesian product geometry data including using the extra geometry data representing the particle shape and size and the base geometry data representing the chemical reactor to form Cartesian product geometry data, the extra geometry data representing the particle shape and size being a part of the Cartesian product geometry data;

- generating, via at least one of the one or more processors, non-discretized equation data representing a non-discretized combined set of equations for at least a portion of the Cartesian product geometry data;

- generating, via at least one of the one or more processors, data representing a discretized modified model of the physical system, the discretized modified model including the base geometry representing the chemical reactor discretized into a first plurality of finite elements with the base geometry expressed as shape functions, each of the first plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the base geometry, the discretized modified model including at least one of the one or more extra geometries representing the particle size and shape discretized into a second plurality of finite elements with at least one of the one or more extra geometries expressed as shape functions, the second plurality of finite elements being of a dimensionality less than or equal to the dimensionality of the one or more extra geometries, the first plurality of finite elements being representative of the base geometry excluding the one or more extra geometries, the second plurality of finite elements being representative of at least one of the one or more extra geometries excluding the base geometry;

- forming, via at least one of the one or more processors, Cartesian product data representing a Cartesian product of the first plurality of finite elements with the second plurality of finite elements, the forming of the Cartesian product data occurring after the generating of data representing the discretized modified model;

- generating, via at least one of the one or more processors, matrix data representing an assembling of a stiffness matrix based on the Cartesian product;

- generating, via at least one of the one or more processors, solution data representing a solution to the modified model, the solution based on the matrix data representing the assembling of the stiffness matrix based on the Cartesian product of the first plurality of finite elements and the second plurality of finite elements, thereby allowing the generation of a finite element model based on the generated non-discretized equation data, wherein the finite elements of the model are at least one of (i) the same or lower dimensionality as the base geometry or (ii) the same or lower dimensionality as the one or more extra geometroes, the model describing a physical system of a dimensionality that is the sum of the base geometry dimensionality and the extra geometry dimensionality; and

- generating, via at least one of the one or more processors, a graphical representation of at least a portion of the solution data, the graphical representation configured for display on a graphical user interface.

29. The graphical user interface of claim 28, wherein the first plurality of finite elements and the second plurality of finite elements include shape functions for expressing one or more dependent variables representing physical quantities of the physical system, the graphical user interface further comprising GUI elements configured for implementation of the additional act of determining values of the one or more dependent variables by expressing the one or more dependent variables as Cartesian products of one or more first shape functions defined on the base geometry, the first shape functions being representative of the base geometry only, with one or more second shape functions defined on the one or more extra geometries, the second shape functions being representative of the one or more extra geometries only.

**Referenced Cited**

**U.S. Patent Documents**

6718291 | April 6, 2004 | Shapiro |

6982710 | January 3, 2006 | Salomie |

7519518 | April 14, 2009 | Langemyr |

7596474 | September 29, 2009 | Langemyr |

7623991 | November 24, 2009 | Langemyr |

8219373 | July 10, 2012 | Fontes |

8626475 | January 7, 2014 | Fontes |

9098106 | August 4, 2015 | Danielsson |

9146652 | September 29, 2015 | Danielsson |

9208270 | December 8, 2015 | Fontes |

9323503 | April 26, 2016 | Fontes |

20030105614 | June 5, 2003 | Langemyr |

20040034514 | February 19, 2004 | Langemyr |

20050060130 | March 17, 2005 | Shapiro |

20050232511 | October 20, 2005 | Ziou |

20090024370 | January 22, 2009 | Scott |

20090244082 | October 1, 2009 | Livingston |

20100076732 | March 25, 2010 | Yoon |

20100121626 | May 13, 2010 | Montana |

20120179426 | July 12, 2012 | Fontes |

**Other references**

- Edwards, H.C., “Managing complexity in massively parallel, adaptive, multiphysics applications,” Engineering with Computers, 2006, vol. 22, pp. 135-155.
- Iarve, E.V. et al., “Mesh-independent matrix cracking and delamination modeling in laminated composites,” Int. J. Numer. Meth. Engng., Apr. 2011, vol. 88, pp. 749-773.
- Qin, H. et al., “D-NURBS: A Physics-Based Framework for Geometric Design,” IEEE Transactions on Visualization and Computer Graphics, Mar. 1996, vol. 2, No. 1, pp. 85-96.

**Patent History**

**Patent number**: 10776541

**Type:**Grant

**Filed**: Jul 26, 2018

**Date of Patent**: Sep 15, 2020

**Patent Publication Number**: 20180357347

**Assignee**: COMSOL AB (Stockholm)

**Inventors**: Arne Nordmark (Stocksund), Eduardo Fontes (Vallentuna), Hans Rullgärd (Nyäshamn), Henrik Sönnerlind (Ekerö), Johan Öjemalm (Solna), Lars Langemyr (Stockholm), Daniel Bertilsson (Vallentuna), Nils Malm (Lidingö), Johan Thaning (Årsta), Eduardo Gonzalez (Stockholm), Niklas Rom (Vallentuna)

**Primary Examiner**: Bijan Mapar

**Application Number**: 16/045,935

**Classifications**

**Current U.S. Class**:

**Modeling By Mathematical Expression (703/2)**

**International Classification**: G06F 30/23 (20200101);