www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PorousFlowMatrixInternalEnergy Class Reference

This material computes internal energy (J/m^3) for a rock matrix assuming constant grain density, specific heat capacity, and a linear relationship with temperature. More...

#include <PorousFlowMatrixInternalEnergy.h>

Inheritance diagram for PorousFlowMatrixInternalEnergy:
[legend]

Public Member Functions

 PorousFlowMatrixInternalEnergy (const InputParameters &parameters)
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void computeQpProperties () override
 

Protected Attributes

const Real _cp
 Specific heat capacity of rock grains. More...
 
const Real _density
 Density of rock grains (equals the density of the matrix if porosity=0) More...
 
const Real _heat_cap
 Heat capacity = _cp * _density. More...
 
const MaterialProperty< Real > & _temperature_nodal
 Temperature at the nodes. More...
 
const MaterialProperty< std::vector< Real > > & _dtemperature_nodal_dvar
 d(temperature at the nodes)/d(PorousFlow variable) More...
 
MaterialProperty< Real > & _en_nodal
 Matrix internal_energy at the nodes. More...
 
MaterialProperty< std::vector< Real > > & _den_nodal_dvar
 d(matrix internal energy)/d(PorousFlow variable) More...
 
const unsigned int _num_phases
 Number of phases. More...
 
const unsigned int _num_components
 Number of fluid components. More...
 
const unsigned int _num_var
 Number of PorousFlow variables. More...
 

Detailed Description

This material computes internal energy (J/m^3) for a rock matrix assuming constant grain density, specific heat capacity, and a linear relationship with temperature.

To get the volumetric heat capacity of the rock in a rock-fluid system, the result must be multiplied by (1 - porosity).

Definition at line 27 of file PorousFlowMatrixInternalEnergy.h.

Constructor & Destructor Documentation

◆ PorousFlowMatrixInternalEnergy()

PorousFlowMatrixInternalEnergy::PorousFlowMatrixInternalEnergy ( const InputParameters &  parameters)

Definition at line 31 of file PorousFlowMatrixInternalEnergy.C.

32  : PorousFlowMaterialVectorBase(parameters),
33  _cp(getParam<Real>("specific_heat_capacity")),
34  _density(getParam<Real>("density")),
36  _temperature_nodal(getMaterialProperty<Real>("PorousFlow_temperature_nodal")),
38  getMaterialProperty<std::vector<Real>>("dPorousFlow_temperature_nodal_dvar")),
39  _en_nodal(declareProperty<Real>("PorousFlow_matrix_internal_energy_nodal")),
41  declareProperty<std::vector<Real>>("dPorousFlow_matrix_internal_energy_nodal_dvar"))
42 {
43  if (_nodal_material != true)
44  mooseError("PorousFlowMatrixInternalEnergy classes are only defined for at_nodes = true");
45 }
const Real _heat_cap
Heat capacity = _cp * _density.
const Real _cp
Specific heat capacity of rock grains.
const MaterialProperty< std::vector< Real > > & _dtemperature_nodal_dvar
d(temperature at the nodes)/d(PorousFlow variable)
MaterialProperty< std::vector< Real > > & _den_nodal_dvar
d(matrix internal energy)/d(PorousFlow variable)
const Real _density
Density of rock grains (equals the density of the matrix if porosity=0)
const MaterialProperty< Real > & _temperature_nodal
Temperature at the nodes.
PorousFlowMaterialVectorBase(const InputParameters &parameters)
MaterialProperty< Real > & _en_nodal
Matrix internal_energy at the nodes.

Member Function Documentation

◆ computeQpProperties()

void PorousFlowMatrixInternalEnergy::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 54 of file PorousFlowMatrixInternalEnergy.C.

55 {
57 
58  _den_nodal_dvar[_qp].assign(_num_var, 0.0);
59  for (unsigned v = 0; v < _num_var; ++v)
61 }
const Real _heat_cap
Heat capacity = _cp * _density.
const MaterialProperty< std::vector< Real > > & _dtemperature_nodal_dvar
d(temperature at the nodes)/d(PorousFlow variable)
MaterialProperty< std::vector< Real > > & _den_nodal_dvar
d(matrix internal energy)/d(PorousFlow variable)
const MaterialProperty< Real > & _temperature_nodal
Temperature at the nodes.
const unsigned int _num_var
Number of PorousFlow variables.
MaterialProperty< Real > & _en_nodal
Matrix internal_energy at the nodes.

◆ initQpStatefulProperties()

void PorousFlowMatrixInternalEnergy::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 48 of file PorousFlowMatrixInternalEnergy.C.

49 {
51 }
const Real _heat_cap
Heat capacity = _cp * _density.
const MaterialProperty< Real > & _temperature_nodal
Temperature at the nodes.
MaterialProperty< Real > & _en_nodal
Matrix internal_energy at the nodes.

Member Data Documentation

◆ _cp

const Real PorousFlowMatrixInternalEnergy::_cp
protected

Specific heat capacity of rock grains.

Definition at line 37 of file PorousFlowMatrixInternalEnergy.h.

◆ _den_nodal_dvar

MaterialProperty<std::vector<Real> >& PorousFlowMatrixInternalEnergy::_den_nodal_dvar
protected

d(matrix internal energy)/d(PorousFlow variable)

Definition at line 55 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties().

◆ _density

const Real PorousFlowMatrixInternalEnergy::_density
protected

Density of rock grains (equals the density of the matrix if porosity=0)

Definition at line 40 of file PorousFlowMatrixInternalEnergy.h.

◆ _dtemperature_nodal_dvar

const MaterialProperty<std::vector<Real> >& PorousFlowMatrixInternalEnergy::_dtemperature_nodal_dvar
protected

d(temperature at the nodes)/d(PorousFlow variable)

Definition at line 49 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties().

◆ _en_nodal

MaterialProperty<Real>& PorousFlowMatrixInternalEnergy::_en_nodal
protected

Matrix internal_energy at the nodes.

Definition at line 52 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _heat_cap

const Real PorousFlowMatrixInternalEnergy::_heat_cap
protected

Heat capacity = _cp * _density.

Definition at line 43 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

◆ _num_components

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited

◆ _num_phases

const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited

◆ _num_var

const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited

◆ _temperature_nodal

const MaterialProperty<Real>& PorousFlowMatrixInternalEnergy::_temperature_nodal
protected

Temperature at the nodes.

Definition at line 46 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().


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