Commit Graph
151 Commits
Author SHA1 Message Date
Arne Morten Kvarving 9561191992 rename capture variable
to avoid shadowing warnings with clang
2024-10-16 11:02:26 +02:00
Atgeirr Flø Rasmussen 6bb3331774 AquiferNumerical: speed up calculations.
There is no need to update the stencil if we are skipping the cell.
Also, the extensive quantities will not change while iterating over
the neighbours, so that update can be moved out of the loop.
2024-09-25 20:10:23 +02:00
Arne Morten Kvarving d4422742a2 AquiferAnalytical: add missing include 2024-07-01 12:06:47 +02:00
Arne Morten Kvarving 5514ebf4e0 AquiferNumerical: add missing include 2024-07-01 11:20:57 +02:00
Arne Morten Kvarving 6d0cbb47f3 BlackoilAquiferModel: use Scalar type 2024-04-24 15:22:00 +02:00
Arne Morten Kvarving 46e668911d AquiferCarterTracy: use Scalar type 2024-04-24 15:15:24 +02:00
Arne Morten Kvarving 687695882c AquiferConstantFlux: use Scalar type 2024-04-24 15:08:41 +02:00
Arne Morten Kvarving f9f568d5ea AquiferNumerical: use Scalar type 2024-04-24 15:01:55 +02:00
Arne Morten Kvarving a1ebca0a3e AquiferAnalytical: use Scalar type 2024-04-24 14:50:25 +02:00
Arne Morten Kvarving 7e86106ecc AquiferInterface: use Scalar type 2024-04-24 14:43:08 +02:00
Atgeirr Flø Rasmussen edf4be5f79 Merge pull request #5227 from akva2/improve_ide_experience
Improve IDE experience
2024-04-22 15:31:08 +02:00
Arne Morten Kvarving 5618a2b0d2 changed: put SupportsFaceTag in separate header
this way we don't have to pull in alugrid and polyhedralgrid
in simulator objects that does not use them
2024-03-07 12:21:21 +01:00
Kai Bao 75f38ca726 Merge pull request #5178 from akva2/baseaquifermodel_move
move ebos/eclbaseaquifermodel.hh to opm/simulators/flow
2024-03-06 12:47:51 +01:00
Arne Morten Kvarving 3475da7d8c Rename ebos_simulator members/parameters to simulator 2024-03-06 10:53:00 +01:00
Arne Morten Kvarving 8d033f94de move ebos/eclbaseaquifermodel.hh to opm/simulators/flow 2024-03-06 09:17:19 +01:00
Arne Morten Kvarving 7e33007637 BlackoilAquiferModel: improve IDE experience 2024-02-27 10:43:04 +01:00
Arne Morten Kvarving 165b57c66a Aquifer***: clean up includes 2024-01-02 10:39:59 +01:00
Arne Morten Kvarving eb599af058 add missing header 2023-12-05 11:00:56 +01:00
David Landa Marban 92de5355b2 Enabling disGas and watVap at compile time for gasWaterBrine 2023-11-07 18:35:30 +01:00
Arne Morten Kvarving 92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Svenn Tveit b84837fc61 Moved water phase check outside loop 2023-08-11 15:34:31 +02:00
Svenn Tveit 8b6a504874 Enable aquifers in H2STORE oil/gas version 2023-08-11 13:23:57 +02:00
hnil 66ff026008 remove use of hidden private defines for poly and alugrid
- fixed polygrid
- renamed executables to include blackoil in name
2023-08-08 15:30:05 +02:00
Arne Morten Kvarving 4d35ec26de isNumericalAquiferCell: put in separate struct for easier reuse 2023-07-04 14:56:10 +02:00
Arne Morten Kvarving 4201d94241 BlackoilModelEbos: remove unused includes 2023-06-30 09:53:59 +02:00
Bård Skaflestad 7a77f28b71 Add Support for Initialising Constant Flux Aquifers from Restart
In particular, form constant flux aquifer objects from the restart
step's collection if available and properly initialise their total
produced volume.
2023-05-26 20:21:52 +02:00
Bård Skaflestad 14a63a4636 Synchronise Face-Area Fractions Between All Processes
We need a global view of face-area fractions if aquifer connections
happen to be shared between processes.  Add a new helper function,

    BlackoilAquiferModel::computeConnectionAreaFraction()

that performs a collective operation to compute the total face areas
and then defers to the local aquifer objects to compute their face
area fractions.

While here, also split the initialisation of analytic aquifers into
two parts, one for the face area and connection mappings, and one
for the connection depths.  Run the former as part of the object
constructor and the latter as part of 'initQuantities()'.  This
ensures that we can computeConnectionAreaFraction() for all analytic
aquifers before assigning solution quantities from the restart file.
2023-05-25 09:50:51 +02:00
Bård Skaflestad 5586ce63a0 Calculate Local Face Area Fraction for Aquifer's Connections
This is in preparation of reinitialising the total produced volume
from the constant flux aquifer from the restart file in the case
that the aquifer's connections are split across multiple MPI ranks.
2023-05-25 09:50:51 +02:00
Bård Skaflestad 30f7ed1ed9 Split CO2 Store Handling Out to Helper Functions
This is mostly to aid readability by avoiding nested conditionals.
While here, also remove redundant 'inline' and 'virtual' keywords.
2023-04-19 20:44:01 +02:00
Kai Bao e5efe796bf fixing running with CO2Store + water + gas + AquiferCarterTracy 2023-04-03 12:41:54 +02:00
hnil f0b5e6a670 - changed pointer to refernace for IQ for possibility of using rvalues 2023-03-28 09:37:00 +02:00
hnil 2769cc5c3d minimal change to not called cachedIntensive 2023-03-24 20:01:47 +01:00
David Landa Marban a19e70c59a fix to broken built with clang 2023-03-10 22:39:39 +01:00
Bård Skaflestad f25d204281 Tag Unused Parameter as Maybe_Unused
Noted by [at]akva2
2023-03-10 11:36:11 +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
Atgeirr Flø Rasmussen c9ba0afea3 Silence warnings: struct/class, missing override. 2023-03-03 10:12:46 +01:00
Arne Morten Kvarving da4784b314 AquiferConstantFlux: add restart serialization support 2023-02-22 14:41:07 +01:00
Arne Morten Kvarving 9418110d3e AquiferConstantFlux: mark method override 2023-02-22 14:41:07 +01:00
Arne Morten Kvarving 6073af784d AquiferConstantFlux: add missing includes 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 71119b6e42 WIP in making AQUFLUX running in parallel. 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
Arne Morten Kvarving a66fd75715 AquiferNumerical: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving 03f6309ff7 AquiferFetkovich: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving 51e5e61c39 AquiferCarterTracy: add serialization of dynamic state 2023-02-14 16:15:25 +01:00
Arne Morten Kvarving 6dc63b2da8 AquiferAnalytical: add serialization of dynamic state 2023-02-14 16:15:25 +01:00