Atgeirr Flø Rasmussen
61fdf4a8b6
Bugfix: call *comprock* method only if active rock compressibility.
2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
d67f49bac8
Class CompressibleTpfa now handles rock compressibility.
2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
547efbe7d1
Added function cfs_tpfa_res_comprock_assemble().
...
This is intended to handle cases with both fluid and rock compressibility.
2012-08-17 10:36:57 +02:00
Atgeirr Flø Rasmussen
937b85e88f
Bugfix in CompressibleTpfa for gravity case.
...
Gravity acceleration should be a factor in the face gravity potential.
2012-07-19 14:45:15 +02:00
Bård Skaflestad
81f4ab5dd9
Add partial Doxygen markup to public interfaces.
...
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
ffb538fce0
Add Doxygen-style documentation to all interfaces.
2012-06-24 03:59:18 +02:00
Bård Skaflestad
b9c9f9fbe8
Reference module headers from canonical location.
2012-06-22 19:39:52 +02:00
Bård Skaflestad
c1c76a48b6
Restore a blank line that was lost in an earlier cset.
2012-06-20 00:38:47 +02:00
Bård Skaflestad
ecda277cb0
Slight normalisation and clean-up of coding style.
...
Notably:
* Replace all remaining <tab>s with (8) spaces.
* Use post-increment for all counters.
* Insert a number of blank lines to highlight important groups.
2012-06-19 18:37:26 +02:00
Halvor M. Nilsen
d1f1af8854
Added inizialization of ok, which correct error for solves without wells. The only thing which is check is if the well object have incompressible form.
2012-06-19 13:37:22 +02:00
Halvor M. Nilsen
5a055ee933
Fixed one use of wells, when wells=NULL
2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
29a400d622
Enable inheritance from IncompTpfa for limited purposes.
2012-06-13 19:45:23 +02:00
Atgeirr Flø Rasmussen
e041407c81
Bugfixes: correct sign for pressure increment, initialise rock_comp.
2012-06-13 10:34:15 +02:00
Atgeirr Flø Rasmussen
4e4e652279
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
88c7b84f4e
Removed unused code.
2012-06-12 11:16:43 +02:00
Atgeirr Flø Rasmussen
14f560a295
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
Atgeirr Flø Rasmussen
59db0f7ca9
Fix comment.
2012-06-12 10:14:26 +02:00
Atgeirr Flø Rasmussen
024bbacce9
More minor code cleanup.
2012-06-11 14:52:18 +02:00
Atgeirr Flø Rasmussen
5ca2dc99e8
Whitespace (and other minor) cleanup.
2012-06-11 10:59:23 +02:00
Atgeirr Flø Rasmussen
e503fd054e
Removed default null argument for wells in IncompTpfa constructor.
2012-06-07 13:34:05 +02:00
Bård Skaflestad
77d92e18be
Don't mix declarations and definitions.
2012-06-07 10:28:02 +02:00
Xavier Raynaud
b2c5772728
set up correctly a flag in ifs_tpfa.c
2012-06-07 09:29:56 +02:00
Xavier Raynaud
2504399cb8
merge.
2012-06-06 15:19:02 +02:00
Xavier Raynaud
c81a840382
Added possibility to set tolerance for linear solvers.
2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
611cd53380
Reorganized, added opm/core/wells/ and opm/core/simulator/.
2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
c9c2794176
Add some missing docs for parameters.
2012-05-30 15:09:57 +02:00
Bård Skaflestad
264d8dda0c
solve(): Don't generate pointers into ::empty() vector<>s.
2012-05-24 16:08:21 +02:00
Bård Skaflestad
4b6b8c0def
Realign function prototypes. No functional changes.
2012-05-24 14:36:53 +02:00
Atgeirr Flø Rasmussen
c6c92c0466
Some initial testing of CompressibleTpfa done.
...
Fixed bug in pressure update from increments.
Change injection wellperf_phasemob_ to be same as cell mobilities.
Improve iteration reporting.
2012-05-21 16:42:03 +02:00
Atgeirr Flø Rasmussen
bc8d3160d0
Update comments in implementation file.
2012-05-21 14:48:09 +02:00
Atgeirr Flø Rasmussen
182c4718b0
Improve solver output in Newton iterations.
2012-05-21 14:08:38 +02:00
Atgeirr Flø Rasmussen
7e9690ece3
Bugfix: set nphases properly.
2012-05-21 14:03:33 +02:00
Atgeirr Flø Rasmussen
f9436a1bef
Initialize size of wellperf_gpot_ properly.
2012-05-21 13:13:13 +02:00
Atgeirr Flø Rasmussen
857d6b774d
Finished untested version of CompressibleTpfa.
2012-05-21 12:58:42 +02:00
Atgeirr Flø Rasmussen
39eab74dc8
Added loop control and reporting to CompressibleTpfa.
2012-05-21 12:48:54 +02:00
Atgeirr Flø Rasmussen
5ed467f441
Added tolerance and maxiter arguments to CompressibleTpfa.
2012-05-21 11:24:12 +02:00
Atgeirr Flø Rasmussen
5abf755e2d
Sending *dynamic* pressures to assembly function...
2012-05-21 10:47:21 +02:00
Atgeirr Flø Rasmussen
9aa0c89603
Sending initial pressures to assembly function.
2012-05-21 10:36:10 +02:00
Atgeirr Flø Rasmussen
2ad94fc573
Evaluation of dynamic properties for CompressibleTpfa.
2012-05-21 10:10:35 +02:00
Atgeirr Flø Rasmussen
fa0d166f14
Work in progress on CompressibleTpfa.
...
- Changed contstruction, now takes property object.
- Well potentials done.
2012-05-18 11:10:31 +02:00
Atgeirr Flø Rasmussen
1d1755bafe
Work in progress on compressible pressure solver.
2012-05-16 15:49:02 +02:00
Atgeirr Flø Rasmussen
fd25a20b9d
Started adding necessary parameters to pressure solver. Work in progress.
2012-05-16 14:38:55 +02:00
Atgeirr Flø Rasmussen
07b04825fd
Fix bug related to arithmetic if operator ( ? : ).
2012-05-16 14:15:50 +02:00
Atgeirr Flø Rasmussen
a6c71288aa
Merged.
2012-05-16 12:55:05 +02:00
Bård Skaflestad
83274c4027
compute_cell_contrib(): Advance derivative pointer for each connection.
...
Failing to do this operation resulted in incorrect matrices in cases
with anisotropic tensors and/or non-cube cells. The error has been
present since the inception of this implementation.
2012-05-15 14:34:56 +02:00
Atgeirr Flø Rasmussen
27eecd954e
Added preliminary sketch of compressible tpfa solver.
...
This solver is:
- using the residual based assembler,
- aiming to include the nonlinear Newton iterations
(therefore also the (re-)evaluation of fluid data).
2012-05-14 10:53:50 +02:00
Atgeirr Flø Rasmussen
8b27b4a05d
Minor doc update.
2012-05-11 15:10:02 +02:00
Atgeirr Flø Rasmussen
0a2c9ff000
Update doc.
2012-05-11 13:02:48 +02:00
Bård Skaflestad
a865f01478
comprock_increment(): Don't proceed to mult_csr() unless OK.
2012-05-10 22:29:41 +02:00
Atgeirr Flø Rasmussen
a4b32311b2
Fix indexing bug in well handling code for incremental (Newton) pressure assembly.
2012-05-10 15:31:51 +02:00
Kjetil Olsen Lye
10b738c7e3
Merge.
2012-05-10 12:50:22 +02:00
Xavier Raynaud
8842943794
Make compressible pressure solver compatible with well management.
2012-05-10 12:38:29 +02:00
Kjetil Olsen Lye
f24d286f18
Added error handling to pressure solver.
2012-05-10 09:55:34 +02:00
Bård Skaflestad
0cd6a0a0c6
Realign pointer offsets to provide additional visual cues.
2012-05-09 22:39:28 +02:00
Bård Skaflestad
9809afb3a8
Whitespace adjustment. No functional changes.
2012-05-09 19:21:52 +02:00
Bård Skaflestad
56802231ce
Re-align variable declarations various assemble*() methods.
2012-05-09 19:21:00 +02:00
Bård Skaflestad
97ed64f438
Call malloc() once, at pimpl construction time, rather than in each *_increment().
...
It's slightly wasteful, however. Maybe we can just reuse h->x for the
mult_csr_matrix() output?
2012-05-09 19:15:41 +02:00
Bård Skaflestad
00b1ce27f0
Follow file conventions in mult_csr_matrix().
2012-05-09 19:07:59 +02:00
Bård Skaflestad
323914eaba
Don't expose a (presently) internal function.
2012-05-09 18:58:17 +02:00
Bård Skaflestad
d23c93e661
Merge from upstream.
2012-05-09 18:56:09 +02:00
Bård Skaflestad
6a7c6cfeb0
Convert Residual-based solver to conventions of <newwells.h>.
...
Almost a mechanical translation.
2012-05-09 16:26:41 +02:00
Xavier Raynaud
1892f80af2
merge
2012-05-09 15:15:13 +02:00
Xavier Raynaud
f7e2d88fd9
Added Newton compressible fluid solver.
2012-05-09 15:06:13 +02:00
Kjetil Olsen Lye
b5d474beca
Added failure checking for solve method.
2012-05-09 11:28:56 +02:00
Atgeirr Flø Rasmussen
962a3b6445
Added shut well support to ifs_tpfa.
...
This was done using the convention that for a well w in W,
W.ctrls[w]->current < 0
means that it should be treated as shut. This allows us to keep the matrix
structure related to wells constant, without needing to remake it when wells
shut or open.
2012-05-04 08:15:06 +02:00
Atgeirr Flø Rasmussen
8b33bd261d
Remove unused variable.
2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
88a24ef839
Verify that RESERVOIR_RATE controlled wells have specified total rate.
2012-04-26 15:03:55 +02:00
Atgeirr Flø Rasmussen
6d4f0fe293
Updated pressure solver after changes to well data structure.
2012-04-26 14:49:25 +02:00
Atgeirr Flø Rasmussen
b107180272
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
Atgeirr Flø Rasmussen
3b09776355
Added fixes and assertions suggested by static analysis.
2012-04-23 13:28:18 +02:00
Atgeirr Flø Rasmussen
605933abba
Pretty-formatting only.
2012-04-19 15:33:25 +02:00
Kjetil Olsen Lye
3058e26447
merge
2012-04-13 13:20:36 +02:00
Bård Skaflestad
6a5534ae2e
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
74fc0a5c25
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
Xavier Raynaud
4b193f34ec
Added Latex format in documentation.
2012-04-12 18:13:57 +02:00
Kjetil Olsen Lye
7c21765100
Made a computeWDP-function
2012-04-12 17:50:51 +02:00
Kjetil Olsen Lye
6756d6b6c3
Made us of wells output arguments in IncompTpfa
2012-04-12 16:39:12 +02:00
Kjetil Olsen Lye
ee736d8071
Made IncompTpfa receive wells-output-arguments
2012-04-12 16:36:08 +02:00
Kjetil Olsen Lye
a9dfab1b37
Fixed namespacing issue
2012-04-10 14:47:29 +02:00
Atgeirr Flø Rasmussen
c961f8e7d2
Suppressed multiple warnings.
2012-03-28 11:56:20 +02:00
Bård Skaflestad
1a873633c1
Implement solution recovery from wells (BHP and perf. fluxes)
...
Contingent upon passing non-NULL well_press and well_flux pointers in
the solution structure. The forces must be the same as the ones used
in assembling the system of linear equations.
2012-03-21 11:54:34 +01:00
Bård Skaflestad
7988921f21
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
18cdd5f1e3
Assemble_bhp_well(): Don't look up wdof diagonal element multiple times.
2012-03-21 10:59:21 +01:00
Bård Skaflestad
af80492ff3
Assemble_rate_well(): Don't look up wdof diagonal element multiple times.
2012-03-21 10:48:58 +01:00
Bård Skaflestad
de44295f32
Implement RESV constraint assembly.
2012-03-20 23:17:52 +01:00
Bård Skaflestad
1492d9b665
Delete trailing whitespace.
2012-03-20 22:46:38 +01:00
Bård Skaflestad
e41b786c16
Assemble_bhp_well(): Remove unused variable.
2012-03-20 22:45:28 +01:00
Bård Skaflestad
2085a381f3
Merge from upstream.
2012-03-20 19:34:30 +01:00
Bård Skaflestad
e04b48f05e
Assemble BHP-type wells into system of linear equations.
...
All wells are represented, but BHP wells get trivial equations
(n*p=n*target). While here, stub out RESV assembly process.
BHP and perforation flux recovery is unimplemented at this time.
2012-03-20 19:32:35 +01:00
Bård Skaflestad
e76e224de8
Revert to original (fractional flow) model of perforation fluxes.
2012-03-20 18:46:54 +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
07c4938e00
Compensate for matrix adjustment in rock comp case.
2012-03-20 12:05:59 +01:00
Bård Skaflestad
433485c4f9
Solve(rock_comp): Refactor rock-compressibility diagonal term calculation.
2012-03-20 11:21:02 +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
Bård Skaflestad
e8712565a8
ifs_tpfa_assemble(): Coalesce external forces into single branch.
2012-03-16 14:30:13 +01:00
Bård Skaflestad
78687dc5c9
Refactor construction of driving forces in preparation of well support.
2012-03-16 11:59:51 +01:00