Bård Skaflestad
f0d908d104
Merge pull request #140 from atgeirr/cpr-preconditioning
...
Cpr preconditioner
2014-05-21 15:36:12 +02:00
Atgeirr Flø Rasmussen
f48ee55c0d
Change error message.
2014-05-21 13:15:42 +02:00
Atgeirr Flø Rasmussen
e9ab64fd18
Remove usage of DUNE_UNUSED_PARAMETER.
2014-05-21 13:14:02 +02:00
Atgeirr Flø Rasmussen
3e956a9659
Merge pull request #139 from GitPaean/limited_variable_update
...
Limited variable update
2014-05-20 21:52:22 +02:00
Kai Bao
827cd7e8e4
Removing the param.has() if condition.
2014-05-20 19:53:39 +02:00
Atgeirr Flø Rasmussen
fec6154d81
Remove unused data members and parameters.
2014-05-20 15:23:04 +02:00
Kai Bao
63c53096cd
Using param.getDefault() instead of param.get().
...
And also remove the space in dsMax (), drsMaxRel (), dpMaxRel ().
2014-05-20 15:17:37 +02:00
Atgeirr Flø Rasmussen
023a46fa12
Put creation of elliptic system in separate function.
2014-05-20 14:24:24 +02:00
Atgeirr Flø Rasmussen
b823324e59
Cite CPR article by Gries, Stuben et al.
2014-05-20 14:23:49 +02:00
Kai Bao
79916078f2
Changing the defalut value for the paramters.
...
Add reordering the intialization order to removing the reordered
warning.
2014-05-20 13:05:11 +02:00
Atgeirr Flø Rasmussen
307cd6ef33
Add convergence check, local whitespace cleanup.
2014-05-19 11:21:23 +02:00
Atgeirr Flø Rasmussen
ec03062b51
Remove unused code.
2014-05-19 11:13:17 +02:00
Kai Bao
2b31ab6111
Removing one blank line.
2014-05-16 18:27:23 +02:00
Kai Bao
d461eb9e76
Cleaning up some debugging output.
2014-05-16 18:15:42 +02:00
Kai Bao
f2ecbf163e
Cleaning up some debugging output.
2014-05-16 18:13:36 +02:00
Kai Bao
cd50b54ddf
Finishing the modification for solver class.
2014-05-16 18:02:55 +02:00
Atgeirr Flø Rasmussen
d9d5074dd2
Initial implementation of CPR preconditioner done.
...
With some caveats:
- scaling factors for material balance equations and pressure are hardcoded.
- pressure system is formed from sum of material balance equations, with
no check for diagonal dominance.
2014-05-16 14:21:14 +02:00
Kai Bao
94e3fd3fcb
Add more residual output in getConvergence.
...
Output the residualWellFlux, residualWell, MB to monitor the convergence
process.
2014-05-16 13:52:33 +02:00
Kai Bao
55b0164d4a
Apply dpmaxrel to the update of bhp
...
And also change the default value for dpmaxrel.
2014-05-16 13:46:00 +02:00
Kai Bao
b001c580b9
Add drsmaxrel for the update of rs.
...
drsmaxrel is a relative limit.
2014-05-16 13:32:34 +02:00
Kai Bao
4cef151091
Add dsmax for the update of saturations.
...
dsmax is the absolute limit for saturation update.
2014-05-16 13:26:44 +02:00
Atgeirr Flø Rasmussen
52746a6455
Fix two bugs in updateWellControls().
...
The bugs were:
- Not accounting for the different storage orders used for the
state.qs variable and the WellState*::wellRates() field.
- When switching to rate control, well rates for phases other
than that to be controlled by were set to zero.
2014-05-16 09:07:43 +02:00
Atgeirr Flø Rasmussen
bbf11c42c6
Pass elliptic matrix part to CPR preconditioner.
...
For now, the top left part is passed with no summing of equations or checks
for diagonal dominance.
2014-05-15 15:49:14 +02:00
Atgeirr Flø Rasmussen
c10a6f0804
Instantiate new preconditioner.
...
Using it so far only for comparing to existing solver.
2014-05-14 15:53:54 +02:00
Atgeirr Flø Rasmussen
c0ce5a13b4
Add preliminary version of CPR preconditioner class.
...
This version simply does ILU(0) preconditioning.
2014-05-14 15:52:01 +02:00
Atgeirr Flø Rasmussen
b73367deda
Let computeNewtonIncrement() eliminate well equations.
...
In its current state, we still don't do CPR, but eliminate the well equations,
solve the resulting system and finally recover the eliminated well unknowns.
2014-05-13 15:02:11 +02:00
Atgeirr Flø Rasmussen
c60a080a73
Added some utility functions for the CPR preconditioner.
...
The new functions are:
- eliminateVariable()
- recoverVariable()
- isDiagonal()
2014-05-13 14:58:13 +02:00
Atgeirr Flø Rasmussen
3e41bf11e9
Enable user control of linear solver for full and elliptic system.
...
This is done by using parameter subgroups 'cpr_elliptic' and 'cpr_full'.
If groups are not present, parent (root) group will be queried.
2014-05-12 17:12:04 +02:00
Atgeirr Flø Rasmussen
54c07f3d0c
Add choice of solution strategies to simulators.
...
The following is changed in this commit:
- The constructor for NewtonIterationBlackoilSimple now takes
a parameter object instead of a linear solver.
- The fully implicit black-oil simulators can now use the CPR
preconditioning strategy (by passing use_cpr=true) or the
simple strategy (the default).
Note that as of this commit, the CPR preconditioning still has
not been implemented properly, and behaves just like the simple
strategy.
2014-05-12 11:10:59 +02:00
Atgeirr Flø Rasmussen
46e4ea7736
Add initial skeleton of CPR preconditioning class.
...
Implementation is identical to NewtonIterationBlackoilSimple for now.
2014-05-12 11:10:06 +02:00
Atgeirr Flø Rasmussen
9e170a3f96
Fix missing template keyword.
...
When invoking a member template in a template function one must in most
cases use the template keyword as a qualifier to indicate that the member
is a template.
I do not understand why this did not trigger a compiler error for the
original author though.
2014-05-12 09:28:15 +02:00
Atgeirr Flø Rasmussen
96610704c4
Merge pull request #132 from atgeirr/remove-old-well-eq
...
Remove unused function addOldWellEq().
2014-05-09 21:28:54 +02:00
Atgeirr Flø Rasmussen
a89d67d8cb
Merge pull request #133 from GitPaean/fixing_spe3_newConvergence
...
Fixing spe3 new convergence
2014-05-09 21:27:29 +02:00
Kai Bao
8d51dac6c6
Deleting some unused variables.
...
In FullyImplicitBlackoilSolver_impl.hpp
atol, rtol, resTooLarge
Not setting the converged to be false for the first iteration.
2014-05-09 12:48:04 +02:00
Kai Bao
02ab5b0f22
Cleaning up some commented lines.
2014-05-08 17:19:02 +02:00
Kai Bao
a8ddf7477d
Cleaningup and ready for push.
2014-05-08 14:38:09 +02:00
Tor Harald Sandve
3143333b69
Update perfPressure
...
The secondary variable perfpressure is updated when the well
equation is assembled. The perfpressure is used to calculate the
welldensity.
2014-05-08 13:32:49 +02:00
Kai Bao
aec38e503d
Using the updated rq_ instead of recomputing them.
2014-05-08 11:41:54 +02:00
Kai Bao
3798e3f69b
Add return converged for the getConvergence_b;
2014-05-08 11:21:47 +02:00
Kai Bao
5ef4976f4a
Using the units from the opm-core.
...
And a new interface for getConvergence based on x and xw.
2014-05-08 11:03:42 +02:00
Kai Bao
ccc1577f09
Deleting some spaces.
...
FullyImplicitBlackoilSolver_impl.hpp
2014-05-07 14:54:44 +02:00
Kai Bao
930beabd21
Cleaning up FullyImplicitBlackoilSolver_impl.hpp.
2014-05-07 14:52:06 +02:00
Kai Bao
be30504daa
Cleaning up debugging information.
...
NewtonIterationBlackoilSimple.cpp
SimulatorFullyImplicitBlackoil_impl.hpp
2014-05-07 14:45:10 +02:00
Kai Bao
4f006cad78
Merge remote-tracking branch 'upstream/master' into fixing_debugging
2014-05-07 14:34:43 +02:00
Atgeirr Flø Rasmussen
3e2dd11641
Remove unused function addOldWellEq().
2014-05-07 14:34:20 +02:00
Kai Bao
414032220b
Commit before cleaning up.
2014-05-07 14:23:55 +02:00
Kai Bao
9cd7620121
Comment out the unused np and sat
...
In function getConvergence()
2014-05-06 17:13:24 +02:00
Kai Bao
65350426f7
Finishing the first version of the getConvergence.
2014-05-06 17:09:00 +02:00
Kai Bao
7bb7e5fbb4
Finish the first version of getConvergence.
...
The determination of disgas and vapoil is omitted and should be added
later.
2014-05-06 15:47:08 +02:00
Kai Bao
cfc589b453
Add some outputing information
2014-05-05 17:54:32 +02:00