Commit Graph

11525 Commits

Author SHA1 Message Date
Markus Blatt
75104fd310 Move to more consistent ownership of ECL data in EclBaseVanguard
We resort to consistently use unique_ptrs in EclBaseVanguard for
the data read from ECL files or set externally. This means that
during the simulation EclBaseVanguard owns this data and not Main
or the ebos setup functions. This ownership transfer becomes
transparent due to std::move.

This came up when trying to fix the parallel runs of ebos and during
that removing some code duplication.
2020-08-27 09:05:09 +02:00
Markus Blatt
83bfd4edfc
Merge pull request #2738 from akva2/more_macro_replacement
More macro replacement
2020-08-27 08:46:25 +02:00
Markus Blatt
d55628bd8d
Merge pull request #2739 from blattms/fixed-relaxed-tol-logic
Finally fix selection for relaxed tolerance.
2020-08-27 08:38:32 +02:00
Arne Morten Kvarving
74fac38d85 changed: remove GET_PROP_TYPE / GET_PROP macro usage 2020-08-27 08:19:39 +02:00
Arne Morten Kvarving
82a35e53b7 changed: remove TTAG macro calls 2020-08-27 08:19:39 +02:00
Markus Blatt
bee46ed309 Finally fix selection for relaxed tolerance.
Default values are MaxStrictIter=8 and RelaxedPvFraction=1.0.
To activate relaxed pv fraction set MaxStrictIter to 0 and
fraction below 1.
2020-08-26 15:42:27 +02:00
Arne Morten Kvarving
8148a81ed0 changed: replace EWOMS_RESET_PARAMETERS macro calls 2020-08-26 10:50:34 +02:00
Bård Skaflestad
9829bfd61a
Merge pull request #2733 from joakim-hove/serialize-variant
Serialize variant
2020-08-25 23:10:18 +02:00
Joakim Hove
cc32189a2e Handle serialization of std::variant<T0,T1> 2020-08-25 22:37:24 +02:00
Tor Harald Sandve
25c8a219a5
Merge pull request #2701 from blattms/relaxed-cnv-based-on-pv-fraction
relaxed tolerance for CNV if only small fraction of PV is violated
2020-08-25 15:02:06 +02:00
Markus Blatt
92b1708433 Use reference to ebos residual to prevent copying. 2020-08-25 14:07:27 +02:00
Joakim Hove
f2c1496c6e
Merge pull request #2690 from hakonhagland/step_init
Implements the Python step_init() function
2020-08-24 13:50:44 +02:00
Håkon Hægland
3749dcab7d Implements the Python step_init() function.
A resubmission of commit 11eaa3d7 in PR #2403 and PR #2443 and continues
the work in #2555 implementing Python bindings to the flow simulator.

The step_init() method initializes the simulation. It is required for the
Python script to run step_init() before calling the step() method (which
will be implemented in a later commit).
2020-08-24 10:27:50 +02:00
Joakim Hove
f9ac56b31c
Merge pull request #2689 from hakonhagland/main_ebos_constr
Capture the variables argc, argv, outputCout, and outputFiles in Opm::FlowMainEbos
2020-08-24 10:04:33 +02:00
Håkon Hægland
c6752c1e0e Clarify by using this->
Clarify usage of member variables in FlowMainEbos.hpp by prefixing with
this->.

Also rebased PR on the current master, and updated
flow_ebos_oilwater_brine.cpp according to the PR.
2020-08-24 08:35:04 +02:00
Håkon Hægland
f9d47b7c68 Capture some variables in FlowMainEbos.
Make Opm::FlowMainEbos capture the variables argc, argv, outputCout, and
outputFiles. Passing the variables to the constructor and saving them as
class variables in Opm::FlowMainEbos makes the implementation of the
Python interface simpler. For example, the step_init() method does not
need to ask Opm::Main about the values of the variables when it needs to
run execute() in FlowMainEbos.

Another advantage of this refactoring could be that less variables needs
to be passed around from Opm::Main, to flow_ebos_xxx.cpp, and then again
to FlowMainEbos.
2020-08-24 00:19:19 +02:00
Bård Skaflestad
8158e64351
Merge pull request #2731 from akva2/no_macro_properties
changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage
2020-08-21 16:35:04 +02:00
Arne Morten Kvarving
70908d9017 changed: remove BEGIN_PROPERTIES/END_PROPERTIES macro usage 2020-08-21 15:50:35 +02:00
Bård Skaflestad
e8bf79d774
Merge pull request #2730 from akva2/fix_broadcast_summarystate
fixed: have to broadcast summarystate on restart
2020-08-21 10:58:34 +02:00
Arne Morten Kvarving
efd078f564 fixed: have to broadcast summarystate on restart 2020-08-21 10:43:31 +02:00
Kai Bao
d13e5ac8dd
Merge pull request #2718 from blattms/reuse-umfpack-ms
Reuse umfpack decomposition for multisegment wells.
2020-08-20 11:33:59 +02:00
Markus Blatt
49ed3d6468 Removes rest of the commented out code introduced with applyUMFPack. 2020-08-20 10:17:33 +02:00
Markus Blatt
cca38ddc36 Fixed spelling in error message. 2020-08-20 10:17:26 +02:00
Markus Blatt
efe17780e2 Reinforce maxStrictIter for the newton.
That was removed before in lieu of the fraction of cells that
violate CNV.
This change should make the results as before unless somebody changes
maxStrictIter or RelaxedMaxPvFraction
2020-08-19 14:42:40 +02:00
Markus Blatt
94eb0d5ffe Fixes method name in throw message. 2020-08-19 08:11:50 +02:00
Markus Blatt
0c0be3a941 Reset duneDSolver only once. 2020-08-18 17:55:50 +02:00
Markus Blatt
ae8e2fb8c2 Removed commented out code from MSWell. 2020-08-18 17:55:50 +02:00
Markus Blatt
e96c4a9908 Removed unused method invDXDirect. 2020-08-18 17:55:50 +02:00
Markus Blatt
7261759065 Reuse UMFPack decomposition whenever possible.
We hold a shared pointer to the umpfack solver that gets reset
whenever the matrix is changed. When applying the decomposition
we will be recomputed if the solver pointer is null.
2020-08-18 17:55:50 +02:00
Markus Blatt
ce409737fe Allow applyUMFPack to decompose if needed. 2020-08-18 17:55:50 +02:00
Markus Blatt
a011244d9c refactored invDxDirect to allow for reusing the decomposition. 2020-08-18 17:55:50 +02:00
Markus Blatt
f65eca3310 Use RelaxedMaxPvFraction 0 for now.
This should make the tests work.
2020-08-18 16:57:16 +02:00
Markus Blatt
e040484580 relaxed tolerance for CNV if only small fraction of PV is violated
Previously we used relaxed tolerance once a certain number of Newton
steps was exceeded. Now we check for all cells violating CNV locally
and if their pore volume is less than a certaun fraction (default 3%)
we use the relaxed tolerance (default: 1e9)

Original idea originated from Norce.
2020-08-18 16:57:16 +02:00
Bård Skaflestad
af9a9fa512
Merge pull request #2699 from totto82/pvtwsaltSaltvd
Implement SALTVD
2020-08-18 12:32:26 +02:00
Tor Harald Sandve
9d72b6ad1a clean-up saltved implementation based on code review 2020-08-18 11:04:39 +02:00
Tor Harald Sandve
491b532a6a Add trivial saltvd table for cases without saltvd given in the deck 2020-08-18 10:55:43 +02:00
Tor Harald Sandve
bd9186b41d implement Saltvd 2020-08-18 10:55:43 +02:00
Joakim Hove
74e9eea189
Merge pull request #2724 from joakim-hove/tlmixpar
Test TLMixpar pack/unpack
2020-08-14 12:57:06 +02:00
Kai Bao
b88501bc7d
Merge pull request #2711 from blattms/fix-unused-vars-wells
Remove unused variable groups from BlackoilWellModel::wellsToState.
2020-08-12 22:29:07 +02:00
Joakim Hove
9f5e69cde3 Test TLMixpar pack/unpack 2020-08-12 14:46:04 +02:00
Atgeirr Flø Rasmussen
8d999ad448
Merge pull request #2664 from GitPaean/addinginneritartionsstdwell
Adding inner iterations for standard wells.
2020-08-11 16:37:00 +02:00
Kai Bao
08b93424f3 setting UseInnerIterationsWells default to be false
and reducing default MaxInnerIterWells to be 50, which should not matter
much. We should try to reduce it further to something like 20, 10 later.
2020-08-11 09:46:23 +02:00
Kai Bao
a38dc27bcb refactoring for iterateWellEquations 2020-08-11 09:10:19 +02:00
Kai Bao
11807747cb renaming solveWellEqUntilConverged to be iterateWellEquations 2020-08-11 09:10:19 +02:00
Tor Harald Sandve
fefa5c22ce make assembleWellEqIteration private 2020-08-11 09:10:19 +02:00
Tor Harald Sandve
fc45b1bd47 Add inner iterations for standard wells also 2020-08-11 09:10:19 +02:00
Markus Blatt
c1effde738
Merge pull request #2722 from blattms/fix-reorder-ilu0-opencl
[OpenCL] Fixes out of bounds read in reordering code in ILU0.
2020-08-07 18:09:12 +02:00
Markus Blatt
5743a979e3 Formatting: added missing space. 2020-08-07 09:38:10 +02:00
Markus Blatt
8d3eac81a5 [OpenCL] Fixes out of bounds read in reordering code in ILU0.
rowPerColor only has size numColors!
2020-08-05 21:22:01 +02:00
Markus Blatt
da40f0200e
Merge pull request #2720 from blattms/correctly-free-cuda-mem-for-ms
Also free memory allocated with CUDA later with CUDA
2020-08-04 13:50:33 +02:00