<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>Nima,</div>
<div><br>
</div>
<div>I think your question is very open ended and there are multiple ways to implement what you want.</div>
<div><br>
</div>
<div>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><br>
</div>
<div>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><br>
</div>
<div>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><br>
</div>
<div>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 href="http://www.kitware.com/blog/home/post/534">http://www.kitware.com/blog/home/post/534</a>).</div>
<div><br>
</div>
<div>Hope that helps.</div>
<div><br>
</div>
<div>-Ken</div>
<div><br>
</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>ParaView <<a href="mailto:paraview-bounces@paraview.org">paraview-bounces@paraview.org</a>> on behalf of "<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">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 6:41 AM<br>
<span style="font-weight:bold">To: </span>"<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_3339">Hello,</div>
<div id="yui_3_16_0_1_1451914466970_3370"><br>
</div>
<div id="yui_3_16_0_1_1451914466970_3372" dir="ltr">I saw that the two links about the history has been attached together making a broken link. I corrected them below:</div>
<div id="yui_3_16_0_1_1451914466970_3371" dir="ltr"><a class="" rel="nofollow" id="yiv6836111557yui_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 id="yui_3_16_0_1_1451914466970_3391" dir="ltr"><br>
</div>
<div dir="ltr" id="yui_3_16_0_1_1451914466970_3288"><a class="edited-link-editor" rel="nofollow" id="yiv6836111557yui_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>
<div id="yui_3_16_0_1_1451914466970_3303" class="qtdSeparateBR">
<div id="yui_3_16_0_1_1451914466970_3649">I hope this time they are transferred correctly. 
<br>
</div>
<div id="yui_3_16_0_1_1451914466970_3648">Nima</div>
<br>
</div>
<div style="display: block;" id="yui_3_16_0_1_1451914466970_3314" class="yahoo_quoted">
<div id="yui_3_16_0_1_1451914466970_3313" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;">
<div id="yui_3_16_0_1_1451914466970_3312" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;">
<div id="yui_3_16_0_1_1451914466970_3311" dir="ltr"><font id="yui_3_16_0_1_1451914466970_3310" face="Arial" size="2">
<hr id="yui_3_16_0_1_1451914466970_3388" size="1">
<b><span style="font-weight:bold;">From:</span></b> Nima Maftoon <<a href="mailto:n_maftoon@yahoo.com">n_maftoon@yahoo.com</a>><br>
<b><span style="font-weight: bold;">To:</span></b> "<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> Wednesday, December 30, 2015 4:57 PM<br>
<b><span style="font-weight: bold;">Subject:</span></b> Visualizing complex vibration modes<br>
</font></div>
<div id="yui_3_16_0_1_1451914466970_3330" class="y_msg_container"><br>
<div id="yiv6836111557">
<div id="yui_3_16_0_1_1451914466970_3385">
<div id="yui_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="yiv6836111557yui_3_16_0_1_1451509971344_4364">Hello all, <br>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5138" dir="ltr"><br>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5113" dir="ltr">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 id="yiv6836111557yui_3_16_0_1_1451509971344_5168" dir="ltr"><a rel="nofollow" id="yiv6836111557yui_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 id="yiv6836111557yui_3_16_0_1_1451509971344_5170" dir="ltr"><a rel="nofollow" id="yiv6836111557yui_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>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5088" dir="ltr"><br>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5342" dir="ltr">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>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5344" dir="ltr"><a rel="nofollow" id="yiv6836111557yui_3_16_0_1_1451509971344_4927" target="_blank" href="http://1drv.ms/1TqggEK"><br>
</a></div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5087" dir="ltr"><a rel="nofollow" id="yiv6836111557yui_3_16_0_1_1451509971344_4927" target="_blank" href="http://1drv.ms/1TqggEK">http://1drv.ms/1TqggEK</a><br>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_4364"><br>
</div>
<div class="yiv6836111557" id="yiv6836111557yui_3_16_0_1_1451509971344_7048" dir="ltr" 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>
</div>
<div class="yiv6836111557" id="yiv6836111557yui_3_16_0_1_1451509971344_6970" dir="ltr" style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px;">
<br class="yiv6836111557" id="yiv6836111557yui_3_16_0_1_1451509971344_6972">
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_6931">I describe my thoughts, which didn't solve the problem, below:</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_5565"><br>
</div>
<div dir="ltr" id="yiv6836111557yui_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>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_7438" dir="ltr"><br>
</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_7437" dir="ltr">Any thoughts would be appreciated.</div>
<div id="yiv6836111557yui_3_16_0_1_1451509971344_7463" dir="ltr">Nima<br>
</div>
</div>
</div>
</div>
<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>