opm-simulators
Loading...
Searching...
No Matches
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.
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 Scalar temperature (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 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 Simulator & simulator_
EnergyVector storage1_
std::vector< IntensiveQuantitiesTemp > intQuants_
SparseTable< NeighborInfoCPU > neighborInfo_ {}
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 GridView & gridView_
const EclipseState & eclState_
const CartesianIndexMapper & cartMapper_
const DofMapper & dofMapper_
EnergyVector energyVector_
std::vector< Scalar > temperature_
std::vector< Scalar > energy_rates_
bool doTemp_
Scalar maxTempChange_
std::unique_ptr< AbstractSolverType > linear_solver_
std::unique_ptr< AbstractOperatorType > op_
AbstractPreconditionerType * pre_

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
using EnergyMatrix
using EnergyVector
using CartesianIndexMapper
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
using AbstractOperatorType
using AbstractPreconditionerType

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: