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
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
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
Jørgen Kvalsvik
3bde655e12
Read phase information from EclipseState.runspec
2016-11-01 11:37:27 +01:00
Jørgen Kvalsvik
3c2ebf9cfd
Schedule::getGroup returns reference, not pointer
2016-10-05 15:24:14 +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
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
1cb66d2b4f
write well related information into OpmLog.
2016-05-20 16:14:16 +08:00
babrodtk
9458fcc498
Fixed several compiler warnings
2015-08-19 13:12:14 +02:00
babrodtk
a743efe819
Refactoring
2015-08-19 13:12:14 +02:00
babrodtk
83f6b02941
More integration of VFP tables
2015-08-19 13:10:48 +02:00
babrodtk
f320b04c4d
Initial integration of VFP
2015-08-19 13:10:48 +02:00
Atgeirr Flø Rasmussen
24f91aa248
Use the correct (new) method from the Group class for group RESV.
...
Production controls now are no longer initialised from injection control data.
2015-08-13 10:21:24 +02:00
Tor Harald Sandve
82eafbb510
Renaming well is shut to well is stopped.
...
Rename the the meaning for shut as whats used in Eclipse.
STOP: Well stopped off above the formation. I.e. allow for flow in the
well.
SHUT: Well completely isolated from the formation. The well is removed
from the well list.
2015-01-09 09:10:10 +01:00
Joakim Hove
cbff4612a3
ControlMode is left undefined if it unset in deck.
2014-10-14 12:34:58 +02:00
Andreas Lauser
f360562aee
remove EclipseGridParser compatibility methods from all classes
2014-05-21 11:22:43 +02:00
Joakim Hove
2eab8aeb38
Changed the access to Parser/EclipseState/Schedule to use new well injection and production properties. To be aligned with opm-parser:e75970a28b96374409a55e3e6cea2198b6a0ea23
2014-03-21 00:35:15 +01:00
Joakim Hove
8be1f0e8d3
Changed open / close behaviour of well_controls: 1) well_controls has an explicit open_close flag. 2) Will NOT flip current value to change open|close status
2014-03-04 20:23:19 +01:00
Kristian Flikka
ae8944f6ea
Added an else to avoid unnecessary checking.
2014-02-14 09:01:21 +01:00
Kristian Flikka
1181d1c1bc
Create WellsGroupInterface from opm-parser Well/Group objects
2014-02-12 15:39:57 +01:00
Kristian Flikka
b6072e5112
Added support for creation of WellsGroup objects from new parser Well and Group objects
2014-02-11 14:12:36 +01:00
Joakim Hove
965c12a689
Implemented well_control based on well_controls_iset_xxx() functions.
2014-01-06 12:40:03 +01:00
Joakim Hove
17b800796f
Temporarily added symbol HAVE_WELLCONTROLS before including well_controls.h - to get acces to the internal elements in struct WellControls.
2014-01-05 16:25:31 +01:00
Joakim Hove
0450e1bb77
Extracted everything related to well controls to separate header well_controls.h - to simplify introducing new parser.
2014-01-03 16:04:12 +01:00
Andreas Lauser
d6fa31b452
convert users of the ASSERT and the ASSERT2 macros to standard assert()
2013-09-05 13:04:37 +02:00
Andreas Lauser
cb76a0fd7f
convert THROW to OPM_THROW
2013-09-05 13:04:37 +02:00
Andreas Lauser
408d3389c3
include iostream in the files which use std::cerr or std::cout
...
for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.
While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
2013-09-05 13:04:37 +02:00
Andreas Lauser
5cd622fbf7
use std::shared_ptr instead of boost::shared_ptr
...
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00