Commit Graph

99 Commits

Author SHA1 Message Date
Arne Morten Kvarving
ada17881cc AquiferAnalytical: use elements and intersections range generators 2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
72bed4449b AquiferNumerical: use elements range generator 2022-10-13 23:01:37 +02:00
Tor Harald Sandve
3ad04d8326 fix analytical aquifers + energy 2022-09-02 08:57:55 +02:00
Arne Morten Kvarving
71ca7a0c40 changed: no need to pull in polyhedralgrid if it is not used 2022-08-26 08:25:05 +02:00
Atgeirr Flø Rasmussen
c0e5996b70
Merge pull request #4024 from atgeirr/silence-override-warning
Add override qualifier to silence warning.
2022-08-24 16:07:04 +02:00
Atgeirr Flø Rasmussen
6cf02813e5 Add override qualifier to silence warning. 2022-08-24 15:36:56 +02:00
Bård Skaflestad
6d3d64a843
Merge pull request #4015 from GitPaean/handling_numerical_aquifer_no_connection
ignoring analytical aquifers without valid connections
2022-08-24 09:59:26 +02:00
Kai Bao
c25e1392ba ignoring analytical aquifers without valid connections 2022-08-23 15:50:50 +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
4917c860fe BlackOilAquiferModel: use aquifers through base interface 2022-08-11 10:04:49 +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
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
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
Atgeirr Flø Rasmussen
b1bcab31b9 Refactor addToSource to add interface not using element context. 2022-08-09 11:09:48 +02:00
hnil
060877a08b runs first steps of norne 2022-08-09 11:09:48 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Tor Harald Sandve
1baee5ec9b
Merge pull request #3715 from goncalvesmachadoc/vapwat
update parameters BlackoilFluidSystem
2021-12-09 15:37:49 +01:00
goncalvesmachadoc
90380c35ad update parameters BlackoilFluidSystem
fix

update parameters BlackoilFluidSystem
2021-11-29 16:38:43 +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
Tor Harald Sandve
50cf80910b support aquct and co2store 2021-09-21 11:08:10 +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
a0af111bd8 Reduce Restarted Cumulative Volume if Aquifer Split
If, in a restarted run, a single analytical aquifer object happens
to connect to the reservoir model from multiple separate MPI
processes we must not attribute the full historic cumulative water
production from the aquifer to each process.

This commit makes a rough estimate based on the connection areas of
how much of the total cumulative production is attributable to each
process and reduces the restart value using that fraction.  This is,
at best, a hack but it is currently the best we can do with the
information available in the restart files.  Complete fidelity will
entail tracking cumulative production at the connection level.
2021-08-19 21:07:05 +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
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
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