Atgeirr Flø Rasmussen
075df5bb1b
Support shut wells in compressible tpfa solver.
2012-09-20 14:34:33 +02:00
Atgeirr Flø Rasmussen
b90b803b80
Changed well initialization and property calculation.
...
Bhp is now initialized to bhp target for bhp-controlled wells.
Mobilities and pvt properties are now calculated from
well perforation pressure and injection specifications for
injectors, producers still use cell properties as before.
2012-09-14 09:53:11 +02:00
Xavier Raynaud
a63064bc94
Merge remote-tracking branch 'atgeirr/master'
2012-08-27 13:32:55 +02:00
Xavier Raynaud
c93380b52f
Changed private->protected and added virtual to make class derivation.
2012-08-27 13:19:04 +02:00
Atgeirr Flø Rasmussen
cd1edde45d
Minor revision, mostly whitespace cleanup and comments.
2012-08-27 09:48:06 +02:00
Atgeirr Flø Rasmussen
b0522a499a
New singularPressure() method propagates singularity information.
2012-08-23 14:03:20 +02:00
Atgeirr Flø Rasmussen
e5d0bb98c1
Function cfs_tpfa_residual_assemble() and friends now return singularity flag.
...
The singularity flag is true if there are no pressure conditions and no
compressibility (so the absolute values of the pressure solution will be
arbitrary).
2012-08-23 14:00:04 +02:00
Xavier Raynaud
c949319bf1
Corrected bug (residual should not be divided by dt).
2012-08-21 17:12:07 +02:00
Xavier Raynaud
c431df3d77
Corrected typo in comment.
2012-08-21 17:09:19 +02:00
Xavier Raynaud
6db144ec65
Fixed sign error and replaced porevol->porevol0.
2012-08-21 10:20:59 +02:00
Atgeirr Flø Rasmussen
6e778b9641
Bugfix: call *comprock* method only if active rock compressibility.
2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
dec8ed5760
Class CompressibleTpfa now handles rock compressibility.
2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
aa49d56d9c
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
2dc1744bce
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
c2eaa97049
Add partial Doxygen markup to public interfaces.
...
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
1235b8ecbc
Document public interface for transmissibility calculation.
2012-07-03 01:29:34 +02:00
Bård Skaflestad
8e436e174a
Include missing headers.
2012-07-02 22:29:47 +02:00
Bård Skaflestad
be54b53cb5
Add stub documentation for hybsys_well_cellcontrib_symm().
...
Expansion and refinement needed.
2012-07-01 00:20:06 +02:00
Bård Skaflestad
c40ddf42d0
Document public interface hybsys_compute_press_flux_well().
...
Refinements are likely.
2012-06-30 00:21:43 +02:00
Bård Skaflestad
fae98697a6
Document public interface hybsys_compute_press_flux().
...
Likely to be refined at a later stage.
2012-06-29 23:44:40 +02:00
Bård Skaflestad
fed0117242
Document public interface of hybsys_cellcontrib_unsymm().
2012-06-29 23:13:18 +02:00
Bård Skaflestad
70e763c8bd
Document hybsys_cellcontrib_symm() public interface.
2012-06-29 19:27:35 +02:00
Bård Skaflestad
3da361f88e
Document interface of hybsys_well_schur_comp_symm()
2012-06-29 14:52:21 +02:00
Bård Skaflestad
e90e71ef6a
Add stub documentation of public interfaces.
...
Typical usage process is not discussed.
2012-06-25 01:15:57 +02:00
Bård Skaflestad
dbde5af7e4
Document module and routines relating to per-cell contributions.
...
Per-well contributions and pressure/flux reconstruction remain.
2012-06-25 00:57:36 +02:00
Bård Skaflestad
bfaf6e0b87
Document public interface of common FSH module.
2012-06-24 16:50:16 +02:00
Bård Skaflestad
14f9faa011
Add Doxygen-style documentation to all interfaces.
2012-06-24 03:59:18 +02:00
Bård Skaflestad
f77a7c19ae
Reference module headers from canonical location.
2012-06-22 19:39:52 +02:00
Bård Skaflestad
7946509f6c
Reference public header from canonical location.
2012-06-22 19:37:51 +02:00
Bård Skaflestad
4f4439a854
Restore a blank line that was lost in an earlier cset.
2012-06-20 00:38:47 +02:00
Bård Skaflestad
3383100690
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
4eb1457c61
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
1a95fe8199
Fixed one use of wells, when wells=NULL
2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
ed12b9ffff
Enable inheritance from IncompTpfa for limited purposes.
2012-06-13 19:45:23 +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
Atgeirr Flø Rasmussen
7a5a32819b
Fix comment.
2012-06-12 10:14:26 +02:00
Atgeirr Flø Rasmussen
9c78588b90
More minor code cleanup.
2012-06-11 14:52:18 +02:00
Atgeirr Flø Rasmussen
4c05108383
Whitespace (and other minor) cleanup.
2012-06-11 10:59:23 +02:00
Atgeirr Flø Rasmussen
0551401bc6
Removed default null argument for wells in IncompTpfa constructor.
2012-06-07 13:34:05 +02:00
Bård Skaflestad
024f95be5d
Don't mix declarations and definitions.
2012-06-07 10:28:02 +02:00
Xavier Raynaud
95f81401ab
set up correctly a flag in ifs_tpfa.c
2012-06-07 09:29:56 +02:00
Xavier Raynaud
187957397c
merge.
2012-06-06 15:19:02 +02:00
Xavier Raynaud
38562a5d7a
Added possibility to set tolerance for linear solvers.
2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
955b5ea068
Reorganized, added opm/core/wells/ and opm/core/simulator/.
2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
675aedb84e
Add some missing docs for parameters.
2012-05-30 15:09:57 +02:00
Bård Skaflestad
4f4ba2427f
solve(): Don't generate pointers into ::empty() vector<>s.
2012-05-24 16:08:21 +02:00
Bård Skaflestad
ee5e506c44
Realign function prototypes. No functional changes.
2012-05-24 14:36:53 +02:00
Atgeirr Flø Rasmussen
b5d3615fa5
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
57fe2cf237
Update comments in implementation file.
2012-05-21 14:48:09 +02:00
Atgeirr Flø Rasmussen
6be6b9fb59
Improve solver output in Newton iterations.
2012-05-21 14:08:38 +02:00
Atgeirr Flø Rasmussen
3419e6e92b
Bugfix: set nphases properly.
2012-05-21 14:03:33 +02:00
Atgeirr Flø Rasmussen
83856a47ef
Initialize size of wellperf_gpot_ properly.
2012-05-21 13:13:13 +02:00
Atgeirr Flø Rasmussen
88f77e8dd6
Finished untested version of CompressibleTpfa.
2012-05-21 12:58:42 +02:00
Atgeirr Flø Rasmussen
f8b3a8d343
Added loop control and reporting to CompressibleTpfa.
2012-05-21 12:48:54 +02:00
Atgeirr Flø Rasmussen
521827c9d1
Added tolerance and maxiter arguments to CompressibleTpfa.
2012-05-21 11:24:12 +02:00
Atgeirr Flø Rasmussen
6d07dd9e10
Sending *dynamic* pressures to assembly function...
2012-05-21 10:47:21 +02:00
Atgeirr Flø Rasmussen
2add19a2e1
Sending initial pressures to assembly function.
2012-05-21 10:36:10 +02:00
Atgeirr Flø Rasmussen
91cbc6bb72
Evaluation of dynamic properties for CompressibleTpfa.
2012-05-21 10:10:35 +02:00
Atgeirr Flø Rasmussen
2bab1acdb6
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
e57ef29fae
Work in progress on compressible pressure solver.
2012-05-16 15:49:02 +02:00
Atgeirr Flø Rasmussen
30218d84ea
Started adding necessary parameters to pressure solver. Work in progress.
2012-05-16 14:38:55 +02:00
Atgeirr Flø Rasmussen
cc0097d8b9
Fix bug related to arithmetic if operator ( ? : ).
2012-05-16 14:15:50 +02:00
Atgeirr Flø Rasmussen
61f5343b9d
Merged.
2012-05-16 12:55:05 +02:00
Bård Skaflestad
20cf0eda36
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
742303534a
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
541c1d3dbe
Minor doc update.
2012-05-11 15:10:02 +02:00
Atgeirr Flø Rasmussen
d041ad8f4f
Update doc.
2012-05-11 13:02:48 +02:00
Bård Skaflestad
c521c0a0f6
comprock_increment(): Don't proceed to mult_csr() unless OK.
2012-05-10 22:29:41 +02:00
Atgeirr Flø Rasmussen
7eb2ed764e
Fix indexing bug in well handling code for incremental (Newton) pressure assembly.
2012-05-10 15:31:51 +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
Bård Skaflestad
2df84c74a8
Realign pointer offsets to provide additional visual cues.
2012-05-09 22:39:28 +02:00
Bård Skaflestad
f4fb9920ef
Whitespace adjustment. No functional changes.
2012-05-09 19:21:52 +02:00
Bård Skaflestad
3d6a11a0a3
Re-align variable declarations various assemble*() methods.
2012-05-09 19:21:00 +02:00
Bård Skaflestad
a635b4c09c
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
3c567c409c
Follow file conventions in mult_csr_matrix().
2012-05-09 19:07:59 +02:00
Bård Skaflestad
fbb8ae77b1
Don't expose a (presently) internal function.
2012-05-09 18:58:17 +02:00
Bård Skaflestad
8afc0571f9
Merge from upstream.
2012-05-09 18:56:09 +02:00
Bård Skaflestad
7d93097297
Convert Residual-based solver to conventions of <newwells.h>.
...
Almost a mechanical translation.
2012-05-09 16:26:41 +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
0f25f9b13e
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
9338cc93d0
Remove unused variable.
2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
b7d1634bc4
Verify that RESERVOIR_RATE controlled wells have specified total rate.
2012-04-26 15:03:55 +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
Bård Skaflestad
56d4f2aa1b
Enforce explicit no-flow on outer faces not affected by boundary conditions.
2012-04-24 15:08:05 +02:00
Ove Saevareid
d26a9ee4c8
Bugfix: want non-negative cell index
2012-04-24 12:51:24 +02:00
Bård Skaflestad
435b652678
Add debug-only test to catch the issue fixed in cset 993fd9d80c93.
2012-04-23 19:07:11 +02:00
Ove Saevareid
cd5cf1d348
Bugfix: face_cells, not cell_faces
2012-04-23 14:00:31 +02:00
Atgeirr Flø Rasmussen
f386ffa804
Added fixes and assertions suggested by static analysis.
2012-04-23 13:28:18 +02:00
Atgeirr Flø Rasmussen
0c3c195220
Pretty-formatting only.
2012-04-19 15:33:25 +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