https://mooseframework.inl.gov
ElectrochemicalSinteringMaterial.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 unsigned int _ndefects;
38 
40  std::vector<const VariableValue *> _w;
41  std::vector<VariableName> _w_name;
42 
45  const NonlinearVariableName _phi_name;
46 
48  std::vector<MaterialPropertyName> _ns_min_names;
49  std::vector<const MaterialProperty<Real> *> _ns_min;
50  std::vector<std::vector<const MaterialProperty<Real> *>> _dns_min;
51  std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _d2ns_min;
52 
55 
57  const VariableValue & _v;
58 
61 
63  std::vector<MaterialPropertyName> _kv_names;
65  std::vector<const MaterialProperty<Real> *> _kv;
67  std::vector<MaterialPropertyName> _ks_names;
69  std::vector<const MaterialProperty<Real> *> _ks;
70 
75 
80 
83  std::vector<MaterialProperty<Real> *> _domegavdw;
84  std::vector<MaterialProperty<Real> *> _d2omegavdw2;
85 
88  std::vector<MaterialProperty<Real> *> _domegasdw;
89  std::vector<MaterialProperty<Real> *> _d2omegasdw2;
90  std::vector<MaterialProperty<Real> *> _domegasdeta;
91  std::vector<std::vector<MaterialProperty<Real> *>> _d2omegasdwdeta;
92  std::vector<std::vector<MaterialProperty<Real> *>> _d2omegasdetadeta;
93 
98 
103 
106 
108  const Real _sigma_s;
109 
112 
115 
117  const Real _switch;
118 
121 
123  const Real _mu_s;
124 
126  const Real _mu_gb;
127 
129  const Real _kappa_s;
130 
133 
135  const Real _kB;
136 
138  const Real _e;
139 
141  const std::vector<int> _z;
142 
144  const Real _v_scale;
145 
147  const Real _eps_r;
148 
150  const std::vector<Real> _nv_min;
151 };
OutputTools< Real >::VariableGradient VariableGradient
This material calculates necessary parameters for the grand potential sintering model with multiple d...
const std::vector< int > _z
Defects species charges in units of e.
MaterialProperty< Real > & _mu
energy barrier coefficient
ElectrochemicalSinteringMaterial(const InputParameters &parameters)
MaterialProperty< Real > & _hs
solid phase switching function
const VariableValue & _v
electric potential
const unsigned int _ndefects
number of defect species
const VariableValue & _phi
void phase order parameter
std::vector< MaterialPropertyName > _ns_min_names
minima in energy wrt vacancy concentration in solid
MaterialProperty< Real > & _hv
void phase switching function
const Real _kappa_gb
kappa value on grain boundaries
std::vector< std::vector< MaterialProperty< Real > * > > _d2omegasdwdeta
const Real _kappa_s
kappa value on surfaces
const VariableValue & _temp
temperature
const std::vector< Real > _nv_min
minima in energy wrt vacancy concentration in void
MaterialProperty< Real > & _omegas
solid phase grand potential density
std::vector< const MaterialProperty< Real > * > _kv
void energy coefficients for each defect
std::vector< MaterialProperty< Real > * > _d2omegasdw2
MaterialProperty< Real > & _kappa
gradient energy coefficient
std::vector< const VariableValue * > _w
chemical potentials for defects
std::vector< MaterialProperty< Real > * > _d2omegavdw2
MaterialProperty< Real > & _omegav
void phase grand potential density
const VariableGradient & _grad_V
Gradient of electric potential.
std::vector< const MaterialProperty< Real > * > _ks
solid energy coefficient for each defect
std::vector< MaterialProperty< Real > * > _domegasdeta
OutputTools< Real >::VariableValue VariableValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< MaterialPropertyName > _ks_names
Names of solid energy coefficient for each defect.
const Real _sigma_gb
grain boundary energy
std::vector< MaterialProperty< Real > * > _domegasdw
const Real _mu_gb
mu value on grain boundaries
const Real _switch
Parameter to determine accuracy of surface/GB phase switching function.
std::vector< MaterialProperty< Real > * > _domegavdw
MaterialProperty< Real > & _gamma
interface profile coefficient
const unsigned int _neta
number of solid phase order paramters
std::vector< MaterialPropertyName > _kv_names
Names of void energy coefficient for each defect.
const InputParameters & parameters() const
std::vector< std::vector< const MaterialProperty< Real > * > > _dns_min
std::vector< const MaterialProperty< Real > * > _ns_min
const Real _eps_r
Solid phase relative permittivity.
const MooseEnum _solid_energy
Type of energy function to use for the solid phase.
std::vector< const VariableValue * > _eta
solid phase order parameters
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d2ns_min
std::vector< std::vector< MaterialProperty< Real > * > > _d2omegasdetadeta