Introduction

If the geometry is not static then it must be updated every timestep. EnSight geometry can be updated either by updating the entire geometry (the coordinates and the connectivity) every timestep, OR by updating only the coordinates (connectivity is unchanged) every timestep. For either type of geometry, updating it every timestep by reading the data from disk is time consuming. However, if the motion of the geometry can be characterized as rigid body motion (where a single rotational axis, a single rotational angle, and a single translation describe the motion of the entire part, with no connectivity changes) then the entire update of the coordinates can occur using CPU and memory, which can be orders of magnitude faster than reading the coordinate updates from disk. Further, since the orientation and location of every point on the geometry is an equation that is a function of time, the delta time resolution can be as fine as needed for detailed calculations or as coarse as allowed for visualization.

EnSight implements rigid body motion on the EnSight Server on a per part basis in both Case Gold format and using the EnSight User Defined Reader API. When rigid body motion is applied to a part, the part is then considered transient geometry with it's own timeline. Case Gold implements rigid body through two rigid body files, one of which is referenced directly and the other indirectly from the .case file. For formats that have a custom reader, the User Defined Reader API has it's own routines for informing the Server and supplying the rigid body parameters. The implementation and the use will be discussed below.