Commit Graph

113 Commits

Author SHA1 Message Date
Joakim Hove
43faea6678 Comparing well names protects againts NULL. 2014-01-08 16:10:43 +01:00
Joakim Hove
c3b4a95d82 Removed access to internal variabel cpty. 2014-01-08 11:32:00 +01:00
Kristian Flikka
43fd5e23ab New constructor for WellsManager that also takes the new parser as argument. New test comparing old and new 2014-01-07 16:10:45 +01:00
Joakim Hove
28658347db Using && instead of &= in the functions comparing wells and well_controls. 2014-01-06 19:22:39 +01:00
Joakim Hove
6725740f71 Removed explicit (struct WellControls *) cast to align with the rest of the code. 2014-01-06 19:09:36 +01:00
Joakim Hove
38b635a97f Moved struct WellControls to the implementation file well_controls.c. 2014-01-06 15:13:32 +01:00
Joakim Hove
b346845903 Added functions to get type, target and distr of *current* control. 2014-01-06 14:40:03 +01:00
Joakim Hove
57226cde9e Implemented well_control based on well_controls_iset_xxx() functions. 2014-01-06 12:40:03 +01:00
Joakim Hove
4cfa151e25 Implemented well_controls_add_new() with well_controls_iset_xxx() functions. 2014-01-06 12:24:32 +01:00
Joakim Hove
58ba8f45eb Added new function well_controls_iset_distr(). 2014-01-06 12:22:15 +01:00
Joakim Hove
ad73015cb9 Using new function well_controls_invert_current(). 2014-01-06 12:08:29 +01:00
Joakim Hove
fdf7bdba85 Added new functions to set target and type and invert value of current control. 2014-01-06 12:06:36 +01:00
Joakim Hove
1462952511 Using well_controls_get_num() and well_controls_get|set_current() in WellsManager 2014-01-06 10:12:11 +01:00
Joakim Hove
0b37bdd1ec 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
5ef171b212 Reimplemnted struct WellControls access to use the set/get functions in well_controls.c 2014-01-05 16:23:22 +01:00
Joakim Hove
49f6ff9791 Added well_controls_get_xxx() and well_controls_set_xxx() functions. The well_controls_reserved() function is called from well_controls_add() and not explicitly. 2014-01-05 16:22:30 +01:00
Joakim Hove
35d46225b8 Removed #include <opm/core/well_controls.h> from wells.h and inserted explicit #include <opm/core/well_controls.h> where needed. 2014-01-05 15:03:30 +01:00
Joakim Hove
f4142899b3 Removed struct WellControlManagement and replaced with simple integer field cpty in the WellControls structure. 2014-01-05 14:54:56 +01:00
Joakim Hove
76deba58bd Moved well_controls implementation to separate file well_controls.c. 2014-01-05 14:47:15 +01:00
Joakim Hove
e75552750a 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
Kristian Flikka
fd942e347d Implementation (not finished) of wells_equal, well_controls_equal, and tests. To build a WellsManager test for old and new parser
Conflicts:
	CMakeLists_files.cmake
2014-01-03 16:00:10 +01:00
Andreas Lauser
23f215bec4 convert users of MESSAGE to OPM_MESSAGE 2013-09-05 13:04:38 +02:00
Andreas Lauser
c25ec5999e convert users of the ASSERT and the ASSERT2 macros to standard assert() 2013-09-05 13:04:37 +02:00
Andreas Lauser
19e5d5cea2 convert THROW to OPM_THROW 2013-09-05 13:04:37 +02:00
Andreas Lauser
d11db08084 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
70949c6edb 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
Andreas Lauser
562bcf2e7d replace boost::array by std::array
GCC 4.4 supports std::array, so there is not much point in keeping
compatibility with ancient compilers...
2013-07-30 17:46:32 +02:00
Júlio Hoffimann
8385a9bcbb Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Markus Blatt
68eb3fbcb1 Changed std::tr1 occurences to boost.
std::tr1 might not be supported by all compilers and will eventually
be dropped by others. Using boost instead makes this more
portable.
2013-07-04 16:04:35 +02:00
Atgeirr Flø Rasmussen
21771218b9 Ensures well rate initialization actually happens.
Do not use the well's comp_frac member, only rely on the control's distr
member for initialization. This forced a change to WellsManager's
initialization of the distr member.
2013-06-02 23:30:43 +02:00
Andreas Lauser
884c5ab027 make config.h the first header to be included in any compile unit
this is required for consistency amongst the compile units which are
linked into the same library and seems to be forgotten quite
frequently.
2013-04-10 12:56:14 +02:00
Atgeirr Flø Rasmussen
2405758e2d Renamed newwells.h -> wells.h.
Also moved implementation file to subdir.
2013-03-18 10:33:34 +01:00
Atgeirr Flø Rasmussen
c23898efa7 Merge remote-tracking branch 'hnil/hnil_class' into combined.
Conflicts:
	CMakeLists.txt
	examples/sim_wateroil.cpp
	opm/core/grid/cpgpreprocess/geometry.c
	opm/core/transport/reorder/ReorderSolverInterface.hpp
	opm/core/transport/reorder/TofDiscGalReorder.cpp
	opm/core/transport/reorder/TofDiscGalReorder.hpp
	opm/core/transport/reorder/TofReorder.cpp
	opm/core/transport/reorder/TofReorder.hpp
	opm/core/transport/reorder/TransportSolverCompressibleTwophaseReorder.cpp
	opm/core/transport/reorder/TransportSolverTwophaseReorder.cpp
2013-03-14 16:18:39 +01:00
Atgeirr Flø Rasmussen
34f523339d Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
25867007ed Moved opm/core/eclipse/* to opm/core/io/eclipse/*. 2013-03-07 22:59:06 +01:00
Atgeirr Flø Rasmussen
f23d14a309 Changed OpenRS->OPM in copyright notices and #include guards. 2013-01-29 13:42:24 +01:00
Halvor Møll Nilsen
c8065f4fa5 Changed cmake to make build without ert for now. Small change in WellsManager.cpp 2012-10-30 14:51:12 +01:00
Halvor Møll Nilsen
c6a609bea6 Merge from upstream and corrected conflictes. 2012-10-30 13:38:55 +01:00
Atgeirr Flø Rasmussen
319fb8df50 Merge pull request #84 from bska/fix-equality-comparisons
Fix well classification that was only correct by accident
2012-10-25 01:08:48 -07:00
Roland Kaufmann
09f458f5ee Remove superfluous construction by std::make_pair
Since we know the type of the components, we may just as well create the
pair directly! (Using make_pair invokes compiler bugs in GCC).
2012-10-24 21:22:11 +02:00
Bård Skaflestad
c8dedfde06 Fix well classification that was only correct by accident
Specifically, the tests

   if (!wells->type[self_index] == INJECTOR)
   if (!wells->type[self_index] == PRODUCER)

produced the expected results *only* because INJECTOR==0 and PRODUCER==1
in the WellType enumeration, thus (!INJECTOR == PRODUCER) and
(!PRODUCER == INJECTOR).

Installing the (much) more appropriate

    if (wells->type[self_index] != INJECTOR)
    if (wells->type[self_index] != PRODUCER)

is not only more readable, it is also future-proof and scales better if
we ever introduce new WellTypes (e.g., a MONITOR).
2012-10-24 21:12:29 +02:00
Roland Kaufmann
359fdb1428 Make GCC 4.6.3 happy in C++0x mode
It complains about not finding a match for the pair<> template class,
because the first parameter (this) is allegedly const. However, this
isn't a const method, so I suspect it is a compiler bug.

In order to move on, I slap on a harmless cast which will make this
particular compiler happy, and which should have no effects elsewhere,
but put it in a #if..#else..#endif macro to avoid warnings on others;
hopefully this also makes it easier to spot and remove in the future.
2012-10-24 09:57:12 +02:00
kristinf
16dc071bca sign error in total_produced 2012-10-09 15:23:56 +02:00
Atgeirr Flø Rasmussen
9de3b03e69 Fix sign of production rate controls.
In the Wells struct, production rate control targets must be negative
(and injection rate control targets are always positive).
In the WellsGroup classes, there are separate variables for injection
and production, and all rates are positive. Therefore, upon adding or
modification of a production rate control, the negated value must
be used.
2012-10-08 14:27:56 +02:00
Bård Skaflestad
fde2d25c86 Clone wells object when constructing from existing.
This installs a measure of safety on the part of the interface in that
the caller is free to dispose of the wells object upon returning from
the WellsManager constructor.
2012-10-05 10:15:06 +02:00
Halvor Møll Nilsen
e913456fa6 Added constuctor to WellManager which used Wells struct. 2012-10-05 10:14:55 +02:00
Atgeirr Flø Rasmussen
c221dca66c Fix treatment of WELOPEN keyword.
Now you can actually shut and open wells with WELOPEN. The following
caveats apply:
 - this may interact improperly with group controls,
 - dynamic usage of WCONINJE/WCONPROD should not be mixed with WELOPEN.
2012-09-20 14:35:03 +02:00
Atgeirr Flø Rasmussen
75382c7f9e Fix error message. 2012-09-14 09:52:13 +02:00
Halvor Møll Nilsen
371bb84044 Added constuctor to WellManager which used Wells struct. 2012-09-05 11:47:38 +02:00
Bård Skaflestad
6cf71b3ba4 Prune an unused header. 2012-06-19 09:34:34 +02:00