www.mooseframework.org
HeatConduction.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "HeatConduction.h"
11 #include "MooseMesh.h"
12 
13 registerMooseObjectAliased("HeatConductionApp", HeatConductionKernel, "HeatConduction");
14 
16 
17 InputParameters
19 {
20  InputParameters params = Diffusion::validParams();
21  params.addClassDescription(
22  "Computes residual/Jacobian contribution for $(k \\nabla T, \\nabla \\psi)$ term.");
23  params.addParam<MaterialPropertyName>(
24  "diffusion_coefficient",
25  "thermal_conductivity",
26  "Property name of the diffusivity (Default: thermal_conductivity)");
27  params.addParam<MaterialPropertyName>(
28  "diffusion_coefficient_dT",
29  "thermal_conductivity_dT",
30  "Property name of the derivative of the diffusivity with respect "
31  "to the variable (Default: thermal_conductivity_dT)");
32  params.set<bool>("use_displaced_mesh") = true;
33  return params;
34 }
35 
36 HeatConductionKernel::HeatConductionKernel(const InputParameters & parameters)
37  : Diffusion(parameters),
38  _diffusion_coefficient(getMaterialProperty<Real>("diffusion_coefficient")),
39  _diffusion_coefficient_dT(hasMaterialProperty<Real>("diffusion_coefficient_dT")
40  ? &getMaterialProperty<Real>("diffusion_coefficient_dT")
41  : NULL)
42 {
43 }
44 
45 Real
47 {
48  return _diffusion_coefficient[_qp] * Diffusion::computeQpResidual();
49 }
50 
51 Real
53 {
54  Real jac = _diffusion_coefficient[_qp] * Diffusion::computeQpJacobian();
56  jac += (*_diffusion_coefficient_dT)[_qp] * _phi[_j][_qp] * Diffusion::computeQpResidual();
57  return jac;
58 }
HeatConductionKernel::HeatConductionKernel
HeatConductionKernel(const InputParameters &parameters)
Definition: HeatConduction.C:36
registerMooseObjectAliased
registerMooseObjectAliased("HeatConductionApp", HeatConductionKernel, "HeatConduction")
HeatConductionKernel::validParams
static InputParameters validParams()
Definition: HeatConduction.C:18
defineLegacyParams
defineLegacyParams(HeatConductionKernel)
HeatConductionKernel::computeQpJacobian
virtual Real computeQpJacobian()
Definition: HeatConduction.C:52
HeatConductionKernel
Note: This class is named HeatConductionKernel instead of HeatConduction to avoid a clash with the He...
Definition: HeatConduction.h:27
HeatConductionKernel::_diffusion_coefficient_dT
const MaterialProperty< Real > *const _diffusion_coefficient_dT
Definition: HeatConduction.h:41
validParams
InputParameters validParams()
HeatConductionKernel::_diffusion_coefficient
const MaterialProperty< Real > & _diffusion_coefficient
Definition: HeatConduction.h:40
HeatConductionKernel::computeQpResidual
virtual Real computeQpResidual()
Definition: HeatConduction.C:46
HeatConduction.h