Commit Graph

9078 Commits

Author SHA1 Message Date
Bård Skaflestad
e76e224de8 Revert to original (fractional flow) model of perforation fluxes. 2012-03-20 18:46:54 +01:00
Xavier Raynaud
62a1c1ad98 Corrected various bugs in gravitation solver. 2012-03-20 17:43:25 +01:00
Bård Skaflestad
27271b57b5 Pass number of fluid phases along with well data.
Needed to properly index into Wdata->phasemob.  Update callers
accordingly.
2012-03-20 15:43:25 +01:00
Atgeirr Flø Rasmussen
6688ea1031 Make comments relating to omega (frac.flow-weighted density) precise. 2012-03-20 14:21:22 +01:00
Bård Skaflestad
60a9bee4ac Declare well support in ifs_tpfa module. Currently not implemented.
Update callers accordingly.
2012-03-20 13:39:34 +01:00
Atgeirr Flø Rasmussen
39e55a34cf Merged. 2012-03-20 12:12:21 +01:00
Atgeirr Flø Rasmussen
b430b7bcb5 Now running with rock compressibility (testing in progress). Multiple changes.
- TransportModelTwophase no longer takes pore volume in constructor, but in
   the solve() and solveGravity() calls.
 - Residual function uses compressibility term (not yet for gravity residual).
 - spu_2p now takes a new parameter "init_p_bar", and ReservoirState class
   accepts initial pressure as a constructor argument.
 - Moved parts of initialization around, since pore volume now depends on
   state (pressure).
2012-03-20 12:11:08 +01:00
Atgeirr Flø Rasmussen
07c4938e00 Compensate for matrix adjustment in rock comp case. 2012-03-20 12:05:59 +01:00
Xavier Raynaud
49b9f340ac Added functions to compute mobilities and coefficient mc (with derivatives). 2012-03-20 11:58:09 +01:00
Bård Skaflestad
433485c4f9 Solve(rock_comp): Refactor rock-compressibility diagonal term calculation. 2012-03-20 11:21:02 +01:00
Atgeirr Flø Rasmussen
227d3e7d3c Added computePorevolume() overload taking rock compressibility into account. 2012-03-20 10:31:32 +01:00
Atgeirr Flø Rasmussen
a4a92b9bd9 Fixed const correctness issue in RockCompressibility class. 2012-03-20 10:29:43 +01:00
Atgeirr Flø Rasmussen
8f6af3ba19 Added RockCompressibility::isActive() method. 2012-03-20 10:15:33 +01:00
Atgeirr Flø Rasmussen
f40d0ad8de Documented computePhaseMobilities(). 2012-03-20 10:13:27 +01:00
Xavier Raynaud
542ed94b84 removed bugs. can compile. Not tested. 2012-03-19 16:33:32 +01:00
Atgeirr Flø Rasmussen
bc0173a56b Merge. 2012-03-19 14:35:37 +01:00
Atgeirr Flø Rasmussen
983b55049f Fixed and documented constructor taking ParameterGroup. 2012-03-19 14:35:13 +01:00
Atgeirr Flø Rasmussen
e239c1d209 Added constructor taking parameters to RockCompressibility. 2012-03-19 14:30:44 +01:00
Atgeirr Flø Rasmussen
3f683e607e Added RockCompressibility class. 2012-03-19 13:55:26 +01:00
Bård Skaflestad
049f02e1df solve(rock_comp): Replace manual index search with csrmatrix_elm_index(). 2012-03-19 13:55:21 +01:00
Atgeirr Flø Rasmussen
ed5cf7270c Implemented solve() with rock compressibility (untested). Struct init warning suppression. 2012-03-19 11:52:03 +01:00
Xavier Raynaud
b6b720f338 Removed useless comment. 2012-03-19 11:30:00 +01:00
Xavier Raynaud
2daf397268 removed dmcds because the coefficient mc does not depend on s. 2012-03-19 11:28:55 +01:00
Xavier Raynaud
b513b129ce changed syntax for BandMatrixCoef. 2012-03-19 09:56:20 +01:00
Bård Skaflestad
f3ce1369c4 Merge from upstream. 2012-03-16 20:35:52 +01:00
Bård Skaflestad
e8712565a8 ifs_tpfa_assemble(): Coalesce external forces into single branch. 2012-03-16 14:30:13 +01:00
Atgeirr Flø Rasmussen
75b6e1fc97 Fixed bugs and changed interface for Gauss-Seidel segregation solver. 2012-03-16 13:41:10 +01:00
Bård Skaflestad
78687dc5c9 Refactor construction of driving forces in preparation of well support. 2012-03-16 11:59:51 +01:00
Bård Skaflestad
3dbd7e4599 Refactor ifs_tpfa_press_flux() flux calculation in preparation of wells.
Specifically, move calculation of cross-boundary fluxes introduced by
boundary conditions out to new internal function boundary_fluxes().
2012-03-16 11:21:34 +01:00
Bård Skaflestad
83345b4e3a Align multi-line parameter lists and structure members.
No functional changes.
2012-03-16 11:06:01 +01:00
Atgeirr Flø Rasmussen
a02089eabb Merge. 2012-03-16 08:33:35 +01:00
Atgeirr Flø Rasmussen
6e916914d6 Added experimental Gauss-Seidel segregation solver. Not yet functioning. 2012-03-16 08:33:00 +01:00
Xavier Raynaud
dc0771ee3e merge 2012-03-15 18:10:10 +01:00
Xavier Raynaud
efe0408b71 Gravity column solver with polymer. 2012-03-15 18:09:29 +01:00
Xavier Raynaud
54844f60c1 Computes s and c-residual and its Jacobian at a cell interface. 2012-03-15 18:08:30 +01:00
Bård Skaflestad
4378bf7192 Initialise all tpfa_solution members to zero (i.e., NULL).
This is in anticipation of introducing additional structure members to
represent solution variables associated with wells whilst having the
compiler generate the appropriate null pointers to aid debugging.

Unfortunately, GCC warns about the standard "structure = { 0 }" idiom
under -Wmissing-field-initializers which is enabled by default under
"-Wextra".
2012-03-15 15:13:03 +01:00
Bård Skaflestad
27226eaacb Encapsulate ifs_tpfa pressure solution in ad-hoc structure.
This is to limit the number of explicit interface changes when we
produce solution variables for wells too.

Update callers accordingly.
2012-03-15 14:26:40 +01:00
Bård Skaflestad
bc106cb286 ifs_tpfa: Build sparse matrix structure capable of handling wells.
Actual contributions not included at this time.  Update caller
(IncompTPFA) accordingly, but don't modify observable behaviour.
2012-03-15 02:53:59 +01:00
Atgeirr Flø Rasmussen
b120aa6c90 Bugfix: corrected computation of polymer contained in reservoir. 2012-03-14 21:12:54 +01:00
Atgeirr Flø Rasmussen
1554bfff11 Still working on adsorption computations. 2012-03-14 16:13:59 +01:00
Atgeirr Flø Rasmussen
efc03f1596 Remove unneeded dps argument from computePolymerAdsorbed(). 2012-03-14 15:59:56 +01:00
Atgeirr Flø Rasmussen
2f06b301bf Change function name to computePolymerAdsorbed() [with a d, not b]. 2012-03-14 15:57:28 +01:00
Atgeirr Flø Rasmussen
ad470a7796 Bugfix: dead pore space in polymer mass calc. Added computePolymerAbsorbed(). 2012-03-14 15:54:36 +01:00
Atgeirr Flø Rasmussen
bf44f9f72e Added computePolymerMass() and polymer-aware overload of computeInjectedProduced(). 2012-03-14 14:03:07 +01:00
Atgeirr Flø Rasmussen
5a47b3b075 Fix doc typo. 2012-03-14 13:46:21 +01:00
Atgeirr Flø Rasmussen
d98b83bd3d Moved Watercut class to miscUtilities.hpp. 2012-03-14 12:47:01 +01:00
Atgeirr Flø Rasmussen
08e12d7be1 Added wellsToSrc() function. Use forward declarations in header. 2012-03-14 09:51:08 +01:00
Bård Skaflestad
e93ae04452 Merge from upstream. 2012-03-14 00:00:15 +01:00
Bård Skaflestad
7e74da8021 Account for explicit flux BCs during flux calculation. 2012-03-13 23:35:26 +01:00
Bård Skaflestad
81f3c31392 Account for compressed BC representation during flux calculation. 2012-03-13 23:28:43 +01:00
Bård Skaflestad
11671f0cad Assemble flux boundary conditions into system of linear equations.
A few restrictions apply:

  * The bc->value is interpreted as an inflow *into* the connecting
    cell.  Outflow conditions must be specified using a negative
    sign.

  * We do not currently support general total flux conditions
    (necessitates the introduction of additional degrees of freedom),
    so bc->cond_pos[i+1]-bc->cond_pos[i] must be one (1) for all
    BC_FLUX_TOTVOL conditions.
2012-03-13 21:00:51 +01:00
Atgeirr Flø Rasmussen
f72fdf1914 Added computeSaturatedVol() and computeInjectedProduced() functions. 2012-03-13 15:56:52 +01:00
Bård Skaflestad
47a3af5cfd Rename confusing variable to promote better understanding. 2012-03-13 14:48:09 +01:00
Bård Skaflestad
89aaf3dea2 Refactor transmissibility reference during Dirichlet BC assembly. 2012-03-13 14:43:56 +01:00
Bård Skaflestad
427a2e6712 Take gravity into effect when assembling Dirichlet boundary conditions. 2012-03-13 14:42:38 +01:00
Bård Skaflestad
29ba859a80 Re-implement computeTotalMobilityOmega() in terms of computePhaseMobilities(). 2012-03-12 16:18:02 +01:00
Bård Skaflestad
c4f803fedd Re-implement computeTotalMobility() in terms of computePhaseMobilities(). 2012-03-12 16:09:26 +01:00
Bård Skaflestad
2ac5157148 Add utility for calculating all phase mobilities. 2012-03-12 16:03:29 +01:00
Atgeirr Flø Rasmussen
dfa5bda17d Changed some function signatures to take const UnstructuredGrid& instead of ptr. 2012-03-12 13:44:05 +01:00
Atgeirr Flø Rasmussen
03200bbf37 Added computeTransportSource() function. Handling bdy fluxes in spu_2p. 2012-03-12 13:00:48 +01:00
Bård Skaflestad
5caa3eb3e8 Remove a useless explicit type conversion. 2012-03-12 09:59:30 +01:00
Bård Skaflestad
f06b5e3589 Move source term assembly out main loop. 2012-03-12 09:50:35 +01:00
Atgeirr Flø Rasmussen
38aaa867bb Fixed indexing bug in findSideFaces(). 2012-03-09 15:50:48 +01:00
Atgeirr Flø Rasmussen
8ac62545cf Added default constructor. 2012-03-09 14:25:52 +01:00
Atgeirr Flø Rasmussen
100108b5ad Added computeAverageSat() function. 2012-03-09 11:44:21 +01:00
Bård Skaflestad
4fc45dea82 Support variable number of physical grid dimensions (typically 2 or 3). 2012-03-09 08:56:28 +01:00
Bård Skaflestad
29fa476715 Use more traditional implementation of cartCoord(). 2012-03-09 00:50:44 +01:00
Bård Skaflestad
501a1d9a51 findSideFaces(): Support grids that don't define an explicit global_cell.
Assume that global_cell==0 denotes the identity mapping (typically a
Cartesian grid).
2012-03-08 20:53:32 +01:00
Bård Skaflestad
52cda7cbb9 findSideFaces(): Generate initial 'ijk' that was (probably) intended.
The trick of eliding explicit initialisers can only be use to zero an
array (or structure), not to copy an arbitrary initialiser to all
elements of the array.
2012-03-08 20:51:17 +01:00
Atgeirr Flø Rasmussen
9263fa1f08 Issue warning instead of throwing if input requests compressible effects. 2012-03-08 15:25:36 +01:00
Atgeirr Flø Rasmussen
c68ccff998 Handle flow_conditions_construct(0) correctly. 2012-03-08 15:24:50 +01:00
Atgeirr Flø Rasmussen
c27e881c1a Added methods pressureSide() and fluxSide(). 2012-03-08 13:48:26 +01:00
Atgeirr Flø Rasmussen
00e87d36b9 Changed forward declaration of 'class UnstructuredGrid' to 'struct UnstructuredGrid'. 2012-03-08 12:28:22 +01:00
Bård Skaflestad
cb6d72cfd3 Remove disabled code. 2012-03-07 19:42:41 +01:00
Bård Skaflestad
8fd3a6e079 Don't #include flow_bc.h twice. 2012-03-07 19:40:35 +01:00
Bård Skaflestad
a8df219344 Merge from upstream. 2012-03-07 19:18:57 +01:00
Bård Skaflestad
7bc5ef229a Enable further compression of boundary conditions.
Specifically, refine the representation to allow a boundary condition
to apply to a set of interfaces rather than just a single face.  This
support is realised by the introduction of new interface
flow_conditions_append_multi().

Update all consumers of struct FlowBoundaryConditions to accommodate
the one-to-many boundary condition interface mapping in the process.
2012-03-07 19:08:14 +01:00
Xavier Raynaud
039c05d9f5 Added comments. 2012-03-07 09:59:04 +01:00
Atgeirr Flø Rasmussen
9a0c454687 IncompTpfa::solve() now accepts boundary conditions. 2012-03-07 09:32:56 +01:00
Atgeirr Flø Rasmussen
b37681be43 Made bc argument const. 2012-03-07 09:32:02 +01:00
Atgeirr Flø Rasmussen
649e9aa639 Added FlowBCManager class. 2012-03-07 09:18:44 +01:00
Atgeirr Flø Rasmussen
e3a3a1306b Minor typo fix. 2012-03-07 09:15:34 +01:00
Bård Skaflestad
8ca51c0ca4 Merge from upstream. 2012-03-07 01:18:55 +01:00
Bård Skaflestad
85144a9291 Add tentative support for pressure boundary conditions in IncompTPFA.
Not enabled in C++ glue layer (presently assumes no boundary conditions).
2012-03-07 01:18:03 +01:00
Atgeirr Flø Rasmussen
36cf536d4d Merge. 2012-03-06 22:55:59 +01:00
Atgeirr Flø Rasmussen
828b5232e5 Added (commented out) experimental code.
Experiment consists of trying to solve first in cells where all upstream
cells have been updated. Did not seem to change much.
2012-03-06 22:55:47 +01:00
Bård Skaflestad
d12d444411 Include <cmath> for std::pow(). 2012-03-06 21:59:02 +01:00
Bård Skaflestad
5cf474cf25 Merge from upstream. 2012-03-06 21:41:33 +01:00
Bård Skaflestad
0a99364c27 Switch to a sparse/compressed boundary condition representation.
Specifically, replace the existing flowbc_t (that was densely
represented on each interface, including internal interface and
external no-flow interfaces) with a new structure given by

    struct FlowBoundaryConditions

The semantics of this structure mirror those of "struct Wells" from
<opm/core/newwells.h>, but is currently mostly intended for simple,
incompressible flow purposes.

Update pressure solvers supporting boundary conditions to accommodate
the new boundary condition representation in the process.
2012-03-06 20:07:35 +01:00
Atgeirr Flø Rasmussen
ab324ed02e Merged. 2012-03-06 16:09:27 +01:00
Atgeirr Flø Rasmussen
f40aab431b Added polymerUtilitites.hpp and .cpp, implementing polymer-dependent total mobilities etc. 2012-03-06 16:07:27 +01:00
Atgeirr Flø Rasmussen
1919284446 Added effectiveInvVisc() method. 2012-03-06 16:06:00 +01:00
Xavier Raynaud
22a34c70b4 Minor bug. 2012-03-06 15:58:30 +01:00
Xavier Raynaud
c3e89e6b5c Added "not so successfull" case in Newton method. 2012-03-06 15:25:37 +01:00
Atgeirr Flø Rasmussen
939ddd8fe6 Fix minor typo. 2012-03-06 15:10:21 +01:00
Xavier Raynaud
196c29522d Introduced ResidualEquation class to compute value of residual and derivatives. 2012-03-06 14:58:19 +01:00
Bård Skaflestad
0d5431aaba Start encapsulating ifs_tpfa driving forces into a managing structure. 2012-03-06 14:00:34 +01:00
Atgeirr Flø Rasmussen
afe5c06ceb Added WellsManager class (untested). 2012-03-06 13:59:51 +01:00
Xavier Raynaud
e11cea7432 Set tolerance Newton solver according to tolerance in TransportPolymer. 2012-03-06 09:31:11 +01:00
Xavier Raynaud
801f975b5b Implemented case det(jacobian)=0 in Newton method. 2012-03-06 09:09:37 +01:00
Xavier Raynaud
02296478b1 Minor code optimization. 2012-03-06 09:00:05 +01:00
Xavier Raynaud
93503662ce Fixed bug for Newton method. Added initial residual check for Bracketing method. 2012-03-05 15:32:22 +01:00
Xavier Raynaud
a91b2d991d Use tolerance consistantly. 2012-03-05 12:58:09 +01:00
Xavier Raynaud
f783f9eebe Removed unused code. 2012-03-05 12:50:13 +01:00
Xavier Raynaud
c3d6cc429a Ensure min saturation is max(dead pore space, connate water saturation). 2012-03-05 12:44:31 +01:00
Xavier Raynaud
ceef4bbdcd Parameter single_cell_method is now enum. Some optimization.
Redundant computation of fractional flow and mc removed.
2012-03-05 11:56:23 +01:00
Atgeirr Flø Rasmussen
8877fa6ed0 Untabify. 2012-03-02 15:14:29 +01:00
Atgeirr Flø Rasmussen
ea1bd3ec2d Cleaned up PolymerProperties class a little. 2012-03-02 15:14:14 +01:00
Xavier Raynaud
f78730cb94 Cleaned up code for Splitting method to find zero of s-c residuals. 2012-02-29 15:56:11 +01:00
Xavier Raynaud
a33e3d9db0 rock density is obtained from PLYROCK in PolymerProperties::getFromDeck. 2012-02-29 14:58:51 +01:00
Xavier Raynaud
07f136befb Transport solver reads polymer data from PolymerProperties. 2012-02-29 13:27:20 +01:00
Xavier Raynaud
5ef45c59e3 Cleaned up PolymerProperties. 2012-02-29 13:25:51 +01:00
Xavier Raynaud
123762caa9 Added class PolymerProperties with a constructor which takes argument from an eclipse parser. 2012-02-29 11:27:59 +01:00
Xavier Raynaud
b0fdc4db7d Added Newton step as first step in Splitting s-c residual solver. 2012-02-28 17:36:29 +01:00
Kjetil Olsen Lye
d1e8525c4d merge 2012-02-27 17:47:55 +01:00
Kjetil Olsen Lye
c06401ef5b Fixed some warnings 2012-02-27 17:46:06 +01:00
Bård Skaflestad
a0598eae4a Expose internal half-transmissibility through read-only reference.
Useful to initialise the Opm::ImplicitTransport<> solver with gravity
effects.
2012-02-27 17:29:09 +01:00
Xavier Raynaud
ee52e354b1 Bugfixed in computation of the gradient of the residual (from formulae). 2012-02-27 15:49:04 +01:00
Xavier Raynaud
5c78dc8960 Cleaned up code for Splitting method for residual zero finding. 2012-02-27 10:39:21 +01:00
Xavier Raynaud
a26656c6e5 Cleaned up code for Splitting method in zero finding residual. 2012-02-27 10:10:32 +01:00
Bård Skaflestad
f4df7aa1bd Don't assume that num_phases==2 when calculating total mobility. 2012-02-27 10:07:00 +01:00
Atgeirr Flø Rasmussen
b058678235 Moved simulator utility functions to opm/core/utility/miscUtilities.hpp.
We want to avoid having hundreds of files with a single function, therefore
these functions have been lumped together. With time, a more sophisticated
organization of such free functions may be in order.
2012-02-26 21:05:19 +01:00
Atgeirr Flø Rasmussen
753ebedc0d Removed "hello polymer" test program. 2012-02-26 20:20:37 +01:00
Atgeirr Flø Rasmussen
40e2ccd1f0 Removed legacy reorder solver code. 2012-02-26 20:17:22 +01:00
Atgeirr Flø Rasmussen
85daef9b5b Added experimental code guarded by EXPERIMENT_GAUSS_SEIDEL #define. 2012-02-26 00:30:36 +01:00
Atgeirr Flø Rasmussen
3312aad6f5 Adding data for experiments, left alone if unused. 2012-02-26 00:29:39 +01:00
Atgeirr Flø Rasmussen
9667d09fe0 Added more inactive experimental code. 2012-02-25 22:39:01 +01:00
Xavier Raynaud
c63d817332 Added varying bounded box for allowable values of c and c in the splitting residual solver. 2012-02-24 17:35:47 +01:00
Xavier Raynaud
f0fc7bf3c0 Merge. 2012-02-23 17:00:43 +01:00
Xavier Raynaud
266b451715 Fix splitting method residual solver. Add piecewise linear curve to handle the boundaries of the acceptable domain for s and c. 2012-02-23 16:59:17 +01:00
Atgeirr Flø Rasmussen
95618aecac Implemented solveMultiCell() by the nonlinear Gauss-Seidel method. 2012-02-22 14:55:34 +01:00
Atgeirr Flø Rasmussen
8c16722b84 Removed copied text accidentally left in. 2012-02-21 22:02:16 +01:00
Atgeirr Flø Rasmussen
9ed9f8b288 Fixed class comments, LinearSolverUmfpack::solve() properly returns a report. 2012-02-21 21:54:46 +01:00
Atgeirr Flø Rasmussen
87723a08a0 IncompTpfa now takes a linear solver as a constructor argument. 2012-02-21 21:45:04 +01:00
Atgeirr Flø Rasmussen
e52cae02ac Made the solve() methods const. 2012-02-21 21:36:09 +01:00
Atgeirr Flø Rasmussen
8f8baa62c8 Using LinearSolverUmfpack for the linear solver. 2012-02-21 21:32:11 +01:00
Atgeirr Flø Rasmussen
3cb3d69d90 Added LinearSolverInterface and two subclasses, using Umfpack and Istl. 2012-02-21 21:27:15 +01:00
Atgeirr Flø Rasmussen
21f7022afd Tolerance and max iters are constructor arguments. Uses satRange() properly. 2012-02-20 17:07:42 +01:00
Atgeirr Flø Rasmussen
22bf83dda7 Bugfix: must always initialize gpress_omegaweighted_, even if no gravity. 2012-02-20 17:05:28 +01:00
Atgeirr Flø Rasmussen
2aac2255b5 Ensuring gravity feature is used consistently. 2012-02-20 13:39:40 +01:00
Atgeirr Flø Rasmussen
e5a7157bc3 Added class IncompTpfa. 2012-02-20 13:23:01 +01:00
Xavier Raynaud
1763e8afd7 Merged. 2012-02-20 09:37:54 +01:00
Xavier Raynaud
dd324478de Added s-c splitting solver for single cell problem. 2012-02-20 09:27:22 +01:00
Atgeirr Flø Rasmussen
f9fd79dbcb Moved writeVtkData() functions to utility/, added a test program. 2012-02-19 21:24:59 +01:00
Atgeirr Flø Rasmussen
16378af014 Added tol and maxit arguments. Using Incomp*::satRange() for initial s-bracket. 2012-02-17 14:17:16 +01:00
Atgeirr Flø Rasmussen
9901d20721 Added satRange() method to Incomp* classes and Saturation* classes.
So far not yet added to BlackoilPropertiesInterface.
2012-02-17 14:15:25 +01:00
Atgeirr Flø Rasmussen
75731efa9a Added lots of (inactive) experimental code.
The code attempts to improve #iterations in the Gauss-Seidel-like
multicell solver by improving ordering. In general, experiment failed
to improve #iterations, except for one: totally random order was the
best (for the 100x100 case tried)!
2012-02-17 09:39:45 +01:00
Atgeirr Flø Rasmussen
b5eb8543aa Added compute_sequence_graph(), which also returns the upwind graph. 2012-02-17 09:29:56 +01:00
Atgeirr Flø Rasmussen
d041c98f21 Added solveMultiCell() method to match change in interface. Currently throwing. 2012-02-15 22:52:32 +01:00
Atgeirr Flø Rasmussen
42413c6a35 Merge. 2012-02-15 22:44:15 +01:00
Atgeirr Flø Rasmussen
5a2d26360b Made reordersequence a C++ source file, in order to use std::sort().
This is for the experimental change of the graph topology, putting the
connections in the graph sorted by flux magnitude. Currently the
changes are in the file, but commented out until further experiments
have been done.
2012-02-15 22:42:07 +01:00
Atgeirr Flø Rasmussen
5b9e67518d Added solveMultiCell() interface and implementation.
- Added solveMultiCell() virtual method.
  - TransportModelInterface::reorderAndTransport() now calls solveMultiCell()
    instead of aborting if encountering multi-cell components.
  - Implemented solveMultiCell() in TransportModelTwophase by solving
    each cell individually with solveSingleCell() and repeating until
    saturation change is small (hardcoded 1e-9 for now).
2012-02-15 22:38:45 +01:00
Bård Skaflestad
232c84ff70 Reference per-cell fluid matrix when calculating phase densities.
This change repeats change-set f3bd5169811e of sibling class
BlackoilPropertiesBasic .
2012-02-15 15:37:02 +01:00
Bård Skaflestad
a8b7dc1fbb Reference per-cell fluid matrix when calculating phase densities. 2012-02-14 20:23:13 +01:00
Atgeirr Flø Rasmussen
a3dfdad3a6 Use PolymerData struct as moved to namespace Opm and defined in TransportModelPolymer.hpp. 2012-02-12 23:45:43 +01:00
Atgeirr Flø Rasmussen
8cb2af77e7 Added TransportModelPolymer class. 2012-02-12 23:30:57 +01:00
Bård Skaflestad
095dedfe41 Refactor inflow tests and flux assignments. 2012-02-10 11:40:21 +01:00
Bård Skaflestad
670e95b147 Fix spelling (interiour -> interior). 2012-02-10 11:26:48 +01:00
Bård Skaflestad
869ce15a44 Remove #include<> statement that refers to file removed in cset b4feb4a932de. 2012-02-10 11:14:35 +01:00
Atgeirr Flø Rasmussen
c279224e41 TransportModel* classes are now expected to have a custom solve() method. More:
- Using new solve() method in spu_2p.
 - solve() implemented in terms of protected superclass method reorderAndTransport().
 - Removed unused code being replaced by solve().
2012-02-10 10:48:18 +01:00
Atgeirr Flø Rasmussen
b45c42e209 Removed legacy blackoil fluid code. Further information:
- These classes were imported (copied) from the dune-porsol repository,
   and copies remain there for the time being.
 - Some of the black oil fluid classes that are in opm-core, such as the
   SinglePvt* classes, are direct descendants of the Miscibility* classes
   that have been removed.
 - At some point, we may modify dune-porsol to use the new fluid interfaces
   from opm-core, but for now we keep using the existing code as-is.
2012-02-10 09:28:05 +01:00
Atgeirr Flø Rasmussen
7de03af4c1 Made grid argument of compute_sequence() const. 2012-02-09 23:28:47 +01:00
Atgeirr Flø Rasmussen
4f0d501ac6 Refactored internals, now using modifiedRegulaFalsi() template for performance. 2012-02-09 23:17:08 +01:00
Atgeirr Flø Rasmussen
ed9cb9924e Added classes TransportModelInterface and TransportModelTwophase. 2012-02-09 16:07:53 +01:00
Atgeirr Flø Rasmussen
094ede0855 Set minimum s to 0.2 for s-iterations (temporary measure). 2012-02-09 09:05:49 +01:00
Atgeirr Flø Rasmussen
240d69da57 Separated nonlinear controls for c and s residuals, set bracket fields. 2012-02-08 14:02:46 +01:00
Atgeirr Flø Rasmussen
46f29380b3 Added more (inactive) debug output. 2012-02-08 13:43:22 +01:00
Atgeirr Flø Rasmussen
37ce9d0db3 Improved treatment of inflow (source) polymer concentration:
- solver now takes parameter for inflow_c
 - simulator calls polymerInflowAtTime(double time) for its value
 - currently starts polymer injection after 4 days (0.4 pv)
Also added some (inactive) debug printouts.
Still not working when injecting polymer.
2012-02-07 09:09:34 +01:00
Atgeirr Flø Rasmussen
d17cfd1372 First compiling version of full polymer residual. Not yet working. 2012-02-06 14:01:56 +01:00
Bård Skaflestad
c711133b45 Fix code on platforms for which sizeof(double)!=sizeof(double*). 2012-02-06 12:52:41 +01:00
Atgeirr Flø Rasmussen
0ad4fab860 Minor bugfix, now reproducing non-polymer results. 2012-02-06 10:45:54 +01:00
Atgeirr Flø Rasmussen
f46587bf3c Structure for c-solve in place, still not implemented residual_c(). 2012-02-06 08:54:38 +01:00
Bård Skaflestad
6b8e89e098 Implement basic memory management for new well interface.
Hook up to build, but actual location is likely to change...
2012-02-03 21:35:19 +01:00
Atgeirr Flø Rasmussen
143861745a Initial work on supporting polymer transport. Work in progress. 2012-02-03 16:39:55 +01:00
Atgeirr Flø Rasmussen
e1df60c04d Copied and renamed files and functions from opm-core as base for polymer reorder solver. 2012-02-02 16:35:55 +01:00
Bård Skaflestad
08671a1d6d Coalesce constructors using a default value. 2012-02-01 16:40:15 +01:00
Bård Skaflestad
a785d9488e Create minimum buildable Polymer module for OPM. 2012-02-01 16:16:30 +01:00
Jostein R. Natvig
37296545a4 1) Move extra fields found in struct CornerpointGrid into struct UnstructuredGrid.
2) Remove typedef grid_t
3) Remove struct CornerpointGrid.
4) handle fallout.
2012-02-01 14:56:38 +01:00
Jostein R. Natvig
04f88cee52 Add new version of well datastructure. 2012-02-01 12:16:05 +01:00
Atgeirr Flø Rasmussen
b52370e370 Added IncompPropertiesFromDeck class and its building blocks. 2012-01-31 09:41:53 +01:00
Atgeirr Flø Rasmussen
ae200b7bae Minor comment typo fix. 2012-01-27 12:46:57 +01:00
Atgeirr Flø Rasmussen
0f8c56d922 Fixed bug in some capPress() implementations (calling wrong function). Doc fix. 2012-01-27 11:42:05 +01:00
Jostein R. Natvig
f56c67081d Copy modifications to reorder-related codes from MRST repository
branches/mrst-reorg/mex/reorder-C, revision 8955.

The changes are: (1) addition of documentation of input arguments in
tarjan.c and (2) an MIT licence header (codes originated in a PhD
project).
2012-01-25 10:49:49 +01:00
Atgeirr Flø Rasmussen
22d269811f C++ified reordering transport solver facade. 2012-01-24 13:47:00 +01:00
Atgeirr Flø Rasmussen
974b027dbf Made sure permeability param is read as a double. 2012-01-23 13:43:45 +01:00
Atgeirr Flø Rasmussen
db8681b9ff Updated files from MRST repository. 2012-01-20 13:09:13 +01:00
Bjørn Spjelkavik
7d6fb03142 Changed namespace Dune -> namespace Opm. 2012-01-19 13:50:57 +01:00
Atgeirr Flø Rasmussen
55102ee23f Added classes IncompPropertiesInterface and IncompPropertiesBasic. 2012-01-18 18:50:56 +01:00
Atgeirr Flø Rasmussen
51d71c122f Added sanity checking for number of phases in property classes. 2012-01-18 18:36:20 +01:00
Atgeirr Flø Rasmussen
014cd130a3 Added numPhases() method to SaturationProps* classes. 2012-01-18 18:31:12 +01:00
Bård Skaflestad
ed9b420fb9 Merge from upstream. 2012-01-17 16:10:23 +01:00
Jostein R. Natvig
3d40b45cd7 Add bare-bones implementation of reordering algorithm.
Lightly tested.
2012-01-17 14:39:09 +01:00
Atgeirr Flø Rasmussen
5bc77babb4 Documented parameters, and made unit behaviour according to doc (perm in mD etc.) 2012-01-17 14:16:28 +01:00
Atgeirr Flø Rasmussen
2d07dd2062 Added class BlackoilPropertiesBasic. 2012-01-17 12:19:50 +01:00
Atgeirr Flø Rasmussen
bf7b0ce5ec Added class PvtPropertiesBasic. 2012-01-17 11:17:40 +01:00
Atgeirr Flø Rasmussen
125cb33c36 Added SaturationPropsBasic class. 2012-01-17 10:25:49 +01:00
Atgeirr Flø Rasmussen
c065b8633a Added RockBasic class. 2012-01-17 09:31:25 +01:00
Atgeirr Flø Rasmussen
e3dc0dfa0e Minor typo fix. 2012-01-17 09:31:05 +01:00
Atgeirr Flø Rasmussen
f6b9dbc57b Added operators += and *= for SmallVec. 2012-01-17 09:30:43 +01:00
Atgeirr Flø Rasmussen
1a0e068f44 Implemented matrix() method. 2012-01-05 21:39:33 +01:00
Atgeirr Flø Rasmussen
d5e7b4740c Now initializes rock properties. 2012-01-05 16:43:57 +01:00
Atgeirr Flø Rasmussen
f187ef3be1 Implemented init() function. 2012-01-05 16:43:36 +01:00
Atgeirr Flø Rasmussen
ee87a73edc Implemented rock interface in terms of RockFromDeck. 2012-01-05 15:39:13 +01:00
Atgeirr Flø Rasmussen
41edcce7d5 Implemented trivial parts of RockFromDeck, init() remains. 2012-01-05 15:38:50 +01:00
Atgeirr Flø Rasmussen
650d684744 Now implemented with new pvt and satprop classes. 2012-01-05 11:41:52 +01:00
Atgeirr Flø Rasmussen
452c74b016 Minor typo fix. 2012-01-05 11:40:58 +01:00
Atgeirr Flø Rasmussen
3748e61b6e Changed behaviour of surfaceDensities(), now only returns densities of active components. 2012-01-05 11:40:29 +01:00
Atgeirr Flø Rasmussen
2899de390d Added class SaturationPropsFromDeck. 2012-01-05 11:17:52 +01:00
Atgeirr Flø Rasmussen
8f13a2d3c9 Added inline keyword for correct linkage. 2012-01-05 11:17:29 +01:00
Atgeirr Flø Rasmussen
c12d8c2e5d Moved active phase determination into own function. 2012-01-05 09:34:05 +01:00
Atgeirr Flø Rasmussen
265dfd0c2c Moved phase configuration state into PhaseUsage struct. 2012-01-05 09:28:57 +01:00
Atgeirr Flø Rasmussen
2b05b7b059 Disabling copying of BlackoilPvtProperties class. 2012-01-04 23:32:21 +01:00
Atgeirr Flø Rasmussen
6a0ad83c1f Added BlackoilPvtProperties class. 2012-01-04 23:28:54 +01:00
Atgeirr Flø Rasmussen
55dc2c667f Made all the SinglePvt* classes conform to new, more bare-bones interface. 2012-01-04 22:15:26 +01:00
Atgeirr Flø Rasmussen
2c5cf2c9e2 Copied and renamed basic building blocks for black oil pvt. 2012-01-04 15:44:53 +01:00
Atgeirr Flø Rasmussen
a3ba8c9afd Adding class BlackoilPropertiesFromDeck and test program. 2012-01-04 14:44:55 +01:00
Atgeirr Flø Rasmussen
380fdfae3b Adding virtual destructor. 2012-01-04 14:43:48 +01:00
Atgeirr Flø Rasmussen
90fbb97692 Initial version of suggested interface for fluid and rock properties. 2012-01-04 12:37:12 +01:00
Atgeirr Flø Rasmussen
0cce699a98 Stop using std::tr1::array<> since it is padded (alignment) on gcc 4.1 (CentOS 5.7). 2011-12-22 14:43:23 +01:00
Atgeirr Flø Rasmussen
e95d6a35df Blackoil fluid test programs now compile. 2011-12-22 12:59:42 +01:00
Atgeirr Flø Rasmussen
ca48cbe6a4 Work in progress on adapting to opm-core. 2011-12-21 13:22:26 +01:00
Atgeirr Flø Rasmussen
fcfbd0e2a2 Moved blackoil fluid classes to their proper place. 2011-12-21 13:09:12 +01:00
Bård Skaflestad
e7e5d94628 Compute perforation fluxes (no gravity adjustments).
Requires additional parameter 'pmobc' (phase mobilities per cell) in
public function cfs_tpfa_res_flux().
2011-12-20 02:13:50 +01:00
Bård Skaflestad
99e5635af2 Impose outflow sign convention when assembling w->c contributions. 2011-12-19 14:09:27 +01:00
Bård Skaflestad
2b65e19c6f Only perform incompressible adjustment if there are no BHP wells. 2011-12-19 14:07:57 +01:00
Bård Skaflestad
e59110f5f4 Add field for specifying which surface volume fraction is injected. 2011-12-12 18:43:11 +01:00
Atgeirr Flø Rasmussen
3d499416cb Changed code to use new include path: <opm/core/...> 2011-12-12 11:28:09 +01:00
Atgeirr Flø Rasmussen
bb6f1de501 Moved code from opmcore/ to opm/core/ 2011-12-12 11:13:54 +01:00