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

A class for defining the time derivative of the heat equation. More...

#include <ConsistentSpecificHeatTimeDerivative.h>

Inheritance diagram for ConsistentSpecificHeatTimeDerivative:
[legend]

Public Member Functions

 ConsistentSpecificHeatTimeDerivative (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian () override
 
virtual Real computeQpOffDiagJacobian (unsigned int jvar) override
 

Protected Attributes

const MaterialProperty< Real > & _specific_heat
 Specific heat and its derivatives with respect to temperature and other coupled variables. More...
 
const MaterialProperty< Real > & _d_specific_heat_dT
 
std::vector< const MaterialProperty< Real > * > _d_specific_heat_dargs
 
const MaterialProperty< Real > & _density
 Density and its derivatives with respect to temperature and other coupled variables. More...
 
const MaterialProperty< Real > & _d_density_dT
 
std::vector< const MaterialProperty< Real > * > _d_density_dargs
 

Detailed Description

A class for defining the time derivative of the heat equation.

By default this Kernel computes: \( (c_p * rho + c_p * T * \frac{\partial rho}{\partial T} + rho * T * \frac{\partial c_p}{\partial T}) * \frac{\partial T}{\partial t}, \) where \( c_p \) is material property for the "specific_heat" and \( rho \) is the material property for the density.

Definition at line 29 of file ConsistentSpecificHeatTimeDerivative.h.

Constructor & Destructor Documentation

ConsistentSpecificHeatTimeDerivative::ConsistentSpecificHeatTimeDerivative ( const InputParameters &  parameters)

Definition at line 24 of file ConsistentSpecificHeatTimeDerivative.C.

27 {
28 }
SpecificHeatConductionTimeDerivative(const InputParameters &parameters)

Member Function Documentation

Real SpecificHeatConductionTimeDerivative::computeQpJacobian ( )
overrideprotectedvirtualinherited

Definition at line 61 of file SpecificHeatConductionTimeDerivative.C.

62 {
63  const Real dT = TimeDerivative::computeQpResidual();
64 
65  // on-diagonal Jacobian with all terms that may depend on the kernel variable
66  return _specific_heat[_qp] * _density[_qp] * TimeDerivative::computeQpJacobian() +
67  _d_specific_heat_dT[_qp] * _phi[_j][_qp] * _density[_qp] * dT +
68  _specific_heat[_qp] * _d_density_dT[_qp] * _phi[_j][_qp] * dT;
69 }
const MaterialProperty< Real > & _density
Density and its derivatives with respect to temperature and other coupled variables.
const MaterialProperty< Real > & _specific_heat
Specific heat and its derivatives with respect to temperature and other coupled variables.
Real SpecificHeatConductionTimeDerivative::computeQpOffDiagJacobian ( unsigned int  jvar)
overrideprotectedvirtualinherited

Definition at line 72 of file SpecificHeatConductionTimeDerivative.C.

73 {
74  // get the coupled variable jvar is referring to
75  const unsigned int cvar = mapJvarToCvar(jvar);
76 
77  // off-diagonal contribution with terms that depend on coupled variables
78  const Real dT = TimeDerivative::computeQpResidual();
79  return (*_d_specific_heat_dargs[cvar])[_qp] * _phi[_j][_qp] * _density[_qp] * dT +
80  _specific_heat[_qp] * (*_d_density_dargs[cvar])[_qp] * _phi[_j][_qp] * dT;
81 }
std::vector< const MaterialProperty< Real > * > _d_density_dargs
const MaterialProperty< Real > & _density
Density and its derivatives with respect to temperature and other coupled variables.
std::vector< const MaterialProperty< Real > * > _d_specific_heat_dargs
const MaterialProperty< Real > & _specific_heat
Specific heat and its derivatives with respect to temperature and other coupled variables.
Real ConsistentSpecificHeatTimeDerivative::computeQpResidual ( )
overrideprotectedvirtual

Reimplemented from SpecificHeatConductionTimeDerivative.

Definition at line 31 of file ConsistentSpecificHeatTimeDerivative.C.

32 {
33  return (_specific_heat[_qp] * _density[_qp] + _d_density_dT[_qp] * _specific_heat[_qp] * _u[_qp] +
34  _d_specific_heat_dT[_qp] * _density[_qp] * _u[_qp]) *
35  TimeDerivative::computeQpResidual();
36 }
const MaterialProperty< Real > & _density
Density and its derivatives with respect to temperature and other coupled variables.
const MaterialProperty< Real > & _specific_heat
Specific heat and its derivatives with respect to temperature and other coupled variables.

Member Data Documentation

std::vector<const MaterialProperty<Real> *> SpecificHeatConductionTimeDerivative::_d_density_dargs
protectedinherited
const MaterialProperty<Real>& SpecificHeatConductionTimeDerivative::_d_density_dT
protectedinherited
std::vector<const MaterialProperty<Real> *> SpecificHeatConductionTimeDerivative::_d_specific_heat_dargs
protectedinherited
const MaterialProperty<Real>& SpecificHeatConductionTimeDerivative::_d_specific_heat_dT
protectedinherited
const MaterialProperty<Real>& SpecificHeatConductionTimeDerivative::_density
protectedinherited
const MaterialProperty<Real>& SpecificHeatConductionTimeDerivative::_specific_heat
protectedinherited

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