-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathIntroduction.tex
More file actions
245 lines (206 loc) · 11.3 KB
/
Introduction.tex
File metadata and controls
245 lines (206 loc) · 11.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
\chapter{Introduction}
\label{chap:Introduction}
\keyterm{ParaView} is an open-source application for visualizing two- and
three-dimensional data sets. The size of the data sets ParaView can handle
varies widely depending on the architecture on which the application is
run. The platforms supported by ParaView range from single-processor
workstations to multiple-processor distributed-memory supercomputers or
workstation clusters. Using a parallel machine, ParaView can process very
large data sets in parallel and later collect the results. To date,
ParaView has been demonstrated to process billions of unstructured cells
and to process over a trillion structured cells. ParaView's parallel
framework has run on over 100,000 processing cores.
ParaView's design contains many conceptual features that make it stand
apart from other scientific visualization solutions.
\begin{itemize}
\item An open-source, scalable, multi-platform visualization application.
\item Support for distributed computation models to process large data sets.
\item An open, flexible, and intuitive user interface.
\item An extensible, modular architecture based on open standards.
\item A flexible BSD 3-clause license.
\item Commercial maintenance and support.
\end{itemize}
\parpic[r]{\parbox{0.5\scw}{
\includegraphics[width=0.5\scw]{images/HPCwire-EditorsChoice}
\includegraphics[width=0.5\scw]{images/HPCwire-ReadersChoice}
}}
ParaView is used by many academic, government, and commercial institutions
all over the world. ParaView's open license makes it impossible to track
exactly how many users ParaView has, but it is thought to be many thousands
large based on indirect evidence. For example, ParaView is downloaded
roughly 100,000 times every year. ParaView also won the HPCwire Readers'
Choice Award in 2010 and 2012 and HPCwire Editors' Choice Award in 2010 for
Best HPC Visualization Product or Technology.
\begin{inlinefig}
\begin{tabular}{cc}
\includegraphics[width=.457\linewidth]{images/Tank} &
\includegraphics[width=0.443\linewidth]{images/Fire} \\
\parbox[t]{.457\linewidth}{\footnotesize ZSU23-4 Russian Anti-Aircraft
vehicle being hit by a planar wave. Image courtesy of Jerry Clarke,
US Army Research Laboratory.} &
\parbox[t]{0.443\linewidth}{\footnotesize A loosely coupled
SIERRA-Fuego-Syrinx-Calore simulation with 10 million unstructured
hexahedra cells of objects-in-crosswind fire.}
\end{tabular}
\begin{tabular}{cc}
\includegraphics[width=.29\linewidth]{images/PeltonTurbine} &
\includegraphics[width=.61\linewidth]{images/LeMansCar} \\
\parbox[t]{.29\linewidth}{\footnotesize Simulation of a Pelton turbine.
Image courtesy of the Swiss National Supercomputing Centre} &
\parbox[t]{.61\linewidth}{\footnotesize Airflow around a Le Mans Race
car. Image courtesy of Renato N. Elias, NACAD/COPPE/UFRJ, Rio de
Janerio, Brazil}
\end{tabular}
\end{inlinefig}
As demonstrated in these visualizations, ParaView is a general-purpose tool
with a wide breadth of applications. In addition to scaling from small to
large data, ParaView provides many general-purpose visualization algorithms
as well as some specific to particular scientific disciplines.
Furthermore, the ParaView system can be extended with custom visualization
algorithms.
\begin{inlinefig}
\includegraphics[scale=\bbscale]{images/ParaViewLibStack}
\end{inlinefig}
The application most people associate with ParaView is really just a small
client application built on top of a tall stack of libraries that provide
ParaView with its functionality. Because the vast majority of ParaView
features are implemented in libraries, it is possible to completely replace
the ParaView GUI with your own custom application, as demonstrated in the
following figure. Furthermore, ParaView comes with a \keyterm{pvpython}
application that allows you to automate the visualization and
post-processing with Python scripting.
Available to each ParaView application is a library of user interface
components to maximize code sharing between them. A \keyterm{ParaView
Server} library provides the abstraction layer necessary for running
parallel, interactive visualization. It relieves the client application
from most of the issues concerning if and how ParaView is running in
parallel. The \keyterm{Visualization Toolkit} (\keyterm{VTK}) provides the
basic visualization and rendering algorithms. VTK incorporates several
other libraries to provide basic functionalities such as rendering,
parallel processing, file I/O, and parallel rendering. Although this
tutorial demonstrates using ParaView through the ParaView client
application, be aware that the modular design of ParaView allows for a
great deal of flexibility and customization.
\section{Development and Funding}
The ParaView project started in 2000 as a collaborative effort between
Kitware Inc. and Los Alamos National Laboratory. The initial funding was
provided by a three year contract with the US Department of Energy ASCI
Views program. The first public release, ParaView 0.6, was announced in
October 2002. Development of ParaView continued through collaboration of
Kitware Inc. with Sandia National Laboratories, Los Alamos National
Laboratories, the Army Research Laboratory, and various other academic and
government institutions.
In September 2005, Kitware, Sandia National Labs and CSimSoft started the
development of ParaView 3.0. This was a major effort focused on rewriting
the user interface to be more user friendly and on developing a
quantitative analysis framework. ParaView 3.0 was released in May 2007.
Since this time, ParaView development continues. ParaView 4.0 was release
in June 2013 and introduced more cohesive GUI controls and better
multiblock interaction. Recent releases of ParaView also include the
Catalyst library for in situ integration into simulation and other
applications.
Development of ParaView continues today. Sandia National Laboratories
continues to fund ParaView development through the ASC project. ParaView
is part of the SciDAC Scalable Data Management, Analysis, and Visualization
(SDAV) Institute Toolkit (\href{http://sdav-scidac.org}{sdav-scidac.org}).
The US Department of Energy also funds ParaView through Los Alamos National
Laboratories and various SBIR projects and other contracts. The US
National Science Foundation also often funds ParaView through SBIR
projects. Other institutions also have ParaView support contracts:
Electricity de France, Mirarco, and oil industry customers. Also, because
ParaView is an open source project, other institutions such as the Swiss
National Supercomputing Centre contribute back their own development.
\section{Basics of Visualization}
\begin{inlinefig}
\includegraphics[width=\linewidth]{images/BasicsOfVisualization}
\end{inlinefig}
Put simply, the process of visualization is taking raw data and converting
it to a form that is viewable and understandable to humans. This allows us
to get a better cognitive understanding of our data. Scientific
visualization is specifically concerned with the type of data that has a
well defined representation in 2D or 3D space. Data that comes from
simulation meshes and scanner data is well suited for this type of
analysis.
There are three basic steps to visualizing your data: reading, filtering,
and rendering. First, your data must be read into ParaView. Next, you may
apply any number of \keyterm{filters} that process the data to generate,
extract, or derive features from the data. Finally, a viewable image is
rendered from the data.
ParaView was designed primarily to handle data with spatial
representation. Thus the primary \keyterm{data types} used in ParaView are
meshes.
\noindent
\begin{tabularx}{\linewidth}{p{0.37\linewidth}X}
\parbox{\linewidth}{\includegraphics[width=\linewidth]{images/ImageData}} &
\begin{minipage}{\linewidth}
\keyterm{Uniform Rectilinear (Image Data)}
A uniform rectilinear grid is a one- two- or three- dimensional array of
data. The points are orthonormal to each other and are spaced regularly
along each direction.
\end{minipage}
\end{tabularx}
\noindent
\begin{tabularx}{\linewidth}{p{0.37\linewidth}X}
\parbox{\linewidth}{\includegraphics[width=\linewidth]{images/RectilinearGrid}} &
\begin{minipage}{\linewidth}
\keyterm{Non-uniform Rectilinear (Rectilinear Grid)}
Similar to the uniform rectilinear grid except that the spacing between
points may vary along each axis.
\end{minipage}
\end{tabularx}
\noindent
\begin{tabularx}{\linewidth}{p{0.37\linewidth}X}
\parbox{\linewidth}{\includegraphics[width=\linewidth]{images/StructuredGrid}} &
\begin{minipage}{\linewidth}
\keyterm{Curvilinear (Structured Grid)}
Curvilinear grids have the same topology as rectilinear grids.
However, each point in a curvilinear grid can be placed at an arbitrary
coordinate (provided that it does not result in cells that overlap or
self intersect). Curvilinear grids provide the more compact memory
footprint and implicit topology of the rectilinear grids, but also
allow for much more variation in the shape of the mesh.
\end{minipage}
\end{tabularx}
\noindent
\begin{tabularx}{\linewidth}{p{0.37\linewidth}X}
\parbox{\linewidth}{\includegraphics[width=\linewidth]{images/PolyData}} &
\begin{minipage}{\linewidth}
\keyterm{Polygonal (Poly Data)}
Polygonal data sets are composed of points, lines, and 2D polygons.
Connections between cells can be arbitrary or non-existent.
Polygonal data represents the basic rendering primitives. Any data
must be converted to polygonal data before being rendered (unless
volume rendering is employed), although ParaView will automatically
make this conversion.
\end{minipage}
\end{tabularx}
\noindent
\begin{tabularx}{\linewidth}{p{0.37\linewidth}X}
\parbox{\linewidth}{\includegraphics[width=\linewidth]{images/UnstructuredGrid}} &
\begin{minipage}{\linewidth}
\keyterm{Unstructured Grid}
Unstructured data sets are composed of points, lines, 2D polygons, 3D
tetrahedra, and nonlinear cells. They are similar to polygonal data
except that they can also represent 3D tetrahedra and nonlinear cells,
which cannot be directly rendered.
\end{minipage}
\end{tabularx}
In addition to these basic data types, ParaView also supports
\keyterm{multi-block} data. A basic multi-block data set is created
whenever data sets are grouped together or whenever a file containing
multiple blocks is read. ParaView also has some special data types for
representing \keyterm{Hierarchical Adaptive Mesh Refinement}
(\keyterm{AMR}), \keyterm{Hierarchical Uniform AMR}, \keyterm{Octree},
\keyterm{Tablular}, and \keyterm{Graph} type data sets.
\section{More Information}
There are many places to find more information about ParaView. The ParaView
Users Manual is available as an eBook and is also available online at at
\href{http://paraview.org/Wiki/ParaView/Users_Guide/Table_Of_Contents}{http://paraview.org/Wiki/ParaView/Users\_Guide/Table\_Of\_Contents}.
ParaView also has an online help that can be accessed by simply clicking
the \icon{pqHelp32} button in the application.
The ParaView web page, \href{http://www.paraview.org}{www.paraview.org}, is
also an excellent place to find more information about ParaView. From
there you can find helpful links to mailing lists, Wiki pages, and
frequently asked questions as well as information about professional
support services.
% Chapter Introduction