20 #ifndef GENERIC_SPECIES_CONFIG_HPP 21 #define GENERIC_SPECIES_CONFIG_HPP 23 #include <opm/input/eclipse/EclipseState/Tables/SpeciesVdTable.hpp> 35 enum class SpeciesType {
45 std::optional<std::vector<double>> concentration;
46 std::optional<SpeciesVdTable> svdp;
50 SpeciesEntry(
const std::string& name_, std::vector<double> concentration_)
52 , concentration(concentration_)
65 return this->name == data.name &&
66 this->concentration == data.concentration &&
67 this->svdp == data.svdp;
70 template<
class Serializer>
74 serializer(concentration);
83 auto size()
const {
return this->species.size(); };
84 auto empty()
const {
return this->species.empty(); };
85 auto begin()
const {
return this->species.begin(); };
86 auto end()
const {
return this->species.end(); };
88 const SpeciesEntry& operator[](
const std::string& name)
const;
89 const SpeciesEntry& operator[](std::size_t index)
const;
90 bool operator==(
const GenericSpeciesConfig& data)
const;
92 template<
class Serializer>
93 void serializeOp(Serializer& serializer)
99 void initializeSpeciesType(
const DeckItem& item,
const Deck& deck, SpeciesType s);
100 void initFromXBLK(
const DeckKeyword& sblk_keyword,
101 const std::string& species_name,
103 void initFromXVDP(
const DeckKeyword& svdp_keyword,
104 const std::string& species_name,
106 void initEmpty(
const std::string& species_name);
107 void checkSpeciesName(
const std::string& species_name, SpeciesType s);
110 std::vector<SpeciesEntry> species;
Definition: GenericSpeciesConfig.hpp:43
Definition: GenericSpeciesConfig.hpp:41
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: SpeciesVdTable.hpp:26
Class for (de-)serializing.
Definition: Serializer.hpp:94