Commit Graph

555 Commits

Author SHA1 Message Date
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
Atgeirr Flø Rasmussen
9ed9f8b288 Fixed class comments, LinearSolverUmfpack::solve() properly returns a report. 2012-02-21 21:54:46 +01:00
Atgeirr Flø Rasmussen
87723a08a0 IncompTpfa now takes a linear solver as a constructor argument. 2012-02-21 21:45:04 +01:00
Atgeirr Flø Rasmussen
e52cae02ac Made the solve() methods const. 2012-02-21 21:36:09 +01:00
Atgeirr Flø Rasmussen
8f8baa62c8 Using LinearSolverUmfpack for the linear solver. 2012-02-21 21:32:11 +01:00
Atgeirr Flø Rasmussen
3cb3d69d90 Added LinearSolverInterface and two subclasses, using Umfpack and Istl. 2012-02-21 21:27:15 +01:00
Atgeirr Flø Rasmussen
22bf83dda7 Bugfix: must always initialize gpress_omegaweighted_, even if no gravity. 2012-02-20 17:05:28 +01:00
Atgeirr Flø Rasmussen
2aac2255b5 Ensuring gravity feature is used consistently. 2012-02-20 13:39:40 +01:00
Atgeirr Flø Rasmussen
e5a7157bc3 Added class IncompTpfa. 2012-02-20 13:23:01 +01:00
Atgeirr Flø Rasmussen
f9fd79dbcb Moved writeVtkData() functions to utility/, added a test program. 2012-02-19 21:24:59 +01:00
Atgeirr Flø Rasmussen
16378af014 Added tol and maxit arguments. Using Incomp*::satRange() for initial s-bracket. 2012-02-17 14:17:16 +01:00
Atgeirr Flø Rasmussen
9901d20721 Added satRange() method to Incomp* classes and Saturation* classes.
So far not yet added to BlackoilPropertiesInterface.
2012-02-17 14:15:25 +01:00
Atgeirr Flø Rasmussen
75731efa9a Added lots of (inactive) experimental code.
The code attempts to improve #iterations in the Gauss-Seidel-like
multicell solver by improving ordering. In general, experiment failed
to improve #iterations, except for one: totally random order was the
best (for the 100x100 case tried)!
2012-02-17 09:39:45 +01:00
Atgeirr Flø Rasmussen
b5eb8543aa Added compute_sequence_graph(), which also returns the upwind graph. 2012-02-17 09:29:56 +01:00
Atgeirr Flø Rasmussen
42413c6a35 Merge. 2012-02-15 22:44:15 +01:00
Atgeirr Flø Rasmussen
5a2d26360b Made reordersequence a C++ source file, in order to use std::sort().
This is for the experimental change of the graph topology, putting the
connections in the graph sorted by flux magnitude. Currently the
changes are in the file, but commented out until further experiments
have been done.
2012-02-15 22:42:07 +01:00
Atgeirr Flø Rasmussen
5b9e67518d Added solveMultiCell() interface and implementation.
- Added solveMultiCell() virtual method.
  - TransportModelInterface::reorderAndTransport() now calls solveMultiCell()
    instead of aborting if encountering multi-cell components.
  - Implemented solveMultiCell() in TransportModelTwophase by solving
    each cell individually with solveSingleCell() and repeating until
    saturation change is small (hardcoded 1e-9 for now).
2012-02-15 22:38:45 +01:00
Bård Skaflestad
232c84ff70 Reference per-cell fluid matrix when calculating phase densities.
This change repeats change-set f3bd5169811e of sibling class
BlackoilPropertiesBasic .
2012-02-15 15:37:02 +01:00
Bård Skaflestad
a8b7dc1fbb Reference per-cell fluid matrix when calculating phase densities. 2012-02-14 20:23:13 +01:00
Bård Skaflestad
095dedfe41 Refactor inflow tests and flux assignments. 2012-02-10 11:40:21 +01:00
Bård Skaflestad
670e95b147 Fix spelling (interiour -> interior). 2012-02-10 11:26:48 +01:00
Bård Skaflestad
869ce15a44 Remove #include<> statement that refers to file removed in cset b4feb4a932de. 2012-02-10 11:14:35 +01:00
Atgeirr Flø Rasmussen
c279224e41 TransportModel* classes are now expected to have a custom solve() method. More:
- Using new solve() method in spu_2p.
 - solve() implemented in terms of protected superclass method reorderAndTransport().
 - Removed unused code being replaced by solve().
2012-02-10 10:48:18 +01:00
Atgeirr Flø Rasmussen
b45c42e209 Removed legacy blackoil fluid code. Further information:
- These classes were imported (copied) from the dune-porsol repository,
   and copies remain there for the time being.
 - Some of the black oil fluid classes that are in opm-core, such as the
   SinglePvt* classes, are direct descendants of the Miscibility* classes
   that have been removed.
 - At some point, we may modify dune-porsol to use the new fluid interfaces
   from opm-core, but for now we keep using the existing code as-is.
2012-02-10 09:28:05 +01:00
Atgeirr Flø Rasmussen
7de03af4c1 Made grid argument of compute_sequence() const. 2012-02-09 23:28:47 +01:00