opm-simulators
Opm::TemperatureModel< TypeTag, enableTempV > Class Template Reference

A class which handles sequential implicit solution of the energy equation as specified in by TEMP. More...

#include <TemperatureModel.hpp>

Inheritance diagram for Opm::TemperatureModel< TypeTag, enableTempV >:
Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >

Public Member Functions

 TemperatureModel (Simulator &simulator)
 
void init ()
 
void beginTimeStep ()
 
void endTimeStep (WellStateType &wellState)
 Informs the temperature model that a time step has just been finished.
 
template<class Restarter >
void serialize (Restarter &)
 This method writes the complete state of all temperature to the hard disk.
 
template<class Restarter >
void deserialize (Restarter &)
 This method restores the complete state of the temperature from disk. More...
 
- Public Member Functions inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
bool doTemp ()
 
const GetPropType< TypeTag, Properties::Scalartemperature (size_t globalIdx) const
 

Protected Member Functions

void updateStorageCache ()
 
void advanceTemperatureFields ()
 
void solveAndUpdate ()
 
bool converged (const int iter)
 
template<class LhsEval >
void computeStorageTerm (unsigned globI, LhsEval &storage)
 
template<class RateVector >
void computeFluxTerm (const FluidStateTemp &fsIn, const FluidStateTemp &fsEx, const RateVector &darcyFlux, Evaluation &flux)
 
template<class ResidualNBInfo >
void computeHeatFluxTerm (const IntensiveQuantitiesTemp &intQuantsIn, const IntensiveQuantitiesTemp &intQuantsEx, const ResidualNBInfo &res_nbinfo, Evaluation &heatFlux)
 
void assembleEquations ()
 
template<class Well >
void assembleEquationWell (const Well &well)
 
template<class Well , class SingleWellState >
void computeWellTemperature (const Well &well, SingleWellState &ws)
 
- Protected Member Functions inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
 GenericTemperatureModel (const GetPropType< TypeTag, Properties::GridView > &gridView, const EclipseState &eclState, const CartesianIndexMapper &cartMapper, const GetPropType< TypeTag, Properties::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 Simulator & simulator_
 
EnergyVector storage1_
 
std::vector< IntensiveQuantitiesTempintQuants_
 
SparseTable< NeighborInfoCPUneighborInfo_ {}
 
std::vector< MatrixBlockTemp * > diagMatAddress_ {}
 
std::unique_ptr< SpareMatrixEnergyAdapter > energyMatrix_
 
std::vector< int > overlapRows_
 
std::vector< int > interiorRows_
 
Scalar scalingFactor_ {1.0}
 
- Protected Attributes inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
const GetPropType< TypeTag, Properties::GridView > & gridView_
 
const EclipseState & eclState_
 
const CartesianIndexMappercartMapper_
 
const GetPropType< TypeTag, Properties::DofMapper > & dofMapper_
 
EnergyVector energyVector_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > temperature_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > energy_rates_
 
bool doTemp_
 
GetPropType< TypeTag, Properties::ScalarmaxTempChange_
 
std::unique_ptr< AbstractSolverType > linear_solver_
 
std::unique_ptr< AbstractOperatorType > op_
 
AbstractPreconditionerTypepre_
 

Additional Inherited Members

- Public Types inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
using MatrixBlockTemp = MatrixBlock< GetPropType< TypeTag, Properties::Scalar >, 1, 1 >
 
using EnergyMatrix = Dune::BCRSMatrix< MatrixBlockTemp >
 
using EnergyVector = Dune::BlockVector< Dune::FieldVector< GetPropType< TypeTag, Properties::Scalar >, 1 > >
 
using CartesianIndexMapper = Dune::CartesianIndexMapper< GetPropType< TypeTag, Properties::Grid > >
 
- Static Public Attributes inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
static constexpr int dimWorld
 
- Protected Types inherited from Opm::GenericTemperatureModel< GetPropType< TypeTag, Properties::Grid >, GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::DofMapper >, GetPropType< TypeTag, Properties::Stencil >, GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Scalar > >
using AbstractSolverType = Dune::InverseOperator< EnergyVector, EnergyVector >
 
using AbstractOperatorType = Dune::AssembledLinearOperator< EnergyMatrix, EnergyVector, EnergyVector >
 
using AbstractPreconditionerType = Dune::PreconditionerWithUpdate< EnergyVector, EnergyVector >
 

Detailed Description

template<class TypeTag, bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
class Opm::TemperatureModel< TypeTag, enableTempV >

A class which handles sequential implicit solution of the energy equation as specified in by TEMP.

Member Function Documentation

◆ deserialize()

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
template<class Restarter >
void Opm::TemperatureModel< TypeTag, enableTempV >::deserialize ( Restarter &  )
inline

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

It is the inverse of the serialize() method.


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