Atgeirr Flø Rasmussen
09eb0d455e
Add MINPV support to grid creation for fully implicit sims.
2014-08-25 16:05:42 +02:00
Bård Skaflestad
077b01b767
Merge pull request #188 from OPM/support-resv
...
Support RESV controls
2014-08-25 13:54:30 +02:00
Atgeirr Flø Rasmussen
e35546070f
Use direct deck-using version of grid construction method.
2014-08-21 15:26:07 +02:00
Atgeirr Flø Rasmussen
e644c51750
Merge branch 'master' into support-resv
...
Conflicts:
examples/sim_fibo_ad.cpp
examples/sim_fibo_ad_cp.cpp
opm/autodiff/SimulatorFullyImplicitBlackoil.hpp
opm/autodiff/SimulatorFullyImplicitBlackoil_impl.hpp
2014-08-19 09:53:20 +02:00
Atgeirr Flø Rasmussen
1b7e748431
Update sim_fibo_ad_cp to use refactored simulator class.
...
Also add some other features that have been added to sim_fibo_ad
but not to sim_fibo_ad_cp:
- (Un)Strict parsing parameter.
- EQUIL init (currently throws, since initEquil not yet made generic).
2014-08-12 12:54:55 +02:00
Atgeirr Flø Rasmussen
bb118a9a39
Remove superfluous output and use const.
2014-08-12 12:53:11 +02:00
Atgeirr Flø Rasmussen
b85ba1bcc0
Clean up files and streams for timing output.
...
Total time will be written to walltime.txt, and single step times to
step_timing.txt (changed suffix from param to txt). This did not work
properly before this fix (step_timing file was overwritten each step).
2014-08-12 09:28:28 +02:00
Atgeirr Flø Rasmussen
d170de43cb
Merge remote-tracking branch 'GitPaean/New_BLACKOIL_SIMULATOR' into restructure-sim
...
Conflicts:
examples/sim_fibo_ad.cpp
opm/autodiff/SimulatorFullyImplicitBlackoil_impl.hpp
2014-08-11 14:01:54 +02:00
Bård Skaflestad
23520be41a
RESV: Prepare for dynamic rate distribution calculation
...
This commit changes the API of class SimulatorFullyImplicitBlackoil<>
in order to support wells controlled by (total) reservoir voidage
volume rates. Specifically, we switch to holding a mutable Wells
object (backed by a std::shared_ptr<>) in class Impl rather than a
reference to a WellsManager. This allows dynamically updating rate
distributions and targets of individual well controls. That, in
turn, is a prerequisite to supporting ECL-style "RESV" control
modes--be it in prediction or history matching capacity.
While in the process of API changes, also prepare for the second
stage of "WCONHIST/RESV" support: Accept a ScheduleConstPtr that
holds the input deck's notion of the history matching vs. prediction
controls. We need to distinguish the two in order to support the
exact semantics of "WCONHIST/RESV".
Update SimFIBO<> clients accordingly.
2014-08-08 11:40:50 +02:00
osae
8fa34b421a
Strict parsing is now the default.
2014-08-07 19:14:36 +02:00
osae
a8d99d0443
Make non-strict parsing the default.
2014-08-07 16:39:41 +02:00
Bård Skaflestad
a612d2c96f
Restore gravity effects
...
The refactorisation of class FullyImplicitBlackoilSolver<Grid> to
defer transmissibility and pore-volume calculation to the client in
order to support multipliers (net-to-gross &c) accidentally ended up
removing all effects of gravity. This commit restores those effects.
2014-07-29 19:49:50 +02:00
Kai Bao
eb3445e6a1
Finishing compliation.
2014-07-27 17:31:00 +02:00
Kai Bao
1e8d5e65b7
Finishing changing. Testing Later
2014-07-25 19:13:23 +02:00
Andreas Lauser
63eaecf246
DerivedGeology: pass the EclipseState object to its constructor
...
this is required to implement pore volume and permeability multipliers
as discussed with [at]bska and [at]joakim-hove.
Note that this implies that the DerivedGeology class can't be
instantiated anymore if there is no EclipseState object. Thus all code
paths and tests that don't load a deck are removed by this patch. If
this is undesireable, there are two options: First, don't require
EclipseState for DerivedGeology which would imply to make the about 10
required multiplier functions part of the
BlackoilPropertiesAdInterface, or second, one can copy-and-paste the
DerivedGeology class as it was before this patch, derive from a newly
introduced DerivedGeologyInterface and pass DerivedGeologyInterface
objects to the simulator. IMHO, the second solution would be a bit
better but it would involve substantial overhead to implement and to
maintain it.
Anyway, in the mean time simulators cannot be instantiated without
decks.
2014-07-24 16:37:38 +02:00
Andreas Lauser
543d8d75b6
pass the DerivedGeology to the simulators
...
this was decided to be a good idea by [at]bska. (If I interpreted him
correctly, obviously.)
2014-07-24 16:37:38 +02:00
Andreas Lauser
8645d2c207
pass the EclipseState and the PhaseUsage objects to EclipseWriter
2014-07-18 11:22:28 +02:00
Andreas Lauser
6727fe28fe
adapt construction of to EclipseWriter
...
i.e., don't pass around the UnstructuredGrid object directly, but use
the "generic" interface which is also used in the case Dune::CpGrid.
2014-07-14 17:55:30 +02:00
osae
24506cc637
Include EQUIL-based inititalisation for 3-phase.
2014-06-26 15:11:34 +02:00
osae
c1732b0b32
Make use of EclipseState for EQLNUM and SWATINIT.
2014-06-26 14:46:57 +02:00
Andreas Lauser
7c767e8686
sim_fibo_ad_cp: make it compile
...
The constructor for the simulator class changed recently...
2014-06-13 18:07:51 +02:00
Tor Harald Sandve
8a600747fa
Read DISGAS and VAPOIL from deck and pass them to the simulator
2014-06-13 14:29:52 +02:00
Andreas Lauser
db8b68b1d1
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
13ea365c64
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
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
0dfa8680f7
use the EclipseState instead of the raw deck
...
this is needed to enable property modifiers...
2014-06-07 18:45:46 +02:00
Atgeirr Flø Rasmussen
4734052d86
Bugfix: local variable shadowed proper variable.
2014-05-21 19:48:48 +02:00
Bård Skaflestad
f0d908d104
Merge pull request #140 from atgeirr/cpr-preconditioning
...
Cpr preconditioner
2014-05-21 15:36:12 +02:00
Andreas Lauser
bd81627dd3
rename all "newParserDeck" objects to "deck"
...
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Andreas Lauser
8e373c3539
rename all "newParserDeck" objects to "deck"
...
The "new" parser is now "the" parser...
2014-05-21 11:22:43 +02:00
Kai Bao
cd50b54ddf
Finishing the modification for solver class.
2014-05-16 18:02:55 +02:00
Atgeirr Flø Rasmussen
54c07f3d0c
Add choice of solution strategies to simulators.
...
The following is changed in this commit:
- The constructor for NewtonIterationBlackoilSimple now takes
a parameter object instead of a linear solver.
- The fully implicit black-oil simulators can now use the CPR
preconditioning strategy (by passing use_cpr=true) or the
simple strategy (the default).
Note that as of this commit, the CPR preconditioning still has
not been implemented properly, and behaves just like the simple
strategy.
2014-05-12 11:10:59 +02:00
Andreas Lauser
ebb1da0662
replace all boost::
smart pointers by their std::
equivalents
...
The std variants are part of c++-2011 and it's 2014 now. (they are
also available in GCC 4.4.)
2014-05-02 16:17:54 +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
3a6d989d5e
move the code away from EclipsGridParser to opm-parser
2014-04-26 11:13:59 +02:00
Andreas Lauser
a72595f047
convert the examples and the tests to opm-parser
2014-04-25 14:25:54 +02:00
Andreas Lauser
2dacfc8c15
convert the examples and the tests to opm-parser
2014-04-25 14:25:54 +02:00
Andreas Lauser
112e96d7e6
convert the examples and the tests to opm-parser
2014-04-25 14:25:54 +02:00
Joakim Hove
a6ec0bb59c
Using the Parser::EclipseGrid to create GridManager
2014-04-24 11:47:01 +02:00
Atgeirr Flø Rasmussen
d7ba3b0fbc
Merge branch 'master' into suppress-warnings
...
Conflicts:
cmake/Modules/UseWarnings.cmake
2014-04-22 14:50:15 +02:00
Atgeirr Flø Rasmussen
de695f3cd5
Avoid warning by not storing MPIHelper instance reference.
2014-04-15 20:47:37 +02:00
Atgeirr Flø Rasmussen
1e75efd097
Add generation and use of warning-suppressing headers.
2014-04-15 20:46:45 +02:00
Atgeirr Flø Rasmussen
5acb27f506
Update CpGrid version to use new classes.
2014-04-15 12:11:13 +02:00
Atgeirr Flø Rasmussen
9ae24f9380
Merge branch 'master' into cpr-preconditioning-again
...
Conflicts:
CMakeLists_files.cmake
examples/test_implicit_ad.cpp
2014-04-15 11:48:36 +02:00
Atgeirr Flø Rasmussen
55f5b0a10e
Merge pull request #52 from qilicun/read_plyshear
...
make PolymerProperties handle PLYSHEAR keyword.
2014-04-15 08:18:49 +02:00
Bård Skaflestad
1cbffa09de
Fix memory leak
...
Function GridManager::createGrdecl() generally allocates memory
(using std::malloc()) for the MAPAXES keyword data output of the
'grdecl' structure. Release those resources before leaving the
scope to prevent memory leak introduced in commit fdca540
.
2014-04-10 12:25:28 +02:00
Bård Skaflestad
fdca5404b7
Use new parser for all deck information
...
This commit switches to using the convenience method
GridManager::createGrdecl()
to construct a "struct grdecl" that can be passed directly into
CpGrid::processEclipseFormat(). The practical benefit is that we
get to leverage the opm-parser that's in active development rather
than the calcifying "EclipseGridParser" that will only become less
relevant in the future. We also don't parse the data twice.
Note: This is mostly compile tested. In the few actual tests I ran,
I got into trouble with internal assertions in processEclipseFormat.
That problem is not yet analysed.
2014-04-10 01:01:55 +02:00
Bård Skaflestad
897a33c788
Support older versions of Dune
...
Retrieving the "mpihelper.hh" from <dune/common> rather than
<dune/common/parallel> means we can still support (e.g.,) Dune 2.2.1
if needed.
2014-04-10 00:59:31 +02:00
Bård Skaflestad
0f98ce7d6c
Restore missing constructor argument
...
The 'grav' argument (gravity vector) was apparently lost in a
mis-merge. This commit restores the missing argument.
2014-04-09 16:46:51 +02:00
Markus Blatt
b3ce9bd730
Updated examples/sim_fibo_ad_cp.cpp according to latest changes in examples/sim_fibo_ad.cpp
2014-04-09 14:40:56 +02:00
Markus Blatt
327f1b003d
Merge branch 'tester' into master-refactor-for-cpgrid-support
...
Resolved conflicts:
examples/sim_fibo_ad.cpp
opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-04-09 14:39:19 +02:00
Markus Blatt
3329e48c57
Adapted sim_fibo_ad_cp with latest changes for sim_fibo_ad
2014-04-09 13:18:28 +02:00
Bård Skaflestad
a784d50f1e
Merge branch 'master' into blattms-master-refactor-for-cpgrid-support
...
Conflicts:
examples/sim_fibo_ad.cpp
opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
This brings the "CpGrid support" branch up to date with respect to
recent changes in opm-autodiff master.
2014-04-08 16:31:17 +02:00
Atgeirr Flø Rasmussen
bd44127bd6
Renamed more classes.
...
FullyImplicitSystemSolver{Interface, Simple} -> NewtonIterationBlackoil{Interface, Simple}.
Change suggested by B. Skaflestad.
2014-04-08 16:11:08 +02:00
Atgeirr Flø Rasmussen
f1956f05f9
Merge branch 'cpr-preconditioning' into cpr-preconditioning-again
...
Conflicts:
examples/sim_fibo_ad.cpp
examples/test_implicit_ad.cpp
opm/autodiff/FullyImplicitBlackoilSolver.cpp
opm/autodiff/SimulatorFullyImplicitBlackoil.cpp
opm/autodiff/SimulatorFullyImplicitBlackoil.hpp
2014-04-08 15:06:01 +02:00
Andreas Lauser
8437051416
make everything compile with the newly refactored EclipseWriter
...
the states needed to be removed from the call to writeInit()...
2014-04-02 17:06:20 +02:00
Andreas Lauser
5e7064b337
sim_fibo_ad: remove compatibility code for old parser
...
this makes the simulator quite a bit more maintainable: setting
USE_NEW_PARSER to 0 did not even compile after the the constructor for
the wells manager which took the old deck was removed last
week. Since, according to Atgeirr, SPE-1 is now producing exactly the
same results as before, it also does no longer make too much sense to
keep that code on life support...
2014-03-31 16:39:17 +02:00
Markus Blatt
46f3607641
Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
...
Resolved conflicts:
opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-03-31 11:39:37 +02:00
osae
b86fa0af86
New parser included.
2014-03-28 17:35:43 +01:00
Atgeirr Flø Rasmussen
4b53f88685
Fix timer usage.
...
This makes the simulator produce proper summary output again.
2014-03-28 14:31:30 +01:00
Markus Blatt
b279a174db
Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
...
Conflicts:
examples/sim_fibo_ad.cpp
opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-03-27 16:17:44 +01:00
Kai Bao
0914841823
A small fixing to make the sim_fibo_ad using the new timer.
2014-03-27 11:15:55 +01:00
Joakim Hove
2f23e72bea
Removed calls to WellsManager() constructor which uses old EclipseGridParser.
2014-03-25 19:36:42 +01:00
Joakim Hove
b398ce3b3d
Removed Wellsmanager constructor which used old EclipseGridParser instance.
2014-03-25 19:12:19 +01:00
Joakim Hove
dd66aa80e8
Removed WellsManager constructor which takes an ole Eclipsegridparser instance.
2014-03-25 18:57:58 +01:00
Joakim Hove
a845cfdfd7
Removed WellsManager constructor which takes an ole Eclipsegridparser instance.
2014-03-25 18:57:58 +01:00
Andreas Lauser
168b4379d5
don't pass the eclipsewriter to the simulator anymore
...
i.e., the simulator does not deal with any output operations
anymore. This makes sense because report steps are handled by
Opm::TimeMap and the constructor for the simulator already needs more
arguments than appropriate even without this...
2014-03-25 13:17:30 +01:00
Markus Blatt
8df314e90f
Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
...
Manually resolved conficts in the following files
examples/sim_fibo_ad.cpp
opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
opm/autodiff/SimulatorFullyImplicitBlackoil_impl.hpp
In additions examples/sim_fibo_ad_cp.cpp was adapted to compile again.
2014-03-25 11:11:08 +01:00
Atgeirr Flø Rasmussen
cdeac8eed8
Merge pull request #105 from andlaus/sim_fibo_ad_dont_instantiate_old_parser
...
sim_fibo_ad: don't instantiate an old parser object if USE_NEW_PARSER is set anymore
2014-03-21 09:03:20 +01:00
Andreas Lauser
79c93953f8
sim_fibo_ad: don't instantiate an old parser object if USE_NEW_PARSER is set anymore
...
I thought I included this in a previous PR. Seems like I was wrong...
2014-03-20 15:44:53 +01:00
Andreas Lauser
dee6f683cb
sim_fibo_ad: re-add ouputting of the current report step when using opm-parser
...
in the old parser, this was called 'epoch'...
2014-03-20 13:14:34 +01:00
Andreas Lauser
49a5b67137
sim_fibo_ad: fix writing
...
the initial condition was written multiple times. We now fix this by
not writing anything in the simulator and moving this logic to the
main loop..
2014-03-19 17:40:51 +01:00
Andreas Lauser
66d73083b2
sim_fibo_ad: convert to the new-style wells manager
...
i.e. it now uses Opm::EclipseState. This change required to re-add the
the epoch concept in some sense, but the loop variables now call it
"episode" which sounds less ethernal IMO.
2014-03-19 17:40:38 +01:00
Atgeirr Flø Rasmussen
295677c8c1
Use WellStateFullyImplicitBlackoil class instead of WellState.
2014-03-18 11:27:40 +01:00
Liu Ming
1e41e58ce7
makd PolymerProperties handle PLYSHEAR keyword.
2014-03-18 13:25:52 +08:00
Markus Blatt
ec32758822
Removed last occurence of the grid adapter in the EclipseOutputWriter.
2014-03-13 16:33:36 +01:00
Markus Blatt
f4812c21eb
Add an example program of FIBOS that uses CpGrid.
2014-03-13 16:33:36 +01:00
Atgeirr Flø Rasmussen
200b5372dd
Added simple program example for initialisation.
2014-02-27 13:55:15 +01:00
Andreas Lauser
5de11630d5
use the SimulatorTimer which is based on opm-parser's TimeMap
...
at least if the USE_NEW_PARSER preprocessor macro in sim_fibo_ad.cpp
is set to 1. (if it is false, nothing changes.)
2014-02-27 11:56:33 +01:00
Andreas Lauser
c23b38f60b
re-add the epoch stuff
...
this is required until the new time step handling code lands...
2014-02-14 17:57:08 +01:00
Andreas Lauser
d7d25253f3
adapt to the changes in the APIs of the parser-integrate branch in opm-core
...
Since the SimulationTimer, EclipseWriter and WellsManager stuff has
not (yet?) been merged, the old parser is required to be around. Use
my parser-integrate-hacks_for_norne branches to test your stuff on the
Norne deck...
2014-02-14 17:57:08 +01:00
Andreas Lauser
09f56b416f
sim_fibo_ad: add macro to easily switch between the old and the new parser
2014-02-14 17:56:25 +01:00
Andreas Lauser
6b0e1d4562
sim_fibo_ad: completely replace the old eclipse parser by the new one
...
this required to abandon the "Epoch" stuff which the new parser does
not have (as well as the ECLIPSE file format knows nothing about
epochs). Handling well controls properly thus has to wait until Joakim
and Kristian finish refurbishing the WellsManager, so as a stop-gap
measure, only the first "epoch" is run.
2014-02-14 17:56:20 +01:00
Andreas Lauser
2deeeef4e4
really use the new parser
...
in the previous commit this was #if 0'ed...
2014-02-14 17:56:08 +01:00
Andreas Lauser
7f485626a2
use the new parser to read the PVT and grid data from the deck
...
the old code has not yet been removed, but in the long term, this is
probably the way to go.
2014-02-14 17:56:07 +01:00
Andreas Lauser
627b1f3906
make the deck from opm-parser available to the black-oil PVT property classes
2014-02-14 17:56:07 +01:00
Atgeirr Flø Rasmussen
a14cff7834
Use new linear solver interface in fully implicit solver.
...
This includes:
- Using the class FullyImplicitBlackoilResidual instead of
in-class definition for the residual object.
- Changing residual field name mass_balance to material_balance_eq.
- Letting the simulator and solver classes accept a
FullyImplicitSystemSolverInterface instead of a LinearSolverInterface.
- In sim_fibo_ad and test_implicit_ad, instantiate class
FullyImplicitSystemSolverSimple, replicating existing behaviour.
2014-02-10 10:47:21 +01:00
Atgeirr Flø Rasmussen
0de82f3172
Remove more unused code.
2014-01-31 12:29:15 +01:00
Liu Ming
12318fe754
output watercut by using utilities.cpp/computeInjectedProduced function.
2014-01-22 14:17:04 +08:00
Joakim Hove
37274035bc
Changed direct access to struct WellControls to rather use well_controls_get_xxx() api.
2014-01-09 09:39:08 +01:00
Liu Ming
cf28164a5a
new simulator for fully implicit compressible twophase
...
polymer works.
2013-12-27 15:48:04 +08:00
Liu Ming
c37539b3ab
add well controls for polymer, but rate control just for
...
water phase and oil phase.
2013-12-24 17:31:11 +08:00
Liu Ming
2985dc7cce
make the simulator read from deckfile
...
make it much more gerenal.
2013-12-17 23:49:09 +08:00
Liu Ming
970fe665d8
add the bhp well controls.
2013-12-17 17:36:43 +08:00
Liu Ming
11ea882ed8
remove some output commits.
...
get values from command line for exapmes.
2013-12-11 18:27:05 +08:00
Liu Ming
a358da7afa
fix the polymer source bug,
...
warnning: water initial saturation should not bt zero when
running this simulator.
2013-12-10 20:36:30 +08:00
Liu Ming
6fc24236df
fix FullyImplicitTwophasePolymersolver constructor problem.
...
add some input commits for debugging.
2013-12-09 22:57:44 +08:00
Andreas Lauser
2cf32b6f4f
Use EclipseWriter from opm-core
...
Note: The interface here requires opm/opm-core#424 .
2013-11-27 15:45:45 +01:00
Andreas Lauser
1c62934034
fix some clang 3.3 warnings
...
The most severe change probably is the removal of the AutoDiff
debugging helper functions which were useful from within a debugger
but unfortunately had to rely on a presumed linker bug in order not to
be removed in the final binary.
Also, some private attributes were unused. These have been removed and
the constructors of their respective classes have been adapted. Once
their intended functionality is actually implemented, they should be
brought back on an as-needed basis.
Thanks to @bska for the review!
2013-11-14 14:33:38 +01:00
Bård Skaflestad
8159104218
Fix null-pointer dereference during well construction
...
The three-argument WellsManager constructor needs access to the real
permeability field lest a null-pointer dereference result when the
problem actually contains any wells.
2013-09-25 15:11:14 +02:00
Atgeirr Flø Rasmussen
cc58bc3cef
Fix minor issues pointed out by bska.
2013-09-23 13:02:56 +02:00
Atgeirr Flø Rasmussen
a10eb61b66
Require deck and remove simple source term in fully implicit sim.
2013-09-20 14:32:29 +02:00
Atgeirr Flø Rasmussen
9337a6227b
Renamed misleading adfi -> fi.
...
Some classes and a program were renamed since they were not fully implicit
solvers despite their names indicating it.
2013-09-19 14:52:39 +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
Atgeirr Flø Rasmussen
a33f7e964b
Let sim_2p_comp_ad throw if not given an input deck.
...
There is some code in place now to create wells for the no-deck case,
but since it does not work correctly yet, the simulator intercepts this
and throws.
2013-09-19 10:09:53 +02:00
Andreas Lauser
aa62980fbf
catch all exceptions in all tutorials and examples
2013-09-05 13:04:38 +02:00
Andreas Lauser
4e96915af1
catch all exceptions in all tutorials and examples
2013-09-05 13:04:38 +02:00
Andreas Lauser
a224122d84
catch all exceptions in all tutorials and examples
2013-09-05 13:04:38 +02:00
Andreas Lauser
1605b88d66
convert THROW to OPM_THROW
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
0582ef08d8
explicitly include <iostream>
...
instead of relying on relying that some header includes it...
2013-09-05 12:28:16 +02:00
Andreas Lauser
8ee63106c5
Replace THROW by OPM_THROW
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
05af2ab6ff
Replace MESSAGE by OPM_MESSAGE
2013-09-03 15:43:58 +02:00
Andreas Lauser
7e8d941a6f
Replace THROW by OPM_THROW
2013-09-03 15:43:58 +02:00
Andreas Lauser
8ce809c400
Add exception handlers to all unit tests, tutorials and examples
2013-09-03 15:43:51 +02:00
Andreas Lauser
2a26964c7d
replace boost::scoped_ptr by std::unique_ptr
...
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Andreas Lauser
e6a2f2655a
replace boost::scoped_ptr by std::unique_ptr
...
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2013-08-08 15:21:38 +02:00
Bård Skaflestad
a9b90b34f8
Use UMFPACK solver if available in sim_simple.cpp.
...
Fall back to Eigen's BiCGSTAB solver if UMFPACK is not available. The
BiCGSTAB is built into Eigen and consequently always available when
Eigen is found.
2013-07-09 14:39:44 +02:00
Andreas Lauser
7139f4addf
do use eigen's umfpack support anymore
...
use BiCGStab instead. it might be slower, but at least it is always
available...
2013-07-09 13:33:57 +02:00
Atgeirr Flø Rasmussen
07027d3a09
Added rock compressibility to fully implicit solver.
2013-06-03 14:14:48 +02:00
Atgeirr Flø Rasmussen
62d0ad85b8
Use BlackoilPropsAdFromDeck in fully implicit simulator.
2013-05-27 22:28:17 +02:00
Atgeirr Flø Rasmussen
6f6979e173
Now initialize with new code (for gas-oil ratio).
2013-05-27 22:00:34 +02:00
Atgeirr Flø Rasmussen
09c4362e3c
Added solveJacobianSystem() method, finished step().
...
Code is now functionally complete apart from lacking miscibility,
not writing to all promised output variables and not writing the
promised output to disk. Initial testing has been unsuccessful,
so there are bugs in the code.
2013-05-26 11:49:44 +02:00
Bård Skaflestad
26e965e858
Add an operator<< for outputting vector results.
...
Use it out print reservoir and well pressures at end of solution.
2013-05-24 19:15:14 +02:00
Bård Skaflestad
c5ad446a0a
Include well support in FIBOSolver interface.
...
Update callers accordingly.
2013-05-24 15:27:19 +02:00
Atgeirr Flø Rasmussen
c569fb2a14
Created fully implicit simulator sim_fibo_ad.
2013-05-24 12:32:28 +02:00
Atgeirr Flø Rasmussen
3d008c033d
Class FullyImplicitBlackoilSolver is no longer a template.
2013-05-24 11:00:55 +02:00
Atgeirr Flø Rasmussen
57a3bd2113
Renamed ImplicitBOStep -> FullyImplicitBlackoilSolver.
2013-05-24 10:49:59 +02:00
Bård Skaflestad
12e4557b08
Add first cut at fully implicit system assembly.
...
Compile-tested only.
At this point, we only include reservoir effects--i.e., we don't
consider wells.
2013-05-23 18:28:50 +02:00
Atgeirr Flø Rasmussen
d171f043e5
Added simulator class and program using ImpesTPFAAD.
...
This copies similar code from opm-core and replaces
CompressibleTpfa with ImpesTPFAAD. Produces same results
for initial simple test cases.
2013-05-22 22:53:40 +02:00
Atgeirr Flø Rasmussen
3e8bb53730
Moved implementation of class ImpesTPFAAD to separate file.
...
Also cleaned up header usage in ImpesTPFAAD.hpp, making some
new inclusions necessary in test program.
2013-05-22 15:49:55 +02:00
Atgeirr Flø Rasmussen
abc23b8009
ImpesTPFAAD is no longer a template class.
2013-05-22 15:27:16 +02:00
Atgeirr Flø Rasmussen
e86aa3324c
Moved DerivedGeology class to GeoProps.hpp.
...
Also, it is no longer a template (but its constructor is).
2013-05-22 15:16:24 +02:00
Atgeirr Flø Rasmussen
511ab37dc4
Fix error in testcase specifying well prod. factors.
...
Also switch back to surface volume controls.
2013-05-22 12:33:40 +02:00
Atgeirr Flø Rasmussen
8cc16466a9
Make ImpesTPFAAD use abstract fluid interface instead of template.
...
Follow-up changes to test program. Also while there, input correct
number of perforations to add_well() calls.
2013-05-22 11:13:14 +02:00
Atgeirr Flø Rasmussen
476220c84b
Refined test to have multi-perforation wells.
2013-05-22 08:34:50 +02:00
Atgeirr Flø Rasmussen
c6b640d3db
Change example to use a surface rate constraint for one well.
2013-05-22 00:10:16 +02:00
Atgeirr Flø Rasmussen
9aea3b4589
Removed extra init that is no longer necessary.
2013-05-21 23:35:28 +02:00
Atgeirr Flø Rasmussen
73ba67ec13
Make the test run a simple bhp-controlled case.
2013-05-21 15:42:10 +02:00
Atgeirr Flø Rasmussen
cc1f8ed21a
Refactored ImpesTPFAAD to use BlackoilPropsAd interface.
...
Not yet tested, but compiles and runs. Stops on error message
due to lack of viscosity derivatives.
2013-05-16 16:05:47 +02:00
Atgeirr Flø Rasmussen
37677fe032
Print face fluxes after solve.
...
Also define the HACK_INCOMPRESSIBLE_GRAVITY symbol, since test case
is meaningless without it.
2013-05-16 14:49:12 +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
57f73517c0
Move MRST example closer to actual example
2013-05-15 10:37:50 +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
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
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
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
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
Andreas Lauser
a2065b4101
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
7d5d314fc0
Update to match opm-core changes.
2013-03-18 13:10:32 +01:00
Atgeirr Flø Rasmussen
4fc8f52fb2
Moved ColumnExtract and initState.
...
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2013-03-18 12:47:23 +01:00
Atgeirr Flø Rasmussen
f3ec8e1634
Moved ColumnExtract and initState.
...
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2013-03-18 12:47:23 +01:00
Atgeirr Flø Rasmussen
f9f5cbf321
Moved ColumnExtract and initState.
...
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2013-03-18 12:47:23 +01:00
Atgeirr Flø Rasmussen
2d876925b7
Update to follow previous moves and deletes.
2013-03-18 12:40:34 +01:00
Atgeirr Flø Rasmussen
bfa9997dd2
Renamed newwells.h -> wells.h.
...
Also moved implementation file to subdir.
2013-03-18 10:33:34 +01:00
Atgeirr Flø Rasmussen
e319fd1e38
Renamed newwells.h -> wells.h.
...
Also moved implementation file to subdir.
2013-03-18 10:33: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
5fc63031ed
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
c7789d7e52
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
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
c16cb6987b
Renames classes in line with opm-core changes.
2013-03-15 18:33:41 +01:00
Atgeirr Flø Rasmussen
87c8d0dc28
Modified for added files and changed class names.
2013-03-14 21:43:21 +01:00
Atgeirr Flø Rasmussen
864cce5f5e
Adapt to moved opm-core headers.
2013-03-14 13:59:31 +01:00
Atgeirr Flø Rasmussen
e83057e0ea
Adapt include statements to moved headers.
2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
6127afc1c6
Adapt include statements to moved headers.
2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
b73a33f4af
Adapt include statements to moved headers.
2013-03-14 10:29:42 +01:00
Atgeirr Flø Rasmussen
ddd41bfcd7
Moved opm/core/eclipse/* to opm/core/io/eclipse/*.
2013-03-07 22:59:06 +01:00
Roland Kaufmann
f5e19e9b87
Remove remnants of the Autotools build system
2013-02-22 23:34:21 +01:00
Atgeirr Flø Rasmussen
862c489cc3
Complete separation of basis func classes.
...
Also:
- Add use_tensorial_basis parameter allowing run-time choice of basis.
- Remove degree argument from solveTof() method, degree is instead obtained
from parameters in constructors. Modified compute_tof* programs to match.
2013-01-16 15:13:45 +01:00
Atgeirr Flø Rasmussen
a0827ab02d
Change constructor to take ParameterGroup argument.
...
Also make tof to limit against >= 0.0, for case when upstream cell values go
below zero.
Disabled some debug output.
2013-01-08 13:14:26 +01:00
Atgeirr Flø Rasmussen
76868ebc1c
Added parameter compute_tracer. Defaults to false.
...
Triggers tracer computation and output, in addition to time-of-flight.
2013-01-03 14:08:09 +01:00
Atgeirr Flø Rasmussen
3e723bc965
Added limiter for DG1, parameter 'use_limiter'.
...
The limiter is experimental and unfinished, untested work in progress.
Limiter is therefore inactive by default.
Also fixed a minor bug: use_cvi_ was not initialized.
2012-12-18 14:15:31 +01:00
Atgeirr Flø Rasmussen
1272575f1f
Add use_multidim_upwind parameter.
2012-10-30 10:32:29 +01:00
Atgeirr Flø Rasmussen
43162d7d99
Increased number of digits in output.
2012-10-29 08:27:59 +01:00
Atgeirr Flø Rasmussen
29b2bcad45
Added new tof computation utility.
...
This program assumes that grid, porosity, flux field and sources are
available to read from files. It does not compute any flux field itself.
2012-10-25 14:47:26 +02:00
Atgeirr Flø Rasmussen
2b292108ad
Added well management to SimulatorCompressiblePolymer.
...
Another polymer-specific overload of computeFractionalFlow()
has been added in support of this (this overload deals with
compressible properties.
Also added pressure normalization for situations with arbitrary
absolute pressure.
2012-10-15 14:23:13 +02:00
Atgeirr Flø Rasmussen
f5861f0cc8
Added well management to SimulatorPolymer.
...
A polymer-specific overload of computeFractionalFlow()
has been added in support of this.
Also added a minor feature: pressure normalization for
situations with arbitrary absolute pressure.
2012-10-10 23:19:35 +02:00
Atgeirr Flø Rasmussen
e13e77a7bb
Simulators handle WPOLYMER keyword.
...
They do this by using the class PolymerInflowFromDeck
instead of PolymerInflowBasic if there is a WPOLYMER
keyword somewhere in the deck epochs. If there is no
WPOLYMER, the parameters 'poly_start_days' etc. will
be used to construct an instance of PolymerInflowBasic
instead.
2012-10-04 16:00:33 +02:00
Atgeirr Flø Rasmussen
6033e5ca69
Make polymer inflow specification by cell.
...
Before, it was a single number for the whole domain. It could vary
with time, though.
Simulator behaviour should be identical before and after this commit.
This touches the classes TransportModel*Polymer, Simulator*Polymer,
and the computeInjectedProduced() functions. The PolymerInflow class
and its usage has been replaced with PolymerInflowInterface, and
a subclass PolymerInflowBasic has been created which provides the
old behaviour (using parameters poly_start_days, poly_end_days and
poly_amount).
2012-10-04 13:38:22 +02:00
Atgeirr Flø Rasmussen
f5eb116410
Removed unused program.
...
Use sim_poly2p_incomp_reorder instead. It should have all features of
the older program, and supports scheduling in addition.
2012-10-04 13:36:39 +02:00
Xavier Raynaud
7f1a1d7e24
Merge remote-tracking branch 'upstream/master'
2012-09-05 13:35:48 +02:00
Atgeirr Flø Rasmussen
a6d3e2eef4
Merge branch 'master' into nonuniform_fluid_tables
...
Conflicts:
Makefile.am
opm/core/fluid/BlackoilPropertiesFromDeck.hpp
opm/core/fluid/SaturationPropsFromDeck.cpp
opm/core/fluid/SaturationPropsFromDeck.hpp
opm/core/fluid/blackoil/BlackoilPvtProperties.cpp
opm/core/fluid/blackoil/BlackoilPvtProperties.hpp
opm/core/fluid/blackoil/SinglePvtDead.cpp
This merge combines three more-or-less orthogonal features
for saturation tables: the option to use StoneII or Simple
three-phase behaviour, the option to fit a spline or not,
and finally setting the number of samples used (if spline
fitting).
Interfaces have changed, the most top-level one being
that BlackoilPropertiesFromDeck::init() now also takes
a ParameterGroup argument.
2012-09-04 11:42:31 +02:00
Xavier Raynaud
8752f14015
Added executable example for compressible with polymer.
2012-09-03 13:52:59 +02:00
Xavier Raynaud
e1a5c1dc94
Removed redundant header file include.
2012-09-03 12:55:10 +02:00
Xavier Raynaud
becf485795
Changes to avoid compilator warning.
2012-08-29 13:48:19 +02:00
Xavier Raynaud
a13f3cf43b
Fixed examples/Makefile.am.
2012-08-29 13:47:05 +02:00
Xavier Raynaud
a9456704e1
Removed private configuration options.
2012-08-28 15:29:27 +02:00
Atgeirr Flø Rasmussen
77270f4a25
Added class SinglePvtDead, add parameter 'props_use_spline' to simulators.
...
Recall that the class that used to be called SinglePvtDead has
been renamed to SinglePvtDeadSpline. If 'props_use_spline' is true,
that class is used (this is the default), which makes a monotone
spline that is uniformly, densely sampled. The new class simply
uses linear interpolation in the input tables.
2012-08-27 16:48:21 +02:00
Xavier Raynaud
9a271a6038
Added (fluid) compressible pressure solver for polymer.
2012-08-27 13:16:10 +02:00
Atgeirr Flø Rasmussen
ba042c7241
Minor revision, mostly whitespace cleanup and comments.
2012-08-27 09:48:06 +02:00
Xavier Raynaud
51e0512989
Removed non-used members in class ResidualEquation.
2012-08-23 16:51:51 +02:00
Xavier Raynaud
52a19192cb
Added PROFILING preprocessor flag.
2012-08-23 14:58:26 +02:00
Atgeirr Flø Rasmussen
638eee501b
Added compressible 2-phase simulator, to replace sim_wateroil.cpp.
2012-08-23 14:07:11 +02:00
Atgeirr Flø Rasmussen
2ade3eff60
Add missing header.
2012-08-20 16:40:28 +02:00
Atgeirr Flø Rasmussen
21a893c70a
Improved treatment of parameters, uniformity with non-polymer sim.
2012-08-20 16:39:28 +02:00
Bård Skaflestad
0c0ea6863f
Chase interface change of Opm::IncompPropertiesFromDeck constructor.
2012-08-10 12:27:41 +02:00
Atgeirr Flø Rasmussen
158c33eb53
Constructors of *FromDeck classes now take an UnstructuredGrid.
...
This is a change from taking a vector containing the mapping to
deck-consistent logical cartesian indices. The mapping is contained
in the UnstructuredGrid::global_cell member, and may be null. The
change therefore saves the overhead of constructing a vector as a
copy of the data in the grid or (if null) as an identity mapping.
2012-08-10 10:12:45 +02:00
Atgeirr Flø Rasmussen
ffdf7ed4f7
Adapt to possibility for Cartesian grids from deck input.
...
Now we may have a grid generated from deck input using the
keywords DXV, DYV, DZV, which will have a null pointer for
the global_cell mapping. We check if this pointer is null,
and create an identity mapping in this case. The mapping is
needed by the *PropertiesFromDeck classes (and helpers).
2012-08-09 14:35:00 +02:00
Atgeirr Flø Rasmussen
2864b99057
Added test program for investigating single-cell solver performance.
...
Note that due to a design constraint in the transport solver, namely
that inflowing fluid must consist of only water (possibly with polymer),
and no oil, the program fails unless the comment on lines 186-- is
heeded.
2012-07-03 15:48:36 +02:00
Halvor M. Nilsen
497822b893
Added posibility to use eclipse fluid for 1D case. Corrected bug in guess for newton solver
2012-07-03 11:05:51 +02:00
Halvor M. Nilsen
07f5c353e0
Changed initailizing of table for visc_mult_vals so one can set c_max and c_max_ciscmult
2012-06-26 08:40:26 +02:00
Halvor M. Nilsen
b13416be86
Made new single cell solvers.
2012-06-15 14:40:07 +02:00
Atgeirr Flø Rasmussen
92bc55385d
Update porosities before calling transport solver.
2012-06-14 21:53:56 +02:00
Atgeirr Flø Rasmussen
8acd441149
Added simulator program handling scheduling.
2012-06-14 14:26:54 +02:00
Atgeirr Flø Rasmussen
cd9be1030a
Adapt to moved SimulatorTimer class, and use common SimulatorReport class.
2012-06-14 14:26:29 +02:00
Atgeirr Flø Rasmussen
67c13e794a
Moved SimulatorTimer class to opm/core/simulator directory.
2012-06-14 14:02:22 +02:00
Xavier Raynaud
03c93ec9e5
fixed examples/Makefile.am
2012-06-14 12:48:49 +02:00
Xavier Raynaud
ee89824e0d
Added gradient method option in polymer reorder.
2012-06-14 08:54:24 +02:00
Xavier Raynaud
87c68cf783
Added forgotten argument to function.
2012-06-14 08:44:09 +02:00
Xavier Raynaud
6620a1b5cd
In profiling branch: merged last default branch.
2012-06-14 08:38:01 +02:00
Atgeirr Flø Rasmussen
7a40153e51
Added IncompTpfaPolymer class.
2012-06-13 19:56:44 +02:00
Xavier Raynaud
4c7c439dd7
merge.
2012-06-13 15:56:09 +02:00
Xavier Raynaud
cab3652c49
Added corey fluid class.
2012-06-13 15:48:09 +02:00
Atgeirr Flø Rasmussen
bc963a2333
Removed class PolymerInflow (moved to PolymerUtilities.hpp).
2012-06-13 15:45:27 +02:00
Xavier Raynaud
ce6e21c0d6
updated polymer_reorder (profiling branch).
2012-06-13 15:44:34 +02:00
Xavier Raynaud
6033527a82
Added pure Newton single cell method. Correction of Jacobi. sc formulation.
2012-06-13 15:11:30 +02:00
Atgeirr Flø Rasmussen
9766b36cf2
Removed more unused code.
2012-06-13 14:51:53 +02:00
Atgeirr Flø Rasmussen
a795166ee8
Remove unused code (wdp data now lives within IncompTpfa).
2012-06-13 14:46:19 +02:00
Atgeirr Flø Rasmussen
ffd33be55d
Changed interface of TransportModelPolymer to expect full saturation, not just water.
2012-06-13 14:18:32 +02:00
Atgeirr Flø Rasmussen
c4b81d8da5
Removed two unnecessary arguments from TransportModelPolymer constructor.
2012-06-13 12:46:57 +02:00
Atgeirr Flø Rasmussen
07130c55f7
Updated to match change in IncompTpfa interface.
2012-06-13 10:54:00 +02:00
Atgeirr Flø Rasmussen
bad5614ced
Examples and tutorials follow change to IncompTpfa interface.
2012-06-12 15:28:53 +02:00
Xavier Raynaud
c583f4b4cd
Added corey relative permeabilities.
2012-06-12 14:07:31 +02:00
Xavier Raynaud
37657d9feb
Added comment.x
2012-06-11 16:23:33 +02:00
Xavier Raynaud
022b1ccb11
Small changes in Newton/Gradient method.
2012-06-11 15:59:33 +02:00
Xavier Raynaud
02c5935865
Added profiling branch. Compute number of residual evaluations.
2012-06-11 14:44:21 +02:00
Xavier Raynaud
9eb9ba372d
merge
2012-06-11 14:40:55 +02:00
Xavier Raynaud
74b499f7be
input parameter for injection is given by volume per day.
2012-06-06 17:04:17 +02:00
Atgeirr Flø Rasmussen
3660ec8e8c
Follow headers that were moved in opm-core.
2012-06-05 15:45:41 +02:00
Atgeirr Flø Rasmussen
3487ee840d
Reorganized, added opm/core/wells/ and opm/core/simulator/.
2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
3b8ed65764
Bugfix in computation of injected and produced volumes.
...
- Use correct function (from polymerUtilities.hpp).
- Use correct input src term (equal to transport src).
- Call at the correct point (after advective transport).
2012-05-25 11:39:50 +02:00
Atgeirr Flø Rasmussen
00a628fa87
Removed orphan backslash.
2012-05-24 09:16:45 +02:00
Xavier Raynaud
68434429ac
Removed changes in Makefile.am which should not have been committed.
2012-05-24 08:34:47 +02:00
Xavier Raynaud
91fe1c5d63
Removed useless commented regions.
2012-05-23 16:24:08 +02:00
Xavier Raynaud
4b805c191e
Added bound checks to Newton column solver.
2012-05-23 16:22:48 +02:00
Xavier Raynaud
f8461eeec7
Added initialization of max concentration.
2012-05-22 11:15:40 +02:00
Xavier Raynaud
48adf98b5a
Corrected some mistakes in Gauss Seidel gravitation transport solver.
2012-05-21 16:41:29 +02:00
Atgeirr Flø Rasmussen
c115ba2c28
Adapt to renaming and other small modifications of state and initialization.
2012-05-16 15:59:37 +02:00
Xavier Raynaud
60599b9dbf
Implemented Gauss-Seidel solver for polymer. Not tested!
2012-05-16 15:06:14 +02:00
Atgeirr Flø Rasmussen
13334f97d7
Renamed initStateTwophaseFromDeck() -> initStateFromDeck().
...
- Made initStateFromDeck() into a template taking arbitrary properties.
Implementation detail:
- initWaterOilContact() was also templatized on props.
- initHydrostaticPressure() is now overloaded on prop interface types.
2012-05-16 11:37:31 +02:00
Atgeirr Flø Rasmussen
7d54d1f31b
Adapt to changed interface of computePorevolume().
2012-05-14 21:47:46 +02:00
Atgeirr Flø Rasmussen
efce958c3b
Now computePorevolume() takes a porosity array instead of a property object.
...
This is to make it compatible with blackoil properties.
An alternative would be to give [Incomp|Blackoil]PropertiesInterface a
common base class (RockInterface?) with the common rock-related methods.
2012-05-14 21:47:10 +02:00
Atgeirr Flø Rasmussen
bcb4c1bf2c
Use simpler data structure for columns.
2012-05-14 11:06:30 +02:00
Xavier Raynaud
49948e07b9
merge
2012-05-14 10:50:26 +02:00
Atgeirr Flø Rasmussen
67a6674495
Update for simplified column data structure.
2012-05-11 09:41:01 +02:00
Xavier Raynaud
898eb655d5
added warning if use_gauss_seidel_gravity is used for gravitation solver.
2012-05-10 17:53:01 +02:00
Xavier Raynaud
1eb75314e6
Make polymer_reorder.cpp compliant with well management. Not tested!
2012-05-10 14:42:08 +02:00
Kjetil Olsen Lye
886457002e
Changed some minor bugs in the refactored code in wells_example
2012-05-08 12:23:58 +02:00
Kjetil Olsen Lye
0bd88866f2
Refactored some computations into seperate methods in wells_example.cpp
2012-05-08 11:04:15 +02:00
Kjetil Olsen Lye
72a0db5f73
removed an extra uneeded call to the pressure solver
2012-05-07 15:51:54 +02:00
Kjetil Olsen Lye
562573a078
Inserted rock_comp into wells_example.
2012-05-07 13:29:52 +02:00
Kjetil Olsen Lye
6782067d8d
Made a maximum number of iterations in wells_test
2012-05-03 15:35:44 +02:00
Kjetil Olsen Lye
81a9d2a5c1
Added calculation of fractional flows and per phase flows in wells_example
2012-05-03 12:29:18 +02:00
Kjetil Olsen Lye
bebe50afb0
Final fixes for new well structure (to make it compile)
2012-05-02 13:02:59 +02:00
Kjetil Olsen Lye
7c6ac0bf09
Completly revamped the way group control is checked
2012-04-25 16:14:40 +02:00
Atgeirr Flø Rasmussen
6b00381393
Removed unused saturation argument from conditionsMet() methods.
2012-04-25 14:03:57 +02:00
Atgeirr Flø Rasmussen
8acd9d9f63
Fixed bug in computeWDP(), add gravity argument. Make WellReport output in friendly units.
2012-04-25 12:37:30 +02:00
Atgeirr Flø Rasmussen
9806f78a77
Update call to computeTransportSource() to match interface change.
2012-04-25 08:32:35 +02:00
Atgeirr Flø Rasmussen
4e55e8c912
Minor change to computeWDP() interface.
2012-04-24 13:48:00 +02:00
Xavier Raynaud
81d90b28e2
merge
2012-04-23 14:06:44 +02:00
Kjetil Olsen Lye
1d54445546
Added a (small) hack to wellmanager (defaulting injected_phase to water)
2012-04-23 13:24:47 +02:00
Xavier Raynaud
e867c53722
polymerUtilities uses now PolymerProperties to compute effective mobilities.
2012-04-23 11:49:05 +02:00
Atgeirr Flø Rasmussen
4ae1339460
Catch exceptions from boost::create_directories() to give useful error message.
2012-04-23 11:09:09 +02:00
Atgeirr Flø Rasmussen
e02429f5dc
Using LinearSolverFactory now.
2012-04-23 11:07:43 +02:00
Xavier Raynaud
a0794117c9
Cleaned code for computation of residual, many changes, not tested!
2012-04-19 17:21:08 +02:00
Atgeirr Flø Rasmussen
4d3a5ccfad
Adapted to IncompTpfa needing well input/output.
2012-04-18 13:35:15 +02:00
Kjetil Olsen Lye
4197f16a14
Passed around a WellControlResult argument to the different wellcontrol functions
2012-04-17 16:36:49 +02:00
Kjetil Olsen Lye
d557b91db0
Made use of the new LinearSolverFactory in wells_example
2012-04-16 12:18:37 +02:00
Kjetil Olsen Lye
fe739986be
modified the group control interface slightly
2012-04-13 20:41:09 +02:00
Kjetil Olsen Lye
fb95c6da19
Added computations for total flow for each well
2012-04-13 14:22:44 +02:00
Kjetil Olsen Lye
fcca65748e
Added checks for BHP and fluid_volume_rate for group control. Also added error tolerance for group control
2012-04-13 12:57:47 +02:00
Kjetil Olsen Lye
40ac7414ac
Made a (possibly wrong) adjustment to well_controls_append. Each control now has its current index set to 0, as there's only supposed to be one control per well.
2012-04-12 18:47:06 +02:00
Kjetil Olsen Lye
23019eb23d
Made a computeWDP-function
2012-04-12 17:50:51 +02:00
Kjetil Olsen Lye
bbb5f56d2b
Changed input arguments for group checking
2012-04-12 16:56:58 +02:00
Kjetil Olsen Lye
fbf157bb41
Made queries upwards from wells to group to group
2012-04-12 15:48:24 +02:00
Atgeirr Flø Rasmussen
346647ca37
Removed unused code.
2012-04-12 15:11:30 +02:00
Atgeirr Flø Rasmussen
ad298a39d4
Added rock compressibility effects to polymer_reorder.
2012-04-12 14:49:24 +02:00
Kjetil Olsen Lye
aaf887cf61
Made the WellNode be aware of their own index
2012-04-12 14:25:39 +02:00
Atgeirr Flø Rasmussen
eb502faae7
Moved AdHocProps to new Inc.Props.DefaultPolymer class.
...
Also moved some functions in polymer_reorder.cpp to be more similar to spu_2p.cpp.
2012-04-12 14:10:47 +02:00
Atgeirr Flø Rasmussen
4d41caeea4
Added parameter num_transport_substeps and implemented substepping.
2012-04-12 13:49:29 +02:00
Atgeirr Flø Rasmussen
c99e396ed1
Silence warnings related to ad-hoc polymer fluid wrapper class.
2012-04-12 09:07:15 +02:00
Kjetil Olsen Lye
b37f1edc88
Made linear solving of first timestep
2012-04-11 15:29:58 +02:00
Kjetil Olsen Lye
7db1027935
Fixed namespacing issue
2012-04-10 14:47:29 +02:00
Atgeirr Flø Rasmussen
18618b2d62
Changed initialization and other parts to be more similar to spu_2p.cpp.
2012-04-02 15:46:17 +02:00
Atgeirr Flø Rasmussen
724645b3f8
Introduced enum for adsorption behaviour to make code more self-documenting.
2012-03-27 15:33:48 +02:00
Xavier Raynaud
252fada2b4
Adapted to change in gravitation solver interface.
2012-03-27 13:05:53 +02:00
Xavier Raynaud
873b25c9e4
merge.
2012-03-27 12:51:24 +02:00
Xavier Raynaud
b846b15f1f
Corrected typo: adsorbtion -> adsorption.
2012-03-27 11:26:55 +02:00
Xavier Raynaud
acedd4b596
Added adsorbtion in residual computation.
2012-03-27 11:20:20 +02:00
Kjetil Olsen Lye
88d6a626e3
Added exmaple file
2012-03-27 10:56:32 +02:00
Atgeirr Flø Rasmussen
cffd06ab91
Fixed segregation scenario init. Reinstated old AdHocProps behaviour.
...
AdHocProps: the relperm curves are now the same as in the standard small
testcase also used in the MRST prototype.
2012-03-27 09:36:37 +02:00
Xavier Raynaud
6d9f0ea3ec
Added support for adsorbtion index (desorbtion allowed or not).
2012-03-26 16:37:39 +02:00
Atgeirr Flø Rasmussen
294c8b03be
Bugfix in calculation of adsorbed polymer for balance reports.
2012-03-26 15:33:38 +02:00
Xavier Raynaud
c070f0ad4d
Added influx for scenario 3.
2012-03-26 13:45:35 +02:00
Xavier Raynaud
1836247dab
Added actual resistance factor. Not tested.
2012-03-23 17:40:03 +01:00
Xavier Raynaud
bd8288077f
Changed permeability values to run segregation test case.
2012-03-20 17:42:35 +01:00
Xavier Raynaud
272bc376bb
Added flags for computation methods (as in spu_2p).
2012-03-20 11:59:14 +01:00
Xavier Raynaud
e7e9c03a67
Added gravitation. Only segragation splitting and gravitation column solver.
2012-03-19 16:32:41 +01:00
Atgeirr Flø Rasmussen
6a6c039d8f
Added parameter 'output_interval'.
2012-03-15 15:10:09 +01:00
Atgeirr Flø Rasmussen
1554bfff11
Still working on adsorption computations.
2012-03-14 16:13:59 +01:00
Atgeirr Flø Rasmussen
b227b7e954
Add reporting of adsorbed polymer. Buggy, do not trust yet.
2012-03-14 16:03:28 +01:00
Atgeirr Flø Rasmussen
ad470a7796
Bugfix: dead pore space in polymer mass calc. Added computePolymerAbsorbed().
2012-03-14 15:54:36 +01:00
Atgeirr Flø Rasmussen
97cd0ffa73
Added polymer reporting to mass balances. Not with absorbed polymer yet.
2012-03-14 14:03:47 +01:00
Atgeirr Flø Rasmussen
48d0fdf0ba
Added comment.
2012-03-14 13:07:40 +01:00
Atgeirr Flø Rasmussen
5cd19e6dfa
Amount injected now defaults to max given by polymer properties.
2012-03-14 13:05:39 +01:00
Atgeirr Flø Rasmussen
46cc14a308
More changes for feature parity with spu_2p.
2012-03-14 12:52:38 +01:00
Atgeirr Flø Rasmussen
ae172597e0
Untabify again.
2012-03-14 11:19:47 +01:00
Atgeirr Flø Rasmussen
d8f39c747c
Adding features from opm-core/examples/spu_2p.cpp.
2012-03-14 11:19:05 +01:00
Atgeirr Flø Rasmussen
120055dc94
Untabify.
2012-03-14 10:40:05 +01:00
Atgeirr Flø Rasmussen
393807b165
Minor #include changes.
2012-03-14 10:39:43 +01:00
Bård Skaflestad
938640f180
Catch up to interface change of writeVtkData().
...
OPM-Core change-set 57bac968c8a6 replaced UnstructuredGrid pointers
with the corresponding (const) references.
2012-03-14 09:11:32 +01:00
Atgeirr Flø Rasmussen
93a747403e
Follow change to IncompTpfa (adding BCs).
2012-03-07 09:38:09 +01:00
Atgeirr Flø Rasmussen
5b21e24e79
Make default initial saturation equal to connate water. Use new total mobilities.
2012-03-06 16:08:35 +01:00
Xavier Raynaud
ceef4bbdcd
Parameter single_cell_method is now enum. Some optimization.
...
Redundant computation of fractional flow and mc removed.
2012-03-05 11:56:23 +01:00
Atgeirr Flø Rasmussen
214f6ff38a
Use IncompPropertiesFromDeck instead of AdHocProps when initializing from deck.
2012-03-02 15:32:28 +01:00
Xavier Raynaud
a33e3d9db0
rock density is obtained from PLYROCK in PolymerProperties::getFromDeck.
2012-02-29 14:58:51 +01:00
Xavier Raynaud
125933468e
polymer_reorder reads polymer data from PolymerProperties.
2012-02-29 13:28:43 +01:00
Xavier Raynaud
123762caa9
Added class PolymerProperties with a constructor which takes argument from an eclipse parser.
2012-02-29 11:27:59 +01:00
Atgeirr Flø Rasmussen
18c9e681c2
Fix type of dx, dy, dz. Small refactoring in pressure solver init.
2012-02-28 09:47:02 +01:00
Xavier Raynaud
6b267dd871
Bugfix in computation of the derivatives of the relative permeability.
2012-02-27 15:43:26 +01:00
Atgeirr Flø Rasmussen
e9b17dee02
Using miscUtilities.hpp from opm-core instead of keeping own versions.
2012-02-26 21:18:47 +01:00
Atgeirr Flø Rasmussen
753ebedc0d
Removed "hello polymer" test program.
2012-02-26 20:20:37 +01:00
Atgeirr Flø Rasmussen
40e2ccd1f0
Removed legacy reorder solver code.
2012-02-26 20:17:22 +01:00
Atgeirr Flø Rasmussen
75ea10eea4
Added support for gravity in pressure solver.
2012-02-22 15:06:19 +01:00
Atgeirr Flø Rasmussen
4e5215e1ab
Added compute_totmob_omega() function.
2012-02-22 14:54:15 +01:00
Atgeirr Flø Rasmussen
5b01436db9
Catch up to IncompTpfa needing a linear solver.
2012-02-22 09:28:57 +01:00
Atgeirr Flø Rasmussen
5516ee7e04
Multiple changes, including new parameters for polymer injection and solvers.
...
- "poly_start_days", "poly_end_days", "poly_amount" controls injection
time interval and concentration of injected polymer.
- Made a small class (PolymerInflow) for this control.
- Now warns if polymer injection rate changes during timestep.
- Parameters "nl_tolerance" and "nl_maxiter" control nonlinear scalar solvers.
- Catch up to change in TransportModelPolymer (constructor args).
2012-02-20 17:14:09 +01:00
Atgeirr Flø Rasmussen
5afc6bf0e8
Merged.
2012-02-20 13:59:56 +01:00
Atgeirr Flø Rasmussen
97134499c5
Using IncompTpfa.
2012-02-20 13:59:34 +01:00
Bård Skaflestad
aebf500789
Staticise polymerInflowAtTime() to avoid warning about missing declaration.
2012-02-20 13:58:56 +01:00
Atgeirr Flø Rasmussen
b84c957e2b
Using GridManager and writeVtkData() from opm-core.
2012-02-20 12:46:54 +01:00
Xavier Raynaud
dd324478de
Added s-c splitting solver for single cell problem.
2012-02-20 09:27:22 +01:00
Atgeirr Flø Rasmussen
6b60550f6e
Add parameter "new_code" to switch between old and new structuring of transport solver.
2012-02-12 23:46:42 +01:00
Atgeirr Flø Rasmussen
b30e64630f
Moved saturation copying out of transport time measurement.
2012-02-12 23:30:28 +01:00
Atgeirr Flø Rasmussen
ddc53646d5
Catch up to header file removal in opm-core.
2012-02-12 23:29:56 +01:00
Xavier Raynaud
fede5f4c5f
Merge from upstream.
2012-02-09 14:16:37 +01:00
Xavier Raynaud
bba74b7182
Move Boost libraries to LDADD.
2012-02-09 14:08:17 +01:00
Atgeirr Flø Rasmussen
4a5c3d704d
Added AdHocProps and changed defaults to reproduce matlab case, bugfix.
2012-02-09 09:39:43 +01:00
Atgeirr Flø Rasmussen
f35ef18492
Added "init_sat" parameter and made injection concentration reflect the standard testcase.
2012-02-08 15:43:06 +01:00
Atgeirr Flø Rasmussen
31e84a25cd
Added parameters "dx", "dy", "dz" and "injection_rate_per_day".
2012-02-08 15:30:29 +01:00
Atgeirr Flø Rasmussen
40eb6bc889
Added cartesian grid constructor with dx, dy, dz.
2012-02-08 15:29:52 +01:00
Atgeirr Flø Rasmussen
c54fa3448f
Added straightforward (more matlab-friendly) output.
2012-02-08 14:40:22 +01:00
Atgeirr Flø Rasmussen
d91baec858
Made two changes:
...
1) Use refactored vtk output, also output concentration.
2) Make default polymer behaviour mimic matlab testcase.
2012-02-08 13:44:53 +01:00
Atgeirr Flø Rasmussen
e998753236
Refactored writeVtkDataGeneralGrid() to take arbitrary fields for output.
2012-02-08 13:41:58 +01:00
Xavier Raynaud
ee3335dddd
Added necessary BOOST libs to build polymer_reorder program.
2012-02-07 12:32:04 +01:00
Atgeirr Flø Rasmussen
37ce9d0db3
Improved treatment of inflow (source) polymer concentration:
...
- solver now takes parameter for inflow_c
- simulator calls polymerInflowAtTime(double time) for its value
- currently starts polymer injection after 4 days (0.4 pv)
Also added some (inactive) debug printouts.
Still not working when injecting polymer.
2012-02-07 09:09:34 +01:00
Atgeirr Flø Rasmussen
493ee753b4
Change adsorption default value to something more reasonable.
2012-02-06 21:45:21 +01:00
Atgeirr Flø Rasmussen
d17cfd1372
First compiling version of full polymer residual. Not yet working.
2012-02-06 14:01:56 +01:00
Atgeirr Flø Rasmussen
a5e1339aac
Minor output fixes.
2012-02-06 09:38:44 +01:00
Atgeirr Flø Rasmussen
3828a2f630
Added timers.
2012-02-06 09:10:11 +01:00
Atgeirr Flø Rasmussen
143861745a
Initial work on supporting polymer transport. Work in progress.
2012-02-03 16:39:55 +01:00
Atgeirr Flø Rasmussen
e1df60c04d
Copied and renamed files and functions from opm-core as base for polymer reorder solver.
2012-02-02 16:35:55 +01:00
Atgeirr Flø Rasmussen
11b4c91d2e
Reorganized and cleaned up in prep for polymer work.
2012-02-02 16:03:50 +01:00
Atgeirr Flø Rasmussen
1c66958c0a
Added example program and necessary configuration macros.
2012-02-02 15:41:46 +01:00
Bård Skaflestad
a785d9488e
Create minimum buildable Polymer module for OPM.
2012-02-01 16:16:30 +01:00
Bård Skaflestad
aff1ed1758
Incorporate OPMTransport into OPM core library directory structure.
2011-12-08 13:48:16 +01:00
Bård Skaflestad
5ee2c381c3
Import glue code for calling into UMFPACK using an OPMPressure CSRMatrix.
2011-10-05 20:03:07 +02:00