Commit Graph

81 Commits

Author SHA1 Message Date
Andreas Lauser
73710a01d2 move the code which creates a compressed to cartesian cell index map to a separate free function 2015-09-02 14:50:41 +02:00
Atgeirr Flø Rasmussen
3c1c3a30ab Merge pull request #430 from babrodtk/vfpprod
Vertical flow performance
2015-08-19 13:27:37 +02:00
Arne Morten Kvarving
35ecaf2f56 fixed: install correct files 2015-08-19 12:19:34 +02:00
babrodtk
00b63f303f Added missing file to CMakeLists_files.cmake 2015-08-18 13:42:26 +02:00
Tor Harald Sandve
03ce274c59 Add missing file in the cmake list 2015-08-18 07:28:25 +02:00
Tor Harald Sandve
3b99338bd0 Rename Extended to Solvent
- classes and files are renamed to use solvent instead of extended in
their names.
2015-08-18 07:24:08 +02:00
Tor Harald Sandve
7c3f184d43 Rename simulator from flow_extended to flow_solvent 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
17cddaf126 Add support for solvent properties
-surface density are specified using the Eclipse keyword SDENSITY
and the pvt properties (viscosity (mu) and formation volume factor (b)
using PVDS
2015-08-18 07:24:08 +02:00
Tor Harald Sandve
971e7e19cb Add simple solvent model
assumes:
- solvent is immiscible in the oil phase
- gas pvt and relperms are used for the solvent
- no initial solvent in the model

Solvent is injected using the WSOLVENT keyword
TODO: Make it possible to change WSOLVENT
2015-08-18 07:24:08 +02:00
babrodtk
c513ed4a17 Implemented support for VFPINJ tables. Runs through synthetic non-trivial example 2015-08-11 16:31:43 +02:00
babrodtk
5af128bcb6 Refactoring 2015-08-11 09:47:06 +02:00
babrodtk
32e4c8caab Minor bug-fixes 2015-08-10 08:55:05 +02:00
André R. Brodtkorb
0e3b951cd0 Added skeleton of interpolation using ADBs as input 2015-08-10 08:50:25 +02:00
André R. Brodtkorb
67b55f873c Created tests for the VFPProperties class 2015-08-10 08:50:25 +02:00
Atgeirr Flø Rasmussen
c8cae85ea2 Move functions needed by several NewtonIteration-classes to separate file. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
5d0f654443 Add class NewtonIterationBlackoilInterleaved.
Initially it is just a copy of the NewtonIterationBlackoilCPR class.
Also, add use_interleaved parameter to use the class.
2015-06-19 10:53:32 +02:00
Bård Skaflestad
35162df431 Record New and Renamed Files
This fixes 'make install'.
2015-05-29 16:18:56 +02:00
Atgeirr Flø Rasmussen
1cc5643d14 Moved enums to a separate file. 2015-05-25 23:06:03 +02:00
Atgeirr Flø Rasmussen
8f198986fd Remove unneeded file. 2015-05-24 20:09:39 +02:00
Atgeirr Flø Rasmussen
92ab1d7974 Use separate files for model parameter struct. 2015-05-24 17:33:06 +02:00
Atgeirr Flø Rasmussen
620ef2a3dd Create BlackoilModelBase class.
The class is identical to BlackoilModel class at this stage, but
since it was renamed from FullyImplicitBlackoilSolver it keeps the
commit history better.
2015-05-24 09:59:40 +02:00
Atgeirr Flø Rasmussen
f89297255f Rename FullyImplicitSolver -> NewtonSolver. 2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
24ab95122d Made BlackoilModel contain all of the old solver class, now the
idea is to make the FullyImplicitSolver class grow instead.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
f8ef6d389a Added new solver and model classes.
Solver is initially a copy of the blackoil solver class, and the
class BlackoilModel is empty.
2015-05-21 10:43:03 +02:00
Kristian Flikka
fd2023a60f Added SimulatorFullyImplicitBlackoilOutput.hpp to public headers, now used by opm-polymer 2015-03-25 12:17:13 +01:00
Atgeirr Flø Rasmussen
9af3296aa9 Add test for vertcatCollapseJacs().
The test case is non-trivial in that it concatenates elements with a mix of
empty() and non-empty jacobian vectors.
2015-03-24 09:50:34 +01:00
Atgeirr Flø Rasmussen
c6d38f543c Rename sim_fibo_ad[_cp] -> flow[_cp].
In line with the decision we made to use "flow" as name for the
fully implicit black-oil simulators.
2015-02-27 12:35:03 +01:00
Atgeirr Flø Rasmussen
d9ce8625cf Remove unused classes.
After this, the two affected tests fail due to bugs in PVT region
support in BlackoilPropsAdFromDeck.
2015-02-23 13:42:51 +01:00
Markus Blatt
01ea7bacba Adds data redistribution capabilities and makes sim_fibo_ad_cp parallel.
With this commit we add the possibility to start with a global representation
of a simulator that is read on each process and afterwards this presentation
is redistributed among the processors together with the properties and
state data needed to initialize the simulation.

There still is no parallel well handling and no parallel output. But with the
equilibrium example of @dr-robertk and deactivated output we can already
perform parallel runs.
2015-02-12 21:33:41 +01:00
Markus Blatt
31da0de909 Fixes indentation in CMakeLists_files.cmake 2015-02-12 10:41:44 +01:00
Markus Blatt
221565f038 Enable the use of parallel dune-istl solvers.
As with opm-core we use boost::any to provide additional
information about a parallel run. It is used to set a
ParallelISTLInformation object and and fill it with the
information obtained from a parallel Cpgrid.

Note that the simulator currently compiles sucessfully. Still,
we have to test the runs and do debugging.
2015-02-12 10:41:43 +01:00
Robert K
a834e55f5a BlackoilOutputWriter: added support for backup and restore.
This first implementation is mainly to support faster debugging.
2015-02-11 13:18:07 +01:00
Bård Skaflestad
b9b2b9f520 Really catch up to file renaming.
Pointy hat: @bska
2014-12-17 11:39:51 +01:00
Bård Skaflestad
6c7bdecd30 Catch up to file renaming
This fixes "make install" which would otherwise fail with a diagnostic
message of the form

   CMake Error at cmake_install.cmake:64 (FILE):
     file INSTALL cannot find
     opm/autodiff/ConservativeSparseSparseProduct.h

Thanks to HudsonBuildServer for highlighting the issue.
2014-12-17 11:34:08 +01:00
Robert K
c51a794cac overloaded ConservativeSparseSparseProduct to speed up matrix-matrix multiplication. 2014-12-02 12:39:17 +01:00
Joakim Hove
ad92edab89 Added opm_init_check to compare OPM and Eclipse. 2014-11-26 14:56:45 +01:00
Atgeirr Flø Rasmussen
1602fce6b9 Add DuneMatrix class.
This is a hack to get a more efficient constructor for dune-istl
matrices from Eigen matrices.
2014-09-26 15:03:59 +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
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
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
Kai Bao
bb22f3572d Adding size function in LinearisedBlackoilResidual.
int sizeNonLinear() const;
To compute the size of the non-linear system.
2014-05-23 13:40:44 +02:00
Atgeirr Flø Rasmussen
c0ce5a13b4 Add preliminary version of CPR preconditioner class.
This version simply does ILU(0) preconditioning.
2014-05-14 15:52:01 +02:00
Atgeirr Flø Rasmussen
46e4ea7736 Add initial skeleton of CPR preconditioning class.
Implementation is identical to NewtonIterationBlackoilSimple for now.
2014-05-12 11:10:06 +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
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
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
a434d39363 Modify for renamed file.
Forgot this for the initial renaming commit.
2014-04-08 15:59:14 +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
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
e7f4637461 Add WellStateFullyImplicitBlackoil class.
This is intended to be used instead of the WellState class in the fully
implicit blackoil simulator. It contains a WellState to reuse the init()
method and to enable users to call functions requiring a WellState.
This is done with containment and an access member function,
basicWellState(), instead of with inheritance to minimize surprises.
2014-03-18 11:23:05 +01:00