Commit Graph

58 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Joakim Hove
a6ec0bb59c Using the Parser::EclipseGrid to create GridManager 2014-04-24 11:47:01 +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
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
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
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
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
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
Markus Blatt
f4812c21eb Add an example program of FIBOS that uses CpGrid. 2014-03-13 16:33:36 +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