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
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
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
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
Bård Skaflestad
47a3af5cfd
Rename confusing variable to promote better understanding.
2012-03-13 14:48:09 +01:00