My Project
Loading...
Searching...
No Matches
Opm::ParallelFieldPropsManager Class Reference

Parallel frontend to the field properties. More...

#include <ParallelEclipseState.hpp>

Inheritance diagram for Opm::ParallelFieldPropsManager:

Public Member Functions

 ParallelFieldPropsManager (FieldPropsManager &manager)
 Constructor.
 
 ParallelFieldPropsManager (FieldPropsManager &manager, Parallel::Communication comm)
 Constructor.
 
std::vector< int > actnum () const override
 Returns actnum vector.
 
void reset_actnum (const std::vector< int > &actnum) override
 Reset the actnum vector.
 
std::vector< double > porv (bool global=false) const override
 Returns the pore volume vector.
 
const std::vector< int > & get_int (const std::string &keyword) const override
 Returns an int property using compressed indices.
 
const std::vector< double > & get_double (const std::string &keyword) const override
 Returns a double property using compressed indices.
 
std::vector< int > get_global_int (const std::string &keyword) const override
 Returns an int property using global cartesian indices.
 
std::vector< double > get_global_double (const std::string &keyword) const override
 Returns a double property using global cartesian indices.
 
bool has_int (const std::string &keyword) const override
 Check if an integer property is available.
 
bool has_double (const std::string &keyword) const override
 Check if a double property is available.
 
std::vector< std::string > fip_regions () const override
 Returns a list of registered FIP regions.
 
template<class T >
void resetCartesianMapper (const T *mapper)
 Resets the underlying cartesian mapper \detail This has to be the cartesian mapper of the distributed grid.
 
bool tran_active (const std::string &keyword) const override
 
void apply_tran (const std::string &keyword, std::vector< double > &trans) const override
 
void copyTran (const FieldPropsManager &from)
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Protected Attributes

std::map< std::string, Fieldprops::FieldData< int > > m_intProps
 Map of integer properties in process-local compressed indices.
 
std::map< std::string, Fieldprops::FieldData< double > > m_doubleProps
 Map of double properties in process-local compressed indices.
 
FieldPropsManager & m_manager
 Underlying field property manager (only used on root process).
 
Parallel::Communication m_comm
 Collective communication handler.
 
std::function< int(void)> m_activeSize
 active size function of the grid
 
std::function< int(const int)> m_local2Global
 mapping from local to global cartesian indices
 
std::unordered_map< std::string, Fieldprops::TranCalculator > m_tran
 calculators map
 

Friends

class ParallelEclipseState
 Friend so props can be setup.
 
template<class Grid >
class PropsDataHandle
 Friend to set up props.
 

Detailed Description

Parallel frontend to the field properties.

This is a parallel frontend to the mpi-unaware FieldPropsManager in opm-common. It contains process-local field properties on each process using compressed indexing.

Constructor & Destructor Documentation

◆ ParallelFieldPropsManager() [1/2]

Opm::ParallelFieldPropsManager::ParallelFieldPropsManager ( FieldPropsManager &  manager)

Constructor.

Parameters
managerThe field property manager to wrap.

◆ ParallelFieldPropsManager() [2/2]

Opm::ParallelFieldPropsManager::ParallelFieldPropsManager ( FieldPropsManager &  manager,
Parallel::Communication  comm 
)

Constructor.

Parameters
managerThe field property manager to wrap.

Member Function Documentation

◆ actnum()

std::vector< int > Opm::ParallelFieldPropsManager::actnum ( ) const
override

Returns actnum vector.

If called on non-root process an empty vector is returned

◆ get_double()

const std::vector< double > & Opm::ParallelFieldPropsManager::get_double ( const std::string &  keyword) const
override

Returns a double property using compressed indices.

Parameters
keywordName of property

◆ get_global_double()

std::vector< double > Opm::ParallelFieldPropsManager::get_global_double ( const std::string &  keyword) const
override

Returns a double property using global cartesian indices.

Parameters
keywordName of property

The vector is broadcast from root process

◆ get_global_int()

std::vector< int > Opm::ParallelFieldPropsManager::get_global_int ( const std::string &  keyword) const
override

Returns an int property using global cartesian indices.

Parameters
keywordName of property

The vector is broadcast from root process

◆ get_int()

const std::vector< int > & Opm::ParallelFieldPropsManager::get_int ( const std::string &  keyword) const
override

Returns an int property using compressed indices.

Parameters
keywordName of property

◆ has_double()

bool Opm::ParallelFieldPropsManager::has_double ( const std::string &  keyword) const
override

Check if a double property is available.

Parameters
keywordName of property

◆ has_int()

bool Opm::ParallelFieldPropsManager::has_int ( const std::string &  keyword) const
override

Check if an integer property is available.

Parameters
keywordName of property

◆ reset_actnum()

void Opm::ParallelFieldPropsManager::reset_actnum ( const std::vector< int > &  actnum)
override

Reset the actnum vector.

Can only be called on root process

◆ resetCartesianMapper()

template<class T >
void Opm::ParallelFieldPropsManager::resetCartesianMapper ( const T *  mapper)
inline

Resets the underlying cartesian mapper \detail This has to be the cartesian mapper of the distributed grid.

It will be used to autocreate properties not explicitly stored.

Template Parameters
TThe type of the cartesian mapper
Parameters
mapperThe cartesian mapper of the distributed grid

The documentation for this class was generated from the following files: