Commit Graph

2983 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
8daa0f440c Merge pull request #1125 from jokva/reduce-deck-use-relperm-diagnostics
Don't rely on Deck for checkTable and checkPhase
2017-01-09 09:35:25 +01:00
Atgeirr Flø Rasmussen
e2023ed38e Merge pull request #1124 from jokva/read-rock-from-eclipsestate
Read ROCK from EclipseState, not Deck
2017-01-09 09:33:47 +01:00
Atgeirr Flø Rasmussen
898ca1b7e0 Merge pull request #1131 from atgeirr/increase-iters-for-equil
Increase max iterations for capillary curve inversion.
2017-01-09 09:31:14 +01:00
Atgeirr Flø Rasmussen
be26c072e1 Increase max iterations for capillary curve inversion.
Triggered by a new two-phase case.
2017-01-06 15:24:08 +01:00
Tor Harald Sandve
5ac89ad8a7 Make it optinal to apply SWATINIT
The reasoning behind this to make it possible to initialize the case
without SWATINIT in order to compute the same defaulted THPRES values as
Ecl. The initialization needs to be re-computed to account for SWATINIT
in the simulations.
2017-01-02 15:10:09 +01:00
Atgeirr Flø Rasmussen
fdd81eacaa Remove unused Deck function argument. 2017-01-02 09:47:57 +01:00
Atgeirr Flø Rasmussen
2e49273da7 Fix order of initialization. 2016-12-29 13:55:42 +01:00
Jørgen Kvalsvik
bca5c8e8de 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
ad4033b9dc Read ROCK from EclipseState, not Deck 2016-12-20 12:24:27 +01:00
jokva
ec060d513b Merge pull request #1123 from jokva/read-pressure-swat-sgas-from-es
Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
2016-12-20 10:01:13 +01:00
Jørgen Kvalsvik
8cc624fd0d 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
Tor Harald Sandve
2a3a825895 Store whether timestep failed or not
Used in flow ebos to tell the simulator to recalculate the cached
quantities for failed timesteps.
2016-12-19 10:52:59 +01:00
Jørgen Kvalsvik
59cc0a1635 Use Density from EclipseState 2016-12-15 16:06:46 +01:00
Jørgen Kvalsvik
f0b4c4f390 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
b5b3507cb0 AdaptiveTimeStepping: fix stupid (but harmless) mistake in the sub-step info message
that was a copy-and-pasto: newton iterations = linearizations - 1
2016-12-03 15:04:32 +01:00
Andreas Lauser
ce02a4bb92 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
8d129d7172 Merge pull request #1113 from atgeirr/remove-grid-stuff
Move grid things to opm-grid.
2016-11-29 21:04:14 +01:00
Atgeirr Flø Rasmussen
c7cc24385a Remove files moved to opm-grid. 2016-11-29 13:25:22 +01:00
Atgeirr Flø Rasmussen
602f3252e6 Merge pull request #1103 from GitPaean/fixing_warning
warning fixed related to petsc
2016-11-23 12:37:31 +01:00
Jørgen Kvalsvik
cadb14c9e8 Ask for reference depth at timestep. 2016-11-22 14:22:09 +01:00
Atgeirr Flø Rasmussen
1e462f4c04 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
4427c85d77 a flag to WellCollection whether group control active 2016-11-17 16:26:19 +01:00
Bård Skaflestad
1429046029 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
1d98c3b8ca 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
fda1016532 warning fixed related to petsc 2016-11-16 15:35:35 +01:00
Kai Bao
6e4f9e708e 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
df920e4970 Merge pull request #1101 from jokva/changes-in-grouptree
GroupTree interface changed upstream
2016-11-16 13:26:58 +01:00
Kai Bao
c3b00dc7fd fixing the comments.
No change in the functions and results.
2016-11-16 11:40:10 +01:00
Kai Bao
708bfd169b addressing a few comments. 2016-11-16 09:51:06 +01:00
Kai Bao
bf2f9b3f06 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
55eec0b2ed checking whehter need to update before updateWellTargets. 2016-11-15 13:56:49 +01:00
Kai Bao
f9f5bacee4 cleaning up more unused flag from WellsGroup 2016-11-11 11:29:12 +01:00
Kai Bao
91b8c872eb removing a few not-used function with the new strategy. 2016-11-10 17:50:30 +01:00
Kai Bao
95997e208c 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
085785bf26 adding function findWellNode() to WellCollection
to return the WellNode* instead of WellGroupInterface*
2016-11-10 16:28:40 +01:00
Kai Bao
b319e1a75d cleaning up and adding more comments for better understanding.
No functional change.
2016-11-10 16:28:40 +01:00
Kai Bao
3e8b1bdb82 applying the efficiency factor to VREP control. 2016-11-10 16:28:40 +01:00
Kai Bao
76a2108ea9 adding VREP injection support.
not handling multiple injection wells for moment.
2016-11-10 16:28:40 +01:00
Kai Bao
88181f4948 using variable only_group instead of hard-coded false.
when applying group production control.
2016-11-10 16:28:40 +01:00
Kai Bao
06d380df51 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
2b289f8964 adding basic support for group injection control.
more testing will be required later.
2016-11-10 16:28:40 +01:00
Kai Bao
63e5755fa9 applying efficiency factor to the group control. 2016-11-10 16:28:40 +01:00
Kai Bao
a0e1fcf89d 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
013c907e66 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
2e135388a6 refactoring function updateWellProductionTargets()
To handle different types of control mode.
2016-11-10 16:28:40 +01:00
Kai Bao
b8ac674f9b 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
65d61d1c4f output cleanining up 2016-11-10 16:28:40 +01:00
Kai Bao
352c185edf 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
32e9b26ce8 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
fec53a1af5 fixing the comilation problem from rebasing. 2016-11-10 16:28:40 +01:00
Kai Bao
e183ab6ccd revising injectionGuideRate and productionGuideRate
for WellNode. It gives a better logic.
2016-11-10 16:28:40 +01:00
Kai Bao
7295f26f54 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
46a9a62741 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
6942a986da 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
e28715b601 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
a438680fb0 putting more things in the prototyping test. 2016-11-10 16:28:40 +01:00
Kai Bao
0d5a86cc71 keeping adding group control related in. 2016-11-10 16:28:40 +01:00
Kai Bao
f628064884 keeping putting group controlling in. 2016-11-10 16:28:40 +01:00
Kai Bao
4214cfec83 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
36bedfcf67 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
3bdf0eae11 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
c5958da6c9 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
a0d3ceff62 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
f79fe1f7ad 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
48cbbdee19 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
630d5477d8 fixed: use correct indices for well state completion data 2016-11-04 16:40:09 +01:00
Joakim Hove
e348baa6c7 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
5376fb618d 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
23ef9dce5c Read phase information from EclipseState.runspec 2016-11-01 11:37:27 +01:00
Atgeirr Flø Rasmussen
5d33f0d900 Merge pull request #1095 from atgeirr/fix-diag-twophase
Fix saturation family diagnostics for two-phase case.
2016-10-28 10:41:17 +02:00
Tor Harald Sandve
d96b7193ee Make it possible to set initial timestep
Default is kept at -1.0. I.e. this PR does not change the current
behaviour.
2016-10-28 09:03:29 +02:00
Andreas Lauser
1387c5f834 use accessor methods to access the value and derivatives of Evaluation objects 2016-10-27 16:53:52 +02:00
Atgeirr Flø Rasmussen
1ce4c47b09 Fix saturation family diagnostics for two-phase case. 2016-10-27 11:58:50 +02:00
Atgeirr Flø Rasmussen
9dfd16cffb Adapt to changed data::Wells API. 2016-10-25 10:41:16 +02:00
Atgeirr Flø Rasmussen
125d1696d6 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
ad5d98664c 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
d082d977fd Merge remote-tracking branch 'upstream/master' into PR/fix-wellmanager-constructor 2016-10-21 13:55:21 +02:00
Atgeirr Flø Rasmussen
cc72693348 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
044d47b9fb [bugfix] Make WellsManager compile with c++-11. 2016-10-21 10:43:32 +02:00
Atgeirr Flø Rasmussen
069b65a635 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
Atgeirr Flø Rasmussen
e38b9ffcb7 Classify convergence failure as a "problem" not "error". 2016-10-20 22:36:20 +02:00
Atgeirr Flø Rasmussen
8e8b624d4c Ensure logging only on first rank. 2016-10-20 22:36:20 +02:00
Andreas Lauser
7d9097490b 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
e98d6204ad 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
1057e6d3d0 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Atgeirr Flø Rasmussen
33872cfb4a Undo premature API change adaption. 2016-10-18 15:34:53 +02:00
Atgeirr Flø Rasmussen
f72832dbd6 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
07707ecc30 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
5fdb868526 Header file moved in opm-output. 2016-10-06 14:23:47 +02:00
Jørgen Kvalsvik
29ba3465b4 Schedule::getGroup returns reference, not pointer 2016-10-05 15:24:14 +02:00
Markus Blatt
a44500623a Log the message of exceptions in the catch clause of adaptive time stepper. 2016-10-04 10:33:56 +02:00
Atgeirr Flø Rasmussen
22f7d1ec32 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
Atgeirr Flø Rasmussen
dda280fcf9 Merge pull request #1080 from akva2/units_constexpr
changed: generate unit type conversion constants on compile-time
2016-09-30 13:42:37 +02:00
Arne Morten Kvarving
04fe79aa23 changed: generate unit type conversion constants on compile-time
as a bonus it avoids unused variable warnings in compile
units only using parts of the conversion units.
2016-09-30 11:35:28 +02:00
Tor Harald Sandve
f202f2948c Add initalizer for adaptiveTimeStepper that uses values from TUNING
Some of the tuning values from the TUNING keywords is used to tune the
timestepping.
2016-09-30 10:36:30 +02:00
Atgeirr Flø Rasmussen
a6995fdf3e Merge pull request #1073 from blattms/only-write-substeps-in-adaptive-time-stepper
Only call writeTimeStep for real sub steps.
2016-09-29 17:48:12 +02:00
Atgeirr Flø Rasmussen
fe19c589c4 Merge pull request #1071 from totto82/moveBlackoilstate
Remove Compat.hpp
2016-09-29 17:32:57 +02:00
Arne Morten Kvarving
e8c3389b80 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
3647834b96 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
Tor Harald Sandve
60da3d9213 Remove Compat.hpp
Compat.hpp is moved to opm-simulators
2016-09-27 08:39:26 +02:00
Markus Blatt
ac37eef547 Only call writeTimeStep for real sub steps.
Previously, we also called it when the full time step was done.
As the simulator writes that information anyway and we cannot call
it a sub step, we omit the final write in the adaptive time stepper.
2016-09-26 11:51:17 +02:00
Atgeirr Flø Rasmussen
08b90e8acd Merge pull request #1064 from totto82/hardcodedTimestepping
Timestepper based on user input
2016-09-26 08:53:36 +02:00
Atgeirr Flø Rasmussen
74e9925769 Avoid shadowing warning by using explicit scope. 2016-09-23 15:15:17 +02:00
Atgeirr Flø Rasmussen
cd75174650 Forward declare structs as same to avoid warning. 2016-09-23 15:14:36 +02:00
Tor Harald Sandve
ff81d48551 Guard against non-existing file 2016-09-21 13:46:31 +02:00
Markus Blatt
f426a03801 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
Tor Harald Sandve
f1bdd67438 Small fixes hardcodedTimestepControl
-- avoid using eof()
-- add comments
-- no longer assumes two lines of comments.
-- revert change to default value for timestep.initial_step_length
-- make contructer explicit
-- pass reference
2016-09-21 09:39:36 +02:00
Tor Harald Sandve
6e9bb4cf0b Timestepper based on userInput
A new timestepper that reads timesteps from a file generated using
ecl_summary "DECK" TIME
and applies it to the simulator

Also a parameter timestep.initial_step_length (default 1 day) is added
to controll the frist timestep.
2016-09-21 09:39:36 +02:00
Anders Matheson
18a5c0b748 Remove unused parameter warning 2016-09-20 10:00:50 +02:00
Anders Matheson
4186a37563 Pass PhaseUsage to WellState::report 2016-09-20 09:41:20 +02:00
Atgeirr Flø Rasmussen
cf16b0affe 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
a1058d45ea use table.size() instead of read from deck. 2016-09-16 10:31:41 +02:00
Tor Harald Sandve
da29e292b5 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
82822160af 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
21de431eb1 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
c4f0539534 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
05add1884f Use index according to eclipse schedule to identify deactivated wells. 2016-09-13 10:55:15 +02:00
Markus Blatt
17f93ce3bd 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
Atgeirr Flø Rasmussen
474128fe2d Merge pull request #1060 from babrodtk/output_writer_celldata
Output writer cell data
2016-09-08 09:55:14 +02:00
Joakim Hove
19f6d540fc Merge pull request #1059 from joakim-hove/create-eclipsegrid
Create eclipsegrid
2016-09-07 11:11:10 +02:00
Joakim Hove
8666c8b687 UgGridHelpers::createEclipseGrid( )
- A new function createEclipsegrid has been added to the UgGridHelpers
  namespace.

- The UnstructuredGrid C structure has been augmented with a new member:
  double * zcorn which can be used to hold a copy of the zcorn
  value *after* minpv induced modifications.
2016-09-07 10:56:29 +02:00
babrodtk
466e721e0b Fixed warnings 2016-09-06 07:50:02 +02:00
Joakim Hove
b7bb01b77e shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-09-03 17:49:46 +02:00
babrodtk
d71aceff0b Initial version for outputting cell data 2016-09-01 14:37:41 +02:00
Joakim Hove
9615f0e9d7 Using { .. } initialization. 2016-08-31 09:55:28 +02:00
Pål Grønås Drange
2a773b735e transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Andreas Lauser
d3ff659437 also keep track of the number of linearizations needed for the simulation 2016-08-02 14:05:14 +02:00
Atgeirr Flø Rasmussen
a6f08d13d5 Merge pull request #1052 from andlaus/pass_timer_instead_of_dt
pass the timer object instead of the time step size to the simulators
2016-08-02 11:05:33 +02:00
Bård Skaflestad
bc0977ec3d Merge pull request #1054 from qilicun/fix-output-well-iterations
Drop useage of std::numeric_limits
2016-07-22 00:47:23 +02:00
Andreas Lauser
25c4a8c156 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
Liu Ming
65c7a2c197 fix indentation. 2016-07-14 10:30:20 +08:00
Liu Ming
a792c29f00 drop useage of std::numeric_limits 2016-07-14 10:27:13 +08:00
Andreas Lauser
ff899f3c53 pass the timer object instead of the time step size to the simulators 2016-07-05 12:23:55 +02:00
Kai Bao
6f8acf49f8 adding default constructor for DynamicListEconLimited 2016-07-04 16:21:55 +02:00
Kai Bao
1fc189065c adding a initialStep() function to SimulatorTimer
to indicate if the current step is the inital step.
2016-07-04 11:12:53 +02:00
Kai Bao
c58a0fce43 addressing comments.
no functional change.
2016-06-30 16:20:38 +02:00
Kai Bao
30bc54ba4a removing some commented lines. 2016-06-30 15:17:13 +02:00
Kai Bao
4b4492e877 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
a07f628469 handling connection closing in DynamicListEconLimited
due to econ limits.
2016-06-30 14:41:14 +02:00
Kai Bao
c7c38374ec adding list_econ_limited to setupWellControls 2016-06-30 14:41:14 +02:00
Kai Bao
bc1fb8e477 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
Atgeirr Flø Rasmussen
9c6eeae068 Merge pull request #1045 from qilicun/time-messages-to-PRT-file
Change adaptive time stepping message type to OpmLog::note
2016-06-30 09:19:49 +02:00
Liu Ming
50573d1168 output well iterations if it is a valid number. 2016-06-30 09:03:30 +08:00
Liu Ming
2c25bb8262 Add space. 2016-06-28 15:26:06 +08:00
Liu Ming
745666468f output well iterations and non-linear iterations. 2016-06-28 13:40:32 +08:00
Markus Blatt
cd32e65632 Use NULL instead of 0 in null comparison. 2016-06-27 14:38:30 +02:00
Markus Blatt
7d97ef7e4a Make wells_equal work for only one null pointer. 2016-06-27 13:29:44 +02:00
Markus Blatt
f66f699fca 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
2177aa745e 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
fd049a6962 Fixing some nitpicks 2016-06-24 13:36:05 +02:00