Commit Graph
96 Commits
Author SHA1 Message Date
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