Xavier Raynaud
c3e89e6b5c
Added "not so successfull" case in Newton method.
2012-03-06 15:25:37 +01:00
Atgeirr Flø Rasmussen
939ddd8fe6
Fix minor typo.
2012-03-06 15:10:21 +01:00
Xavier Raynaud
196c29522d
Introduced ResidualEquation class to compute value of residual and derivatives.
2012-03-06 14:58:19 +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
Xavier Raynaud
e11cea7432
Set tolerance Newton solver according to tolerance in TransportPolymer.
2012-03-06 09:31:11 +01:00
Xavier Raynaud
801f975b5b
Implemented case det(jacobian)=0 in Newton method.
2012-03-06 09:09:37 +01:00
Xavier Raynaud
02296478b1
Minor code optimization.
2012-03-06 09:00:05 +01:00
Xavier Raynaud
93503662ce
Fixed bug for Newton method. Added initial residual check for Bracketing method.
2012-03-05 15:32:22 +01:00
Xavier Raynaud
a91b2d991d
Use tolerance consistantly.
2012-03-05 12:58:09 +01:00
Xavier Raynaud
f783f9eebe
Removed unused code.
2012-03-05 12:50:13 +01:00
Xavier Raynaud
c3d6cc429a
Ensure min saturation is max(dead pore space, connate water saturation).
2012-03-05 12:44:31 +01:00
Xavier Raynaud
ceef4bbdcd
Parameter single_cell_method is now enum. Some optimization.
...
Redundant computation of fractional flow and mc removed.
2012-03-05 11:56:23 +01:00
Atgeirr Flø Rasmussen
8877fa6ed0
Untabify.
2012-03-02 15:14:29 +01:00
Atgeirr Flø Rasmussen
ea1bd3ec2d
Cleaned up PolymerProperties class a little.
2012-03-02 15:14:14 +01:00
Xavier Raynaud
f78730cb94
Cleaned up code for Splitting method to find zero of s-c residuals.
2012-02-29 15:56:11 +01:00
Xavier Raynaud
a33e3d9db0
rock density is obtained from PLYROCK in PolymerProperties::getFromDeck.
2012-02-29 14:58:51 +01:00
Xavier Raynaud
07f136befb
Transport solver reads polymer data from PolymerProperties.
2012-02-29 13:27:20 +01:00
Xavier Raynaud
5ef45c59e3
Cleaned up PolymerProperties.
2012-02-29 13:25:51 +01:00
Xavier Raynaud
123762caa9
Added class PolymerProperties with a constructor which takes argument from an eclipse parser.
2012-02-29 11:27:59 +01:00
Xavier Raynaud
b0fdc4db7d
Added Newton step as first step in Splitting s-c residual solver.
2012-02-28 17:36:29 +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
Xavier Raynaud
ee52e354b1
Bugfixed in computation of the gradient of the residual (from formulae).
2012-02-27 15:49:04 +01:00
Xavier Raynaud
5c78dc8960
Cleaned up code for Splitting method for residual zero finding.
2012-02-27 10:39:21 +01:00
Xavier Raynaud
a26656c6e5
Cleaned up code for Splitting method in zero finding residual.
2012-02-27 10:10:32 +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
753ebedc0d
Removed "hello polymer" test program.
2012-02-26 20:20:37 +01:00
Atgeirr Flø Rasmussen
40e2ccd1f0
Removed legacy reorder solver code.
2012-02-26 20:17:22 +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
Xavier Raynaud
c63d817332
Added varying bounded box for allowable values of c and c in the splitting residual solver.
2012-02-24 17:35:47 +01:00
Xavier Raynaud
f0fc7bf3c0
Merge.
2012-02-23 17:00:43 +01:00
Xavier Raynaud
266b451715
Fix splitting method residual solver. Add piecewise linear curve to handle the boundaries of the acceptable domain for s and c.
2012-02-23 16:59:17 +01:00
Atgeirr Flø Rasmussen
95618aecac
Implemented solveMultiCell() by the nonlinear Gauss-Seidel method.
2012-02-22 14:55:34 +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
21f7022afd
Tolerance and max iters are constructor arguments. Uses satRange() properly.
2012-02-20 17:07:42 +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
Xavier Raynaud
1763e8afd7
Merged.
2012-02-20 09:37:54 +01:00
Xavier Raynaud
dd324478de
Added s-c splitting solver for single cell problem.
2012-02-20 09:27:22 +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
d041c98f21
Added solveMultiCell() method to match change in interface. Currently throwing.
2012-02-15 22:52:32 +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
Atgeirr Flø Rasmussen
a3dfdad3a6
Use PolymerData struct as moved to namespace Opm and defined in TransportModelPolymer.hpp.
2012-02-12 23:45:43 +01:00
Atgeirr Flø Rasmussen
8cb2af77e7
Added TransportModelPolymer class.
2012-02-12 23:30:57 +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
Atgeirr Flø Rasmussen
4f0d501ac6
Refactored internals, now using modifiedRegulaFalsi() template for performance.
2012-02-09 23:17:08 +01:00
Atgeirr Flø Rasmussen
ed9cb9924e
Added classes TransportModelInterface and TransportModelTwophase.
2012-02-09 16:07:53 +01:00
Atgeirr Flø Rasmussen
094ede0855
Set minimum s to 0.2 for s-iterations (temporary measure).
2012-02-09 09:05:49 +01:00
Atgeirr Flø Rasmussen
240d69da57
Separated nonlinear controls for c and s residuals, set bracket fields.
2012-02-08 14:02:46 +01:00
Atgeirr Flø Rasmussen
46f29380b3
Added more (inactive) debug output.
2012-02-08 13:43:22 +01:00
Atgeirr Flø Rasmussen
37ce9d0db3
Improved treatment of inflow (source) polymer concentration:
...
- solver now takes parameter for inflow_c
- simulator calls polymerInflowAtTime(double time) for its value
- currently starts polymer injection after 4 days (0.4 pv)
Also added some (inactive) debug printouts.
Still not working when injecting polymer.
2012-02-07 09:09:34 +01:00
Atgeirr Flø Rasmussen
d17cfd1372
First compiling version of full polymer residual. Not yet working.
2012-02-06 14:01:56 +01:00
Bård Skaflestad
c711133b45
Fix code on platforms for which sizeof(double)!=sizeof(double*).
2012-02-06 12:52:41 +01:00
Atgeirr Flø Rasmussen
0ad4fab860
Minor bugfix, now reproducing non-polymer results.
2012-02-06 10:45:54 +01:00
Atgeirr Flø Rasmussen
f46587bf3c
Structure for c-solve in place, still not implemented residual_c().
2012-02-06 08:54:38 +01:00
Bård Skaflestad
6b8e89e098
Implement basic memory management for new well interface.
...
Hook up to build, but actual location is likely to change...
2012-02-03 21:35:19 +01:00
Atgeirr Flø Rasmussen
143861745a
Initial work on supporting polymer transport. Work in progress.
2012-02-03 16:39:55 +01:00
Atgeirr Flø Rasmussen
e1df60c04d
Copied and renamed files and functions from opm-core as base for polymer reorder solver.
2012-02-02 16:35:55 +01:00
Bård Skaflestad
08671a1d6d
Coalesce constructors using a default value.
2012-02-01 16:40:15 +01:00
Bård Skaflestad
a785d9488e
Create minimum buildable Polymer module for OPM.
2012-02-01 16:16:30 +01:00
Jostein R. Natvig
37296545a4
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
Jostein R. Natvig
04f88cee52
Add new version of well datastructure.
2012-02-01 12:16:05 +01:00
Atgeirr Flø Rasmussen
b52370e370
Added IncompPropertiesFromDeck class and its building blocks.
2012-01-31 09:41:53 +01:00
Atgeirr Flø Rasmussen
ae200b7bae
Minor comment typo fix.
2012-01-27 12:46:57 +01:00
Atgeirr Flø Rasmussen
0f8c56d922
Fixed bug in some capPress() implementations (calling wrong function). Doc fix.
2012-01-27 11:42:05 +01:00
Jostein R. Natvig
f56c67081d
Copy modifications to reorder-related codes from MRST repository
...
branches/mrst-reorg/mex/reorder-C, revision 8955.
The changes are: (1) addition of documentation of input arguments in
tarjan.c and (2) an MIT licence header (codes originated in a PhD
project).
2012-01-25 10:49:49 +01:00
Atgeirr Flø Rasmussen
22d269811f
C++ified reordering transport solver facade.
2012-01-24 13:47:00 +01:00
Atgeirr Flø Rasmussen
974b027dbf
Made sure permeability param is read as a double.
2012-01-23 13:43:45 +01:00
Atgeirr Flø Rasmussen
db8681b9ff
Updated files from MRST repository.
2012-01-20 13:09:13 +01:00
Bjørn Spjelkavik
7d6fb03142
Changed namespace Dune -> namespace Opm.
2012-01-19 13:50:57 +01:00
Atgeirr Flø Rasmussen
55102ee23f
Added classes IncompPropertiesInterface and IncompPropertiesBasic.
2012-01-18 18:50:56 +01:00
Atgeirr Flø Rasmussen
51d71c122f
Added sanity checking for number of phases in property classes.
2012-01-18 18:36:20 +01:00
Atgeirr Flø Rasmussen
014cd130a3
Added numPhases() method to SaturationProps* classes.
2012-01-18 18:31:12 +01:00
Bård Skaflestad
ed9b420fb9
Merge from upstream.
2012-01-17 16:10:23 +01:00
Jostein R. Natvig
3d40b45cd7
Add bare-bones implementation of reordering algorithm.
...
Lightly tested.
2012-01-17 14:39:09 +01:00
Atgeirr Flø Rasmussen
5bc77babb4
Documented parameters, and made unit behaviour according to doc (perm in mD etc.)
2012-01-17 14:16:28 +01:00
Atgeirr Flø Rasmussen
2d07dd2062
Added class BlackoilPropertiesBasic.
2012-01-17 12:19:50 +01:00
Atgeirr Flø Rasmussen
bf7b0ce5ec
Added class PvtPropertiesBasic.
2012-01-17 11:17:40 +01:00
Atgeirr Flø Rasmussen
125cb33c36
Added SaturationPropsBasic class.
2012-01-17 10:25:49 +01:00
Atgeirr Flø Rasmussen
c065b8633a
Added RockBasic class.
2012-01-17 09:31:25 +01:00
Atgeirr Flø Rasmussen
e3dc0dfa0e
Minor typo fix.
2012-01-17 09:31:05 +01:00
Atgeirr Flø Rasmussen
f6b9dbc57b
Added operators += and *= for SmallVec.
2012-01-17 09:30:43 +01:00
Atgeirr Flø Rasmussen
1a0e068f44
Implemented matrix() method.
2012-01-05 21:39:33 +01:00
Atgeirr Flø Rasmussen
d5e7b4740c
Now initializes rock properties.
2012-01-05 16:43:57 +01:00
Atgeirr Flø Rasmussen
f187ef3be1
Implemented init() function.
2012-01-05 16:43:36 +01:00
Atgeirr Flø Rasmussen
ee87a73edc
Implemented rock interface in terms of RockFromDeck.
2012-01-05 15:39:13 +01:00
Atgeirr Flø Rasmussen
41edcce7d5
Implemented trivial parts of RockFromDeck, init() remains.
2012-01-05 15:38:50 +01:00
Atgeirr Flø Rasmussen
650d684744
Now implemented with new pvt and satprop classes.
2012-01-05 11:41:52 +01:00
Atgeirr Flø Rasmussen
452c74b016
Minor typo fix.
2012-01-05 11:40:58 +01:00
Atgeirr Flø Rasmussen
3748e61b6e
Changed behaviour of surfaceDensities(), now only returns densities of active components.
2012-01-05 11:40:29 +01:00
Atgeirr Flø Rasmussen
2899de390d
Added class SaturationPropsFromDeck.
2012-01-05 11:17:52 +01:00
Atgeirr Flø Rasmussen
8f13a2d3c9
Added inline keyword for correct linkage.
2012-01-05 11:17:29 +01:00
Atgeirr Flø Rasmussen
c12d8c2e5d
Moved active phase determination into own function.
2012-01-05 09:34:05 +01:00
Atgeirr Flø Rasmussen
265dfd0c2c
Moved phase configuration state into PhaseUsage struct.
2012-01-05 09:28:57 +01:00
Atgeirr Flø Rasmussen
2b05b7b059
Disabling copying of BlackoilPvtProperties class.
2012-01-04 23:32:21 +01:00
Atgeirr Flø Rasmussen
6a0ad83c1f
Added BlackoilPvtProperties class.
2012-01-04 23:28:54 +01:00
Atgeirr Flø Rasmussen
55dc2c667f
Made all the SinglePvt* classes conform to new, more bare-bones interface.
2012-01-04 22:15:26 +01:00
Atgeirr Flø Rasmussen
2c5cf2c9e2
Copied and renamed basic building blocks for black oil pvt.
2012-01-04 15:44:53 +01:00
Atgeirr Flø Rasmussen
a3ba8c9afd
Adding class BlackoilPropertiesFromDeck and test program.
2012-01-04 14:44:55 +01:00
Atgeirr Flø Rasmussen
380fdfae3b
Adding virtual destructor.
2012-01-04 14:43:48 +01:00
Atgeirr Flø Rasmussen
90fbb97692
Initial version of suggested interface for fluid and rock properties.
2012-01-04 12:37:12 +01:00
Atgeirr Flø Rasmussen
0cce699a98
Stop using std::tr1::array<> since it is padded (alignment) on gcc 4.1 (CentOS 5.7).
2011-12-22 14:43:23 +01:00
Atgeirr Flø Rasmussen
e95d6a35df
Blackoil fluid test programs now compile.
2011-12-22 12:59:42 +01:00
Atgeirr Flø Rasmussen
ca48cbe6a4
Work in progress on adapting to opm-core.
2011-12-21 13:22:26 +01:00
Atgeirr Flø Rasmussen
fcfbd0e2a2
Moved blackoil fluid classes to their proper place.
2011-12-21 13:09:12 +01:00
Bård Skaflestad
e7e5d94628
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
99e5635af2
Impose outflow sign convention when assembling w->c contributions.
2011-12-19 14:09:27 +01:00
Bård Skaflestad
2b65e19c6f
Only perform incompressible adjustment if there are no BHP wells.
2011-12-19 14:07:57 +01:00
Bård Skaflestad
e59110f5f4
Add field for specifying which surface volume fraction is injected.
2011-12-12 18:43:11 +01:00
Atgeirr Flø Rasmussen
3d499416cb
Changed code to use new include path: <opm/core/...>
2011-12-12 11:28:09 +01:00
Atgeirr Flø Rasmussen
bb6f1de501
Moved code from opmcore/ to opm/core/
2011-12-12 11:13:54 +01:00