Symbolic evaluation engine for high-performance simulations
AssigneeCaterpillar Inc.
InventorMohammed Asif Khan
Life of this patent
Estimating the term…
Abstract
A method is provided of simulating a system. The method defines equations modeling the system using terms having characteristics encapsulated within the term. Next, the method performs symbolic processing on the established equations for simplification. Additionally, the method performs system processing on the established equations for efficient simulation. Aspects of some embodiments of the described invention include a method of symbolically processing a set of equations, a method of eliminating an integral in a Pantelides algorithm, and a method of tearing block equation blocks.
Claims58
A method of simulating a system, comprising:
- establishing equations modeling the system using terms having characteristics encapsulated within the term;
- performing symbolic processing on the established equations for simplification;
- and
- performing system processing on the established equations for efficient simulation.
A machine-readable storage medium having stored thereon machine executable instructions, the execution of said instructions adapted to implement a method of simulating a system, the method comprising:
- defining equations modeling the system using terms having characteristics encapsulated within the term;
- performing symbolic processing on the established equations for simplification;
- and
- performing system processing on the established equations for efficient simulation.
A method of symbolically processing a set of equations, comprising:
- assigning a portion of the set of equations to variables that have non-zero partial derivatives;
- differentiating the remainder of the set of equations;
- approximating an algebraic derivative for those equations that cannot by symbolically differentiated;
- symbolically integrating equations that cannot be assigned;
- differentiating equations that add output derivates and integrating equations that add output integrals;
- and
- eliminating an integral as each symbolically differentiated or integrated equation eliminates a numeric integration, such that the integral is converted to an algebraic variable by eliminating the derivative or integral relationship.
A machine-readable storage medium having stored thereon machine executable instructions, the execution of said instructions adapted to implement a method of symbolically processing a set of equations, the method comprising:
- assigning a portion of the set of equations to variables that have non-zero partial derivatives;
- differentiating the remainder of the set of equations;
- approximating an algebraic derivative for those equations that cannot by symbolically differentiated;
- symbolically integrating equations that cannot be assigned;
- differentiating equations that add output derivates and integrating equations that add output integrals;
- and
- eliminating an integral as each symbolically differentiated or integrated equation eliminates a numeric integration, such that the integral is converted to an algebraic variable by eliminating the derivative or integral relationship.
A method of eliminating an integral in a Pantelides algorithm, comprising:
- assigning a preferred integration location rank to one or more integrals;
- utilizing the preferred integration location rank, assigning integrals to equations;
- and
- eliminating the integration of assigned or solved integral variables.
A machine-readable storage medium having stored thereon machine executable instructions, the execution of said instructions adapted to implement a method of eliminating an integral in a Pantelides algorithm, the method comprising:
- assigning a preferred integration location rank to one or more integrals;
- utilizing the preferred integration location rank, assigning integrals to equations;
- and
- eliminating the integration of assigned or solved integral variables.
A method of tearing equations, comprising:
- identifying block variables in the equations in a block in which the block variables appear linearly with constant coefficients;
- determining the solvability of the nonlinear equations;
- solving nonlinear integration equations for their respective integrals;
- solving the linear equations;
- solving the nonlinear equations utilizing iterates and block variables solved from the linear equations;
- and
- scanning for solved for variables for identification of variables that are independent and may be removed from the block.
A machine-readable storage medium having stored thereon machine executable instructions, the execution of said instructions adapted to implement a method of tearing blocked equations, the method comprising:
- identifying block variables in the equations in a block in which the block variables appear linearly with constant coefficients;
- solving nonlinear integration equations for their respective integrals;
- solving the linear equations;
- determining the solvability of the nonlinear equations;
- solving the nonlinear equations utilizing iterates and block variables solved from the linear equations;
- and
- scanning for solved for variables for identification of variables that are independent and may be removed from the block.
A method of simulating a system, comprising:
- establishing equations modeling the system using terms having characteristics encapsulated within the term;
- performing symbolic processing on the established equations for reducing the number of terms in the equations;
- and
- performing system processing on the established equations for efficient simulation.
A method of simulating a component, comprising:
- establishing equations modeling the component using terms having characteristics encapsulated within the term;
- performing symbolic processing on the established equations for simplification;
- and
- performing system processing on the established equations for efficient simulation.
Dependencies are inferred from the claim text.