Commit Graph

1617 Commits

Author SHA1 Message Date
Tor Harald Sandve
3247aaa557 Fix reference pressure for oil-water problem
In opm-material the wetting phase is the reference phase for two-phase
problems i.e water for oil-water system, but for flow it is always oil.
Add oil capillary pressure value to shift the reference phase to oil
2016-06-20 10:36:24 +02:00
Tor Harald Sandve
5641876d1d Fix two phase EQUIL initialization 2016-06-20 10:36:24 +02:00
Atgeirr Flø Rasmussen
010480a7de Merge pull request #1039 from atgeirr/fix-compile-maxabs-unsigned
Avoid ambiguous calls to abs with unsigned integers.
2016-06-17 08:02:20 +02:00
Atgeirr Flø Rasmussen
d76cfbed5f Merge pull request #1038 from qilicun/equil-check
Rise up a warning if equil region has no active cells.
2016-06-16 10:02:49 +02:00
Jørgen Kvalsvik
03104f2320 WellPtr and GroupPtr deprecated
shared_ptr aliases are considered deprecated and has largely been
removed upstream (and replaced by raw pointers).
2016-06-16 09:33:43 +02:00
Atgeirr Flø Rasmussen
f5d1cbfb75 Make specialization for all unsigned integer types. 2016-06-16 08:47:21 +02:00
Bård Skaflestad
e444a03f34 Merge pull request #1037 from atgeirr/add-phasepresence-ops
Add operator== and operator!= to PhasePresence.
2016-06-15 19:56:11 +02:00
Bård Skaflestad
c5c5893591 Merge pull request #1040 from atgeirr/fix-linsolverfactory-default-solver
Set default solver depending on configuration.
2016-06-15 17:34:41 +02:00
Atgeirr Flø Rasmussen
7c45264a77 Merge pull request #1034 from qilicun/minor-format-change
Minor format changes
2016-06-15 15:10:57 +02:00
Atgeirr Flø Rasmussen
c6c452765c Merge pull request #1029 from blattms/make-ownermask-accessible
Make ParallelIstlInformation::ownerMask_ accessible.
2016-06-15 15:08:58 +02:00
Atgeirr Flø Rasmussen
854296d710 Address review comments. 2016-06-15 15:01:45 +02:00
Atgeirr Flø Rasmussen
22c2093426 Set default solver depending on configuration. 2016-06-15 14:32:00 +02:00
Atgeirr Flø Rasmussen
06ebdc9268 Avoid ambiguous calls to abs with unsigned integers. 2016-06-15 10:55:42 +02:00
Liu Ming
1231594600 it should be the same number in EQLNUM. 2016-06-15 16:53:51 +08:00
Liu Ming
a9c2128daa use correct region number. 2016-06-15 16:52:32 +08:00
Liu Ming
a920b43e21 Rise up a warning if equil region has no active cells. 2016-06-15 15:40:38 +08:00
Atgeirr Flø Rasmussen
d065a2c095 Make new ops const. 2016-06-15 09:20:19 +02:00
Atgeirr Flø Rasmussen
b0c6e43cf8 Add operator== and operator!= to PhasePresence.
This makes it simpler to write code debugging or inspecting changed phase configurations.
2016-06-15 08:57:20 +02:00
Liu Ming
3179a1bf5d fix indentation issue. 2016-06-15 11:26:06 +08:00
Liu Ming
f0900e6752 unify output. 2016-06-15 11:24:20 +08:00
Arne Morten Kvarving
33b29e9991 Revert "Check for HAVE_UMFPACK in LinearSolverFactory"
This reverts commit f54c74db0637640f5fb224fab243b294cd034f15.
2016-06-13 10:43:21 +02:00
Liu Ming
dd26ef620c add "\n" at the end of the message. 2016-06-13 13:55:01 +08:00
Liu Ming
5fe0452bd5 minor format changes 2016-06-13 13:49:58 +08:00
Jørgen Kvalsvik
84b0c8bc59 Check for HAVE_UMFPACK in LinearSolverFactory
Check for the right preprocessor define to enable umfpack support.
Matches the directive set in config.h
2016-06-10 17:00:34 +02:00
Joakim Hove
52752ea1e4 Merge pull request #1016 from jokva/refactor-output-restart
Breaking opm-core dependency in opm-output; new summary implementation
2016-06-10 13:15:34 +02:00
Markus Blatt
7762974354 Make ParallelIstlInformation::ownerMask_ accessible.
This is needed in opm-simulator to calculate the parallel euclidian
product of the saturations.
2016-06-08 11:02:13 +02:00
Atgeirr Flø Rasmussen
ec3d7e7702 Merge pull request #1028 from qilicun/format-message
Format message
2016-06-08 10:57:31 +02:00
Liu Ming
35f2559b6c Output file name and line number. 2016-06-08 09:45:32 +02:00
Liu Ming
73ed34043e add a blank line. 2016-06-08 09:45:04 +02:00
Markus Blatt
008c5b7c8f Added utilities to compute a real L-infinity norm in parallel. 2016-06-07 15:00:57 +02:00
Atgeirr Flø Rasmussen
2d746e8c54 Merge pull request #1024 from andlaus/lad_to_dad
rename some variables from "Lad" to "Eval" (was: to "Dad")
2016-06-07 11:43:42 +02:00
Andreas Lauser
8a6243962d rename some variables from "*Lad" to "*Eval"
this was an involuntary omission in the "local AD" to "dense AD"
rename...
2016-06-07 11:14:11 +02:00
Tor Harald Sandve
2a3680f105 Fix to handle cases without DISGAS and VAPOIL
- adds boolean has_disgas and has_vapoil to initHydroCarbonState()
2016-06-07 08:18:09 +02:00
Jørgen Kvalsvik
254bb2e1e6 Make struct wells unique member of WellState 2016-06-06 12:42:54 +02:00
Jørgen Kvalsvik
ec28c46842 WellState::report() to make opm-output Well data 2016-06-06 12:40:44 +02:00
Andreas Lauser
807261b084 rename "local AD" to "dense AD" 2016-06-03 21:57:48 +02:00
Atgeirr Flø Rasmussen
2faff12696 Merge pull request #1019 from qilicun/log-more-messages
Write more messages into OpmLog.
2016-05-26 11:20:49 +02:00
Liu Ming
7d0833f2d2 make toString() method as static. 2016-05-24 09:07:28 +08:00
Liu Ming
ca030efeb9 simplify the implementation. 2016-05-23 10:48:51 +08:00
Liu Ming
407c7223f6 fix indentation and messages. 2016-05-23 10:47:26 +08:00
Liu Ming
1cb66d2b4f write well related information into OpmLog. 2016-05-20 16:14:16 +08:00
Liu Ming
8c573d4ef1 Add enum to string functions. 2016-05-20 16:13:37 +08:00
Liu Ming
9979c505b3 log the warning messages to OpmLog. 2016-05-20 14:27:38 +08:00
Liu Ming
d2143970fc Cleanup the prefix. 2016-05-20 08:54:12 +08:00
Atgeirr Flø Rasmussen
d1d77649ec Merge pull request #1011 from qilicun/format-output-relperm-diagnostics
Unify output messages format.
2016-05-19 15:06:52 +02:00
Liu Ming
3e3c028581 remove the prefix from raw string, using OpmLog format. 2016-05-19 10:07:36 +08:00
Liu Ming
8564c7b6e9 remove internal counter. 2016-05-19 09:47:57 +08:00
Liu Ming
78a5afde46 remove internal messages container. 2016-05-19 09:28:34 +08:00
Liu Ming
60256d5976 use tag for terminal output control. 2016-05-19 09:22:03 +08:00
Tor Harald Sandve
79fd23700e Fixing PR comments
- Use std::vector<HydroCarbonState> instead of std::vector<int>
- Use the initializer list to initialize members in constructors
- Fix indent
- Return OilOnly for cases without gas to avoid potential trouble
further down the line
2016-05-13 12:49:45 +02:00
Tor Harald Sandve
2a40563c7b Add method for calculating the initial hydroCarbonState
The following hydroCarbonState are used
    enum HydroCarbonState {
        GasOnly = 0,
        GasAndOil = 1,
        OilOnly = 2
    };
Cells almost filled with water are treated as a GasAndOil state
2016-05-13 09:10:13 +02:00
Tor Harald Sandve
592450777e Add member hydroCarbonState to the BlackoilState
The hydroCarbonState is used to store the hydroCarbonState
  State 1: Gas only
  State 2: Gas and Oil
  State 3: Oil only
An empty vector is return at initialization as
no default values are provided by the blackoilstate.
2016-05-12 10:32:39 +02:00
Liu Ming
363b9a3795 unify the format. 2016-05-10 14:52:13 +08:00
Markus Blatt
9f99484347 Prevent dereferencing the end iterator.
This happened for empty regions and surfaced when compiling
with "-D_GLIBCXX_DEBUG  -DDEBUG -DGLIBCXX_FORCE_NEW".
2016-05-06 21:40:33 +02:00
babrodtk
cae4d39a86 Code cleanup 2016-04-26 07:48:58 +02:00
babrodtk
eabb2e1f64 Runs first iterations of two-phase test case plausibly 2016-04-26 07:48:58 +02:00
babrodtk
dcf9c6a067 Checkpoint 2016-04-26 07:48:58 +02:00
Pål Grønås Drange
75936c1d9c Using getInputGrid API from Parser, changed GridManager to no longer accept Deck in constructor 2016-04-20 08:51:10 +02:00
Andreas Lauser
90ff56503d adapt code w.r.t. the removal of the tags for Opm::Evaluation 2016-04-15 18:48:47 +02:00
Tor Harald Sandve
17aed6c181 BUGFIX. Comparison with null pointer 2016-04-15 12:56:04 +02:00
Atgeirr Flø Rasmussen
486633fded Merge pull request #997 from totto82/Fix_guiderates
Bugfix in setup guiderates
2016-04-15 08:46:17 +02:00
jokva
8b71d81a14 Merge pull request #994 from pgdr/use-eclipse3dproperties
@bska We're merging as-is for now, and we've made a note to replace `shared_ptr` and maintain (and document!) this property. Those changes will obviously be internal and you won't notice a difference.
2016-04-13 11:01:43 +02:00
Tor Harald Sandve
ddb7ebe114 Bugfix in setup guiderates
- Handle shut wells
- Use the groups control type to determine which phase to calculate
the guide rates from. i.e for a ORAT controlled group, calculate the
guide rates from the oil phase well potentials etc.
2016-04-12 13:05:56 +02:00
Pål Grønås Drange
f1a31ca5e4 Using API get3DProperties() 2016-04-11 15:13:38 +02:00
Pål Grønås Drange
8ce248bc63 Updated opm-core to use new EclipseState API in opm-parser 2016-04-08 16:30:01 +02:00
Atgeirr Flø Rasmussen
9558e155c6 Merge pull request #987 from qilicun/refactor-relpermDiagnostics
Refactor relperm diagnostics using OpmLog functionalities.
2016-04-04 15:04:44 +02:00
Tor Harald Sandve
092d7c44ff Minor fixes based on PR comments
- fix comments, typos add missing reference arguments.
2016-04-04 08:10:24 +02:00
Liu Ming
c5925c4dd9 mistake: count warning as error. 2016-04-02 11:53:36 +08:00
Liu Ming
c2bcc9cea8 do not write error summary twice. 2016-04-02 11:45:18 +08:00
Tor Harald Sandve
9c4015dae9 Calculate default guide rates using the well potentials
The default guide rates are caculated using the well potentials.
The well potentials are calculated in the simulator and given as input
to the wellsManager.
2016-04-01 15:00:21 +02:00
Liu Ming
939085155e refactor relperm diagnostics using OpmLog functions. 2016-04-01 12:27:03 +08:00
Tor Harald Sandve
0f6a821903 BUGFIX. Call setupGuideRates before groupcontrol is applied 2016-03-31 09:32:09 +02:00
Atgeirr Flø Rasmussen
734fbfc38d Implement direct fast field access. 2016-03-29 10:46:14 +02:00
Joakim Hove
a256dc0e5d Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
chflo
301653de83 Changed include due to OpmLog changed path 2016-03-17 15:59:50 +01:00
Liu Ming
395ff9a221 use two slashes for comments inside functions. 2016-03-11 17:19:39 +08:00
Liu Ming
26b4265427 use error variable. 2016-03-11 17:15:32 +08:00
Liu Ming
40c98b91e7 fix saturation family bug. 2016-03-11 17:13:40 +08:00
Liu Ming
7cecb10edf fix indentation and fluid system issues. 2016-03-11 17:03:31 +08:00
Liu Ming
8cea813d57 Merge remote branch 'remotes/opm/master' into solvent-diagnostics 2016-03-10 14:38:22 +08:00
Liu Ming
df67ef2e75 Add solvent saturation functions support. 2016-03-10 14:32:43 +08:00
Liu Ming
04946d7526 Add solvent to fluid system. 2016-03-10 11:17:18 +08:00
Andreas Lauser
ccc1ca0b76 BlackoilPropertiesFromDeck: properly calculate the Rs and Rv values for viscosity
the dissolution factors used for the viscosities were always zero so
far. this was not discovered earlier because flow is completely
unaffected by this since the only place where this class is used in
flow is the equilibration code and the equilibration code does not
need phase viscosities.

thanks to @atgeirr for finding this.
2016-03-08 11:07:20 +01:00
Andreas Lauser
a9f758a8e7 replace the blackoil PVT classes by the ones of opm-material
the opm-material classes are the ones which are now used by
opm-autodiff and this patch makes it much easier to keep the opm-core
and opm-autodiff results consistent. Also, the opm-material classes
seem to be a bit faster than the opm-core ones (see
https://github.com/OPM/opm-autodiff/pull/576)

I ran the usual array of tests with `flow`: SPE1, SPE3, SPE9 and Norne
all produce the same results at the identical runtime (modulo noise)
and also "Model 2" seems to work.
2016-03-05 19:11:44 +01:00
Joakim Hove
e3106175e7 Merge pull request #966 from jokva/initconfig-equil
Remove Equil + EquilWrapper, replace with upstream
2016-03-04 18:18:57 +01:00
Atgeirr Flø Rasmussen
d6c0e771ca Only .cpp files should include config.h. 2016-03-04 09:10:19 +01:00
Atgeirr Flø Rasmussen
6b2f1d1507 Include template implementation file. 2016-03-04 09:09:52 +01:00
Liu Ming
355f349470 make grid as template parameter. 2016-03-04 09:09:38 +08:00
Jørgen Kvalsvik
dd77a39d95 Remove Equil + EquilWrapper, replace with upstream
Upstream (opm-parser) now provides a better Equil + EquilRecord, and
simultaneously deprecated EquilWrapper. This patch fixes the resulting
breakage.

One important note: The new Equil does not expose integers for live
oil/wet gas initialization procedure methods, but rather booleans
through constRs/constRv methods. This is how the variable behaves
according to the Eclipse reference manual (EQUIL keyword section).

Code has been updated to reflect this.
2016-03-01 09:59:54 +01:00
Jørgen Kvalsvik
33f8446a4e Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2016-02-26 11:49:40 +01:00
Joakim Hove
016f300c9f Replaced TwoPhaseState -> SimulatorState 2016-02-22 22:03:43 +01:00
Joakim Hove
4bab7b7f4c Added free function initSaturation().
The state argument is of type SimulatorState& - and no longer a template
parameter.
2016-02-22 22:03:41 +01:00
Joakim Hove
84485dde53 Changes in SimulatorState:
1. Added method setCellDataComponent()
 2. Removed setFirstSat()

Implemented saturation initialisation using setCellDataComponent()
instead of setFirstSat(). This way the template<class Props> has been
removed from the SimulatorState class.
2016-02-22 08:42:04 +01:00
Andreas Lauser
68be58faa9 fix some recent deprecation warnings
these are caused by OPM/opm-parser#687. While they are harmless, they
are certainly annoying. (that's their point!)
2016-02-21 17:29:43 +01:00
Atgeirr Flø Rasmussen
b9d44c1f4b Merge pull request #957 from joakim-hove/cmp-template
Using template for cmp::vector_equal()
2016-02-19 11:41:07 +01:00
Joakim Hove
c40ed3ece6 Using template for cmp::vector_equal() 2016-02-19 07:57:02 +01:00
Jørgen Kvalsvik
04d605159f Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-18 08:50:26 +01:00
Joakim Hove
6f3c4fb618 Merge pull request #956 from jokva/remove-unused-wrapper
Remove unused Wrapper includes from Deck/Utility
2016-02-17 17:10:43 +01:00
Jørgen Kvalsvik
9836712782 Remove unused Wrapper includes from Deck/Utility 2016-02-17 14:46:15 +01:00
Joakim Hove
83a32061f7 Removed opm_memcmp_double() - use cmp from common. 2016-02-14 21:41:51 +01:00
Bård Skaflestad
83f474f118 Merge pull request #946 from jokva/clean-up-header
Improve includes from opm-parser
2016-01-26 15:58:25 +01:00
Jørgen Kvalsvik
b0692304d5 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-01-26 13:30:58 +01:00
Liu Ming
cd55b1f4b5 Omit some usages of to_string function. 2016-01-25 11:18:56 +08:00
Liu Ming
e227b6bb96 change headline to saturation functions diagnostics. 2016-01-25 11:00:23 +08:00
Liu Ming
6aca45b576 Format output and add SATNUM for scaled saturation endpoints. 2016-01-25 10:58:50 +08:00
Liu Ming
aae9169cff fix bugs: counter warning as error. 2016-01-25 09:38:55 +08:00
Liu Ming
675f730b01 Merge remote branch 'remotes/opm/master' into update_relperm_diagnostics
Conflicts:
	opm/core/props/satfunc/RelpermDiagnostics.cpp
2016-01-22 13:04:01 +08:00
Jørgen Kvalsvik
50c1bbdc85 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2016-01-21 09:42:51 +01:00
Liu Ming
6efd22c637 fix typo. 2016-01-21 16:10:31 +08:00
Liu Ming
8b4dda67ed remove comments. 2016-01-21 14:04:01 +08:00
Liu Ming
ee71a59ece make const as more as possible 2016-01-21 14:01:02 +08:00
Liu Ming
a7238d0a7d saturation region should start with 1. 2016-01-21 13:47:57 +08:00
Liu Ming
4daa70292e fix formatting and grammar issues. 2016-01-21 13:45:32 +08:00
Liu Ming
a7aa2cf2c3 Add region number for output and output summary msg to streamLog 2016-01-18 11:10:51 +08:00
Liu Ming
598f456a29 change error to warning due to eclipse manual. 2016-01-18 11:10:36 +08:00
Liu Ming
30ace9cdcc Add region number for unscaled endpoints. 2016-01-18 11:10:26 +08:00
Liu Ming
708da37250 1. use scaled_messages_ to store scaled endpoints infor.
2. format the terminal output messages.
2016-01-18 11:10:14 +08:00
Liu Ming
6753c84547 Add counter for numbering warning, error, proble, and bugs. 2016-01-18 11:10:04 +08:00
Liu Ming
2f19d0bba6 For that break clipse rules should raise an error. 2016-01-18 11:09:50 +08:00
Liu Ming
5c271db842 add cell index for scaled endpoints error messages output. 2016-01-18 11:09:02 +08:00
Joakim Hove
4a95eb2917 Merge pull request #939 from joakim-hove/table-column
Table column
2016-01-08 15:29:10 +01:00
Joakim Hove
718ec8e791 Changed to use new table api from opm-parser. 2016-01-08 14:47:09 +01:00
chflo
c02966f6bc OPM-163: Use EclipseState instead of Deck for PvtInterface 2016-01-07 16:36:28 +01:00
Atgeirr Flø Rasmussen
462b4ca996 Merge pull request #934 from totto82/residualSaturations
Add method to access the materialLawManager
2015-12-11 13:08:39 +01:00
Tor Harald Sandve
1deadd257f Add method to access the materialLawManager 2015-12-11 12:50:54 +01:00
Liu Ming
4d4051ea2b make the constructor as explicit. 2015-12-09 16:51:07 +08:00
Liu Ming
db103c7868 Merge remote branch 'remotes/opm/master' into relpermDiagnostics
Conflicts:
	CMakeLists_files.cmake
2015-12-08 16:08:02 +08:00
Liu Ming
35dff82700 Use OpmLog to output messages.
return messages and opmLog.
2015-12-02 10:58:06 +08:00
Liu Ming
96b012d9b1 remove unused functions and comments, add documentations to diagnosis(). 2015-11-30 10:52:34 +08:00
Liu Ming
a96f9b0d3b 1. remove eclState from phaseCheck_ function.
2. rename messager_ to messages_.
3. change 0 and 1 to 0.0 and 1.0
4. change unsigned to int.
2015-11-30 10:42:57 +08:00
Liu Ming
324b562d3d reorder function and make more whitespace. 2015-11-30 10:26:59 +08:00
Liu Ming
45807a392d make enum as private members. 2015-11-30 10:20:43 +08:00
Liu Ming
b4b23bfab0 1. Move implemtation to .cpp file.
2. Delete constructors.
3. Add config.h
2015-11-30 10:11:43 +08:00
Liu Ming
b30d04f5fa Fix bugs and remove reptetitive messagers. 2015-11-27 10:47:04 +08:00
Liu Ming
f61ecdd777 Add NEXUS scaled endpoints consistency check. 2015-11-26 16:32:17 +08:00
Liu Ming
a19c0d49b7 Check scaled endpoints mobility. 2015-11-26 15:40:40 +08:00
Liu Ming
7fa569bc91 add endpoints scaling consistency check. 2015-11-26 15:22:51 +08:00
Tor Harald Sandve
f24dcf1957 Use cell depths based on averaging cell corners 2015-11-24 10:17:12 +01:00
Liu Ming
693ac24483 make use of fluidSystem. 2015-11-20 11:04:50 +08:00
Liu Ming
255e0d4a24 unify the output messages. 2015-11-20 10:57:13 +08:00
Liu Ming
382df80573 clear up unused functions. Make some functions ad private member. 2015-11-19 16:24:09 +08:00
Liu Ming
5baa83bde4 fix typo and output message. 2015-11-19 13:51:03 +08:00
Liu Ming
ead2f3437a clear message output. 2015-11-19 13:31:02 +08:00
Liu Ming
a4b6c7b9cc solve git cherry-pick conflict. 2015-11-19 11:05:43 +08:00
Liu Ming
24152f9a65 Use messager container to store error message.
Conflicts:

	opm/core/props/satfunc/RelpermDiagnostics.hpp
2015-11-19 11:00:21 +08:00
Liu Ming
d9a2fa6f42 initial RelpermDiagnostics. 2015-11-19 09:21:00 +08:00
Atgeirr Flø Rasmussen
80c16e7ea9 Merge pull request #907 from andlaus/thpress_from_initial
implement determining the threshold pressure from the initial condition
2015-11-17 09:03:02 +01:00
Atgeirr Flø Rasmussen
5f9d361c03 Merge pull request #922 from blattms/return_mask_for_updateOwnerMask
Return a constant reference to the mask for ParallelISTLInformation::updateOwnerMask
2015-11-13 15:20:35 +01:00
Atgeirr Flø Rasmussen
c0cd038e97 Merge pull request #920 from totto82/interpolation_points
Change the number of integration points in the initialization
2015-11-09 16:52:30 +01:00
Andreas Lauser
e3c066cd02 implement determining the threshold pressure from the initial condition
This needs to be done if a equilibration region transition is
mentioned by the THPRES keyword, but no value is given for this record
in the third item. (it seems that this is used quite frequently.)

Also, the approach taken by this patch also does not collide with the
restart machinery as far as I can see. This is because the initial
condition is applied by the simulator before the state at the restart
time is loaded. (I interpreted the code that way, but I could be
wrong, could anyone verify this?)

since it is pretty elaborate to calculate initial condition, this
patch is pretty messy. I also do not know if Eclipse does include
capillary pressure in this calculation or not (this patch does). Huge
kudos go to [at]totto82 for reviewing, testing and debugging this.
2015-11-05 12:29:19 +01:00