<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>
<div>I suggest that your filter sets the TIME_RANGE anyway. It is good practice for a filter that responds to time updates to advertise as such by providing either TIME_STEPS or TIME_RANGE. I can't remember all the nitty-gritty details of how the streaming
 demand driven pipeline decides when filters need to be updated, but if you don't set a TIME_RANGE in RequestInformation then I fear there is a chance that ParaView/VTK will not update your filter when the time step changes.</div>
<div><br>
</div>
<div>All the TIME_RANGE does is specify a continuous range of valid time values. It does not actually specify and time steps. That is appropriate for your filter because the displacement is computed on the fly. I would set the TIME_RANGE to be one period of
 the vibration.</div>
<div><br>
</div>
<div>Setting a TIME_RANGE is unlikely to hurt anything. If no reader or filter has provided time steps, then ParaView might adjust the animation start and stop time to include the time range provided. If the reader has already provided time steps, then ParaView
 by default sets itself to "Snap to TimeSteps" mode, and it will just always use the time steps. Regardless, the animation engine controls the time range and time steps within ParaView. The TIME_RANGE you provide is just a suggestion. If the animation engine
 defines a time range outside of the TIME_RANGE you given, your filter will still be given those "out of bounds" time steps, which is no problem for your filter since the motion is periodic.</div>
<div><br>
</div>
<div>-Ken</div>
<div><br>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Nima Maftoon <<a href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>><br>
<span style="font-weight:bold">Reply-To: </span>Nima Maftoon <<a href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>><br>
<span style="font-weight:bold">Date: </span>Monday, January 4, 2016 at 11:14 AM<br>
<span style="font-weight:bold">To: </span>Kenneth Moreland <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>>, "<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br>
<span style="font-weight:bold">Subject: </span>[EXTERNAL] Re: [Paraview] Visualizing complex vibration modes<br>
</div>
<div><br>
</div>
<div>
<div>
<div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px">
<div id="yui_3_16_0_1_1451914466970_37713">Hello Ken,</div>
<div id="yui_3_16_0_1_1451914466970_37711"><br>
</div>
<div id="yui_3_16_0_1_1451914466970_37678" dir="ltr">Thanks a lot for your response. There are some good ideas in your message for me to work on. I didn't know about SLAC at all. I see what you mean about the reader but I prefer to follow your suggestions the
 python way for now because I think it is less of a headache.</div>
<div id="yui_3_16_0_1_1451914466970_41236" dir="ltr"><br>
</div>
<div id="yui_3_16_0_1_1451914466970_41208" dir="ltr">Let me transfer your suggestions for the reader to ones to be implemented in a python programmable filter. I guess instead of advertising the TIME_RANGE I would use whatever time range and time steps that
 the animation engine sets. Those can be controlled with number of frames, etc. I think time sweep should be done by the animation engine as well. Now I am again stuck with my original problem of accessing the time information to drive the sin function.  
<br>
</div>
<div id="yui_3_16_0_1_1451914466970_37595"><span id="yui_3_16_0_1_1451914466970_41320"></span></div>
<div id="yui_3_16_0_1_1451914466970_41728">Thanks again</div>
<div id="yui_3_16_0_1_1451914466970_41730"><br>
</div>
<div id="yui_3_16_0_1_1451914466970_41726">Nima<br>
</div>
<div id="yui_3_16_0_1_1451914466970_37594" class="qtdSeparateBR"><br>
<br>
</div>
<div style="display: block;" id="yui_3_16_0_1_1451914466970_37575" class="yahoo_quoted">
<div id="yui_3_16_0_1_1451914466970_37574" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;">
<div id="yui_3_16_0_1_1451914466970_37573" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;">
<div id="yui_3_16_0_1_1451914466970_37572" dir="ltr"><font id="yui_3_16_0_1_1451914466970_37592" face="Arial" size="2">
<hr id="yui_3_16_0_1_1451914466970_37783" size="1">
<b id="yui_3_16_0_1_1451914466970_37781"><span id="yui_3_16_0_1_1451914466970_37780" style="font-weight:bold;">From:</span></b> "Moreland, Kenneth" <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>><br>
<b><span style="font-weight: bold;">To:</span></b> Nima Maftoon <<a href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>>; "<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>>
<br>
<b><span style="font-weight: bold;">Sent:</span></b> Monday, January 4, 2016 11:41 AM<br>
<b><span style="font-weight: bold;">Subject:</span></b> Re: [Paraview] Visualizing complex vibration modes<br>
</font></div>
<div id="yui_3_16_0_1_1451914466970_37586" class="y_msg_container"><br>
<div id="yiv3683059692">
<div id="yui_3_16_0_1_1451914466970_37585">
<div id="yui_3_16_0_1_1451914466970_37584">
<div id="yui_3_16_0_1_1451914466970_37588">Nima,</div>
<div id="yui_3_16_0_1_1451914466970_37583"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_37743">I think your question is very open ended and there are multiple ways to implement what you want.</div>
<div id="yui_3_16_0_1_1451914466970_37745"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_37747">If it were me and I had enough control over the development of the ParaView components, I would add the capability of animating mode shapes in the reader. I don't see a MED reader in my binary distribution of ParaView,
 so I am assuming that the version of ParaView that comes with Salome as a custom plugin that provides this MED reader (as well as other facilities). Perhaps you can enhance the MED reader to understand mode shapes with different phases and animate them.</div>
<div id="yui_3_16_0_1_1451914466970_37749"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_37751">The way this would work is that the MED reader would advertise that its data is available over a certain time range by sending a TIME_RANGE key down the pipeline during the RequestInformation phase. This is enough
 to tell ParaView to set up an animation for this time range. The next time RequestData is called on your reader, an UPDATE_TIME_STEP key will be set with the current time value for the animation. The reader can then compute the displacement vector with the
 "cos(wt) + b cos(wt + pi/2)" using the given time value for t. I would have the reader also internally apply the displacement vector to the point coordinates. This implementation is a bit of a headache for the developer, but it creates a nice seamless interface
 for the user. Load the file and it just works. No scripts or extra processing necessary.</div>
<div id="yui_3_16_0_1_1451914466970_37813"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_37811">I know of two readers in ParaView that support mode shapes: Exodus II and SLAC. Of these two, the SLAC reader is closer to your use case because it also supports mode shapes defined with complex values and different
 phases. The source code for the SLAC reader is in ParaView/VTK/IO/NetCDF/vtkSLACReader.cxx, so you can consult the solution there.</div>
<div id="yui_3_16_0_1_1451914466970_37785"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_37787">If you are not in a position to make modifications to the MED reader, the next best solution would be to create a filter that animates the mode shape for you. The filter would work basically the same as I described
 above for the reader except that the data comes from the filter input rather than a file. Such a filter can be implemented with the programmable filter and then encapsulated in a plugin without having to compile any custom C++ code (<a id="yui_3_16_0_1_1451914466970_39775" rel="nofollow" shape="rect" target="_blank" href="http://www.kitware.com/blog/home/post/534">http://www.kitware.com/blog/home/post/534</a>).</div>
<div id="yui_3_16_0_1_1451914466970_38123"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_38125">Hope that helps.</div>
<div id="yui_3_16_0_1_1451914466970_38218"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_38219">-Ken</div>
<div id="yui_3_16_0_1_1451914466970_38129"><br clear="none">
</div>
</div>
<div id="yui_3_16_0_1_1451914466970_38130"><br clear="none">
</div>
<span id="yiv3683059692OLK_SRC_BODY_SECTION"></span>
<div class="yiv3683059692yqt3986667272" id="yiv3683059692yqt49616">
<div id="yui_3_16_0_1_1451914466970_41607" style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt;">
<span style="font-weight:bold;">From: </span>ParaView <<a rel="nofollow" shape="rect" ymailto="mailto:paraview-bounces@paraview.org" target="_blank" href="mailto:paraview-bounces@paraview.org">paraview-bounces@paraview.org</a>> on behalf of "<a rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>"
 <<a id="yui_3_16_0_1_1451914466970_41606" rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br clear="none">
<span style="font-weight:bold;">Reply-To: </span>Nima Maftoon <<a rel="nofollow" shape="rect" ymailto="mailto:n_maftoon@yahoo.com" target="_blank" href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>><br clear="none">
<span style="font-weight:bold;">Date: </span>Monday, January 4, 2016 at 6:41 AM<br clear="none">
<span style="font-weight:bold;">To: </span>"<a rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br clear="none">
<span style="font-weight:bold;">Subject: </span>[EXTERNAL] Re: [Paraview] Visualizing complex vibration modes<br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_38133"><br clear="none">
</div>
<div id="yui_3_16_0_1_1451914466970_38137">
<div id="yui_3_16_0_1_1451914466970_38136">
<div id="yui_3_16_0_1_1451914466970_38135" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3339">Hello,</div>
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3370"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451914466970_3372">I saw that the two links about the history has been attached together making a broken link. I corrected them below:</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451914466970_3371"><a rel="nofollow" shape="rect" class="yiv3683059692" id="yiv3683059692yui_3_16_0_1_1451509971344_5167" target="_blank" href="http://www.salome-platform.org/forum/forum_10/587894859">http://www.salome-platform.org/forum/forum_10/587894859</a></div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451914466970_3391"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451914466970_3288"><a rel="nofollow" shape="rect" class="yiv3683059692edited-link-editor" id="yiv3683059692yui_3_16_0_1_1451509971344_5200" target="_blank" href="http://www.paraview.org/pipermail/paraview/2011-December/023538.html">http://www.paraview.org/pipermail/paraview/2011-December/023538.html</a></div>
<br clear="none">
<div class="yiv3683059692qtdSeparateBR" id="yiv3683059692yui_3_16_0_1_1451914466970_3303">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3649">I hope this time they are transferred correctly. 
<br clear="none">
</div>
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3648">Nima</div>
<br clear="none">
</div>
<div class="yiv3683059692yahoo_quoted" id="yiv3683059692yui_3_16_0_1_1451914466970_3314" style="display:block;">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3313" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3312" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451914466970_3311"><font id="yiv3683059692yui_3_16_0_1_1451914466970_3310" face="Arial" size="2"></font>
<hr id="yiv3683059692yui_3_16_0_1_1451914466970_3388" size="1">
<b><span style="font-weight:bold;">From:</span></b> Nima Maftoon <<a rel="nofollow" shape="rect" ymailto="mailto:n_maftoon@yahoo.com" target="_blank" href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>><br clear="none">
<b><span style="font-weight:bold;">To:</span></b> "<a rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>" <<a rel="nofollow" shape="rect" ymailto="mailto:paraview@paraview.org" target="_blank" href="mailto:paraview@paraview.org">paraview@paraview.org</a>>
<br clear="none">
<b><span style="font-weight:bold;">Sent:</span></b> Wednesday, December 30, 2015 4:57 PM<br clear="none">
<b><span style="font-weight:bold;">Subject:</span></b> Visualizing complex vibration modes<br clear="none">
</div>
<div class="yiv3683059692y_msg_container" id="yiv3683059692yui_3_16_0_1_1451914466970_3330">
<br clear="none">
<div id="yiv3683059692">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3385">
<div id="yiv3683059692yui_3_16_0_1_1451914466970_3384" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_4364">Hello all, <br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5138"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5113">I am trying to visualize complex vibration modes with Paraview. Unlike in a real mode, points in a complex mode have different phases. Please see previous discussions on this subject:</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5168"><a rel="nofollow" shape="rect" id="yiv3683059692yui_3_16_0_1_1451509971344_5167" target="_blank" href="http://www.salome-platform.org/forum/forum_10/587894859">http://www.salome-platform.org/forum/forum_10/587894859</a></div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5170"><a rel="nofollow" shape="rect" id="yiv3683059692yui_3_16_0_1_1451509971344_5200" target="_blank" href="http://www.paraview.org/pipermail/paraview/2011-December/023538.html">http://www.paraview.org/pipermail/paraview/2011-December/023538.html</a><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5088"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5342">The Paraview version included in Salome has a macro for modal visualization. I've put that macro and a MED file containing both real and imaginary parts of the mode shapes and another two other
 MED files for separate real and imaginary parts in the following shared folder. <br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5344"><a rel="nofollow" shape="rect" id="yiv3683059692yui_3_16_0_1_1451509971344_4927" target="_blank" href="http://1drv.ms/1TqggEK"><br clear="none">
</a></div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5087"><a rel="nofollow" shape="rect" id="yiv3683059692yui_3_16_0_1_1451509971344_4927" target="_blank" href="http://1drv.ms/1TqggEK">http://1drv.ms/1TqggEK</a><br clear="none">
</div>
<div id="yiv3683059692yui_3_16_0_1_1451509971344_4364"><br clear="none">
</div>
<div class="yiv3683059692" dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_7048" style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">
The real mode animation in the mode macro is based on applying ExtractSurface(), ScaleVector(), WarpByVector() in cascade and animating the ScaleVector using a sinusoidal interpolation in a CompositeKeyFrame. However for a complex mode two components should
 drive the WrapByVector filter.<br clear="none">
</div>
<div class="yiv3683059692" dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_6970" style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">
<br class="yiv3683059692" id="yiv3683059692yui_3_16_0_1_1451509971344_6972" clear="none">
</div>
<div id="yiv3683059692yui_3_16_0_1_1451509971344_6931">I describe my thoughts, which didn't solve the problem, below:</div>
<div id="yiv3683059692yui_3_16_0_1_1451509971344_5565"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_5507">If the complex mode shape is a+jb, the animated mode shape should have a form like a cos(wt)+b cos(wt+pi/2). w is only for visualization and can be 2pi, 1, etc. t can come from the animation time.
 I learned about GetAnimationTime () that can be accessed inside a PythonAnimationCue (). Another way of getting the time is through CompositeKeyFrame for real and imaginary parts where "Phase" for one of them should be set to pi/2 (it is not clear to me whether
 the phase should be defined as deg or rad for CompositeKeyFrame). I guess at least one of my problem is that I don't know how to access data of the imaginary and real fields in the complex file or data of the two separate reader sources and do math operation
 on them to make a new field out of them and feed it to a wrap filter. <br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_7438"><br clear="none">
</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_7437">Any thoughts would be appreciated.</div>
<div dir="ltr" id="yiv3683059692yui_3_16_0_1_1451509971344_7463">Nima<br clear="none">
</div>
</div>
</div>
</div>
<br clear="none">
<br clear="none">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>