Commit Graph

835 Commits

Author SHA1 Message Date
Andreas Lauser
2e578ce6b3 Merge pull request #223 from andlaus/fix-test_components
Fix API test for components
2017-04-10 12:22:56 +02:00
Andreas Lauser
7892561f29 Merge pull request #221 from andlaus/release_maintainance
Release maintainance
2017-04-10 11:28:06 +02:00
Andreas Lauser
e88216d9d5 test_components: check the API comprehensively
for some reason some methods were untested up now.
2017-04-10 11:22:54 +02:00
Andreas Lauser
83d73f65e7 make all components compile properly with evaluations 2017-04-10 11:22:54 +02:00
Andreas Lauser
c5a62aa0d8 fix the headercheck
i.e., make all headers includable without preconditions.
2017-04-10 11:08:34 +02:00
Andreas Lauser
2b185c49e2 Merge pull request #222 from andlaus/fix_simpleCO2
simple CO2: fix a snafu related to evaluations
2017-04-09 19:54:47 +02:00
Andreas Lauser
899437ac27 simple CO2: fix a snafu related to evaluations
in some places, it used primitive floating point objects when it
should have used Evaluations. This is probably not the only place
where this happens, but IMO the individual components are pretty low
priority.
2017-04-09 19:51:05 +02:00
Atgeirr Flø Rasmussen
77ea8d5d41 Merge pull request #217 from totto82/connMat2
Add method to get connectionMaterialLawParams
2017-04-07 14:43:39 +02:00
Atgeirr Flø Rasmussen
d7c9962644 Merge pull request #218 from babrodtk/fix_pbpd_numericalproblems
Fixed numerical problems with bubble/dew point pressures
2017-04-05 10:32:55 +02:00
babrodtk
d0b2eb9606 Fixed numerical problems with bubble/dew point pressures 2017-03-31 14:05:05 +02:00
Atgeirr Flø Rasmussen
a9280edb82 Merge pull request #219 from OPM/revert-213-PR/improved-performance
Revert "[WIP] Evaluation: specialize evaluations for used numbers in Blackoil setting"
2017-03-28 15:24:35 +02:00
Atgeirr Flø Rasmussen
cfc79fd6d5 Revert "[WIP] Evaluation: specialize evaluations for used numbers in Blackoil setting" 2017-03-28 13:26:10 +02:00
Robert Kloefkorn
2f6ae41e2c EclMultiplexerMaterialParams: implement correct operator=. 2017-03-23 19:48:45 +01:00
Tor Harald Sandve
e26fd1227b Add method to get connectionMaterialLawParams
This method changes the saturation table idx in the original material
law parameter object. In the context of ECL reservoir simulators, this
is required to properly handle wells with its own saturation table idx.
In order to reset the saturation table idx in the materialLawparams_
call the method with the cells satRegionIdx after it has been used for
the well connection.

Hysteresis is not accounted for. Is is a open question how this should
be implemented. A warning is given if hysteresis is combined with a
modified saturation table idx for the connection.
2017-03-23 10:09:41 +01:00
Robert Kloefkorn
0a5a5f7eb1 [bugfix][EclMultiplexerMaterialParams] use shared_ptr instead of void* to store pointer to avoid
problems with copying of objects.
2017-03-22 17:23:14 +01:00
Andreas Lauser
943f022277 Merge pull request #213 from dr-robertk/PR/improved-performance
[WIP] Evaluation: specialize evaluations for used numbers in Blackoil setting
2017-03-21 10:31:59 +01:00
Robert Kloefkorn
1a4f382a52 [cleanup] newly created Evaluation files, now with {} in for loops to
make it through the review process.
2017-03-20 14:51:47 +01:00
Robert Kloefkorn
49ff83d140 [cleanup] Avoid creation of empty lines and make work with python3. 2017-03-20 14:51:15 +01:00
dr-robertk
d6bb4353c2 Merge pull request #4 from andlaus/generated_eval_specializations_v3
dense AD: fix a few stupid bugs due to code generation
2017-03-20 10:23:07 +01:00
Andreas Lauser
2f44918a2b dense AD: fix a few stupid bugs
e.g., looping over the wrong range or an infinite loop. also, the
dense-AD unit test is shortend to test one specialization and the
unspecialized class.
2017-03-17 20:48:39 +01:00
dr-robertk
efa158589f Merge pull request #3 from andlaus/generated_eval_specializations_v2
auto-generate and specialize the whole Evaluation class
2017-03-17 17:52:18 +01:00
Andreas Lauser
bf771b09b4 auto-generate and specialize the whole Evaluation class
older compilers (-> GCC < 5) seem to have trouble with inlining here
which leads to sub-optimal performance. since it is not a big problem
to also generate the unspecialized Evaluation class, let's do that
instead. (for hand-written code, this would be a huge
consistency/maintainance problem, though.)
2017-03-17 17:25:49 +01:00
dr-robertk
99ad3843df Merge pull request #2 from andlaus/generated_eval_specializations
Generated eval specializations
2017-03-16 13:51:54 +01:00
Andreas Lauser
dff851951e add description to the code generator for the Evaluation specializations
and make the maximum number of variables for which specializations
should be generated settable via a command line argument.
2017-03-16 11:51:24 +01:00
Andreas Lauser
72b9830b6c move the script that generates the specializations for Evaluation to bin/ 2017-03-16 11:17:33 +01:00
Andreas Lauser
cba7ad9530 specify the type for the data storage via EvaluationOps 2017-03-16 01:05:00 +01:00
Andreas Lauser
b91c9feca9 fix typo: 'devide' -> 'divide' 2017-03-16 00:08:01 +01:00
Andreas Lauser
c170647969 use code generation for producing the specializations if the dense AD Evaluation class 2017-03-16 00:05:52 +01:00
Robert Kloefkorn
db46b907a2 Evaluation: specialize evaluations for used number in Blackoil setting
to increase performance. Also, change from unsigned to int because it's
better supported by compilers.
2017-03-14 14:49:24 +01:00
Andreas Lauser
2a9128a515 Merge pull request #209 from babrodtk/hysteresis_output
Add option to store/restore hysteresis parameters
2017-03-14 10:44:58 +01:00
babrodtk
64bdc84a9f Add option to store/restore hysteresis parameters 2017-03-14 10:15:15 +01:00
Andreas Lauser
fc9885229c Merge pull request #212 from andlaus/satpressure_improvements
Saturation pressure & tabulation improvements
2017-03-09 21:30:42 +01:00
Kai Bao
770b0b863a handle a few NaN situations when evaluating saturationPressure() 2017-03-09 21:18:15 +01:00
Andreas Lauser
00659e5847 LiveOil, WetGas: improve the saturationPressure() methods
we now ask the tabulation class for the derivative directly and we do
not return negative saturation pressures anymore. (the latter is done
via putting the Newton method on "probation" if the saturation
pressure becomes negative. The first time it does this offense we try
to help it out of its mess, but if it happens again, we abort it and
return 0 as the saturation pressure.)
2017-03-09 17:45:10 +01:00
Andreas Lauser
777f8f0bc8 LiveOilPvt, WetGasPvt: do not copy table columns if this is not necessary 2017-03-09 17:45:10 +01:00
Andreas Lauser
0ab39c5f7a synchronize the evaluation code of Spline and Tabulated1DFunction
in particular out-of-range conditions are now no longer done using
assertations but always trigger an Opm::NumericalProblem to be thrown.
2017-03-09 17:45:10 +01:00
Andreas Lauser
d23801b098 Merge pull request #210 from andlaus/fix_isfinite_isnan
isfinite() and isnan() are supposed to return booleans
2017-03-06 19:14:39 +01:00
Andreas Lauser
005cf203d7 isfinite() and isnan() are supposed to return booleans
... not Evaluations. This was probably a copy-and-pasto.
2017-03-06 17:05:23 +01:00
Andreas Lauser
38cee86f6c Merge pull request #208 from andlaus/satregion_parameters
EclMaterialLawManager: add saturation region-specific material law parameters
2017-03-02 11:00:41 +01:00
Andreas Lauser
1f2d72aba1 EclMaterialLawManager: add saturation region-specific material law parameters
this is needed for the well model. Be aware that in the future this
will probably need to be changed to have one material parameter object
per connection instead of one per saturation region. This attitude
adjustment would be necessary to support endpoint scaling and
hysteresis in the well model, but so far it is unclear what the
reference simulator does.
2017-03-01 13:19:56 +01:00
Andreas Lauser
9d6a620680 Merge pull request #207 from andlaus/SCALECRS-from-EclipseState
Scalecrs from eclipse state
2017-02-24 17:33:22 +01:00
Andreas Lauser
dd587f10e3 Merge pull request #206 from andlaus/sort_by_default
make the "sortInputs" argument of the 1D function tabulation classes default to true
2017-02-24 16:54:33 +01:00
Andreas Lauser
b15f99de5e make this work with the latest master version of opm-parser 2017-02-24 16:51:28 +01:00
Jørgen Kvalsvik
956e7f5341 Read SCALECRS and ENDSCALE from EclipseState 2017-02-24 16:11:01 +01:00
Andreas Lauser
2bafb4f7ed make the "sortInputs" argument of the 1D function tabulation classes default to true
"1D function tabulation classes" means 'Opm::Spline' and
'Opm::Tabulated1DFunction'.

note that 'sortInputs' is a slight misnomer because these setter
methods still expect the arguments to be given in either ascending or
descending order of the 'x' values and if they are given in descending
order, the order internal copies of these arrays are reversed. a full
sort would be a bit more work because it requires to sort two
independent arrays synchronously.
2017-02-24 12:03:07 +01:00
Atgeirr Flø Rasmussen
2b566f5324 Merge pull request #205 from andlaus/no-splines-in-blackoil
do not use splines within the black-oil PVT objects
2017-02-24 08:58:59 +01:00
Andreas Lauser
b79baada99 do not use splines within the black-oil PVT objects
as far as I can see, the splines were only used to get a good initial
guess for the R(p) inversion code, so it should be safe to replace
them by piecewise linear functions.
2017-02-23 14:49:01 +01:00
Andreas Lauser
b168cae42b Merge pull request #204 from babrodtk/pdpb_output
Added bubble point and dew point functions
2017-02-17 09:13:43 +01:00
babrodtk
7aac046e04 Added bubble point and dew point functions 2017-02-17 08:49:40 +01:00
Andreas Lauser
a70059448f Merge pull request #201 from totto82/fixJFUNC
Adapt to unit changes in opm-parser for JFUNC
2017-02-09 09:54:44 +01:00