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 >:
Inheritance graph

Public Types

using CartesianIndexMapper = Dune::CartesianIndexMapper< GetPropType< TypeTag, Properties::Grid > >
 

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. More...
 
template<class Restarter >
void serialize (Restarter &)
 This method writes the complete state of all temperature to the hard disk. More...
 
template<class Restarter >
void deserialize (Restarter &)
 This method restores the complete state of the temperature from disk. More...
 
bool doTemp ()
 
const GetPropType< TypeTag, Properties::Scalartemperature (size_t globalIdx) const
 

Static Public Attributes

static constexpr int dimWorld
 

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 ResidualNBInfo >
void computeFluxTerm (unsigned globI, unsigned globJ, const ResidualNBInfo &res_nbinfo, Evaluation &flux)
 
template<class ResidualNBInfo >
void computeHeatFluxTerm (unsigned globI, unsigned globJ, const ResidualNBInfo &res_nbinfo, Evaluation &heatFlux)
 
void assembleEquations ()
 
template<class Well >
void assembleEquationWell (const Well &well)
 
void doInit (std::size_t numGridDof)
 Initialize all internal data structures needed by the temperature module. More...
 
bool linearSolve_ (const EnergyMatrix &M, EnergyVector &x, EnergyVector &b)
 

Protected Attributes

const Simulator & simulator_
 
EnergyVector storage1_
 
std::vector< IntensiveQuantities > intQuants_
 
std::vector< int > overlapRows_
 
std::vector< int > interiorRows_
 
const GetPropType< TypeTag, Properties::GridView > & gridView_
 
const EclipseState & eclState_
 
const CartesianIndexMappercartMapper_
 
const GetPropType< TypeTag, Properties::DofMapper > & dofMapper_
 
EnergyVector energyVector_
 
std::unique_ptr< EnergyMatrix > energyMatrix_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > temperature_
 
std::vector< GetPropType< TypeTag, Properties::Scalar > > energy_rates_
 
bool doTemp_
 
GetPropType< TypeTag, Properties::ScalarmaxTempChange_
 

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 Typedef Documentation

◆ CartesianIndexMapper

Constructor & Destructor Documentation

◆ TemperatureModel()

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

Member Function Documentation

◆ advanceTemperatureFields()

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

◆ assembleEquations()

◆ assembleEquationWell()

◆ beginTimeStep()

◆ computeFluxTerm()

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
template<class ResidualNBInfo >
void Opm::TemperatureModel< TypeTag, enableTempV >::computeFluxTerm ( unsigned  globI,
unsigned  globJ,
const ResidualNBInfo &  res_nbinfo,
Evaluation &  flux 
)
inlineprotected

◆ computeHeatFluxTerm()

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
template<class ResidualNBInfo >
void Opm::TemperatureModel< TypeTag, enableTempV >::computeHeatFluxTerm ( unsigned  globI,
unsigned  globJ,
const ResidualNBInfo &  res_nbinfo,
Evaluation &  heatFlux 
)
inlineprotected

◆ computeStorageTerm()

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
template<class LhsEval >
void Opm::TemperatureModel< TypeTag, enableTempV >::computeStorageTerm ( unsigned  globI,
LhsEval &  storage 
)
inlineprotected

◆ converged()

◆ 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.

◆ doInit()

void 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 > >::doInit ( std::size_t  numGridDof)
protectedinherited

Initialize all internal data structures needed by the temperature module.

◆ doTemp()

◆ endTimeStep()

◆ init()

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

◆ linearSolve_()

bool 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 > >::linearSolve_ ( const EnergyMatrix M,
EnergyVector x,
EnergyVector b 
)
protectedinherited

◆ serialize()

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

This method writes the complete state of all temperature to the hard disk.

◆ solveAndUpdate()

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

References Opm::TemperatureModel< TypeTag, enableTempV >::converged(), 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 > >::energyMatrix_, 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 > >::energyVector_, Opm::TemperatureModel< TypeTag, enableTempV >::intQuants_, 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 > >::linearSolve_(), 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 > >::maxTempChange_, Opm::TemperatureModel< TypeTag, enableTempV >::simulator_, and 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 > >::temperature_.

Referenced by Opm::TemperatureModel< TypeTag, enableTempV >::advanceTemperatureFields().

◆ temperature()

const GetPropType< TypeTag, Properties::Scalar > 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 > >::temperature ( size_t  globalIdx) const
inlineinherited

◆ updateStorageCache()

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

Member Data Documentation

◆ cartMapper_

◆ dimWorld

constexpr int 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 > >::dimWorld
staticconstexprinherited

◆ dofMapper_

◆ doTemp_

◆ eclState_

const EclipseState& 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 > >::eclState_
protectedinherited

◆ energy_rates_

std::vector<GetPropType< TypeTag, Properties::Scalar > > 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 > >::energy_rates_
protectedinherited

◆ energyMatrix_

std::unique_ptr<EnergyMatrix> 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 > >::energyMatrix_
protectedinherited

◆ energyVector_

EnergyVector 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 > >::energyVector_
protectedinherited

◆ gridView_

◆ interiorRows_

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
std::vector<int> Opm::TemperatureModel< TypeTag, enableTempV >::interiorRows_
protected

◆ intQuants_

◆ maxTempChange_

◆ overlapRows_

template<class TypeTag , bool enableTempV = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::SequentialImplicitThermal>
std::vector<int> Opm::TemperatureModel< TypeTag, enableTempV >::overlapRows_
protected

◆ simulator_

◆ storage1_

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

◆ temperature_

std::vector<GetPropType< TypeTag, Properties::Scalar > > 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 > >::temperature_
protectedinherited

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