Commit Graph

272 Commits

Author SHA1 Message Date
Arne Morten Kvarving
3ade701a57 remove EclEnableAquifers parameter
and remove bool flag. this is always enabled
2024-02-19 09:14:27 +01:00
Arne Morten Kvarving
b09c70213b FlowMainEbos: rename to FlowMain 2024-02-06 10:42:23 +01:00
Bård Skaflestad
3ab6c617e5
Merge pull request #5151 from akva2/rename_main_sources
changed: rename simulator main files
2024-02-02 09:58:04 +01:00
Arne Morten Kvarving
8f1b2507d7 changed: rename simulator main files
add _main to the file name. this in preparation for
removing ebos in the simulator instance file names
2024-02-02 09:23:06 +01:00
Arne Morten Kvarving
e741063306 SimulatorFullyImplicitBlackoilEbos: rename to SimulatorFullyImplicitBlackoil 2024-02-02 08:48:47 +01:00
Arne Morten Kvarving
02fbadb809 GridDataOutput: add translation unit 2024-01-30 13:18:59 +01:00
David Landa Marban
bc03821d57 Support for mechanical dispersion 2023-11-16 16:55:01 +01:00
David Landa Marban
92de5355b2 Enabling disGas and watVap at compile time for gasWaterBrine 2023-11-07 18:35:30 +01:00
Tor Harald Sandve
9779b95a43 Use new linearizer for gaswater with thermal and diffusion 2023-10-30 15:15:13 +01:00
hnil
8afbd49322 add tpfa as lineariser for gasoil_energy (with diffusion) and gasoildiffusion 2023-08-31 15:26:31 +02:00
hnil
13308ed2af tpfa linearizer for thermal used for co2store and blackoil
-- add new function need for tpfa linearizer in thermal
-- set tpfa linearizer for blackoil with energy
-- set tpfa linearizer for gasoil and energy which include co2store
-- NB diffusion is disabled for this simulators
2023-08-29 16:03:44 +02:00
hnil
e55008b336 fixes no mpi compilation 2023-08-09 09:03:59 +02:00
hnil
3442a549cd moved cd to xxx_impl.hh to avoid
this way we do not have to add explicit initiation of all
variants of grids and gridView iterators in the library
2023-08-08 15:36:08 +02:00
hnil
030c06afb2 rearranged to make other grids easier to integrate with or without fem 2023-08-08 15:30:05 +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
Markus Blatt
859e00254e [bugfix] Make sure MPI_FInalize is called before the return in main.
A correct MPI program should do that.

As MPI_Finalize is part of the destructor of MainObject we need to
make sure that it's destructor is called before the return statement.
We do that manually  by resetting the unique_ptr that we now use to
store the MainObject,
2023-07-19 13:44:12 +02:00
Tor Harald Sandve
7cf3f69cf9 Add gaswater solvent
Fix some places that assumed 3p + solvent
2023-05-26 16:24:38 +02:00
Tor Harald Sandve
1592ef8bd2 solvent + foam simulator 2023-05-24 16:03:09 +02:00
Tor Harald Sandve
6b9b0e3f0f enable disgasw and vapwat for thermal model 2023-05-22 15:33:58 +02:00
Tor Harald Sandve
ee39117771 Add energy + precsalt simulator 2023-05-12 10:49:17 +02:00
Tor Harald Sandve
b78498af03 Add disgasw to gas water saltprec vapwat simulator 2023-05-03 15:13:15 +02:00
Tor Harald Sandve
b8032c12bb add vapwat to gaswater simulators and output molfractions YMFWAT 2023-03-21 10:34:54 +01:00
Tor Harald Sandve
5028e0fbf1 Add gaswater energy simulator 2023-02-23 09:25:50 +01:00
Tor Harald Sandve
5854b8a7a1 Support gas dissolution in water (Rsw)
- adapt to interface change in waterPvt()
- add gas + water + disgasw simulator

Note
- MSW is not supported
- EQUIL initialization is not supported
2022-12-21 13:13:52 +01:00
Atgeirr Flø Rasmussen
a7a5a7a98d Make the Python interface use the TpfaLinearizer. 2022-10-04 11:44:35 +02:00
Atgeirr Flø Rasmussen
d7ba860bf1 Rename so that flow_blackoil_tpfa becomes flow_blackoil. 2022-10-03 14:14:15 +02:00
Atgeirr Flø Rasmussen
f6033702c9 Ensure DIFFUSE is supported.
This is only instantiated for two-phase gas/oil and for 3-phase blackoil.
Runtime safeguards have been added to avoid the mistake of running with
a simulator combination that silently ignores DIFFUSE.
2022-09-30 15:28:58 +02:00
Atgeirr Flø Rasmussen
616b145469 Make one- and two-phase sims also use fast assembly. 2022-09-30 09:21:34 +02:00
Elyes Ahmed
3832fd5eb7 fixing AquiferModel in AlugridModel 2022-09-26 10:43:42 +02:00
Elyes Ahmed
c4c4c7ac88 back to EclBaseAquiferModel 2022-09-23 14:01:40 +02:00
Elyes Ahmed
709a90b67d some fixes for flow_alugrid 2022-09-23 11:59:01 +02:00
Atgeirr Flø Rasmussen
923b1c555c Make flow_blackoil_tpfa.cpp an OPM Flow variant in the build system. 2022-08-09 14:53:58 +02:00
Atgeirr Flø Rasmussen
254330463e Disable diffusion for flow_blackoil_tpfa. 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
9de8d12276 [WIP] not using the SmallElementContext or BlackOilIntensiveQuantitiesSimple. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
cd729e5bd3 Simplify formatting. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
750e7ac5dd Clean up and remove unnecessary parts from flow_blackoil_tpfa.cpp. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
c48770dc5f Remove EclProblemTpfa, folding all methods into EclProblem. 2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
64474c0267 Remove unused code. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
657f4f5b8e Use separate TpfaLinearizer (again). 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
4d0fc84b1f No need for specific base local residual class. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
9dba7865e9 No need for specific variant of base ad local linearizer. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
743eff9cf6 Set prop for using tpfa linearizer to true. 2022-08-09 11:09:48 +02:00
Atgeirr Flø Rasmussen
6e46d332de Do not use the separate LinearizerTpfa class. 2022-08-09 11:09:48 +02:00
hnil
c5d547efff modification for global assembly 2022-08-09 11:09:48 +02:00
hnil
409f60642e new eclproblemtpfa 2022-08-09 11:09:48 +02:00
hnil
d53b6ad9fa added spesialisation for using simple property updating 2022-08-09 11:09:48 +02:00
hnil
b1f1981f16 changed flow_blackoil_tpfa with small intensive quantities 2022-08-09 11:09:48 +02:00
hnil
ad66808158 better test 2022-08-09 11:09:48 +02:00
hnil
18b03f3546 working refactoring 2022-08-09 11:09:48 +02:00
Elyes Ahmed
5c2b60bcd0 rebasing 2022-07-28 20:40:34 +02:00
Arne Morten Kvarving
a4d254b749 changed: introduce EclGenericVanguard::setParams
this is used transferring ownership of setup structures to the
simulator. drop all the flowEbosXXX set deck methods and use the
generic vanguard. also means various structs that were only passed
in the blackoil simulator are now passed in all simulators.
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
00c374be5c changed: remove support for internal summaryconfig handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4510f40b6d changed: remove support for internal schedule handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
1a35c5ac47 changed: remove support for internal eclstate handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
371c8058bc changed: remove support for internal deck handling in simulators 2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
c793aff5d1 changed: rename externalSetupTime
external is (or will be) implied
2022-06-24 15:06:13 +02:00
Paul Egberts
a255613452
Merge branch 'master' into vapoilwat 2022-05-11 11:55:54 +02:00
Markus Blatt
c66fb8a93d Added support for water-only and water-only + thermal to flow.
Also run the onephase tests with flow now.
2022-04-26 17:07:09 +02:00
Paul Egberts
aaf063ed98 add three-phase simulator allowing salt precipitation and water vaporization 2022-04-08 22:36:39 +02:00
Paul Egberts
d89672e4a3 some clean up 2022-03-06 20:51:57 +01:00
Paul Egberts
797fdc278b water-gas ratio input and output plus simulator for salt precipitation and water evaporation 2022-03-01 20:52:43 +01:00
Paul Egberts
8044beb25d corrected TypeTag 2022-01-14 11:46:40 +01:00
Paul Egberts
98c8e691c3 Allow for brine and precipitation/dissolution of salt 2022-01-14 11:46:40 +01:00
goncalvesmachadoc
b15b893b3a add Index Traits 2021-12-08 16:52:23 +01:00
goncalvesmachadoc
c3119bcedb fix 2021-12-08 14:42:22 +01:00
goncalvesmachadoc
7f320102c3 allow for gas-water + brine 2021-12-08 14:35:22 +01:00
Tor Harald Sandve
4f75d1ab8d Add gasoil + energy simulator
Useful when combining CO2STORE + THERMAL

This PR also fixes an issue with missing phases in computation of output temperature
2021-12-07 09:18:38 +01:00
Atgeirr Flø Rasmussen
c8828ad43b Remove extra MPI initialization.
Initialization is now done in the Main::initMPI() method.
For configurations with dune-fem, this also caused crashes
with dune-fem versions prior to 2.8.
2021-11-02 20:35:20 +01:00
Atgeirr Flø Rasmussen
5503e6ca06 Remove ISTLSolverEbosFlexible and flow_blackoil_dunecpr.
The class ISTLSolverEbos has all features of the removed class, and
is not much more complex. The flow_blackoil_dunecpr is the only
program using it, and is redundant.
2021-11-02 15:02:48 +01:00
Atgeirr Flø Rasmussen
624d8b1343
Merge pull request #3651 from akva2/remove_gcc7_compat
use std::filesystem directly
2021-11-01 15:30:03 +01:00
Arne Morten Kvarving
06bd25575f use std::filesystem directly 2021-11-01 12:31:58 +01:00
Arne Morten Kvarving
9395c74b3e changed: build separate simulator binaries for flow
this is very convenient during development.
we can then remove the FLOW_BLACKOIL_ONLY option,
as it is no longer needed - use the flow_blackoil binary instead.
however we need to keep this support in Main.hpp due to the python
bindings relying on it.
2021-11-01 09:31:09 +01:00
Arne Morten Kvarving
8c7f635dc2 build flow_brine_energy as an object library
improves parallel builds
2021-10-18 14:24:55 +02:00
Arne Morten Kvarving
21af223b92 rename flow_brine_thermal to flow_brine_energy
naming should be consistent with the established convention
2021-10-18 12:48:11 +02:00
Tor Harald Sandve
f6f5badfde Add brine and thermal simulator 2021-10-15 11:50:17 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Joakim Hove
2c68f12769 Load WellTestState from restart file 2021-10-13 08:46:48 +02:00
Joakim Hove
5db60aba5e Set external Action::State object in the vanguard 2021-10-12 10:41:29 +02:00
Håkon Hægland
16bbc338ab Don't increase shared_ptrs use_count when forwarding.
Use std::move() to avoid increasing the use count of std::shared_ptr
when forwarding them to the vanguard object.
2021-09-23 10:56:18 +02:00
Håkon Hægland
4c5245196b Changed calling convention for shared pointers.
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Håkon Hægland
5ad65c70ee Initialize blackoil simulator from schedule shared with Python.
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Arne Morten Kvarving
c05f67a382 changed: build polygrid simulator as a object library
allows for building in parallel with the main library
2021-08-16 12:55:40 +02:00
Arne Morten Kvarving
46087f8f00 changed: build onephase simulators as object libraries
allows for building in parallel with the main library
2021-08-16 12:55:36 +02:00
Joakim Hove
c62a9ba198 Set external UDQState for flow blackoil 2021-07-04 08:55:07 +02:00
Arne Morten Kvarving
8c34172ef0 remove some Opm:: qualifiers inside Opm namespace 2021-05-18 10:09:45 +02:00
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Arne Morten Kvarving
801365547c flow headers: use forwarding 2021-04-29 12:40:31 +02:00
Tor Harald Sandve
4cccd7302d remove unnecessary diffusion specializations 2021-03-23 09:48:43 +01:00
Tor Harald Sandve
5deb410bd5 clean-up in flow_bo_diffusion.cpp and flow_co2.cpp 2021-02-16 12:23:36 +01:00
Tor Harald Sandve
361de71c96 add optional flow_bo_diffusion simulator for testing 2021-02-16 12:21:58 +01:00
Tor Harald Sandve
3457d46a00 add flow_co2 gas-oil simulator with diffusion for testing 2021-02-16 12:21:58 +01:00
Markus Blatt
9ccc953bf0 Add a flow executable that only distributes cells in z-direction.
Executable is named flow_distribute_z and uses the external
loadbalancing information. It can be used to test the distributed
standard wells on SPE9 with 4 or more processes.
2021-01-26 21:27:39 +01:00
Paul Egberts
877c0b723d fix missing argument for BlackoilTwophaseIndices 2020-12-03 09:04:11 +01:00
Paul Egberts
13cd4b476e fix disabled component index 2020-12-03 09:04:11 +01:00
Paul Egberts
d0421582e1 add gas-water simulator 2020-12-03 09:04:11 +01:00
Ove Sævareid
aca6335585 Handle OnePhaseIndices 2020-11-17 18:07:33 +01:00
Ove Sævareid
0f7e66e151 Alternative solvent extension for the black oil model. 2020-11-17 12:33:19 +01:00
Tor Harald Sandve
fbccdbf68e Make a flow version that uses the polyhedreal grid
Currently the simulator creats the polyhedreal grid from an eclGrid from opm-common

TODO
 - make it possible to create the grid directly from DGF or MRST format
 - fix issue on norne.
2020-11-10 15:49:59 +01:00