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

Simple material with constant properties. More...

#include <AnisoHeatConductionMaterial.h>

Inheritance diagram for AnisoHeatConductionMaterial:
[legend]

Public Member Functions

 AnisoHeatConductionMaterial (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_x
 
const Real _my_thermal_conductivity_y
 
const Real _my_thermal_conductivity_z
 
const PostprocessorValue *const _thermal_conductivity_x_pp
 
const PostprocessorValue *const _thermal_conductivity_y_pp
 
const PostprocessorValue *const _thermal_conductivity_z_pp
 
const Real _my_specific_heat
 
MaterialProperty< Real > *const _thermal_conductivity_x
 
MaterialProperty< Real > *const _thermal_conductivity_x_dT
 
MaterialProperty< Real > *const _thermal_conductivity_y
 
MaterialProperty< Real > *const _thermal_conductivity_y_dT
 
MaterialProperty< Real > *const _thermal_conductivity_z
 
MaterialProperty< Real > *const _thermal_conductivity_z_dT
 
MaterialProperty< Real > & _specific_heat
 
const Function *const _specific_heat_temperature_function
 

Detailed Description

Simple material with constant properties.

Definition at line 20 of file AnisoHeatConductionMaterial.h.

Constructor & Destructor Documentation

◆ AnisoHeatConductionMaterial()

AnisoHeatConductionMaterial::AnisoHeatConductionMaterial ( const InputParameters &  parameters)

Definition at line 44 of file AnisoHeatConductionMaterial.C.

45  : Material(parameters),
46 
47  _has_temp(isCoupled("temp")),
48  _temperature(_has_temp ? coupledValue("temp") : _zero),
49 
51  isParamValid("thermal_conductivity_x") ? getParam<Real>("thermal_conductivity_x") : -1),
53  isParamValid("thermal_conductivity_y") ? getParam<Real>("thermal_conductivity_y") : -1),
55  isParamValid("thermal_conductivity_z") ? getParam<Real>("thermal_conductivity_z") : -1),
56 
57  _thermal_conductivity_x_pp(isParamValid("thermal_conductivity_x_pp")
58  ? &getPostprocessorValue("thermal_conductivity_x_pp")
59  : NULL),
60  _thermal_conductivity_y_pp(isParamValid("thermal_conductivity_y_pp")
61  ? &getPostprocessorValue("thermal_conductivity_y_pp")
62  : NULL),
63  _thermal_conductivity_z_pp(isParamValid("thermal_conductivity_z_pp")
64  ? &getPostprocessorValue("thermal_conductivity_z_pp")
65  : NULL),
66 
67  _my_specific_heat(isParamValid("specific_heat") ? getParam<Real>("specific_heat") : 0),
68 
69  _thermal_conductivity_x(&declareProperty<Real>("thermal_conductivity_x")),
70  _thermal_conductivity_x_dT(&declareProperty<Real>("thermal_conductivity_x_dT")),
71  _thermal_conductivity_y(isParamValid("thermal_conductivity_y") ||
72  isParamValid("thermal_conductivity_y_pp")
73  ? &declareProperty<Real>("thermal_conductivity_y")
74  : NULL),
76  _thermal_conductivity_y ? &declareProperty<Real>("thermal_conductivity_y_dT") : NULL),
77  _thermal_conductivity_z(isParamValid("thermal_conductivity_z") ||
78  isParamValid("thermal_conductivity_z_pp")
79  ? &declareProperty<Real>("thermal_conductivity_z")
80  : NULL),
82  _thermal_conductivity_z ? &declareProperty<Real>("thermal_conductivity_z_dT") : NULL),
83 
84  _specific_heat(declareProperty<Real>("specific_heat")),
86  getParam<FunctionName>("specific_heat_temperature_function") != ""
87  ? &getFunction("specific_heat_temperature_function")
88  : NULL)
89 {
90  bool k_x = isParamValid("thermal_conductivity_x") || (NULL != _thermal_conductivity_x_pp);
91  bool k_y = isParamValid("thermal_conductivity_y") || (NULL != _thermal_conductivity_y_pp);
92  bool k_z = isParamValid("thermal_conductivity_z") || (NULL != _thermal_conductivity_z_pp);
93 
94  if (!k_x || (_subproblem.mesh().dimension() > 1 && !k_y) ||
95  (_subproblem.mesh().dimension() > 2 && !k_z))
96  {
97  mooseError("Incomplete set of orthotropic thermal conductivity parameters");
98  }
100  {
101  mooseError("Must couple with temperature if using specific heat function");
102  }
103  if (isParamValid("specific_heat") && _specific_heat_temperature_function)
104  {
105  mooseError("Cannot define both specific heat and specific heat temperature function");
106  }
107 
108  k_x = isParamValid("thermal_conductivity_x") && (NULL != _thermal_conductivity_x_pp);
109  k_y = isParamValid("thermal_conductivity_y") && (NULL != _thermal_conductivity_y_pp);
110  k_z = isParamValid("thermal_conductivity_z") && (NULL != _thermal_conductivity_z_pp);
111  if (k_x || k_y || k_z)
112  {
113  mooseError("Cannot define thermal conductivity value and Postprocessor");
114  }
115 }

Member Function Documentation

◆ computeProperties()

void AnisoHeatConductionMaterial::computeProperties ( )
protectedvirtual

Definition at line 118 of file AnisoHeatConductionMaterial.C.

119 {
120  for (unsigned int qp(0); qp < _qrule->n_points(); ++qp)
121  {
122  (*_thermal_conductivity_x)[qp] =
124  (*_thermal_conductivity_x_dT)[qp] = 0;
126  {
127  (*_thermal_conductivity_y)[qp] =
129  (*_thermal_conductivity_y_dT)[qp] = 0;
130  }
132  {
133  (*_thermal_conductivity_z)[qp] =
135  (*_thermal_conductivity_z_dT)[qp] = 0;
136  }
137 
139  {
140  Point p;
142  }
143  else
144  {
146  }
147  }
148 }

◆ validParams()

InputParameters AnisoHeatConductionMaterial::validParams ( )
static

Definition at line 21 of file AnisoHeatConductionMaterial.C.

22 {
23  InputParameters params = Material::validParams();
24 
25  params.addCoupledVar("temp", "Coupled Temperature");
26 
27  params.addParam<Real>("thermal_conductivity_x", "The thermal conductivity in the x direction");
28  params.addParam<Real>("thermal_conductivity_y", "The thermal conductivity in the y direction");
29  params.addParam<Real>("thermal_conductivity_z", "The thermal conductivity in the z direction");
30  params.addParam<PostprocessorName>("thermal_conductivity_x_pp",
31  "The thermal conductivity PP name in the x direction");
32  params.addParam<PostprocessorName>("thermal_conductivity_y_pp",
33  "The thermal conductivity PP name in the y direction");
34  params.addParam<PostprocessorName>("thermal_conductivity_z_pp",
35  "The thermal conductivity PP name in the z direction");
36 
37  params.addParam<Real>("specific_heat", "The specific heat value");
38  params.addParam<FunctionName>(
39  "specific_heat_temperature_function", "", "Specific heat as a function of temperature.");
40 
41  return params;
42 }

Member Data Documentation

◆ _has_temp

const bool AnisoHeatConductionMaterial::_has_temp
protected

Definition at line 30 of file AnisoHeatConductionMaterial.h.

Referenced by AnisoHeatConductionMaterial().

◆ _my_specific_heat

const Real AnisoHeatConductionMaterial::_my_specific_heat
protected

Definition at line 39 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _my_thermal_conductivity_x

const Real AnisoHeatConductionMaterial::_my_thermal_conductivity_x
protected

Definition at line 33 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _my_thermal_conductivity_y

const Real AnisoHeatConductionMaterial::_my_thermal_conductivity_y
protected

Definition at line 34 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _my_thermal_conductivity_z

const Real AnisoHeatConductionMaterial::_my_thermal_conductivity_z
protected

Definition at line 35 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _specific_heat

MaterialProperty<Real>& AnisoHeatConductionMaterial::_specific_heat
protected

Definition at line 48 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _specific_heat_temperature_function

const Function* const AnisoHeatConductionMaterial::_specific_heat_temperature_function
protected

Definition at line 49 of file AnisoHeatConductionMaterial.h.

Referenced by AnisoHeatConductionMaterial(), and computeProperties().

◆ _temperature

const VariableValue& AnisoHeatConductionMaterial::_temperature
protected

Definition at line 31 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity_x

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_x
protected

Definition at line 41 of file AnisoHeatConductionMaterial.h.

◆ _thermal_conductivity_x_dT

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_x_dT
protected

Definition at line 42 of file AnisoHeatConductionMaterial.h.

◆ _thermal_conductivity_x_pp

const PostprocessorValue* const AnisoHeatConductionMaterial::_thermal_conductivity_x_pp
protected

Definition at line 36 of file AnisoHeatConductionMaterial.h.

Referenced by AnisoHeatConductionMaterial(), and computeProperties().

◆ _thermal_conductivity_y

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_y
protected

Definition at line 43 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity_y_dT

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_y_dT
protected

Definition at line 44 of file AnisoHeatConductionMaterial.h.

◆ _thermal_conductivity_y_pp

const PostprocessorValue* const AnisoHeatConductionMaterial::_thermal_conductivity_y_pp
protected

Definition at line 37 of file AnisoHeatConductionMaterial.h.

Referenced by AnisoHeatConductionMaterial(), and computeProperties().

◆ _thermal_conductivity_z

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_z
protected

Definition at line 45 of file AnisoHeatConductionMaterial.h.

Referenced by computeProperties().

◆ _thermal_conductivity_z_dT

MaterialProperty<Real>* const AnisoHeatConductionMaterial::_thermal_conductivity_z_dT
protected

Definition at line 46 of file AnisoHeatConductionMaterial.h.

◆ _thermal_conductivity_z_pp

const PostprocessorValue* const AnisoHeatConductionMaterial::_thermal_conductivity_z_pp
protected

Definition at line 38 of file AnisoHeatConductionMaterial.h.

Referenced by AnisoHeatConductionMaterial(), and computeProperties().


The documentation for this class was generated from the following files:
AnisoHeatConductionMaterial::_temperature
const VariableValue & _temperature
Definition: AnisoHeatConductionMaterial.h:31
AnisoHeatConductionMaterial::_thermal_conductivity_y_pp
const PostprocessorValue *const _thermal_conductivity_y_pp
Definition: AnisoHeatConductionMaterial.h:37
AnisoHeatConductionMaterial::_thermal_conductivity_z_pp
const PostprocessorValue *const _thermal_conductivity_z_pp
Definition: AnisoHeatConductionMaterial.h:38
AnisoHeatConductionMaterial::_my_thermal_conductivity_y
const Real _my_thermal_conductivity_y
Definition: AnisoHeatConductionMaterial.h:34
AnisoHeatConductionMaterial::_specific_heat_temperature_function
const Function *const _specific_heat_temperature_function
Definition: AnisoHeatConductionMaterial.h:49
AnisoHeatConductionMaterial::_my_thermal_conductivity_x
const Real _my_thermal_conductivity_x
Definition: AnisoHeatConductionMaterial.h:33
AnisoHeatConductionMaterial::_thermal_conductivity_x_dT
MaterialProperty< Real > *const _thermal_conductivity_x_dT
Definition: AnisoHeatConductionMaterial.h:42
AnisoHeatConductionMaterial::_thermal_conductivity_x_pp
const PostprocessorValue *const _thermal_conductivity_x_pp
Definition: AnisoHeatConductionMaterial.h:36
AnisoHeatConductionMaterial::_my_thermal_conductivity_z
const Real _my_thermal_conductivity_z
Definition: AnisoHeatConductionMaterial.h:35
AnisoHeatConductionMaterial::_thermal_conductivity_y
MaterialProperty< Real > *const _thermal_conductivity_y
Definition: AnisoHeatConductionMaterial.h:43
AnisoHeatConductionMaterial::_specific_heat
MaterialProperty< Real > & _specific_heat
Definition: AnisoHeatConductionMaterial.h:48
AnisoHeatConductionMaterial::_has_temp
const bool _has_temp
Definition: AnisoHeatConductionMaterial.h:30
AnisoHeatConductionMaterial::_thermal_conductivity_x
MaterialProperty< Real > *const _thermal_conductivity_x
Definition: AnisoHeatConductionMaterial.h:41
AnisoHeatConductionMaterial::_thermal_conductivity_z
MaterialProperty< Real > *const _thermal_conductivity_z
Definition: AnisoHeatConductionMaterial.h:45
AnisoHeatConductionMaterial::_thermal_conductivity_z_dT
MaterialProperty< Real > *const _thermal_conductivity_z_dT
Definition: AnisoHeatConductionMaterial.h:46
AnisoHeatConductionMaterial::_thermal_conductivity_y_dT
MaterialProperty< Real > *const _thermal_conductivity_y_dT
Definition: AnisoHeatConductionMaterial.h:44
validParams
InputParameters validParams()
AnisoHeatConductionMaterial::_my_specific_heat
const Real _my_specific_heat
Definition: AnisoHeatConductionMaterial.h:39