Merge pull request #1568 from akva2/serialize_internal_eclstate_part1

Internal serialization in EclipseState - part 1
This commit is contained in:
Arne Morten Kvarving 2020-03-16 11:42:51 +01:00 committed by GitHub
commit 037620d83f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 97 additions and 12 deletions

View File

@ -122,10 +122,10 @@ namespace Opm {
serializer(m_runspec); serializer(m_runspec);
serializer(m_eclipseConfig); serializer(m_eclipseConfig);
serializer(m_deckUnitSystem); serializer(m_deckUnitSystem);
serializer(m_inputNnc); m_inputNnc.serializeOp(serializer);
serializer(m_inputEditNnc); m_inputEditNnc.serializeOp(serializer);
serializer(m_gridDims); m_gridDims.serializeOp(serializer);
serializer(m_simulationConfig); m_simulationConfig.serializeOp(serializer);
serializer(m_transMult); serializer(m_transMult);
serializer(m_faults); serializer(m_faults);
serializer(m_title); serializer(m_title);

View File

@ -46,6 +46,12 @@ public:
bool operator==(const EDITNNC& data) const; bool operator==(const EDITNNC& data) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer.vector(m_editnnc);
}
private: private:
std::vector<NNCdata> m_editnnc; std::vector<NNCdata> m_editnnc;
}; };

View File

@ -59,6 +59,14 @@ namespace Opm {
bool operator==(const GridDims& data) const; bool operator==(const GridDims& data) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(m_nx);
serializer(m_ny);
serializer(m_nz);
}
protected: protected:
size_t m_nx; size_t m_nx;
size_t m_ny; size_t m_ny;

View File

@ -40,6 +40,14 @@ struct NNCdata {
trans == data.trans; trans == data.trans;
} }
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(cell1);
serializer(cell2);
serializer(trans);
}
size_t cell1; size_t cell1;
size_t cell2; size_t cell2;
double trans; double trans;
@ -64,6 +72,12 @@ public:
bool operator==(const NNC& data) const; bool operator==(const NNC& data) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer.vector(m_nnc);
}
private: private:
std::vector<NNCdata> m_nnc; std::vector<NNCdata> m_nnc;

View File

@ -69,6 +69,21 @@ public:
BCComponent comp_arg, BCComponent comp_arg,
double rate_arg); double rate_arg);
bool operator==(const BCFace& other) const; bool operator==(const BCFace& other) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(i1);
serializer(i2);
serializer(j1);
serializer(j2);
serializer(k1);
serializer(k2);
serializer(bctype);
serializer(dir);
serializer(component);
serializer(rate);
}
}; };
@ -80,6 +95,13 @@ public:
std::vector<BCFace>::const_iterator begin() const; std::vector<BCFace>::const_iterator begin() const;
std::vector<BCFace>::const_iterator end() const; std::vector<BCFace>::const_iterator end() const;
bool operator==(const BCConfig& other) const; bool operator==(const BCConfig& other) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer.vector(m_faces);
}
private: private:
std::vector<BCFace> m_faces; std::vector<BCFace> m_faces;
}; };

View File

@ -49,6 +49,13 @@ struct RockComp {
RockComp() = default; RockComp() = default;
RockComp(double pref_arg, double comp_arg); RockComp(double pref_arg, double comp_arg);
bool operator==(const RockComp& other) const; bool operator==(const RockComp& other) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(pref);
serializer(compressibility);
}
}; };
@ -64,6 +71,18 @@ struct RockComp {
bool water_compaction() const; bool water_compaction() const;
bool operator==(const RockConfig& other) const; bool operator==(const RockConfig& other) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(m_active);
serializer.vector(m_comp);
serializer(num_property);
serializer(num_tables);
serializer(m_water_compaction);
serializer(hyst_mode);
}
private: private:
bool m_active = false; bool m_active = false;
std::vector<RockComp> m_comp; std::vector<RockComp> m_comp;

View File

@ -53,6 +53,18 @@ namespace Opm {
bool operator==(const SimulationConfig& data) const; bool operator==(const SimulationConfig& data) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
m_ThresholdPressure.serializeOp(serializer);
m_bcconfig.serializeOp(serializer);
m_rock_config.serializeOp(serializer);
serializer(m_useCPR);
serializer(m_DISGAS);
serializer(m_VAPOIL);
serializer(m_isThermal);
}
private: private:
ThresholdPressure m_ThresholdPressure; ThresholdPressure m_ThresholdPressure;
BCConfig m_bcconfig; BCConfig m_bcconfig;

View File

@ -74,13 +74,17 @@ namespace Opm {
bool active() const; bool active() const;
bool restart() const; bool restart() const;
const ThresholdPressureTable& thresholdPressureTable() const
{ return m_thresholdPressureTable; }
const PressureTable& pressureTable() const
{ return m_pressureTable; }
bool operator==(const ThresholdPressure& data) const; bool operator==(const ThresholdPressure& data) const;
template<class Serializer>
void serializeOp(Serializer& serializer)
{
serializer(m_active);
serializer(m_restart);
serializer(m_thresholdPressureTable);
serializer(m_pressureTable);
}
private: private:
bool m_active; bool m_active;
bool m_restart; bool m_restart;

View File

@ -218,8 +218,8 @@ namespace Opm {
bool ThresholdPressure::operator==(const ThresholdPressure& data) const { bool ThresholdPressure::operator==(const ThresholdPressure& data) const {
return this->active() == data.active() && return this->active() == data.active() &&
this->restart() == data.restart() && this->restart() == data.restart() &&
this->thresholdPressureTable() == data.thresholdPressureTable() && this->m_thresholdPressureTable == data.m_thresholdPressureTable &&
this->pressureTable() == data.pressureTable(); this->m_pressureTable == data.m_pressureTable;
} }