Implement experimental SPH-model

Basic implementation of smoothed particles hydrodynamics

Squashed commit of the following:

commit 2e49d31e1f10c6d18636dc0de9295e7107592a89
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Apr 4 10:58:11 2014 +0200

    Add SPH-example (experimental).

commit 628ff6f9f2bdf130b0e69e5f791d76a8e881bf13
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Apr 4 10:14:41 2014 +0200

    Add experimental comment on SPH.

commit 35cc070c4bc21917096f46aa92880e6c070924a3
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Apr 4 10:10:56 2014 +0200

    Move force SPH calculations into the separate function.

commit 330ccb3f96fa0e9da89c1fb0861b917a356e823c
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Apr 3 20:05:54 2014 +0200

    Fix forces calculation.

commit fad16b5beddf3390633aaf8cefa92f4b40062127
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Apr 3 15:32:02 2014 +0200

    Re-enable SPH-functions.

commit 8829b10bcdda2ddeec7e2c869694639c4f33af42
Merge: 0cc1f70 c00c469
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Apr 3 13:55:11 2014 +0200

    Merge branch 'master' into SPH

commit 0cc1f700c93ed389fef49e2388a03500ea1e495e
Merge: d06a92f fccbe5d
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Apr 3 10:51:00 2014 +0200

    Merge with master.

commit d06a92fca289cbafb36076662c8d753d6e2a0c4d
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Mar 7 13:55:48 2014 +0100

    Minor fix.

commit 7281ddf414486b72dd1320c7adc424467d10daed
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Mar 6 09:43:28 2014 +0100

    Fix calculation.

commit 8a101259776a07aae32763feab3274f239ccf38d
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Mar 5 10:35:51 2014 +0100

    Fix calculation of rho.

commit b215b6a2ed0172edba4266a5d303d3014339c4d2
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Tue Mar 4 17:16:21 2014 +0100

    Fix smoothkernels .

commit f34b8bbe57570861dbb9c49f8d07bd04b1c3781f
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Tue Mar 4 15:57:58 2014 +0100

    Fix compilation.

commit e71d0cb6e89b8d5a3cb96e3aeffcf27d6427f102
Merge: c470a00 5f72cd2
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Tue Mar 4 15:37:01 2014 +0100

    Merge with newer trunk version.

commit c470a0033f4568b7cde9f2d96812199b0bbf4726
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Tue Mar 4 15:33:51 2014 +0100

    Add some more smoothing kernels.

commit fd15132ae2091fcfa75422359c32aab6e6aec316
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Jan 17 15:35:41 2014 +0100

    Update SPH-modell.

commit 96facbc435743bada75a3e35b28f82f7d734e3e2
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Jan 17 09:02:56 2014 +0100

    Change velocity calculation.

commit 9efc074ae303e962da1ea757defba223a210f4e9
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Jan 16 17:33:47 2014 +0100

    Change the press function in SPH.

commit 2ea260102cf98b05d5c43cabc4273122117e2a51
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 15 16:34:02 2014 +0100

    Add vescous forces.

commit 23e7d58a61d5b2e872b52bc2788f9ff310ee83e8
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 15 15:50:38 2014 +0100

    Prevent crash, if rho==0.0

commit 3806a200512169fa4f76a1675cc67ecdd2fec664
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 15 15:46:25 2014 +0100

    Cosmetic change in fpress calculation.

commit d87f5c13f5ee2560da1a6e0cdcdb22894bf7d2d6
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 15 15:34:53 2014 +0100

    Fix Fpress calculation in SPH-modell.

commit 91a082bb37a60d6531c1d1e20db9fe60c4ca1175
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 15 11:34:28 2014 +0100

    Make smoothkernel function available for all classes.

commit cb54b34811e855a886d30e20b468f352c53fa404
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Fri Jan 10 17:09:58 2014 +0100

    Add pressure force calculation into SPH-model.

commit a5220663df167a0d78a4ceefe8a8e296f1014fb2
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Jan 9 17:04:34 2014 +0100

    Calculate press in SPH-model.

commit 5fd35c52942670704ccd51c98976b790c9006e85
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Jan 9 16:37:22 2014 +0100

    Add basic files for SPH-model.

commit b8e808700c85f35afe12608411227a84b189e734
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Thu Jan 9 14:45:27 2014 +0100

    Add a reference to SPH-article.

commit 48a39516e00f6e56d83b45bb1aedd7a834ccd732
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 8 13:27:06 2014 +0100

    Add some additional variables for SPH into body.hpp

commit 68b8da73a16ab4aa0bda0bb1cceec51fd295e954
Author: Anton Gladky <gladky.anton@gmail.com>
Date:   Wed Jan 8 11:24:28 2014 +0100

    Add SPH-option to cmake.
Add gradients and laplacian of the kernel functions.
Implement some more kernel functions.
Remove duplicated code.
Normalize parameters of kernel functions.
Produce meaningful error message.
Add Cs parameters to particles, visualize them in VTK.
Export in VTK some more SPH-parameters.
Get a coordination number from body.
Use bool return type for force calculation.

Would be good to implement it for all Law_*, like
discussed recently.
Add watercolumn example for SPH.
Add example script to test different kernel functions.
Add README to examples SPH.