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>
60 std::vector<int>
actnum()
const override;
67 std::vector<double>
porv(
bool global =
false)
const override;
71 const std::vector<int>&
get_int(
const std::string& keyword)
const override;
75 const std::vector<double>&
get_double(
const std::string& keyword)
const override;
80 std::vector<int>
get_global_int(
const std::string& keyword)
const override;
89 bool has_int(
const std::string& keyword)
const override;
93 bool has_double(
const std::string& keyword)
const override;
96 std::vector<std::string>
fip_regions()
const override;
112 m_activeSize = [mapper]() {
return mapper->compressedSize( 0); };
113 m_local2Global = [mapper](
int localIdx) {
return mapper->cartesianIndex(localIdx, 0); };
116 bool tran_active(
const std::string& keyword)
const override;
118 void apply_tran(
const std::string& keyword, std::vector<double>& trans)
const override;
120 void copyTran(
const FieldPropsManager& from)
125 template<
class Serializer>
126 void serializeOp(Serializer& serializer)
132 std::map<std::string, Fieldprops::FieldData<int>>
m_intProps;
138 std::unordered_map<std::string, Fieldprops::TranCalculator>
m_tran;
183 const FieldPropsManager&
fieldProps()
const override;
207 m_fieldProps.resetCartesianMapper(mapper);
210 bool m_parProps =
false;
212 Parallel::Communication m_comm;
void switchToGlobalProps()
Switch to global field properties.
Definition ParallelEclipseState.cpp:310
const EclipseGrid & getInputGrid() const override
Returns a const ref to the eclipse grid.
Definition ParallelEclipseState.cpp:302
const FieldPropsManager & fieldProps() const override
Returns a const ref to current field properties.
Definition ParallelEclipseState.cpp:268
ParallelEclipseState(Parallel::Communication comm)
Default constructor.
Definition ParallelEclipseState.cpp:248
void computeFipRegionStatistics() override
Compute basic descriptive statistics about all FIP region sets.
Definition ParallelEclipseState.cpp:288
friend class PropsDataHandle
Friend to set up props.
Definition ParallelEclipseState.hpp:156
void switchToDistributedProps()
Switch to distributed field properies.
Definition ParallelEclipseState.cpp:316
const FieldPropsManager & globalFieldProps() const override
Returns a const ref to global field properties.
Definition ParallelEclipseState.cpp:280
void resetCartesianMapper(const T *mapper)
Resets the underlying cartesian mapper \detail This has to be the cartesian mapper of the distributed...
Definition ParallelEclipseState.hpp:205
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:104
friend class ParallelEclipseState
Friend so props can be setup.
Definition ParallelEclipseState.hpp:44
std::unordered_map< std::string, Fieldprops::TranCalculator > m_tran
calculators map
Definition ParallelEclipseState.hpp:138
std::map< std::string, Fieldprops::FieldData< int > > m_intProps
Map of integer properties in process-local compressed indices.
Definition ParallelEclipseState.hpp:132
bool has_double(const std::string &keyword) const override
Check if a double property is available.
Definition ParallelEclipseState.cpp:228
std::vector< std::string > fip_regions() const override
Returns a list of registered FIP regions.
Definition ParallelEclipseState.cpp:234
std::vector< int > actnum() const override
Returns actnum vector.
Definition ParallelEclipseState.cpp:60
std::vector< double > porv(bool global=false) const override
Returns the pore volume vector.
Definition ParallelEclipseState.cpp:77
std::vector< double > get_global_double(const std::string &keyword) const override
Returns a double property using global cartesian indices.
Definition ParallelEclipseState.cpp:179
friend class PropsDataHandle
Friend to set up props.
Definition ParallelEclipseState.hpp:47
ParallelFieldPropsManager(FieldPropsManager &manager)
Constructor.
Definition ParallelEclipseState.cpp:46
bool has_int(const std::string &keyword) const override
Check if an integer property is available.
Definition ParallelEclipseState.cpp:222
std::function< int(const int)> m_local2Global
mapping from local to global cartesian indices
Definition ParallelEclipseState.hpp:137
std::vector< int > get_global_int(const std::string &keyword) const override
Returns an int property using global cartesian indices.
Definition ParallelEclipseState.cpp:121
const std::vector< double > & get_double(const std::string &keyword) const override
Returns a double property using compressed indices.
Definition ParallelEclipseState.cpp:157
void reset_actnum(const std::vector< int > &actnum) override
Reset the actnum vector.
Definition ParallelEclipseState.cpp:69
FieldPropsManager & m_manager
Underlying field property manager (only used on root process).
Definition ParallelEclipseState.hpp:134
std::map< std::string, Fieldprops::FieldData< double > > m_doubleProps
Map of double properties in process-local compressed indices.
Definition ParallelEclipseState.hpp:133
Parallel::Communication m_comm
Collective communication handler.
Definition ParallelEclipseState.hpp:135
const std::vector< int > & get_int(const std::string &keyword) const override
Returns an int property using compressed indices.
Definition ParallelEclipseState.cpp:99
std::function< int(void)> m_activeSize
active size function of the grid
Definition ParallelEclipseState.hpp:136
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:43