Commit Graph
100 Commits
Author SHA1 Message Date
Atgeirr Flø Rasmussen 74a5e10f7b Renames variables dtpv->pvdt and Rs->rs. 2013-06-02 08:19:21 +02:00
Atgeirr Flø Rasmussen adf291a30c Work in progress on well flux equations. 2013-06-02 08:17:13 +02:00
Atgeirr Flø Rasmussen 9a3bad000a Do not evaluate properties at well perforation pressures.
Always use quantities derived from cell properties.
2013-05-31 16:03:00 +02:00
Atgeirr Flø Rasmussen adbbebeeea Properly compute well pressure differentials.
Properly here means using a simple algorithm like
in CompressibleTpfa and ImpesTPFAAD.
2013-05-31 15:02:03 +02:00
Atgeirr Flø Rasmussen 514c48aa31 Use DUMP macro in useful places. 2013-05-31 15:01:28 +02:00
Atgeirr Flø Rasmussen d49be41cae Corrected fluidDensity() function to account for dissolved gas. 2013-05-31 14:59:56 +02:00
Atgeirr Flø Rasmussen 59e36f72b3 Add DUMP macro for debugging. 2013-05-31 14:59:24 +02:00
Atgeirr Flø Rasmussen 526b4d26e3 Actually initialize densities_ member. 2013-05-31 14:57:04 +02:00
Atgeirr Flø Rasmussen 932660a18c New updateState() method, changes to fluid interfaces.
- updateState() is a new method that modifies the state object after solution,
   this was formerly done in solveJacobianSystem().
 - Implemented Appleyard chop (not verified yet) for handling variable switching.
 - Added rs as input to fluid interfaces to include rs-derivatives.
2013-05-30 14:43:32 +02:00
Atgeirr Flø Rasmussen 62d0ad85b8 Use BlackoilPropsAdFromDeck in fully implicit simulator. 2013-05-27 22:28:17 +02:00
Atgeirr Flø Rasmussen e3f39504f4 Fixed error in include guard macros.
Header file started life as a copy of another header, but include
guard macro was not changed. Time to go for #pragma once?
2013-05-27 22:26:52 +02:00
Atgeirr Flø Rasmussen f26207d430 Fixes in BlackoilPropsAdFromDeck. Now compiles. 2013-05-27 22:01:20 +02:00
Atgeirr Flø Rasmussen 6f6979e173 Now initialize with new code (for gas-oil ratio). 2013-05-27 22:00:34 +02:00
Atgeirr Flø Rasmussen a6dba405dd Merge remote-tracking branch 'totto82/newfluid' into fully-implicit 2013-05-27 15:46:22 +02:00
Atgeirr Flø Rasmussen 2c206e0cd4 Finished initial attempt at miscibility support.
Not yet tested. Also, no way to initialize gas-oil ratio yet.
2013-05-27 11:32:35 +02:00
Atgeirr Flø Rasmussen cbb7b07496 Added method fluidRsMax(), added rs as a primary variable.
Also increased amount of whitespace between methods for readability.
2013-05-27 10:29:04 +02:00
Atgeirr Flø Rasmussen 5f4167d800 New interface methods rsMax() in BlackoilPropsAdInterface.
Notes:
 - Interface was already present, just disabled.
 - Class BlackoilPropsAd cannot properly implement rsMax() with derivatives,
   and implements only a throw statement.
2013-05-27 10:26:41 +02:00
Atgeirr Flø Rasmussen 78fa581417 Fix some bugs: referring to the wrong phase in two places. 2013-05-27 00:24:38 +02:00
Atgeirr Flø Rasmussen 09c4362e3c Added solveJacobianSystem() method, finished step().
Code is now functionally complete apart from lacking miscibility,
not writing to all promised output variables and not writing the
promised output to disk. Initial testing has been unsuccessful,
so there are bugs in the code.
2013-05-26 11:49:44 +02:00
Atgeirr Flø Rasmussen 1d4af250ac Add well contributions to mass balance residuals. 2013-05-26 09:52:58 +02:00
Atgeirr Flø Rasmussen 8a740eeab4 Merge remote-tracking branch 'bska/fully-implicit' into fully-implicit 2013-05-25 10:50:00 +02:00
Atgeirr Flø Rasmussen b88dfd6af2 Added assembly of well equations.
This has not been tested.
Well contributions to mass balance equations are not done yet.
2013-05-25 10:47:22 +02:00
Atgeirr Flø Rasmussen 2ebd58fad2 Added bhp as a primary variable.
Changed interface of constantState() and variableState() to also
take a WellState as input. Some comments added with minor layout
changes.
2013-05-24 23:20:15 +02:00
Atgeirr Flø Rasmussen dfbf8dd80e Commented the assemble() function. 2013-05-24 22:30:54 +02:00
Atgeirr Flø Rasmussen 9894fdc2d4 Renamed residual_.reservoir -> residual_.mass_balance.
Also initialize in initializer list, eliminating the need for
the allocateResidual() method.
2013-05-24 22:16:06 +02:00
Atgeirr Flø Rasmussen a3be33a312 Merge remote-tracking branch 'bska/fully-implicit' into fully-implicit 2013-05-24 21:46:11 +02:00
Atgeirr Flø Rasmussen dc83ecb18e Merge remote-tracking branch 'bska/fully-implicit' into fully-implicit 2013-05-24 21:11:41 +02:00
Atgeirr Flø Rasmussen 937df8869b Added unit test for Span class. 2013-05-24 16:07:51 +02:00
Atgeirr Flø Rasmussen cd42d4af34 Added missing dereference operator. 2013-05-24 16:07:27 +02:00
Atgeirr Flø Rasmussen fa02639dbf Use Span. 2013-05-24 15:38:31 +02:00
Atgeirr Flø Rasmussen 535a1fd272 Added Span. 2013-05-24 15:38:19 +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 e367f08732 Moved implementation to .cpp file. 2013-05-24 11:14:05 +02:00
Atgeirr Flø Rasmussen 3d008c033d Class FullyImplicitBlackoilSolver is no longer a template. 2013-05-24 11:00:55 +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
Atgeirr Flø Rasmussen 6f55996441 Merge branch 'master' into fully-implicit 2013-05-24 10:40:35 +02:00
Atgeirr Flø Rasmussen 394a851b41 Clarify some variables' purposes. 2013-05-24 10:39:10 +02:00
Atgeirr Flø Rasmussen 9277e10552 Temporarily ignore viscosity derivatives. 2013-05-24 10:38:23 +02:00
Atgeirr Flø Rasmussen 8afdef61b6 Merge remote-tracking branch 'bska/master' 2013-05-24 09:06:50 +02:00
Atgeirr Flø Rasmussen 542b7eb03d Removed qs from the set of primary variables. 2013-05-24 08:14:43 +02:00
Atgeirr Flø Rasmussen 07fbdf7608 Fix initialization issue with gpot_. 2013-05-23 16:39:15 +02:00
Atgeirr Flø Rasmussen 70ebd21cfd Moved some calculations to computeExplicitData() method. 2013-05-23 15:08:21 +02:00
Atgeirr Flø Rasmussen e5bd6547ae Add gravity() method. 2013-05-23 14:48:34 +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 52dc5799cc Now computeFluxes() also sets well quantities.
Namely well_state.perfRates() and well_state.perfPress().
In the process, some overloads of fluid methods were added to
take V arrays instead of ADB arrays.

Simultaneously, coarsened tolerances a bit. Still hardcoded, though.
2013-05-22 22:51:14 +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 abc23b8009 ImpesTPFAAD is no longer a template class. 2013-05-22 15:27:16 +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 511ab37dc4 Fix error in testcase specifying well prod. factors.
Also switch back to surface volume controls.
2013-05-22 12:33:40 +02:00
Atgeirr Flø Rasmussen 8cc16466a9 Make ImpesTPFAAD use abstract fluid interface instead of template.
Follow-up changes to test program. Also while there, input correct
number of perforations to add_well() calls.
2013-05-22 11:13:14 +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
Atgeirr Flø Rasmussen 476220c84b Refined test to have multi-perforation wells. 2013-05-22 08:34:50 +02:00
Atgeirr Flø Rasmussen 89bd40f81e Removed unused experiment with armadillo replacing Eigen. 2013-05-22 08:34:06 +02:00
Atgeirr Flø Rasmussen c6b640d3db Change example to use a surface rate constraint for one well. 2013-05-22 00:10:16 +02:00
Atgeirr Flø Rasmussen edc08c0679 Now accepts both BHP and SURFACE_RATE wells. 2013-05-22 00:09:57 +02:00
Atgeirr Flø Rasmussen 9aea3b4589 Removed extra init that is no longer necessary. 2013-05-21 23:35:28 +02:00
Atgeirr Flø Rasmussen c8bde19a01 Use all eqns for residual evaluations.
Use new wellRates() member of WellState.
2013-05-21 23:26:55 +02:00
Atgeirr Flø Rasmussen 8938459f7b Added well equations.
Residuals are not yet used for loop control.
2013-05-21 15:42:35 +02:00
Atgeirr Flø Rasmussen 73ba67ec13 Make the test run a simple bhp-controlled case. 2013-05-21 15:42:10 +02:00
Atgeirr Flø Rasmussen 3929688756 Added utilitied collapseJacs() and vertcat().
The utilities are not optimized for speed, but make it easy
to construct a linear system from all the jacobian blocks.
2013-05-21 15:40:45 +02:00
Atgeirr Flø Rasmussen bd1af1f53a Make float accuracy fix the main path. Remove alternative path. 2013-05-21 13:54:28 +02:00
Atgeirr Flø Rasmussen a147ff93d0 Can now solve with bhp-controlled wells.
Simple initial code. Assumes that well_state.bhp() contains
well bhp targets, does not check control structures.
2013-05-21 09:33:52 +02:00
Atgeirr Flø Rasmussen 4d794b79dc Added Selector class.
Used to choose element-by-element between two (potentially AD) vectors,
depending on signs of elements of a third vector. Simple and not optimized.
2013-05-21 09:29:51 +02:00
Atgeirr Flø Rasmussen defae7b96d Moved UpwindSelector out of anonymous namespace. 2013-05-21 09:28:54 +02:00
Atgeirr Flø Rasmussen a301477655 Remove more unused code. 2013-05-20 23:42:12 +02:00
Atgeirr Flø Rasmussen aea69d328b Clean out dead uncommented code. 2013-05-20 23:09:06 +02:00
Atgeirr Flø Rasmussen f822cb4739 Test case working again with new fluid. 2013-05-16 16:31:05 +02:00
Atgeirr Flø Rasmussen cc1f8ed21a Refactored ImpesTPFAAD to use BlackoilPropsAd interface.
Not yet tested, but compiles and runs. Stops on error message
due to lack of viscosity derivatives.
2013-05-16 16:05:47 +02:00
Atgeirr Flø Rasmussen 37677fe032 Print face fluxes after solve.
Also define the HACK_INCOMPRESSIBLE_GRAVITY symbol, since test case
is meaningless without it.
2013-05-16 14:49:12 +02:00
Atgeirr Flø Rasmussen f6c6ee0fa0 Fixes in computeFluxes().
- Give AD variables the correct block pattern (although as we
   change fluid interface they will not need to be ad types).
 - Make sure 'flux' is only on inner faces.
 - Copy full fluxes to state.faceflux().
2013-05-16 14:46:54 +02:00
Atgeirr Flø Rasmussen 84d163e9fa Bugfix: convert array to matrix type for matrix multiply. 2013-05-16 14:44:16 +02:00
Atgeirr Flø Rasmussen 6a2b21e04b Refine OpmFind according to Roland Kaufmann's suggestions.
This enables us to restore FindEigen3.cmake to its original
state (as copied from Eigen sources).
2013-05-16 14:18:59 +02:00
Atgeirr Flø Rasmussen f6b46bda8f Merge pull request #1 from bska/master
Implement total Darcy flux calculation and minor build-system cleanup
2013-05-16 04:20:45 -07:00
Atgeirr Flø Rasmussen de743ddce2 Update README.md. 2013-05-16 10:55:40 +02:00
Atgeirr Flø Rasmussen d59363d681 Now Eigen is found properly. 2013-05-16 10:49:05 +02:00
Atgeirr Flø Rasmussen db95420b98 Add FindEigen3 cmake module. Currently unused. 2013-05-16 10:28:25 +02:00
Atgeirr Flø Rasmussen c20a67aa1b Merge remote-tracking branch 'bska/master' 2013-05-16 09:55:11 +02:00
Atgeirr Flø Rasmussen 1f1e1e8ed2 Reduce tolerance, add alternative code path.
The alternative code path attempts to deal with floating point cancellation
issues, which may not turn out to be a problem in the end (for real cases).
2013-05-16 09:53:17 +02:00
Atgeirr Flø Rasmussen 028991a2a3 Ensure viscosity derivative is initialized. 2013-05-15 13:25:33 +02:00
Atgeirr Flø Rasmussen 7dbb9b50e1 Work in progress on adding wells. 2013-05-15 09:23:15 +02:00
Atgeirr Flø Rasmussen 90a4984dea Fix multiple symbol issue. 2013-05-15 09:22:45 +02:00
Atgeirr Flø Rasmussen 959f7cbcac Added superset() functions.
The reverse of subset(), superset() takes a sparse representation of a vector
and makes a full representation of it.

Also added a little documentation.
2013-05-15 08:50:22 +02:00
Atgeirr Flø Rasmussen 38259f43bf Added size() member for ease of use.
This makes it easier to write for example templated code
acting on either AD vectors or non-ad vectors.
2013-05-15 08:48:36 +02:00
Atgeirr Flø Rasmussen 51a5bdd039 Updated for helper class name change (UpwindSelector). 2013-05-15 08:35:38 +02:00
Atgeirr Flø Rasmussen e95bafb0a2 Merge remote-tracking branch 'bska/master' 2013-05-15 08:32:43 +02:00
Atgeirr Flø Rasmussen 3c2031cd2e Moved spdiag out of an anonymous namespace.
It is a function meant to be called by clients, not an implementation detail.
2013-05-15 07:42:00 +02:00
Atgeirr Flø Rasmussen e8baa4a967 Merge remote-tracking branch 'bska/master' 2013-05-14 15:12:18 +02:00
Atgeirr Flø Rasmussen 995e8d7a91 Initial untested implementation of relperm() methods. 2013-05-14 15:11:46 +02:00
Atgeirr Flø Rasmussen 604f137d83 Merge remote-tracking branch 'bska/master' 2013-05-14 13:35:33 +02:00
Atgeirr Flø Rasmussen 53cfceea04 Implemented most of the fluid interface.
Missing is: rsMax() [postponed] and relperm() [coming soon].
2013-05-14 13:33:14 +02:00
Atgeirr Flø Rasmussen 68aee4d044 Added interface for properties for use with AD code. 2013-05-13 14:03:03 +02:00
Atgeirr Flø Rasmussen 9620339476 Merge remote-tracking branch 'bska/master'
Conflicts:
	ImpesTPFAAD.hpp
2013-05-13 10:31:15 +02:00
Atgeirr Flø Rasmussen dd679892bc Work in progress on adding well eqns. 2013-05-13 10:26:16 +02:00
Atgeirr Flø Rasmussen e633f59df4 ImpesTPFAAD now takes a linear solver parameter.
Also work in progress on adding well bhp to the system.
2013-05-13 08:35:39 +02:00
Atgeirr Flø Rasmussen 2f62b2e565 Added null() static construction method. 2013-05-13 08:34:22 +02:00
Atgeirr Flø Rasmussen b0cf134479 Added wells to solver interface, not used for anything yet. 2013-05-12 21:43:54 +02:00
Atgeirr Flø Rasmussen 2f6f32bf6e Added variables() static construction method. 2013-05-12 21:43:32 +02:00