28#include <opm/input/eclipse/Units/Dimension.hpp>
29#include <opm/input/eclipse/Schedule/UDQ/UDQEnums.hpp>
43 enum class measure :
int {
54 liquid_surface_volume,
61 geometric_volume_rate,
70 gas_formation_volume_factor,
71 oil_formation_volume_factor,
72 water_formation_volume_factor,
73 gas_inverse_formation_volume_factor,
74 oil_inverse_formation_volume_factor,
75 water_inverse_formation_volume_factor,
76 liquid_productivity_index,
77 gas_productivity_index,
90 explicit UnitSystem(UnitType unit = UnitType::UNIT_TYPE_METRIC);
91 explicit UnitSystem(
const std::string& deck_name);
95 const std::string& getName()
const;
96 UnitType getType()
const;
99 void addDimension(
const std::string& dimension ,
const Dimension& dim);
100 void addDimension(
const std::string& dimension,
double SIfactor,
double SIoffset = 0.0);
101 const Dimension& getNewDimension(
const std::string& dimension);
102 const Dimension& getDimension(
const std::string& dimension)
const;
104 Dimension uda_dim(UDAControl control)
const;
106 bool hasDimension(
const std::string& dimension)
const;
113 Dimension parse(
const std::string& dimension)
const;
115 double from_si(
const std::string& dimension,
double );
116 double to_si(
const std::string& dimension,
double );
117 double from_si( measure,
double )
const;
118 double to_si( measure,
double )
const;
119 void from_si( measure, std::vector<double>& )
const;
120 void to_si( measure, std::vector<double>& )
const;
121 const char* name( measure )
const;
122 std::string deck_name()
const;
123 std::size_t use_count()
const;
125 static bool valid_name(
const std::string& deck_name);
132 template<
class Serializer>
136 serializer(m_unittype);
137 serializer(m_dimensions);
138 serializer(m_use_count);
144 Dimension parseFactor(
const std::string& )
const;
154 std::map< std::string , Dimension > m_dimensions;
155 const double* measure_table_to_si_offset;
156 const double* measure_table_from_si;
157 const double* measure_table_to_si;
158 const char*
const* unit_name_table;
173 mutable std::size_t m_use_count = 0;
Definition: Dimension.hpp:27
Class for (de-)serializing.
Definition: Serializer.hpp:84
bool isSerializing() const
Returns true if we are currently doing a serialization operation.
Definition: Serializer.hpp:183
Definition: UnitSystem.hpp:33
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30