OPM/opm-polymer — pull request #73 by qilicun (2014-11-03 02:50:53+00:00)
Title: Fully implicit Two phase polymer solver and blackoil polymer solver

first of all , I will say sorry to all the developer, since this PR has been developed by one year, it is a "hug" PR(creates lots of new files), and it doesn't follow OPM PR rules, that's my faults. I know the whole community works very hard to let Norne runs, but finally Norne will come into shape, so I think this a good time to review this PR...

This PR contains a fully implicit two phase simulator and blackoil polymer simulator. These two solvers are basically the extension of full implicit blackoil solver which located in opm/autodiff, especially for the two phase simulator we modify a lot. And that also means opm-polymer needs to depend on opm-autodiff, sorry to introduce this dependency, but it's needed.

To summarize:
- Two phase polymer simulator:
- Compressible oil-water-polymer sovler which can also simulate oil-water system if you set polymer injection to zero.
- Thanks EclipseWriter, we can output eclipse binaries and compare the results with eclipse more easily.
- CPR is not supported, ``use_cpr=fals`` is needed when you run it.
- All the polymer stuffs and setting are the same with the original polymer solvers, except that the new solver doesn't support polymer injection through command line.
- Doesn't add new polymer properties, that means we don't support shear thinning/thickening.
- Doesn't support keyword **POLYMER**, which means if we inject polymer through **WPOLYMER**, the polymer will take effect otherwise the solver will not recognize polymer. Since this solver was implement one year ago, I have no time to do it now, if someone will do it, I will appreciate it.

- Three phase polymer simulator:
- oil-water-gas-polymer solver and it can also simulate oil-water-gas system if you set polymer injection to zero.
- Also thanks EclipseWriter, we can output eclipse binaries and compare the results with eclipse more easily.
- CPR is not supported, ``use_cpr=false`` is needed when you run it.
- All the polymer stuffs and setting are the same with the original polymer solvers, except that the new solver doesn't support polymer injection through command line.
- Doesn't add new polymer properties, that means we don't support shear thinning/thickening.
- Support keyword **POLYMER**, if you don't specify **POLYMER** in your deck file, the solver will solve the traditional blackoil system.

We also make some modification to original simulator, due to the new timer, time iteration has been done twice during the simulation.

I did some tests, the following three pictures show the comparison with eclipse. The first two pictures belong to two phase polymer simulator and the last one belongs to blackoil polymer simulator, through them you can see that we get a very good match with eclipse. I will upload these two data set to opm-data for everyone to test them.

Any comments are welcome, thanks!
![poly2p_2](https://cloud.githubusercontent.com/assets/2907423/4878146/0ff6d5a0-6303-11e4-8662-d18705eeddaa.png)
![poly2p_1](https://cloud.githubusercontent.com/assets/2907423/4878147/0ffb694e-6303-11e4-90db-49d7501aae38.png)
![polymer](https://cloud.githubusercontent.com/assets/2907423/4878149/1db936ce-6303-11e4-8a54-97825d64d6c6.png)