Hack together Sfepy linear elastic example

Address #49

Hack together Sfepy linear elastic example in order to seed the
MKS. Sfepy is easily installable, which allow us to use it as a
dependency. We want to generate the data during the test case
precluding the use of large FE tools for test cases.
Include position dependent material properties

Address #49

Position dependent material properties work. Question on Sfepy mailing
list addressed the problem.

https://groups.google.com/forum/#!topic/sfepy-devel/Zzzl1qz96zI
Include periodic boundary condition.

Address #49

The elasticity example does not work at the currently.
Periodic boundary conditions now work.

Address #49
Internal region with fixed displacement

Address #49

Example has internal region with fixed displacement. Both the x and y
boundary conditions are periodic. The example just displaces the
entire box at the moment.
Start ElasticFEModel

Address #49

Start of the ElasticFEModel class. The class generates a square grid
using Gmsh in a similar way to FiPy.

The prototype SfePy example ("elasticity/elasticiy.py") has been
compared with OOF and broadly agrees when comparing roughly for
displacement values in similar spatial locations. The SfePy example
has the wrong boundary conditions for the eventual problem that needs
to be solved
ElasticFEModel is nominally finished but broken

Address #49

ElasticFEModel is finished, but the first test run showed that the
file format is wrong for Sfepy. Will try and use the Sfepy's native
mesh classes to create the mesh.
Use gen_block_mesh instead of Gmsh

Address #49

Use gen_block_mesh instead of Gmsh for generating the mesh. This
greatly reduces the complexity of the code. Also, Gmsh was not
generating a file format that SfePy could read.

The shape of the property arrays in get_material was incorrect and the
arrays were not contiguous. This has been fixed.

Calling predict on the model runs to completion without an error and
seems to converge. The results have not been checked yet though.
ElasticFEModel returns the strain field

Address #49

The ElasticFEModel now calculates the strain field at the cell
centers. The new notebook indicates that the fields look correct
although the numbers have not been tested.

 * The displacement is in the x-direction. It was mistakenly in the
   y-direction.

 * Doc strings for every method.
Test cases for ElasticFEModel

Address #49

Add test cases for ElasticFEModel with both contrast and no contrast.

 * Turned down Sfepy verbosity for tests. Tests fail due to some
   verbosity that can't be turned off. Will submit a question on the
   mailing list.
Add notebook demoing MKS elasticity

Address #49

Notebook shows that MKS elasticity works for a small test case.
Test case for MKS elasticity

Address #49

Add simple test case for MKS elasticity with a delta microstructure.
Elastic test case with rectangular domain

Address #49

Elastic test case with rectangular domain to test with differing nx
and ny. All tests pass.
Random microstructure prediction is broken

Address #49

Update notebook to demonstrate that the MKS is not predicting a random
microstructure. The issue is likely with the setting up of the initial
delta microstructure and the interpolation of the material properties
between cells and vertices.
Properties attached to quadrature points

Address #49

Material properties are now attached to quadrature points. Allows
removal of nasty interpolation of properties from elements to
vertices. This scheme fits better with the MKS and now allows the MKS
to accurately predict strains.

There is still an issue with the FFT in the x-direction due to lack of
periodicity in FE model.
Hack file for elasticity example
Merge remote-tracking branch 'upstream/elasticity' into elasticity

Conflicts:
	notebooks/elasticity_test.ipynb
Fix Sfepy api issue

Address issue #49

Sfepy recently changed its api for importing Domain to FEDomain. This
fix accommodates either api.
Add coeff property

Address issue #49

Add coeff property to provide a simple way to get the influence coefficient in real space.
Merge remote-tracking branch 'upstream/elasticity' into elasticity