Professional Documents
Culture Documents
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
2
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
3
Why care? Because running an unsuitable version may result in slower performance than possible
(Mesa means software rendering, Open GL implies hardware rendering)
segfault on startup Youre lucky segfault (because of invalid GL command) any time when building a You loose a pipeline and have wasted your time. pipeline in GUI
(Segfault may happen for gmvgl, too, when run in context without OpenGL support.)
Linux 64 bit workstation and servers (only a few have GPUs, but those are reserved for GPU computing, not visualisation):
use Mesa version, e.g. % module load \ paraview/3.7.0-mesa-cvs2009-10-28-postscriptexport-gmvimport
64 bit Itanium server: no ParaView installed Windows terminal server: no ParaView installed
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
10
11
Load suitable module % module load paraview/3.7.0-cvs2009-10-28 Start ParaView data+render server processes
Start 1 process % pvserver \ server-port=<server port> use-oscreen-rendering Start multiple processes % mpirun -np 16 pvserver \ server-port=<server port> use-oscreen-rendering
Run paraview client (GUI) locally and choose Connect to local port <client port> % paraview
File - Connect Add server. Name: LiDOng via ssh tunnel Server Type: Client/Server Host: localhost Port: <client port> Ok Select entry and press Connect
12
Test with e.g. Sources - Cone - Apply Distribute data to parallel processes (aka partition) by applying D3 lter Visualise partitioning by applying Process Id Scalars lter
13
14
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
15
Compile time requirements: my Postscript patch plus old versions of class vtkPVScalarBarActor (pre-November 2008) Run time requirement: Disable Interpolate Colors checkbox in Object Inspector, Display tab. Otherwise object will be exported with greyscale colormap! Works only for 3D view (i.e. not for 2D view nor bar char/xy plot/spreadsheet view...) Works only in built-in mode, not in server mode Does support all types of source objects (sole exception: Mandelbrot source) and mesh types Live demonstration
16
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
17
Live demonstration: 2D data set from level 7, Extract Surface, Triangulate, Decimate data set on level 2. Use case: reduce memory imprint of large le series, create animation scene with reduced dataset ( faster prototyping), save state le, edit it to use the original le series, nally use ParaView GUI or pvpython script to create high-resolution animation
18
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
19
Realisation in ParaView: Load both data sets Apply Calculator lter on each of them to give eld of interest a unique name (e.g. velocity vel1 / vel2) Apply Append Attributes lter to both Calculator objects Apply Calculator and compute dierence between the two eld using their unique names (operation: vel1 - vel2) In case of dierent meshes, apply a Resample with dataset lter before using Append Attributes lter.
20
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
21
Realisation in ParaView for steady state data set: Load data set Apply Stream Tracer lter Position Point Source or Line Source somewhere inside of the geometry
22
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
23
Apply Temporal Cache lter rst (mandatory!), set to cache 2 time steps Create Point Source somewhere inside of the geometry Apply ParticleTracer lter
(Input: TemporalCache object, Source: PointSource)
Toggle visibility of TemporalCache object in Pipeline browser Optional: Apply Pathlines lter
24
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
25
ParaView supports loading and saving of state les (equivalent to GMVs attribute les), from GUI and in plain Python scripts Manipulation of state les from within Python possible, but tricky: Following scenario as replacement for gmvmpeg4 in principle possible, but not mastered yet:
Load a single le or a small le series, set up a pipeline, save state Load state le from Python script and let script replace le series from state le with a dierent (complete) le (series) Let Python script generate snapshot/animation
Easier: Edit state le (plain XML le) and alter le name references. Automate this in a custom shell script. Additionally: ParaView supports generation of AVIs as well as saving sequences of PNGs, TIFs and JPGs directly from GUI. No replacement for my gmvmpeg scripts available nor planned
Bitmap le series can be converted to movie by means of, e.g., Unix command line mencoder "mf://animation*.png" -mf type=png:w=1280:h=444:fps=25 -nosound \ 26 -ovc lavc -lavcopts vcodec=wmv2:vbitrate=1200 -o wmv2.avi
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
27
newData = vtk.vtkIdTypeArray() newData.SetName(Cell IDs (shifted by 1)) newData.SetNumberOfComponents(1) for i in xrange(0, numCells): newData.InsertNextValue(i+offset) out.GetCellData().AddArray(newData)
29
Select newly created point Apply Plot Selection over Time lter
30
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
31
Custom lters
Provide a means of grouping and saving a set of lters (a sub-pipeline) for future use as a new lter. Can be exported and imported easily (shareable, XML-based format) Live demonstration (Save last Programmable Filter example as Custom lter, store it as Demo - Plot Number of Points & Cells over Time)
32
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
33
Lookmarks
Are (more or less) custom lters plus stored color by settings and (optionally) stored camera positions Facilitate reproduction of pipeline for another source (e.g. reader source) Are created via Tools - Create Lookmarks Persist through sessions if saved A lookmarks camera settings are restored if the corresponding check box is enabled in the Lookmarks Inspector (accessible via View menu or by selecting edit in a lookmarks context menu) Live demonstration
34
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
35
Live Data
GMV supports auto-read of new les (through busy-wait 100 % cpu load discouraged use case) Dicult to realise in VTK and ParaView and not available for default ParaView readers
Reason: No means in general to guarantee consistency of new le, i.e. has it been written completely yet by external application such that it is safe to read the le?
Has been discussed frequently in the past (see e.g. discussion http://markmail.org/message/734wfelphy3uepjr) and realised at least once (by Takuya Oshima for his parallel OpenFOAM reader plugin, accepting the fact of the mentioned race conditions). No plans to incorporate this into the GMV reader plugin.
36
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
37
Stability of ParaView
2,000,000 million lines of code (non-blanks, non-comments) (see http://www.ohloh.net/p/3249/analyses/latest) rule of thumb in computer science: 1 critical error per 1,000 lines of code many bugs in ParaView! Public bug tracker: http://www.paraview.org/Bug/
(Note: Just dont upload any GMV les as GMV reader plugin is neither yet known nor available outside our department. Try converting to one of VTK le formats if necessary to reproduce bug.)
Evaluation of Stability
Very stable for standard GMV-like operations Expect frequent segmentation faults when trying to create high gloss animations. Save state les often! Better: Make sure to activate "Crash Recovery" checkbox in Edit Settings - General. Ocial releases more stable than CVS HEAD versions. The latter have nice new features, though. (Ocial release cycle: 46 months)
38
Outline
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Choosing suitable ParaView module Client/Server setup Exporting vector graphics (PS, EPS, SVG) Converting data to fulll lters input requirement Emulate gmvdi in ParaView Emulate gmvpt for steady state data set / Stream Tracer Emulate gmvpt for transient data / Particle Tracer Equivalent of gmvmpeg Examples Programmable lter Custom lters Lookmarks Live Data Stability of ParaView Learn more about ParaView
39
40