Rigid Body Motion
There are many different transformations of geometry allowed in EnSight. One of those geometric transformations is the rigid body transformation. The Rigid Body Transformation Tool is designed as a companion to the User Manual documentation to demonstrate the use of Rigid Body transformation on a case gold dataset.
Rigid Body Transformations. If you need to define the rotation or translation of part(s) over time at a deep level (used in calculations on the server), then consider rigid body translations (see the User Manual chapter 9 which discusses the EnSight Rigid Body File Format). This is different from rotate, zoom, and translate in that you can defined precise translations and rotations over time, and they are deep on the server for use in computations. A transient collection of rigid body transformations allow very sophisticated motion without the need to re-write all of the geometry displacements or coordinates over time. For example if a fan is spinning at 600 rpm, this is 10 revolutions per second and would require perhaps 3600 geometry files (each containing the displacement at every node or the full coordinates) to capture 10 seconds' worth of transformation in 10 deg increments. In contrast, a couple of rigid body motion files with the Euler angles for each part over time is all that is needed to define the geometry orientation and any timestep. The 3600 timesteps are created computationally instead of input from 3600 geometry or displacement files.
Rigid Body transformations are illustrated in the User Manual with EnSight Case Gold format, and, therefore demonstrated with the user defined tool using this format. To use the tool on an EnSight Case Gold file, named, for example, File.case, first open the file. Now select part(s) of interest, and double click the tool icon. The tool is designed to demonstrate the creation of a rigid body rotation on the selected parts and write it out to a case file with _rbm appended (in our example File_rbm.case) and to create two rigid body motion files, File.eet, and File.erb that you can use directly or you can edit and compare to the User Manual to get understanding of the Rigid Body File Format. Enter the following:
- Center of rotation (the geometric center is the default).
- Rotational vector (default is z axis).
- Toggle show rotation axis (ON by default) using the line tool
- Rotation speed is in RPM (revolutions per minute) which is standard Engineering nomenclature.
- Total number of timesteps. You want to choose a number of timesteps such that the angle of rotation is sufficiently small that pathlines can be successfully traced through the fan blades.
- Total time (seconds). Note #4 is in revolutions per minute, while this is in seconds. Revolutions per second is found by dividing by 60. You may want to choose a total time that allows one revolution of your fan.
- Existing case file. This should read the name of the EnSight Case Gold file, in our example File.case. This will be used to name the new case file, File_rbm.case, which will be automatically written to use rigid body motion per your parameters and read back in. The new dataset will be transient and rotate according to your specification.
If your fan was rotating at 600 rpm, then enter 600 in #4 above. Note, that is 10 revolutions per second, which is 1 revolution in a tenth of a second. You want to enter 0.1 second in #6 to get one complete revolution. If your desired resolution is 1deg per timestep, then you will want to enter 360 in #5 above (1 deg per each timestep). EnSight has a feature called cycling that you can have it repeat through the 360 timesteps in a cyclical fashion during your pathline tracing.
Other transformations of interest for comparison and contrast
- Visual. Holding down the left, center or right mouse button and dragging across the graphics window will do a global rotation, translation, or zoom transform of the viewpoint respectively (which will visually appear to rotate, translate or zoom the geometry, respectively). All of the above transformations are visual only and are much like moving the position of a camera or visually changing the geometry only. That is, they occur only on the client and don’t change the actual geometry values in EnSight. There are several other different methods for transforming coordinates described below as follows.
- Scale or Translate Model Parts. If you want to “deep” scale model parts with a single scale factor or translate using a variable with “server-side” scaling and displacement (where the actual coordinates are changed, both visually AND calculational) then look for Adjust Part Coordinates under Model Parts. This is different from the rotate, zoom, and translate in that it is part by part and the modification will be reflected in calculations, for example, calculated length, area, and volume will change.
- Displace by a vector. If you want to displace by a vector, for example a Displacement Variable Vector, then click on the displacement icon at the top. The resulting displacement is updated each timestep using the chosen vector variable and can be visual only (on the client) or computational (on the server) and can be scaled (see How To Display Displacements). This is different from the rotate, zoom, and translate in that coordinates are changed using a scalable vector and they can be changed visually on the client or for use in deep on the server and used in further calculations.
- Group Visual Transformation. If you want to scale, translate, or rotate a number of parts visually only consider grouping them and doing a group transform. Also if you have coincident geometry in two parts and need to offset them slightly from each other use a group transform (see Part Group Visual Transformations). This differs from rotate, zoom, and translate in that you can do it only for a select group and not for all parts globally. This method is very similar to Frames discussed below except it operates on a group.
- Frames. If you need precise control of the visual (client only) rotation and translation of parts separately for animation purposes, consider attaching a separate coordinate frame to each part and manipulating them separately (see How To Create and Manipulate Frames). This is different from rotate, zoom and translate in that you can do these transformations on a part by part basis rather than globally.