Commit Graph

1828 Commits

Author SHA1 Message Date
Jørgen Kvalsvik
bbb30de74e Don't rely on Deck for checkTable and checkPhase
Prefer using EclipseState over Deck.
2016-12-20 14:08:58 +01:00
Jørgen Kvalsvik
98a3a6a3f8 Read ROCK from EclipseState, not Deck 2016-12-20 12:24:27 +01:00
Jørgen Kvalsvik
3bdd674aac Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
Prefer reading these values from EclipseState rather than the Deck type.
2016-12-19 14:26:27 +01:00
Jørgen Kvalsvik
5278a1f193 Use Density from EclipseState 2016-12-15 16:06:46 +01:00
Jørgen Kvalsvik
f8b1bef974 Read PVTW from EclipseState
Read the PVTW table entries from EclipseState rather than manually
through the Deck object.
2016-12-06 14:53:41 +01:00
Andreas Lauser
7f4c23812a clean up and extend the SimulationReport class
it now also accounts for assembly, linear solve, update and output
write time and indicates if an operation has converged.
2016-11-30 11:27:49 +01:00
Atgeirr Flø Rasmussen
22fc88b2af Merge pull request #1103 from GitPaean/fixing_warning
warning fixed related to petsc
2016-11-23 12:37:31 +01:00
Jørgen Kvalsvik
ccd38c0cf7 Ask for reference depth at timestep. 2016-11-22 14:22:09 +01:00
Atgeirr Flø Rasmussen
b026295376 Merge pull request #1107 from GitPaean/fixing_findWellNode
Adding a flag to WellCollection whether group control active
2016-11-17 23:27:06 +01:00
Kai Bao
78b96d9c20 a flag to WellCollection whether group control active 2016-11-17 16:26:19 +01:00
Bård Skaflestad
ef3f7f78fa Merge pull request #1105 from andlaus/fix_valgrind_errors
fix some valgrind errors in the init code
2016-11-16 19:08:48 +01:00
Andreas Lauser
04c9b66107 fix some valgrind errors in the EQUIL code
this fixes some valgrind errors while doing the twophase capability
for flow_ebos: In all previously tested cases, these errors were
probably non-fatal because the memory illegally accessed here is
likely to be allocated (but after this function was finished it
contained garbage).

note that I'm not completely sure if this patch is semantically
correct, so I'd appreciate some input who understands it. (what is
"z"?)
2016-11-16 17:20:24 +01:00
Kai Bao
d48255d198 warning fixed related to petsc 2016-11-16 15:35:35 +01:00
Kai Bao
37e1fb0043 rewriting the findWellNode function
with assuming we should always find the well in the well collection.
2016-11-16 14:27:15 +01:00
Joakim Hove
9739b2167c Merge pull request #1101 from jokva/changes-in-grouptree
GroupTree interface changed upstream
2016-11-16 13:26:58 +01:00
Kai Bao
d7b2d3368c fixing the comments.
No change in the functions and results.
2016-11-16 11:40:10 +01:00
Kai Bao
0e6214723c addressing a few comments. 2016-11-16 09:51:06 +01:00
Kai Bao
6714c53dc8 adding target_updated_ flag to WellNode
to save some repeated efforts when updating Well Targets.
2016-11-16 09:43:28 +01:00
Kai Bao
ca52f1f59e checking whehter need to update before updateWellTargets. 2016-11-15 13:56:49 +01:00
Kai Bao
f4a44ec1dd cleaning up more unused flag from WellsGroup 2016-11-11 11:29:12 +01:00
Kai Bao
6c9c64cb3e removing a few not-used function with the new strategy. 2016-11-10 17:50:30 +01:00
Kai Bao
84910993c4 different strategy is using when updating the well targets
When the group has wells both under individual control and group
control, since the well rates under individual control changes each
iteration, the well targets for this kind of group need to be updated
each iteration.

When we change to use implicit well potentials later, which is supposed
to be more accurate, we probably should always (unless we decided not to)
update the well targets each iteration.
2016-11-10 17:22:25 +01:00
Kai Bao
73b511f90a adding function findWellNode() to WellCollection
to return the WellNode* instead of WellGroupInterface*
2016-11-10 16:28:40 +01:00
Kai Bao
62dbf74bc9 cleaning up and adding more comments for better understanding.
No functional change.
2016-11-10 16:28:40 +01:00
Kai Bao
8ce422072e applying the efficiency factor to VREP control. 2016-11-10 16:28:40 +01:00
Kai Bao
fe7a77d80e adding VREP injection support.
not handling multiple injection wells for moment.
2016-11-10 16:28:40 +01:00
Kai Bao
0e3118af42 using variable only_group instead of hard-coded false.
when applying group production control.
2016-11-10 16:28:40 +01:00
Kai Bao
a77750c0b6 correcting the typo in efficiency
It was efficicency, which causes inconvenience when searching variables
or functions.
2016-11-10 16:28:40 +01:00
Kai Bao
099a62f07a adding basic support for group injection control.
more testing will be required later.
2016-11-10 16:28:40 +01:00
Kai Bao
f1123e4e4c applying efficiency factor to the group control. 2016-11-10 16:28:40 +01:00
Kai Bao
f922ed6ad9 function for accumulative efficiency factor for WellNode
This is the final efficiency factor that goes to the source/sink terms
in the material balance equations.
2016-11-10 16:28:40 +01:00
Kai Bao
194d9b161d adding efficiency factor to the WellsGroupInterface.
The one for the WellNode should be specified with WEFAC, which we are
not handling for the moment, so we just set it to be 1.0 for the moment.
2016-11-10 16:28:40 +01:00
Kai Bao
a67bff245b refactoring function updateWellProductionTargets()
To handle different types of control mode.
2016-11-10 16:28:40 +01:00
Kai Bao
be5f1e5c58 When NONE is specified, no group control enforcement.
NONE is specified in GCONPROD or GCONINJE.
2016-11-10 16:28:40 +01:00
Kai Bao
d3926a6a6a output cleanining up 2016-11-10 16:28:40 +01:00
Kai Bao
9bfe9d561a removing the use of cast between base class and derived class
between WellsGroupInterface and WellsGroup, WellNode.
2016-11-10 16:28:40 +01:00
Kai Bao
631ea6cf82 revising updateWellTargets to remove the dependency of WellState
avoiding template using here. It is possible we will need WellState
eventually, while only using the well_rates for the moment.
2016-11-10 16:28:40 +01:00
Kai Bao
1174da5326 fixing the comilation problem from rebasing. 2016-11-10 16:28:40 +01:00
Kai Bao
2ddb199f4f revising injectionGuideRate and productionGuideRate
for WellNode. It gives a better logic.
2016-11-10 16:28:40 +01:00
Kai Bao
3551ccac0a adding updateWellInjectionTargets updateWellProductionTargets
For WellsGroup. At least for the current moment, the updation of the
well targets for injectors and producers should be handled in a
seprate way.
2016-11-10 16:28:40 +01:00
Kai Bao
df745bafef functions for indicating injection and production upating.
it is for WellCollection, which is logically wrong. It should be done in
the group level, while things will be different for multi-level groups.

The current implementation basically works for current needs, that we
only have one group.
2016-11-10 16:28:40 +01:00
Kai Bao
86e41a8937 adding isProducer() and isProjector() to wellNode class.
Did not see type() function there, while it should still be a okay idea.
2016-11-10 16:28:40 +01:00
Kai Bao
7926a58fae parameter forced to only_group from applyInjGroup applyProdGroup
forced and only_group basically mean two opposite things. Having both of
them in the same context will be really confusing and error-prone.

And also, we do not do anything forcedly. We do things base on what
setup tells us to do.

Only_group may not be the final name, while deinitely a better one than
forced.
2016-11-10 16:28:40 +01:00
Kai Bao
a9335266c6 putting more things in the prototyping test. 2016-11-10 16:28:40 +01:00
Kai Bao
999b80a91a keeping adding group control related in. 2016-11-10 16:28:40 +01:00
Kai Bao
26cc5de202 keeping putting group controlling in. 2016-11-10 16:28:40 +01:00
Kai Bao
4d57b641a8 adding a non-const wellCollection() in WellsManager.
For the WellModel from the simulator to use. Not decided totally,
    well_collection might need to be updated during the simualtion due
    to the update the target of wells.
2016-11-10 16:28:40 +01:00
Kai Bao
59ab9b8424 not returning zero from double WellNode::productionGuideRate
Current understanding. Two ways might prevent to return the guide_rate here
1. preventing the well from group control with keyword WGRUPCON
2. the well violating some limits and working under limits. We do not have strategy
to handle this situation yet.
2016-11-10 16:28:40 +01:00
Kai Bao
3150b94ed6 Not return from the WellNode:applyInjGroupControl
unless we prevent the well from group control with keyword WGRUPCON.
2016-11-10 16:28:40 +01:00
Kai Bao
2e9929e2af To make the injection well be able to receive the target.
Very hacky way here. The logic of the code is that only
a well is specified under GRUP control, it is under group
control. Which is not the case observed from the result.
From the result, if we specify group control with GCONPROD
and WCONPROD for a well, it looks like the well will be
under group control. TODO: make the logic correct here
instead of using `false` here.
2016-11-10 16:28:40 +01:00
Kai Bao
0640c963fc group can be both injection group and production group.
Change if else to two ifs.
2016-11-10 16:28:40 +01:00
Kai Bao
f93fd52c26 adding support for the FLD for the control type of group control.
And also adding support for the liquid rate type of guide rate type.
2016-11-10 16:28:40 +01:00
Jørgen Kvalsvik
478ac16a1b GroupTree interface changed upstream
Updates to the slightly modified GroupTree interface from opm-parser.
2016-11-09 13:04:33 +01:00
Arne Morten Kvarving
f9fa1a6a8c fixed: use correct indices for well state completion data 2016-11-04 16:40:09 +01:00
Joakim Hove
a1f31c55ce Merge pull request #1098 from jokva/phase-in-runspec
Read phase information from EclipseState.runspec
2016-11-02 11:52:24 +01:00
Andreas Lauser
c910ec11da Merge pull request #1096 from andlaus/Evaluation_accessors
use accessor methods to access the value and derivatives of Evaluation objects
2016-11-01 13:16:05 +01:00
Jørgen Kvalsvik
3bde655e12 Read phase information from EclipseState.runspec 2016-11-01 11:37:27 +01:00
Andreas Lauser
ced224378f use accessor methods to access the value and derivatives of Evaluation objects 2016-10-27 16:53:52 +02:00
Atgeirr Flø Rasmussen
5662c32605 Fix saturation family diagnostics for two-phase case. 2016-10-27 11:58:50 +02:00
Atgeirr Flø Rasmussen
4aa14a4dcb Adapt to changed data::Wells API. 2016-10-25 10:41:16 +02:00
Atgeirr Flø Rasmussen
9253969828 Merge pull request #1093 from dr-robertk/PR/fix-wellmanager-constructor
Make WellsManager compile with c++-11.
2016-10-23 07:36:08 +02:00
Atgeirr Flø Rasmussen
de1e3327d2 Merge pull request #1075 from jokva/output-data-wells-sans-vectors
WIP: Restore from data::Wells without vector dumps
2016-10-21 14:58:10 +02:00
Robert Kloefkorn
81189135bf Merge remote-tracking branch 'upstream/master' into PR/fix-wellmanager-constructor 2016-10-21 13:55:21 +02:00
Atgeirr Flø Rasmussen
a108b0fb72 Merge pull request #1090 from atgeirr/convergence-failure-problem-not-error
Convergence failure is "problem" not "error"
2016-10-21 12:49:10 +02:00
Robert Kloefkorn
ca7c3070a2 [bugfix] Make WellsManager compile with c++-11. 2016-10-21 10:43:32 +02:00
Atgeirr Flø Rasmussen
e4faa86973 Add option to enable logging (default true).
This makes it possible to avoid logging from this class in a parallel setting.
2016-10-20 22:39:08 +02:00
Andreas Lauser
ce4d7c586e RelpermDiagnostics: fix the build
this broke because EclEpsScalingPointsInfo::extractScaled() now
requires the deck and the EclipseState as additional parameters.
2016-10-20 20:01:03 +02:00
Jørgen Kvalsvik
486223f958 Restore from data::Wells without vector dumps
opm-output's data::Wells interface changed to no longer just accept a
dump of opm-core's WellState object. Update WellState to restore itself
from this new interface rather than reading the dumped vectors as-is.
2016-10-20 16:36:47 +02:00
Jørgen Kvalsvik
a52724ae97 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Atgeirr Flø Rasmussen
f889306c05 Undo premature API change adaption. 2016-10-18 15:34:53 +02:00
Atgeirr Flø Rasmussen
fb3e09fb39 Merge pull request #1085 from andlaus/opm-parser_units
consolidate the units code to opm-parser
2016-10-18 15:25:20 +02:00
Andreas Lauser
fabdfbafcb consolidate the unit system to opm-parser
since the unit code within opm-parser is now a drop-in replacement,
this simplifies things and make them less error-prone.

unfortunately, this requires quite a few PRs. (most are pretty
trivial, though.)
2016-10-10 17:50:26 +02:00
Joakim Hove
8c55e258c7 Header file moved in opm-output. 2016-10-06 14:23:47 +02:00
Jørgen Kvalsvik
3c2ebf9cfd Schedule::getGroup returns reference, not pointer 2016-10-05 15:24:14 +02:00
Atgeirr Flø Rasmussen
6a1ad6f3fe Merge pull request #1078 from andlaus/fix_initial_rs_and_rv
set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
2016-09-30 14:40:06 +02:00
Arne Morten Kvarving
0728d503b6 update petsc code
- api changes in newer versions
- do not manually destroy the preconditioner. this is, and has always
  been, owned by the ksp object and dies with its destruction.
2016-09-29 14:19:48 +02:00
Andreas Lauser
7d1b59d697 set the Rv and Rs factors to the saturated values for cells which have no gas and no oil
the purpose of this is to get a more defined behaviour when doing the
gravity correction/upstream cell determination in the flux term.

I consider this to be just a kludge, so if anyone has a better idea of
what the composition for the non-existing gas and oil phases is,
please tell me. (note that generic compositional models do not exhibit
this issue because the composition of all fluids is always fully
defined because each component is assumed to dissolve in every phase.)
2016-09-28 16:38:40 +02:00
Atgeirr Flø Rasmussen
35ce9f5884 Avoid shadowing warning by using explicit scope. 2016-09-23 15:15:17 +02:00
Atgeirr Flø Rasmussen
2cc3be1629 Forward declare structs as same to avoid warning. 2016-09-23 15:14:36 +02:00
Markus Blatt
2d115888de Zero initialize wells with no perforations.
For these wells access its well_cells might read of the bounds
an array if they are the last wells in the struct. Therefore
we cannnot initialiue first_cell and the well control is uninitialized,
to.

With this commit theses wells are now detected and theor bhp, thp, and well_rates
are initialized to zero.
2016-09-21 12:23:34 +02:00
Anders Matheson
c89b84eeed Remove unused parameter warning 2016-09-20 10:00:50 +02:00
Anders Matheson
afaa3c5669 Pass PhaseUsage to WellState::report 2016-09-20 09:41:20 +02:00
Atgeirr Flø Rasmussen
2261999c1e Merge pull request #1062 from blattms/refactor-parallel-wellsmanager
Use provided set of deactivated wells in parallel.
2016-09-19 13:42:37 +02:00
Tor Harald Sandve
fa16d6c172 use table.size() instead of read from deck. 2016-09-16 10:31:41 +02:00
Tor Harald Sandve
b317124d94 Bugfix: Let NTMISC determine number of MISC tables
Number of misc tables is given by NTMISC (MISCNUM) and not NTSFUN
(SATNUM)
2016-09-16 10:31:41 +02:00
Markus Blatt
29dc9a1880 Use an unordered_set of string to identify defunct wells.
We do not rely on the order of the set and hope that the lookup
might be faster as it prevents string comparisons.
2016-09-13 10:55:15 +02:00
Markus Blatt
60ba51aea0 Do exclude SHUT wells from lookup of deactivated wells.
This should be prevent some unnecessary find calls in the set.
2016-09-13 10:55:15 +02:00
Markus Blatt
2875b64faf Revert "Use index according to eclipse schedule to identify deactivated wells."
This reverts commit 09205dfa074af24b381595d02c15e799523ddb2b.

We cannot use the index as it might change for a well between different
report steps. Unfortunately the only persistent way to identify wells
over all report steps in the schedule seems to be the well name.
2016-09-13 10:55:15 +02:00
Markus Blatt
10bfa5dfa8 Use index according to eclipse schedule to identify deactivated wells. 2016-09-13 10:55:15 +02:00
Markus Blatt
012edac7ce Use provided set of deactivated wells in parallel.
Before this commit we tried to compute whether a well is represented on
the processor using the grid information. Due to the overlap region and
possible completion on deactivated cells of the global grid this is not
even possible. E.g. we cannot distinguish whether a completion is just
not represented on the domain of a process or the corresponding cell is
not active in the simulation.

With this commit we refactor to passing the well manager an explicit
list of name of wells that should be completely neglected. This information
can easily by computed after the loadbalancer has computed partitions.
2016-09-13 10:55:15 +02:00
babrodtk
929cc619f6 Fixed warnings 2016-09-06 07:50:02 +02:00
Pål Grønås Drange
7ff2328f3f transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Andreas Lauser
c4e5db2153 also keep track of the number of linearizations needed for the simulation 2016-08-02 14:05:14 +02:00
Andreas Lauser
2f3cdfd9e0 fix incorrect derivative of rock compressibility w.r.t. pressure
since

f(x) = 1 + 0.5*g(x)*g(x)

the derivative is

f'(x) = 0 + 2*0.5*g(x) * g'(x) = g(x)*g'(x)

note that the previous incorrect values do not affect the quality of
the obtained results (if the tolerance of the non-linear solver is
chosen to be small enough), but it may have deteriorated convergence
rates.
2016-07-19 18:19:30 +02:00
Kai Bao
b0a4387573 adding default constructor for DynamicListEconLimited 2016-07-04 16:21:55 +02:00
Kai Bao
18b76331eb addressing comments.
no functional change.
2016-06-30 16:20:38 +02:00
Kai Bao
b4fa2b4944 removing some commented lines. 2016-06-30 15:17:13 +02:00
Kai Bao
28636aad5c adding stopped wells list to DynamicListEconLimited
when well is closed due to rate economic limits, based on the auto
shut-in configuration, the well can be STOP or SHUT.

When well is closed due to all the connections are closed, it should be
SHUT.
2016-06-30 14:41:14 +02:00
Kai Bao
eb163e648c handling connection closing in DynamicListEconLimited
due to econ limits.
2016-06-30 14:41:14 +02:00
Kai Bao
c64d33fbd3 adding list_econ_limited to setupWellControls 2016-06-30 14:41:14 +02:00
Kai Bao
7dac2201bb WIP in adding class DynamicListEconLimited
to handle the closed wells and connection dynamically based on the
economic limits provied by keyword WECON
2016-06-30 14:41:14 +02:00
Markus Blatt
b5f6513520 Use NULL instead of 0 in null comparison. 2016-06-27 14:38:30 +02:00
Markus Blatt
f976c6ee9d Make wells_equal work for only one null pointer. 2016-06-27 13:29:44 +02:00
Markus Blatt
88ebfeba28 Make wells_equal work for null wells.
This is needed to run test cases without wells with debugging on.
Without this commit we get segmentation fault in an assert statement.
2016-06-27 12:21:45 +02:00
Atgeirr Flø Rasmussen
24fa367fda Merge pull request #1027 from totto82/fix_2p_equil_init
Fix two phase equil initialization
2016-06-24 14:42:48 +02:00
Tor Harald Sandve
1d7e4146ed Fixing some nitpicks 2016-06-24 13:36:05 +02:00
Atgeirr Flø Rasmussen
675bc960db Merge pull request #1043 from pgdr/remove-return-type-warn
Remove warnings (by throwing), added copyright header
2016-06-20 22:34:40 +02:00
Pål Grønås Drange
4acd859559 Using OPM_THROW to log messages, fixed Copyright headers 2016-06-20 17:20:33 +02:00
Joakim Hove
f909d071d9 Merge pull request #1041 from jokva/removal-shared_ptr-well
WellPtr and GroupPtr deprecated
2016-06-20 14:57:10 +02:00
Pål Grønås Drange
e9c2382b45 Remove [-Wreturn-type] warnings (added throw), added copyright header 2016-06-20 14:13:29 +02:00
Tor Harald Sandve
cc100a6217 Fix bug for OIL-GAS case
- Differentiate between active and canonical phase index
2016-06-20 11:14:36 +02:00
Tor Harald Sandve
3247aaa557 Fix reference pressure for oil-water problem
In opm-material the wetting phase is the reference phase for two-phase
problems i.e water for oil-water system, but for flow it is always oil.
Add oil capillary pressure value to shift the reference phase to oil
2016-06-20 10:36:24 +02:00
Tor Harald Sandve
5641876d1d Fix two phase EQUIL initialization 2016-06-20 10:36:24 +02:00
Atgeirr Flø Rasmussen
010480a7de Merge pull request #1039 from atgeirr/fix-compile-maxabs-unsigned
Avoid ambiguous calls to abs with unsigned integers.
2016-06-17 08:02:20 +02:00
Atgeirr Flø Rasmussen
d76cfbed5f Merge pull request #1038 from qilicun/equil-check
Rise up a warning if equil region has no active cells.
2016-06-16 10:02:49 +02:00
Jørgen Kvalsvik
03104f2320 WellPtr and GroupPtr deprecated
shared_ptr aliases are considered deprecated and has largely been
removed upstream (and replaced by raw pointers).
2016-06-16 09:33:43 +02:00
Atgeirr Flø Rasmussen
f5d1cbfb75 Make specialization for all unsigned integer types. 2016-06-16 08:47:21 +02:00
Bård Skaflestad
e444a03f34 Merge pull request #1037 from atgeirr/add-phasepresence-ops
Add operator== and operator!= to PhasePresence.
2016-06-15 19:56:11 +02:00
Bård Skaflestad
c5c5893591 Merge pull request #1040 from atgeirr/fix-linsolverfactory-default-solver
Set default solver depending on configuration.
2016-06-15 17:34:41 +02:00
Atgeirr Flø Rasmussen
7c45264a77 Merge pull request #1034 from qilicun/minor-format-change
Minor format changes
2016-06-15 15:10:57 +02:00
Atgeirr Flø Rasmussen
c6c452765c Merge pull request #1029 from blattms/make-ownermask-accessible
Make ParallelIstlInformation::ownerMask_ accessible.
2016-06-15 15:08:58 +02:00
Atgeirr Flø Rasmussen
854296d710 Address review comments. 2016-06-15 15:01:45 +02:00
Atgeirr Flø Rasmussen
22c2093426 Set default solver depending on configuration. 2016-06-15 14:32:00 +02:00
Atgeirr Flø Rasmussen
06ebdc9268 Avoid ambiguous calls to abs with unsigned integers. 2016-06-15 10:55:42 +02:00
Liu Ming
1231594600 it should be the same number in EQLNUM. 2016-06-15 16:53:51 +08:00
Liu Ming
a9c2128daa use correct region number. 2016-06-15 16:52:32 +08:00
Liu Ming
a920b43e21 Rise up a warning if equil region has no active cells. 2016-06-15 15:40:38 +08:00
Atgeirr Flø Rasmussen
d065a2c095 Make new ops const. 2016-06-15 09:20:19 +02:00
Atgeirr Flø Rasmussen
b0c6e43cf8 Add operator== and operator!= to PhasePresence.
This makes it simpler to write code debugging or inspecting changed phase configurations.
2016-06-15 08:57:20 +02:00
Liu Ming
3179a1bf5d fix indentation issue. 2016-06-15 11:26:06 +08:00
Liu Ming
f0900e6752 unify output. 2016-06-15 11:24:20 +08:00
Arne Morten Kvarving
33b29e9991 Revert "Check for HAVE_UMFPACK in LinearSolverFactory"
This reverts commit f54c74db0637640f5fb224fab243b294cd034f15.
2016-06-13 10:43:21 +02:00
Liu Ming
dd26ef620c add "\n" at the end of the message. 2016-06-13 13:55:01 +08:00
Liu Ming
5fe0452bd5 minor format changes 2016-06-13 13:49:58 +08:00
Jørgen Kvalsvik
84b0c8bc59 Check for HAVE_UMFPACK in LinearSolverFactory
Check for the right preprocessor define to enable umfpack support.
Matches the directive set in config.h
2016-06-10 17:00:34 +02:00
Joakim Hove
52752ea1e4 Merge pull request #1016 from jokva/refactor-output-restart
Breaking opm-core dependency in opm-output; new summary implementation
2016-06-10 13:15:34 +02:00
Markus Blatt
7762974354 Make ParallelIstlInformation::ownerMask_ accessible.
This is needed in opm-simulator to calculate the parallel euclidian
product of the saturations.
2016-06-08 11:02:13 +02:00
Atgeirr Flø Rasmussen
ec3d7e7702 Merge pull request #1028 from qilicun/format-message
Format message
2016-06-08 10:57:31 +02:00
Liu Ming
35f2559b6c Output file name and line number. 2016-06-08 09:45:32 +02:00
Liu Ming
73ed34043e add a blank line. 2016-06-08 09:45:04 +02:00
Markus Blatt
008c5b7c8f Added utilities to compute a real L-infinity norm in parallel. 2016-06-07 15:00:57 +02:00
Atgeirr Flø Rasmussen
2d746e8c54 Merge pull request #1024 from andlaus/lad_to_dad
rename some variables from "Lad" to "Eval" (was: to "Dad")
2016-06-07 11:43:42 +02:00
Andreas Lauser
8a6243962d rename some variables from "*Lad" to "*Eval"
this was an involuntary omission in the "local AD" to "dense AD"
rename...
2016-06-07 11:14:11 +02:00
Tor Harald Sandve
2a3680f105 Fix to handle cases without DISGAS and VAPOIL
- adds boolean has_disgas and has_vapoil to initHydroCarbonState()
2016-06-07 08:18:09 +02:00
Jørgen Kvalsvik
254bb2e1e6 Make struct wells unique member of WellState 2016-06-06 12:42:54 +02:00
Jørgen Kvalsvik
ec28c46842 WellState::report() to make opm-output Well data 2016-06-06 12:40:44 +02:00
Andreas Lauser
807261b084 rename "local AD" to "dense AD" 2016-06-03 21:57:48 +02:00
Atgeirr Flø Rasmussen
2faff12696 Merge pull request #1019 from qilicun/log-more-messages
Write more messages into OpmLog.
2016-05-26 11:20:49 +02:00
Liu Ming
7d0833f2d2 make toString() method as static. 2016-05-24 09:07:28 +08:00
Liu Ming
ca030efeb9 simplify the implementation. 2016-05-23 10:48:51 +08:00
Liu Ming
407c7223f6 fix indentation and messages. 2016-05-23 10:47:26 +08:00
Liu Ming
1cb66d2b4f write well related information into OpmLog. 2016-05-20 16:14:16 +08:00
Liu Ming
8c573d4ef1 Add enum to string functions. 2016-05-20 16:13:37 +08:00
Liu Ming
9979c505b3 log the warning messages to OpmLog. 2016-05-20 14:27:38 +08:00
Liu Ming
d2143970fc Cleanup the prefix. 2016-05-20 08:54:12 +08:00
Atgeirr Flø Rasmussen
d1d77649ec Merge pull request #1011 from qilicun/format-output-relperm-diagnostics
Unify output messages format.
2016-05-19 15:06:52 +02:00
Liu Ming
3e3c028581 remove the prefix from raw string, using OpmLog format. 2016-05-19 10:07:36 +08:00
Liu Ming
8564c7b6e9 remove internal counter. 2016-05-19 09:47:57 +08:00
Liu Ming
78a5afde46 remove internal messages container. 2016-05-19 09:28:34 +08:00
Liu Ming
60256d5976 use tag for terminal output control. 2016-05-19 09:22:03 +08:00
Tor Harald Sandve
79fd23700e Fixing PR comments
- Use std::vector<HydroCarbonState> instead of std::vector<int>
- Use the initializer list to initialize members in constructors
- Fix indent
- Return OilOnly for cases without gas to avoid potential trouble
further down the line
2016-05-13 12:49:45 +02:00
Tor Harald Sandve
2a40563c7b Add method for calculating the initial hydroCarbonState
The following hydroCarbonState are used
    enum HydroCarbonState {
        GasOnly = 0,
        GasAndOil = 1,
        OilOnly = 2
    };
Cells almost filled with water are treated as a GasAndOil state
2016-05-13 09:10:13 +02:00
Tor Harald Sandve
592450777e Add member hydroCarbonState to the BlackoilState
The hydroCarbonState is used to store the hydroCarbonState
  State 1: Gas only
  State 2: Gas and Oil
  State 3: Oil only
An empty vector is return at initialization as
no default values are provided by the blackoilstate.
2016-05-12 10:32:39 +02:00
Liu Ming
363b9a3795 unify the format. 2016-05-10 14:52:13 +08:00
Markus Blatt
9f99484347 Prevent dereferencing the end iterator.
This happened for empty regions and surfaced when compiling
with "-D_GLIBCXX_DEBUG  -DDEBUG -DGLIBCXX_FORCE_NEW".
2016-05-06 21:40:33 +02:00
babrodtk
cae4d39a86 Code cleanup 2016-04-26 07:48:58 +02:00
babrodtk
eabb2e1f64 Runs first iterations of two-phase test case plausibly 2016-04-26 07:48:58 +02:00
babrodtk
dcf9c6a067 Checkpoint 2016-04-26 07:48:58 +02:00
Pål Grønås Drange
75936c1d9c Using getInputGrid API from Parser, changed GridManager to no longer accept Deck in constructor 2016-04-20 08:51:10 +02:00
Andreas Lauser
90ff56503d adapt code w.r.t. the removal of the tags for Opm::Evaluation 2016-04-15 18:48:47 +02:00
Tor Harald Sandve
17aed6c181 BUGFIX. Comparison with null pointer 2016-04-15 12:56:04 +02:00
Atgeirr Flø Rasmussen
486633fded Merge pull request #997 from totto82/Fix_guiderates
Bugfix in setup guiderates
2016-04-15 08:46:17 +02:00
jokva
8b71d81a14 Merge pull request #994 from pgdr/use-eclipse3dproperties
@bska We're merging as-is for now, and we've made a note to replace `shared_ptr` and maintain (and document!) this property. Those changes will obviously be internal and you won't notice a difference.
2016-04-13 11:01:43 +02:00
Tor Harald Sandve
ddb7ebe114 Bugfix in setup guiderates
- Handle shut wells
- Use the groups control type to determine which phase to calculate
the guide rates from. i.e for a ORAT controlled group, calculate the
guide rates from the oil phase well potentials etc.
2016-04-12 13:05:56 +02:00
Pål Grønås Drange
f1a31ca5e4 Using API get3DProperties() 2016-04-11 15:13:38 +02:00
Pål Grønås Drange
8ce248bc63 Updated opm-core to use new EclipseState API in opm-parser 2016-04-08 16:30:01 +02:00
Atgeirr Flø Rasmussen
9558e155c6 Merge pull request #987 from qilicun/refactor-relpermDiagnostics
Refactor relperm diagnostics using OpmLog functionalities.
2016-04-04 15:04:44 +02:00
Tor Harald Sandve
092d7c44ff Minor fixes based on PR comments
- fix comments, typos add missing reference arguments.
2016-04-04 08:10:24 +02:00
Liu Ming
c5925c4dd9 mistake: count warning as error. 2016-04-02 11:53:36 +08:00
Liu Ming
c2bcc9cea8 do not write error summary twice. 2016-04-02 11:45:18 +08:00
Tor Harald Sandve
9c4015dae9 Calculate default guide rates using the well potentials
The default guide rates are caculated using the well potentials.
The well potentials are calculated in the simulator and given as input
to the wellsManager.
2016-04-01 15:00:21 +02:00
Liu Ming
939085155e refactor relperm diagnostics using OpmLog functions. 2016-04-01 12:27:03 +08:00
Tor Harald Sandve
0f6a821903 BUGFIX. Call setupGuideRates before groupcontrol is applied 2016-03-31 09:32:09 +02:00
Atgeirr Flø Rasmussen
734fbfc38d Implement direct fast field access. 2016-03-29 10:46:14 +02:00
Joakim Hove
a256dc0e5d Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
chflo
301653de83 Changed include due to OpmLog changed path 2016-03-17 15:59:50 +01:00
Liu Ming
395ff9a221 use two slashes for comments inside functions. 2016-03-11 17:19:39 +08:00
Liu Ming
26b4265427 use error variable. 2016-03-11 17:15:32 +08:00
Liu Ming
40c98b91e7 fix saturation family bug. 2016-03-11 17:13:40 +08:00
Liu Ming
7cecb10edf fix indentation and fluid system issues. 2016-03-11 17:03:31 +08:00
Liu Ming
8cea813d57 Merge remote branch 'remotes/opm/master' into solvent-diagnostics 2016-03-10 14:38:22 +08:00
Liu Ming
df67ef2e75 Add solvent saturation functions support. 2016-03-10 14:32:43 +08:00
Liu Ming
04946d7526 Add solvent to fluid system. 2016-03-10 11:17:18 +08:00
Andreas Lauser
ccc1ca0b76 BlackoilPropertiesFromDeck: properly calculate the Rs and Rv values for viscosity
the dissolution factors used for the viscosities were always zero so
far. this was not discovered earlier because flow is completely
unaffected by this since the only place where this class is used in
flow is the equilibration code and the equilibration code does not
need phase viscosities.

thanks to @atgeirr for finding this.
2016-03-08 11:07:20 +01:00
Andreas Lauser
a9f758a8e7 replace the blackoil PVT classes by the ones of opm-material
the opm-material classes are the ones which are now used by
opm-autodiff and this patch makes it much easier to keep the opm-core
and opm-autodiff results consistent. Also, the opm-material classes
seem to be a bit faster than the opm-core ones (see
https://github.com/OPM/opm-autodiff/pull/576)

I ran the usual array of tests with `flow`: SPE1, SPE3, SPE9 and Norne
all produce the same results at the identical runtime (modulo noise)
and also "Model 2" seems to work.
2016-03-05 19:11:44 +01:00
Joakim Hove
e3106175e7 Merge pull request #966 from jokva/initconfig-equil
Remove Equil + EquilWrapper, replace with upstream
2016-03-04 18:18:57 +01:00
Atgeirr Flø Rasmussen
d6c0e771ca Only .cpp files should include config.h. 2016-03-04 09:10:19 +01:00
Atgeirr Flø Rasmussen
6b2f1d1507 Include template implementation file. 2016-03-04 09:09:52 +01:00
Liu Ming
355f349470 make grid as template parameter. 2016-03-04 09:09:38 +08:00
Jørgen Kvalsvik
dd77a39d95 Remove Equil + EquilWrapper, replace with upstream
Upstream (opm-parser) now provides a better Equil + EquilRecord, and
simultaneously deprecated EquilWrapper. This patch fixes the resulting
breakage.

One important note: The new Equil does not expose integers for live
oil/wet gas initialization procedure methods, but rather booleans
through constRs/constRv methods. This is how the variable behaves
according to the Eclipse reference manual (EQUIL keyword section).

Code has been updated to reflect this.
2016-03-01 09:59:54 +01:00
Jørgen Kvalsvik
33f8446a4e Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2016-02-26 11:49:40 +01:00
Joakim Hove
016f300c9f Replaced TwoPhaseState -> SimulatorState 2016-02-22 22:03:43 +01:00
Joakim Hove
4bab7b7f4c Added free function initSaturation().
The state argument is of type SimulatorState& - and no longer a template
parameter.
2016-02-22 22:03:41 +01:00
Joakim Hove
84485dde53 Changes in SimulatorState:
1. Added method setCellDataComponent()
 2. Removed setFirstSat()

Implemented saturation initialisation using setCellDataComponent()
instead of setFirstSat(). This way the template<class Props> has been
removed from the SimulatorState class.
2016-02-22 08:42:04 +01:00
Andreas Lauser
68be58faa9 fix some recent deprecation warnings
these are caused by OPM/opm-parser#687. While they are harmless, they
are certainly annoying. (that's their point!)
2016-02-21 17:29:43 +01:00
Atgeirr Flø Rasmussen
b9d44c1f4b Merge pull request #957 from joakim-hove/cmp-template
Using template for cmp::vector_equal()
2016-02-19 11:41:07 +01:00
Joakim Hove
c40ed3ece6 Using template for cmp::vector_equal() 2016-02-19 07:57:02 +01:00
Jørgen Kvalsvik
04d605159f Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-18 08:50:26 +01:00
Joakim Hove
6f3c4fb618 Merge pull request #956 from jokva/remove-unused-wrapper
Remove unused Wrapper includes from Deck/Utility
2016-02-17 17:10:43 +01:00
Jørgen Kvalsvik
9836712782 Remove unused Wrapper includes from Deck/Utility 2016-02-17 14:46:15 +01:00
Joakim Hove
83a32061f7 Removed opm_memcmp_double() - use cmp from common. 2016-02-14 21:41:51 +01:00
Bård Skaflestad
83f474f118 Merge pull request #946 from jokva/clean-up-header
Improve includes from opm-parser
2016-01-26 15:58:25 +01:00
Jørgen Kvalsvik
b0692304d5 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-01-26 13:30:58 +01:00
Liu Ming
cd55b1f4b5 Omit some usages of to_string function. 2016-01-25 11:18:56 +08:00
Liu Ming
e227b6bb96 change headline to saturation functions diagnostics. 2016-01-25 11:00:23 +08:00
Liu Ming
6aca45b576 Format output and add SATNUM for scaled saturation endpoints. 2016-01-25 10:58:50 +08:00
Liu Ming
aae9169cff fix bugs: counter warning as error. 2016-01-25 09:38:55 +08:00
Liu Ming
675f730b01 Merge remote branch 'remotes/opm/master' into update_relperm_diagnostics
Conflicts:
	opm/core/props/satfunc/RelpermDiagnostics.cpp
2016-01-22 13:04:01 +08:00
Jørgen Kvalsvik
50c1bbdc85 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2016-01-21 09:42:51 +01:00
Liu Ming
6efd22c637 fix typo. 2016-01-21 16:10:31 +08:00
Liu Ming
8b4dda67ed remove comments. 2016-01-21 14:04:01 +08:00
Liu Ming
ee71a59ece make const as more as possible 2016-01-21 14:01:02 +08:00
Liu Ming
a7238d0a7d saturation region should start with 1. 2016-01-21 13:47:57 +08:00
Liu Ming
4daa70292e fix formatting and grammar issues. 2016-01-21 13:45:32 +08:00
Liu Ming
a7aa2cf2c3 Add region number for output and output summary msg to streamLog 2016-01-18 11:10:51 +08:00
Liu Ming
598f456a29 change error to warning due to eclipse manual. 2016-01-18 11:10:36 +08:00
Liu Ming
30ace9cdcc Add region number for unscaled endpoints. 2016-01-18 11:10:26 +08:00
Liu Ming
708da37250 1. use scaled_messages_ to store scaled endpoints infor.
2. format the terminal output messages.
2016-01-18 11:10:14 +08:00
Liu Ming
6753c84547 Add counter for numbering warning, error, proble, and bugs. 2016-01-18 11:10:04 +08:00
Liu Ming
2f19d0bba6 For that break clipse rules should raise an error. 2016-01-18 11:09:50 +08:00
Liu Ming
5c271db842 add cell index for scaled endpoints error messages output. 2016-01-18 11:09:02 +08:00
Joakim Hove
4a95eb2917 Merge pull request #939 from joakim-hove/table-column
Table column
2016-01-08 15:29:10 +01:00
Joakim Hove
718ec8e791 Changed to use new table api from opm-parser. 2016-01-08 14:47:09 +01:00
chflo
c02966f6bc OPM-163: Use EclipseState instead of Deck for PvtInterface 2016-01-07 16:36:28 +01:00
Atgeirr Flø Rasmussen
462b4ca996 Merge pull request #934 from totto82/residualSaturations
Add method to access the materialLawManager
2015-12-11 13:08:39 +01:00
Tor Harald Sandve
1deadd257f Add method to access the materialLawManager 2015-12-11 12:50:54 +01:00
Liu Ming
4d4051ea2b make the constructor as explicit. 2015-12-09 16:51:07 +08:00
Liu Ming
db103c7868 Merge remote branch 'remotes/opm/master' into relpermDiagnostics
Conflicts:
	CMakeLists_files.cmake
2015-12-08 16:08:02 +08:00
Liu Ming
35dff82700 Use OpmLog to output messages.
return messages and opmLog.
2015-12-02 10:58:06 +08:00
Liu Ming
96b012d9b1 remove unused functions and comments, add documentations to diagnosis(). 2015-11-30 10:52:34 +08:00
Liu Ming
a96f9b0d3b 1. remove eclState from phaseCheck_ function.
2. rename messager_ to messages_.
3. change 0 and 1 to 0.0 and 1.0
4. change unsigned to int.
2015-11-30 10:42:57 +08:00
Liu Ming
324b562d3d reorder function and make more whitespace. 2015-11-30 10:26:59 +08:00
Liu Ming
45807a392d make enum as private members. 2015-11-30 10:20:43 +08:00
Liu Ming
b4b23bfab0 1. Move implemtation to .cpp file.
2. Delete constructors.
3. Add config.h
2015-11-30 10:11:43 +08:00
Liu Ming
b30d04f5fa Fix bugs and remove reptetitive messagers. 2015-11-27 10:47:04 +08:00
Liu Ming
f61ecdd777 Add NEXUS scaled endpoints consistency check. 2015-11-26 16:32:17 +08:00
Liu Ming
a19c0d49b7 Check scaled endpoints mobility. 2015-11-26 15:40:40 +08:00
Liu Ming
7fa569bc91 add endpoints scaling consistency check. 2015-11-26 15:22:51 +08:00
Tor Harald Sandve
f24dcf1957 Use cell depths based on averaging cell corners 2015-11-24 10:17:12 +01:00
Liu Ming
693ac24483 make use of fluidSystem. 2015-11-20 11:04:50 +08:00