ObjectResults™

This server is used to visualize analysis results, and to do additional calculations on field data generated by the solver. It is based on the Visualization Toolkit (VTK) and provides tremendous flexibility and control over image generation for many types of results.

The ObjectResults™ tree control lists all of the available analysis data under a "Results" folder (see Fig. 1). As with other servers, most actions are initiated via context menus associated with a particular node, i.e., the menu that pops up when the user clicks the right mouse button while the pointer is over a node in the tree control.

Data are organized by iteration. An iteration can have different meanings depending on the solver that generated the data, but it typically refers to a step in the solution process. For Omega3p, an iteration is a solution on a given mesh, with subsequent iterations based on refinements of the current mesh. Within an iteration there are data elements for the associated mesh (or meshes if there are more than one), numeric data not tied to the mesh, and field data on the mesh.

Fig. 1. ObjectResults™ tree control for data generated by Omega3p as displayed in Analyst™ when ObjectResults™ is loaded as a server. The "Post-Processor" folder is the "hook" for the ObjectResults™ tree control. Numeric quantities that are not specifically tied to the mesh are listed in the "Quantity Results" folder. Mesh-based data, such as electric and magnetic fields, are listed in the "Field Results" folder.

An image in ObjectResults™ consists of two components: a view, and one or more view elements rendered in the view. View elements are distinct and independent of the views in which they are rendered. An example of a view element is a wireframe outline of a model. This view element can be created without reference to a particular view, and it can be added to one or more views. Orientation (rotation) and magnification (zoom) are properties of the view, not the view element, so each view can have a different perspective on a view element. A given view can contain multiple view elements, and elements are combined during the final render operation before computation of shading, hidden-line removal and view orientation-specific effects. The tree control contains folders for Views and View Elements, and the associations between the two can be changed by visiting the appropriate nodes in these folders.

ObjectResults™ uses the concept of a filter chain to create and control view elements. A filter chain is composed of individual filters logically arranged so that the input of a filter is the output of the filter immediately preceding it in the chain. A filter chain is created interactively by the user by selecting from available filters and performing any setup necessary for each filter (see Fig. 2).

Fig. 2. A filter chain with three filters applied. A given filter chain operates on a specific data element in the tree control as selected by the user when the element is created.

Filters are provided for viewing scalar and vector field data, and for converting vector data to scalar data. Filters are used to specify whether data is to be painted on a portion or all of the mesh itself (Fig. 3), or on a plane that cuts through the mesh (Fig 4). Isosurfaces can be generated on scalar datasets. XY plotting is supported for linear data sets (or if a filter operation creates a linear data set).

Some filters have dynamic controls that allow them to be manipulated in real-time. For example, the position of a cut-plane (a slice through the mesh on which result data are displayed) can be dynamically changed using slider controls to quickly assess the results of an analysis.

Fig. 3. Magnitude of the electric field of the fundamental mode in an RF cavity as computed by Omega3p. Results are rendered on the 3-D surface of the mesh.

Fig. 4. Cut-plane image of the same data set shown in Fig. 3 (note scale is renormalized). The normal to the cut-plane is along the beampipe axis, and it is positioned in the middle of the cavity.