opm-simulators
Loading...
Searching...
No Matches
Opm::GenericTemperatureModel< Grid, GridView, DofMapper, Stencil, FluidSystem, Scalar > Class Template Reference

Public Types

using MatrixBlockTemp = MatrixBlock<Scalar, 1, 1>
using EnergyMatrix = Dune::BCRSMatrix<MatrixBlockTemp>
using EnergyVector = Dune::BlockVector<Dune::FieldVector<Scalar, 1>>
using CartesianIndexMapper = Dune::CartesianIndexMapper<Grid>

Public Member Functions

bool doTemp ()
const Scalar temperature (size_t globalIdx) const

Static Public Attributes

static constexpr int dimWorld = Grid::dimensionworld

Protected Types

using AbstractSolverType = Dune::InverseOperator<EnergyVector, EnergyVector>
using AbstractOperatorType = Dune::AssembledLinearOperator<EnergyMatrix, EnergyVector, EnergyVector>
using AbstractPreconditionerType = Dune::PreconditionerWithUpdate<EnergyVector, EnergyVector>

Protected Member Functions

 GenericTemperatureModel (const GridView &gridView, const EclipseState &eclState, const CartesianIndexMapper &cartMapper, const DofMapper &dofMapper)
void doInit (std::size_t numGridDof)
 Initialize all internal data structures needed by the temperature module.
void setupLinearSolver (const EnergyMatrix &M)
bool linearSolve_ (const EnergyMatrix &M, EnergyVector &x, EnergyVector &b)

Protected Attributes

const GridView & gridView_
const EclipseState & eclState_
const CartesianIndexMapper & cartMapper_
const DofMapper & dofMapper_
EnergyVector energyVector_
std::vector< Scalar > temperature_
std::vector< Scalar > energy_rates_
bool doTemp_ {false}
Scalar maxTempChange_ {5.0}
std::unique_ptr< AbstractSolverType > linear_solver_
std::unique_ptr< AbstractOperatorType > op_
AbstractPreconditionerType * pre_ = nullptr

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