Commit Graph

51 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
005bd49fb4 Do not set pressure diff to zero when not necessary.
With zero threshold pressure and zero pressure difference, the existing code will
set the pressure diff explicitly to zero. This will also set any derivatives to
zero as well, which may disconnect the corresponding matrix rows.
2023-06-11 13:48:45 +02:00
Atgeirr Flø Rasmussen
54284fad7f Remove unneeded timeIdx argument. 2022-09-29 14:13:49 +02:00
Atgeirr Flø Rasmussen
04183dea31 Ensure solvent boundary fluxes work.
This does the job for the element-context-based linearizer,
but not for the TpfaLinearizer, which when combined with the
solvent model will require a bit more work for bcs.
2022-09-28 08:47:04 +02:00
Atgeirr Flø Rasmussen
b7758aa706 Use std::array rather than C arrays. 2022-09-28 08:47:04 +02:00
Atgeirr Flø Rasmussen
68e1479caf [WIP] Refactor calculateBoundaryGradients_()
Not addressing solvent yet.
2022-09-28 08:47:04 +02:00
Håkon Hægland
c6129ad9a4 Renamed function in ecfvstencil.hh
Use the new name of the dirId() function in ecfvstencil.hh
2022-09-16 09:10:42 +02:00
Håkon Hægland
9ed974fda3 Minor simplification
Simplify code using the unknown facedir value.
2022-09-14 23:54:43 +02:00
Håkon Hægland
7d0265dd44 Limit access to face direction.
Only access the grid face direction information if directional relperms
have been enabled.
2022-09-14 15:34:41 +02:00
Håkon Hægland
8b1bcb36bc Adds support for KRNUM 2022-09-14 15:34:41 +02:00
Arne Morten Kvarving
a9590215dc changed: consistently use std::array 2022-08-26 08:28:46 +02:00
Bård Skaflestad
766543dd18
Merge pull request #3992 from akva2/ecl_modernization
Some small modernization changes in ecl classes
2022-08-10 13:26:25 +02:00
Arne Morten Kvarving
f97f29fa3a EclFluxModule: some modernization
- typedef -> using
2022-08-10 12:44:53 +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
55b637aedd Remove unneded class.
All functionality is now in EclFluxModule.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
0bf508daf7 Refactor EclFluxModule.
This makes that class have the same methods as the EclFluxModuleTpfa, so
the latter can be removed.
2022-08-09 11:11:36 +02:00
Arne Morten Kvarving
78c5675daf changed: get rid of OPM_UNUSED macro usages
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Arne Morten Kvarving
463a41d373 fixed: do not assert conditions guaranteed by unsigned 2021-06-18 13:27:58 +02:00
Arne Morten Kvarving
a4c0af09d9 fixed: do not use Opm:: prefix when inside namespace Opm 2021-05-05 11:59:18 +02:00
Ove Sævareid
98b2ed5bd4 Cleaning up various issues. 2020-11-17 12:39:21 +01:00
Ove Sævareid
0f7e66e151 Alternative solvent extension for the black oil model. 2020-11-17 12:33:19 +01:00
Joakim Hove
0565d6f402 Remove unused #include of exceptions 2020-09-21 11:12:15 +02:00
Arne Morten Kvarving
914053ac3c changed: remove GET_PROP_VALUE macro usage 2020-08-27 13:01:51 +02:00
Arne Morten Kvarving
74fac38d85 changed: remove GET_PROP_TYPE / GET_PROP macro usage 2020-08-27 08:19:39 +02:00
Bernd Flemisch
21df1cbe31 [properties] adapt to changes in the property system
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
Tor Harald Sandve
1d061c681f fix index issue for boundary conditions 2020-01-30 10:03:22 +01:00
Tor Harald Sandve
8c7d7e3d2e enables rockcomp in flow 2019-10-17 12:44:49 +02:00
Arne Morten Kvarving
1aba020ea3 changed: ewoms/disc -> opm/models/discretization 2019-09-19 11:16:26 +02:00
Arne Morten Kvarving
d3d9831fc3 changed: ewoms/common -> opm/models/utils 2019-09-19 11:14:36 +02:00
Arne Morten Kvarving
7048589ec1 changed: ewoms/models/blackoil -> opm/models/blackoil 2019-09-19 11:12:45 +02:00
Arne Morten Kvarving
5599bb6d8c changed: namespace Ewoms -> namespace Opm 2019-09-05 17:14:38 +02:00
Tor Harald Sandve
890d34a9e1 Add support for water induced compaction using
ROCKCOMP, ROCK2D, ROCK2DTR, ROCKWNOD and OVERBURD
2019-05-07 13:17:29 +02:00
Tor Harald Sandve
2156f15d5f Adapt to new deck specification for the boundary condition 2019-03-27 09:27:03 +01:00
Tor Harald Sandve
a5463ed1a0 Add support for using free boundary conditions in Flow
The OPM spesific keywords FREEBC[XYZ[-]] can be used to specify
boundary cells that are open. Default is a closed boundary.
2019-02-07 14:56:55 +01:00
Andreas Lauser
4ecda15b11 coding style fixes for the black-oil model and more style fixes for ebos 2019-02-01 17:33:30 +01:00
Tor Harald Sandve
fb34eb304c Fix generic boundary conditions for blackoil model
Currently it doesn't allow for polymer or solvent influx
on the boundary with the free flow option
2019-01-31 15:41:47 +01:00
Andreas Lauser
26e6d56930 do explicit put properties into the the Ewoms::Properties namespace anymore
instead, do it implicitly by using the BEGIN_PROPERTIES and
END_PROPERTIES macros.
2018-06-15 20:22:07 +02:00
Andreas Lauser
54c96aa1c2 blackoil, ebos: implement non-trivial boundary conditions
with this, it is possible do define fluxes of conservation quantities
over the domain boundaries by specifying the thermodynamic state on
the boundary when using the black-oil model. The main motivation is
are thermal fluxes which are required to maintain geothermal
temperature gradients over time.
2018-04-05 19:31:55 +02:00
Andreas Lauser
815be1451b implement the ebos part of energy conservation
I.e. everything which is ECL specific.
2018-04-05 19:31:55 +02:00
Andreas Lauser
260d62c2b8 adapt to the move of code from opm-common to opm-material 2018-02-08 12:11:20 +01:00
Tor Harald Sandve
3dd7fd0b3a Add polymer model to ebos
Adds a conservation equation for polymer.
Polymer concentration in the water phase is used as primary variable
The polymer influences the viscosity of the water, and leaves gas and oil
uneffected.

A shear multiplier is computed if PLYSHLOG and/or SHRATE is specified
based on either velocity or shrate.
The shear multiplier effects the water and polymer viscosity.

Tested and verified on the test cases in polymer_test_suite
2017-06-21 08:00:31 +02:00
Andreas Lauser
bcdc4e5e38 blackoil: implement the immiscible solvent extension
Conceptually this is IMO pretty questionable, since it adds a second
"gas phase" that does not mix with "ordinary" gas. I suppose the
reason why this extension was conceived by E100 is that if all you
have is hammer, everything looks like a nail...

Functionality-wise, this patch is still not fully complete because
miscibility of the solvent "phase" is not yet implemented. As far as I
can see, the API changes required by miscibility are quite limited,
though.
2017-05-05 10:46:53 +02:00
Andreas Lauser
cddf643b5a EclFluxModule: add a small fix to the mobility shortcut
let's use zero instead of 10^-18. This can have a small impact on
performance, but the new version is definitely "more" correct, and
also Norne performance seems to improve slightly on my machine.
2017-05-04 16:00:25 +02:00
Andreas Lauser
2f0a32ba63 ECL flux module: make some attributes that are not used elsewhere local 2017-05-04 16:00:25 +02:00
Andreas Lauser
4fd341d98e some fixes for typos in comments 2017-05-04 16:00:25 +02:00
Andreas Lauser
a284089d73 adapt to the move of the valgrind client requests into the Opm namespace 2017-02-09 18:25:44 +01:00
Andreas Lauser
61c501a31d change the order of OPM_UNUSED and variable name
it seems like some compilers (GCC 4.9.2?) are picky about this and
require

```c++
TypeName VariableName __attribute__ ((__unused__))
```
2017-01-17 13:28:56 +01:00
Atgeirr Flø Rasmussen
5724244b4f Silence unused argument warnings with OPM_UNUSED. 2016-12-30 10:03:14 +01:00
Andreas Lauser
a6191a2345 the new home of Valgrind.hpp is opm-common! 2016-12-14 12:38:12 +01:00
Andreas Lauser
c4c00bdaaa implement two-phase blackoil simulations 2016-11-22 15:22:41 +01:00
Andreas Lauser
431cebaa21 EclFluxModule: make sure that the upwind and downwind directions are set
before, they were undefined for phases which exhibited zero mobility
in both directions. since in this case the flux is zero (and thus the
upstream direction does not matter), the correctness is unaffected by
this patch. (still, I consider it to bug and valgrind also complained
about it.)
2016-11-17 19:48:07 +01:00