Opm::detail::Extractor< TypeTag > Struct Template Reference

Wrapping struct holding types used for element-level data extraction. More...

#include <OutputExtractor.hpp>

Classes

struct  Context
 Context passed to extractor functions. More...
 
struct  Entry
 Descriptor for extractors. More...
 
struct  HysteresisParams
 Struct holding hysteresis parameters. More...
 
struct  PhaseEntry
 A phase buffer extractor descriptor. More...
 
struct  ScalarEntry
 A scalar extractor descriptor. More...
 

Public Types

using IntensiveQuantities = GetPropType< TypeTag, Properties::IntensiveQuantities >
 
using Scalar = GetPropType< TypeTag, Properties::Scalar >
 
using FluidState = typename IntensiveQuantities::FluidState
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 
using AssignFunc = std::function< void(const Context &)>
 Callback for extractors handling their own assignements. More...
 
using ScalarFunc = std::function< Scalar(const Context &)>
 
using PhaseFunc = std::function< Scalar(const unsigned, const Context &)>
 
using ScalarBuffer = std::vector< Scalar >
 A scalar buffer. More...
 
using PhaseArray = std::array< ScalarBuffer, numPhases >
 An array of buffers, one for each phase. More...
 

Static Public Member Functions

template<std::size_t size>
static std::vector< EntryremoveInactive (std::array< Entry, size > &input)
 Obtain vector of active extractors from an array of extractors. More...
 
static void process (const Context &ectx, const std::vector< Entry > &extractors)
 Process the given extractor entries. More...
 

Static Public Attributes

static constexpr int numPhases = FluidSystem::numPhases
 

Detailed Description

template<class TypeTag>
struct Opm::detail::Extractor< TypeTag >

Wrapping struct holding types used for element-level data extraction.

Member Typedef Documentation

◆ AssignFunc

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::AssignFunc = std::function<void(const Context&)>

Callback for extractors handling their own assignements.

◆ FluidState

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::FluidState = typename IntensiveQuantities::FluidState

◆ FluidSystem

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>

◆ IntensiveQuantities

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::IntensiveQuantities = GetPropType<TypeTag, Properties::IntensiveQuantities>

◆ PhaseArray

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::PhaseArray = std::array<ScalarBuffer,numPhases>

An array of buffers, one for each phase.

◆ PhaseFunc

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::PhaseFunc = std::function<Scalar(const unsigned , const Context&)>

Callback for extractors assigned to a phase buffer Returns value to store in buffer for requested phase

◆ Scalar

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::Scalar = GetPropType<TypeTag, Properties::Scalar>

◆ ScalarBuffer

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::ScalarBuffer = std::vector<Scalar>

A scalar buffer.

◆ ScalarFunc

template<class TypeTag >
using Opm::detail::Extractor< TypeTag >::ScalarFunc = std::function<Scalar(const Context&)>

Callback for extractors assigned to a scalar buffer Return value to store in buffer

Member Function Documentation

◆ process()

template<class TypeTag >
static void Opm::detail::Extractor< TypeTag >::process ( const Context ectx,
const std::vector< Entry > &  extractors 
)
inlinestatic

Process the given extractor entries.

Parameters
ectxContext for extractors
extractorsList of extractors to process

Referenced by Opm::OutputBlackOilModule< TypeTag >::processElement(), and Opm::OutputCompositionalModule< TypeTag >::processElement().

◆ removeInactive()

template<class TypeTag >
template<std::size_t size>
static std::vector< Entry > Opm::detail::Extractor< TypeTag >::removeInactive ( std::array< Entry, size > &  input)
inlinestatic

Obtain vector of active extractors from an array of extractors.

Referenced by Opm::OutputCompositionalModule< TypeTag >::setupExtractors().

Member Data Documentation

◆ numPhases

template<class TypeTag >
constexpr int Opm::detail::Extractor< TypeTag >::numPhases = FluidSystem::numPhases
staticconstexpr

The documentation for this struct was generated from the following file: