Commit Graph

217 Commits

Author SHA1 Message Date
Arne Morten Kvarving
ec84849361 add files imported from opm-core to build system
change include path for thresholdPressures.hpp in test.
note that the test is currently disabled (it was not enabled in
opm-core and does not build).
2016-04-11 10:01:01 +02:00
Robert Kloefkorn
e80ad5a9fe Merge remote-tracking branch 'upstream/master' into PR/async-output 2016-04-08 13:07:44 +02:00
Kai Bao
624516ed3c creating separate files for class StandardWells 2016-04-06 16:42:04 +02:00
Robert Kloefkorn
ec45b5547d cleanup. 2016-04-06 15:39:57 +02:00
Robert Kloefkorn
54ea243c5f SimulatorFullyImplicitBlackoilOutput: added threaded asynchronous output. 2016-04-06 11:10:01 +02:00
Tor Harald Sandve
a02a07289e Implement pressure effects in the Todd-Longstaff mixing parameter
The Todd-Longstaff model is extended to incorporate pressure effects
The solvent viscosity is then caculated as

mu_eff = mu_s^(1-\alpha * \omega) * mu_mix^(\alpha * \omega)

where \omega accounts for the porous media effects and \alpha =
\alpha(pressure) accounts for the miscibility of the solvent and oil
when contacted.
The \alpha values can be given using the TLPMIXPA keyword

If no entries are given to TLPMIXPA the table specified using PMISC will
be used as default.
IF TLPMIXPA does not appear in the grid \alpha = 1 and the pressure
effect is neglected.
This is tested in test_solventprops_ad.cpp
2016-04-01 15:55:56 +02:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +02:00
Robert Kloefkorn
4df4c9147a fastSparseProduct.hpp --> fastSparseOperations.hpp 2016-02-16 10:25:57 +01:00
Atgeirr Flø Rasmussen
bfcbd09488 Create and use FlowMainPolymer class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
b156ce0b55 Create and use FlowMainSolvent class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
e3ceac44a6 Renamed flowMain.hpp -> FlowMain.hpp. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
460f0cb451 Use the new flowMain() function.
Also add it to the CMake file list.
2015-12-14 16:11:06 +01:00
Atgeirr Flø Rasmussen
af980ed93c Creates GridInit template class. 2015-12-14 16:07:46 +01:00
Arne Morten Kvarving
2df335b05c add polymer to buildsystem 2015-12-07 11:28:40 +01:00
dr-robertk
bd8586b477 Merge pull request #541 from GitPaean/support_segment_well_rebased
Support multi-segment wells
2015-12-02 11:18:33 -07:00
Markus Blatt
dc1d7c526f Moved ParallelOverlappingILU0 to its own file. 2015-12-01 14:41:06 +01:00
Kai Bao
c5252ae1ce make compilation of flow_multisegment_mpi conditional
if(DUNE_CORNERPOINT_FOUND OR dune-cornerpoint_FOUND)
2015-12-01 00:06:46 +01:00
Kai Bao
38a9dbd9ff parallel running for flow_mutlisegment
SPE9 can be run in parallel now.
2015-12-01 00:06:46 +01:00
Kai Bao
ac0fdda48b A WIP version BlackoilMultiSegmentModel
and also a Simulator Class and example for multisegment wells.
2015-12-01 00:06:42 +01:00
Kai Bao
60dd7743c3 WIP of the WellMultiSegment and WellStateMultiSegment 2015-12-01 00:06:42 +01:00
Markus Blatt
dd77556252 Added restricted parallel schwarz and overlapping ILU0 preconditioner 2015-11-25 08:43:46 +00:00
Atgeirr Flø Rasmussen
7c21a630e5 Rename NewtonSolver -> NonlinearSolver. 2015-11-12 17:42:47 +01:00
Atgeirr Flø Rasmussen
7c620f11fd Add flow_solvent to list of programs to be installed. 2015-11-05 08:33:14 +01:00
Atgeirr Flø Rasmussen
0ffcaeb9f0 Merge pull request #513 from atgeirr/add-moduleversion
Add moduleVersion() utility and update dune.version.
2015-10-23 13:10:38 +02:00
Atgeirr Flø Rasmussen
bb7530edc3 Add and use moduleVersion() utility. 2015-10-23 11:25:06 +02:00
Joakim Hove
8302db443b Try to find opm-data and run flow on SPE1 case. 2015-10-21 18:43:08 +02:00
Joakim Hove
a879e9cd41 Removed cmake setting : NON_PUBLIC_TEST 2015-10-21 16:56:10 +02:00
Robert Kloefkorn
326faa99d7 ParallelDebugOutput: make the output in ecl format work in parallel by communicating
to an io rank and then proceed with serial output.
2015-09-16 09:48:22 +02:00
babrodtk
54137c742b Added remaining files to CMakeLists_files.cmake 2015-09-07 13:00:41 +02:00
babrodtk
171cbbe3bb Fixed sim_simple.cpp 2015-09-07 13:00:41 +02:00
babrodtk
95e9ca6d2a Fixed SolventPropsAdFromDeck.cpp 2015-09-07 13:00:41 +02:00
babrodtk
51b85276ec Fixed TransportSolverThophaseAd.cpp 2015-09-07 13:00:41 +02:00
babrodtk
6deb3e2c4a Fixed IpmesTPFAAD.cpp 2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen
c795113ce3 Changes to make flow compile with AutoDiffMatrix. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen
6a5a48e728 Work in progress on AutoDiffMatrix (not compiling). 2015-09-07 12:58:51 +02:00
Markus Blatt
b91fb70e92 Adds new header to CMakeLists_files.cmake
The new header 	opm/autodiff/AdditionalObjectDeleter.hpp
was not there yet.
2015-09-07 11:03:08 +02:00
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
Markus Blatt
f4812c21eb Add an example program of FIBOS that uses CpGrid. 2014-03-13 16:33:36 +01:00
Markus Blatt
0a5262b7c3 Added implementation of free function interface grid interface for CpGrid.
This implements a superset of the interface as proposed in pull request
 opm-core#496 for use with CpGrid.
It also adds some additional functionality needed in opm-autodiff.
2014-03-13 15:27:45 +01:00
Atgeirr Flø Rasmussen
8850868f50 Interface and simple implementation of fully implicit system solver.
This is done in preparation for adding a cpr-preconditioning solver
for the fully implicit black-oil system. The existing implementation
that concatenates the whole system and passes it to some linear solver
has been moved from a private function of FullyImplicitBlackoilSolver
to the class FullyImplicitSolverSimple.

To enable this decoupling, the residual struct has been copied out
of the FullyImplicitBlackoilSolver class and is now an independent
struct: FullyImplicitBlackoilResidual. The opportunity has been used
to replace the field mass_balance with material_balance_eq, which is
more precise.
2014-02-10 10:41:18 +01:00
Joakim Hove
0138fc43ef Merged upstream/master 2014-01-29 15:25:21 +01:00
Atgeirr Flø Rasmussen
f9ea03fe67 Renamed SegmentedWellModel->WellDensitySegmented. 2014-01-24 15:54:01 +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
Atgeirr Flø Rasmussen
ad81cc6a37 Initial version of segmented well model.
This computes pressure differences with respect to the bottom-hole pressure
for each well perforation, based on the well flows. It is explicit and not
implicit, using the previous time step's flow rates to calculate the necessary
densities.
2014-01-22 12:53:05 +01:00
Kristian Flikka
0465e545ef Commenting the missing data files 2013-11-26 15:15:35 +01:00
Kristian Flikka
bd304c0b5c Fixed indentation to be consistent with rest of file 2013-11-26 15:07:54 +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
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
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
Bård Skaflestad
3e2965a301 Indent file lists using <tab> rather than <space>
This is the common convention throughout all OPM modules' CMake-based
build systems.
2013-06-09 20:40:57 +02:00
Atgeirr Flø Rasmussen
a6dba405dd Merge remote-tracking branch 'totto82/newfluid' into fully-implicit 2013-05-27 15:46:22 +02:00
Tor Harald Sandve
1cf1e3383b Add new interface to BlackoilPropsAdFromDeck
-- not finished --
2013-05-27 14:55:32 +02:00
Atgeirr Flø Rasmussen
937df8869b Added unit test for Span class. 2013-05-24 16:07:51 +02:00
Atgeirr Flø Rasmussen
c569fb2a14 Created fully implicit simulator sim_fibo_ad. 2013-05-24 12:32:28 +02:00
Atgeirr Flø Rasmussen
a94f1921dd Added simulator class for fully implicit blackoil. 2013-05-24 11:40:58 +02:00
Atgeirr Flø Rasmussen
f916153747 Added (empty) implementation file. 2013-05-24 10:52:49 +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
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
27cd7cf19e Added abstract class BlackoilPropsAdInterface.
Also made BlackoilPropsAd (the class wrapping opm-core BlackoilPropertiesInterface)
inherit from it.
2013-05-22 10:56:14 +02:00
Atgeirr Flø Rasmussen
f2f83fee32 Remove unused experimental AD class. 2013-05-22 08:39:09 +02:00
Bård Skaflestad
b46cef383f Build 'test_impestpfa_ad' along with the 'examples' 2013-05-16 09:48:01 +02:00
Bård Skaflestad
d2f412e27a Fix inverted set of automated test cases. 2013-05-15 16:08:56 +02:00
Bård Skaflestad
2500f1ae58 Adopt imported build system to OPM-Autodiff specifics
Updated include statements &c to follow.
2013-05-15 15:49:48 +02:00
Bård Skaflestad
116f39e8ab Import CMake support from OPM-Core 2013-05-15 10:24:52 +02:00