Commit Graph

46 Commits

Author SHA1 Message Date
David Landa Marban
a19e70c59a fix to broken built with clang 2023-03-10 22:39:39 +01:00
Bård Skaflestad
7abfdc52e0 Refactor Construction of Analytic Aquifer Objects
In particular, split the 'static' aquifer object initialisation
of member function 'init()' into a new helper function

  initializeStaticAquifers()

This is in preparation of adding a similar function to handle
dynamic aquifer object initialisation from a restart file.  To that
end, also add a new member function

  createDynamicAquifers(episode_index)

containing the current implementation of beginEpisode().  Creating
the dynamic objects from a restart file then amounts to calling this
function with a different 'episode_index'.  As another aid to
maintainability, add a new templated member function

  createAnalyticAquiferPointer()

which forms 'unique_ptr<AquiferInterface>' objects for every known
type of analytic aquifer.  This, in turn, requires reordering the
parameters of the AquiferConstantFlux constructor to match those of
the existing Fetkovich and Carter-Tracy types.

Finally, split the calculation of the constant flux aquifer's total
flux rate out to a new helper function

  AquiferConstantFlux::totalFluxRate()
2023-03-09 18:04:55 +01:00
Arne Morten Kvarving
da4784b314 AquiferConstantFlux: add restart serialization support 2023-02-22 14:41:07 +01:00
Kai Bao
7a67b16c3e addressing review comments for PR OPM/opm-simulators#4429 2023-02-21 15:27:05 +01:00
Kai Bao
73dc31a7a5 updating AquiferConstantFlux with AQUFLUX
not recreating new instances to avoid unnecessary cost from constructor.
2023-02-21 13:20:36 +01:00
Kai Bao
7bd1cd9aa1 following the AQUFLUX design change from opm-common 2023-02-21 13:20:36 +01:00
Kai Bao
9a0ea0cb97 WIP in adding summary output for AQUFLUX aquifers
FAQR and FAQT are not working properly yet.
2023-02-21 13:20:36 +01:00
Kai Bao
248f6b73d9 WIP of supporting AQUFLUX from simulator side 2023-02-21 13:20:36 +01:00
Arne Morten Kvarving
d5f22dbc99 BlackoilAquiferModel: add serialization of dynamic state 2023-02-14 17:51:25 +01: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
Atgeirr Flø Rasmussen
b1bcab31b9 Refactor addToSource to add interface not using element context. 2022-08-09 11:09:48 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +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
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
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
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
Arne Morten Kvarving
86d7666e5c enable aquifers in parallel 2020-12-21 12:54:34 +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
Kai Bao
ed89f25d1b providing the aquifer data for summary output 2020-10-02 13:13:20 +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
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
Kai Bao
7fc81ae228 using range for a few occasions in BlackoilAquiferModel_impl.hpp 2019-12-20 15:32:39 +01:00
Kai Bao
3fb96deb36 re-formatting aquifer files with clang-format 2019-12-20 14:30:13 +01:00
Bård Skaflestad
4c4a893781 Aquifer Model: Add Initialization from Restart Data
This commit adds a new member function,

    initFromRestart()

to the EclBaseAquiferModel and the BlackoilAquiferModel.  The former
does nothing, the latter calls AquiferInterface::initFromRestart()
on the contained analytic aquifer objects.
2019-12-05 09:41:21 +01:00
Kai Bao
c4a9bd346c converting the aquifer files to be unix format
to avoid ^M in git diff and when editing.
2019-10-19 20:53:35 +02:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00