19 #ifndef PARALLEL_ECLIPSE_STATE_HPP
20 #define PARALLEL_ECLIPSE_STATE_HPP
22 #include <dune/common/version.hh>
23 #include <opm/input/eclipse/EclipseState/EclipseState.hpp>
24 #include <opm/input/eclipse/EclipseState/Grid/TranCalculator.hpp>
25 #include <dune/common/parallel/mpihelper.hh>
27 #include <opm/simulators/utils/ParallelCommunication.hpp>
59 std::vector<int>
actnum()
const override;
66 std::vector<double>
porv(
bool global =
false)
const override;
70 const std::vector<int>&
get_int(
const std::string& keyword)
const override;
74 const std::vector<double>&
get_double(
const std::string& keyword)
const override;
79 std::vector<int>
get_global_int(
const std::string& keyword)
const override;
88 bool has_int(
const std::string& keyword)
const override;
92 bool has_double(
const std::string& keyword)
const override;
104 std::placeholders::_1);
107 bool tran_active(
const std::string& keyword)
const override;
109 void apply_tran(
const std::string& keyword, std::vector<double>& trans)
const override;
111 void copyTran(
const FieldPropsManager& from)
116 template<
class Serializer>
117 void serializeOp(Serializer& serializer)
123 std::map<std::string, Fieldprops::FieldData<int>>
m_intProps;
129 std::unordered_map<std::string, Fieldprops::TranCalculator>
m_tran;
173 const FieldPropsManager&
fieldProps()
const override;
194 bool m_parProps =
false;
196 Parallel::Communication m_comm;
Parallel frontend to the EclipseState.
Definition: ParallelEclipseState.hpp:144
void switchToGlobalProps()
Switch to global field properties.
Definition: ParallelEclipseState.cpp:261
const EclipseGrid & getInputGrid() const override
Returns a const ref to the eclipse grid.
Definition: ParallelEclipseState.cpp:253
const FieldPropsManager & fieldProps() const override
Returns a const ref to current field properties.
Definition: ParallelEclipseState.cpp:233
ParallelEclipseState(Parallel::Communication comm)
Default constructor.
Definition: ParallelEclipseState.cpp:213
friend class PropsCentroidsDataHandle
Friend to set up props.
Definition: ParallelEclipseState.hpp:147
void switchToDistributedProps()
Switch to distributed field properies.
Definition: ParallelEclipseState.cpp:267
const FieldPropsManager & globalFieldProps() const override
Returns a const ref to global field properties.
Definition: ParallelEclipseState.cpp:245
void resetCartesianMapper(const T *mapper)
Resets the underlying cartesian mapper \detail This has to be the cartesian mapper of the distributed...
Definition: ParallelEclipseState.hpp:189
Parallel frontend to the field properties.
Definition: ParallelEclipseState.hpp:42
void resetCartesianMapper(const T *mapper)
Resets the underlying cartesian mapper \detail This has to be the cartesian mapper of the distributed...
Definition: ParallelEclipseState.hpp:100
std::unordered_map< std::string, Fieldprops::TranCalculator > m_tran
calculators map
Definition: ParallelEclipseState.hpp:129
std::map< std::string, Fieldprops::FieldData< int > > m_intProps
Map of integer properties in process-local compressed indices.
Definition: ParallelEclipseState.hpp:123
bool has_double(const std::string &keyword) const override
Check if a double property is available.
Definition: ParallelEclipseState.cpp:206
std::vector< int > actnum() const override
Returns actnum vector.
Definition: ParallelEclipseState.cpp:42
std::vector< double > porv(bool global=false) const override
Returns the pore volume vector.
Definition: ParallelEclipseState.cpp:59
std::vector< double > get_global_double(const std::string &keyword) const override
Returns a double property using global cartesian indices.
Definition: ParallelEclipseState.cpp:157
friend class PropsCentroidsDataHandle
Friend to set up props.
Definition: ParallelEclipseState.hpp:47
ParallelFieldPropsManager(FieldPropsManager &manager)
Constructor.
Definition: ParallelEclipseState.cpp:28
bool has_int(const std::string &keyword) const override
Check if an integer property is available.
Definition: ParallelEclipseState.cpp:200
std::function< int(const int)> m_local2Global
mapping from local to global cartesian indices
Definition: ParallelEclipseState.hpp:128
std::vector< int > get_global_int(const std::string &keyword) const override
Returns an int property using global cartesian indices.
Definition: ParallelEclipseState.cpp:103
const std::vector< double > & get_double(const std::string &keyword) const override
Returns a double property using compressed indices.
Definition: ParallelEclipseState.cpp:135
void reset_actnum(const std::vector< int > &actnum) override
Reset the actnum vector.
Definition: ParallelEclipseState.cpp:51
FieldPropsManager & m_manager
Underlying field property manager (only used on root process).
Definition: ParallelEclipseState.hpp:125
std::map< std::string, Fieldprops::FieldData< double > > m_doubleProps
Map of double properties in process-local compressed indices.
Definition: ParallelEclipseState.hpp:124
Parallel::Communication m_comm
Collective communication handler.
Definition: ParallelEclipseState.hpp:126
const std::vector< int > & get_int(const std::string &keyword) const override
Returns an int property using compressed indices.
Definition: ParallelEclipseState.cpp:81
std::function< int(void)> m_activeSize
active size function of the grid
Definition: ParallelEclipseState.hpp:127
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:27