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
Bård Skaflestad
7432ca215f
Include <cassert> for assert() macro.
2013-05-24 22:04:58 +02:00
Bård Skaflestad
eee8c27346
Merge remote-tracking branch 'atgeirr/fully-implicit' into fully-implicit
2013-05-24 21:49:27 +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
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
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
Bård Skaflestad
0063799e86
Merge remote-tracking branch 'atgeirr/master'
2013-05-16 10:29:19 +02:00
Bård Skaflestad
c8fb7169aa
Move rel-perm and viscosity calculations closer to use
...
This is an aesthetic change, only.
2013-05-16 09:58:34 +02:00
Atgeirr Flø Rasmussen
c20a67aa1b
Merge remote-tracking branch 'bska/master'
2013-05-16 09:55:11 +02:00
Bård Skaflestad
fa2e02a579
The 'pflux' is really the hydraulic head.
...
Rename variable accordingly.
2013-05-16 09:51:34 +02:00
Bård Skaflestad
ef354792cd
Implement first cut at Darcy (total) flux calculation.
...
This is compile-tested only.
2013-05-16 09:48:56 +02:00
Bård Skaflestad
24204cf33e
Merge remote-tracking branch 'atgeirr/master'
2013-05-15 16:10:54 +02:00
Bård Skaflestad
e0c85a2fdb
Adapt to CMake-based build system.
...
Specifically,
- #include <config.h> where appropriate (all .cpp files)
- Adjust include statements to account for sub-directory locations
of .hpp files.
2013-05-15 16:10:20 +02:00
Bård Skaflestad
9309024d1e
First partitioning into source/examples/tests
...
Reorganisations are likely.
2013-05-15 10:35:39 +02:00