% Generated by Sphinx.
\def\sphinxdocclass{report}
\documentclass[letterpaper,10pt,english]{sphinxmanual}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\usepackage{cmap}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{times}
\usepackage[Bjarne]{fncychap}
\usepackage{longtable}
\usepackage{sphinx}
\usepackage{multirow}

\addto\captionsenglish{\renewcommand{\figurename}{Fig. }}
\addto\captionsenglish{\renewcommand{\tablename}{Table }}
\floatname{literal-block}{Listing }



\title{GANDALF Documentation}
\date{November 16, 2015}
\release{0.4.0}
\author{David Hubber; Giovanni Rosotti}
\newcommand{\sphinxlogo}{}
\renewcommand{\releasename}{Release}
\makeindex

\makeatletter
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
    \let\PYG@ul=\relax \let\PYG@tc=\relax%
    \let\PYG@bc=\relax \let\PYG@ff=\relax}
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
    \PYG@tok{#1}\expandafter\PYG@toks\fi}
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
    \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}

\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}}
\expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}}
\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}}
\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
\expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}}
\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}}
\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}}
\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYG@tok@mb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}}
\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}}
\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}}
\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}

\def\PYGZbs{\char`\\}
\def\PYGZus{\char`\_}
\def\PYGZob{\char`\{}
\def\PYGZcb{\char`\}}
\def\PYGZca{\char`\^}
\def\PYGZam{\char`\&}
\def\PYGZlt{\char`\<}
\def\PYGZgt{\char`\>}
\def\PYGZsh{\char`\#}
\def\PYGZpc{\char`\%}
\def\PYGZdl{\char`\$}
\def\PYGZhy{\char`\-}
\def\PYGZsq{\char`\'}
\def\PYGZdq{\char`\"}
\def\PYGZti{\char`\~}
% for compatibility with earlier versions
\def\PYGZat{@}
\def\PYGZlb{[}
\def\PYGZrb{]}
\makeatother

\renewcommand\PYGZsq{\textquotesingle}

\begin{document}

\maketitle
\tableofcontents
\phantomsection\label{index::doc}\phantomsection\label{index:module-facade}\index{facade (module)}\index{ListFunctions() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.ListFunctions}\pysiglinewithargsret{\code{facade.}\bfcode{ListFunctions}}{}{}
List the available functions defined in facade

\end{fulllineitems}

\index{newsim() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.newsim}\pysiglinewithargsret{\code{facade.}\bfcode{newsim}}{\emph{paramfile=None}, \emph{ndim=None}, \emph{sim=None}}{}
Create a new simulation object. Need to specify either the parameter
file, or the number of dimensions and the simulation type. Note that it is not
possible to change the number of dimensions afterwards or simulation type
afterwards.

\end{fulllineitems}

\index{loadsim() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.loadsim}\pysiglinewithargsret{\code{facade.}\bfcode{loadsim}}{\emph{run\_id}, \emph{fileformat=None}, \emph{buffer\_flag='cache'}}{}
Given the run\_id of a simulation, reads it from the disk.
Returns the newly created simulation object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{run\_id}} (\emph{str}) -- Simulation run identification string.

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{fileformat} --
Format of all snapshot files of simulation.

\item {} 
\textbf{buffer\_flag} --
Record snapshot data in simulation buffer.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{run() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.run}\pysiglinewithargsret{\code{facade.}\bfcode{run}}{\emph{no=None}}{}
Run a simulation. If no argument is given, run the current one;
otherwise queries the buffer for the given simulation number.
If the simulation has not been setup, does it before running.
\begin{quote}\begin{description}
\item[{Keyword Arguments}] \leavevmode
\textbf{no} (\emph{int}) --
Simulation number

\end{description}\end{quote}

\end{fulllineitems}

\index{plot() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.plot}\pysiglinewithargsret{\code{facade.}\bfcode{plot}}{\emph{x}, \emph{y}, \emph{type='default'}, \emph{snap='current'}, \emph{sim='current'}, \emph{overplot=False}, \emph{autoscale=False}, \emph{xunit='default'}, \emph{yunit='default'}, \emph{xaxis='linear'}, \emph{yaxis='linear'}, \emph{**kwargs}}{}
Plot particle data as a scatter plot.  Creates a new plotting window if
one does not already exist.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{type} --
The type of the particles to plot (e.g. `star' or `sph').

\item {} 
\textbf{snap} --
Number of the snapshot to plot. Defaults to `current'.

\item {} 
\textbf{sim} --
Number of the simulation to plot. Defaults to `current'.

\item {} 
\textbf{overplot} (\emph{bool}) --
If True, overplots on the previous existing plot rather
than deleting it. Defaults to False.

\item {} 
\textbf{autoscale} --
If True, the limits of the plot are set
automatically.  Can also be set to `x' or `y' to specify
that only one of the axis has to use autoscaling.
If False (default), autoscaling is not used. On an axis that does
not have autoscaling turned on, global limits are used
if defined for the plotted quantity.

\item {} 
\textbf{xunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the x-axis.

\item {} 
\textbf{yunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the y-axis.

\item {} 
\textbf{**kwargs} --
Extra keyword arguments will be passed to matplotlib.

\end{itemize}

\item[{Returns}] \leavevmode
Data plotted. The member x\_data contains data on the x-axis and the member y\_data
contains data on the y-axis

\end{description}\end{quote}

\end{fulllineitems}

\index{addplot() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.addplot}\pysiglinewithargsret{\code{facade.}\bfcode{addplot}}{\emph{x}, \emph{y}, \emph{**kwargs}}{}
Thin wrapper around plot that sets overplot to True.  All the other
arguments are the same. If autoscale is not explicitly set, it will be set
to False to preserve the existing settings.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode
\textbf{See documentation of the plot function.}

\end{description}\end{quote}

\end{fulllineitems}

\index{render() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.render}\pysiglinewithargsret{\code{facade.}\bfcode{render}}{\emph{x}, \emph{y}, \emph{render}, \emph{snap='current'}, \emph{sim='current'}, \emph{overplot=False}, \emph{autoscale=False}, \emph{autoscalerender=False}, \emph{coordlimits=None}, \emph{zslice=None}, \emph{xunit='default'}, \emph{yunit='default'}, \emph{renderunit='default'}, \emph{res=64}, \emph{interpolation='nearest'}, \emph{lognorm=False}, \emph{type='sph'}, \emph{**kwargs}}{}
Create a rendered plot from selected particle data.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\item {} 
\textbf{\texttt{render}} (\emph{str}) -- Quantity to be rendered.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{snap} --
Number of the snapshot to plot. Defaults to `current'.

\item {} 
\textbf{sim} --
Number of the simulation to plot. Defaults to `current'.

\item {} 
\textbf{overplot} (\emph{bool}) --
If True, overplots on the previous existing plot rather
than deleting it. Defaults to False.

\item {} 
\textbf{autoscale} --
If True, the coordinate limits of the plot are set
automatically.  Can also be set to `x' or `y' to specify
that only one of the axis has to use autoscaling.
If False (default), autoscaling is not used. On an axis that
does not have autoscaling turned on, global limits are used
if defined for the plotted quantity.

\item {} 
\textbf{autoscalerender} --
Same as the autoscale, but for the rendered quantity.

\item {} 
\textbf{coordlimits} --
Specify the coordinate limits for the plot. In order of
precedence, the limits are set in this way:
\begin{itemize}
\item {} 
What this argument specifies. The value must be an
iterable of 4 elements: (xmin, xmax, ymin, ymax).

\item {} 
If this argument is None (default), global settings for
the quantity are used.

\item {} 
If global settings for the quantity are not defined,
the min and max of the data are used.

\end{itemize}

\item {} 
\textbf{zslice} (\emph{float}) --
z coordinate of the slice when doing a slice rendering.
Default is None, which produces a column-integrated plot.
If you set this variable, instead a slice rendering will
be done.

\item {} 
\textbf{xunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the x-axis.

\item {} 
\textbf{yunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the y-axis.

\item {} 
\textbf{renderunit} (\emph{str}) --
Specify the unit to use for the plotting for the rendered
quantity.

\item {} 
\textbf{res} --
Specify the resolution. Can be an integer number, in which
case the same resolution will be used on the two axes, or a
tuple (e.g., (xres, yres)) of two integer numbers, if you
want to specify different resolutions on the two axes.

\item {} 
\textbf{interpolation} --
Specify the interpolation to use. Default is nearest,
which will show the pixels of the rendering grid. If one
wants to smooth the image, bilinear or bicubic could be
used. See pyplot documentation for the full list of
possible values.

\item {} 
\textbf{lognorm} (\emph{bool}) --
Specify wheter the colour scale should be
logarithmic (default: linear). If you want to customise the
limits, use the vmin and vmax flags which are passed to
matplotlib

\item {} 
\textbf{type} (\emph{str}) --
Specify the type of particles to be used for rendering (defaults to sph)

\item {} 
\textbf{**kwarg} --
Extra keyword arguments will be passed to matplotlib.

\end{itemize}

\item[{Returns}] \leavevmode
Data plotted. The member render\_data contains the actual image (2d array).

\end{description}\end{quote}

\end{fulllineitems}

\index{addrender() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.addrender}\pysiglinewithargsret{\code{facade.}\bfcode{addrender}}{\emph{x}, \emph{y}, \emph{renderq}, \emph{**kwargs}}{}
Thin wrapper around render that sets overplot to True.  If autoscale is
not explicitly set, it will be set to False to preserve the existing settings.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\item {} 
\textbf{\texttt{renderq}} (\emph{str}) -- Quantity to be rendered.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode
\textbf{See documentation of the render function.}

\end{description}\end{quote}

\end{fulllineitems}

\index{renderslice() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.renderslice}\pysiglinewithargsret{\code{facade.}\bfcode{renderslice}}{\emph{x}, \emph{y}, \emph{renderq}, \emph{zslice}, \emph{**kwargs}}{}
Thin wrapper around render that does slice rendering.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\item {} 
\textbf{\texttt{renderq}} (\emph{str}) -- Quantity to be rendered.

\item {} 
\textbf{\texttt{zslice}} (\emph{float}) -- z-coordinate of the slice.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode
\textbf{See documentation of the render function.}

\end{description}\end{quote}

\end{fulllineitems}

\index{addrenderslice() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.addrenderslice}\pysiglinewithargsret{\code{facade.}\bfcode{addrenderslice}}{\emph{x}, \emph{y}, \emph{renderq}, \emph{zslice}, \emph{**kwargs}}{}
Thin wrapper around renderslice that sets overplot to True.  If autoscale is
not explicitly set, it will be set to False to preserve the existing settings.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\item {} 
\textbf{\texttt{renderq}} (\emph{str}) -- Quantity to be rendered.

\item {} 
\textbf{\texttt{zslice}} (\emph{float}) -- z-coordinate of the slice.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode
\textbf{See documentation of the render function.}

\end{description}\end{quote}

\end{fulllineitems}

\index{plotanalytical() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.plotanalytical}\pysiglinewithargsret{\code{facade.}\bfcode{plotanalytical}}{\emph{x=None}, \emph{y=None}, \emph{ic='default'}, \emph{snap='current'}, \emph{sim='current'}, \emph{overplot=True}, \emph{autoscale=False}, \emph{xunit='default'}, \emph{yunit='default'}, \emph{time='snaptime'}}{}
Plots the analytical solution.  Reads the problem type from the `ic'
parameter and plots the appropriate solution if implemented.  If no solution
exists, then nothing is plotted.
\begin{quote}\begin{description}
\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{x} (\emph{str}) --
Quantity on the x-axis.

\item {} 
\textbf{y} (\emph{str}) --
Quantity on the y-axis.

\item {} 
\textbf{snap} --
Number of the snapshot to plot. Defaults to `current'.

\item {} 
\textbf{sim} --
Number of the simulation to plot. Defaults to `current'.

\item {} 
\textbf{overplot} (\emph{bool}) --
If True, overplots on the previous existing plot rather
than deleting it. Defaults to False.

\item {} 
\textbf{autoscale} --
If True, the limits of the plot are set
automatically.  Can also be set to `x' or `y' to specify
that only one of the axis has to use autoscaling.
If False (default), autoscaling is not used. On an axis that does
not have autoscaling turned on, global limits are used
if defined for the plotted quantity.

\item {} 
\textbf{xunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the x-axis.

\item {} 
\textbf{yunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the y-axis.

\item {} 
\textbf{time} --
Plots the analytical solution for the given time.
If not set, then reads the time from the sim or snapshot

\end{itemize}

\item[{Returns}] \leavevmode
Data plotted. The member x\_data contains data on the x-axis and the member y\_data
contains data on the y-axis

\end{description}\end{quote}

\end{fulllineitems}

\index{time\_plot() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.time_plot}\pysiglinewithargsret{\code{facade.}\bfcode{time\_plot}}{\emph{x}, \emph{y}, \emph{sim='current'}, \emph{overplot=False}, \emph{autoscale=False}, \emph{xunit='default'}, \emph{yunit='default'}, \emph{xaxis='linear'}, \emph{yaxis='linear'}, \emph{idx=None}, \emph{idy=None}, \emph{id=None}, \emph{typex='default'}, \emph{typey='default'}, \emph{type='default'}, \emph{**kwargs}}{}
Plot two quantities as evolved in time one versus the another.  Creates
a new plotting window if one does not already exist.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on x-axis. The quantity is looked
up in the quantities defined as a function of time. If it is
not found there, then we try to interpret it as a quantity
defined for a particle. In this case, the user needs to pass
either idx either id to specify which particle he wishes
to look-up.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on y-axis. The interpretation is
like for the previous argument.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{sim} --
Number of the simulation to plot. Defaults to `current'.

\item {} 
\textbf{overplot} (\emph{bool}) --
If True, overplots on the previous existing plot rather
than deleting it. Defaults to False.

\item {} 
\textbf{autoscale} --
If True, the limits of the plot are set
automatically.  Can also be set to `x' or `y' to specify
that only one of the axis has to use autoscaling.
If False (default), autoscaling is not used. On an axis that
does not have autoscaling turned on, global limits are used
if defined for the plotted quantity.

\item {} 
\textbf{xunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the x-axis.

\item {} 
\textbf{yunit} (\emph{str}) --
Specify the unit to use for the plotting for the quantity
on the y-axis.

\item {} 
\textbf{idx} (\emph{int}) --
id of the particle to plot on the x-axis. Ignored if the
quantity given (e.g., com\_x) does not depend on the id.

\item {} 
\textbf{idy} (\emph{int}) --
same as previous, on the y-axis.

\item {} 
\textbf{id} (\emph{int}) --
same as the two previous ones. To be used when the id is the
same on both axes. If set, overwrites the passed idx and idy.

\item {} 
\textbf{typex} (\emph{str}) --
type of particles on the x-axis. Ignored if the quantity
given does not depend on it

\item {} 
\textbf{typey} (\emph{str}) --
as the previous one, on the y-axis.

\item {} 
\textbf{type} (\emph{str}) --
as the previous ones, for both axis at the same time. If set,
overwrites typex and typey.

\end{itemize}

\item[{Returns}] \leavevmode
Data plotted. The member x\_data contains data on the x-axis and the member y\_data
contains data on the y-axis

\end{description}\end{quote}

\end{fulllineitems}

\index{savefig() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.savefig}\pysiglinewithargsret{\code{facade.}\bfcode{savefig}}{\emph{name}}{}
Save the current figure with the given name.  Note that matplotlib
figures out automatically the type of the file from the extension.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{name}} (\emph{str}) -- filename (including extension)

\end{description}\end{quote}

\end{fulllineitems}

\index{next() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.next}\pysiglinewithargsret{\code{facade.}\bfcode{next}}{}{}
Advances the current snapshot of the current simulation.
Return the new snapshot, or None if the call failed.

\end{fulllineitems}

\index{previous() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.previous}\pysiglinewithargsret{\code{facade.}\bfcode{previous}}{}{}
Decrements the current snapshot of the current simulation.
Return the new snapshot, or None if the call failed.

\end{fulllineitems}

\index{snap() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.snap}\pysiglinewithargsret{\code{facade.}\bfcode{snap}}{\emph{no}}{}
Jump to the given snapshot number of the current simulation.  Note that
you can use standard Numpy index notation (e.g., -1 is the last snapshot).
Return the new snapshot, or None if the call failed.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{snapno}} (\emph{int}) -- Snapshot number

\item[{Returns}] \leavevmode
The snapshot object

\end{description}\end{quote}

\end{fulllineitems}

\index{block() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.block}\pysiglinewithargsret{\code{facade.}\bfcode{block}}{\emph{message='Press enter to quit...'}}{}
Stops the execution flow until the user presses `enter'.
Useful in scripts, allowing to see a plot (which otherwise gets closed
as soon as the execution flow reaches the end of the script)
\begin{quote}\begin{description}
\item[{Keyword Arguments}] \leavevmode
\textbf{message} (\emph{str}) --
text to print before pausing

\end{description}\end{quote}

\end{fulllineitems}

\index{sims() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.sims}\pysiglinewithargsret{\code{facade.}\bfcode{sims}}{}{}
Print a list of the simulations to screen

\end{fulllineitems}

\index{snaps() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.snaps}\pysiglinewithargsret{\code{facade.}\bfcode{snaps}}{\emph{simno}}{}
For the given simulation number, print a list of all the snapshots
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{simno}} (\emph{int}) -- Simulation number from which to print the snapshot list.

\end{description}\end{quote}

\end{fulllineitems}

\index{set\_current\_sim() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.set_current_sim}\pysiglinewithargsret{\code{facade.}\bfcode{set\_current\_sim}}{\emph{simno}}{}
Set the current simulation to the given number.
\begin{quote}\begin{description}
\item[{Keyword Arguments}] \leavevmode
\textbf{simno} (\emph{int}) --
Simulation number

\item[{Returns}] \leavevmode
The newly set current simulation

\end{description}\end{quote}

\end{fulllineitems}

\index{limit() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.limit}\pysiglinewithargsret{\code{facade.}\bfcode{limit}}{\emph{quantity}, \emph{min=None}, \emph{max=None}, \emph{auto=False}, \emph{window='current'}, \emph{subfigure='current'}}{}
Set plot limits. Quantity is the quantity to limit.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{quantity}} (\emph{str}) -- Set limits of this variable.

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{min} (\emph{float}) --
Minimum value of variable range.

\item {} 
\textbf{max} (\emph{float}) --
Maximum value of variable range.

\item {} 
\textbf{auto} (\emph{bool}) --
If auto is set to True, then the limits for that quantity are
set automatically. Otherwise, use the one given by max and min.

\item {} 
\textbf{window} (\emph{str}) --
By default only the current subplot of the current window is affected.
If this parameter is set to `all', all the current windows are affected.
If this parameter is set to `global', then also future plots are affected.

\item {} 
\textbf{subfigure} (\emph{str}) --
Similarly to window, by default only the current subplot is affected
by this command. If this parameter is set to `all' then all the subfigures
in the current window are affected.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{make\_movie() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.make_movie}\pysiglinewithargsret{\code{facade.}\bfcode{make\_movie}}{\emph{filename}, \emph{snapshots='all'}, \emph{window\_no=0}, \emph{fps=24}}{}
Generates movie for plots generated in given window
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{filename}} (\emph{str}) -- filename (with extension, e.g. mp4) of the movie that will
be created.

\item {} 
\textbf{\texttt{snapshots}} (\emph{str}) -- currently not used

\item {} 
\textbf{\texttt{window\_no}} (\emph{int}) -- currently not used

\item {} 
\textbf{\texttt{fps}} (\emph{int}) -- frames per second

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{KnownQuantities() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.KnownQuantities}\pysiglinewithargsret{\code{facade.}\bfcode{KnownQuantities}}{}{}
Return the list of the quantities that are defined

\end{fulllineitems}

\index{get\_data() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.get_data}\pysiglinewithargsret{\code{facade.}\bfcode{get\_data}}{\emph{quantity}, \emph{snap='current'}, \emph{type='default'}, \emph{sim='current'}, \emph{unit='default'}}{}
Returns the array with the data for the given quantity.
The data is returned scaled to the specified unit
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{quantity}} (\emph{str}) -- The quantity required.

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{type} (\emph{str}) --
The type of the particles (e.g. `star')

\item {} 
\textbf{snap} --
Number of the snapshot. Defaults to `current'

\item {} 
\textbf{sim} --
Number of the simulation. Defaults to `current'

\item {} 
\textbf{unit} (\emph{str}) --
Specifies the unit to use to return the data

\end{itemize}

\item[{Returns}] \leavevmode
A numpy array containing the requested data.

\end{description}\end{quote}

\end{fulllineitems}

\index{get\_render\_data() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.get_render_data}\pysiglinewithargsret{\code{facade.}\bfcode{get\_render\_data}}{\emph{x}, \emph{y}, \emph{quantity}, \emph{sim='current'}, \emph{snap='current'}, \emph{renderunit='default'}, \emph{res=64}, \emph{zslice=None}, \emph{coordlimits=None}}{}
Return the rendered data for the given quantity. Useful when one needs
to grid SPH data. The result is scaled to the specified unit. The options are
a subset of the options available to the `render' function.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{x}} (\emph{str}) -- Quantity on the x-axis.

\item {} 
\textbf{\texttt{y}} (\emph{str}) -- Quantity on the y-axis.

\item {} 
\textbf{\texttt{quantity}} (\emph{str}) -- Quantity to render.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode\begin{itemize}
\item {} 
\textbf{snap} --
Number of the snapshot to plot. Defaults to `current'.

\item {} 
\textbf{sim} --
Number of the simulation to plot. Defaults to `current'

\item {} 
\textbf{renderunit} (\emph{quantity}) --
Unit to use for the rendered quantity

\item {} 
\textbf{res} --
Resolution

\item {} 
\textbf{zslice} (\emph{float}) --
z-coordinate of the slice when doing a slice rendering.
Default is None, which produces a column-integrated plot.
If you set this variable, a slice rendering will be
done instead.

\item {} 
\textbf{coordlimits} --
Limits of the coordinates on x and y. See documentation
of render.

\end{itemize}

\item[{Returns}] \leavevmode
A numpy 2d array containig the rendered data, scaled to the requested unit.

\end{description}\end{quote}

\end{fulllineitems}

\index{CreateTimeData() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.CreateTimeData}\pysiglinewithargsret{\code{facade.}\bfcode{CreateTimeData}}{\emph{name}, \emph{function}, \emph{*args}, \emph{**kwargs}}{}
Given a function that takes a snapshot as input, construct a new
quantity which can be used to do time plots. Technically this implemented
by constructing a new object of type FunctionTimeDataFetcher. See userguide
for how to use this function.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{name}} (\emph{str}) -- the name of the new quantity

\item {} 
\textbf{\texttt{function}} -- a python function that computes the desidered quantity. See the
userguide for examples.

\item {} 
\textbf{\texttt{**kwargs}} -- extra keyword arguments will be passed to your function (see
example of lagrangian\_radii)

\end{itemize}

\item[{Returns}] \leavevmode
The FunctionTimeDataFetcher object newly constructed.

\end{description}\end{quote}

\end{fulllineitems}

\index{CreateUserQuantity() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.CreateUserQuantity}\pysiglinewithargsret{\code{facade.}\bfcode{CreateUserQuantity}}{\emph{name}, \emph{formula}, \emph{unitlabel='`}, \emph{unitname='`}, \emph{scaling\_factor=1}, \emph{label='`}}{}
Create a new quantity that can be used for example for plots. This can be done both by
giving a mathematical formula, or providing a user-defined function.
The quantity is given a name, which can now be used in plots and in other
formulae.  When you construct a quantity, you can rely on one of the units we
provide, in which case you can just pass as the scaling\_factor parameter the
name of the unit you want inside the SimUnits class. For example, if your unit
has dimensions of acceleration, you can pass `a' as the scaling\_factor
parameter. Doing this allows the unit system to work seamlessly when plotting
(i.e., you can specify the units you want the plot in).  Alternatively, you can
build your own unit passing a numerical value for the scaling\_factor,
a unitname and a latex label.  In this case, however, no rescaling is possible,
as the unit system does not know how to rescale your unit.
Technically, this function works by constructing either a FormulaDataFetcher object
or a FunctionFetcher object.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{name}} (\emph{str}) -- the name of the new quantity created

\item {} 
\textbf{\texttt{formula}} -- either a string with the mathematical formula, or a user defined function
that computes the desired quantity. See the userguide for further reference.

\item {} 
\textbf{\texttt{unitlabel}} (\emph{str}) -- label of the unit (to use in plots in the axis names)

\item {} 
\textbf{\texttt{unitname}} (\emph{str}) -- name of the unit (to be passed to functions that take a unit keyword)

\item {} 
\textbf{\texttt{scaling\_factor}} -- either a string with a quantity with the same dimension, or a float
that will be used to multiply the result of the formula/function

\item {} 
\textbf{\texttt{label}} (\emph{str}) -- latex label of the quantity to be used on the axis when plotting

\end{itemize}

\item[{Returns}] \leavevmode
the newly constructed object which represents the desired quantity

\end{description}\end{quote}

\end{fulllineitems}

\index{window() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.window}\pysiglinewithargsret{\code{facade.}\bfcode{window}}{\emph{no=None}}{}
Changes the current window to the number specified. If the window
doesn't exist, recreate it.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode
\textbf{\texttt{winno}} (\emph{int}) -- Window number

\end{description}\end{quote}

\end{fulllineitems}

\index{subfigure() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.subfigure}\pysiglinewithargsret{\code{facade.}\bfcode{subfigure}}{\emph{nx}, \emph{ny}, \emph{current}}{}
Creates a subplot in the current window.
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{nx}} (\emph{int}) -- x-grid size

\item {} 
\textbf{\texttt{ny}} (\emph{int}) -- y-grid size

\item {} 
\textbf{\texttt{current}} (\emph{int}) -- id of active sub-figure.  If sub-figure already exists,
then this sets the new active sub-figure.

\end{itemize}

\end{description}\end{quote}

\end{fulllineitems}

\index{switch\_nongui() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.switch_nongui}\pysiglinewithargsret{\code{facade.}\bfcode{switch\_nongui}}{}{}
Switches matplotlib backend, disabling interactive plotting.
Useful in scripts where no interaction is required

\end{fulllineitems}

\index{rescale() (in module facade)}

\begin{fulllineitems}
\phantomsection\label{index:facade.rescale}\pysiglinewithargsret{\code{facade.}\bfcode{rescale}}{\emph{quantity}, \emph{unitname}, \emph{window='current'}}{}
Rescales the specified quantity in the specified window to the specified unit
\begin{quote}\begin{description}
\item[{Parameters}] \leavevmode\begin{itemize}
\item {} 
\textbf{\texttt{quantity}} (\emph{str}) -- Quantity to be rescaled.

\item {} 
\textbf{\texttt{unitname}} (\emph{str}) -- Required unit for quantity.

\end{itemize}

\item[{Keyword Arguments}] \leavevmode
\textbf{window} --
Window containing plot. Can be either the string ``current'' or
an integer specifying the window.

\end{description}\end{quote}

\end{fulllineitems}



\renewcommand{\indexname}{Python Module Index}
\begin{theindex}
\def\bigletter#1{{\Large\sffamily#1}\nopagebreak\vspace{1mm}}
\bigletter{f}
\item {\texttt{facade}}, \pageref{index:module-facade}
\end{theindex}

\renewcommand{\indexname}{Index}
\printindex
\end{document}
