Commit Graph

64 Commits

Author SHA1 Message Date
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
Bård Skaflestad
2dffbb3a70 Add gather/scatter support for wells 2013-05-24 17:22:35 +02:00
Atgeirr Flø Rasmussen
cd42d4af34 Added missing dereference operator. 2013-05-24 16:07:27 +02:00
Bård Skaflestad
747badaea8 Merge remote-tracking branch 'atgeirr/fully-implicit' into fully-implicit 2013-05-24 15:56:23 +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
Bård Skaflestad
c5ad446a0a Include well support in FIBOSolver interface.
Update callers accordingly.
2013-05-24 15:27:19 +02:00
Bård Skaflestad
520a6a0a11 Merge remote-tracking branch 'atgeirr/fully-implicit' into fully-implicit 2013-05-24 12:24:42 +02:00
Atgeirr Flø Rasmussen
a94f1921dd Added simulator class for fully implicit blackoil. 2013-05-24 11:40:58 +02:00
Bård Skaflestad
3a31a1a61f Implement residualNorm() for reservoir part.
This is a prerequisite to having a working Newton loop.

This is a forward-port of commit 604f866.
2013-05-24 11:38:17 +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
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
Bård Skaflestad
0c9cd6b901 Expose PhaseUsage to clients
This is likely to be a hack, but it does facilitate creating the fully
implicit solver for arbitrary two- and three-phase fluid systems.
2013-05-23 18:26:25 +02:00
Bård Skaflestad
2621283f1d Add operator+=
This simplifies updating residuals.
2013-05-23 18:24:37 +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
Bård Skaflestad
e2b5586b31 Merge remote-tracking branch 'atgeirr/master' 2013-05-23 13:25:20 +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
Bård Skaflestad
04e48cf615 Merge remote-tracking branch 'atgeirr/master' 2013-05-22 13:00:03 +02:00
Bård Skaflestad
6d0202d529 collapseJacs(): Don't assume column-major ordering
The 'InnerIterator' is ordering agnostic, so there is no need to
assume that the Jacobians are stored in a particular ordering.
2013-05-22 11:26:49 +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
89bd40f81e Removed unused experiment with armadillo replacing Eigen. 2013-05-22 08:34:06 +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
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
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