Commit Graph

405 Commits

Author SHA1 Message Date
Liu Ming
ddfb030b57 Merge remote-tracking branch 'opm/master' into bo_polymer 2014-10-16 10:00:37 +08:00
Liu Ming
f1f0fa9c29 resize and use ADB::null() to initialize. 2014-10-16 09:59:59 +08:00
Andreas Lauser
7c122c18d3 use the TLMIXPAR keyword directly
instead of using a table class. This is because the keyword is not a
table...
2014-10-14 12:29:31 +02:00
Liu Ming
54c8014453 PLYVISC and PLYADS should not just have only one row. 2014-10-14 16:28:11 +08:00
Liu Ming
b18f13bd7f fix phaseIdx problem and make the function more readable. 2014-10-10 17:06:05 +08:00
Liu Ming
dce2047e41 fix bugs caused by canonical phase index and active phase index.
residual_ and rq_ resize at a proper position.
2014-10-10 15:42:49 +08:00
Liu Ming
ddb7b8833f if deck has_polymer, rq_ should resize to store polymer equation. 2014-10-10 10:17:40 +08:00
Liu Ming
d457211cf2 make sure polymer position is the last. 2014-10-10 10:11:04 +08:00
Liu Ming
c2d6347271 make some tricks for initialing polymer_inflow, this maybe wrong, but now no bugs. 2014-10-09 14:23:36 +08:00
Liu Ming
73c2032974 fix some bugs. 2014-10-09 10:04:17 +08:00
Liu Ming
f3553d73c7 since time iteration was moved to the Simulator class, pass PolymerInflowInterface
as a shared_ptr.
2014-10-08 14:45:42 +08:00
Liu Ming
e56ba2afae modify them, let them adapt to polymer simulator. 2014-10-08 13:54:45 +08:00
Liu Ming
9c72ca40c8 add concentration and maxconcentration for PolymerBlackoilState. 2014-10-08 11:22:25 +08:00
Liu Ming
4250d4eda5 use phase pressure to compute fluidRecipeFVF(). 2014-10-08 10:23:10 +08:00
Liu Ming
9beaf4e03b add well rate contribution to polymer mass balance equation. 2014-09-30 15:22:50 +08:00
Liu Ming
9db24a22d2 let PolymerBlackoilState return rs() and rv(). 2014-09-29 16:39:50 +08:00
Liu Ming
617f439318 add polymer properties and functions. 2014-09-29 16:38:48 +08:00
Liu Ming
979c2dc0f7 use Newton iteration solver interface from opm-autodiff, prepare for CPR supporting. 2014-09-26 14:54:57 +08:00
Liu Ming
ca70d67d83 some changes, mostly of them are API changes from opm-autodiff and opm-parser. 2014-09-26 14:06:01 +08:00
Liu Ming
1cb1e8475a add PhasePresence, make muOil() function happy. 2014-09-26 14:05:17 +08:00
Liu Ming
e22398c098 make Opm::DerivedGeology as a direct arguement for simulator. 2014-09-25 16:40:01 +08:00
Liu Ming
fb0f4f7a92 comment header files and function for incompProps. 2014-09-25 16:28:35 +08:00
Liu Ming
ca6baf7c73 use phase pressure to compute FVF and density. 2014-09-25 15:14:40 +08:00
Liu Ming
12f1342870 use phasePress to compute viscosity, density. 2014-09-25 14:23:21 +08:00
Liu Ming
219f46a406 update compurePressure(). 2014-09-25 11:24:59 +08:00
Liu Ming
aa30b4567c add phaseCondition for new API of class BlackoilAdInterface 2014-09-25 11:16:56 +08:00
Liu Ming
d5f8cbeec0 move all the output functions to anonymous namespace and clean up unused functions. 2014-09-24 15:44:21 +08:00
Liu Ming
9a41199bd4 Merge remote-tracking branch 'opm/master' into fim
Conflicts:
	cmake/Modules/Findopm-autodiff.cmake
2014-09-23 16:04:15 +08:00
Andreas Lauser
9fbf4b2b3b adapt the the table related API changes of opm-parser 2014-09-17 13:28:39 +02:00
Andreas Lauser
67b5cb263e fix a pretty simple compile issue
This was caused by the new multi-region PVT support in opm-core.
2014-06-05 14:39:11 +02:00
Andreas Lauser
3a6d989d5e move the code away from EclipsGridParser to opm-parser 2014-04-26 11:13:59 +02:00
Atgeirr Flø Rasmussen
55f5b0a10e Merge pull request from qilicun/read_plyshear
make PolymerProperties handle PLYSHEAR keyword.
2014-04-15 08:18:49 +02:00
Bård Skaflestad
4c0e0c8361 Implement low-level init() routines
These are needed by the initialisation routines of the refactored
opm-core (PR ) that introduces support for parallel
grids.
2014-04-14 23:52:50 +02:00
Liu Ming
31ddb2f098 let shear vef return derivative. 2014-03-26 16:02:39 +08:00
Liu Ming
7a193dca1e return the value by linear interpolation. 2014-03-21 14:34:46 +08:00
Liu Ming
9204434a4d make the member functions return a const reference. 2014-03-19 09:23:20 +08:00
Andreas Lauser
8e5b442b17 fix all remaining CLang warnings
this time, I've rebuild the whole module and it seems to work...
2014-03-18 13:15:59 +01:00
Andreas Lauser
a6f4365344 remove forgotten reference to unused attribute "_gravity"
for some reason Clang compiled last time. I've got no idea why...
2014-03-18 13:13:05 +01:00
Andreas Lauser
3cce559d52 adapt to the SimulatorTimer renames of opm-core 2014-03-18 12:44:33 +01:00
Andreas Lauser
911e55c5e6 fix a few harmless CLang warnings
i.e. rename class to struct in two forward declarations and remove an
unused private attribute...
2014-03-18 12:44:33 +01:00
Liu Ming
1e41e58ce7 makd PolymerProperties handle PLYSHEAR keyword. 2014-03-18 13:25:52 +08:00
Liu Ming
06bed8d945 fix copyright statement. 2014-03-17 10:54:29 +08:00
Liu Ming
84fab85860 Remove opm/autodiff/ files, fix header files. 2014-03-14 14:12:26 +08:00
Liu Ming
010676ad30 add license statement. 2014-03-03 10:20:44 +08:00
Liu Ming
979d503b7d Add license and documentation. 2014-02-25 09:52:10 +08:00
Liu Ming
e63e318d40 apply PVT function changes. 2014-02-20 16:58:02 +08:00
Liu Ming
f01c4dac10 fix eigen bug when compute the capPress. 2014-01-27 16:53:45 +08:00
Liu Ming
075e16dc36 add capillary pressure for incom solver. 2014-01-27 16:26:48 +08:00
Liu Ming
c4d567c5e4 add capPress functionality for PEDs, just use phase pressure to compute
laplace term, all the properties are computed by reference pressure
 which maybe oil pressure in OPM.
2014-01-27 14:48:26 +08:00
Liu Ming
0055ae1def output watercut for incomp polymer solver. 2014-01-23 08:48:42 +08:00
Liu Ming
b9d3b8b1c4 add computeinjecprod function for incomp solver. 2014-01-22 17:07:28 +08:00
Liu Ming
4d2f2fb6a5 using last time step's cmax value when computing adsorption for inconp solver 2014-01-22 16:59:51 +08:00
Liu Ming
12318fe754 output watercut by using utilities.cpp/computeInjectedProduced function. 2014-01-22 14:17:04 +08:00
Liu Ming
8987a4c1d7 write max concentration to PolymerBlackoilState. 2014-01-21 13:45:02 +08:00
Liu Ming
f762684564 computing adsorption using last time step's value of cmax, fix the
bug that the front cells' concentrations is negative.
2014-01-20 16:25:30 +08:00
Liu Ming
5ac5df6b86 fix bug when compute the adsorption term in mass balance equation. 2014-01-14 15:33:32 +08:00
Liu Ming
6f6a986595 fix the bug when compute the adsorption term in the mass conservation
equation.
2014-01-14 12:59:45 +08:00
Liu Ming
65764ce6f2 add a private member cmax_ to store the max concentration for per cell. 2014-01-10 17:53:54 +08:00
Liu Ming
97f5c5ace5 fix bug when computing the maxconcentration that the cell experienced. 2014-01-10 17:20:08 +08:00
Liu Ming
139bfb7e62 refactor well controls use new well controls gourp. 2014-01-10 14:15:24 +08:00
Liu Ming
7243418cc5 Merge remote-tracking branch 'opm/master' into adsorption 2014-01-10 13:38:40 +08:00
Joakim Hove
a2fd7307b8 Using the well_controls_get_xxx() functions. 2014-01-09 12:06:26 +01:00
Liu Ming
689a3505b7 change residual norm from l2 to lp(p can be infinity). 2014-01-09 16:29:38 +08:00
Liu Ming
391287283d mistake use of typename. 2014-01-03 15:35:00 +08:00
Liu Ming
ff91428fe0 fix bug: check bhp vector is not empty. 2014-01-03 15:27:48 +08: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
7a874427af remove fullyincomp twophase solver from cmake file list,
because they are handled in opm/autodiff.
2013-12-17 23:53:58 +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
6d5b90df54 modified the simulator more general. 2013-12-17 20:28:32 +08:00
Liu Ming
970fe665d8 add the bhp well controls. 2013-12-17 17:36:43 +08:00
Xavier Raynaud
2a20e6ebd1 Fixed build. 2013-12-16 11:43:52 +01:00
Liu Ming
c2cdc7ec17 add dead poro volume functionality. 2013-12-12 22:46:29 +08:00
Liu Ming
2eaf24decf fix errors for debugging. 2013-12-12 21:58:25 +08:00
Liu Ming
25160d019a add adsorption term for polymer equation.
rewrite some function for simplify.
2013-12-12 21:24:47 +08:00
Liu Ming
0558184439 modify the function for the polymer term. 2013-12-12 20:29:40 +08:00
Liu Ming
720e7ebbef fix derivative of effective relperm respect to concentration. 2013-12-12 17:44:00 +08:00
Liu Ming
a7db4f3cf0 add adsorption and effective relperm functions. 2013-12-11 22:52:11 +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
Liu Ming
fb12565ddf make PolymerState return numPhases. 2013-12-09 20:34:23 +08:00
Liu Ming
e226b5d95e Simulator for fullyimplicit two phase flow with polymer 2013-12-09 20:33:05 +08:00
Liu Ming
080116c66b Add fully implicit solver for incomp two phase with polymer
and the polymer properties based on AD.
2013-12-06 23:35:13 +08:00
Liu Ming
eded8f735c chang include header from opm/autodiff to opm/polymer/fullyimplicit 2013-12-06 22:25:22 +08:00
Liu Ming
f6acccd396 incompressible two phase fully implicit simulator. 2013-12-06 22:13:29 +08:00
Andreas Lauser
44e0848127 make headers autonomously includable and fix a few harmless clang warnings 2013-09-10 19:41:49 +02:00
Andreas Lauser
4859e77c79 explicitly include <iostream> in files which use std::cout or std::cerr 2013-09-05 12:39:11 +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
6a6d0c9b28 Replace the ASSERT and ASSERT2 macros by assert 2013-09-03 15:43:51 +02:00
Atgeirr Flø Rasmussen
d065a908d3 Fix issue 27, bug in call to viscosity(). 2013-06-10 10:31:18 +02:00
Atgeirr Flø Rasmussen
7d5d314fc0 Update to match opm-core changes. 2013-03-18 13:10:32 +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
04abba4d5e Adapt to changed opm-core header name. 2013-03-15 17:55:24 +01:00
Atgeirr Flø Rasmussen
864cce5f5e Adapt to moved opm-core headers. 2013-03-14 13:59:31 +01:00
Atgeirr Flø Rasmussen
23cef788fc Adapt to changed include paths for some opm-core headers. 2013-03-12 11:08:33 +01:00
Atgeirr Flø Rasmussen
b4d5e03c61 Add eclipse output to simulator.
Note: so far only for incompressible fluid simulator.
2012-11-26 11:01:23 +01:00
Atgeirr Flø Rasmussen
b6b59918e1 Suppress output of multi-cell-block sizes and #iterations. 2012-11-26 11:00:20 +01:00
Atgeirr Flø Rasmussen
bcfcfdc930 Use minimum 5 digits for step numbers in output file names.
Was 3 digits, created trouble for certain scripts reading
the files when more than 1000 steps were taken.
2012-11-05 15:37:14 +01: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
Xavier Raynaud
9cf746b0b0 Removed TAB spaces. 2012-10-08 15:00:19 +02:00
Xavier Raynaud
20d7cf80ea Reintroduced Newton Simple (in s, c variables). 2012-10-08 13:07:22 +02:00
Xavier Raynaud
ef053a1883 Cleaned up single cell Newton solver. 2012-10-08 10:29:45 +02:00
Atgeirr Flø Rasmussen
2f14ed70c4 Modified compressible transport src term.
Using surface volume for injection rather than reservoir volume.
Chase change in class TransportModelCompressiblePolymer and
function computeInjectedProduced().

Also changed interface to computeInjectedProduced() to take state
rather than individual state variables.
2012-10-04 22:32:55 +02:00
Atgeirr Flø Rasmussen
f4abfd6cbb Fix mass balance report for multi-epoch case.
Compute initial polymer amount instead of setting it to zero.
Error obvious with multiple epochs.
2012-10-04 20:02:34 +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
f2e7c0bece Made getInflowValues() a const method. 2012-10-04 15:59:15 +02:00
Atgeirr Flø Rasmussen
0428c4abb4 Moved PolymerInflow* classes to separate file.
Also, implemented PolymerInflowFromDeck (but not yet used).
2012-10-04 15:15:32 +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
b32c212e56 Fix mass balance report.
Now reports surface volumes for water and oil, instead of useless
(for mass balance) reservoir volumes. Also makes the case with
multiple transport steps more accurate.
2012-10-04 11:25:42 +02:00
Atgeirr Flø Rasmussen
c6b76e715d Fix for case with incompressible rock.
Made rock comp argument optional in computePolymerAdsorbed().
Check inside func for active rock comp.
2012-10-03 16:17:54 +02:00
Atgeirr Flø Rasmussen
dbd4c9e7b5 Reinstate 10% ad-hoc c-interval overestimation.
Similar to in TransportModelPolymer.
2012-10-03 16:16:08 +02:00
Atgeirr Flø Rasmussen
25e528df0d Make output work the same as in other sims.
I.e. putting each field in its own directory, adding the
output_vtk parameter etc.
2012-10-03 16:02:27 +02:00
Atgeirr Flø Rasmussen
dc3b0dd6f4 Improve function comment (similar to in SimulatorPolymer). 2012-10-03 16:01:54 +02:00
Atgeirr Flø Rasmussen
753a0c6949 Reinstate 10% ad-hoc c-interval overestimation. 2012-10-03 16:00:51 +02:00
Atgeirr Flø Rasmussen
2990b0a3e8 Improve function comment. 2012-10-03 16:00:13 +02:00
Atgeirr Flø Rasmussen
349c81fb1e Stop writing ascii output twice. 2012-10-03 15:59:18 +02:00
Atgeirr Flø Rasmussen
678611166d Improve reporting of volume balance.
Should now give more accurate results when taking multiple substeps.
2012-10-03 14:25:20 +02:00
Atgeirr Flø Rasmussen
076164d3f3 Add "output_vtk" parameter, split output function in two.
Vtk and Matlab output now happens in two different functions.
2012-09-17 07:54:50 +02:00
Xavier Raynaud
4db4d715de Last saturation is stored in a mutable variable. 2012-09-10 11:03:59 +02:00
Halvor M. Nilsen
594eca3633 Added lines which is need to compile with PROFILING. Did not check if code brakes. 2012-09-08 11:11:23 +02:00
Xavier Raynaud
55486d3c03 Fixed source term (measured at reservoir condition). 2012-09-05 13:38:30 +02:00
Xavier Raynaud
938fc0f0d4 Fixed comment line. 2012-09-05 12:34:17 +02:00
Xavier Raynaud
7721defbd3 Fixed/Added documentation comments. 2012-09-05 11:45:54 +02:00
Xavier Raynaud
5f27612b05 Merged from upstream. 2012-09-05 11:11:06 +02:00
Xavier Raynaud
7fb671ffbf Changed computation of polymer production. Added functionalities for compressible case. 2012-09-05 11:09:45 +02:00
Bård Skaflestad
36e017d48d Honour initialisation order requirement.
Introduced in change-set 85cde6f721a4.
2012-09-05 10:27:37 +02:00
Xavier Raynaud
8e089dd80d Use porevolume instead of porosity, as argument for the transport solver. 2012-09-05 09:11:05 +02:00
Xavier Raynaud
fa84128ddc Fixed bug. 2012-09-05 09:07:47 +02:00
Xavier Raynaud
612a1ffc63 Fixed bug. 2012-09-03 16:46:02 +02:00
Xavier Raynaud
27dea09311 Added initializations in constructor. 2012-09-03 16:45:50 +02:00
Xavier Raynaud
8752f14015 Added executable example for compressible with polymer. 2012-09-03 13:52:59 +02:00
Xavier Raynaud
8bf900f1bf Update surface volume in transport solver. 2012-09-03 12:52:25 +02:00
Xavier Raynaud
708c56bb94 Simplified computation of adsorbed mass of polymer. 2012-09-03 12:49:04 +02:00
Xavier Raynaud
a335e1b149 Added Simulator for compressible polymer. Not tested. 2012-08-31 10:38:50 +02:00
Xavier Raynaud
8b40a4a68f Fixed comments. 2012-08-30 15:58:14 +02:00
Xavier Raynaud
99fe7bf46e Fixed preprocessor flag names in some header files. 2012-08-30 15:31:28 +02:00
Xavier Raynaud
92def1d514 Cleaned up ownership (private vs public) in class definition. 2012-08-30 09:09:23 +02:00
Xavier Raynaud
eb52ee58c1 Added gravity transport solver functionality. Not tested. 2012-08-29 13:49:02 +02:00
Xavier Raynaud
928513b561 Added compressible polymer transport solver. Not yet done. 2012-08-28 16:42:26 +02:00
Xavier Raynaud
9a271a6038 Added (fluid) compressible pressure solver for polymer. 2012-08-27 13:16:10 +02:00
Xavier Raynaud
72658ac91c Simplified code: Only one occurence of residual evaluation. 2012-08-23 17:18:19 +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
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
0d97945aba Removed safetyfactor with membervariable which for now is put to 1.0. Made jacobian calculations more transparent and fixed pointer error. 2012-06-26 08:37:08 +02:00
Halvor M. Nilsen
aba26a0583 Tried to make derivative genneral 2012-06-23 15:04:59 +02:00
Halvor M. Nilsen
b13416be86 Made new single cell solvers. 2012-06-15 14:40:07 +02:00