Commit Graph

308 Commits

Author SHA1 Message Date
Kai Bao
1788f5c1b3 changing ADB::M to be Eigen::SparseMatrix<double> 2015-12-01 00:06:42 +01:00
Kai Bao
07709c52c6 a wIP version. 2015-12-01 00:06:42 +01:00
Atgeirr Flø Rasmussen
9275070bad Honor the min_iter parameter.
This also required the minIter() accessor to be made public,
so made all of the remaining accessors public.
2015-11-24 16:09:01 +01:00
Atgeirr Flø Rasmussen
a06892a070 Add asImpl() to method calls.
This is needed by derived models.
2015-11-19 14:39:49 +01:00
Bård Skaflestad
022bd6b8fe Merge pull request #536 from atgeirr/refactor-nonlinear
Refactor nonlinear solver
2015-11-18 11:47:43 +01:00
Atgeirr Flø Rasmussen
2a0051655c Merge pull request #520 from totto82/surface_dens
Support for non-constant surface densities
2015-11-13 11:40:30 +01:00
Atgeirr Flø Rasmussen
29a1a891d2 Make nonlinearIteration() the only interface to the model.
This means that details such as calling assemble(), solveJacobianSystem(),
updateState() etc. are now left to the model class. This will make it easier
to create new model classes with different behaviour (such as sequential models).
2015-11-12 17:47:18 +01:00
Robert Kloefkorn
ab12d95273 relativeChange: brackets for if statement. 2015-11-10 10:07:57 -07:00
Robert Kloefkorn
ebf61ed1bd added docu. 2015-11-10 10:05:06 -07:00
Robert Kloefkorn
31aa0544e7 computeTimeError --> relativeChange. 2015-11-10 10:00:04 -07:00
Robert Kloefkorn
77f9977ca8 BlackOilModelBase: revision of adaptive time stepping such that time error is computed
by model.
2015-11-10 09:53:25 -07:00
Tor Harald Sandve
a47c9add9b Change interface of surfaceDensity()
Add phaseIdx as input and return array of n density values for the
phase. And adapt the usage accordingly.
2015-11-10 14:54:49 +01:00
Tor Harald Sandve
a46b64adcd Support for non constant surface densities
The surface density function returns one value pr cell to allow for non
constant surface densities.
2015-11-10 12:49:19 +01:00
Markus Blatt
1916c8d35a Prevent copying the porevolume when checking for convergence.
As it is just used to compute the tempV value there is no need to
copy it to a new vector. With commit we use a reference to
geo.poreVolume() instead to prevent the copy.
2015-10-29 16:12:54 +01:00
Markus Blatt
e555cd45f1 Correctly compute the scaling factor for the equations in parallel.
When running parallel one cannot use Eigen::Array::mean() for this
as the it is just a local part of the complete array. With this commit
we correctly compute the number of global cells in the grid and use this
together with a parallel reduction to compute a global mean value.
2015-10-27 01:58:16 +01:00
Markus Blatt
ba9f227a5b Cater for wells null pointer
In the rare occasion that there are no wells int the model the wells_ pointer in
BlackoilModelBase class is a null pointer. Therefore we need to test whether it is
null and only process well information if it is not.

This problem was reintroduced with PR #460 and gets fixed by this
one. No we can run the equilibrium examples without wells again.
Sorry for the inconvenience.
2015-10-22 16:28:18 +02:00
Atgeirr Flø Rasmussen
98a3d1675a Merge pull request #454 from babrodtk/openpm_experiment
Parallel assembly (partial)
2015-10-19 15:32:50 +02:00
Tor Harald Sandve
16140c54fc Update comment
Cases with wells with no flow where crossflow is banned is handled in
the parser by shutting these wells. They will never be seen by the
simulator.
2015-10-19 08:17:52 +02:00
Tor Harald Sandve
1772a8c257 Handle allowCrossFlow flags from the input deck 2015-10-19 08:15:21 +02:00
Tor Harald Sandve
3f089b10d8 Add support for banning crossflow in the well equations 2015-10-19 08:15:21 +02:00
Andreas Lauser
72b0cb2c3e use the error macros from opm-common 2015-10-08 12:08:28 +02:00
Tor Harald Sandve
8b8ca200d6 Use implemented computeWellConnectionPressures() 2015-10-06 10:40:18 +02:00
Tor Harald Sandve
6106d560ba Compute matbal_scale for the solvent model
The material balance scaling is extended to the solvent model
The gas value is used as default and an updateEquationsScaling() method
is added.

Minor modifications is done to the BlackoilModelBase.hpp and
BlackoilModelBase_impl.hpp in order to re-use code from the base case.
2015-10-06 10:40:18 +02:00
Tor Harald Sandve
7bdd91d78f Allow for different surface densities in well perforations
The surface density input in well_perforation_densities() in
WellDensitySegmented.hpp is changed from one value pr. phase to one
value pr phase and perforation. This allow for different densities in
different perforation. The test is changed accordingly.
2015-10-06 10:38:36 +02:00
babrodtk
1d6f12e870 Added OMP pragmas 2015-10-02 10:37:08 +02:00
Atgeirr Flø Rasmussen
39a0766b8c Refactor MPI version of convergenceReduction(). 2015-10-01 11:05:35 +02:00
Atgeirr Flø Rasmussen
d29ee6967c Also refactor getWellConvergence() like getConvergence(). 2015-09-30 15:20:04 +02:00
Atgeirr Flø Rasmussen
dcb78877eb Separate phase and material concepts. 2015-09-30 14:44:50 +02:00
Atgeirr Flø Rasmussen
01f7e48693 Implement numPhases() by phase_name_.size().
This makes it easier for derived models to add a phase.
2015-09-30 13:46:57 +02:00
Atgeirr Flø Rasmussen
67ac59288d Make numPhases() calls use asImpl(). 2015-09-30 13:28:08 +02:00
Atgeirr Flø Rasmussen
3d86b9b619 Refactor getWellConvergence() similar to getConvergence(). 2015-09-30 13:28:08 +02:00
Atgeirr Flø Rasmussen
6a0964851c Make convergence checks and output work with active phases. 2015-09-30 13:28:08 +02:00
Atgeirr Flø Rasmussen
4f72bfdbcf Added phaseName() method. 2015-09-30 13:28:08 +02:00
Atgeirr Flø Rasmussen
aac34009e1 Use active and not canonical phases in getConvergence() etc. 2015-09-30 13:28:08 +02:00
Markus Blatt
d7e6886f4b Return 0 as hydrostatic correction for unperforated cells.
There might be wells without any perforations. It it happens
to be the last well will supscript over the bounds. In other
cases we actually return the correction for the next well.

Not sure whether returning 0 makes any sense, though.
2015-09-24 14:47:45 +02:00
Robert Kloefkorn
c32749b129 SolverFullyImpl: avoid multiple output of redundant information in parallel. 2015-09-16 14:36:28 +02:00
Kai Bao
49d6cfb188 renaming tempB to temp_b to adress the comment. 2015-09-08 10:57:19 +02:00
Kai Bao
b1b9c171b3 update scaling factors for mass balance equations. 2015-09-08 10:57:18 +02:00
babrodtk
466f1947a3 Fixed Eigen 3.3 compatibility 2015-09-07 13:01:31 +02:00
Atgeirr Flø Rasmussen
097542a527 Whitespace fixes.
It turns out I accidentally used tabs for a while, this commit
fixes that for all touched files.
2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen
c795113ce3 Changes to make flow compile with AutoDiffMatrix. 2015-09-07 13:00:02 +02:00
Markus Blatt
02120d14d1 Directly initialize variable with global value.
Previously we initialized a variable for a global
(i.e. sum over all processes) value with the local
value first and the overwrote it with the computed
global. This meant the name did not reflect the value
during the first initialization.

With this commit we fix this by using an additional
variable for the local value that is used to compute
the global one.
2015-09-07 09:50:36 +02:00
Markus Blatt
4cc87c28f6 Fixes parallel runs with solve_welleq_initially
If this option was set there were some branches in
the code that did depend on the local number of wells
but should depend on the number of wells in the reservoir
no matter on which process they are stored.

With this commit we introduce BlackOilModelBase::localWellsActive()
which only takes local wells into account. The function now
BlackOilModelBase::wellsActive() considers all active wells in the
reservoir.
2015-09-05 20:24:50 +02:00
babrodtk
5b287e0ea8 Fixed warnings 2015-09-02 13:02:27 +02:00
Joakim Hove
9bd8d73a26 Using TableManager to get tables. 2015-09-01 13:14:51 +02:00
babrodtk
6c590d4bdb Implemented proper targets for switching to/from THP control 2015-08-19 17:03:41 +02:00
Atgeirr Flø Rasmussen
3c1c3a30ab Merge pull request #430 from babrodtk/vfpprod
Vertical flow performance
2015-08-19 13:27:37 +02:00
babrodtk
62c2373a9d Minor refactoring 2015-08-19 11:46:29 +02:00
babrodtk
b2335ced24 Minor fixes for PR 2015-08-19 11:32:38 +02:00
babrodtk
6b3356e74d Minor fixes for comments in PR 2015-08-19 08:07:51 +02:00