A class which handles tracers as specified in by ECL. More...

#include <TracerModel.hpp>

Inheritance diagram for Opm::TracerModel< TypeTag >:
Inheritance graph

Classes

struct  TracerBatch
 

Public Types

using CartesianIndexMapper = Dune::CartesianIndexMapper< GetPropType< TypeTag, Properties::Grid > >
 

Public Member Functions

 TracerModel (Simulator &simulator)
 
void init (bool rst)
 
void prepareTracerBatches ()
 
void beginTimeStep ()
 
void endTimeStep ()
 Informs the tracer model that a time step has just been finished. More...
 
template<class Restarter >
void serialize (Restarter &)
 This method writes the complete state of all tracer to the hard disk. More...
 
template<class Restarter >
void deserialize (Restarter &)
 This method restores the complete state of the tracer from disk. More...
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
int numTracers () const
 Return the number of tracers considered by the tracerModel. More...
 
const std::string & name (int tracerIdx) const
 Return the tracer name. More...
 
std::string fname (int tracerIdx) const
 
std::string sname (int tracerIdx) const
 
std::string wellfname (int tracerIdx) const
 
std::string wellsname (int tracerIdx) const
 
Phase phase (int tracerIdx) const
 
const std::vector< bool > & enableSolTracers () const
 
GetPropType< TypeTag, Properties::ScalarfreeTracerConcentration (int tracerIdx, int globalDofIdx) const
 Return the tracer concentration for tracer index and global DofIdx. More...
 
GetPropType< TypeTag, Properties::ScalarsolTracerConcentration (int tracerIdx, int globalDofIdx) const
 
void setFreeTracerConcentration (int tracerIdx, int globalDofIdx, GetPropType< TypeTag, Properties::Scalar > value)
 
void setSolTracerConcentration (int tracerIdx, int globalDofIdx, GetPropType< TypeTag, Properties::Scalar > value)
 
void setEnableSolTracers (int tracerIdx, bool enableSolTracer)
 
const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & getWellTracerRates () const
 Return well tracer rates. More...
 
const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & getWellFreeTracerRates () const
 
const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & getWellSolTracerRates () const
 
const std::unordered_map< int, std::vector< MSWellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & getMswTracerRates () const
 

Static Public Attributes

static constexpr int dimWorld
 

Protected Types

using TracerTypeIdx = typename BaseType::TracerTypeIdx
 

Protected Member Functions

template<TracerTypeIdx Index>
Scalar computeVolume_ (const int tracerPhaseIdx, const unsigned globalDofIdx, const unsigned timeIdx) const
 
template<TracerTypeIdx Index>
std::pair< TracerEvaluation, bool > computeFlux_ (const int tracerPhaseIdx, const ElementContext &elemCtx, const unsigned scvfIdx, const unsigned timeIdx) const
 
template<TracerTypeIdx Index, class TrRe >
Scalar storage1_ (const TrRe &tr, const unsigned tIdx, const unsigned I, const unsigned I1, const bool cache)
 
template<class TrRe >
void assembleTracerEquationVolume (TrRe &tr, const ElementContext &elemCtx, const Scalar scvVolume, const Scalar dt, unsigned I, unsigned I1)
 
template<class TrRe >
void assembleTracerEquationFlux (TrRe &tr, const ElementContext &elemCtx, unsigned scvfIdx, unsigned I, unsigned J, const Scalar dt)
 
template<class TrRe , class Well >
void assembleTracerEquationWell (TrRe &tr, const Well &well)
 
template<class TrRe >
void assembleTracerEquationSource (TrRe &tr, const Scalar dt, unsigned I)
 
void assembleTracerEquations_ ()
 
template<TracerTypeIdx Index, class TrRe >
void updateElem (TrRe &tr, const Scalar scvVolume, const unsigned globalDofIdx)
 
void updateStorageCache ()
 
template<TracerTypeIdx Index, class TrRe >
void copyForOutput (TrRe &tr, const std::vector< TracerVector > &dx, const Scalar S, const unsigned tIdx, const unsigned globalDofIdx, std::vector< TracerVectorSingle > &sc)
 
template<TracerTypeIdx Index, class TrRe >
void assignRates (const TrRe &tr, const Well &eclWell, const std::size_t i, const std::size_t I, const Scalar rate, std::vector< WellTracerRate< Scalar > > &tracerRate, std::vector< MSWellTracerRate< Scalar > > *mswTracerRate, std::vector< WellTracerRate< Scalar > > &splitRate)
 
void advanceTracerFields ()
 
void doInit (bool rst, std::size_t numGridDof, std::size_t gasPhaseIdx, std::size_t oilPhaseIdx, std::size_t waterPhaseIdx)
 Initialize all internal data structures needed by the tracer module. More...
 
bool linearSolve_ (const TracerMatrix &M, TracerVector &x, TracerVector &b)
 
bool linearSolveBatchwise_ (const TracerMatrix &M, std::vector< TracerVector > &x, std::vector< TracerVector > &b)
 
GetPropType< TypeTag, Properties::ScalarcurrentConcentration_ (const Well &eclWell, const std::string &name) const
 

Protected Attributes

Simulator & simulator_
 
std::array< TracerBatch< TracerVector >, numPhases > tbatch
 
TracerBatch< TracerVector > & wat_
 
TracerBatch< TracerVector > & oil_
 
TracerBatch< TracerVector > & gas_
 
std::array< std::array< std::vector< Scalar >, numPhases >, 2 > vol1_
 
std::array< std::array< std::vector< Scalar >, numPhases >, 2 > dVol_
 
ElementChunks< GridView, Dune::Partitions::All > element_chunks_
 
const GetPropType< TypeTag, Properties::GridView > & gridView_
 
const EclipseState & eclState_
 
const CartesianIndexMappercartMapper_
 
const GetPropType< TypeTag, Properties::DofMapper > & dofMapper_
 
std::vector< int > tracerPhaseIdx_
 
std::vector< bool > enableSolTracers_
 
std::vector< TracerVector > tracerConcentration_
 
std::unique_ptr< TracerMatrix > tracerMatrix_
 
std::vector< TracerVectorSingle > freeTracerConcentration_
 
std::vector< TracerVectorSingle > solTracerConcentration_
 
std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > wellTracerRate_
 
std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > wellFreeTracerRate_
 
std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > wellSolTracerRate_
 
std::unordered_map< int, std::vector< MSWellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > mSwTracerRate_
 
std::function< std::array< double, dimWorld >(int)> centroids_
 Function returning the cell centers. More...
 

Detailed Description

template<class TypeTag>
class Opm::TracerModel< TypeTag >

A class which handles tracers as specified in by ECL.

Member Typedef Documentation

◆ CartesianIndexMapper

◆ TracerTypeIdx

template<class TypeTag >
using Opm::TracerModel< TypeTag >::TracerTypeIdx = typename BaseType::TracerTypeIdx
protected

Constructor & Destructor Documentation

◆ TracerModel()

template<class TypeTag >
Opm::TracerModel< TypeTag >::TracerModel ( Simulator &  simulator)
inlineexplicit

Member Function Documentation

◆ advanceTracerFields()

template<class TypeTag >
void Opm::TracerModel< TypeTag >::advanceTracerFields ( )
inlineprotected

References Opm::TracerModel< TypeTag >::assembleTracerEquations_(), Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::freeTracerConcentration_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::linearSolveBatchwise_(), Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::mSwTracerRate_, Opm::TracerModel< TypeTag >::simulator_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::solTracerConcentration_, Opm::TracerModel< TypeTag >::tbatch, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellFreeTracerRate_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellSolTracerRate_, and Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellTracerRate_.

Referenced by Opm::TracerModel< TypeTag >::endTimeStep().

◆ assembleTracerEquationFlux()

◆ assembleTracerEquations_()

template<class TypeTag >
void Opm::TracerModel< TypeTag >::assembleTracerEquations_ ( )
inlineprotected

References Opm::TracerModel< TypeTag >::assembleTracerEquationFlux(), Opm::TracerModel< TypeTag >::assembleTracerEquationSource(), Opm::TracerModel< TypeTag >::assembleTracerEquationVolume(), Opm::TracerModel< TypeTag >::assembleTracerEquationWell(), Opm::TracerModel< TypeTag >::element_chunks_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::mSwTracerRate_, OPM_BEGIN_PARALLEL_TRY_CATCH, OPM_END_PARALLEL_TRY_CATCH_LOG, Opm::TracerModel< TypeTag >::simulator_, Opm::TracerModel< TypeTag >::tbatch, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellFreeTracerRate_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellSolTracerRate_, and Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellTracerRate_.

Referenced by Opm::TracerModel< TypeTag >::advanceTracerFields().

◆ assembleTracerEquationSource()

◆ assembleTracerEquationVolume()

◆ assembleTracerEquationWell()

template<class TypeTag >
template<class TrRe , class Well >
void Opm::TracerModel< TypeTag >::assembleTracerEquationWell ( TrRe &  tr,
const Well &  well 
)
inlineprotected

References Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::currentConcentration_(), Opm::TracerModel< TypeTag >::dVol_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::Free, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::mSwTracerRate_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::name(), Opm::TracerModel< TypeTag >::simulator_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::Solution, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellfname(), Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellFreeTracerRate_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellsname(), Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellSolTracerRate_, and Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::wellTracerRate_.

Referenced by Opm::TracerModel< TypeTag >::assembleTracerEquations_().

◆ assignRates()

template<class TypeTag >
template<TracerTypeIdx Index, class TrRe >
void Opm::TracerModel< TypeTag >::assignRates ( const TrRe &  tr,
const Well &  eclWell,
const std::size_t  i,
const std::size_t  I,
const Scalar  rate,
std::vector< WellTracerRate< Scalar > > &  tracerRate,
std::vector< MSWellTracerRate< Scalar > > *  mswTracerRate,
std::vector< WellTracerRate< Scalar > > &  splitRate 
)
inlineprotected

◆ beginTimeStep()

◆ computeFlux_()

template<class TypeTag >
template<TracerTypeIdx Index>
std::pair< TracerEvaluation, bool > Opm::TracerModel< TypeTag >::computeFlux_ ( const int  tracerPhaseIdx,
const ElementContext &  elemCtx,
const unsigned  scvfIdx,
const unsigned  timeIdx 
) const
inlineprotected

◆ computeVolume_()

◆ copyForOutput()

template<class TypeTag >
template<TracerTypeIdx Index, class TrRe >
void Opm::TracerModel< TypeTag >::copyForOutput ( TrRe &  tr,
const std::vector< TracerVector > &  dx,
const Scalar  S,
const unsigned  tIdx,
const unsigned  globalDofIdx,
std::vector< TracerVectorSingle > &  sc 
)
inlineprotected

◆ currentConcentration_()

GetPropType< TypeTag, Properties::Scalar > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::currentConcentration_ ( const Well &  eclWell,
const std::string &  name 
) const
protectedinherited

◆ deserialize()

template<class TypeTag >
template<class Restarter >
void Opm::TracerModel< TypeTag >::deserialize ( Restarter &  )
inline

This method restores the complete state of the tracer from disk.

It is the inverse of the serialize() method.

◆ doInit()

void Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::doInit ( bool  rst,
std::size_t  numGridDof,
std::size_t  gasPhaseIdx,
std::size_t  oilPhaseIdx,
std::size_t  waterPhaseIdx 
)
protectedinherited

Initialize all internal data structures needed by the tracer module.

◆ enableSolTracers()

const std::vector< bool > & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::enableSolTracers
inherited

◆ endTimeStep()

◆ fname()

std::string Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::fname ( int  tracerIdx) const
inherited

◆ freeTracerConcentration()

GetPropType< TypeTag, Properties::Scalar > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::freeTracerConcentration ( int  tracerIdx,
int  globalDofIdx 
) const
inherited

Return the tracer concentration for tracer index and global DofIdx.

◆ getMswTracerRates()

const std::unordered_map< int, std::vector< MSWellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::getMswTracerRates ( ) const
inlineinherited

◆ getWellFreeTracerRates()

const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::getWellFreeTracerRates ( ) const
inlineinherited

◆ getWellSolTracerRates()

const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::getWellSolTracerRates ( ) const
inlineinherited

◆ getWellTracerRates()

const std::unordered_map< int, std::vector< WellTracerRate< GetPropType< TypeTag, Properties::Scalar > > > > & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::getWellTracerRates ( ) const
inlineinherited

Return well tracer rates.

◆ init()

◆ linearSolve_()

bool Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::linearSolve_ ( const TracerMatrix M,
TracerVector x,
TracerVector b 
)
protectedinherited

◆ linearSolveBatchwise_()

bool Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::linearSolveBatchwise_ ( const TracerMatrix M,
std::vector< TracerVector > &  x,
std::vector< TracerVector > &  b 
)
protectedinherited

◆ name()

const std::string & Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::name ( int  tracerIdx) const
inherited

Return the tracer name.

◆ numTracers()

Return the number of tracers considered by the tracerModel.

◆ phase()

Phase Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::phase ( int  tracerIdx) const
inherited

◆ prepareTracerBatches()

template<class TypeTag >
void Opm::TracerModel< TypeTag >::prepareTracerBatches ( )
inline

References Opm::TracerModel< TypeTag >::TracerBatch< TV >::addTracer(), Opm::TracerModel< TypeTag >::dVol_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::freeTracerConcentration_, Opm::TracerModel< TypeTag >::gas_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::name(), Opm::TracerModel< TypeTag >::oil_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::solTracerConcentration_, Opm::TracerModel< TypeTag >::tbatch, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::tracerConcentration_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::tracerMatrix_, Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >::tracerPhaseIdx_, Opm::TracerModel< TypeTag >::vol1_, and Opm::TracerModel< TypeTag >::wat_.

◆ serialize()

template<class TypeTag >
template<class Restarter >
void Opm::TracerModel< TypeTag >::serialize ( Restarter &  )
inline

This method writes the complete state of all tracer to the hard disk.

◆ serializeOp()

template<class TypeTag >
template<class Serializer >
void Opm::TracerModel< TypeTag >::serializeOp ( Serializer &  serializer)
inline

◆ setEnableSolTracers()

void Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::setEnableSolTracers ( int  tracerIdx,
bool  enableSolTracer 
)
inherited

◆ setFreeTracerConcentration()

void Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::setFreeTracerConcentration ( int  tracerIdx,
int  globalDofIdx,
GetPropType< TypeTag, Properties::Scalar value 
)
inherited

◆ setSolTracerConcentration()

void Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::setSolTracerConcentration ( int  tracerIdx,
int  globalDofIdx,
GetPropType< TypeTag, Properties::Scalar value 
)
inherited

◆ sname()

std::string Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::sname ( int  tracerIdx) const
inherited

◆ solTracerConcentration()

GetPropType< TypeTag, Properties::Scalar > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::solTracerConcentration ( int  tracerIdx,
int  globalDofIdx 
) const
inherited

◆ storage1_()

template<class TypeTag >
template<TracerTypeIdx Index, class TrRe >
Scalar Opm::TracerModel< TypeTag >::storage1_ ( const TrRe &  tr,
const unsigned  tIdx,
const unsigned  I,
const unsigned  I1,
const bool  cache 
)
inlineprotected

◆ updateElem()

template<class TypeTag >
template<TracerTypeIdx Index, class TrRe >
void Opm::TracerModel< TypeTag >::updateElem ( TrRe &  tr,
const Scalar  scvVolume,
const unsigned  globalDofIdx 
)
inlineprotected

◆ updateStorageCache()

template<class TypeTag >
void Opm::TracerModel< TypeTag >::updateStorageCache ( )
inlineprotected

◆ wellfname()

std::string Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::wellfname ( int  tracerIdx) const
inherited

◆ wellsname()

std::string Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::wellsname ( int  tracerIdx) const
inherited

Member Data Documentation

◆ cartMapper_

◆ centroids_

std::function<std::array<double,dimWorld>(int)> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::centroids_
protectedinherited

Function returning the cell centers.

◆ dimWorld

constexpr int Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::dimWorld
staticconstexprinherited

◆ dofMapper_

◆ dVol_

◆ eclState_

const EclipseState& Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::eclState_
protectedinherited

◆ element_chunks_

template<class TypeTag >
ElementChunks<GridView, Dune::Partitions::All> Opm::TracerModel< TypeTag >::element_chunks_
protected

◆ enableSolTracers_

std::vector<bool> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::enableSolTracers_
protectedinherited

◆ freeTracerConcentration_

std::vector<TracerVectorSingle> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::freeTracerConcentration_
protectedinherited

◆ gas_

template<class TypeTag >
TracerBatch<TracerVector>& Opm::TracerModel< TypeTag >::gas_
protected

◆ gridView_

◆ mSwTracerRate_

std::unordered_map<int, std::vector<MSWellTracerRate<GetPropType< TypeTag, Properties::Scalar > > > > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::mSwTracerRate_
protectedinherited

◆ oil_

template<class TypeTag >
TracerBatch<TracerVector>& Opm::TracerModel< TypeTag >::oil_
protected

◆ simulator_

◆ solTracerConcentration_

std::vector<TracerVectorSingle> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::solTracerConcentration_
protectedinherited

◆ tbatch

◆ tracerConcentration_

std::vector<TracerVector> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::tracerConcentration_
protectedinherited

◆ tracerMatrix_

std::unique_ptr<TracerMatrix> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::tracerMatrix_
protectedinherited

◆ tracerPhaseIdx_

std::vector<int> Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::tracerPhaseIdx_
protectedinherited

◆ vol1_

template<class TypeTag >
std::array<std::array<std::vector<Scalar>,numPhases>,2> Opm::TracerModel< TypeTag >::vol1_
protected

◆ wat_

template<class TypeTag >
TracerBatch<TracerVector>& Opm::TracerModel< TypeTag >::wat_
protected

◆ wellFreeTracerRate_

std::unordered_map<int, std::vector<WellTracerRate<GetPropType< TypeTag, Properties::Scalar > > > > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::wellFreeTracerRate_
protectedinherited

◆ wellSolTracerRate_

std::unordered_map<int, std::vector<WellTracerRate<GetPropType< TypeTag, Properties::Scalar > > > > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::wellSolTracerRate_
protectedinherited

◆ wellTracerRate_

std::unordered_map<int, std::vector<WellTracerRate<GetPropType< TypeTag, Properties::Scalar > > > > Opm::GenericTracerModel< GetPropType< TypeTag, Properties::Grid > , GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::DofMapper > , GetPropType< TypeTag, Properties::Stencil > , GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Scalar > >::wellTracerRate_
protectedinherited

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