Initial commit

Added pyCactus, a post-processing class for pulling data out of CSV-formatted
CACTUS output data.

Added an example of using DAKOTA and CACTUS to run a single parameter study,
varying tip speed ratio for rotor Cp.
Added functions for extracting blade element data.

Added functions for extracting blade element data. Added file I/O error catching when
reading CSV data files. Renamed some function names to make them more explanatory.
Minor formatting changes

Shortened the try/except controls for file I/O. Removed some trailing line
endings.
Added pyCactusGeom.py and implemented in pyCactus.py

Added a new module pyCactusGeom with class CactusGeom for reading
in CACTUS geometry data. Did some rearranging in pyCactus
Added pyCactusPost module

Added pyCactusPost module, which contains a number of functions for
retrieving specialized quantities. These functions are meant to
facilitate scripting for producing DAKOTA-formatted .out files.
Added comments explaining columns.

Added comments explaining some column names.
Added comments

Added comments to explain the variables in the CactusGeom class.
Added pyCactusWake functions.

Added pyCactusWake module containing post-processing functions
for the wake data.
Added function to calculate TKE

Added function to calculate the turbulent kinetic energy.
Changed private functions to public

Changed private functions (denoted by __) to public. This allows
external scripts to access the lower-level data parsing functions.
Fixed a bug in computing r_over_R

Fixed a bug that was causing the r_over_R variable not to be saved in
the class-level variable name dictionary. (Before, the r_over_R was only
being saved locally to the function that was computing it).
Changed velocity deficit to momentum deficit

Changed the function which was calculating the velocity deficit to
instead calculate momentum deficit, which is a more useful output.
Added additional parsing for element AoA, circ.

Added additional lines to read local element AoA and circulation series
Major overhaul - pandas, cleanup

Major overhaul of pyCactus scripts. Replaced all functions with pandas
equivalents, which allowed for considerable code simplification.
Functions return pandas dataframes when possible (instead of numpy
arrays as before).
Fixed bug in rotor_data_at_time_index()

Fixed a bug in the function which extracts a subset of time data at a
particular index. The variable `time_col_name` was being referenced, but
was not defined in the function.
Improved wake grid data post-processing

Improved the wake grid data post-processing. The wake grid data is
converted to Numpy arrays by the CactusWakeGrid class, and can be
accessed through CactusRun.wake.X, CactusRun.Wake.U, etc.

Added functions to extract subsets of the wake data as well, including
`inplace` options which are useful for freeing memory when large data
files are stored.
Added VTK export for wake grid data.

Added VTK export for wake grid data. Export function uses the pyEvtk
library. The write_vtk() function writes the wake grid data to a
structured grid (.vts) file and information about the time series to a
.pvd file. These files can be easily read into Paraview.
Added CactusWakeElems class, VTK output.

Added class to parse CactusWakeElems dataframe, and to write the data to
Paraview-friendly VTK data.
Added error catching for wrong-format data files

Added try/except error catching for data files which have column names
that the CactusWakeGrid and CactusWakeElems classes don't expect. (It's
possible that it may be better to move this error catching into the
classes themselves in the future.)
Add geometry function to compute dr

Added a function to pyCactusGeom that computes the element dr from the
element node positions.