Commit Graph

64 Commits

Author SHA1 Message Date
Bård Skaflestad
15116bf2a9 Reduce Aquifer Data Copying
This commit switches to using 'map<>::insert_or_assign()' as the
primary interface for collecting dynamic aquifer data.  In turn,
this activates move semantics for the substructures and reduces the
number of times the data is copied.

Insert_or_assign requires the key, so provide this value--i.e., the
aquifer ID--as part of the AquiferInterface.
2021-05-17 23:24:52 +02:00
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Bård Skaflestad
7503cfd76a Address PR Review Comments 2021-03-24 23:13:50 +01:00
Bård Skaflestad
578fa4b6c3 Report Dimensionless Time and Pressure for CT Aquifers
This commit adds support for calculating and reporting the
dimensionless time (simulator time divided by aquifer's time
constant) and pressure (influence function evaluated at
dimensionless time) values as part of the Carter-Tracy aquifer's
'aquiferData()' reporting function.

These values are useful in their own right, e.g., for summary output
through the keywords AAQTD and AAQPD, but they are also needed for
ECLIPSE restart purposes.
2021-03-24 23:13:50 +01:00
Kai Bao
116b77bd8a addressing the reviewing comments for PR OPM/opm-simulators#3039
putting the numerical aquifer related modification in a function and the
function is called after the equilibration calculation, so it will work
for different equilibration methods.
2021-03-15 10:21:40 +01:00
Kai Bao
afac0fb485 changing the parameters for the numerical aquifer regression tests
cpr linear solver is used for better convergence.
2021-03-12 23:39:01 +01:00
Kai Bao
4c92f22677 for numerical aquifer, flux_rate_ should not be summed across processes
it will be taken care of in ecloutputblackoilmodule.hh

              aq.fluxRate += data.fluxRate;
              aq.volume += data.volume;
2021-02-22 23:15:26 +01:00
Kai Bao
867b769fcb only handling the interior elements for numerical aquifer 2021-02-22 23:15:26 +01:00
Kai Bao
5e408ad71b trying to make the numerical aquifer runs in parallel
the current approach is not necessarily correct. When aquifer cells are
on the overlap layers, things are much more complicated.

But it mostly affects only the summary output of the numerical aquifers.
The well data should be fine.
2021-02-22 23:15:26 +01:00
Kai Bao
ab9b43249c using the water volume instead of pore volume
when calculating the nuemricla aquifer pressure.
2021-02-22 23:15:26 +01:00
Kai Bao
2b85e93ef6 some cleaning up
not functionality changes.
2021-02-22 23:15:26 +01:00
Kai Bao
524e63a255 adapting to the upstream interface change. 2021-02-22 23:15:26 +01:00
Kai Bao
a755b54afc rebasing and fixing the compilation.
The equilibration needs to be fixed for numerical aquifers.
2021-02-22 23:15:26 +01:00
Kai Bao
b6fdb7cc8e using global index when accessing pore volume in numerical aquifer 2021-02-22 23:15:26 +01:00
Kai Bao
c246dc6938 applying the face area when calculating the flux rate
For NNC is not needed, but some NNC is converted to some non-NNC, we
need the face area.
2021-02-22 23:15:26 +01:00
Kai Bao
8d7c3aa0ca getting numerical aquifer ready for summary output
it works well for some cases, while not the other one. More
investigation is ongoing.
2021-02-22 23:15:26 +01:00
Kai Bao
6008aa8339 begining simulator code for numerical aquifer
most of the functionality is to collect data for summary output.
2021-02-22 23:15:26 +01:00
Joakim Hove
abf48b0782 Remove multiplier in aquifer connected area 2021-02-16 10:02:36 +01:00
Joakim Hove
b7f3a07939 Aquifer connected cell area - unconditional access to double 2021-02-14 20:47:22 +01:00
Bård Skaflestad
f8e4346e6d Ensure Well Defined Initial Values for CT Data Members 2021-01-22 09:04:08 +01:00
Kai Bao
a3004580e6 adapting to the directory change in opm-common related to aquifer 2021-01-08 23:18:41 +01:00
Arne Morten Kvarving
b812088519 further avoidance of overlap cells 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
faa04b5c4d changed: put initializeConnections in base aquifer class 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
4cdb3e85c0 make initializeConnection similar in aquifer classes 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
5f844bc3a4 fixed: no reason to calculate this inside the loop 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
86d7666e5c enable aquifers in parallel 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
fa90bc0709 add some parallel reductions in aquifer code 2020-12-21 12:54:34 +01:00
Arne Morten Kvarving
91336f30e7 fixed: do not process aquifers attached to overlap cells 2020-12-21 12:02:54 +01:00
Markus Blatt
924bf5ed19 Use old style traits class approach to check for face tag support.
Old version failed due to a gcc compiler
bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77446 with error:
"non-constant condition for static assertion"
2020-12-11 17:39:55 +01:00
Tor Harald Sandve
7a42a82c55 add check for gridType 2020-12-11 15:33:25 +01:00
Tor Harald Sandve
6cf91e7f19 Get compressed to cartesian mapping and depths from the vanguard 2020-12-11 12:48:01 +01:00
Tor Harald Sandve
8a0fde9104 dunify the aquifer models 2020-12-11 12:48:01 +01:00
Arne Morten Kvarving
cff02ee105 remove unused variable 2020-11-17 13:22:35 +01:00
Kai Bao
ed89f25d1b providing the aquifer data for summary output 2020-10-02 13:13:20 +02:00
Kai Bao
fd3287cdd3 removing the duplication of calculateReservoirEquilibrium
in the aquifer models.
2020-09-24 16:09:56 +02:00
Kai Bao
91ec74dffc fixing the initialization of aquifer pressure for CT aquifer 2020-09-24 15:37:31 +02:00
Arne Morten Kvarving
914053ac3c changed: remove GET_PROP_VALUE macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
74fac38d85 changed: remove GET_PROP_TYPE / GET_PROP macro usage 2020-08-27 08:19:39 +02:00
Tor Harald Sandve
88ee892fdf pass the saltConcentration to the waterPVT 2020-07-02 13:44:01 +02:00
Arne Morten Kvarving
e31062aa4e add missing license header 2020-06-26 09:49:01 +02:00
Arne Morten Kvarving
9906cc47f7 changed: use AquiferConfig when setting up aquifers 2020-03-24 13:36:39 +01:00
Joakim Hove
9c8d5946b4 Add POC for AquiferConfig can be used 2020-02-18 16:19:25 +01:00
Joakim Hove
3a7f5799af Refactor Aquifer datastructures to follow opm-common
- Replace use of Base:: with this-> in derived classes
- Add AquiferInterface::size() utility functions
- Remove AquiferInterface::cell_idx_ member
2020-02-18 07:13:30 +01:00
Joakim Hove
d17b21089f Use member variable in Aquifer code 2020-02-09 10:13:15 +01:00
Joakim Hove
0e1a210ef2 Use std::pair<bool, double> for initial aquifer pressure 2020-02-07 12:32:09 +01:00
Joakim Hove
cb8a76d098 Use [i] instead of at(i) when accessing Aquifer container 2020-02-07 07:31:25 +01:00
Joakim Hove
e910ebe738 Aquifer accessor renamed 2020-02-07 07:31:25 +01:00
Joakim Hove
1c4021f0a3 Use TableManager in AquiferCT constructor 2020-02-07 07:31:25 +01:00
Arne Morten Kvarving
75f2b34ba6 avoid deck usage on non-root processes checking for AQUFETP
aquifers are currently broken in parallel, add a throw if used in
a parallel simulation.
2020-01-29 15:30:55 +01:00
Arne Morten Kvarving
737cb0bb3e avoid deck usage on non-root processes checking for AQUCT
aquifers are currently broken in parallel, add a throw if used in
a parallel simulation.
2020-01-29 15:30:55 +01:00