Commit Graph

30 Commits

Author SHA1 Message Date
Arne Morten Kvarving
72bed4449b AquiferNumerical: use elements range generator 2022-10-13 23:01:37 +02:00
Kai Bao
d69c80b84a simplifying the constructor for AquiferNumerical
removing the unused global_cell and avoid the unnecessary construction of cartesianToCompressed
2022-08-18 15:55:04 +02:00
Arne Morten Kvarving
271d5bee3a added: (re)introduce AquiferInterface
now a base class for both analytical and numerical aquifers
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
Atgeirr Flø Rasmussen
a5c8d40cfa Remove unneeded timeIdx arguments, also silence other warnings. 2022-08-10 10:01:54 +02:00
Atgeirr Flø Rasmussen
322dcbfb36 Make getWaterFlux() take const ref argument. Minor formatting cleanups. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5fba14373b Modification to reduce PR to minimal changes. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
0da2b68e0b Adapt to changed interface. 2022-08-09 11:11:36 +02:00
hnil
060877a08b runs first steps of norne 2022-08-09 11:09:48 +02:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Tor Harald Sandve
6277d12d16 fix return type for phaseIdx and compIdx 2021-11-25 14:56:27 +00:00
Tor Harald Sandve
2352d94c0e fix co2store + aqunum 2021-11-24 11:13:50 +00:00
Elyes Ahmed
f53c597f90 Replacing use of MPI_COMM_WORLD with a variable communicator. 2021-10-05 13:07:52 +02:00
Markus Blatt
3cda8a2fdb Added missing parallel try-catch clause for updatePrimaryIntensities.
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Bård Skaflestad
bbb0c7f263 Add Restart Support for Numerical Aquifers
We assign cumulative production only on the process that connects to
the reservoir model.  As a tiny optimisation, we return 0.0 early
as the aquifer flux on processes that do not connect to the
reservoir.
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
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
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
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
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