Commit Graph

31 Commits

Author SHA1 Message Date
Arne Morten Kvarving
f166920e75 changed: rename AquiferInterface to AquiferAnalytical 2022-08-11 09:59:49 +02:00
Arne Morten Kvarving
66b4f1edb7 Aquiferxxx: some modernization
- typedef -> using
- use constexpr
2022-08-11 09:59:46 +02:00
Tor Harald Sandve
50cf80910b support aquct and co2store 2021-09-21 11:08:10 +02:00
Bård Skaflestad
fde505562d Fetkovich: Load Water Density From Restart Source
Needed to get proper gravity contributions in restarted runs.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
5e883e562c Chase Type Specific Aquifer Data API Change
This commit switches to using the new 'typeData' interface for
representing type-specific aquifer data items.  In particular we use
the new 'typeData.is<>()' and 'typeData.get<>()' member functions to
query and access the data that is specific to each aquifer type
(e.g., Carter-Tracy or numerical).

While here, also expand the reported data items for numerical
aquifers to one initial pressure value for each aquifer cell.  This
is needed for restart purposes.
2021-06-25 09:58:27 +02:00
Bård Skaflestad
e4dd8a91e8 Use Aquifer's Notion of Water Properties
This commit switches to using the analytic aquifer's intrinsic water
properties (i.e., the mass density and the viscosity), and to get
the time constant from the *_data structure instead of calculating
this value with separate logic.  Note that this switches to using a
single density value for the aquifer instead of separate density
values for each aquifer connection.

If the aquifer's initial pressure is defaulted we still compute an
equilibrated initial pressure value.  We then use the *_data
structure's 'finishInitialisation()' member function to derive the
aforementioned PVT properties.

Finally, report these values in the aquifer type-specific sub
structures of data::AquiferData for restart output purposes.
2021-06-22 14:47:56 +02:00
Bård Skaflestad
bd9b9a7118 Prepare to Save/Restore Richer Set of Aquifer Values
This commit adds logic to communicate more dynamic aquifer values
between the simulation and I/O layers.  In particular, we ensure
that we allocate the 'aquFet' and 'aquCT' substructures of the
dynamic aquifer data as appropriate and that we collect this
information on the I/O rank as part of the restart output process.
We furthermore make the 'ParallelRestart' facility aware of dynamic
aquifer data in preparation of loading these values from the restart
file.
2021-05-28 14:47:17 +02:00
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
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
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
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
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
Kai Bao
d1fd04e635 WIP in fixing the non-defaulted influx coefficient for AquiferFetkovich 2020-01-02 10:55:03 +01:00
Kai Bao
3fb96deb36 re-formatting aquifer files with clang-format 2019-12-20 14:30:13 +01:00
Atgeirr Flø Rasmussen
63c766cd30 Add override to silence warnings. 2019-12-10 11:37:52 +01:00
Bård Skaflestad
df86d01486 Add Means of Initializing Analytic Aquifers From Restart Data
This commit adds a new member function,

    AquiferInterface::initFromRestart()

that consumes a vector<data::AquiferData> constructed from
information in the restart file's SAAQ and XAAQ vectors.  At the
moment, we use the initial aquifer pressure, the total produced
liquid volume and the current aquifer pressure at restart.

We implement the interface's member function in terms of the virtual
function

    AquiferInterface::assignRestartData()

that must be overridden in derived classes.

Implement a trivial such function for Carter-Tracy aquifers, and a
function that only stores the current aquifer pressure for the
Fetkovich aquifer model.

Additionally, record whether or not the aquifer object was
initialised from a previous solution.  If so, don't reset total
produce liquid volumes or aquifer pressures to their base values
from the model input file.
2019-12-05 09:41:21 +01:00
Kai Bao
0c6adbbba0 some small cleaning up for Aquifer models
there should be no functional change.
2019-11-17 10:37:10 +01:00
Kai Bao
eea833ced2 correcting the way of calculate initial aquifer pressure
for AquiferFetkovich.
2019-11-17 10:37:10 +01:00
Kai Bao
383748b161 some cleaning up for the AquiferFetkovich 2019-11-17 10:37:10 +01:00
Kai Bao
21d69a7af0 making dp is Eval for AquiferFetkovich 2019-11-17 10:37:10 +01:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00