Commit Graph

56 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
cc7250628e Improved documentation. 2012-06-09 18:11:02 +02:00
Atgeirr Flø Rasmussen
61995b97be Changed interface of solve() and solveGravity() to accept full saturation (both phases) input. 2012-06-09 14:56:29 +02:00
Atgeirr Flø Rasmussen
d1a4fa6dcd Made many methods private, and added some documentation. 2012-05-30 15:10:59 +02:00
Atgeirr Flø Rasmussen
30324f84e6 Made the virtual methods private. 2012-05-30 15:10:38 +02:00
Atgeirr Flø Rasmussen
299ea28afe Reordering 2p transport solver now takes full saturation (all phases) as input. 2012-05-30 14:39:09 +02:00
Atgeirr Flø Rasmussen
ad2dff642b Initial version of compressible transport. Work in progress. 2012-05-28 09:12:09 +02:00
Atgeirr Flø Rasmussen
5c15895e74 Implemented more error policies for regula falsi solver. Use in reorder code.
We have switched to WarnAndContinueOnError instead of ThrowOnError,
to reduce the annoyance factor when suffering from a minor error in
a long simulation run.
2012-05-24 10:21:38 +02:00
Atgeirr Flø Rasmussen
733129a1a9 Policy-based design enables custom error handling in scalar regula falsi. 2012-05-24 10:02:14 +02:00
Bård Skaflestad
36d21ec747 Fix spelling: Furhtermore -> Furthermore. 2012-05-21 20:04:04 +02:00
Bård Skaflestad
e53ec76d78 Re-adjust comment white-space. 2012-05-21 20:01:55 +02:00
Bård Skaflestad
fa2d0904b5 Enforce singular agreement. 2012-05-21 20:00:08 +02:00
Bård Skaflestad
71a3ac9e17 Fix misprint concerning the valid components.
These are 0..*ncompoents-1, not 0..*ncomponents inclusive.
2012-05-21 19:58:02 +02:00
Bård Skaflestad
5b9ff02633 Mention that the flux parameter is assumed to include the boundary. 2012-05-21 19:56:46 +02:00
Bård Skaflestad
c99a9a798a Add doxygen documentation of compute_sequence*(). 2012-05-21 19:20:32 +02:00
Bård Skaflestad
7c7c4f1b31 Assert that the number of strongly connected components is in [1 .. nc]. 2012-05-21 18:53:08 +02:00
Bård Skaflestad
1eeafa1918 White-space adjustments. Mostly splitting long lines in declarations. 2012-05-21 16:37:06 +02:00
Bård Skaflestad
874e6f6bce M-x whitespace-cleanup 2012-05-21 15:27:32 +02:00
Bård Skaflestad
0b19ec6370 Remove long-disabled code. 2012-05-21 15:27:19 +02:00
Bård Skaflestad
dea3741c1b Prefer std::vector<> over explicit malloc()s. 2012-05-21 15:26:46 +02:00
Bård Skaflestad
7d57530df5 Implement compute_sequence*() in terms of compute_reorder_sequence_graph().
While here, insert various white-space adjustments.
2012-05-21 15:23:36 +02:00
Bård Skaflestad
2e02731ed8 Clean up implementation.
Specifically: Remove an unused header (stdio.h), replace <stdlib.h> by
its C++ counterpart (<cstlib>), and reference malloc() and free() from
the std:: namespace.
2012-05-21 15:01:53 +02:00
Bård Skaflestad
2006f3e3f8 Partly doxygenise the tarjan() function. 2012-05-21 14:49:51 +02:00
Atgeirr Flø Rasmussen
fb5113836c Fixed a bug in non-linear Gauss-Seidel column segregation solver.
With columns containing an odd number of cells, middle cell would
get solved twice, and the second time with incorrect s0.
We still solve twice, but with correct s0.
2012-05-21 11:11:06 +02:00
Atgeirr Flø Rasmussen
0677f58026 Simplified data structure for extracted columns. 2012-05-11 09:37:12 +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
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
baf099cd5a Minor modification of residual formula (equivalent to the old). 2012-03-30 16:11:07 +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
f7d88a1836 merge 2012-03-27 09:23:32 +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
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
75b6e1fc97 Fixed bugs and changed interface for Gauss-Seidel segregation solver. 2012-03-16 13:41:10 +01:00
Atgeirr Flø Rasmussen
6e916914d6 Added experimental Gauss-Seidel segregation solver. Not yet functioning. 2012-03-16 08:33:00 +01:00
Atgeirr Flø Rasmussen
00e87d36b9 Changed forward declaration of 'class UnstructuredGrid' to 'struct UnstructuredGrid'. 2012-03-08 12:28:22 +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
Kjetil Olsen Lye
c06401ef5b Fixed some warnings 2012-02-27 17:46:06 +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
16378af014 Added tol and maxit arguments. Using Incomp*::satRange() for initial s-bracket. 2012-02-17 14:17:16 +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
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
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
7de03af4c1 Made grid argument of compute_sequence() const. 2012-02-09 23:28:47 +01:00