SET_STATES > Selecting the States to Be Animated
SET_STATES > Selecting the states to be animated
By default all states are selected for animation. You can select from the pre-programmed options here, or use to define more precisely what is to be animated.
The and options will apply to all windows with active tabs in this panel.
Where multiple models are present the states can only be selected for one model at a time. You should set the tabs to the window(s) of this model first: attempting to select custom states for multiple models will generate warnings.
Interpolating animations by time
Normally animations are drawn at the states defined in your database(s), but it is possible to interpolate by time between states: both to get a smoother progression through a sequence with too few states, and also to match multiple models with dissimilar output frequencies. This is described under "custom" animation below.
Animating Static and Eigenvalue (modeshape) analyses
This section assumes the normal case of a transient analysis producing a series of states at successive times. However it is also possible to animate a single static or eigenvalue state by cycling it through 0 - 360 degrees. This is described in Animating static and eigenvalue (modal) analyses.
Note that this "custom" panel can only apply to one model at a time. When multiple models are present it will be restricted to the window(s) of a single model. ![]() |
|||||||||||||||
|
||||||
Animation sequence when models have dissimilar numbers of states
This "hold last state" logic applies whether the dissimilar models are in the same or different windows. (This is a change of behaviour in D3PLOT V92, in previous versions there was no synchronisation between windows, and models were only "held" if they were in the same window.) |
||||
What the "clock" in a graphics window shows with two or more models in a windowWhere there is only one model in a window then there is no ambiguity, and the clock at the bottom right shows the current state's time. Where there are two or more models in a window then the clock shows:
|
||||
Synchronising animations by state across multiple windows
From D3PLOT 9.2 onwards, animation in multiple windows is aligned by
state number. Thus all animations will start at state #1, and step forwards
together through states #2, #3, .. #n. If a window has fewer states than
one or more other windows it will wait at its last state until the window
with the highest number of states has reached its end, then they will
all loop back to state #1 together.
|
|
|
If you subsequently restart animation with the master button in this panel then all windows will commence from the same state and, if they have the same number of frames, will remain synchronised. |
|
Synchronising animations by state when windows have different numbers of statesIf they do not have the same number of states, or their states have different time intervals, animations across multiple windows may fall out of step in terms of "true" analysis time. The remedy is to animate by explicit time interval, rather than by state number. This is done by interpolating "By Time" as follows:
|
|
|
Use to map the detailed state selection panel:
|
Then truncate the number of states in all windows so that they all have the same number of states. In this example it has been limited to 12states.
|
BY_TIME... Synchronising animation by time across dissimilar models
It is possible to interpolate between states and so to animate by user-defined time interval, which has the side-effect of synchonising models with dissimilar state times. This is done by using the option. (Interpolation can be used on single models as well, usually to give a smoother animation, although this is less common.) |
|
|
You define
<start time>
And D3PLOT will interpolate states as required to achieve the specified intervals. Interpolation is performed using a simple linear factor on the two "real" states that bound the required time. You can control animation on a per frame basis using the slider and associated controls at the top of the window, exactly as described in Basic Animation Controls above. |
|
How interpolation by time affects output elsewhere in D3PLOTInterpolation by time affects the following other parts of the code:
However note that interpolation by time does not affect the following:
|
Warning: Interpolated values should be treated with care
Linear interpolation tends to underestimate values between points on a smoothly varying, low frequency curve, and to give wildly inaccurate results on a curve which is high frequency relative to its sampling interval. This is acceptable for visual purposes during animation, but should be treated with caution if "written" values are to be extracted for subsequent use.
|
This is demonstrated by the following two plots:
|
|
Interpolation of a low frequency curve In this case the green shaded areas show how the linearly interpolated results (red) underestimate the true values (black). |
|
Interpolation of a high frequency curve In this case, where the frequency of the curve is high relative to the sampling interval it is clear that linear interpolation (as well as the original points) will miss significant values.
|
|
Warning: Interpolation can be memory intensiveInterpolation by time requires more memory (to hold the interpolated data for display) which, combined with the memory required to hold multiple models, can result in machine memory becoming exhausted. It is better to make sure that models being compared have near identical output intervals, as this greatly simplifies post-processing. |
Animation "frames" (as distinct from states)
The situation can arise in which the images to be animated are not explicit "states" in the database. This happens when:
- Transient analyses are animated at interpolated times. (eg as described above)
- A single loadcase of a static (ex-Nastran) analysis is animated in modeshape form.
- An eigenvalue (ex-Nike/Dyna or Nastran) modeshape is animated.
(For more on static and eigenvalue animation see Animating Static and Eigenvalue (Modal) Analyses )
To handle this D3PLOT has the concept of animation "frames":
- Each image in an animation is a frame, regardless of its origin.
- In the normal (not interpolated) transient case there is an exact equivalence between animated states and frames.
- In other (interpolated, modeshape) cases there will be at least two frames in an animation, but usually many more.
How does this affect you? Not very much, you only need to know the following:
-
The slider and other positioning controls at the top of the graphics
window operate on "frames" not explicit states, although in most cases
these are the same.
Therefore in cases where you are animating something other than the effects of scrolling this slider (which navigates frames) and the state slider in the State Display box (which navigates states) will be different.
-
You cannot stop an animation at a frame that is interpolated between
explicit states.
D3PLOT will not permit you to operate statically on interpolated frames from a transient analysis. This is because such results are potentially misleading: linear interpolation through non-linear data is inherently inaccurate. When you an interpolated animation the current (static) state will be the one with the time closest to when you stopped the animation.
-
Interpolated animations can be a bit slower than those at explicit
states.
Because you might choose a very large number of interpolated states D3PLOT does not store interpolated data for each frame, although interpolated coordinates are stored if space is available. Therefore there is a slight overhead as interpolated results are calculated "on the fly" during animation in these modes.

The
The "by state" animation behaviour above is the default, chosen
because it is simple and minimises memory usage, but it has disadvantages
when models with different state time intervals are processed.