## # @file visualize.py # @author Matthias Frey # @date 14. October 2016, LBNL # @version 1.1 (21. Dec. 2016) # # @pre Environment variable OPAL_BUILD has to be set. # @details Plot the electric self-field, density and self-field # potential using the yt framework. # 1. mpirun -np #cores testSolver # 2. python visualize.py (make sure you sourced the yt directory $YT_DIR/yt-x86_64/bin/activate) # @brief Slice plots of plotfiles generated by writePlotFile.H import os import yt from tools import doSlicePlot, doProjectionPlot try: opal = os.environ['OPAL_BUILD'] ds = yt.load(opal + "ippl/test/AMR/plt0000", dataset_type='opal') ds.print_stats() print ("Field list:", ds.field_list) print ("Derived field list:", ds.derived_field_list) doSlicePlot(ds, 'z', 'rho', 'C/m**3', 'gray') doSlicePlot(ds, 'y', 'rho', 'C/m**3', 'gray') doSlicePlot(ds, 'x', 'rho', 'C/m**3', 'gray') doProjectionPlot(ds, 'x', 'rho', 'C/m**2', 'gray') doProjectionPlot(ds, 'y', 'rho', 'C/m**2', 'gray') doProjectionPlot(ds, 'z', 'rho', 'C/m**2', 'gray') doSlicePlot(ds, 'z', 'Ex', 'V/m') doSlicePlot(ds, 'z', 'Ey', 'V/m') doSlicePlot(ds, 'x', 'Ez', 'V/m') doSlicePlot(ds, 'z', 'potential', 'V') doSlicePlot(ds, 'y', 'potential', 'V') doSlicePlot(ds, 'x', 'potential', 'V') ad = ds.all_data() print ( ad.quantities.extrema("rho").in_units('C/m**3') ) print ( ad.quantities.extrema("Ex").in_units('V/m') ) print ( ad.quantities.extrema("potential").in_units('V') ) except KeyError: print ("Please export the environment variable 'OPAL_BUILD'.") except IOError as e: print (e.strerror)