Atgeirr Flø Rasmussen
7088304214
Remove unused overload of computePressures().
2015-05-26 01:19:37 +02:00
Atgeirr Flø Rasmussen
85436c4890
Move mass balance equations to separate function.
...
Note that well contributions are added on later in addWellEq() as before.
2015-05-26 00:31:50 +02:00
Atgeirr Flø Rasmussen
c2f4397bcf
Remove unused constantState() method.
2015-05-26 00:08:33 +02:00
Atgeirr Flø Rasmussen
0d7fa1a82c
Using ReservoirState and WellState consistently.
...
This means that for extended models the functions in BlackoilModelBase will
be compiled with the types used by those models and not BlackoilState and
WellStateFullyImplicitBlackoil (which are specified by BlackoilModel).
2015-05-25 23:49:09 +02:00
Atgeirr Flø Rasmussen
1cc5643d14
Moved enums to a separate file.
2015-05-25 23:06:03 +02:00
Atgeirr Flø Rasmussen
940853f9e5
Moved SolutionState to ModelTraits.
...
Also extracting existing private class and renamed it DefaultBlackoilSolutionState.
2015-05-25 00:46:28 +02:00
Atgeirr Flø Rasmussen
8f198986fd
Remove unneeded file.
2015-05-24 20:09:39 +02:00
Atgeirr Flø Rasmussen
05bb1e4f42
Use the Curiously Recurring Template Pattern for BlackoilModel.
2015-05-24 17:36:29 +02:00
Atgeirr Flø Rasmussen
92ab1d7974
Use separate files for model parameter struct.
2015-05-24 17:33:06 +02:00
Atgeirr Flø Rasmussen
620ef2a3dd
Create BlackoilModelBase class.
...
The class is identical to BlackoilModel class at this stage, but
since it was renamed from FullyImplicitBlackoilSolver it keeps the
commit history better.
2015-05-24 09:59:40 +02:00
Markus Blatt
2180ccddbc
Activates the parallelism in the adaptive time stepping schemes.
...
It does this simply by passing the information about the
parallelization to the adaptive time stepper.
2015-05-22 21:12:10 +02:00
Atgeirr Flø Rasmussen
1d2ef11ec7
Merge pull request #381 from atgeirr/refactor-solver
...
Start refactoring the FullyImplicitBlackoilSolver class
2015-05-22 12:40:49 +02:00
Atgeirr Flø Rasmussen
d08c44c53b
Follow changes to FullyImplicitBlackoilSolver
...
Original patch by Markus Blatt (@blattms).
2015-05-21 11:42:15 +02:00
Atgeirr Flø Rasmussen
5cebc1c047
Rename debugging macros to avoid potential collisions.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
1e6ecb173f
Rename terminalOutput() -> terminalOutputEnabled().
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
cf3719d707
Add more iteration report methods to NewtonSolver.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
603b9657a1
Use plural for parameter class names.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
270a7c59fb
Add afterStep() hook to NewtonSolver::step().
...
Also implement (noop) afterStep() for BlackoilModel, and
make the hooks take non-const versions of the state data.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
f89297255f
Rename FullyImplicitSolver -> NewtonSolver.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
82827f56c0
Doc fixes and improvements.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
5c3e79da38
Improve comments in step().
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
2a967a321c
Cleanup FullyImplicitSolver.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
2e7e6c6344
Split functionality between model and solver.
...
The step() method and everything to do with relaxation and oscillation
detection is now in the FullyImplicitSolver class.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
24ab95122d
Made BlackoilModel contain all of the old solver class, now the
...
idea is to make the FullyImplicitSolver class grow instead.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
7829addb99
Use new solver and model class instead of old solver class.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
f8ef6d389a
Added new solver and model classes.
...
Solver is initially a copy of the blackoil solver class, and the
class BlackoilModel is empty.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
53bff816c8
Merge pull request #382 from blattms/fix-parallel-communication-whole-system
...
Fix parallel communication for whole system
2015-05-21 10:36:35 +02:00
Markus Blatt
f6e3be5381
Adds space around some binary operators.
2015-05-20 17:54:43 +02:00
Markus Blatt
f0f38d7ac2
Fix seting of parallel_run_ member.
...
We are having a parallel only if there are more than one processes,
and not already with only one.
Kudos to @atgeirr for finding this in the review.
2015-05-20 17:53:54 +02:00
Markus Blatt
11211ca7d2
Update copyright notices
2015-05-20 09:26:25 +02:00
Markus Blatt
764e1e26c1
Used the correct parallel information for the whole system.
...
The whole system consists out of three equations per cell. Using
the parallel index set of the grid cells for it is wrong. Therefore
we use PR OPM/opm-core#803 to set up an additional parallel index set
for the whole system and use this for the communication that is needed e.g.
by the ILU preconditioner.
2015-05-19 19:41:32 +02:00
Markus Blatt
cb4970c9a6
Prevent unused paramerter warning for RedistributeDatahandle.
2015-05-19 19:40:59 +02:00
Markus Blatt
d987e75b6d
Rename createPreconditioner to the more accurate name createEllipticPreconditioner.
2015-05-19 19:40:11 +02:00
Markus Blatt
523ba001f6
Correctly compute the infinity norms of the well equations in parallel.
...
Here we assume that a complete well can be represented on one process.
Thus we only need to compute the local norms followed by a global reduction.
2015-05-15 15:57:50 +02:00
Markus Blatt
bf13922ff9
Correctly compute the infinity norm in parallel.
...
For this we need to use ParallelIstlInformation for the reduction operation.
2015-05-15 15:57:50 +02:00
Markus Blatt
48ce90fcc7
Compute scaled well residuals correctly for parallel runs.
...
This commit adapts the PR #375 for parallel runs. That is, the norms are
calculated over all wells, not just the ones that perforate the local grid
cells.
As this is a reduction, too, we move the computation to convergenceReduction
method.
2015-05-15 15:57:50 +02:00
Markus Blatt
9e0b2fed4f
Notify well manager whether this is a parallel run.
...
In a parallel the well handling needs to be slightly
adapted, see PR OPM/opm-core#799 . Therefore, we need to
pass a boolean flag to the well manager indicating whether
this is a parallel run or not.
With this commit we do this.
2015-05-15 15:57:50 +02:00
Joakim Hove
55d05b1038
Merge pull request #380 from joakim-hove/cmake-fixup
...
Removed .cmake extension from include()
2015-05-15 15:44:23 +02:00
Joakim Hove
78437a29e3
Removed .cmake extension from include()
2015-05-15 15:44:02 +02:00
Atgeirr Flø Rasmussen
052cf09495
Merge pull request #378 from blattms/less-verbose-parallel-runs
...
Prevent printing stats on more than 1 process for CPR.
2015-05-15 15:38:55 +02:00
Atgeirr Flø Rasmussen
3375e1d312
Merge pull request #376 from blattms/debug-parallel-amg-cpr
...
Fixes convergence issues with the parallel CPR
2015-05-15 15:38:38 +02:00
Markus Blatt
f4ff1ea4c4
Added missing explicite braces around if branch.
2015-05-15 15:10:42 +02:00
Markus Blatt
0cd174f246
Adds spaces to binary operator.
2015-05-15 14:58:06 +02:00
Joakim Hove
0f9a19b5af
Merge pull request #336 from joakim-hove/external-cmake
...
External cmake
2015-05-15 14:38:20 +02:00
Joakim Hove
d3741ab9af
Added support for building with duncontrol
2015-05-15 14:34:17 +02:00
Joakim Hove
605397beae
Removed cmake/ directory
2015-05-15 14:30:52 +02:00
Joakim Hove
8150bd3075
Changed logic for finding cmake modules
2015-05-15 14:30:51 +02:00
Atgeirr Flø Rasmussen
9c6a8a942b
Merge pull request #379 from blattms/remove-dead-residualNorm
...
Removes unused residualNorm method.
2015-05-12 20:27:32 +02:00
Markus Blatt
c37cf08ee0
Removes unused residualNorm method.
...
This method seems to be some leftover from refactoring.
In flow we now use computeResidualNorms() instead and
residualNorm() is not used anywhere. Therefore this commit
removes it to prevent confusion.
2015-05-12 17:30:27 +02:00
Markus Blatt
f0691504af
Prevent printing stats on more than 1 process for CPR.
2015-05-08 13:15:59 +02:00