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

Simple material with constant properties. More...

#include <HeatConductionMaterial.h>

Inheritance diagram for HeatConductionMaterial:
[legend]

Public Member Functions

 HeatConductionMaterial (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void computeProperties ()
 

Protected Attributes

const bool _has_temp
 
const VariableValue & _temperature
 
const Real _my_thermal_conductivity
 
const Real _my_specific_heat
 
MaterialProperty< Real > & _thermal_conductivity
 
MaterialProperty< Real > & _thermal_conductivity_dT
 
const Function * _thermal_conductivity_temperature_function
 
MaterialProperty< Real > & _specific_heat
 
const Function * _specific_heat_temperature_function
 

Detailed Description

Simple material with constant properties.

Definition at line 24 of file HeatConductionMaterial.h.

Constructor & Destructor Documentation

◆ HeatConductionMaterial()

HeatConductionMaterial::HeatConductionMaterial ( const InputParameters &  parameters)

Definition at line 39 of file HeatConductionMaterial.C.

40  : Material(parameters),
41 
42  _has_temp(isCoupled("temp")),
43  _temperature(_has_temp ? coupledValue("temp") : _zero),
45  isParamValid("thermal_conductivity") ? getParam<Real>("thermal_conductivity") : 0),
46  _my_specific_heat(isParamValid("specific_heat") ? getParam<Real>("specific_heat") : 0),
47 
48  _thermal_conductivity(declareProperty<Real>("thermal_conductivity")),
49  _thermal_conductivity_dT(declareProperty<Real>("thermal_conductivity_dT")),
51  getParam<FunctionName>("thermal_conductivity_temperature_function") != ""
52  ? &getFunction("thermal_conductivity_temperature_function")
53  : NULL),
54 
55  _specific_heat(declareProperty<Real>("specific_heat")),
57  getParam<FunctionName>("specific_heat_temperature_function") != ""
58  ? &getFunction("specific_heat_temperature_function")
59  : NULL)
60 {
62  {
63  mooseError("Must couple with temperature if using thermal conductivity function");
64  }
65  if (isParamValid("thermal_conductivity") && _thermal_conductivity_temperature_function)
66  {
67  mooseError(
68  "Cannot define both thermal conductivity and thermal conductivity temperature function");
69  }
71  {
72  mooseError("Must couple with temperature if using specific heat function");
73  }
74  if (isParamValid("specific_heat") && _specific_heat_temperature_function)
75  {
76  mooseError("Cannot define both specific heat and specific heat temperature function");
77  }
78 }

Member Function Documentation

◆ computeProperties()

void HeatConductionMaterial::computeProperties ( )
protectedvirtual

Definition at line 81 of file HeatConductionMaterial.C.

82 {
83  for (unsigned int qp(0); qp < _qrule->n_points(); ++qp)
84  {
85  Real qp_temperature = 0;
86  if (_has_temp)
87  {
88  qp_temperature = _temperature[qp];
89  if (_temperature[qp] < 0)
90  {
91  std::stringstream msg;
92  msg << "WARNING: In HeatConductionMaterial: negative temperature!\n"
93  << "\tResetting to zero.\n"
94  << "\t_qp: " << qp << "\n"
95  << "\ttemp: " << _temperature[qp] << "\n"
96  << "\telem: " << _current_elem->id() << "\n"
97  << "\tproc: " << processor_id() << "\n";
98  mooseWarning(msg.str());
99  qp_temperature = 0;
100  }
101  }
103  {
104  Point p;
106  _thermal_conductivity_temperature_function->value(qp_temperature, p);
108  _thermal_conductivity_temperature_function->timeDerivative(qp_temperature, p);
109  }
110  else
111  {
113  _thermal_conductivity_dT[qp] = 0;
114  }
115 
117  {
118  Point p;
119  _specific_heat[qp] = _specific_heat_temperature_function->value(qp_temperature, p);
120  }
121  else
122  {
124  }
125  }
126 }

◆ validParams()

InputParameters HeatConductionMaterial::validParams ( )
static

Definition at line 20 of file HeatConductionMaterial.C.

21 {
22  InputParameters params = Material::validParams();
23 
24  params.addCoupledVar("temp", "Coupled Temperature");
25 
26  params.addParam<Real>("thermal_conductivity", "The thermal conductivity value");
27  params.addParam<FunctionName>("thermal_conductivity_temperature_function",
28  "",
29  "Thermal conductivity as a function of temperature.");
30 
31  params.addParam<Real>("specific_heat", "The specific heat value");
32  params.addParam<FunctionName>(
33  "specific_heat_temperature_function", "", "Specific heat as a function of temperature.");
34  params.addClassDescription("General-purpose material model for heat conduction");
35 
36  return params;
37 }

Member Data Documentation

◆ _has_temp

const bool HeatConductionMaterial::_has_temp
protected

Definition at line 34 of file HeatConductionMaterial.h.

Referenced by computeProperties(), and HeatConductionMaterial().

◆ _my_specific_heat

const Real HeatConductionMaterial::_my_specific_heat
protected

Definition at line 38 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _my_thermal_conductivity

const Real HeatConductionMaterial::_my_thermal_conductivity
protected

Definition at line 37 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _specific_heat

MaterialProperty<Real>& HeatConductionMaterial::_specific_heat
protected

Definition at line 44 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _specific_heat_temperature_function

const Function* HeatConductionMaterial::_specific_heat_temperature_function
protected

Definition at line 45 of file HeatConductionMaterial.h.

Referenced by computeProperties(), and HeatConductionMaterial().

◆ _temperature

const VariableValue& HeatConductionMaterial::_temperature
protected

Definition at line 35 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity

MaterialProperty<Real>& HeatConductionMaterial::_thermal_conductivity
protected

Definition at line 40 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity_dT

MaterialProperty<Real>& HeatConductionMaterial::_thermal_conductivity_dT
protected

Definition at line 41 of file HeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity_temperature_function

const Function* HeatConductionMaterial::_thermal_conductivity_temperature_function
protected

Definition at line 42 of file HeatConductionMaterial.h.

Referenced by computeProperties(), and HeatConductionMaterial().


The documentation for this class was generated from the following files:
HeatConductionMaterial::_my_thermal_conductivity
const Real _my_thermal_conductivity
Definition: HeatConductionMaterial.h:37
HeatConductionMaterial::_has_temp
const bool _has_temp
Definition: HeatConductionMaterial.h:34
HeatConductionMaterial::_thermal_conductivity
MaterialProperty< Real > & _thermal_conductivity
Definition: HeatConductionMaterial.h:40
HeatConductionMaterial::_specific_heat_temperature_function
const Function * _specific_heat_temperature_function
Definition: HeatConductionMaterial.h:45
HeatConductionMaterial::_specific_heat
MaterialProperty< Real > & _specific_heat
Definition: HeatConductionMaterial.h:44
HeatConductionMaterial::_thermal_conductivity_temperature_function
const Function * _thermal_conductivity_temperature_function
Definition: HeatConductionMaterial.h:42
validParams
InputParameters validParams()
HeatConductionMaterial::_my_specific_heat
const Real _my_specific_heat
Definition: HeatConductionMaterial.h:38
HeatConductionMaterial::_thermal_conductivity_dT
MaterialProperty< Real > & _thermal_conductivity_dT
Definition: HeatConductionMaterial.h:41
HeatConductionMaterial::_temperature
const VariableValue & _temperature
Definition: HeatConductionMaterial.h:35