28 #include <opm/parser/eclipse/Units/Dimension.hpp>
29 #include <opm/parser/eclipse/EclipseState/Schedule/UDQ/UDQEnums.hpp>
44 enum class measure : int {
55 liquid_surface_volume,
62 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,
88 explicit UnitSystem(UnitType unit = UnitType::UNIT_TYPE_METRIC);
89 explicit UnitSystem(
const std::string& deck_name);
93 const std::string& getName()
const;
94 UnitType getType()
const;
97 void addDimension(
const std::string& dimension ,
const Dimension& dim);
98 void addDimension(
const std::string& dimension,
double SIfactor,
double SIoffset = 0.0);
99 const Dimension& getNewDimension(
const std::string& dimension);
100 const Dimension& getDimension(
const std::string& dimension)
const;
102 Dimension uda_dim(UDAControl control)
const;
104 bool hasDimension(
const std::string& dimension)
const;
111 Dimension parse(
const std::string& dimension)
const;
113 double from_si( measure,
double )
const;
114 double to_si( measure,
double )
const;
115 void from_si( measure, std::vector<double>& )
const;
116 void to_si( measure, std::vector<double>& )
const;
117 const char* name( measure )
const;
118 std::string deck_name()
const;
119 std::size_t use_count()
const;
121 static bool valid_name(
const std::string& deck_name);
128 template<
class Serializer>
132 serializer(m_unittype);
133 serializer.map(m_dimensions);
134 serializer(m_use_count);
135 if (!serializer.isSerializing())
140 Dimension parseFactor(
const std::string& )
const;
150 std::map< std::string , Dimension > m_dimensions;
151 const double* measure_table_to_si_offset;
152 const double* measure_table_from_si;
153 const double* measure_table_to_si;
154 const char*
const* unit_name_table;
169 mutable std::size_t m_use_count = 0;
Definition: Dimension.hpp:27
Definition: Serializer.hpp:38
Definition: UnitSystem.hpp:34
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29