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
Atgeirr Flø Rasmussen
a797ce5f32
Use subset() for simpler code.
2013-05-08 12:59:38 +02:00
Atgeirr Flø Rasmussen
1065dbd2f8
Add subset() free function.
...
Also add overload for UpwindSelector::select() taking constants (not AD variables).
2013-05-08 12:57:38 +02:00
Atgeirr Flø Rasmussen
9fd6678d99
Variable name change.
2013-05-08 12:55:25 +02:00
Atgeirr Flø Rasmussen
8e687194ed
Bugfix: do not use unititialized transi_ if no gravity.
2013-05-07 13:32:59 +02:00
Atgeirr Flø Rasmussen
9a901b32cc
Merge remote-tracking branch 'bska/master'
2013-05-07 13:15:13 +02:00
Atgeirr Flø Rasmussen
c028d52f5a
Added gravity treatment to transport solver (untested).
2013-05-07 13:13:38 +02:00
Atgeirr Flø Rasmussen
748b3d3fdd
Minor simplification: make fw_face from fw_cell.
2013-05-07 10:08:09 +02:00
Atgeirr Flø Rasmussen
3888904e61
Removed unused code.
2013-05-07 10:07:25 +02:00
Atgeirr Flø Rasmussen
e217b70ee0
Add single-AD quantity select() method.
...
Also make comments into Doxygen comments.
2013-05-07 10:06:22 +02:00
Atgeirr Flø Rasmussen
f83c03de63
Updated check for umfpack for (opm-core) implicit solver.
2013-05-07 00:46:35 +02:00
Atgeirr Flø Rasmussen
82f3aba1af
Fix use of relperm derivatives w.r.t. saturation.
...
Also reinstate residual norm output.
2013-05-07 00:45:38 +02:00
Atgeirr Flø Rasmussen
c5811d141f
Added simulator program capable of running with AD transport solver.
...
Use the parameter 'transport_solver_type' to choose between 'reorder',
'implicit' and 'ad' (the new one).
2013-05-06 23:45:05 +02:00
Atgeirr Flø Rasmussen
9cc6ca368b
Added simulator class that can use AD transport solver.
...
This is based on a copy of SimulatorIncompTwophase, and should be refactored.
2013-05-06 23:41:41 +02:00
Atgeirr Flø Rasmussen
faad6157ec
Created transport solver using AD.
...
Only two-phase incompressible so far.
2013-05-06 23:41:04 +02:00
Atgeirr Flø Rasmussen
24c3e807c3
Moved helpers to separate file.
2013-05-06 14:00:17 +02:00
Atgeirr Flø Rasmussen
18ec43f255
Use harmonic averaging of mobility for pressure eqns.
2013-05-06 13:28:30 +02:00
Atgeirr Flø Rasmussen
ea993f6647
Tighten tolerance for better fit with sim_simple.cpp.
2013-05-06 13:27:48 +02:00
Atgeirr Flø Rasmussen
1509773ec4
Minor refactoring of UpwindSelector.
...
Also rename -> UpwindSelectorTotalFlux.
2013-05-06 12:52:28 +02:00
Atgeirr Flø Rasmussen
8ffb2b0904
Added arithmetic operators taking constants.
...
Also simplified sim_simple.cpp by using new operators to get
rid of ADB::constant() usage.
2013-05-06 11:50:42 +02:00
Atgeirr Flø Rasmussen
2adbccd4f0
Treat source terms properly.
2013-05-06 11:25:55 +02:00
Atgeirr Flø Rasmussen
4366341971
Constified everything.
2013-05-06 11:11:32 +02:00
Atgeirr Flø Rasmussen
1aaec4b9a0
Simplified construction of total flux.
2013-05-06 10:45:29 +02:00
Atgeirr Flø Rasmussen
507914bd8f
Rename s00 -> sw0.
2013-05-06 10:29:47 +02:00
Atgeirr Flø Rasmussen
17cc1c5042
Capitalize type name.
2013-05-06 10:03:35 +02:00
Atgeirr Flø Rasmussen
11be220440
Give type name initial capital.
2013-05-06 09:53:16 +02:00
Atgeirr Flø Rasmussen
60b8e8c40d
Merge remote-tracking branch 'bska/master'
2013-05-06 09:49:00 +02:00
Atgeirr Flø Rasmussen
e59e5cc5f2
Unfinished version of Armadillo-using AD class added.
2013-05-06 09:43:26 +02:00
Atgeirr Flø Rasmussen
9deca26fae
Merge remote-tracking branch 'bska/master'
2013-05-03 11:01:46 +02:00
Atgeirr Flø Rasmussen
7e240913a4
Now doing a single transport step as well.
2013-05-03 11:00:17 +02:00
Atgeirr Flø Rasmussen
62e321d069
Moved topological matrix operators into separate struct.
2013-05-02 13:51:03 +02:00
Atgeirr Flø Rasmussen
9a9e6fb7b7
Fix slow setup of cdiff etc. Also add timing, make case 3d.
2013-05-02 11:27:02 +02:00
Atgeirr Flø Rasmussen
63aae9a232
Avoid unused variable warning in release build.
2013-05-02 11:26:06 +02:00
Atgeirr Flø Rasmussen
42511ad2e3
Removed unused variables sw and so.
2013-05-02 09:27:58 +02:00
Atgeirr Flø Rasmussen
169557111d
Simple simulator-like test program added.
...
So far it only computes a single pressure solution.
2013-05-02 08:51:36 +02:00
Atgeirr Flø Rasmussen
8e7ae33724
Fixed wrong assert() in operator*(sparse matrix, AD block).
...
Also removed unnecessary debug output (that was wrong anyway).
2013-05-01 21:25:50 +02:00
Atgeirr Flø Rasmussen
f85e74bcff
Added operator* that allows A*x for sparse A and x an AD object.
2013-05-01 09:05:53 +02:00
Atgeirr Flø Rasmussen
92f56f6d92
Removed variable index from ForwardBlock class.
...
Feature was in the way of having (for example) face variables depending on cell variables.
2013-05-01 09:03:56 +02:00
Atgeirr Flø Rasmussen
30c8acfaf4
Updated ignore patterns.
2013-04-30 20:29:57 +02:00
Atgeirr Flø Rasmussen
d046b9e97a
Completed simple block AD class.
2013-04-30 20:28:32 +02:00
Atgeirr Flø Rasmussen
d518b5c787
Initial work in progress on block AD class.
2013-04-30 16:15:40 +02:00
Atgeirr Flø Rasmussen
069e878b0e
Completed basic version of AD vector class and test.
2013-04-30 16:15:00 +02:00
Atgeirr Flø Rasmussen
e2d8b77ec5
Initial vector AD type experimentation.
2013-04-30 11:48:04 +02:00
Atgeirr Flø Rasmussen
0bf693e8c0
Merge remote-tracking branch 'bska/master'
2013-04-30 11:07:13 +02:00
Atgeirr Flø Rasmussen
42cdfa27a0
Use named constructor pattern.
...
Made AutoDiff::Forward constructor private.
Added static methods constant(), variable(x) and function(x, dx).
2013-04-30 11:05:59 +02:00