Commit Graph

8369 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
8f62670c1e
Merge pull request #1611 from totto82/productivity_index
Compute well productivity index and pass it to the output
2018-11-08 09:30:46 +01:00
Tor Harald Sandve
8fe2be3b7f Compute well productivity index and pass it to the output 2018-11-07 15:36:31 +01:00
Andreas Lauser
e5fb6cf83c flow: do not pass the schedule and summaryConfig objects anymore
they are now always created internally by the vanguard.
2018-11-07 12:34:54 +01:00
andrthu
a969fd198a Ignoring overlap cells in parallel ILU factorization (#1610)
* fixed the issue of including ghost cells in preconditioning, by zeroing out ghost rows and setting the diagonal to a large value.

* move altering of matrix to a function

* blockwise modification of matrix

* add findOverlapRowsAndColumns in BlacoilDetail. Add call to findOverlapRowsAndColumns in constructor of BlacoilModelEbos. Change makeOverlapRowsInvalid, by looping over precalculated inddies instead of grid

* Better formatting
2018-11-06 14:14:50 +01:00
Joakim Hove
6c5b540eaf
Merge pull request #1605 from totto82/drsdtr
Adapt to changes in schedule interface
2018-11-06 08:21:03 +01:00
Tor Harald Sandve
eff1c21bb3
Merge pull request #1609 from GitPaean/refactoring_well_test
Refactoring well test to prepare for Physical limit related well test.
2018-11-02 10:40:59 +01:00
Atgeirr Flø Rasmussen
9d6a9b4aa2
Merge pull request #1604 from andlaus/ebos_aquifers
let aquifers be managed by core ebos
2018-11-02 10:33:13 +01:00
Andreas Lauser
848a65c1c8 BlackoilAquiferModel: move the function bodies to the _impl.hpp file
... to make it more consistent with the existing code.
2018-11-01 15:19:33 +01:00
Andreas Lauser
6a929ca797 try to fix subtle lifetime bug
it is possible that a dune entity vanishes if its iterator gets out of
scope. Whether this is a problem or not seems to be be highly depend
on the used configuration...
2018-11-01 15:13:28 +01:00
Kai Bao
0c24a30459 some cleaning up
no funtionality changes.
2018-10-31 15:32:50 +01:00
Andreas Lauser
46b52448aa fix a few review comments 2018-10-31 15:20:56 +01:00
Andreas Lauser
339c76bcac make aquifers work again, quite a few cleanups 2018-10-31 15:20:56 +01:00
Andreas Lauser
805eec9566 make the CT aquifiers code do something 2018-10-31 15:20:56 +01:00
Andreas Lauser
7c81dbdaab let the aquifiers be managed by core ebos
also, clean them up a bit:
- do not use the intensive quantities cache directly anymore. (i.e.,
  that code should now work if the IQ cache is disabled)
- do not fiddle with the global Jacobian matrix and residual vector
  directly. Instead, implement the water fluxes to the reservoir as a
  source term like wells.

one thing that did not become fully clear to me is if each aquifer
ought to be assumed to be in contact with the whole reservoir or just
a few cells on the boundary. The current implementation goes down the
former path, while, without any deeper knowledge, I would rather
suppose that the latter applies. maybe my understanding of this is
just too limited, though.
2018-10-31 15:20:56 +01:00
Atgeirr Flø Rasmussen
985b1b17f0
Merge pull request #1608 from andlaus/fix_2p_wells
well model: fix valgrind complaints if either oil or gas are disabled
2018-10-31 15:16:56 +01:00
Kai Bao
702c6e7b1f refactoring the wellTesting in BlackoilWellModel
so that we can do well test for different closing reason.
2018-10-31 15:00:21 +01:00
Andreas Lauser
b04c82a64e well model: fix valgrind complaints if either oil or gas are disabled 2018-10-31 13:18:10 +01:00
Kai Bao
4d58b9c34d splitting updateWellTestState to be two functions
one testing physical limits, and the other testing economic limits.
2018-10-31 12:54:39 +01:00
Andreas Lauser
ea67829e4d
Merge pull request #1606 from totto82/fix2pSpecialization
use specialized fluidstate in the aquifer model
2018-10-30 12:38:47 +01:00
Tor Harald Sandve
52475eeea6 use specialized fluidstate in the aquifer model 2018-10-29 13:03:53 +01:00
Tor Harald Sandve
08c4a4857b Adapt to changes in schedule interface 2018-10-29 10:39:14 +01:00
Andreas Lauser
4cf81c69b1
Merge pull request #1602 from atgeirr/convergence-status
Add convergence status class
2018-10-25 14:16:29 +02:00
Atgeirr Flø Rasmussen
671ed75535 Made ReservoirFailure and WellFailure into classes. 2018-10-25 13:08:16 +02:00
Atgeirr Flø Rasmussen
852765a65b Address review comments. 2018-10-25 12:12:06 +02:00
Atgeirr Flø Rasmussen
2bf4d15285 Rename ConvergenceStatus -> ConvergenceReport. 2018-10-25 11:57:47 +02:00
Joakim Hove
58f84d3fb4
Merge pull request #1596 from totto82/minpvv
Add support for MINPVV
2018-10-25 09:05:10 +02:00
Atgeirr Flø Rasmussen
2bef8d7017 Use infinity as too-large boundary for multisegment pressure equation.
This is to preserve current behaviour. Infinity is used in the test
currently, rather than the provided parameter (that is only used for
mass balance/flux equations).
2018-10-24 21:43:26 +02:00
Atgeirr Flø Rasmussen
cb72c882ea
Merge pull request #1603 from andlaus/one_reading_deckfile_message
flow: print the "reading deck file" message only once
2018-10-24 21:25:58 +02:00
Andreas Lauser
25ae95375b flow: print the "reading deck file" message only once
this is a small follow-up to #1599: not only the banner must be
protected but also the "reading deckfile" message. Mea culpa!
2018-10-24 17:30:45 +02:00
Arne Morten Kvarving
74c8e907fb fixed: give sysconf dir to aid rpmbuild 2018-10-24 16:29:46 +02:00
Atgeirr Flø Rasmussen
08e26f523d
Merge pull request #1599 from andlaus/fast_banner
flow: print the startup banner immediately
2018-10-24 15:12:38 +02:00
Andreas Lauser
d26fe45d52 flow: print the startup-banner only on the first rank
thanks to [at]atgeirr for catching this.
2018-10-24 14:30:21 +02:00
Atgeirr Flø Rasmussen
f9fae47f23 Use ConvergenceStatus in well subsystem. 2018-10-23 14:05:19 +02:00
Atgeirr Flø Rasmussen
37d4327ce3 Add Pressure equation type (for multisegment wells). 2018-10-23 14:04:27 +02:00
Atgeirr Flø Rasmussen
42cb36ab9f Improve severity feature, add severityOfWorstFailure(). 2018-10-23 11:28:32 +02:00
Atgeirr Flø Rasmussen
34afb0b254 Add severity (normal, too large, nan) to failure objects. 2018-10-23 10:52:34 +02:00
Atgeirr Flø Rasmussen
892b24c435 Make well failure types more informative.
Separating control eq failures with THP, BHP and Rate.
2018-10-23 10:26:39 +02:00
Atgeirr Flø Rasmussen
891912b04a Add ConvergenceFailure class and test. 2018-10-23 10:03:13 +02:00
Andreas Lauser
7d30a8408a flow: print the startup banner immediately
also, add a "reading deck" output. The idea is to make `flow`'s
behaviour less surprising by preventing people from thinking that
nothing happens after starting `flow` for a large deck.
2018-10-22 10:37:16 +02:00
Andreas Lauser
ab94700f9a ParallelOverlappingILU0: fix warning emitted by newish compilers 2018-10-22 10:37:16 +02:00
Tor Harald Sandve
df4db9dfbc Add support for MINPVV
The test and code for pinchprocessor is removed since it is no
longer used.
2018-10-15 13:39:47 +02:00
Joakim Hove
33da0aea09
Merge pull request #1586 from joakim-hove/bump-master-versions
Bump versions
2018-10-02 16:22:29 +02:00
Joakim Hove
1f13a776b2 Bump versions 2018-10-02 16:17:11 +02:00
Arne Morten Kvarving
9ac269a304
Merge pull request #1583 from andlaus/more_flow_build_parallelism
make the build of flow fully parallelizable
2018-09-28 10:37:35 +02:00
Atgeirr Flø Rasmussen
949b88d5c6
Merge pull request #1582 from alfbr/master
Increase default maximum iterations for both non-linear and linear solver
2018-09-27 10:28:52 +02:00
Andreas Lauser
d7efb362a2 make the build of flow fully parallelizable
so far, the actual specializations of the simulator were compiled into
the `libopmsimulators` library and the build of the glue code
(`flow.cpp`) thus needed to be deferred until the library was fully
built. Since the compilation of the glue code requires a full property
hierarchy for handling command line parameters, this arrangement
significantly increases the build time for systems with a sufficient
number of parallel build processes. ("sufficient" here means 8 or more
threads, i.e., a quadcore system with hyperthreading is sufficient
provided that it has enough main memory.)

the new approach is not to include these objects in
`libopmsimulators`, but to directly deal with them in the `flow`
binary. this allows all of them and the glue code to be compiled in
parallel.

compilation time on my machine before this change:

```
> touch ../opm/autodiff/BlackoilModelEbos.hpp; time make -j32 flow 2> /dev/null
Scanning dependencies of target opmsimulators
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_gasoil.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_oilwater.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_blackoil.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_solvent.cpp.o
[  4%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_polymer.cpp.o
[  6%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_energy.cpp.o
[  6%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_oilwater_polymer.cpp.o
[  6%] Linking CXX static library lib/libopmsimulators.a
[ 97%] Built target opmsimulators
Scanning dependencies of target flow
[100%] Building CXX object CMakeFiles/flow.dir/examples/flow.cpp.o
[100%] Linking CXX executable bin/flow
[100%] Built target flow

real    1m45.692s
user    8m47.195s
sys     0m11.533s
```

after:

```
> touch ../opm/autodiff/BlackoilModelEbos.hpp; time make -j32 flow 2> /dev/null
[ 91%] Built target opmsimulators
Scanning dependencies of target flow
[ 93%] Building CXX object CMakeFiles/flow.dir/flow/flow.cpp.o
[ 95%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_gasoil.cpp.o
[ 97%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_oilwater_polymer.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_polymer.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_oilwater.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_solvent.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_blackoil.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_energy.cpp.o
[100%] Linking CXX executable bin/flow
[100%] Built target flow

real    1m21.597s
user    8m49.476s
sys     0m10.973s
```

(this corresponds to a ~20% reduction of the time spend on waiting for
the compiler.)
2018-09-26 11:49:12 +02:00
Arne Morten Kvarving
c5cb088d93
Merge pull request #1577 from akva2/bash_completion
added: install bash tab completion for flow
2018-09-25 12:32:36 +02:00
Alf Birger Rustad
dad7f72599 Increase default number of non-linear iterations for 10 to 20 2018-09-24 14:28:28 +02:00
Alf Birger Rustad
a81d13c227 Increase default number of iterations for linear solver from 150 to 200 2018-09-24 14:22:19 +02:00
Atgeirr Flø Rasmussen
46416008e6
Merge pull request #1566 from blattms/fix-parallel-file-merge
[bugfix] Make parallel file merge work again for any --output-dir.
2018-09-24 13:58:20 +02:00