Commit Graph

40 Commits

Author SHA1 Message Date
Joakim Hove
ac79a7a1b1 Add UnitSystem::getDimension( measure ) method 2020-03-05 13:08:00 +01:00
Joakim Hove
874c734628 Remove name property from UnitSystem dimension 2020-03-05 13:08:00 +01:00
Joakim Hove
35a580f610 Add UnitSystem functionality to handle eclipse integer id
Writing of INTEHEAD keyword uses UnitSystem class instead of intermediate enum
UnitSystem.
2020-02-05 07:38:00 +01:00
Arne Morten Kvarving
6ea8dd8104 make UnitSystem constructible from variables
also make it default constructible and add accessors
2020-01-02 08:27:31 +01:00
Bård Skaflestad
3f2b143b30 Unit System: Add New ICD-Related Units
This commit introduces a couple of new units of measure for
ICD-related quantities, especially AICD and SICD strength
parameters.  Add base unit "GeomVolume" ([Length]**3) and 'measure'
entities

    geometric_volume      (= GeomVolume)
    geometric_volume_rate (= GeomVolume / Time)
    icd_strength          (= Pressure / (GeomVolume / Time)**2)

Add conversion factor unit tests for these, and also complete the
set of unit tests for FIELD, LAB, and PVT_M to cover measures that
were not already there.

Also add a parser Dimension ("GeometricVolume") to play the role of
[Length]**3 in .json files.
2019-12-06 14:32:07 +01:00
Joakim Hove
697545cf54 Use dimensions from ParserKeyword 2019-10-16 21:03:02 +02:00
Bård Skaflestad
c51842d65b Make UnitSystem Independent of LibECL
This commit decouples the UnitSystem class from the LibECL type
ert_ecl_unit_enum.  This, in turn, makes UnitSystem independent of
LibECL.

Update the unit test accordingly, and include <ert/util/util.h>
where needed.  This header was included transitively through
UnitSystem.hpp before.
2019-09-30 23:49:57 +02:00
Joakim Hove
bef36f6c0d Add missing energy to unit system measure table 2019-08-15 07:10:44 +02:00
Joakim Hove
2ff8816bb7 UnitSystem refactor
- Add new constructor based on deck names 'FIELD', 'METRIC', 'PVT-M' and 'LAB'.
 - Refactor UnitSystem construction.
2019-07-21 13:12:01 +02:00
Tor Harald Sandve
2d5d0953ee Add support for output of well productivity index 2018-11-02 15:57:21 +01:00
Joakim Hove
5283611695 Add static method for conversion between unit system enums 2018-10-16 00:12:53 +02:00
Bård Skaflestad
687f108285 Unit System: Recognize Units for Effective Kh Product
While here, also add check for all (current) unit conversion
constants for METRIC, FIELD, and LAB unit conventions and extend the
existing PVT-M checks to cover effective Kh too.
2018-07-11 22:07:38 +02:00
Lars Petter Øren Hauge
fc3bc714fc Support WCI(R/T) 2018-06-29 09:45:14 +02:00
Joakim Hove
2d8457e3a9 Added pseoudo unit system for untransformed input values. 2018-03-15 10:43:53 +01:00
Andreas Lauser
ce93d98b80 respect the fact that non-SI temperature may be offset from zero
also, the UnitTests test was buggy.

V2: improve the accuracy of the °F->K offset, unit test all temperature measures
2018-02-02 17:13:50 +01:00
Joakim Hove
494dda28a8 Revert "respect the fact that non-SI temperature may be offset from zero" 2018-02-01 15:08:12 +01:00
Andreas Lauser
d6f4cb016e respect the fact that non-SI temperature may be offset from zero
also, the UnitTests test was buggy.
2018-01-31 13:17:06 +01:00
Bård Skaflestad
e821f5534b UnitSystem: Add Support for PVT-M Unit Conventions
The PVT-M unit convention is essentially the same as the Metric
collection, except that pressure values are measured in atmospheres
rather than bars.
2017-10-05 17:39:45 +02:00
Joakim Hove
f1308fa352 Instantiate unit system from Eclipse type id. 2017-01-12 13:36:42 +01:00
Joakim Hove
ef6def6511 Added getEclType() to UnitSystem 2017-01-12 13:36:38 +01:00
Atgeirr Flø Rasmussen
d34711d600 Make constructor explicit, fix operator<<. 2016-10-25 11:39:43 +02:00
Jørgen Kvalsvik
f2e509f59f UnitSystem named constructors with automatic storage 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
56608e9a10 3DProperties default constructible
This also means UnitSystem must be default constructible, which now
makes the default unit system metric. GridProperties must also be
default constructible (a valid 0x0x0 grid with no properties).
2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
c893a92aa6 Make Dimension+UnitSystem no longer use shared_ptr 2016-10-19 20:38:27 +02:00
Joakim Hove
0d4bfdea2d Added vector overload of unit onversion methods. 2016-10-06 11:47:49 +02:00
babrodtk
4d9bd066a3 Added inverse formation volume factors 2016-09-06 14:17:46 +02:00
babrodtk
6097ebb1eb Added units required for formation volume factors 2016-09-05 16:05:47 +02:00
Bård Skaflestad
7d67ddc099 UnitSystem: Add skeleton implementation of LAB conventions
This commit adds conversion factors for the ECL LAB unit
conventions--notably Atmospheres for pressures, Hours for time,
Grams for mass, and cubic centimetres for volumes.
2016-09-01 12:21:53 +02:00
Jørgen Kvalsvik
f6cffb4c07 Support for ratio-type units 2016-07-19 14:34:51 +02:00
Jørgen Kvalsvik
c4e8149717 UnitSystem string-description of a unit
Analoguous to to/from_si but for string-representation of the unit in
question.
2016-07-19 14:34:21 +02:00
Jørgen Kvalsvik
d6940647bd UnitSystem::measure::identity
Adds the "identity" unit which is a no-op under to_si/from_si
conversion.
2016-06-28 17:15:24 +02:00
Jørgen Kvalsvik
1c7e7e08c6 Move to_si/from_si into UnitSystem
UnitSystem already offered similar functionality, but via string-map
lookup and a very clunky interface. Offer simple to/from methods as an
addition.
2016-05-23 15:11:33 +02:00
Jørgen Kvalsvik
4b98943665 Replaces unecessary header includes with fwd decls
Every header is self-contained and includes only what it must to
function, relying on users include what they need in source files,
adopting a pay-what-you-use model (in particular for internal
dependencies).
2016-01-26 13:23:22 +01:00
Atgeirr Flø Rasmussen
d33a05db70 Remove surplus const for return-by-value.
This triggers compiler warnings at high warning levels.
2015-03-06 08:52:39 +01:00
chflo
439d0ee924 OPM-157: Added enum UnitType, using this when creating an UnitSystem instance 2015-03-05 12:40:59 +01:00
Andreas Lauser
ea38a25af4 remove all trailing white space
this is just the result of

```
find -iname "*.[ch]pp" | xargs sed -i "s/ *$//"
find opm/parser/share/keywords -type f |  xargs sed -i "s/ *$//"
```

so if it causes conflicts with other patches, the others should get
priority. The rationale behind this patch is that some people tell
their editor to remove white space which leads to larger than
necessary patches...
2014-12-08 16:34:28 +01:00
Andreas Lauser
b1de0bf338 unit system: add temperature
this requires the possibility of specifying an offset for the SI
conversion because Eclipse in its eternal wisdom chooses to specify
temperatures using degrees Celsius and degrees Fahrenheit instead of
using Kelvin an Rankine...
2014-12-03 16:56:25 +01:00
Joakim Hove
c4fbd24be6 Added getNewDimension for get-or-create semantics. 2013-12-14 10:29:59 +01:00
Joakim Hove
ff13036a58 Changed unit system to use more std::shared_ptr instead of instance variables. 2013-12-09 17:42:20 +01:00
Joakim Hove
5bc27e91f2 Added basic system for units - not yet hooked into the Parser items. 2013-12-08 19:26:30 +01:00