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 25 of file PorousFlowMatrixInternalEnergy.h.

Constructor & Destructor Documentation

PorousFlowMatrixInternalEnergy::PorousFlowMatrixInternalEnergy ( const InputParameters &  parameters)

Definition at line 29 of file PorousFlowMatrixInternalEnergy.C.

30  : PorousFlowMaterialVectorBase(parameters),
31  _cp(getParam<Real>("specific_heat_capacity")),
32  _density(getParam<Real>("density")),
34  _temperature_nodal(getMaterialProperty<Real>("PorousFlow_temperature_nodal")),
36  getMaterialProperty<std::vector<Real>>("dPorousFlow_temperature_nodal_dvar")),
37  _en_nodal(declareProperty<Real>("PorousFlow_matrix_internal_energy_nodal")),
39  declareProperty<std::vector<Real>>("dPorousFlow_matrix_internal_energy_nodal_dvar"))
40 {
41  if (_nodal_material != true)
42  mooseError("PorousFlowMatrixInternalEnergy classes are only defined for at_nodes = true");
43 }
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

void PorousFlowMatrixInternalEnergy::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 52 of file PorousFlowMatrixInternalEnergy.C.

53 {
55 
56  _den_nodal_dvar[_qp].assign(_num_var, 0.0);
57  for (unsigned v = 0; v < _num_var; ++v)
59 }
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.
void PorousFlowMatrixInternalEnergy::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 46 of file PorousFlowMatrixInternalEnergy.C.

47 {
49 }
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

const Real PorousFlowMatrixInternalEnergy::_cp
protected

Specific heat capacity of rock grains.

Definition at line 35 of file PorousFlowMatrixInternalEnergy.h.

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

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

Definition at line 53 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties().

const Real PorousFlowMatrixInternalEnergy::_density
protected

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

Definition at line 38 of file PorousFlowMatrixInternalEnergy.h.

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

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

Definition at line 47 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& PorousFlowMatrixInternalEnergy::_en_nodal
protected

Matrix internal_energy at the nodes.

Definition at line 50 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

const Real PorousFlowMatrixInternalEnergy::_heat_cap
protected

Heat capacity = _cp * _density.

Definition at line 41 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().

const unsigned int PorousFlowMaterialVectorBase::_num_components
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_phases
protectedinherited
const unsigned int PorousFlowMaterialVectorBase::_num_var
protectedinherited
const MaterialProperty<Real>& PorousFlowMatrixInternalEnergy::_temperature_nodal
protected

temperature at the nodes

Definition at line 44 of file PorousFlowMatrixInternalEnergy.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().


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