Commit Graph

11516 Commits

Author SHA1 Message Date
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
Markus Blatt
c28a12636a Also free memory allocated with CUDA also with CUDA
With multisegment wells we allocate WellContributions::hx and hy with
`CudaMallocHost`. Yet we tried to deallocate them with
`delete[]`. This caused segementation faults e.g. for
model1/MSW_MODEL_1. Now we use `CudaFreeHost` for freeing if we used
CUDA.

Closes #2719
2020-08-04 12:54:27 +02:00
Atgeirr Flø Rasmussen
3a0469cde1
Merge pull request #2704 from bska/remove-basic-warning
Cell Data: Don't Warn About Supported Output Directives
2020-07-28 15:52:59 +02:00
Bård Skaflestad
8c8635d221 Cell Data: Don't Warn About Supported Output Directives
This commit ensures that we don't issue misleading warning about
output creation directives such as

    BASIC
    FREQ
    RESTART

that could be, and typically are, put into keywords like RPTRST and
RPTSCHED.  Previously, we would interpret these directives as names
of cell vectors and we would get very confusing diagnostic messages
of the form

    Keyword 'BASIC' is unhandled for output to file

which suggests that 'BASIC' is unsupported despite the output system
supporting the directive for quite some time.  While here, also
apply the same reasoning to the vectors we always output such as
SWAT, SGAS, or PRESSURE.
2020-07-28 13:36:25 +02:00
Atgeirr Flø Rasmussen
af413f474c
Merge pull request #2715 from atgeirr/fix-opencl-cmake
Fix CMake variable case bug.
2020-07-28 13:17:13 +02:00
Atgeirr Flø Rasmussen
0205f54caf Fix CMake variable case bug.
This caused compile failure on a system without the c++ OpenCL binding header cl.hpp.
2020-07-28 12:42:55 +02:00
Markus Blatt
6c1f8bd872
Merge pull request #2707 from blattms/fix-opencl-warnings
Fix some warnings in the OpenCl Solver.
2020-07-21 14:18:26 +02:00
Markus Blatt
13ff454e56 Remove unused variable groups from BlackoilWellModel::wellsToState.
Alternatively it could be marked as [[maybe_unused]] if it will be
used sometime in the future.
2020-07-21 11:35:43 +02:00
Markus Blatt
f37fa8bbd9 Prevent unused variable warnings without CUDA in WellContributions. 2020-07-21 11:24:19 +02:00
Markus Blatt
59064b4ac2 Prevent warning about shadowing dim_wells and dim. 2020-07-10 13:40:38 +02:00