Commit Graph

185 Commits

Author SHA1 Message Date
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
Joakim Hove
c970363f5e Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:59:11 +01:00
Joakim Hove
8ef5b2b695 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:51:11 +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
fb8413960c 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
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
Bård Skaflestad
8ad884bbde assemble_well_contrib(): Fix misprint in comment. 2013-09-25 15:39:37 +02:00
Bård Skaflestad
e15760856c RESV: Ignore phase distribution for non-PRODUCERs
The WellsManager class handles INJECTORS by assigning a phase
distribution (W->ctrls[i]->distr) that coincides with the injected
fluid for the corresponding well (e.g., {1,0,0} for WATER injectors in
a three-phase WATER/OIL/GAS simulation).  This, however, meshes poorly
with the restriction that all phase components must be ONE in the case
of wells constrained by total reservoir volume flow targets (RESV)
that was introduced in commit b7d1634.

This change-set limits the restriction on phase distributions to
PRODUCERs only and is a tentative solution to GitHub PR #360.
2013-09-25 15:38:55 +02: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
Júlio Hoffimann
c077912466 Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Atgeirr Flø Rasmussen
1cf0bb465b Fix bug in upwinding code.
Accidental usage of std::vector's operator< discovered.
2013-05-24 09:20:46 +02:00
Andreas Lauser
40fe2abf04 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
71057d69db Clean up well docs.
Needed to rename structs in legacy_well.h to avoid clash in docs.
2013-03-20 14:14:53 +01:00
Atgeirr Flø Rasmussen
c78b7de680 Renamed newwells.h -> wells.h.
Also moved implementation file to subdir.
2013-03-18 10:33:34 +01:00
Atgeirr Flø Rasmussen
b14c145f10 Moved deprecated opm/core/well.h -> opm/core/pressure/legacy_well.h
Still used by some pressure system assemblers.
2013-03-18 10:23:51 +01:00
Atgeirr Flø Rasmussen
b73a33f4af Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
f9cfb7d12d Make destructor of CompressibleTpfa virtual. 2013-03-07 15:14:01 +01:00
Atgeirr Flø Rasmussen
6324408357 Update CompressibleTpfa wellbore gravity handling.
Should now be in sync with cfs_tpfa_residual C interface. Simple well
gravity model implemented.
More flexibility in well gravity models would be a natural future extension.
2012-11-06 19:28:22 +01:00
Bård Skaflestad
a0c8028ea8 Account for gravity in well connection flux calculation
We previously ignored effects of gravity in the calculation of the well
connection fluxes (i.e., perforation fluxes).  This commit includes
those effects where appropriate.
2012-11-01 13:34:27 +01:00
Bård Skaflestad
5afc290604 Don't compare floating point numbers for equality. 2012-10-16 21:48:38 +02:00
Bård Skaflestad
8a8c29f5ce Rename CompletionData::gpot -> wdp .
This is in preparation of implementing actual gravity support in
(compressible) well-pressure solution.
2012-10-16 13:55:07 +02:00
Bård Skaflestad
10604d237b Document public interface of compr_source module.
This is Doxygen-style reference documentation only.
2012-10-15 19:49:23 +02:00
Bård Skaflestad
30cb6eaf7f Document public interface of compr_quant_general module
This is Doxygen-style reference documentation only.
2012-10-15 16:08:17 +02:00
Bård Skaflestad
f35663130a Document public interface of cfs_tpfa_residual module
This is Doxygen-style reference documentation only.
2012-10-15 15:21:27 +02:00
Atgeirr Flø Rasmussen
6fb248d403 Update WellState::perfPress() after pressure solve. 2012-10-01 16:40:10 +02:00
Bård Skaflestad
fb8e79857c Add tentative implementation of surface-rate targets.
Not tested at present.
2012-09-26 10:14:45 +02:00
Bård Skaflestad
271b0d800c Merge remote-tracking branch 'upstream/master' into fix-impedance-mismatch 2012-09-20 15:49:59 +02:00
Bård Skaflestad
b137eb0b65 Interpret `wells != 0 && wells->W == 0'' as `no wells''.
The CompressibleTpfa class always passes a non-null `forces->wells'
object to the constructor, assembly, and reconstruction routines but
uses ``forces->wells->W == 0'' to signify a simulation model without
wells.  This is, arguably, an error in the CompressibleTpfa class but
one that does not require a lot of work to support in the
cfs_tpfa_residual module.

Insert the extra tests in an effort to honour the ``liberal in what you
accept, strict in what you produce'' principle.
2012-09-20 15:48:48 +02:00
Bård Skaflestad
bdcd5236bd Don't crash on models without wells.
The user will legitimately want to run models that do not specify wells
(e.g., using boundary conditions).  While we do not yet fully support
that configuration (no wells), we absolutely must not crash by
dereferencing null pointers or generating pointers into ::empty()
std::vector<>s.

This commit installs the required guards needed to avoid said failure
mode.
2012-09-20 15:03:38 +02:00
Atgeirr Flø Rasmussen
50a23c0f5d Support shut wells in compressible tpfa solver. 2012-09-20 14:34:33 +02:00
Atgeirr Flø Rasmussen
fa6b772972 Changed well initialization and property calculation.
Bhp is now initialized to bhp target for bhp-controlled wells.
Mobilities and pvt properties are now calculated from
well perforation pressure and injection specifications for
injectors, producers still use cell properties as before.
2012-09-14 09:53:11 +02:00
Xavier Raynaud
22372710b8 Merge remote-tracking branch 'atgeirr/master' 2012-08-27 13:32:55 +02:00
Xavier Raynaud
af8a6fa7da Changed private->protected and added virtual to make class derivation. 2012-08-27 13:19:04 +02:00
Atgeirr Flø Rasmussen
0a8ac1ddb5 Minor revision, mostly whitespace cleanup and comments. 2012-08-27 09:48:06 +02:00
Atgeirr Flø Rasmussen
73949f892e New singularPressure() method propagates singularity information. 2012-08-23 14:03:20 +02:00
Atgeirr Flø Rasmussen
983a29691c Function cfs_tpfa_residual_assemble() and friends now return singularity flag.
The singularity flag is true if there are no pressure conditions and no
compressibility (so the absolute values of the pressure solution will be
arbitrary).
2012-08-23 14:00:04 +02:00
Xavier Raynaud
660f14df3b Corrected bug (residual should not be divided by dt). 2012-08-21 17:12:07 +02:00
Xavier Raynaud
712ccb0309 Corrected typo in comment. 2012-08-21 17:09:19 +02:00
Xavier Raynaud
7e1e1e7951 Fixed sign error and replaced porevol->porevol0. 2012-08-21 10:20:59 +02:00
Atgeirr Flø Rasmussen
61fdf4a8b6 Bugfix: call *comprock* method only if active rock compressibility. 2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
d67f49bac8 Class CompressibleTpfa now handles rock compressibility. 2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
547efbe7d1 Added function cfs_tpfa_res_comprock_assemble().
This is intended to handle cases with both fluid and rock compressibility.
2012-08-17 10:36:57 +02:00
Atgeirr Flø Rasmussen
937b85e88f Bugfix in CompressibleTpfa for gravity case.
Gravity acceleration should be a factor in the face gravity potential.
2012-07-19 14:45:15 +02:00
Bård Skaflestad
81f4ab5dd9 Add partial Doxygen markup to public interfaces.
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
ffb538fce0 Add Doxygen-style documentation to all interfaces. 2012-06-24 03:59:18 +02:00
Bård Skaflestad
b9c9f9fbe8 Reference module headers from canonical location. 2012-06-22 19:39:52 +02:00
Bård Skaflestad
c1c76a48b6 Restore a blank line that was lost in an earlier cset. 2012-06-20 00:38:47 +02:00
Bård Skaflestad
ecda277cb0 Slight normalisation and clean-up of coding style.
Notably:
  * Replace all remaining <tab>s with (8) spaces.
  * Use post-increment for all counters.
  * Insert a number of blank lines to highlight important groups.
2012-06-19 18:37:26 +02:00