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

Public Types

using TracerVectorSingle = Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >
 
using TracerMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< Scalar, 2, 2 > >
 
using TracerVector = Dune::BlockVector< Dune::FieldVector< Scalar, 2 > >
 
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
 
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
 
Scalar freeTracerConcentration (int tracerIdx, int globalDofIdx) const
 Return the tracer concentration for tracer index and global DofIdx.
 
Scalar solTracerConcentration (int tracerIdx, int globalDofIdx) const
 
void setFreeTracerConcentration (int tracerIdx, int globalDofIdx, Scalar value)
 
void setSolTracerConcentration (int tracerIdx, int globalDofIdx, Scalar value)
 
void setEnableSolTracers (int tracerIdx, bool enableSolTracer)
 
const std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > & getWellTracerRates () const
 Return well tracer rates.
 
const std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > & getWellFreeTracerRates () const
 
const std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > & getWellSolTracerRates () const
 
const std::unordered_map< int, std::vector< MSWellTracerRate< Scalar > > > & getMswTracerRates () const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Attributes

static constexpr int dimWorld = Grid::dimensionworld
 

Protected Types

enum  TracerTypeIdx { Free = 0 , Solution = 1 }
 Tracer type index.
 

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)
 
Scalar currentConcentration_ (const Well &eclWell, const std::string &name) const
 

Protected Attributes

const GridView & gridView_
 
const EclipseState & eclState_
 
const CartesianIndexMappercartMapper_
 
const DofMapper & dofMapper_
 
std::vector< inttracerPhaseIdx_
 
std::vector< boolenableSolTracers_
 
std::vector< TracerVector > tracerConcentration_
 
std::unique_ptr< TracerMatrix > tracerMatrix_
 
std::vector< TracerVectorSingle > freeTracerConcentration_
 
std::vector< TracerVectorSingle > solTracerConcentration_
 
std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > wellTracerRate_
 
std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > wellFreeTracerRate_
 
std::unordered_map< int, std::vector< WellTracerRate< Scalar > > > wellSolTracerRate_
 
std::unordered_map< int, std::vector< MSWellTracerRate< Scalar > > > mSwTracerRate_
 
std::function< std::array< double, dimWorld >(int)> centroids_
 Function returning the cell centers.
 

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