opm-simulators
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 &trName, const SummaryState &summaryState) const

Protected Attributes

const GridView & gridView_
const EclipseState & eclState_
const CartesianIndexMapper & cartMapper_
const 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< 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: