Expression Builder

The Expression Builder is a graphical user interface which allows user-defined data type expressions to be authored directly within HyperLife.

These expressions use a simplified Templex-style syntax that gets parsed into XML statements which are then passed on to Result Math for processing.

To open the Expression Builder dialog right-click in the Results Browser and select Create > Derived Result from the context menu



Figure 1. Expression Builder

The label will become the data type name, and must be unique for the analysis. The output can be defined for all load cases, or restricted to the current one.

The expression text is made up of operators and table arguments, and validation occurs when Apply or OK is clicked (invalid expressions will not be processed). The expression text is parsed into the equivalent XML form and is passed on to Result Math. The user-defined data type is then added to the subcase and is made available for selection in any of the post-processing panels within HyperLife. Only when the user-defined data type is selected for reading by a HyperWorks application will it be processed by Result Math.

The Expression Builder dialog is divided in three general areas:
  • Output parameters: The label defines the user-defined data type name that will appear when selecting results from the results browser or from the post processing panels. The data type output can be restricted to the current load case only, however by default it is set to include all load cases.
  • Operator and Table selection: This section defines what tables and what operations on those tables will be added to the expression text. The list of operator libraries available in the analysis is controlled by the result math template in the file load reader options panel (see Configuration).
  • Expression Text: Contains the Templex-style statements made up of operators and table arguments.
It is helpful to understand the distinction between a table and a data type. Tables are the building blocks of data types, and even reader-provided data types are made up of tables. For example, a stress data type is typically made up of three tables:
  1. Stress values bound to solid elements (pool = “solid”).
  2. Stress values bound to shells @ Z1 (pool=”shell”, layer=”Z1”).
  3. Stress values bound to shells @ Z2 (pool=”shell”, layer=”Z2”).

Understanding this difference will help in understanding how Result Math and the Expression Builder work. To simplify how tables are presented, the Expression Builder is designed to show a less-detailed view of table selection by default.