Commit Graph

29 Commits

Author SHA1 Message Date
Tor Harald Sandve
50cf80910b support aquct and co2store 2021-09-21 11:08:10 +02:00
Bård Skaflestad
913033b78f Add Restart Support to Carter-Tracy Analytical Aquifer 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
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
Bård Skaflestad
f8e4346e6d Ensure Well Defined Initial Values for CT Data Members 2021-01-22 09:04:08 +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
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
Kai Bao
91ec74dffc fixing the initialization of aquifer pressure for CT aquifer 2020-09-24 15:37:31 +02:00
Tor Harald Sandve
88ee892fdf pass the saltConcentration to the waterPVT 2020-07-02 13:44:01 +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
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
ce1e0691a8 Aquifer Restart: Address Review Comments
Mostly 'throw'ing in the case of unsupported operations.  While
here, also remove an unused header.
2019-12-05 13:41:05 +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
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00