Andreas Lauser
e98be1d398
ECL: move the grid manager to ewoms/io/
...
this class is probably useful for problems other than EclProblem and
the EclWellsManager already is at a generic place...
2014-10-06 12:24:17 +02:00
Andreas Lauser
6f5d942502
blackoil fluids test: add section markers to make EclipseState happy
...
this is necessary because tables now must be queried using
EclipseState instead of directly. This implies that EclipseState can
be instantiated in the first place...
TODO (?): allow EclipseState instatiation for decks without a grid.
2014-09-19 15:27:12 +02:00
Andreas Lauser
e8a08749f5
adapt the the table related API changes of opm-parser
2014-09-17 13:43:47 +02:00
Andreas Lauser
7009f2288b
ECL problem: make it compile with Scalar != double
...
opm-parser always returns vector<double> as data fields...
2014-08-17 15:12:06 +02:00
Andreas Lauser
6528a88e90
adapt to the reference pressure != surface pressure change in opm-material
2014-08-12 15:49:47 +02:00
Tor Harald Sandve
dfa2c42233
Changes in the ref. solution in the DeakAllDead test
2014-08-12 07:08:57 +02:00
Andreas Lauser
09fe573231
remove unused typedef, constants and enums
...
most of them anyway...
2014-08-11 14:24:13 +02:00
osae
91a19ff333
Correcting the equil test.
2014-08-11 13:19:17 +02:00
Bård Skaflestad
82fc769922
RESV: Add facility for surface-to-reservoir rate conversion
...
This commit adds a simple facility for converting component rates at
surface conditions to voidage rates at reservoir conditions. It is
intentionally limited in scope and meant to be employed only in the
context of class FullyImplicitBlackoilSolver<> or something very
similar. In particular, class SurfaceToReservoirVoidage<> assumes
that it will be used to compute conversion coefficients for
component rates to voidage rates, and that those coefficients will
typically be entered into the coefficient matrix of a linearised
residual.
Add a trivial test just to demonstrate the setup and calling
process. This is not a feature or correctness test.
2014-08-08 11:40:50 +02:00
Andreas Lauser
6e478f6f18
use finishInit() properly for all problems
...
this means that all code which could potentially throw an exception is
moved to this method(). (In particular FluidSystem::init() proved
troublesome in the past.) Besides avoiding segmentation the faults
which stem from exceptions thrown in constructors, this also has the
advantage that simulations which spend a noticable amount of time to
initialize stop at the "correct" place, i.e. after the "Finish init of
the problem" message was printed by the simulator...
2014-08-06 16:31:48 +02:00
Robert Kloefkorn
f61eab46df
Make code compile with dune trunk version (ie 3.0-git). This should include support for
...
dune 2.3.
2014-08-06 14:00:54 +02:00
Andreas Lauser
344d613280
ECL problem: use spline based two-phase material laws
...
... instead of piece-wise linear ones. This improves convergence rates
slightly.
2014-08-06 13:52:53 +02:00
Andreas Lauser
06501bb851
Black Oil model: implement support for multi-region PVT tables
...
this requires opm-material commit 12a6d1f
2014-08-05 16:52:52 +02:00
Andreas Lauser
6f9eb5a29c
ECL problem: fix "unused variable" warnings for optimized builds
2014-08-05 00:21:18 +02:00
Andreas Lauser
8b6a68f8fd
ECL simulator: add a well model based on the Peaceman approach
...
not yet implemented: group controls, changing well control modes after
a time step. (The latter should be relatively straight-forward.)
2014-08-04 20:29:54 +02:00
Andreas Lauser
9e9a8639ec
ECL problem: write the initial solution again
...
this regressed after time step index of the initial solution was
changed from 0 (actually, this was also 0 for the first time step...)
to -1 in b30af664.
2014-08-04 17:16:48 +02:00
Andreas Lauser
6ab54a1057
ECL problem: set the first time step of the each epsiode to the report step size
2014-07-28 18:26:58 +02:00
Andreas Lauser
faa98b4f74
add a unit test for the implementation of transmissibilty multipliers in DerivedGeology
...
for the legacy C-style grid the unit test is more or less complete (it
does not test FAULTMULT and NNC, etc, but these could be added with
sufficient determination), for Dune::CpGrid it currently does not
really check anything because I have not found a good way for CpGrid
to produce the "global" intersection index of an intersection...
2014-07-28 11:30:13 +02:00
Andreas Lauser
db506c78e6
ECL problem: move the code which potentially throws into the finishInit() method
...
this avoids some segfaults due to half constructed objects if an
exception is thrown on initialization.
2014-07-25 15:31:01 +02:00
Andreas Lauser
2c3ebefc68
adapt to the reworked blackoil fluid system and function tabulation classes
...
in particular, the density of undersaturated oil is now the one
specified by the PVTO keyword...
2014-07-24 14:59:34 +02:00
Andreas Lauser
fe341d88cf
use the checkConservativeness() method in all appropriate test problems
...
"appropriate" basically means "does not use constraints", as
constraints do not care about the conservation quantities...
2014-07-22 12:41:56 +02:00
Andreas Lauser
7af0060812
ECL problem: fix the episode handling code
...
now the report steps specified in the deck are adhered to...
2014-07-09 12:03:50 +02:00
Andreas Lauser
a5f13f65b8
ECL problem: fix up calculation of the initial condition
2014-07-08 10:16:29 +02:00
Andreas Lauser
6da90de741
ECL problem: Use Cartesian element indices for more fields from the deck
...
probably there are still a few missing...
2014-07-08 10:16:17 +02:00
Liu Ming
28b354c625
Add HAVE_PETSC macro.
2014-07-08 10:58:39 +08:00
Atgeirr Flø Rasmussen
12c9ef2b09
Merge pull request #607 from osae/swatinit
...
Scaling of capillary pressure / initialisation from kw SWATINIT.
2014-07-07 14:10:02 +02:00
Bård Skaflestad
033625c5a8
well_controls: Add deep-copy (clone) support
...
New function well_controls_clone(), implemented in terms of the
public API only, mirrors the objective of function clone_wells(),
only for well control sets. Add a basic test to demonstrate the
function too.
2014-07-03 16:09:56 +02:00
Andreas Lauser
377ed04495
ECL problem: use logically cartesian cell indices to retrieve data from the deck
...
Before, it only worked if all cells were active. Also, take the NTG
and MULTPV keywords into account and prepare for permeability
multipliers.
2014-07-03 15:13:10 +02:00
osae
c1732b0b32
Make use of EclipseState for EQLNUM and SWATINIT.
2014-06-26 14:46:57 +02:00
Andreas Lauser
f21ed76851
rename "(Volume|Flux)Variables" to "(In|Ex)tensiveQuantities"
...
"intensive" means that the value of these quantities at a given
spatial location does not depend on any value of the neighboring
intensive quantities. In contrast, "extensive" quantities depend in
the intensive quantities of the environment of the spatial location.
this change is necessary is because the previous nomenclature was very
specific to finite volume discretizations, but the models themselves
were already rather generic. (i.e., "volume variables" are the
intensive quantities of finite volume methods and "flux variables"
are the extensive ones.)
2014-06-24 18:24:09 +02:00
Andreas Lauser
05775a0b36
Glue in support for the grid property modifier keywords
...
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.
with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.
no ctest regressions have been observed with this patch on my machine.
2014-06-11 13:48:49 +02:00
Andreas Lauser
0219f83563
glue in support for property modifiers
...
i.e. reading the grid properties from EclipseState instead of from the
raw deck. This requires that all deck files exhibit a GRID and a
SCHEDULE section or else EclipseState will throw in the constructor.
2014-06-09 12:36:46 +02:00
Andreas Lauser
4f5e3a448e
ECL problem: Use Opm::EclipseState instead of the raw deck where possible
...
this means that property modifiers are now automatically supported...
2014-06-04 18:05:12 +02:00
Andreas Lauser
21719a6860
fix the equilibration test by using new values
...
thanks to @bska for the hints.
2014-06-04 13:26:37 +02:00
Andreas Lauser
d1a8c9d787
add missing PVTW keywords to the decks used by the equil test
...
the test still fails, but the errors seem to be due to differences in
the saturation functions...
2014-06-04 11:35:24 +02:00
Andreas Lauser
9a7b068d15
Implement multi-region PVT for all property classes
...
since they are not using a single PVT table anymore, their "Single"
prefix has been removed...
2014-06-04 11:11:35 +02:00
Andreas Lauser
12b1c257d6
ECL problem: fix the episode handling
...
now the episodes seem to match the report steps...
2014-05-30 13:53:36 +02:00
Andreas Lauser
6a50afb219
rename all "newParserDeck" objects to "deck"
...
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Andreas Lauser
f360562aee
remove EclipseGridParser compatibility methods from all classes
2014-05-21 11:22:43 +02:00
Liu Ming
559003ef1e
Test Petsc.
2014-05-16 14:55:23 +08:00
Andreas Lauser
d3d3e05d3a
rename the tests/grids folder to tests/data
...
... since the "grids" in that folder are slowly accumulating
information. (e.g. the ART grid for the fracture mapper and ECLIPSE
decks in the future.)
2014-05-08 15:31:32 +02:00
Andreas Lauser
bc7c2f8640
add parameter to also write the "mini steps" instead of just the "report steps"
2014-05-02 16:08:22 +02:00
Andreas Lauser
b7f3ee7b79
rename "newParserDeck" to "deck"
2014-05-02 15:48:04 +02:00
Andreas Lauser
dbb19403fc
completely remove the EclipseGridParser from the module
2014-05-02 15:47:52 +02:00
Andreas Lauser
553698a933
remove tests/integration_tests/sim_fibo_ad_test.cpp
...
this test seems to compare the old and the new parser which does not
make sense anymore once the old parser is no longer available...
2014-05-02 13:59:25 +02:00
Andreas Lauser
83705279bb
add the TABDIMS keyword to the data file for the fluid unit test
...
that's necessary because the Eclipse RM references it in the table
keywords and the opm-parser needs the keyword to be present to use
it...
2014-04-30 16:49:29 +02:00
Andreas Lauser
1e81039b1b
ECL problem: use the default material law for Eclipse and read the data from the deck
...
TODO: material laws other than the default one...
2014-04-28 19:12:53 +02:00
Andreas Lauser
84b5a6da63
ECL problem: set the start time to the one specified in the deck
2014-04-27 19:12:32 +02:00
Andreas Lauser
45758d723c
ECL problem: return the stem of the name of the deck file in the name() method
...
this causes output files to have the expected names, e.g. "SPE9" or
"NORNE" instead of "ECL"...
2014-04-27 19:12:32 +02:00
Andreas Lauser
0bb56e770f
make the name() method of problems non-static again
...
this allows to easily specify the problem name at runtime.
2014-04-27 19:12:32 +02:00
Andreas Lauser
515f9b00cf
add a simulator which uses Eclipse data files and the blackoil model
2014-04-27 19:12:32 +02:00
Andreas Lauser
112e96d7e6
convert the examples and the tests to opm-parser
2014-04-25 14:25:54 +02:00
Joakim Hove
feeaeb1d2e
Changed the data files used for testing:
...
1) Added RUNSPEC section
2) Replaces DEPTHZ keyword with TOPS keyword.
2014-04-24 15:26:39 +02:00
Bård Skaflestad
29ae3ab836
Merge pull request #572 from andlaus/add_tabdims_to_some_decks
...
add the missing TABDIMS keyword to the live oil and wet gas unit test data files
2014-04-16 13:48:56 +02:00
Andreas Lauser
305e9d1448
add the missing TABDIMS keyword to the live oil and wet gas unit test data files
...
these are required for the new parser. (without them, these files
would be invalid AFAICT, but I'm not an Eclipse file format expert...)
2014-04-16 11:16:58 +02:00
Atgeirr Flø Rasmussen
b225970686
Add (all-zero) initialisation of new EquilRecord fields.
2014-04-15 13:41:10 +02:00
Bård Skaflestad
333e110d4f
Merge pull request #538 from blattms/parallel-solver-support
...
Added support for parallel dune-istl solvers
2014-04-08 00:17:35 +02:00
Markus Blatt
f67ed5d334
Fix matrix size and symmetry for parallel runs.
2014-04-04 21:01:32 +02:00
Markus Blatt
7fd5b65691
Merge remote-tracking branch 'upstream/master' into parallel-solver-support
...
Removed conflicts in:
opm/core/linalg/LinearSolverIstl.cpp
2014-04-04 20:38:52 +02:00
osae
a43ae52c18
Some additional tests: live gas, RSVD and RVVD
2014-04-03 09:07:00 +02:00
osae
054e7b42b8
Update tests and provide some eclipse output.
2014-03-31 15:32:06 +02:00
Kai Bao
5dd0434707
Added the test code and test data.
...
Added TESTTIMER.DATA and test_timer.cpp
2014-03-26 17:53:06 +01:00
osae
5d028d4eca
Merge branch 'master' of git://github.com/OPM/opm-core
...
Conflicts:
CMakeLists_files.cmake
2014-03-26 14:51:06 +01:00
Atgeirr Flø Rasmussen
347016a066
Add more checks to cover bug that was in operator -=.
2014-03-26 12:25:11 +01:00
Atgeirr Flø Rasmussen
60ff38adc6
Added test for += and -= operators.
2014-03-26 12:03:44 +01:00
Atgeirr Flø Rasmussen
37a23825c4
Removed dead code in test_block.cpp.
2014-03-26 11:48:13 +01:00
Joakim Hove
f0126b2501
Removed WellsManager constructor which takes an ole Eclipsegridparser instance.
2014-03-25 18:57:58 +01:00
Atgeirr Flø Rasmussen
5a9786aa32
Merge pull request #540 from joakim-hove/wellsmanager-well-properties
...
Changed the access method to well rates/properties
2014-03-21 08:58:07 +01: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
Markus Blatt
b8959c45dd
Increase verbosity such that we see the actual solve
2014-03-20 22:24:33 +01:00
Markus Blatt
eda0be1b8c
Fixes the laplacian.
...
As we do not represent dofs on the boundary, we need to make sure that all diagonal
values are 4.
2014-03-20 22:21:03 +01:00
Markus Blatt
8d9cd23722
Fixed test_linearsolver for the official 2.2 release.
...
This release does neither support KAMG nor FastAMG. Therfore
this patch deactivates test these preconditioners.
2014-03-20 22:18:27 +01:00
Markus Blatt
bdc4573e2a
Added support for the parallel solvers of dune-istl.
...
To support this the solveSystem methods of the LinearSolverInterface gets
an optional additional template parameter of type boost::any. It can hold any
copy constructable object. In our case it is used to pass the information about
the parallelization into the solvers of dune-istl without the compiler needing to know
their type. Inside of LinearSolverIstl::solveSystem we check whether the type stored inside of
boost::any is the new ParallelIstlInformation. If this is the case we extract the information
and use the parallel solvers if available, otherwise we solve serial/sequential.
The new ParallelIstlInformation is needed as the OwnerOverlapCopyCommunication is not copy
constructable. This is indeed a design flaw that should and will fixed upstream, but for the
time being we need ParallelIstlInformation to transfer the ParallelIndexSet and RemoteIndices
objects.
2014-03-20 21:59:29 +01:00
Atgeirr Flø Rasmussen
fd4f5f5a26
Merge branch 'master' into new_well_formulation
...
Conflicts:
opm/autodiff/FullyImplicitBlackoilSolver.cpp
To resolve conflicts, WellState was changed to WellStateFullyImplicitBlackoil
in multiple places, and perfRate() changed to perfPhaseRate() in
WellDensitySegmented.
2014-03-20 10:04:45 +01:00
Markus Blatt
2f3c17bd9d
Added a test for the linear solver interface.
...
This test sets up a simple laplace problem and solves it with the available
solvers. It assume that either dune-istl or UMFPack is present, which is
assume to be safe.
2014-03-19 21:48:07 +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
Atgeirr Flø Rasmussen
c2b647d245
Add test data file for compute_initial_state.cpp.
2014-02-27 15:55:08 +01:00
Atgeirr Flø Rasmussen
d13bf03e1f
Bugfix in RsSatAtContact: use min(), not max().
...
Also modified test to match output.
2014-02-27 14:57:38 +01:00
Atgeirr Flø Rasmussen
1c9675605c
Fix bug in RS initialisation.
...
Also throw if default init is specified and datum != goc depth.
2014-02-27 14:48:14 +01:00
Atgeirr Flø Rasmussen
a7c45d4e9f
Rename PhasePressureSaturationComputer -> InitialStateComputer.
...
Also add (unused so far) rs_ field to class.
2014-02-27 09:08:39 +01:00
Atgeirr Flø Rasmussen
91ae9df907
Add test for live oil initialisation.
...
The test is not finished or verified yet.
2014-02-27 08:31:51 +01:00
Atgeirr Flø Rasmussen
38c89f363d
Made phase mixing functors a class hierarchy.
...
In summary:
- added RsFunction (base class),
- made NoMixing, RsVD, RsSatAtContact inherit RsFunction,
- RS and RV are no longer template arguments for EquilReg class,
- EquilReg constructor now takes two shared_ptr<Miscibility::RsFunction>,
- use of constructor updated, mostly using make_shared.
2014-02-26 14:47:24 +01:00
Atgeirr Flø Rasmussen
64b6a40191
Capitalize nested namespace names.
...
equil -> Equil
miscibility -> Miscibility
2014-02-24 15:55:14 +01:00
Atgeirr Flø Rasmussen
2b0fcfe748
Move RegionMapping class to its own header, add test.
...
Class now resides in opm/core/utility/RegionMapping.hpp.
2014-02-24 15:19:04 +01:00
Atgeirr Flø Rasmussen
83d0487097
Add test case with overlapping transitions.
...
Capillary pressure functions and contact depths
have been modified to ensure a large overlap.
2014-02-21 14:50:45 +01:00
Atgeirr Flø Rasmussen
7d63cb9204
Add test case with capillary transition region.
2014-02-21 08:55:15 +01:00
Atgeirr Flø Rasmussen
b2be489e6e
Add saturation computation to and rename computer class.
...
Opm::equil::DeckDependent::PhasePressureComputer ->
Opm::equil::DeckDependent::PhasePressureSaturationComputer
2014-02-21 08:52:25 +01:00
Atgeirr Flø Rasmussen
dc6bcead91
Add test case for capillary inversion.
2014-02-21 08:32:15 +01:00
Atgeirr Flø Rasmussen
4ec65f2f8f
Add another test deck for initialisation.
...
This deck includes capillary functions.
2014-02-20 15:39:15 +01:00
Atgeirr Flø Rasmussen
ebb6eaf742
Complete pressure test for dead-oil deck.
2014-02-19 13:41:20 +01:00
Atgeirr Flø Rasmussen
2ebaef62a0
Modify test data.
2014-02-19 13:40:02 +01:00
Kristian Flikka
ab42682399
Removed old EclipseGridParser from WellsManager constructor, WGROUPCON still missing
2014-02-14 15:36:32 +01:00
Kristian Flikka
3c93c7a781
Added building of WellsCollection group structure from new opm-parser objects
2014-02-14 13:43:25 +01:00
Kristian Flikka
d7568b4adf
Changed the WellCollection addChild functions to be more specific, and strict
2014-02-13 16:00:39 +01:00
Kristian Flikka
1181d1c1bc
Create WellsGroupInterface from opm-parser Well/Group objects
2014-02-12 15:39:57 +01:00
Kristian Flikka
7ba6431209
Fixed copyright section
2014-02-11 14:21:15 +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
Kristian Flikka
aa329b8b3e
Removed WELOPEN from constructor, added throwing on non OPEN/SHUT statuses
2014-02-06 16:31:35 +01:00
Kristian Flikka
269a2bbd24
Reverting some const_casting, that was introduced with no real reason
2014-02-05 21:24:38 +01:00
Kristian Flikka
2b47f0364b
Const-ref of parameter to the runWithXParser() functions
2014-02-05 21:18:03 +01:00
Kristian Flikka
5309ba793b
Removed comment
2014-02-05 19:46:27 +01:00
Kristian Flikka
79c3a38d24
Changed back arguments of runWithXParser to use ParameterGroup
2014-02-05 19:43:43 +01:00
Kristian Flikka
8d7e7cc731
Trying to get the test back running, by looking at the sim_fib_ad main method. Please advice if the string casting on line 335 is bad stuff, not my strongest side
2014-02-05 18:22:16 +01:00
Atgeirr Flø Rasmussen
b134fe048a
Still working on test_equil.cpp.
2014-02-05 11:26:29 +01:00
Joakim Hove
ca2def2a02
Merged upstream/master
2014-02-04 21:42:07 +01:00
Atgeirr Flø Rasmussen
04eea929ba
Fix contact depths in test deck.
2014-02-04 10:57:23 +01:00
Atgeirr Flø Rasmussen
634b78a9d9
Created simple data for init testing.
2014-02-04 09:38:47 +01:00
Atgeirr Flø Rasmussen
85be4b1263
Add (unfinished) test case.
2014-02-03 15:36:20 +01:00
Atgeirr Flø Rasmussen
0061b25408
Merge remote-tracking branch 'bska/initialisation' into initialisation
2014-01-31 15:41:58 +01:00
Bård Skaflestad
0fc3571488
Fix fallout from PR #474
...
The check introduced in PR #474 (commit ad899fc) means all decks
must supply valid depth data. Update test decks accordingly to
restore "make test".
2014-01-31 14:24:02 +01:00
Joakim Hove
3e2df33a65
Merge remote-tracking branch 'upstream/opm-parser-integrate' into wellsmanager-rates
...
Conflicts:
opm/core/wells/WellsManager.cpp
2014-01-30 09:50:09 +01:00
Joakim Hove
0138fc43ef
Merged upstream/master
2014-01-29 15:25:21 +01:00
Kristian Flikka
fbe2f31653
Updated COMPDAT i,j,k indices, and removed the old commented part
2014-01-29 11:58:14 +01:00
Kristian Flikka
0d492ce407
Changed data file not not have same perforation multiple times, as the old system doesn't support this
2014-01-29 11:58:13 +01:00
Kristian Flikka
7ce9cb9055
Compdat extraction from new CompletionXXX classes
2014-01-29 11:58:13 +01:00
Kristian Flikka
74c3040c43
Added an extra data file with an extra well
2014-01-29 11:58:13 +01:00
Joakim Hove
9f948329c4
Merge remote-tracking branch 'upstream/master' into opm-parser-integrate
2014-01-29 11:02:21 +01:00
Joakim Hove
1548984acd
Merge remote-tracking branch 'upstream/master' into wellsmanager-rates
2014-01-29 11:01:14 +01:00
Atgeirr Flø Rasmussen
d5ebe3c685
Use correct number of items in initialiser.
2014-01-27 10:42:35 +01:00
Atgeirr Flø Rasmussen
924080d8dc
Proper memorymanagement in test program.
2014-01-27 08:32:24 +01:00
Atgeirr Flø Rasmussen
f9ea03fe67
Renamed SegmentedWellModel->WellDensitySegmented.
2014-01-24 15:54:01 +01:00
Atgeirr Flø Rasmussen
a4b2044e14
Modified test case to match MRST test case.
2014-01-23 12:42:17 +01:00
Kristian Flikka
3b0a9067b4
Removes the WELSPECS usage in WellsManager constructor. Step 1 in rewrite of constructor
2014-01-22 15:22:32 +01:00
Atgeirr Flø Rasmussen
aa5d9d255b
Added a test program for SegmentedWellModel.
...
The only currently tested case is a simple water injector.
2014-01-22 12:56:08 +01:00
Bård Skaflestad
76844c9c59
Include <numeric> for std::iota()
...
Header was missing in earlier revision.
2014-01-21 17:54:47 +01:00
Bård Skaflestad
6814b97698
Add reverse look-up mapping for region vectors
...
Class RegionMapping<> provides an easy way of extracting the cells
that belong to any identified region (e.g., as defined by EQLNUM) of
the deck.
2014-01-21 17:54:47 +01:00
Bård Skaflestad
4114da26bd
Test cell subset phase pressure assignment.
2014-01-21 17:54:46 +01:00
Bård Skaflestad
c582d00fb6
Compute phase pressures in subset of cells
...
This commit adds support for assigning the initial phase pressure
distribution to a subset of the total grid cells. This is needed in
order to fully support equilibration regions. The existing region
support (template parameter 'Region' in function 'phasePressures()')
was only used/needed to define PVT property (specifically, the fluid
phase density) calculator pertaining to a particular equilibration
region.
2014-01-21 17:54:46 +01:00
Bård Skaflestad
4c39a8a595
Add basic equilibration facility
...
This commit adds a simple facility for calculating initial phase
pressures assuming stationary conditions, a known reference pressure
in the oil zone as well as the depth and capillary pressures at the
water-oil and gas-oil contacts.
Function 'Opm::equil::phasePressures()' uses a simple ODE/IVP-based
approach, solved using the traditional RK4 method with constant step
sizes, to derive the required pressure values. Specifically, we
solve the ODE
dp/dz = rho(z,p) * g
with 'z' represening depth, 'p' being a phase pressure and 'rho' the
associate phase density. Finally, 'g' is the acceleration of
gravity. We assume that we can calculate phase densities, e.g.,
from table look-up. This assumption holds in the case of an ECLIPSE
input deck.
Using RK4 with constant step sizes is a limitation of this
implementation. This, basically, assumes that the phase densities
varies only smoothly with depth and pressure (at reservoir
conditions).
2014-01-21 17:54:46 +01:00
Kristian Flikka
b05630c310
parse function in libParser renamed, fixed in sim_fibo_ad
2014-01-13 08:43:39 +01:00
Tor Harald Sandve
d5b47295e3
Added pvt functionality for wetgas
...
The pvt interface is extended to handle wet-gas systems:
1. rvSat is added as a function in the PVT interface
2. SinglePvtLiveGas computes the pvt values and its derivatives
3. The old rbub variable is changed to rsSat for clearity
4. The new interface is tested in test_blackoilfluid with data from
liveoil.DATA and wetgas.DATA
2014-01-10 16:07:02 +01:00
Kristian Flikka
731fe7d3f4
Changed new WellsManager constructor to take in EclipseStateConstPtr instead of SchedulePtr
2014-01-08 16:10:55 +01:00
Kristian Flikka
1f1c0ebcf3
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
Kristian Flikka
41b7af408b
Merge from joakim/wellmanager
2014-01-07 16:09:35 +01:00
Joakim Hove
8132954b85
Added functions to get type, target and distr of *current* control.
2014-01-06 14:40:03 +01:00
Joakim Hove
6098368d08
Added new function well_controls_iset_distr().
2014-01-06 12:22:15 +01:00
Joakim Hove
bf95c9f768
Added new functions to set target and type and invert value of current control.
2014-01-06 12:06:36 +01:00
Joakim Hove
8819f7f42c
Changes test_wells to use well_controls_get_xxx() functions.
2014-01-06 10:34:25 +01:00
Joakim Hove
efcb1103d1
Changed test_wellsmanager to use well_controls_get_xxx() functions.
2014-01-06 10:26:46 +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
ec71334d74
Added test calls to wells_equal() and well_controls_equal().
2014-01-03 16:01:15 +01:00
Joakim Hove
487ff810fd
Added test_wellmanager which loads wellmanager from deck and tests many values.
2014-01-03 16:00:57 +01:00
Kristian Flikka
e4a7a33598
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
Kristian Flikka
dba421316a
Fixed sim_fibo_ad, by adding EclipseWriter
2013-12-05 13:38:40 +01:00
Kristian Flikka
35ce8d2932
Removed some debug code
2013-11-27 13:32:12 +01:00
Kristian Flikka
31b03a2572
Added new parser classes, simple step 1, loop through TSTEPS in Schedule
2013-11-27 13:32:12 +01:00
Kristian Flikka
031584aa81
Minor change to argument vector, to be according to the main() standard
2013-11-27 13:31:48 +01:00
Kristian Flikka
2de09d6d56
Removed use of deprecated boost native string func, replaced with string()
2013-11-27 09:10:54 +01:00
Kristian Flikka
5a2765a296
Updated test to match changed constructor of SimulatorFullyImplicitBlackoil
2013-11-26 15:16:21 +01:00
Kristian Flikka
3f68cbfe1b
Fixed some rotten pointer/alloc code. Updated data paths
2013-11-26 14:46:07 +01:00
Kristian Flikka
111c9ee445
Added sim_fibo_ad_test, running two identical simulations with the SPE1 case
2013-11-26 12:55:41 +01:00
Joakim Hove
1829acd201
Added very simple parser test to check a parser can be instantiated and a simple file parsed
2013-11-14 12:52:12 +01:00
Kristian Flikka
3f970244de
Replaced include math.h with cmath, and changed from fabs to abs. Fixed an error in the testfile, a filename was wrong
2013-11-04 13:51:32 +01:00
Joakim Hove
5798b5f9f1
Added test with accompanying data for Blackoilstate::equals()
2013-10-28 17:43:29 +01:00
Arne Morten Kvarving
278ad83e7f
loosen tolerance a bit to avoid failing tests on certain archs (i386, precise)
2013-10-23 09:41:26 +02:00
Arne Morten Kvarving
e8386a32c1
changed: run test for a x different than pi
...
this to workaround roundoff differences occuring near sin(pi) on
different compilers/hardware
2013-10-16 11:35:47 +02:00
Atgeirr Flø Rasmussen
85f79c0e84
Rename AutoDiff::ForwardBlock -> Opm::AutoDiffBlock.
...
Also moved AutoDiffHelpers.hpp content to Opm namespace, and modified other
files as required by these two changes.
2013-09-19 12:53:28 +02:00
Atgeirr Flø Rasmussen
e9b933bf4f
Rename AutoDiff::Forward -> Opm::AutoDiff.
2013-09-19 11:32:47 +02:00
Andreas Lauser
0582ef08d8
explicitly include <iostream>
...
instead of relying on relying that some header includes it...
2013-09-05 12:28:16 +02:00
Andreas Lauser
51cb4f2cb8
Add exception handlers to all tutorials and examples
2013-09-05 12:28:04 +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
Jens Olav Nygaard
d3a02e4891
Added ForwardBlock operator* for scalars.
2013-08-02 12:24:12 +02:00
Jens Olav Nygaard
23e2034118
Testing workflow with upstream + local repo.
...
Added template for unit test for new feature.
Updated (CMake's) list of unit tests.
2013-08-01 15:43:21 +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
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
Bård Skaflestad
2b57104097
Prefer BOOST_CHECK_EQUAL to BOOST_CHECK
...
The former is more assertive than the latter and provides better
diagnostics. Incidentally, switching to *_EQUAL() also fixes an
assignment that was (probably) intended to be an equality test:
BOOST_CHECK(count = num)
in both test cases.
2013-05-24 21:59:09 +02:00
Atgeirr Flø Rasmussen
937df8869b
Added unit test for Span class.
2013-05-24 16:07:51 +02:00
Atgeirr Flø Rasmussen
f2f83fee32
Remove unused experimental AD class.
2013-05-22 08:39:09 +02:00
Bård Skaflestad
8bc5f66d8d
Promote 'test_impestpfa_ad' to an 'example'
...
This was the original intention, but the file was misplaced during
the module reorganisation.
2013-05-16 09:33:58 +02:00
Bård Skaflestad
e0c85a2fdb
Adapt to CMake-based build system.
...
Specifically,
- #include <config.h> where appropriate (all .cpp files)
- Adjust include statements to account for sub-directory locations
of .hpp files.
2013-05-15 16:10:20 +02:00
Bård Skaflestad
9309024d1e
First partitioning into source/examples/tests
...
Reorganisations are likely.
2013-05-15 10:35:39 +02:00
Atgeirr Flø Rasmussen
2d876925b7
Update to follow previous moves and deletes.
2013-03-18 12:40:34 +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
507b756dac
Move GridManager to grid subdir.
...
Also remove GridAdapter (moved to dune-cornerpoint), and
moved grid.c implementation file to grid subdir.
2013-03-18 10:16:46 +01:00
Atgeirr Flø Rasmussen
13f945f081
Added test for DG basis classes.
...
Only 2d so far.
2013-01-17 14:35:50 +01:00
Bård Skaflestad
a92549290f
New function clone_wells()
...
Used to create a deep copy (clone) of an existing Wells object.
While here, add test case for common Wells object operations.
2012-10-04 21:09:47 +02:00