Commit Graph
1660 Commits
Author SHA1 Message Date
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
Markus Blatt 1fbe8e3b6d Distribute the geology information.
As it turns out initializing the Geology on a distributed grid
result in wrong values for e.g. saturation. Therefore with this
commit we resort to initializing the global geology and distribute
it using communication.
2015-05-07 12:21:06 +02:00
Markus Blatt a31aa46744 Send all phases for surface volume and saturation.
Previously, we only did send the information for the
first phase which led to computing wrong values in
a simulation. With this patch we now send all the data
for all the phases.
2015-05-07 12:21:06 +02:00
Atgeirr Flø Rasmussen db06fa48f5 Merge pull request #374 from babrodtk/throw_causes_core_dumped
Changed throw in main() to return EXIT_FAILURE
2015-05-06 12:41:39 +02:00
Atgeirr Flø Rasmussen 3cc02b4a3c Merge pull request #375 from totto82/tol_welleq
Check scaled well residuals for convergence
2015-05-06 12:40:50 +02:00
Tor Harald Sandve d7c67f10de Change default tolerance for well residuals 2015-05-06 08:55:49 +02:00
Tor Harald Sandve 43b8f9851e Change to maximum norm for the well residuals 2015-05-06 08:55:49 +02:00
Tor Harald Sandve b4369cade8 Check well_flow tolerance pr phase
The phase rate residuals are scaled by the average volume factor to
avoid too large weight on the gas phase rates.
This also makes the well convergence criteria more consistent with the
mass-balance residuals for the cells.
2015-05-06 08:55:49 +02:00
babrodtk aab8d2a008 Added missing include 2015-05-06 08:38:49 +02:00