23 #include <opm/input/eclipse/Units/Dimension.hpp> 25 #include <opm/input/eclipse/Schedule/UDQ/UDQEnums.hpp> 44 enum class measure : int {
57 liquid_surface_volume,
64 geometric_volume_rate,
74 gas_formation_volume_factor,
75 oil_formation_volume_factor,
76 water_formation_volume_factor,
77 gas_inverse_formation_volume_factor,
78 oil_inverse_formation_volume_factor,
79 water_inverse_formation_volume_factor,
80 liquid_productivity_index,
81 gas_productivity_index,
98 explicit UnitSystem(UnitType unit = UnitType::UNIT_TYPE_METRIC);
99 explicit UnitSystem(
const std::string& deck_name);
103 const std::string& getName()
const;
104 UnitType getType()
const;
107 void addDimension(
const std::string& dimension ,
const Dimension& dim);
108 void addDimension(
const std::string& dimension,
double SIfactor,
double SIoffset = 0.0);
109 const Dimension& getNewDimension(
const std::string& dimension);
110 const Dimension& getDimension(
const std::string& dimension)
const;
112 Dimension uda_dim(UDAControl control)
const;
114 bool hasDimension(
const std::string& dimension)
const;
121 Dimension parse(
const std::string& dimension)
const;
123 double from_si(
const std::string& dimension,
double )
const;
124 double to_si(
const std::string& dimension,
double )
const;
125 double from_si( measure,
double )
const;
126 double to_si( measure,
double )
const;
127 void from_si( measure, std::vector<double>& )
const;
128 void to_si( measure, std::vector<double>& )
const;
129 const char* name( measure )
const;
130 std::string deck_name()
const;
131 std::size_t use_count()
const;
133 static bool valid_name(
const std::string& deck_name);
140 template<
class Serializer>
144 serializer(m_unittype);
145 serializer(m_dimensions);
146 serializer(m_use_count);
152 Dimension parseFactor(
const std::string& )
const;
162 std::map< std::string , Dimension > m_dimensions;
163 const double* measure_table_to_si_offset;
164 const double* measure_table_from_si;
165 const double* measure_table_to_si;
166 const char*
const* unit_name_table;
181 mutable std::size_t m_use_count = 0;
186 #endif // UNITSYSTEM_H This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: UnitSystem.hpp:34
bool isSerializing() const
Returns true if we are currently doing a serialization operation.
Definition: Serializer.hpp:208
Class for (de-)serializing.
Definition: Serializer.hpp:95
Definition: Dimension.hpp:27