44 enum class measure :
int {
57 liquid_surface_volume,
64 geometric_volume_rate,
73 gas_formation_volume_factor,
74 oil_formation_volume_factor,
75 water_formation_volume_factor,
76 gas_inverse_formation_volume_factor,
77 oil_inverse_formation_volume_factor,
78 water_inverse_formation_volume_factor,
79 liquid_productivity_index,
80 gas_productivity_index,
95 explicit UnitSystem(
int ecl_id);
96 explicit UnitSystem(UnitType
unit = UnitType::UNIT_TYPE_METRIC);
97 explicit UnitSystem(
const std::string& deck_name);
99 static UnitSystem serializationTestObject();
101 const std::string& getName()
const;
102 UnitType getType()
const;
105 void addDimension(
const std::string& dimension ,
const Dimension& dim);
106 void addDimension(
const std::string& dimension,
double SIfactor,
double SIoffset = 0.0);
107 const Dimension& getNewDimension(
const std::string& dimension);
108 const Dimension& getDimension(
const std::string& dimension)
const;
110 Dimension uda_dim(UDAControl control)
const;
112 bool hasDimension(
const std::string& dimension)
const;
113 bool equal(
const UnitSystem& other)
const;
115 bool operator==(
const UnitSystem& )
const;
116 bool operator!=(
const UnitSystem& )
const;
117 static bool rst_cmp(
const UnitSystem& full_arg,
const UnitSystem& rst_arg);
119 Dimension parse(
const std::string& dimension)
const;
121 double from_si(
const std::string& dimension,
double )
const;
122 double to_si(
const std::string& dimension,
double )
const;
123 double from_si( measure,
double )
const;
124 double to_si( measure,
double )
const;
125 void from_si( measure, std::vector<double>& )
const;
126 void to_si( measure, std::vector<double>& )
const;
127 const char* name( measure )
const;
128 std::string deck_name()
const;
129 std::size_t use_count()
const;
131 static bool valid_name(
const std::string& deck_name);
132 static UnitSystem newMETRIC();
133 static UnitSystem newFIELD();
134 static UnitSystem newLAB();
135 static UnitSystem newPVT_M();
136 static UnitSystem newINPUT();
138 template<
class Serializer>
142 serializer(m_unittype);
143 serializer(m_dimensions);
144 serializer(m_use_count);
150 Dimension parseFactor(
const std::string& )
const;
160 std::map< std::string , Dimension > m_dimensions;
161 const double* measure_table_to_si_offset;
162 const double* measure_table_from_si;
163 const double* measure_table_to_si;
164 const char*
const* unit_name_table;
179 mutable std::size_t m_use_count = 0;
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30