body { font-family: arial, helvetica, sans-serif; font-size: 10pt; background-color: white; width:99%; }
IMG.noborder {border-style:none}
TD {font-family: arial, helvectica, sans-serif; font-size: 10pt; }
.menu {
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
color: #910124;
background-color: #F4F4F4;
border-style: thin;
}
.menu a, .menu a:link, .menu a:visited, .menu a:active {
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
font-weight: bold;
color: #910124;
background-color: #F4F4F4;
display: block;
padding: 2px;
margin-left: 6px;
border-style: dashed;
border-width: thin;
border-color: gray;
border-top: 1px;
border-bottom: none;
border-left: none;
border-right: none;
border-color: #F4F4F4;
float: top;
}
.menu a:hover {
padding: 2px;
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
color: red;
background-color: #FEFEAA;
/* background-color: #FEFEFE; */
/* background-color: khaki; */
display: block;
border-style: solid;
border-width: thin;
border-color: gray;
border-top: 1px;
border-bottom: 1px;
border-left: none;
border-right: none;
border-color: #000000;
/* outline-width: 2px; */
/* border-style: outset; */
}
.menu2 {
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
background-color: #F4F4F4;
border-style: none;
}
.menu2 a, .menu2 a:link, .menu2 a:visited, .menu2 a:active {
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
background-color: #F4F4F4;
display: block;
padding: 1;
border-style: none;
border-width: thin;
border-color: gray;
float: top;
}
.menu2 a:hover {
text-decoration: none;
font-family: sans-serif;
font-size: 9pt;
background-color: #FFFF88;
/* background-color: #FFFFFF; */
display: block;
outline-width: 2px;
border-style: none;
border-width: medium;
border-color: gray;
}
td.shutDown { font-family: sans-serif; font-size: 24pt; background-color: red; text-align: center; border: 1; padding: 8px}
td.navMenu a:hover { font-family: sans-serif; font-size: 9pt; background-color: #F4F4F4; text-align:center; background-color: white; text-decoration: none; border:1}
td.navMenu a:link { font-family: sans-serif; font-size: 9pt; background-color: #F4F4F4; text-align:center; text-decoration: none}
td.navMenu a:visited { font-family: sans-serif; font-size: 9pt; background-color: #F4F4F4; text-align:center; text-decoration: none}
td.figCaption-8pt { font-family: sans-serif; font-size: 8pt; background-color: #FFFFFF; text-decoration: none}
th.figCaption-8pt { font-family: sans-serif; font-size: 8pt; background-color: #FFFFFF; text-decoration: none}
a.toprow { text-decoration: none; color: #00F; font-family: sans-serif; font-size: 9pt; background-color: #F4F4F4; text-align:center}
#body {
/* margin: 4px 4px 4px 4px;
padding: 4px 4px 4px 4px; */
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
margin-left: 0px;
margin-right: auto;
}
#mainplain
{
/* background:#fff;
padding: 0.25in;
border: 0px solid black;
margin-left: 0px;
margin-top: 0px; */
top: 0px;
background:#fff;
padding-top: 0.25in;
margin-left: 0px;
padding-left: 0.1in;
margin-right: 0.25in;
}
#mainleft {
left: 0px;
margin: 0px 8px 8px 8px;
width: 112px;
font-family: arial, sans-serif;
font-size: 9pt;
background:#F0F0F0;
border: 2px white solid;
float: left;
}
#maincenter {
top: 0px;
background:#fff;
padding-top: 0.25in;
margin-left: 136px;
padding-left: 0.1in;
margin-right: 0.25in;
/* width: 640px; */
}
#banner {
margin: 2px 8px 2px 2px;
/*
padding-left: 4px ;
padding-right: 4px ;
padding-top: 0px ;
padding-bottom: 4px ;
*/
background: url("/archive/art/topImage.jpg") 0 0 no-repeat;
/* width: 99%; */
height: 64px;
border: 0px solid white;
border-bottom: 0px solid beige;
}
#footer {
width: 100%;
height: 30px;
padding: 0px;
background: #F0F0F0;
font-family: arial, sans-serif;
font-size: 8pt;
text-align: center;
float: none;
clear: both;
}
p,pre {
margin:0px 10px 10px 10px;
color:black;
text-align:left;
}
ul { text-align: left; }
ol { text-align: left; }
/*
* for centered tables. for more information, see :
* http://www.granneman.com/webdev/coding/css/centerta/index
*/
table.center {margin-left:auto; margin-right:auto; text-align: center;}
/* definitions for Heading fonts */
h1 { font-size:18pt text-align:left }
h2 { font-size:14pt text-align:left }
h3 { font-size:13pt text-align:left }
h4 { font-size:12pt text-align:left }
h5 { font-size:11pt text-align:left }
/* stuff for the fancy table rows on the Vignettes page */
table.vignettes {margin-left:auto; padding:4px; border:1px solid black; margin-right:auto; text-align: center;}
th.vg { background-color: khaki; border: 1px solid black}
th.vignettes { background-color: khaki; border: 1px solid black}
/* td.vignettes { background-color: #FFFFFF; text-align:center; border: 1px solid black} */
td.vignettes { background-color: #FFFFFF; padding:4px; text-align:center}
/* stuff for software page(s): colors for supported/unsupported */
th.supported { background-color: #8F8 }
tr.supported { background-color: #8F8 }
tr.unsupported { background-color: #F88 }
th.unsupported { background-color: #F66 }
/* the following spans are for having colored text */
span.dateFooterBlue { font-family: arial, helvetica, sans-serif; font-size: 8pt; white; color:#00F}
span.lightGray { color:#777 }
span.blue { color:#02F }
span.red { color:#F00 }
span.red { font-family: arial, helvetica, sans-serif; font-size: 10pt; background-color: white; color:#F00}
span.teeny { font-family: arial, helvetica, sans-serif; font-size: 8pt; background-color: white; color:#000}
/* stuff for varying font sizes */
p.eightpt {font-size:8pt;}
p.sevenpt {font-size:7pt;}
p.sixpt {font-size:6pt;}
This is an archival copy of the Visualization Group's web page 1998 to 2017. For current information, please vist our group's new web page.
ParaView at NERSC
Table of Contents
- Description
-
ParaView is a point-and-click 3D scientific visualization application that
supports most of the common visualization techniques (isocontouring,
volume rendering) on structured and unstructured grids. Its implementation
uses distributed memory parallelism, and is focused on visual data analysis
of large scientific datasets.
- Features
-
ParaView is an open-source, multi-platform visualization
application. It supports distributed computation models to process large
data sets. It has an open, flexible, and intuitive user
interface and an extensible architecture based on the Visualization
Toolkit (VTK).
- Accessing ParaView
-
ParaView is available on DaVinci
via the modules facility.
- Documentation
-
Links to online local documentation (pdf/html format).
- Additional Resources
-
Links to the ParaView distribution site, supplemental information, a FAQ
page.
- Sample Screen Shots
Description
-
ParaView is a point-and-click 3D scientific visualization application that
supports most of the common visualization techniques (isocontouring,
volume rendering) on structured and unstructured grids. ParaView was
jointly developed by members of the ASCI program, and Kitware (the
developers and distributors of the Open Source Visualization Toolkit (vtk)).
The goal of the ParaView project is to develop scalable parallel processing
(visualization) tools with an emphasis on distributed memory implementations.
The project includes parallel algorithms, infrastructure, I/O, support, and
display devices. ParaView is distributed under an Open Source license.
ParaView consists of a user interface layer that sits atop VTK. We do
not support the application at NERSC, but make it available on our systems
for your use. Support requests should be directed to the ParaView community.
Features
- Visualization Capabilities:
- Handles structured (uniform, non-uniform rectilinear grids as
well as curvilinear grids), unstructured, polygonal and image data.
- All processing operations (filters) produce datasets. This allows the
user to either process further or to save as a data file the result of
every operation. For example, the user can extract a cut surface,
reduce the number of points on this surface by masking and apply
glyphs (for example, vector arrows) to the result.
- Contours and isosurfaces can be extracted from all data types
using scalars or vector components. The results can be colored by any
other variable or processed further. When possible, structured data
contours/isosurfaces are extracted with fast and efficient algorithms
which make use of the special data layout.
- Vectors fields can be inspected by applying glyphs (currently
arrows -vector arrows-, cones and spheres) to the points in a
dataset. The glyphs can be scaled by scalars, vector component or
vector magnitude and can be oriented using a vector field.
- A sub-region of a dataset can be extracted by cutting or clipping
with an arbitrary plane (all data types), specifying a threshold
criteria to exclude cells (all data types) and/or specifying a VOI
(volume of interest - structured data types only).
- Streamlines can be generated using constant step or adaptive
integrators (currently, streamlines are not available in parallel,
this feature is under development). The results can be displayed as
points, lines, tubes, ribbons etc. and can be processed by a multitude
of filters.
- The points in a dataset can be warped (displaced) with scalars
(given a user defined displacement vector) or with vectors
(unavailable for rectilinear grids).
- With the array calculator, new
variables can be computed using existing point or cell field arrays. A
multitude of scalar and vector operations are supported.
- Data can be probed on a point or along a line. The results are
displayed either graphically or as text and can be exported for
further analysis.
- ParaView provides many other data sources and filters by
default (edge extraction, surface extraction, reflection, decimation,
extrusion, smoothing...) and any VTK filter can be added by providing
a simple XML description (VTK provides hundreds of sources and
filters, see VTK documentation for a complete list).
- Input/output and File Formats:
- VTK (all types including parallel, ascii and binary, can read and
written).
- EnSight 6 and EnSight Gold (all types including parallel, ascii
and binary; multiple parts are supported -each part is loaded
separately and can be processed individually) (read only).
- Plot3D (ascii and binary, C or Fortran; support for multiple
blocks -each block is loaded separately and can be processed
individually-, I blanking is currently partially supported) (read
only).
- Various polygonal file formats including STL and BYU (by default,
read only, other VTK writers can be added by writing XML description).
- Since ParaView is open source, the user can provide new, custom
readers and writers.
- New flexible XML based file formats (which supports distributed data)
are being developed and prototypes are provided with ParaView.
- User Interaction:
- Intuitive and flexible interface based on the Tcl/Tk toolkit.
- Compact user interface design. All tools are located in the main
window. This eliminates the need for large number of windows which are
often difficult to locate on a cluttered desktop.
- Allows changing the parameters of many filters by directly
interacting with the 3D view using 3D widgets (manipulators). For
example, the user can manipulate the seed line of a streamtrace filter
by clicking on a control point and dragging the line to the new
location.
- Maintains interactive frame rates even when working with large
data through the use of level-of-detail (LOD) models. The user
determines the threshold (number of points) beyond which a reduced
version of the model is displayed during interaction (the size of the
model can also be adjusted). Once the interaction is over, the large
model is rendered.
- Large Data and Distributed computing:
- Runs parallel on distributed and shared memory systems using
MPI. These include workstation clusters, visualization systems, large
servers, supercomputers etc.
- ParaView uses the data parallel model in which the data is broken
into pieces to be processed by different processes. Most of the
visualization algorithms function without any change when running in
parallel. ParaView also supports ghost levels used to produce piece
invariant results. Ghost levels are points/cells shared between
processes and are used by algorithms which require neighborhood
information.
- Supports both distributed rendering (where the results are
rendered on each node and composited later using the depth buffer),
local rendering (where the resulting polygons are collected on one
node and rendered locally) and a combination of both (for example, the
level-of-detail models can be rendered locally whereas the full model
is rendered in a distributed manner). This provides scalable rendering
for large data without sacrificing performance when working with
smaller data.
- Scripting and extensibility:
- ParaView is fully scriptable using the simple but powerful Tcl
language. Every operation has a corresponding script command. Every
command executed during a session can be saved in a trace file which
can be re-loaded to reproduce the session. Furthermore, since the
session file is simply a Tcl script, it can be edited/modified and
loaded to obtain different results.
- Additional modules can be added by either writing an XML
description of the interface (since the XML interface is still being
developed, it is not fully documented and is subject to change) or by
writing special C++ sub-classes of the main ParaView module (this is
only needed for advanced modules). The XML interface allows
users/developers to add their own VTK filters to ParaView without
writing any special code and/or re-compiling (ParaView can load shared
Tcl wrapper libraries at run time).
- Since the user interface is written with Tk, it can be modified
and extended at runtime either from the command prompt or by loading a
ParaView script. For example, it is possible to write a demonstation
script which brings up a message window describing the current
operation as well as allowing the user to interrupt the demo.
Accessing ParaView
- On DaVinci, use the modules facility as follows to gain access to the
application, and then launch the application as follows:
% module load paraview
% paraview
NOTE: to run ParaView in client-server mode
run the client telling it that the server is Davinci
mpirun -np 1 /usr/common/graphics/paraview/2.5_mpi/bin/pvclient --server-host=davinci.nersc.gov --connect-id=3450
Run the server and tell it that it must connect to the running client, replace NPROCS with the number of processors you would like to use.
mpirun -np NPROCS /usr/common/graphics/paraview/2.5_mpi/bin/pvserver --client-host=davinci.nersc.gov --connect-id=3450
Documentation
Pdf/postscript Documentation
Local Online html Documentation:
Additional Resources
Sample Screen Shots