Commit Graph

9425 Commits

Author SHA1 Message Date
Markus Blatt
9f49e3fc26 Also pass the parseContext and errorGuard to Opm::checkDeck()
This is now mandated since the checkDeck interface was changed recently.
Otherwise compilation errors out.
2019-04-10 15:01:52 +02:00
Markus Blatt
81b7af1d8a Support DUNE 2.5 with CPR reusing hierarchy 2019-04-10 15:01:35 +02:00
Markus Blatt
29e893dc8e Make sure the the OwnerOverlopCommunication object stays alive.
As the AMG hierarchy is kept and uses the initial OwnerOverlopCommunication object
we need to make sure that this object lives as long as the hierarchy. We assure
this by storing a shared_ptr to it in ISTLSolverEbosCpr and reuse it to construct
the WellModelMatrixAdapter.
2019-04-10 14:40:46 +02:00
Markus Blatt
8057c2ba83 Use a shared pointer to the OwnerOverlapCommunication in WellModelMatrixAdapter.
Previously the OwnerOverlapCommunication object was owned by the adapter as a
unique_ptr was used. The change to shared_ptr makes it possible to to extract
it and reuse even if OwnerOverlapCommunication is thrown away.
2019-04-10 14:40:46 +02:00
Markus Blatt
6538b59d9e Added parallel CPR that reuses the matrix hierarchy.
Currently this just compiles but still segfaults in parallel.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
07e495c9da More minor cleanup. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
7664d27849 Clean up formatting and get most types from superclass. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
be86b90bac Make typed protected rather than private, enabling inheritance. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
2cf990e404 Do not store copy of weights inside BlackoilAmgCpr class. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
416cc93f96 Remove code that is no longer needed. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
0e5a5c5266 Minor cleanup. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
3d9c776384 Disable most of the file, as the base version is sufficient.
All features have been added to BlackoilAmg.hpp.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
6d18c2849d Allow updating the AMG preconditioner.
This adds the significant modifications from the BlackoilAmgCpr
experimental class to BlackoilAmg.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
032701ffc9 Silence unused argument warnings. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
0e1db0c6bd Reindent, remove unused function (after refactoring). 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
5d68a308b5 Fix memory bug by refactoring.
Moving out of a matrix in the same function argument list as the matrix is passed
to another function is wrong. Simplified by avoiding the unwieldy tuple.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
c92d84432c Replace tabs with spaces. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
5f4f8b71a8 Silence override and member order warnings. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
29837be2e3 Changes to minimize differences to original istl versions.
Also added note pointing to original istl files.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
13c6463f89 Refactor to be closer to the original amg.hh.
Should minimize the diff when comparing.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
b39815edb5 Minor formatting and removing unused code. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
28dfef1ecf Compile fix: do not use undefined member. 2019-04-10 14:40:46 +02:00
hnil
4f1603407d Added timing of prepare call for linear solvers 2019-04-10 14:40:46 +02:00
hnil
ed24b3fcad changed code to use direct solver on coarses scale for amg. This should runtime stettings for this.. 2019-04-10 14:40:46 +02:00
hnil
f05a9fdb25 Version of cpr amg which can reuse setup and also change smoothers of fine and coarse system by changing tags 2019-04-10 14:40:46 +02:00
Bård Skaflestad
2932531572
Merge pull request #1782 from GitPaean/upadting_perforation_solution_msw
updating perforation pressure and rates for MSW well
2019-04-05 16:41:43 +02:00
Joakim Hove
63f6f34906
Merge pull request #1781 from andlaus/adapt_to_checkDeck_changes
also pass the parseContext and errorGuard to Opm::checkDeck()
2019-04-05 12:07:40 +02:00
Atgeirr Flø Rasmussen
a8d8fb86c3
Merge pull request #1592 from bska/report-segment-res
WellState FIBO: Return Segment Vectors from report()
2019-04-05 10:49:14 +02:00
Kai Bao
e2b8edd968 updating perforation pressure and rates for MSW well 2019-04-05 10:38:01 +02:00
Andreas Lauser
6f1018f11a also pass the parseContext and errorGuard to Opm::checkDeck() 2019-04-04 18:13:36 +02:00
Kai Bao
b62dc0b5f2 addressing review comments 2019-04-04 16:22:19 +02:00
Kai Bao
ca69e2334a recovering well restart data for multisegment well
When multisegment wells are involved for RESTART, based on the recovered
segment-related quantities as Opm::data::Segment objects, the segment
phase rates and segment pressure are recovered as part of the
WellStateFullyImplicitBlackoil.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
dce27c6829 WellState FIBO: Return Segment Vectors from report()
This commit extends class WellStateFullyImplictBlackoil to report
segment-related quantities as Opm::data::Segment objects (included
in Opm::data::WellRates objects).  All wells have at least a top
segment in the context of WellState FIBO, so there is a meaningful
value to report for each well.

We put the extraction of segment-related quantities into a new
helper function

    WellStateFullyImplicitBlackoil::reportSegmentResults()

to avoid cluttering up the body of report() more than absolutely
needed.

The primary use-case for this is assigning appropriate values to
items 8 through 11 of restart vector RSEG.  In turn, this will
enable restoring these quantities from a restart file.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
7523ffe15f Construct Segment-Related Structures in initLegacy()
Forgotten in previous commit.  This restores our ability to run
flow-legacy with the new WellStateFullyImplicitBlackoil::report().

Thanks to Kai Bao for alerting me to the issue.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
55e452c605 Well State FIBO: Report() Segment Results by Seg-Numbers
This commit adds a new data member, seg_number_, that maps a linear
segment index (0 .. #segments - 1) to the appropriate segment number
(segment ID).  This ensures that member function report() is able to
produce segment results in terms of user-assigned segment numbers
rather than linear indices internal to the simulator and its state
variables.  This, in turn, decouples the well state object from the
output (summary/restart) code and makes the restart facility more
self contained.

Rewrite the unit test for WellStateFullyImplicitBlackoil to account
for the new indexing scheme when assigning the synthetic segment
results.

While here, also abide by the file's naming convention for data
members and locals.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
45689f3ade WellState FIBO (test): Add Some Vertical Spacing for Separation
Suggested by: [at]GitPaean
2019-04-04 16:22:19 +02:00
Bård Skaflestad
e958ee1139 WellState FIBO: Initialize 'nseg_' in init()
Needed to guarantee that numSegments(wellID) returns sensible values
for wellID = numWells()-1 in the case of no multi-segment wells.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
2418df701f WellState FIBO: Return Segment Vectors from report()
This commit extends class WellStateFullyImplictBlackoil to report
segment-related quantities as Opm::data::Segment objects (included
in Opm::data::WellRates objects).  All wells have at least a top
segment in the context of WellState FIBO, so there is a meaningful
value to report for each well.

We put the extraction of segment-related quantities into a new
helper function

    WellStateFullyImplicitBlackoil::reportSegmentResults()

to avoid cluttering up the body of report() more than absolutely
needed.

The primary use-case for this is assigning appropriate values to
items 8 through 11 of restart vector RSEG.  In turn, this will
enable restoring these quantities from a restart file.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
519e6ad174 Make WellStateFIBO Header Self Contained
In particular, include Schedule.hpp since commit 222241b made the
init() member function depend on Schedule but failed to add the
requisite header.
2019-04-04 16:22:19 +02:00
Joakim Hove
32feeefae3
Merge pull request #1779 from joakim-hove/use-rft-config
Use RFTConfig() object to query for RFT active wells
2019-04-04 14:05:19 +02:00
Joakim Hove
c9dcfc8be0 Use RFTConfig() object to query for RFT active wells 2019-04-04 07:27:39 +02:00
Tor Harald Sandve
67015480ea
Merge pull request #1778 from hnil/fix_cpr_oil_gas
Fix cpr oil gas
2019-04-03 12:45:23 +02:00
Tor Harald Sandve
ae6edf6a06
Merge pull request #1774 from andlaus/support_THPRESFT
Support THPRESFT
2019-04-03 09:20:53 +02:00
hnil
3a0db3adff fixed indentation 2019-04-03 09:09:57 +02:00
Tor Harald Sandve
c88806a5bc
Merge pull request #1770 from blattms/allow-empty-fipnum-vector
Cater for empty fipnum vectors in output code.
2019-04-02 14:59:34 +02:00
Atgeirr Flø Rasmussen
e8da0e8fd5
Merge pull request #1776 from atgeirr/update-test_equil
Update test_equil.cpp for upstream changes.
2019-04-02 08:20:05 +02:00
hnil
30368ca7c5 Merge branch 'master' of https://github.com/OPM/opm-simulators into fix_cpr_oil_gas 2019-04-01 12:57:18 +02:00
hnil
88beff7a9d Fixed pressure equation for case where water is not pressent, often used for co2 simulations 2019-04-01 12:55:06 +02:00
Atgeirr Flø Rasmussen
9f94c2ea9b
Merge pull request #1777 from joakim-hove/update-missing-features
Update missing features
2019-04-01 08:53:54 +02:00
Tor Harald Sandve
2c51bc6219
Merge pull request #1772 from andlaus/ebos_maintainance
ebos: make its core headers self sufficient
2019-03-29 13:49:18 +01:00