Commit Graph

230 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
d910e9a9c5 Fix whitespace issues. 2015-01-23 09:12:15 +01:00
Atgeirr Flø Rasmussen
94d08b3db6 Fixed size of zero vector passed as gpress. 2015-01-21 21:14:32 +01:00
Atgeirr Flø Rasmussen
8e1041326e Added IncompTpfaSinglePhase class. 2015-01-20 15:47:50 +01:00
Tor Harald Sandve
a3f658f3b1 Add warning to c solvers when stopped wells occur
Stopped wells are treated as shut wells in the c solvers in opm-core.
I.e they are completly isolated from the domain.
2015-01-09 09:10:10 +01:00
Tor Harald Sandve
cf142969c8 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
Andreas Lauser
e530ce03d8 PVT properties: allow them to be temperature dependent
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2014-12-01 20:06:31 +01:00
Andreas Lauser
cbb5910a93 incorperate the review comments/decisions for multi-region PVT
the largest change is that all classes below opm/core/props/pvt take
the PVT region index as an argument, the higher-level ones (i.e.,
BlackoilProps*) take cell indices.
2014-06-04 11:11:35 +02:00
Atgeirr Flø Rasmussen
f0692b14e9 Make function in header file inline. 2014-04-15 19:47:04 +02:00
Bård Skaflestad
89f282f19f Implement Dune::CpGrid operations when needed only
The functions

    multiplyFaceNormalWithArea
    maybeFreeFaceNormal

operating on Dune::CpGrids must not be implemented unless they are
actually used.  Otherwise we get link failures if (e.g.,)
opm-autodiff is being built without CpGrid support.

Hide the definitions behind "#ifdef HAVE_DUNE_CORNERPOINT".
2014-04-10 00:03:10 +02:00
Bård Skaflestad
51c664800f Prefer C++ headers
Also, remove a couple of headers that were no longer needed.
2014-04-10 00:00:14 +02:00
Bård Skaflestad
4fe22ea137 Don't include "config.h" in public header
That's always an error.  Presumably, this was a left-over from
conversion to templates.
2014-04-09 23:58:34 +02:00
Markus Blatt
ec789bc63a Removes unused parameter warnings in TransTpfa_impl.hpp. 2014-04-04 21:29:19 +02:00
Markus Blatt
1fb15b0d2d Added missing file TransTpfa.hpp 2014-03-27 15:27:41 +01:00
Markus Blatt
eeb0039683 Merge branch 'refactor-for-cpgrid-support' into master-refactor-for-cpgrid-support
Manually resolved conflicts in:
	opm/core/props/BlackoilPropertiesFromDeck.cpp
	opm/core/wells/WellsManager.cpp
2014-03-13 13:41:45 +01:00
Joakim Hove
ae4738f5e7 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
Markus Blatt
baa0261132 [bugfix] Take normalized face normals into account when calculating tpfa.
At least for Cpgrid the face normal is normalized which has to be taken into
account in tpfa_htrans_compute.
We therefore multiply the facenormal with the face area in cases (read Cpgrid)
where this needed.
2014-02-27 12:28:22 +01:00
Markus Blatt
45edfc8848 [bugfix] Fixed imcrementing the cell centroid.
Imcrementation should be done at the end of the loop body as otherwise
the first cell is skipped and we are out of bounds for the last iteration.
This patch move the increment to the correct location.
2014-02-26 16:01:32 +01:00
Markus Blatt
02847f06c1 Made trans_tpfa usable with grids apart from UnstructuredGrid. 2014-02-25 15:05:30 +01:00
Joakim Hove
57a0ed6d98 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:59:11 +01:00
Joakim Hove
dc1935cc77 Implemented well_controls based on well_controls_get_xxx() functions. 2014-01-06 14:51: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
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
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
Andreas Lauser
b660419992 fix typo in guard macro of fsh.h
on CLang 3.4 svn this produced

```
/home/erne/src/opm-core/opm/core/pressure/fsh.h:20:9: warning: 'OPM_FSH_HEADER_INCLUDED' is used as a
      header guard here, followed by #define of a different macro [-Wheader-guard]
```

which is correct...
2013-12-15 18:10:27 +01:00
Bård Skaflestad
88b447daca assemble_well_contrib(): Fix misprint in comment. 2013-09-25 15:39:37 +02:00
Bård Skaflestad
6a31f54a6e 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
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
Júlio Hoffimann
8385a9bcbb Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Atgeirr Flø Rasmussen
897ec0e909 Fix bug in upwinding code.
Accidental usage of std::vector's operator< discovered.
2013-05-24 09:20:46 +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
f84eb97f4f 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
987aa5b6fd Further reorganising of opm-core.
Deleted some unused code (or moved to opm-porsol), moved all code dealing with
time-of-flight to opm/core/tof, moved code for implicit transport solver to
opm/core/transport/implicit, spu_[im|ex]plicit.[ch] to opm/core/transport/minimal.
2013-03-18 12:38:04 +01: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
1e6e733bb7 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
34f523339d Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
203d136fc2 Make destructor of CompressibleTpfa virtual. 2013-03-07 15:14:01 +01:00
Atgeirr Flø Rasmussen
5ca3f98725 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
f466ae6a51 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
beae475787 Don't compare floating point numbers for equality. 2012-10-16 21:48:38 +02:00
Bård Skaflestad
1b63e27899 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
7b793f98c6 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
c414ddad5d 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
601d5f3999 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
b020b4759b Update WellState::perfPress() after pressure solve. 2012-10-01 16:40:10 +02:00
Bård Skaflestad
cbc5f924bf Add tentative implementation of surface-rate targets.
Not tested at present.
2012-09-26 10:14:45 +02:00
Bård Skaflestad
1251d5a7c3 Merge remote-tracking branch 'upstream/master' into fix-impedance-mismatch 2012-09-20 15:49:59 +02:00
Bård Skaflestad
fc195b8449 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
e7059d6116 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