Commit Graph

1120 Commits

Author SHA1 Message Date
Bård Skaflestad
6858b4290f Merge pull request #285 from rolk/285_shadow
Provide way of shadowing only some properties
2013-07-31 04:05:13 -07:00
Bård Skaflestad
4b42cc2c5d Merge pull request #289 from andlaus/make-gcc44-mandatory
Make gcc44 mandatory
2013-07-30 13:25:35 -07:00
Andreas Lauser
5893b9324e 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
Andreas Lauser
2306c2c305 fix a few CLang warnings
most of them quite insignificant, but still annoying. The only
exception is the warning about the changed alignment for the 'work'
argument of spu_implicit_assemble(). AFAICT, the only reason why it
worked was that the pointer produced by malloc() was passed
directly. (malloc() seems to fulfill all alignment criteria.) To fix
this, I've changed that argument's type from char* to double*.
2013-07-30 16:27:20 +02:00
Roland Kaufmann
3885bcd7ee Use underscore for data members 2013-07-30 13:24:57 +02:00
Roland Kaufmann
814130f010 Provide way of shadowing only some properties
The current implementations of IncompPropertiesInterface are very
all-or-nothing. In some situations, you want to read rock and fluid
properties from an Eclipse file, but use analytical functions for
the unsaturated properties. Or you want to update properties based
on a marching filter.

This patch provides a way to mix various property objects, or to
"shadow" the properties with a raw array of data, so you don't have
to reimplement the entire interface just to make a small change.
2013-07-30 13:11:52 +02:00
Júlio Hoffimann
c077912466 Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Roland Kaufmann
baa9bf12e0 Zero-initialize structure to avoid returning undefined
The compiler will otherwise complain that we are returning undefined
data. There is no way for the client code to know whether this was
the case.
2013-07-05 10:59:52 +02:00
Bård Skaflestad
f99377ceec Merge pull request #274 from blattms/non-tr1
Changed std::tr1 occurences to boost.
2013-07-04 12:01:51 -07:00
Markus Blatt
b5db3e0713 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
fb77fffdc8 Merge pull request #263 from bska/remove-redef-kluge
Disable build kluge that is no longer pertinent
2013-06-24 06:02:10 -07:00
Markus Blatt
eaf8e780c7 Fixed unused parameters and whitespace issues. 2013-06-21 12:49:35 +02:00
Bård Skaflestad
85a9a41264 Disable build kluge that is no longer pertinent
The <have_boost_redef.hpp> header was introduced (commit 82369f9) as
a work-around for a particular interaction in the Autotools-based
setup of OPM-Core and the Dune core modules.  Notably, Dune's
"Enable" trick for Boost failed on some older Autoconf systems.  Now
that we're using CMake, however, that kluge is no longer needed
because we (OPM-Core) always

  #define HAVE_BOOST 1

i.e., as an explict true/false value.

Therefore, we need no longer include <have_boost_redef.hpp> .  The
header will be removed at a later time.
2013-06-20 23:14:39 +02:00
Markus Blatt
9b0b60c3f8 Fixed spelling 2013-06-20 17:01:35 +02:00
Markus Blatt
2db889cd2b Unifies the way how AMG is called.
After this patch one can set the prolongation factor for all
AMG calls and the number of smoothing steps for all except
of FastAMG that currently only supports on step.
2013-06-20 16:55:07 +02:00
Markus Blatt
7c69fc31d0 Merge remote-tracking branch 'upstream/master' 2013-06-20 16:07:58 +02:00
Markus Blatt
6124707dfe Merge remote-tracking branch 'origin/master' 2013-06-19 14:56:34 +02:00
Markus Blatt
65a3780e2f Merge remote-tracking branch 'upstream/master'
Conflicts:
	opm/core/linalg/LinearSolverIstl.cpp
2013-06-19 14:55:50 +02:00
Markus Blatt
914844055b Merge remote-tracking branch 'upstream/master' 2013-06-18 10:48:28 +02:00
Bård Skaflestad
a1b0a0af83 Mark deck as FIELD units.
The numbers in the deck are more indicative of FIELD unit conventions
than METRIC unit conventions, so allow the input parser to interpret
the data in that manner.
2013-06-05 12:24:23 +02:00
Tor Harald Sandve
d7d80e6225 A test that compares the blackoil fluid based on the [p,r] interface
with the blackoil fluid based on the [p,z] interface
2013-06-05 11:21:47 +02:00
Atgeirr Flø Rasmussen
55e58deea6 Add transMult(), poroMultDeriv() and transMultDeriv(). 2013-06-03 14:33:18 +02:00
Atgeirr Flø Rasmussen
5d457ff708 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
Atgeirr Flø Rasmussen
175cecacda Bugfix in well rate init.
Do not always try to initialize, also initialize proper phase rates.
2013-06-02 22:19:43 +02:00
Atgeirr Flø Rasmussen
ad4c9a47e0 Refined well state initialization.
For SURFACE_RATE controlled wells, initialize wellRates() to match.
2013-06-02 21:58:30 +02:00
Atgeirr Flø Rasmussen
c280f2b0dd Initialize rate-controlled well bhp with safety factor.
Safety factor is 1.01 (INJECTOR) or 0.99 (PRODUCER), similar to
mrst's ad-fi/utils/initWellSolLocal.m > initialize().
2013-05-30 11:03:08 +02:00
Atgeirr Flø Rasmussen
a0a9c482ea Created new initialization routine, using RS from deck. 2013-05-27 15:44:07 +02:00
Atgeirr Flø Rasmussen
6e9a46b34d Added gasoilratio() to BlackoilState. 2013-05-27 12:53:06 +02:00
Atgeirr Flø Rasmussen
125c573461 Added assert to guard against wrong usage. 2013-05-24 09:21:41 +02: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
Atgeirr Flø Rasmussen
8592ca825a Added wellRates() member. 2013-05-21 23:54:30 +02:00
Atgeirr Flø Rasmussen
8c92a47b89 Merge remote-tracking branch 'upstream/master' into add-phaseusage-to-interface 2013-05-15 10:10:18 +02:00
Bård Skaflestad
ac33cd6f17 Merge pull request #240 from atgeirr/tof-improvements
Ensure (average of) tracers sum to one for DG1.
2013-05-14 02:28:21 -07:00
Bård Skaflestad
3f4c2ea564 Always interpret 'ref_pressure' as a double
Otherwise, when specifying (e.g.)

   ref_pressure=1.0e-5

(1 Pascal in bars), the value gets reinterpreted as

   ref_pressure=1

which is one bar.
2013-05-14 10:19:12 +02:00
Atgeirr Flø Rasmussen
d312f760e1 Add phaseUsage() method to BlackoilPropertiesInterface.
Also implement method in derived classes.
2013-05-13 16:20:00 +02:00
Atgeirr Flø Rasmussen
9b56384647 Ensure (average of) tracers sum to one for DG1. 2013-05-13 16:17:41 +02:00
Atgeirr Flø Rasmussen
15ab570cd5 Added limiter for tracer. 2013-04-24 11:27:04 +02:00
Atgeirr Flø Rasmussen
5401baf533 Add call to DG tracer computations if user requests.
Used to throw with an 'unimplemented' message.
2013-04-24 10:40:56 +02:00
Atgeirr Flø Rasmussen
8a894ca686 Add tracer computations (method solveTofTracer()).
Same interface as in class TofReorder.
2013-04-24 10:39:50 +02:00
Atgeirr Flø Rasmussen
241f866709 Update doc, only initialize tracerhead_by_cell_ if needed. 2013-04-24 10:36:52 +02:00
Atgeirr Flø Rasmussen
9f6b4e5258 Tracer computations are now fixed and robust.
- Handles noisy source terms.
 - Works with repeated solve calls (multi-cell block solves).
2013-04-23 15:35:47 +02:00
Atgeirr Flø Rasmussen
643c1e7df0 Implement solveMultiCell() with Gauss-Seidel. 2013-04-23 13:38:47 +02:00
Atgeirr Flø Rasmussen
f0ba716b3a Minor fix: do not read tracer heads unless compute_tracer is true. 2013-04-23 09:54:52 +02:00
Atgeirr Flø Rasmussen
b82a41df18 Work in progress on tracers.
- Changed interface.
 - Read tracerheads (tracer start locations) from file in compute_tof_from_files.
 - Initialize tracerheads from wells in compute_tof.
2013-04-22 14:02:45 +02:00
Atgeirr Flø Rasmussen
5d58dc4500 Fix typo and minimize formatting changes. 2013-04-22 11:29:59 +02:00
Atgeirr Flø Rasmussen
5578400e72 Removed experimental multi-cell solver code.
Since the Gauss-Seidel approach seems to be both simplest and
fastest, all parts dealing with assembling multicell systems
have been removed.
2013-04-22 11:22:23 +02:00
Atgeirr Flø Rasmussen
4fc5770fe2 Optimize multi-cell solve and add new Gauss-Seidel variant. 2013-04-22 11:11:55 +02:00
Atgeirr Flø Rasmussen
b0132b3b05 Make multidim upwind more forgiving of bad grids.
Now it will no longer trigger assertation failure when grids are not
edge-conformal (faulted cornerpoint grids processed by our code will
usually not be). Minor algorithm change to handle this.
2013-04-22 11:07:41 +02:00
Atgeirr Flø Rasmussen
52e96825a4 More refined and concise output of block info. 2013-04-17 13:18:22 +02:00
Atgeirr Flø Rasmussen
25a2c3d00b Implement solveMultiCell() properly.
Interface change: solver now requires a linear solver (for the multi-cell blocks only).

Implementation uses new private method assembleSingleCell(), that is a modified copy
of solveSingleCell(). Should refactor.
2013-04-17 12:58:15 +02:00