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