Commit Graph

37 Commits

Author SHA1 Message Date
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
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
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
Bård Skaflestad
b8f3cd90c3 ifs_tpfa_assemble(): Coalesce external forces into single branch. 2012-03-16 14:30:13 +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
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
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
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
Atgeirr Flø Rasmussen
d0afc1f8e4 Made bc argument const. 2012-03-07 09:32:02 +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
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
b002871fe1 Fixed some warnings 2012-02-27 17:46:06 +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
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
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