SierraPlotTools plugin BLOT-like toolbar

From ParaQ Wiki
Jump to navigationJump to search

Introduction

The SierraPlotTools plugin is being developed to meet the needs of Solid Mechanics groups at Sandia National Laboratories. It's primary goal: achieve quick easy to use BLOT-like functionality via a toolbar.

Status

As of Jan. 2010 the SierraPlotTools work is independent from pvblot (see: Pvblot_Design ) being developed by Kitware; However there is some overlap in functionality, and these efforts may merge as progress moves forward.

Not all requirements/features (see below) have been implemented yet. Incomplete features and bugs will be either be logged on this web page below, or into Mantis. Some features are dependent on fixes or enhancements to ParaView. For example the requirement for "all picked variables will be displayed on the same plot" is dependent on this bug fix: http://www.paraview.org/Bug/view.php?id=9688.

Requirements/Features

Analyze Exodus data.

Function plotting toolbar button:

PlotVarsCurve-64x64.png

A mouse click on function plotting toolbar button gives the following dropdown menu:

Plot-pull-down-menu.jpg



Selecting “Global var. vs time…” should bring up a dialog like this:

Global-var-vs-time-dialog.jpg



Selecting “Node var. vs time…” should bring up a dialog like this:

Node-var-vs-time-dialog.jpg


The resulting plot would have the selected variable/node# pair(s) plotted on a graph. Suggested legend:
displacement_x@1
displacement_x@20
displacement_x@140 (i.e. a concatenation)


Selecting “Element var. vs time…” should bring up a dialog like this:

Element-var-vs-time-dialog.jpg



Selecting “Node var. along path…” should bring up a dialog like this:

Node-var-along-path-dialog.jpg

The resulting plot would have the selected variable(s) plotted on a graph , with xmin as the 0, xmax as the cumulative distance from the first node to the last, ymin as <min value> and ymax as <max value> Suggested legend:
displacement_y@t<min time>
displacement_y@t<min time + incr time>
displacement_y@t<min time + 2*incr time> (i.e. a concatenation)

NOTE: it seems that it would be useful for the same data entry box (described in each of the global vs time, node vs time, … above) to be accessible with a mouse click once the graph is plotted (via a mouse select on a button attached to the graph it produced). That way the user could modify time slices and or axis range, etc.

Selecting “Element var. along path…”

Similar to “Node var. along path…”

Selecting “Variable vs. Variable”

Should bring up a GUI that allows selection and plotting of two variables with one along the ordinate vs. a second variable along the abscissa, and some way to specify the node or element number, if appropriate.

A good example would be “stress_xx in element 1” vs. “strain_xx in element 1” (i.e. A material stress-strain curve).

Another would be “displacement at node 100” vs. “displacement at node 1” (i.e. A check to see how linear/non-linear a structural response is).

Another would be “velocity at node 100” vs. a “global variable”.


Should be able to generate plots that look something like this:

Variable-vs-variable.jpg


Implementation Progress (Jan 2010)

The plugin is written in C++ and currently checked in to ParaView3/Plugins/SierraPlotTools.

The plots over time (Global, Node, Element) have largely been implememented. However, these items have not:

  • "write to file" capability;
  • Selection of items using ParaView GUI;
  • Setting min/max values in the text edit boxes (setting values merely sets the ranges shown in the plot, not the underlying data)

Plot annotation is currently using ParaView default, so for example a variable stress_xx is being labeled as stress(0).

The Node, Element over path features have not been implemented as these are dependent on ParaView functionality that does not yet exist.

The Variable vs. Variable feature has not been implemented.

Features/ToDo

26 Jan 2010

Features to Implement
Description Notes/Long Description Status Priority (1-5)
Write to CSV file See: Requirements open 2
Custom plot legend, e.g. DISPL_X@1 See: Requirements open 2
Selection of nodes/elements via ParaView GUI (as an alternate to typing them in) See: Requirements Note: there is currently a check box on the Plot Variables dialog for this purpose, but it is not currently implemented. open 3
Node var along path See: Requirements open 1
Element var along path See: Requirements open 1
Add a “Plot” button to the Plot Variables dialog that initiates a plot of the selected variables, but does not dismiss the dialog. One of the use cases for this is so that the user can plot variables, then immediately write the results to a CSV file. open 3
Variable vs. Variable See: Variable Vs. Variable open 1
All selected variables should show on plot See: http://www.paraview.org/Bug/view.php?id=9688 open 1

Bugs

26 Jan 2010

Bugs
Description Steps to reproduce or Detail Status Priority (1-5)
Min/Max of Nodal and Element variables from current timestep. The min and max need to show min/max over all time. Implementing a vtkTemporalStatistics filter inside this plug-in could be a solution open 1
Toggling variable using ParaView’s “Line Series” does not have an affect on the variable showing or not showing in the plot (i.e. the plot that was generated by SierraPlotTools plugin).

Note: variables that were not selected for plotting via the plug-in, still react by user selection in the Line Series panel of the ParaView UI

  1. Use “Sierra Plot Tools Load Data” toolbar button to load a sample exodus data set
  2. Click on “Plot Variables” toolbar button
  3. Select “Global var. vs time…”
  4. Select a variable (e.g. RTOL) and click OK
  5. Plot should display in a ParaView view/window
  6. Select the view/window where the plot shows
  7. In the ParaView PipeLine Browser, select the PlotGolbalVariablesOverTime1 filter
  8. Click on the Display tab
  9. Find the Line Series panel and click on the checkbox for the variable previously plotted (e.g. RTOL). Note that the Line chart does not change, i.e. the plotted variable remains displayed
open 2
Sometimes the range checking for valid ID range (at least this happened with nodes) breaks. The interface won’t plot, e.g. Node var vs. time even if entering a valid node ID # in the Node # text entry box. Intermittent open 2
Range values in plot dialog does not reflect current time step if the dialog is already being shown and time step is changed.
  1. Use “Sierra Plot Tools Load Data” toolbar button to load sample exodus data set
  2. Click on “Plot Variables” toolbar button
  3. Select Node var vs. Time
  4. Select a node variable, e.g. DISPL_X
  5. Click on “Next Frame” VCR control
  6. The range values for DISPL will change in ParaView’s Data Arrays panel, but will not update in the plot dialog
open 3

Acknowledgments

Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under Contract DE-AC04-94AL85000.

SAND2009-5448P