Commit Graph

533 Commits

Author SHA1 Message Date
Andreas Lauser
01555da823 remove the run() method from SimulatorFullyImplicitCompressiblePolymer
With this the simulator is basically done, but since
FullyImplicitCompressiblePolymerSolver has not yet been converted to
the NewtonSolver plus Model approach, the solver cannot be removed and
thus still contains quite a bit of copy-and-pasted code.
2015-05-28 13:56:07 +02:00
Andreas Lauser
d27fb2bc45 properly use the SimulatorBase class for SimulatorFullyImplicitBlackoilPolymer and SimulatorFullyImplicitCompressiblePolymer 2015-05-28 13:56:07 +02:00
Andreas Lauser
0f1a7a16d7 unify the run() methods and the constructors of the 2p-compressible and the flow_polymer with the one from flow 2015-05-28 13:56:07 +02:00
Andreas Lauser
a816ab9a0c start to use the SimulatorBase class for SimulatorFullyImplicitCompressiblePolymer
since SimulatorFullyImplicitCompressiblePolymer is now a template, the
opaque pointer stuff is also removed and the contents of the .cpp file
basically became _impl.hpp. for SimulatorFullyImplicitBlackoilPolymer,
the opaque pointer stuff was removed for the same reasons as for
SimulatorFullyImplicitBlackoil.

the actual unification of code is not yet done, but this patch points
out the direction of where this will go.

Also note that some synchronization with the ordinary blackoil
simulator (FLOW) was necessary to make it compile.

Finnally, the parser currently likes to throw an exception (also for
the opm-polymer master) when eating the opm-data polymer test
case. This prevented me from properly testing this patch:

```
and@heuristix:~/src/opm-polymer|simplify_simulator > ./bin/flow_polymer deck_filename=/home/and/src/opm-data/polymer_test_suit/simple2D/2D_THREEPHASE_POLY_HETER.DATA

================    Test program for fully implicit three-phase black-oil flow     ===============

---------------    Reading parameters     ---------------
deck_filename found at /, value is /home/and/src/opm-data/polymer_test_suit/simple2D/2D_THREEPHASE_POLY_HETER.DATA
output not found. Using default value 'true'.
output_dir not found. Using default value 'output'.
Program threw an exception: IOConfig: Reading GRIDFILE keyword from GRID section: Output of GRID file is not supported
terminate called after throwing an instance of 'std::runtime_error'
  what():  IOConfig: Reading GRIDFILE keyword from GRID section: Output of GRID file is not supported
Aborted
```
2015-05-28 13:56:07 +02:00
Atgeirr Flø Rasmussen
1d5a67f2cd Remove method computeResidualNorms(), use base version. 2015-05-26 17:10:16 +02:00
Atgeirr Flø Rasmussen
1dcffe4b18 Refactor computeMassFlux(). 2015-05-26 17:04:33 +02:00
Atgeirr Flø Rasmussen
2ddfe91504 Make computeMassFlux() more like the base class version. 2015-05-26 16:49:25 +02:00
Atgeirr Flø Rasmussen
9cc01245f1 Adapt to rq_.head -> rq_.dh renaming in opm-autodiff. 2015-05-26 16:43:06 +02:00
Atgeirr Flø Rasmussen
a42c982628 Refactor updateState() to not copy base version code. 2015-05-26 15:31:45 +02:00
Atgeirr Flø Rasmussen
272947c99c Use extraAddWellEq() to add well contrib to polymer equation.
This way of refactoring was chosen since the extra term depends
on a lot of context. Instead of recreating the context in the
polymer model (which would not reduce any complexity) the necessary
variables are passed to extraAddWellEq().
2015-05-26 14:04:35 +02:00
Atgeirr Flø Rasmussen
64da6ef184 Refactor computeAccum().
Extend base class version instead of copying.
2015-05-26 12:55:43 +02:00
Atgeirr Flø Rasmussen
c9c19d9253 Fix error and warning in assert() statements. 2015-05-26 12:08:30 +02:00
Atgeirr Flø Rasmussen
2cd5b672bf Only deal with concentration if has_polymer_ is true. 2015-05-26 12:06:17 +02:00
Atgeirr Flø Rasmussen
2539fb935d Refactor variableState().
Use base case where possible instead of copying it.
2015-05-26 11:49:10 +02:00
Atgeirr Flø Rasmussen
da98f18f80 Use base class version of parameter accessors. 2015-05-26 02:00:46 +02:00
Atgeirr Flø Rasmussen
f2e5177594 Remove functions that are identical in BlackoilModelBase.
Also refactor some functions that are different to call the
base version and then do additional processing. However this
process has not been carried out on all methods at this point.
2015-05-26 01:46:34 +02:00
Atgeirr Flø Rasmussen
26484e91a5 Transform BlackoilPolymerModel to inherit BlackoilModelBase.
The class still contains surplus implementations though.
2015-05-26 00:12:37 +02:00
Atgeirr Flø Rasmussen
5c1e314cbb Fix the same bug for the MPI case.
Note: not actually tested with MPI, written blindly!
2015-05-25 00:10:11 +02:00
Atgeirr Flø Rasmussen
5f6027ba01 Bugfix: we compute no well flux residual for polymer, do not try to use. 2015-05-25 00:06:17 +02:00
Atgeirr Flø Rasmussen
82da34ddd3 Merge pull request #109 from atgeirr/refactor-solver
Start refactor fully implicit polymer solver
2015-05-22 12:41:01 +02:00
Atgeirr Flø Rasmussen
59bd1391a8 Update polymer solver with convergence features from opm-autodiff.
Original patches by Tor Harald Sandve and Markus Blatt.
2015-05-21 16:29:01 +02:00
Atgeirr Flø Rasmussen
d7de9894e0 Follow minor API changes in opm-autodiff. 2015-05-21 09:50:54 +02:00
Atgeirr Flø Rasmussen
c700b2124d Merge pull request #110 from qilicun/fix_polyinflow
Fix error: When the injector is not the first of wells, opm should work well
2015-05-20 11:12:43 +02:00
Liu Ming
641113bfa8 remove the debug information. 2015-05-20 15:06:00 +08:00
Liu Ming
f66921612c Output well name when wells can't find in WPOLYMER keyword. 2015-05-20 14:57:26 +08:00
Atgeirr Flø Rasmussen
b7ef3b7f57 Minor changes to make BlackoilPolymerModel more like BlackoilModel.
No behaviour changes, only renaming etc. to reduce the diff.
2015-05-20 08:48:54 +02:00
Liu Ming
f8baad5d91 Fix error: When the injector is not the first of wells, opm should work well. 2015-05-20 12:35:04 +08:00
Atgeirr Flø Rasmussen
6984ca52e4 Update docs. 2015-05-19 21:36:40 +02:00
Atgeirr Flø Rasmussen
65e7a934a9 Make BlackoilPolymerModel usable with NewtonSolver from opm-autodiff. 2015-05-19 21:29:14 +02:00
Atgeirr Flø Rasmussen
300f236cef Copied FullyImplicitBlackoilPolymerSolver to BlackoilPolymerModel. 2015-05-19 14:40:38 +02:00
Kai Bao
a3efd688f4 Update addWellEq() to match the opm-autodiff. 2015-05-08 14:30:00 +02:00
Kai Bao
110dde2bb5 updating updateWellControls()
modified to no longer update primary variables, and moved to earlier
in assemble()
2015-05-08 12:50:17 +02:00
Kai Bao
b46dcc3b76 refactoring computeMassFlux().
To match the opm-autodiff implementation that only handles one phase
each time.

Polymer equation is handled with the water phase together, since it
effects the water phase.
2015-05-08 10:07:49 +02:00
Kai Bao
3bd0ff1885 Removing unused block patterns and using std::move. 2015-05-08 09:06:05 +02:00
Kai Bao
b754d77810 change transMult() and poroMult() to match autodiff. 2015-05-07 13:27:39 +02:00
Kai Bao
06d2534b3d emove unused method computeRelPermWells() 2015-05-07 13:15:24 +02:00
Kai Bao
0f65fd52f0 Changing computeRelPerm() and and computePressures() to match autodiff. 2015-05-07 13:11:14 +02:00
Kai Bao
1d112f9ec9 No longer throw on solver failure 2015-05-07 13:05:23 +02:00
Kai Bao
d5577f634d Changing the default parameters for SolverParameter
To be more consistent with the OPM-autodiff.

And also min_iter_ was added.
2015-05-07 12:47:05 +02:00
Liu Ming
d791888430 Merge remote-tracking branch 'remotes/opm/master' into updates
Conflicts:
	opm/polymer/fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp
2015-03-24 16:56:19 +08:00
Liu Ming
0d0ff9d961 use std::move(), solving conflicts. 2015-03-24 16:41:32 +08:00
Liu Ming
b4d834508c Updates FIBOPOLYMER simulator based on flow simulator.
Rename sim_poly_fibo_ad to flow_polymer.
2015-03-24 15:07:25 +08:00
Atgeirr Flø Rasmussen
aff268dbdb Adapt to API change for AutoDiffBlock class. 2015-03-16 16:49:12 +01:00
Atgeirr Flø Rasmussen
9d56234602 Follow API change in BlackoilPropsAdInterface. 2015-03-09 09:56:55 +01:00
Atgeirr Flø Rasmussen
22f8fd2271 Adapt to API change in WellsManager. 2015-02-17 13:53:01 +01:00
Liu Ming
74332085dc change PolymerInflow constructor interface due to commit 6628941c9c9d781db9ec8e3ac05a3a8dc49dcf21 in opm-parser. 2015-01-27 12:24:26 +08:00
Liu Ming
6a3bfba846 Adapte to FIBO wellstate API changes in opm-autodiff. 2015-01-19 11:29:32 +08:00
Liu Ming
f9892f20d7 Add rough conversation testing for polymer equation. 2014-12-09 10:33:20 +08:00
Liu Ming
4d1f364a40 fix cmax issues. 2014-12-08 13:45:30 +08:00
Liu Ming
601767306a fix cmax issue, which affect Nodesorption results. 2014-12-08 10:00:27 +08:00
Liu Ming
d2892833b4 fix wrong implementation. 2014-12-08 09:54:16 +08:00
Liu Ming
93994a3e53 simplify the implementation. 2014-12-08 09:52:57 +08:00
Liu Ming
d9605b94e7 Merge remote-tracking branch 'opm/master' into fix_cmax 2014-12-08 09:15:01 +08:00
Andreas Lauser
c3d73e6de8 fix typo 2014-12-03 17:03:25 +01:00
Liu Ming
28b2fab7b7 fix gcc4.8 compile issue and remove whitespace. 2014-12-03 17:28:55 +08:00
Liu Ming
242ec598c8 Merge remote-tracking branch 'opm/master' into wpolymer_schedule 2014-12-03 16:56:38 +08:00
Liu Ming
cca03d5421 delete commented line. 2014-11-21 09:29:09 +08:00
Andreas Lauser
d36d7e81cb allow temperature dependent PVT properties
this has the nice side effect that non-uniform temperature fields also
become supported as long as they are "impressed" externally...
2014-11-20 19:25:18 +01:00
Liu Ming
9303e41966 add new polymerInflow constructor, get polymer injection rate from schedule section. 2014-11-20 16:32:02 +08:00
Liu Ming
63d68ecd62 add config.h 2014-11-19 08:44:54 +08:00
Liu Ming
c605a22c14 add config.h 2014-11-18 09:47:51 +08:00
Liu Ming
a43fa424a6 remove not-used files, these files belong to Incompressible flow, not
supported by autodiff.
2014-11-18 09:33:38 +08:00
Liu Ming
674284d382 fix header gard! 2014-11-18 09:29:27 +08:00
Liu Ming
4ce5661d9e compute cmax every time step. 2014-11-17 17:23:04 +08:00
Liu Ming
9a5c889656 adapt to API changes of opm-autodiff. 2014-11-14 13:16:22 +08:00
Liu Ming
58bdc701e3 since two phase polymer simulator support EclipseWriter, need to remove historical
files for outputing water cut.
2014-10-29 13:38:15 +08:00
Liu Ming
ac764bd8a8 let sim_poly_fi2p_comp_ad works as the same way as sim_poly_fibo_ad.
- move time iteration to simulator class
 - add EclipseWriter and output Eclipse binaries.
 - add DeckConstPtr for polymer inflow.
2014-10-29 13:23:50 +08:00
Liu Ming
3102c4dab2 use WellStateFullyImplicitBlackoil instead of WellState. 2014-10-29 10:25:06 +08:00
Liu Ming
d44e8e6d9f remove unnecessary referencer. 2014-10-28 16:29:22 +08:00
Liu Ming
a23e4ca63b remove historical and un-used files. 2014-10-28 14:28:34 +08:00
Liu Ming
c0a61c9655 due to the new timer, simulator class should not do time iteration once again. 2014-10-28 13:31:35 +08:00
Liu Ming
5242d6bbf7 move time iterations to Simulator class and pass deck to create polymer inflows.
This should solve the issues: write the final state to eclipse binaries.
2014-10-28 13:14:44 +08:00
Liu Ming
5535dd99cc source term should be '-' not '+' to mass balance equation... 2014-10-27 14:10:40 +08:00
Liu Ming
ba6fef4fbd pass wells manager from sim_poly_fibo to Simulator class, instead of directly
create it in Simulator class, since polymer inflow need deck and wells.
2014-10-24 14:04:57 +08:00
Liu Ming
6b3b90500f Merge remote-tracking branch 'opm/master' into bo_polymer
Conflicts:
	opm/polymer/PolymerProperties.hpp
2014-10-20 13:51:37 +08:00
Liu Ming
88a1ec6e9f fix bugs: polymer head should be dp*trans. 2014-10-20 13:44:12 +08:00
Atgeirr Flø Rasmussen
23ea7cbd11 Merge pull request #69 from qilicun/fix_bugs
PLYVISC and PLYADS should not just have only one row.
2014-10-17 12:21:58 +02:00
Liu Ming
89120ed57f output parameters for debugging and remove double loop of timer. 2014-10-16 16:55:36 +08:00
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 #52 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 OPM/opm-core#518) 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