My Project
Loading...
Searching...
No Matches
Opm::GenericTracerModel< Grid, GridView, DofMapper, Stencil, Scalar > Class Template Reference

Public Types

using TracerMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< Scalar, 1, 1 > >
 
using TracerVector = Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >
 
using CartesianIndexMapper = Dune::CartesianIndexMapper< Grid >
 

Public Member Functions

int numTracers () const
 Return the number of tracers considered by the tracerModel.
 
const std::string & name (int tracerIdx) const
 Return the tracer name.
 
std::string fname (int tracerIdx) const
 
Scalar tracerConcentration (int tracerIdx, int globalDofIdx) const
 Return the tracer concentration for tracer index and global DofIdx.
 
void setTracerConcentration (int tracerIdx, int globalDofIdx, Scalar value)
 
const std::map< std::pair< std::string, std::string >, double > & getWellTracerRates () const
 Return well tracer rates.
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Attributes

static constexpr int dimWorld = Grid::dimensionworld
 

Protected Member Functions

 GenericTracerModel (const GridView &gridView, const EclipseState &eclState, const CartesianIndexMapper &cartMapper, const DofMapper &dofMapper, const std::function< std::array< double, dimWorld >(int)> centroids)
 
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.
 
bool linearSolve_ (const TracerMatrix &M, TracerVector &x, TracerVector &b)
 
bool linearSolveBatchwise_ (const TracerMatrix &M, std::vector< TracerVector > &x, std::vector< TracerVector > &b)
 
double currentConcentration_ (const Well &eclWell, const std::string &name) const
 

Protected Attributes

const GridView & gridView_
 
const EclipseState & eclState_
 
const CartesianIndexMappercartMapper_
 
const DofMapper & dofMapper_
 
std::vector< int > tracerPhaseIdx_
 
std::vector< Dune::BlockVector< Dune::FieldVector< Scalar, 1 > > > tracerConcentration_
 
std::unique_ptr< TracerMatrix > tracerMatrix_
 
std::vector< Dune::BlockVector< Dune::FieldVector< Scalar, 1 > > > storageOfTimeIndex1_
 
std::map< std::pair< std::string, std::string >, double > wellTracerRate_
 
std::function< std::array< double, dimWorld >(int)> centroids_
 Function returning the cell centers.
 

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