Commit Graph

53 Commits

Author SHA1 Message Date
Andreas Lauser
c25ec5999e convert users of the ASSERT and the ASSERT2 macros to standard assert() 2013-09-05 13:04:37 +02:00
Andreas Lauser
19e5d5cea2 convert THROW to OPM_THROW 2013-09-05 13:04:37 +02:00
Andreas Lauser
d11db08084 include iostream in the files which use std::cerr or std::cout
for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.

While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
2013-09-05 13:04:37 +02:00
Andreas Lauser
884c5ab027 make config.h the first header to be included in any compile unit
this is required for consistency amongst the compile units which are
linked into the same library and seems to be forgotten quite
frequently.
2013-04-10 12:56:14 +02:00
Atgeirr Flø Rasmussen
2405758e2d Renamed newwells.h -> wells.h.
Also moved implementation file to subdir.
2013-03-18 10:33:34 +01:00
Atgeirr Flø Rasmussen
34f523339d Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Halvor M. Nilsen
1a95fe8199 Fixed one use of wells, when wells=NULL 2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
b9afae7ef6 Bugfixes: correct sign for pressure increment, initialise rock_comp. 2012-06-13 10:34:15 +02:00
Atgeirr Flø Rasmussen
e1d5e55f1b Added constructor for incompressible cases.
Also added computeStaticData() helper called by both constructors.
It is still possible to use the other constructor for an incompressible case,
by passing a null pointer for the rock_comp argument.
2012-06-12 15:24:31 +02:00
Atgeirr Flø Rasmussen
6cbd78b4ba Removed unused code. 2012-06-12 11:16:43 +02:00
Atgeirr Flø Rasmussen
a558878917 Major simplification of IncompTpfa interface.
Most significant changes:
     - Single solve() call used for all cases (with or without gravity,
       with or without rock compressibility). This is intentionally
       similar to CompressibleTpfa::solve().
     - Constructor take a property object and computation of necessary total
       mobilities etc. moved inside class.
     - Optional constructor args for rock compressibility, gravity, wells,
       boundary conditions (null pointer accepted) and source terms (empty
       vector accepted).
     - Nonlinear iterations for the compressible rock case now handled inside
       IncompTpfa. This part intentionally made similar to CompressibleTpfa.
2012-06-12 10:27:48 +02:00
Xavier Raynaud
38562a5d7a Added possibility to set tolerance for linear solvers. 2012-06-06 15:14:46 +02:00
Bård Skaflestad
4f4ba2427f solve(): Don't generate pointers into ::empty() vector<>s. 2012-05-24 16:08:21 +02:00
Kjetil Olsen Lye
51c1da1df8 Merge. 2012-05-10 12:50:22 +02:00
Xavier Raynaud
1e7101a91b Make compressible pressure solver compatible with well management. 2012-05-10 12:38:29 +02:00
Kjetil Olsen Lye
68a9f889e7 Added error handling to pressure solver. 2012-05-10 09:55:34 +02:00
Xavier Raynaud
8b0db641f4 merge 2012-05-09 15:15:13 +02:00
Xavier Raynaud
dbb34c73a6 Added Newton compressible fluid solver. 2012-05-09 15:06:13 +02:00
Kjetil Olsen Lye
5cf205f225 Added failure checking for solve method. 2012-05-09 11:28:56 +02:00
Atgeirr Flø Rasmussen
d9eec24f7a Updated pressure solver after changes to well data structure. 2012-04-26 14:49:25 +02:00
Atgeirr Flø Rasmussen
5357158984 Added ifs_tpfa_assemble_comprock() to handle compressible rock cases.
This allows us to remove the hack from IncompTpfa.cpp.
2012-04-25 15:00:28 +02:00
Kjetil Olsen Lye
5b21e74999 merge 2012-04-13 13:20:36 +02:00
Bård Skaflestad
78dea6aa20 Pass correctly sized well-rate solution vectors to ifs_tpfa_press_flux().
The function computes a total flux at each perforation (connection), not
just one total flux per well.  Update documentation accordingly.
2012-04-12 20:27:29 +02:00
Kjetil Olsen Lye
8bc9e862d4 Made a (possibly wrong) adjustment to well_controls_append. Each control now has its current index set to 0, as there's only supposed to be one control per well. 2012-04-12 18:47:06 +02:00
Kjetil Olsen Lye
bc275a4755 Made a computeWDP-function 2012-04-12 17:50:51 +02:00
Kjetil Olsen Lye
5664fcd7d7 Made us of wells output arguments in IncompTpfa 2012-04-12 16:39:12 +02:00
Kjetil Olsen Lye
4aa0567fd4 Made IncompTpfa receive wells-output-arguments 2012-04-12 16:36:08 +02:00
Kjetil Olsen Lye
84b5041487 Fixed namespacing issue 2012-04-10 14:47:29 +02:00
Bård Skaflestad
ca0f46736e ifs_tpfa: Prepare for well solution recovery (BHP and perf. fluxes).
Expose new elements '.well_press' and '.well_flux' in the solution
structure and update callers accordingly.
2012-03-21 11:08:56 +01:00
Bård Skaflestad
faa334a4d0 Merge from upstream. 2012-03-20 19:34:30 +01:00
Bård Skaflestad
bf86cd9371 Revert to original (fractional flow) model of perforation fluxes. 2012-03-20 18:46:54 +01:00
Bård Skaflestad
fb6d7032bf 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
11f03a60f0 Make comments relating to omega (frac.flow-weighted density) precise. 2012-03-20 14:21:22 +01:00
Bård Skaflestad
c70a41691f Declare well support in ifs_tpfa module. Currently not implemented.
Update callers accordingly.
2012-03-20 13:39:34 +01:00
Atgeirr Flø Rasmussen
5c08628fd6 Merged. 2012-03-20 12:12:21 +01:00
Atgeirr Flø Rasmussen
a99cccf2fc Compensate for matrix adjustment in rock comp case. 2012-03-20 12:05:59 +01:00
Bård Skaflestad
a8d067af18 Solve(rock_comp): Refactor rock-compressibility diagonal term calculation. 2012-03-20 11:21:02 +01:00
Bård Skaflestad
3d3aaa98d1 solve(rock_comp): Replace manual index search with csrmatrix_elm_index(). 2012-03-19 13:55:21 +01:00
Atgeirr Flø Rasmussen
bc04c0fa3e Implemented solve() with rock compressibility (untested). Struct init warning suppression. 2012-03-19 11:52:03 +01:00
Bård Skaflestad
c5c9f58a23 Refactor construction of driving forces in preparation of well support. 2012-03-16 11:59:51 +01:00
Bård Skaflestad
116b8f9d95 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
d69eb28dfc 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
6d8531548b 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
Bård Skaflestad
cadb370011 Remove disabled code. 2012-03-07 19:42:41 +01:00
Bård Skaflestad
ea2bf25d8f Don't #include flow_bc.h twice. 2012-03-07 19:40:35 +01:00
Atgeirr Flø Rasmussen
3137a477e5 IncompTpfa::solve() now accepts boundary conditions. 2012-03-07 09:32:56 +01:00
Bård Skaflestad
4c27f8dcd7 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
Bård Skaflestad
7149d10cb2 Start encapsulating ifs_tpfa driving forces into a managing structure. 2012-03-06 14:00:34 +01:00
Atgeirr Flø Rasmussen
8d74253c64 IncompTpfa now takes a linear solver as a constructor argument. 2012-02-21 21:45:04 +01:00
Atgeirr Flø Rasmussen
5d502f1c46 Using LinearSolverUmfpack for the linear solver. 2012-02-21 21:32:11 +01:00