Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
ElectrochemicalDefectMaterial.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 #pragma once
11 
12 #include "Material.h"
14 
20 {
21 public:
23 
25 
26 protected:
27  virtual void computeQpProperties();
28 
30  const unsigned int _neta;
31 
33  std::vector<const VariableValue *> _eta;
34  std::vector<VariableName> _eta_name;
35 
37  const VariableValue & _w;
38  const NonlinearVariableName _w_name;
39 
42  const NonlinearVariableName _phi_name;
43 
45  const MaterialPropertyName _ns_min_name;
47  std::vector<const MaterialProperty<Real> *> _dns_min;
48  std::vector<std::vector<const MaterialProperty<Real> *>> _d2ns_min;
49 
52 
54  const VariableValue & _v;
55 
58 
63 
68 
73 
75  MaterialPropertyName _chi_name;
82 
84  MaterialPropertyName _nv_name;
87 
89  MaterialPropertyName _ns_name;
93  std::vector<MaterialProperty<Real> *> _dns;
94  std::vector<MaterialProperty<Real> *> _d2nsdwdeta;
95  std::vector<std::vector<MaterialProperty<Real> *>> _d2ns;
96 
99 
101  const Real _kB;
102 
104  const Real _e;
105 
107  const int _z;
108 
110  const Real _v_scale;
111 
113  const Real _eps_r;
114 
116  const Real _nv_min;
117 };
const MooseEnum _solid_energy
Type of energy function to use for the solid phase.
OutputTools< Real >::VariableGradient VariableGradient
const VariableValue & _v
electric potential
const Real _kB
Boltzmann constant.
const MaterialProperty< Real > & _hv
void phase switching function
const Real _eps_r
Solid phase relative permittivity.
const Real _nv_min
minimum in energy wrt vacancy concentration in void
const MaterialProperty< Real > & _dhs
const MaterialProperty< Real > & _d2hs
std::vector< std::vector< MaterialProperty< Real > * > > _d2ns
const int _z
Defect species charge.
std::vector< MaterialProperty< Real > * > _dns
const MaterialProperty< Real > & _ns_min
const MaterialProperty< Real > & _ks
solid energy coefficient
MaterialPropertyName _ns_name
solid phase vacancy density
const VariableValue & _temp
temperature
const unsigned int _neta
number of solid phase order paramters
MaterialPropertyName _chi_name
susceptibility and derivatives
const MaterialProperty< Real > & _kv
void energy coefficient
const MaterialProperty< Real > & _hs
solid phase switching function
std::vector< std::vector< const MaterialProperty< Real > * > > _d2ns_min
OutputTools< Real >::VariableValue VariableValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ElectrochemicalDefectMaterial(const InputParameters &parameters)
std::vector< MaterialProperty< Real > * > _d2nsdwdeta
const MaterialProperty< Real > & _d2hv
const InputParameters & parameters() const
std::vector< const MaterialProperty< Real > * > _dns_min
MaterialPropertyName _nv_name
void phase vacancy density
const VariableValue & _phi
void phase order parameter
const VariableGradient & _grad_V
Gradient of electric potential.
This material calculates defect-specific parameters for the grand potential sintering model with mult...
std::vector< const VariableValue * > _eta
solid phase order parameters
const MaterialProperty< Real > & _dhv
const MaterialPropertyName _ns_min_name
minimum in energy wrt vacancy concentration in solid
const VariableValue & _w
chemical potential