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

This kernel calculates the heat source term corresponding to joule heating, Q = J * E = elec_cond * grad_phi * grad_phi, where phi is the electrical potenstial. More...

#include <JouleHeatingSource.h>

Inheritance diagram for JouleHeatingSource:
[legend]

Public Member Functions

 JouleHeatingSource (const InputParameters &parameters)
 
virtual void initialSetup ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

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

Private Attributes

const VariableGradient & _grad_elec
 
const unsigned int _elec_var
 
const MaterialProperty< Real > & _elec_cond
 
const MaterialProperty< Real > & _delec_cond_dT
 
std::vector< const MaterialProperty< Real > * > _delec_cond_darg
 

Detailed Description

This kernel calculates the heat source term corresponding to joule heating, Q = J * E = elec_cond * grad_phi * grad_phi, where phi is the electrical potenstial.

Definition at line 26 of file JouleHeatingSource.h.

Constructor & Destructor Documentation

◆ JouleHeatingSource()

JouleHeatingSource::JouleHeatingSource ( const InputParameters &  parameters)

Definition at line 29 of file JouleHeatingSource.C.

30  : DerivativeMaterialInterface<JvarMapKernelInterface<HeatSource>>(parameters),
31  _grad_elec(coupledGradient("elec")),
32  _elec_var(coupled("elec")),
33  _elec_cond(getMaterialProperty<Real>("electrical_conductivity")),
34  _delec_cond_dT(getMaterialPropertyDerivative<Real>("electrical_conductivity", _var.name())),
35  _delec_cond_darg(_coupled_moose_vars.size())
36 {
37  for (unsigned int i = 0; i < _delec_cond_darg.size(); ++i)
38  _delec_cond_darg[i] = &getMaterialPropertyDerivative<Real>("electrical_conductivity",
39  _coupled_moose_vars[i]->name());
40 }

Member Function Documentation

◆ computeQpJacobian()

Real JouleHeatingSource::computeQpJacobian ( )
protectedvirtual

Definition at line 55 of file JouleHeatingSource.C.

56 {
57  return -_delec_cond_dT[_qp] * _grad_elec[_qp] * _grad_elec[_qp] * _phi[_j][_qp] * _test[_i][_qp];
58 }

◆ computeQpOffDiagJacobian()

Real JouleHeatingSource::computeQpOffDiagJacobian ( unsigned int  jvar)
protectedvirtual

Definition at line 61 of file JouleHeatingSource.C.

62 {
63  const unsigned int cvar = mapJvarToCvar(jvar);
64 
65  if (jvar == _elec_var)
66  return -2 * _elec_cond[_qp] * _grad_elec[_qp] * _grad_phi[_j][_qp] * _test[_i][_qp] -
67  (*_delec_cond_darg[cvar])[_qp] * _grad_elec[_qp] * _grad_elec[_qp] * _phi[_j][_qp] *
68  _test[_i][_qp];
69 
70  return -(*_delec_cond_darg[cvar])[_qp] * _grad_elec[_qp] * _grad_elec[_qp] * _phi[_j][_qp] *
71  _test[_i][_qp];
72 }

◆ computeQpResidual()

Real JouleHeatingSource::computeQpResidual ( )
protectedvirtual

Definition at line 49 of file JouleHeatingSource.C.

50 {
51  return -_elec_cond[_qp] * _grad_elec[_qp] * _grad_elec[_qp] * _test[_i][_qp];
52 }

◆ initialSetup()

void JouleHeatingSource::initialSetup ( )
virtual

Definition at line 43 of file JouleHeatingSource.C.

44 {
45  validateNonlinearCoupling<Real>("electrical_conductivity");
46 }

◆ validParams()

InputParameters JouleHeatingSource::validParams ( )
static

Definition at line 17 of file JouleHeatingSource.C.

18 {
19  InputParameters params = HeatSource::validParams();
20  params.addCoupledVar("elec", "Electric potential for joule heating.");
21  params.addCoupledVar("args", "Vector of arguments of the diffusivity");
22  params.addParam<MaterialPropertyName>(
23  "electrical_conductivity",
24  "electrical_conductivity",
25  "Material property providing electrical conductivity of the material.");
26  return params;
27 }

Member Data Documentation

◆ _delec_cond_darg

std::vector<const MaterialProperty<Real> *> JouleHeatingSource::_delec_cond_darg
private

Definition at line 45 of file JouleHeatingSource.h.

Referenced by computeQpOffDiagJacobian(), and JouleHeatingSource().

◆ _delec_cond_dT

const MaterialProperty<Real>& JouleHeatingSource::_delec_cond_dT
private

Definition at line 44 of file JouleHeatingSource.h.

Referenced by computeQpJacobian().

◆ _elec_cond

const MaterialProperty<Real>& JouleHeatingSource::_elec_cond
private

Definition at line 43 of file JouleHeatingSource.h.

Referenced by computeQpOffDiagJacobian(), and computeQpResidual().

◆ _elec_var

const unsigned int JouleHeatingSource::_elec_var
private

Definition at line 41 of file JouleHeatingSource.h.

Referenced by computeQpOffDiagJacobian().

◆ _grad_elec

const VariableGradient& JouleHeatingSource::_grad_elec
private

The documentation for this class was generated from the following files:
HeatSource::validParams
static InputParameters validParams()
Definition: HeatSource.C:17
JouleHeatingSource::_delec_cond_dT
const MaterialProperty< Real > & _delec_cond_dT
Definition: JouleHeatingSource.h:44
JouleHeatingSource::_elec_cond
const MaterialProperty< Real > & _elec_cond
Definition: JouleHeatingSource.h:43
JouleHeatingSource::_elec_var
const unsigned int _elec_var
Definition: JouleHeatingSource.h:41
name
const std::string name
Definition: Setup.h:21
JouleHeatingSource::_grad_elec
const VariableGradient & _grad_elec
Definition: JouleHeatingSource.h:40
JouleHeatingSource::_delec_cond_darg
std::vector< const MaterialProperty< Real > * > _delec_cond_darg
Definition: JouleHeatingSource.h:45