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

Calculates resistivity and electrical conductivity as a function of temperature. More...

#include <SemiconductorLinearConductivity.h>

Inheritance diagram for SemiconductorLinearConductivity:
[legend]

Public Member Functions

 SemiconductorLinearConductivity (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties ()
 

Private Attributes

const Real _sh_coeff_A
 
const Real _sh_coeff_B
 
const VariableValue & _T
 
std::string _base_name
 
MaterialProperty< Real > & _electric_conductivity
 
MaterialProperty< Real > & _delectric_conductivity_dT
 

Detailed Description

Calculates resistivity and electrical conductivity as a function of temperature.

For semiconductor, Steinhart-Hart equation describes the temperature dependence of the resistivity: 1/T = A + B ln () + C (ln ())^3

For linear relationship ONLY => C = 0 1/T = A -B ln() : electrical resistivity in ohm-m = 1/() : electrical conductivity in 1/(ohm-m)

Definition at line 31 of file SemiconductorLinearConductivity.h.

Constructor & Destructor Documentation

◆ SemiconductorLinearConductivity()

SemiconductorLinearConductivity::SemiconductorLinearConductivity ( const InputParameters &  parameters)

Definition at line 28 of file SemiconductorLinearConductivity.C.

29  : DerivativeMaterialInterface<Material>(parameters),
30  _sh_coeff_A(getParam<Real>("sh_coeff_A")),
31  _sh_coeff_B(getParam<Real>("sh_coeff_B")),
32  _T(coupledValue("temp")),
33  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
34  _electric_conductivity(declareProperty<Real>(_base_name + "electrical_conductivity")),
35  _delectric_conductivity_dT(declarePropertyDerivative<Real>(
36  _base_name + "electrical_conductivity", getVar("temp", 0)->name()))
37 {
38 }
MaterialProperty< Real > & _electric_conductivity
const std::string name
Definition: Setup.h:22
MaterialProperty< Real > & _delectric_conductivity_dT

Member Function Documentation

◆ computeQpProperties()

void SemiconductorLinearConductivity::computeQpProperties ( )
protectedvirtual

Definition at line 41 of file SemiconductorLinearConductivity.C.

42 {
43  mooseAssert(MooseUtils::absoluteFuzzyGreaterThan(_T[_qp], 0.0),
44  "Encountered zero or negative temperature in SemiconductorLinearConductivity");
45 
46  mooseAssert(_sh_coeff_B != 0, "Divided by zero as _sh_coeff_B = 0");
47 
48  _electric_conductivity[_qp] = exp((_sh_coeff_A - 1 / _T[_qp]) / _sh_coeff_B);
50 }
MaterialProperty< Real > & _electric_conductivity
MaterialProperty< Real > & _delectric_conductivity_dT

Member Data Documentation

◆ _base_name

std::string SemiconductorLinearConductivity::_base_name
private

Definition at line 44 of file SemiconductorLinearConductivity.h.

◆ _delectric_conductivity_dT

MaterialProperty<Real>& SemiconductorLinearConductivity::_delectric_conductivity_dT
private

Definition at line 46 of file SemiconductorLinearConductivity.h.

Referenced by computeQpProperties().

◆ _electric_conductivity

MaterialProperty<Real>& SemiconductorLinearConductivity::_electric_conductivity
private

Definition at line 45 of file SemiconductorLinearConductivity.h.

Referenced by computeQpProperties().

◆ _sh_coeff_A

const Real SemiconductorLinearConductivity::_sh_coeff_A
private

Definition at line 40 of file SemiconductorLinearConductivity.h.

Referenced by computeQpProperties().

◆ _sh_coeff_B

const Real SemiconductorLinearConductivity::_sh_coeff_B
private

Definition at line 41 of file SemiconductorLinearConductivity.h.

Referenced by computeQpProperties().

◆ _T

const VariableValue& SemiconductorLinearConductivity::_T
private

Definition at line 42 of file SemiconductorLinearConductivity.h.

Referenced by computeQpProperties().


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