Visualisation ============= zCFD by default will output data in VTK (http://www.vtk.org/) format. This format can be read directly by many post-processing tools including ParaView (http://www.paraview.org/) by Kitware. Output in other formats is also possible, including TECPLOT (http://www.tecplot.com/) and EnSight (https://www.ceisoftware.com/) as follows: EnSight Output -------------- To output in EnSight format, use the following option in the *'write output'* part of the control dictionary: .. code-block:: python 'write output' : { # Output format 'format' : 'ensight', Native HDF5 Output ------------------ To output in HDF5 format (the native format for zCFD), use the following option in the *'write output'* part of the control dictionary: .. code-block:: python 'write output' : { # Output format 'format' : 'native', VTK Output ---------- By default, zCFD will output data in VTK format. To explicitly force VTK output, use the following option in the *'write output'* part of the control dictionary: .. code-block:: python 'write output' : { # Output format 'format' : 'vtk', ParaView Catalyst Scripts ------------------------- ParaView provides a powerful yet lightweight interface that allows parallel processing of simulation data during programme execution called ParaView Catalyst (http://www.paraview.org/in-situ/). This is driven by scripts (Python files) that can be called when data is output: .. code-block:: python 'write output' : { # Output format MUST be VTK 'format' : 'vtk', # The scripts should be in the same directory as the input files 'scripts' : ['paraview_catalyst1.py','paraview_catalyst2.py'] ParaView Client --------------- To download the free ParaView software for visualising VTK format data on the local device, just visit the ParaView website (http://paraview.org). ParaView Client-Server ---------------------- In addition to running entirely locally on a device, ParaView can interface to a remote server. This allows users to run ParaView to access data that is held (and processed) on a different computer, potentially running larger simulation tasks that would be possible on the local machine. This also means that there is no need to transfer the large output files back to a local machine for post-processing. The remote machine can easily be set up to run a ParaView Server in parallel - meaning that very large post-processing jobs can be run quickly. ParaView Server Source ^^^^^^^^^^^^^^^^^^^^^^ To download and install ParaView Server, you can either use the version on the main ParaView website and follow the instructions here (http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server), or else use the Zenotech version (https://github.com/zenotech/ParaView.git). We currently recommend the Zenotech version as it contains a number of fixes for parallel post-processing that have not yet been added to the main release. zPost: Post-Processing Suite ---------------------------- Zenotech has created an open-source post-processing code suite called *zPost*, which is available for free download (https://github.com/zenotech/zPost.git). *zPost* makes use of ParaView and iPython (http://ipython.org/). *zPost* is ideally suited to post-processing data generated by zCFD, and can exploit the full power of parallel, remote processing. The repository for *zPost* contains numerous examples to help with the generation of standard CFD outputs. Installing zPost ^^^^^^^^^^^^^^^^ You must have Python 2.7 (https://www.python.org/download/releases/2.7/) installed, including the *virtualenv* package. ParaView must also be installed. Once you have downloaded *zPost*, change to the *zPost/scripts* directory and run: .. code-block:: bash > ./create_virtualenv.bsh This will install all the required python packages in *zPost/zpost-py27*. If there are aditional package that you want to include in the Python environment, just add them to the *zPost/Requirements.txt* file. Running the iPython Notebook ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ One of the easiest ways to use Python is via an interactive notebook on your local computer. The notebook is just a locally hosted server that you can access via a web-browser. This makes saving, re-running and viewing the *zPost* output straightforward. To automatically start up notebook server on your computer within the zPost environment, change to the *scripts* directory and run: .. code-block:: bash > ./start_notebook This should launch a web-browser automatically. .. topic:: Note This will use the default version of ParaView. If you want to run a custom version of ParaView please set the PARAVIEW_HOME variable in your shell before starting the notebook server Examples ^^^^^^^^ http://nbviewer.ipython.org/github/zenotech/zPost/tree/master/ipynb/