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
Xavier Raynaud
f2b56c22bf
Added Latex format in documentation.
2012-04-12 18:13:57 +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
Atgeirr Flø Rasmussen
4db93c418c
Suppressed multiple warnings.
2012-03-28 11:56:20 +02:00
Bård Skaflestad
4544000065
Fix likely omission: don't pass objects when references will do.
...
This avoids copying a vector of size grid_.numFaces().
2012-03-23 19:47:27 +01:00
Bård Skaflestad
355eb053e8
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
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
55975a085a
Assemble_bhp_well(): Don't look up wdof diagonal element multiple times.
2012-03-21 10:59:21 +01:00
Bård Skaflestad
0a6837bda9
Assemble_rate_well(): Don't look up wdof diagonal element multiple times.
2012-03-21 10:48:58 +01:00
Bård Skaflestad
a3a9e12388
Implement RESV constraint assembly.
2012-03-20 23:17:52 +01:00
Bård Skaflestad
d6a6d24716
Delete trailing whitespace.
2012-03-20 22:46:38 +01:00
Bård Skaflestad
1cd44389d9
Assemble_bhp_well(): Remove unused variable.
2012-03-20 22:45:28 +01:00
Bård Skaflestad
faa334a4d0
Merge from upstream.
2012-03-20 19:34:30 +01:00
Bård Skaflestad
a4925e63da
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
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
b8f3cd90c3
ifs_tpfa_assemble(): Coalesce external forces into single branch.
2012-03-16 14:30:13 +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
f89746b8bd
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
488f85d425
Align multi-line parameter lists and structure members.
...
No functional changes.
2012-03-16 11:06:01 +01:00
Bård Skaflestad
87aa556423
Initialise all tpfa_solution members to NULL in anticipation of well support.
2012-03-16 09:32:48 +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
Atgeirr Flø Rasmussen
c10c089d5e
Update for change in tpfa solver.
2012-03-15 11:16:03 +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
686100a407
Account for explicit flux BCs during flux calculation.
2012-03-13 23:35:26 +01:00
Bård Skaflestad
f2df9fe123
Account for compressed BC representation during flux calculation.
2012-03-13 23:28:43 +01:00
Bård Skaflestad
436a7d666d
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
4f7a84d630
Rename confusing variable to promote better understanding.
2012-03-13 14:48:09 +01:00
Bård Skaflestad
f00bd49292
Refactor transmissibility reference during Dirichlet BC assembly.
2012-03-13 14:43:56 +01:00
Bård Skaflestad
e727bf34e9
Take gravity into effect when assembling Dirichlet boundary conditions.
2012-03-13 14:42:38 +01:00
Bård Skaflestad
364b177237
Remove a useless explicit type conversion.
2012-03-12 09:59:30 +01:00
Bård Skaflestad
660dea787c
Move source term assembly out main loop.
2012-03-12 09:50:35 +01:00
Atgeirr Flø Rasmussen
30acd08b61
Fixed indexing bug in findSideFaces().
2012-03-09 15:50:48 +01:00
Bård Skaflestad
d3955b0a34
Support variable number of physical grid dimensions (typically 2 or 3).
2012-03-09 08:56:28 +01:00
Bård Skaflestad
ab438b94af
Use more traditional implementation of cartCoord().
2012-03-09 00:50:44 +01:00
Bård Skaflestad
61c1e69c58
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
94317cc02f
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
9ed8979ad8
Handle flow_conditions_construct(0) correctly.
2012-03-08 15:24:50 +01:00
Atgeirr Flø Rasmussen
bb9ffb8804
Added methods pressureSide() and fluxSide().
2012-03-08 13:48:26 +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
Bård Skaflestad
6bff141c93
Merge from upstream.
2012-03-07 19:18:57 +01:00
Bård Skaflestad
64f1112997
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
Bård Skaflestad
0d7b7f173f
Ensure a valid face->boundary condition mapping before assembly.
2012-03-07 17:54:12 +01:00
Atgeirr Flø Rasmussen
3137a477e5
IncompTpfa::solve() now accepts boundary conditions.
2012-03-07 09:32:56 +01:00
Atgeirr Flø Rasmussen
d0afc1f8e4
Made bc argument const.
2012-03-07 09:32:02 +01:00
Atgeirr Flø Rasmussen
23a890d841
Added FlowBCManager class.
2012-03-07 09:18:44 +01:00
Atgeirr Flø Rasmussen
23decbddd0
Update for new treatment of driving forces in tpfa/ifs* functions.
2012-03-07 08:18:04 +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
7323243015
Catch up to recent changes in boundary condition representation.
...
Specifically, accommodate the sparse BC representation introduced in
change-set 30f12a392a03.
2012-03-06 21:40:16 +01:00
Bård Skaflestad
e669a162cd
Catch up to recent changes in underlying C-implementation.
...
Specifically: Update boundary condition handling to incorporate the
sparse representation introduced in change-set 30f12a392a03.
Furthermore, catch up to ifs_tpfa_assemble() now accepting a general
"force" parameter (currently containing sources only) as introduced in
change-set 6c2b5de8faaa.
2012-03-06 21:30:02 +01:00
Bård Skaflestad
69bc8e16d6
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
Bård Skaflestad
7149d10cb2
Start encapsulating ifs_tpfa driving forces into a managing structure.
2012-03-06 14:00:34 +01:00
Kjetil Olsen Lye
9bb8406efa
merge
2012-02-27 17:47:55 +01:00
Kjetil Olsen Lye
b002871fe1
Fixed some warnings
2012-02-27 17:46:06 +01:00
Bård Skaflestad
52608367e0
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
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
Atgeirr Flø Rasmussen
6165fa2ba6
Bugfix: must always initialize gpress_omegaweighted_, even if no gravity.
2012-02-20 17:05:28 +01:00
Atgeirr Flø Rasmussen
4ba285ec21
Ensuring gravity feature is used consistently.
2012-02-20 13:39:40 +01:00
Atgeirr Flø Rasmussen
2fa1f1b5f2
Added class IncompTpfa.
2012-02-20 13:23:01 +01:00
Atgeirr Flø Rasmussen
41f9f06df4
Fallout from removal of grid_t typedef.
2012-02-01 20:29:05 +01:00
Jostein R. Natvig
fb99d7bdaf
1) Move extra fields found in struct CornerpointGrid into struct UnstructuredGrid.
...
2) Remove typedef grid_t
3) Remove struct CornerpointGrid.
4) handle fallout.
2012-02-01 14:56:38 +01:00
Bård Skaflestad
617b160534
Compute perforation fluxes (no gravity adjustments).
...
Requires additional parameter 'pmobc' (phase mobilities per cell) in
public function cfs_tpfa_res_flux().
2011-12-20 02:13:50 +01:00
Bård Skaflestad
940ec1a996
Merge from upstream.
2011-12-19 14:59:28 +01:00
Bård Skaflestad
959c694e2d
Impose outflow sign convention when assembling w->c contributions.
2011-12-19 14:09:27 +01:00
Bård Skaflestad
7eed98118b
Only perform incompressible adjustment if there are no BHP wells.
2011-12-19 14:07:57 +01:00
Atgeirr Flø Rasmussen
38fe05cb27
Moved GridAdapter to opm/core. Fixes include paths.
2011-12-16 10:17:40 +01:00
Atgeirr Flø Rasmussen
23a61cb167
Changed code to use new include path: <opm/core/...>
2011-12-12 11:28:09 +01:00
Atgeirr Flø Rasmussen
4655108f98
Moved code from opmcore/ to opm/core/
2011-12-12 11:13:54 +01:00