Atgeirr Flø Rasmussen
8b33bd261d
Remove unused variable.
2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
104372bbdc
Fixed signs of production rate constraints (should be negative).
2012-05-03 13:29:02 +02:00
Atgeirr Flø Rasmussen
361593fa45
Fix bug in use of perforation data, and check that well contstruction calls succeed.
2012-05-03 12:49:37 +02:00
Atgeirr Flø Rasmussen
373a4f2689
Fix recently created bug in append_well_controls().
2012-05-03 12:48:56 +02:00
Kjetil Olsen Lye
18ace3c137
Made REIN a warning rather than a throw, just to get something up and running
2012-05-02 16:59:42 +02:00
Kjetil Olsen Lye
72afe774b0
Fixed applyGroupControls to handle zero guide rates
2012-05-02 16:54:49 +02:00
Kjetil Olsen Lye
8eb9b55759
Fixed small reading bug in well structure
2012-05-02 16:30:48 +02:00
Kjetil Olsen Lye
da85405dfa
Removed calculateGuideRates and made all guide rate dependent code calculate the guide rate dynamically
2012-05-02 15:41:05 +02:00
Kjetil Olsen Lye
fe51b96a7e
Final fixes for new well structure (to make it compile)
2012-05-02 13:02:59 +02:00
Atgeirr Flø Rasmussen
9416042f5a
Major restructuring to improve support for groups, multiple controls etc. Work in progress.
2012-05-02 09:39:05 +02:00
Atgeirr Flø Rasmussen
d7512bdeb6
Add all present controls to wells, not just the active one.
...
Some restructuring to support more proper well handling, esp. group control
and surface rate controls in general.
2012-05-02 09:38:18 +02:00
Atgeirr Flø Rasmussen
432b9d4473
Whitespace and comment changes only.
2012-05-02 09:27:34 +02:00
Atgeirr Flø Rasmussen
3a31bbee30
Changed enums, variable names and defaults.
2012-05-02 09:26:36 +02:00
Atgeirr Flø Rasmussen
c234c0b42a
Follow changes to header file.
2012-05-02 09:25:52 +02:00
Atgeirr Flø Rasmussen
2d7d52bec1
Refined and reordered control enum, added guide rates.
2012-05-02 09:25:19 +02:00
Atgeirr Flø Rasmussen
6e9091bc4d
Updated computeTransportSource() and wellsToSrc() to match changes in Wells data structure.
2012-05-02 09:24:34 +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
ce0bc7003b
Merge.
2012-04-26 13:58:08 +02:00
Atgeirr Flø Rasmussen
3f3c5a8516
Using internal enum InjectorType instead of (removed) enum SurfaceComponent from newwells.h.
2012-04-26 13:57:19 +02:00
Atgeirr Flø Rasmussen
597a2cc7af
Significant modification of well data structures and related functions.
...
The following changes are made:
- The SurfaceComponent enum has been removed.
- Added new member Wells::number_of_phases.
- The Wells::zfrac member has been replaced with comp_frac. The old
zfrac always had 3 components per well (accessed according to the
canonical ordering given by SurfaceComponent), the new one has
number_of_phases components per well.
- Changed add_well() accordingly to accept comp_frac.
- Added new member WellControls::distr, giving distributions for
rate controls.
- All functions dealing with well controls now take Wells* and a
well index instead of directly taking WellControls*.
- Now append_well_controls() also takes a rate distribution argument.
- Added new public function set_current_control().
2012-04-26 13:55:35 +02:00
Kjetil Olsen Lye
63c16c9d15
Slightly changed bounds checking to account for negative limits.
2012-04-26 08:52:56 +02:00
Kjetil Olsen Lye
743085bd16
Added some more documentation
2012-04-25 16:45:32 +02:00
Kjetil Olsen Lye
38c02c5a63
Change from std::string to const std::string& in findGroup-methods
2012-04-25 16:42:55 +02:00
Kjetil Olsen Lye
06d83e669b
Added some documentation
2012-04-25 16:40:31 +02:00
Kjetil Olsen Lye
7d25e9c6a0
Completly revamped the way group control is checked
2012-04-25 16:14:40 +02:00
Atgeirr Flø Rasmussen
3fe04afa8d
Follow change to well rate target sign convention.
2012-04-25 15:36:01 +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
Kjetil Olsen Lye
ea0df38468
Added setWellsPointer, changed the interface of leaf_nodes_ slightly
2012-04-25 14:19:47 +02:00
Atgeirr Flø Rasmussen
81cf6e3b32
Removed unused saturation argument from conditionsMet() methods.
2012-04-25 14:03:57 +02:00
Atgeirr Flø Rasmussen
f756537288
Moved internal method of WellsManager to private section.
2012-04-25 12:50:43 +02:00
Atgeirr Flø Rasmussen
43b1db22a3
Fixed bug in computeWDP(), add gravity argument. Make WellReport output in friendly units.
2012-04-25 12:37:30 +02:00
Atgeirr Flø Rasmussen
8a9cf2cc79
Added class WellReport.
2012-04-25 11:00:33 +02:00
Atgeirr Flø Rasmussen
176d8b3955
Added documentation of sign convention for RATE targets.
2012-04-25 10:45:10 +02:00
Atgeirr Flø Rasmussen
1c5f879530
Changed order of functions to match order in header file.
2012-04-25 08:59:31 +02:00
Atgeirr Flø Rasmussen
f6f04d1d21
Account for sign convention for production well rates.
2012-04-24 15:44:25 +02:00
Atgeirr Flø Rasmussen
6985ec94fe
Now computeTransportSource() ignores crossflow.
2012-04-24 15:18:19 +02:00
Atgeirr Flø Rasmussen
e017c53380
Include well flow in computeTransportSource().
...
Also minor fixes in spu_2p to handle no-wells case properly.
2012-04-24 15:15:36 +02:00
Atgeirr Flø Rasmussen
8c1f9be1c3
Minor change to computeWDP() interface.
2012-04-24 13:48:00 +02:00
Kjetil Olsen Lye
b41dd9088c
Fixed computeWDP again.
2012-04-24 13:36:32 +02:00
Kjetil Olsen Lye
981fd5e1f3
Fixed computeWDP. Small prettification of code.
2012-04-24 13:33:12 +02:00
Bård Skaflestad
955f927940
Delete trailing whitespace.
2012-04-23 20:48:31 +02:00
Kjetil Olsen Lye
c3759353ec
Merge and dded default oil handling
2012-04-23 13:50:33 +02:00
Kjetil Olsen Lye
672f0f9b2b
Added default oil handling
2012-04-23 13:49:53 +02:00
Atgeirr Flø Rasmussen
3b09776355
Added fixes and assertions suggested by static analysis.
2012-04-23 13:28:18 +02:00
Kjetil Olsen Lye
c9d6fd5529
Added a (small) hack to wellmanager (defaulting injected_phase to water)
2012-04-23 13:24:47 +02:00
Bård Skaflestad
5c1c120d8c
Spell-check comment.
2012-04-23 09:59:53 +02:00
Bård Skaflestad
7671387f6f
Further refinement of add_well() documentation.
2012-04-22 21:24:43 +02:00
Bård Skaflestad
d29f587ad0
Fix spelling.
2012-04-22 21:19:08 +02:00
Bård Skaflestad
98078c8215
Mention that clear_well_controls() does not affect capacity.
2012-04-22 21:15:28 +02:00
Bård Skaflestad
ab0c4d49e0
Fix cross-reference misprint in destroy_wells() documentation.
2012-04-22 17:03:13 +02:00
Bård Skaflestad
65a7ec3ad9
Document intended return code for append_well_controls().
2012-04-22 16:58:37 +02:00
Bård Skaflestad
e444a3b77e
Expand description of function create_wells().
...
Restore original parameter names in the process.
2012-04-22 11:50:41 +02:00
Bård Skaflestad
829f6aa003
Update add_well() comment to reflect intended pre- and post-condition.
2012-04-22 11:36:49 +02:00
Bård Skaflestad
7125e31748
Prefer to speak of "data structures" rather than "struct"s in documentation.
2012-04-21 21:07:19 +02:00
Bård Skaflestad
8770042d64
Hide memory management aspects of struct Wells.
2012-04-21 13:57:41 +02:00
Bård Skaflestad
3bca737913
Hide memory management aspects of struct WellControls.
2012-04-21 11:34:11 +02:00
Bård Skaflestad
7bd5e1c0b5
Formalise description of struct WellControls.
2012-04-21 10:18:20 +02:00
Bård Skaflestad
e1a836ff04
Use complete sentences when describing individual WellControlTypes.
2012-04-21 10:10:11 +02:00
Bård Skaflestad
97a21f1094
Correct misunderstanding about row-major vs. column major ordering.
2012-04-20 23:53:04 +02:00
Bård Skaflestad
755bc5ecb5
Correct array sizes in struct CompletionData.
2012-04-20 20:54:58 +02:00
Bård Skaflestad
b744285b9a
Use more precise description of the WellControlType.
2012-04-20 19:53:09 +02:00
Bård Skaflestad
2c001e06df
Remove an instance of EOL whitespace introduced in cset a09de38891c5.
2012-04-20 19:47:52 +02:00
Atgeirr Flø Rasmussen
ce74f956e7
Accounting for (constant) formation volume factor in incompressible fluids.
2012-04-20 14:00:38 +02:00
Atgeirr Flø Rasmussen
11389cdd54
Added file level docs.
2012-04-20 11:38:10 +02:00
Atgeirr Flø Rasmussen
36aa5fd90c
Renamed add_wells() -> add_well(). Documented.
2012-04-20 11:34:58 +02:00
Atgeirr Flø Rasmussen
a96ac0bc9e
Renamed some enums and functions relating to Wells, and started documenting it.
2012-04-20 09:50:36 +02:00
Atgeirr Flø Rasmussen
1365dcd6b8
Initialise current well control in the appropriate place.
2012-04-19 16:11:58 +02:00
Atgeirr Flø Rasmussen
dcad28acbd
Silence warnings about unhandled cases.
2012-04-19 16:11:28 +02:00
Atgeirr Flø Rasmussen
605933abba
Pretty-formatting only.
2012-04-19 15:33:25 +02:00
Atgeirr Flø Rasmussen
3fcdb1f412
Bugfix: in SATNUM treatment, allow for inactive cells.
2012-04-19 15:00:56 +02:00
Atgeirr Flø Rasmussen
844ccf3562
Now saturation props read from deck may have multiple tables, and support SATNUM.
2012-04-19 11:49:59 +02:00
Atgeirr Flø Rasmussen
b0c60ee05b
Make constructor take arguments by reference. Silence a warning.
2012-04-19 11:47:41 +02:00
Atgeirr Flø Rasmussen
74b3a40bbf
Make column gravity Gauss-Seidel solver report average number of iterations.
2012-04-19 11:46:41 +02:00
Xavier Raynaud
c8dfdecb7c
Removed warning from compiler.
2012-04-18 14:46:01 +02:00
Xavier Raynaud
6c3220077a
merge.
2012-04-17 17:26:23 +02:00
Kjetil Olsen Lye
069ad5a611
Passed around a WellControlResult argument to the different wellcontrol functions
2012-04-17 16:36:49 +02:00
Kjetil Olsen Lye
5d39e3c0ef
merge
2012-04-17 09:25:54 +02:00
Kjetil Olsen Lye
b0b13c71f9
Fixed a compilation bug, also adjusted computeWDP slightly to allow for either a saturation vector by grid cells or by well cells
2012-04-17 09:19:06 +02:00
Kjetil Olsen Lye
95818d1f02
Added shutdown of wells when they exceed their limits (if procedure = shut).
2012-04-17 08:59:20 +02:00
Bård Skaflestad
57d6bc9b03
InjectionSpecification: Initialise fields in declaration order.
2012-04-16 19:29:22 +02:00
Bård Skaflestad
627c3be1f9
InjectionSpecification: Split long lines. No functional changes.
2012-04-16 19:27:34 +02:00
Xavier Raynaud
92dc5e2368
Added setup functions which take arguments directly (do not use ParamterGroup)
2012-04-16 17:53:10 +02:00
Kjetil Olsen Lye
24cefa60bc
Fixed group control for liquid flow
2012-04-16 17:42:11 +02:00
Kjetil Olsen Lye
dedc60d92d
Fixed reading of gconprod to handle defaulted arguments better
2012-04-16 17:10:17 +02:00
Kjetil Olsen Lye
bc72ea9a44
Made it possible to use group control without gconprod keyword
2012-04-16 15:26:33 +02:00
Kjetil Olsen Lye
29ebfac858
Added reading of reservoir fluid max rate for GCONINJE
2012-04-16 14:49:13 +02:00
Kjetil Olsen Lye
a7e471951d
Added further checks for well conditions. Fixed a small bug in reading WCONPROD
2012-04-16 13:44:53 +02:00
Kjetil Olsen Lye
67251e7f77
Added documententation of computeWDP and computeFlowRatePerWell
2012-04-16 11:39:16 +02:00
Kjetil Olsen Lye
106b688a55
Inserted previously uncommented line
2012-04-16 11:27:46 +02:00
Kjetil Olsen Lye
d4b849f215
merge.
2012-04-13 20:41:19 +02:00
Kjetil Olsen Lye
24dc20ba4d
modified the group control interface slightly
2012-04-13 20:41:09 +02:00
Atgeirr Flø Rasmussen
2313339844
Fix bug: mistakenly swapped macros.
2012-04-13 16:36:51 +02:00
Atgeirr Flø Rasmussen
8c58165862
Added LinearSolverFactory class.
2012-04-13 16:33:51 +02:00
Atgeirr Flø Rasmussen
588060d1e6
Use C comments in C code.
2012-04-13 15:46:15 +02:00
Atgeirr Flø Rasmussen
709b8c0b82
Work around mismatch between our HAVE_BOOST and what dune-istl expects.
...
In our config.h, HAVE_BOOST is defined (empty).
In dune-istl it is expected to be defined to 0 or 1.
2012-04-13 15:37:11 +02:00
Kjetil Olsen Lye
af849bf9e9
Added computations for total flow for each well
2012-04-13 14:22:44 +02:00
Kjetil Olsen Lye
c992deb147
prettification
2012-04-13 13:21:33 +02:00
Kjetil Olsen Lye
3058e26447
merge
2012-04-13 13:20:36 +02:00
Kjetil Olsen Lye
9d1c9dee68
extra tests for injector wells in group control
2012-04-13 13:17:25 +02:00
Kjetil Olsen Lye
62e4b791d2
Added checks for BHP and fluid_volume_rate for group control. Also added error tolerance for group control
2012-04-13 12:57:47 +02:00
Kjetil Olsen Lye
246af80ee8
Fixed a small bug in reading of WCONPROD
2012-04-13 11:37:50 +02:00
Kjetil Olsen Lye
f1cc0d56e8
Added reading of WGRUPCON, also added guide_rates to the well groups. Fixed a small bug in calculateWDP
2012-04-13 10:32:36 +02:00
Bård Skaflestad
9059af9b41
Opm::computeWDP(): Don't shadow (well) loop counter in phase loop.
2012-04-12 22:43:33 +02:00
Bård Skaflestad
a38efedc8d
Opm::computeWDP(): Match definition and prototype.
...
Specifically, accept the densities as a reference to const, not just a
const object.
2012-04-12 22:41:03 +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
fb6bde6e04
Changed input arguments for group checking
2012-04-12 16:56:58 +02:00
Atgeirr Flø Rasmussen
608766421b
Initialize data members in declared order.
2012-04-12 16:52:57 +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
4150e4a184
Made queries upwards from wells to group to group
2012-04-12 15:48:24 +02:00
Kjetil Olsen Lye
c931e2a1fb
Made the WellNode be aware of their own index
2012-04-12 14:25:39 +02:00
Atgeirr Flø Rasmussen
7dcec8976b
Moved internal functions into anonymous namespace.
2012-04-11 10:56:08 +02:00
Atgeirr Flø Rasmussen
7c00c770b0
Improved formatting.
2012-04-11 10:52:45 +02:00
Atgeirr Flø Rasmussen
b8238927da
Improve formatting.
2012-04-11 10:49:45 +02:00
Atgeirr Flø Rasmussen
263642a98e
Removed unneeded check for WELSPECS and shadowing of existing object.
2012-04-11 10:47:30 +02:00
Atgeirr Flø Rasmussen
8ca7fa7665
Merged.
2012-04-10 15:47:28 +02:00
Atgeirr Flø Rasmussen
ddf0f09b6e
Disabled OpenMP pragmas in low-level fluid evaluations.
...
This is done to reduce risk of misuse, considering two cases:
- These functions are often called with a single data point,
making the thread setup and teardown time prohibitively expensive.
- This may conflict with higher-level use of OpenMP.
2012-04-10 15:46:24 +02:00
Atgeirr Flø Rasmussen
844b2b6cc6
Removed unused code.
2012-04-10 15:42:47 +02:00
Kjetil Olsen Lye
36ffb7416a
Fixed some warnings
2012-04-10 15:01:52 +02:00
Kjetil Olsen Lye
65d3ad547e
merge
2012-04-10 14:48:35 +02:00
Kjetil Olsen Lye
a9dfab1b37
Fixed namespacing issue
2012-04-10 14:47:29 +02:00
Atgeirr Flø Rasmussen
ee4123c3d8
Made state before init() valid (0.0 water sat, 1.0 oil sat).
2012-04-02 15:41:13 +02:00
Atgeirr Flø Rasmussen
d397fd847b
Changed single-cell solver call.
...
- Using [0,1] interval instead of [smin, smax] interval to handle compressible case.
- Using new version of Regula Falsi function which exploits initial guess.
2012-04-02 13:24:57 +02:00
Atgeirr Flø Rasmussen
495a30ef17
Merge.
2012-03-30 16:11:27 +02:00
Atgeirr Flø Rasmussen
baf099cd5a
Minor modification of residual formula (equivalent to the old).
2012-03-30 16:11:07 +02:00
Kjetil Olsen Lye
b959de1ba0
Some comments
2012-03-30 10:51:31 +02:00
Atgeirr Flø Rasmussen
ed5a7802b3
Bugfix: ensure all cells have a valid saturation initially.
2012-03-29 21:10:14 +02:00
Kjetil Olsen Lye
abdae7073e
merge
2012-03-29 18:35:00 +02:00
Kjetil Olsen Lye
5cff14343d
Added WellCollection as a forest of Well group trees. Did parsing of group control input data into this forest format
2012-03-29 18:34:51 +02:00
Atgeirr Flø Rasmussen
5e78fc1c9f
Multiple changes dealing with initialization. Work in progress.
...
- Moved simulator state class into its own file.
- Using new initState...() methods in spu_2p.cpp
- No longer controlled by 'scenario' parameter.
2012-03-29 13:05:59 +02:00
Atgeirr Flø Rasmussen
41979968ff
Minor bugfix.
2012-03-29 12:50:18 +02:00
Atgeirr Flø Rasmussen
bcb9a8772f
Added correct documentation to initStateTwophaseBasic().
2012-03-29 11:09:13 +02:00
Atgeirr Flø Rasmussen
3870df7fcd
Added functions initStateTwophaseBasic() and initStateTwophaseFromDeck().
2012-03-29 11:06:05 +02:00
Atgeirr Flø Rasmussen
0e861d1845
Suppressed multiple warnings.
2012-03-28 16:39:04 +02:00
Kjetil Olsen Lye
9ec1b4243b
merge
2012-03-28 15:49:48 +02:00
Kjetil Olsen Lye
844698baa2
Prettification of code
2012-03-28 15:49:39 +02:00
Atgeirr Flø Rasmussen
c577e8d952
Merged.
2012-03-28 14:41:56 +02:00
Kjetil Olsen Lye
bc1fcb831b
Fixed some warnings and added GCONPROD reading for the eclipse parser
2012-03-28 12:38:48 +02:00
Atgeirr Flø Rasmussen
244faaf975
Merge.
2012-03-28 11:57:25 +02:00
Atgeirr Flø Rasmussen
c961f8e7d2
Suppressed multiple warnings.
2012-03-28 11:56:20 +02:00
Kjetil Olsen Lye
e075d3d92b
merge
2012-03-27 16:57:12 +02:00
Kjetil Olsen Lye
eedb506ad0
Started reading the gruptree
2012-03-27 16:57:01 +02:00
Bård Skaflestad
2cd5cfb867
solveGravity(): Don't compare signed and unsigned expressions.
2012-03-27 11:19:13 +02:00
Kjetil Olsen Lye
d2e4f5d664
Removed all traces of the property tree (I hope)
2012-03-27 11:09:04 +02:00
Kjetil Olsen Lye
867653d4b1
Fixed minor error
2012-03-27 10:58:42 +02:00
Kjetil Olsen Lye
2bdebbe7db
Fixed minor error
2012-03-27 10:57:44 +02:00
Kjetil Olsen Lye
5b485b8c8a
Added exmaple file
2012-03-27 10:56:32 +02:00
Kjetil Olsen Lye
f7d88a1836
merge
2012-03-27 09:23:32 +02:00
Kjetil Olsen Lye
040be401e0
added initial input reading for group control (GRUP-keyword)
2012-03-27 09:23:24 +02:00
Atgeirr Flø Rasmussen
7777a8ee07
Bugfix in solveMultiCell().
2012-03-26 14:20:00 +02:00
Kjetil Olsen Lye
bceee40b4f
Added opm-parallelization to column solver for gravity. Did a (minor) interface change on extractColumn
2012-03-23 12:32:25 +01: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
Atgeirr Flø Rasmussen
65ee7ccc2f
Bugfixes in RockCompressibility::isActive() and constructor.
2012-03-20 21:36:31 +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
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
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
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
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
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
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
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
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
Xavier Raynaud
22a34c70b4
Minor bug.
2012-03-06 15:58:30 +01:00
Atgeirr Flø Rasmussen
939ddd8fe6
Fix minor typo.
2012-03-06 15:10:21 +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
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
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
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
Atgeirr Flø Rasmussen
8c16722b84
Removed copied text accidentally left in.
2012-02-21 22:02:16 +01:00