libantioch/antioch — pull request #98 by SylvainPlessis (2014-12-12 01:26:09+00:00)
Title: Falloff three body

This one is branched off the **kinetics parsing** PR, it is not mergeable with the **Conditions reac** branch, and any daughter branch (thus **opt transport** and **opt kin on transport**).

Because it starts to be difficult to understand where what goes in what order, here is a more beautiful version (and full) of all the PRs.
![graph](https://cloud.githubusercontent.com/assets/4761614/5405526/82dd5072-816b-11e4-8b23-5f1c762e09e0.jpg)

Thus to be merged last.

This PR adds a monstrosity, a kinetics model that is a falloff and a three body process. Fondamentaly what it does is computing the falloff:
![equation](http://www.sciweavers.org/tex2img.php?eq=k%28T%2CM%29%20%3D%20%5Cfrac%7Bk_0%28T%29%7D%7B%5Cfrac%7B1%7D%7BM%7D%20%2B%20%5Cfrac%7Bk_0%28T%29%7D%7Bk_%5Cinfty%28T%29%7D%7D%20F%28M%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=0)
using the three-body description of M:
![equation](http://www.sciweavers.org/tex2img.php?eq=M%20%3D%20%5Csum_s%20%5Cepsilon_i%20c_i&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=0)

Thus a new ```FalloffThreeBodyReaction``` object that contains everything the ```FalloffReaction``` has and the ```ThreeBodyReaction```.

A slight update of ```Reaction``` and ```ThreeBodyReaction``` was done also. The vector of coefficients were stored in the ```Reaction``` object, thus creating a ```std::vector(n_species,1.L)``` for all the reactions. Now this vector lives only in the appropriate objects, thus the methods ```void set_efficiency(const std::string & ,unsigned int, const CoeffType )``` and ```CoeffType efficiency(const unsigned int ) const``` have been adapted. It saves memory, I don't see any reason why we should not do it, I hope I'm not missing something. It also makes it easier for the computations. A last change is in the falloff objects themselves, instead of passing down the full vector of molar mass (and thus needing the efficiencies for Troe), only the value of M is passed down.