Commit Graph

98 Commits

Author SHA1 Message Date
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
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
babrodtk
b75baac8fc Fixed sign issue with vfpprod->bhp(flo) 2015-08-18 14:53:36 +02:00
babrodtk
139071d39e Minor performance improvement for non-VFP runs 2015-08-18 10:24:57 +02:00
Tor Harald Sandve
971e7e19cb Add simple solvent model
assumes:
- solvent is immiscible in the oil phase
- gas pvt and relperms are used for the solvent
- no initial solvent in the model

Solvent is injected using the WSOLVENT keyword
TODO: Make it possible to change WSOLVENT
2015-08-18 07:24:08 +02:00
babrodtk
3fddf86eef Initialized well connection pressures first
in assemble(...). This makes VFPINJ behave as expected, and
  VFPPROD for the "trivial table". For the nontrivial table,
  VFPPROD does not match expected behaviour.
2015-08-17 13:05:32 +02:00
babrodtk
657a7c58b8 Added hydrostatic correction for vfp table depth
Closer to reproducing proper results, but som oscillating
 behaviour in plots of actual BHP.
2015-08-14 14:48:15 +02:00
babrodtk
748440eea6 Fixed bug with VFPPROD tables 2015-08-12 15:15:33 +02:00
babrodtk
c513ed4a17 Implemented support for VFPINJ tables. Runs through synthetic non-trivial example 2015-08-11 16:31:43 +02:00
babrodtk
2994d1d932 Refactoring 2015-08-11 12:21:06 +02:00
babrodtk
5af128bcb6 Refactoring 2015-08-11 09:47:06 +02:00
babrodtk
bc2fb23af9 Minor beatuifications of code 2015-08-10 15:04:21 +02:00