https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
21public:
23
25
26protected:
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
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
111 const Real _sigma_gb;
112
114 const Real _int_width;
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
132 const Real _kappa_gb;
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};
This material calculates necessary parameters for the grand potential sintering model with multiple d...
const unsigned int _ndefects
number of defect species
std::vector< std::vector< MaterialProperty< Real > * > > _d2omegasdetadeta
const VariableValue & _v
electric potential
std::vector< const MaterialProperty< Real > * > _ns_min
std::vector< MaterialProperty< Real > * > _domegavdw
MaterialProperty< Real > & _omegas
solid phase grand potential density
std::vector< std::vector< const MaterialProperty< Real > * > > _dns_min
MaterialProperty< Real > & _mu
energy barrier coefficient
const VariableValue & _phi
void phase order parameter
std::vector< MaterialPropertyName > _ks_names
Names of solid energy coefficient for each defect.
const Real _eps_r
Solid phase relative permittivity.
std::vector< const VariableValue * > _w
chemical potentials for defects
std::vector< MaterialProperty< Real > * > _domegasdeta
MaterialProperty< Real > & _hv
void phase switching function
MaterialProperty< Real > & _kappa
gradient energy coefficient
std::vector< MaterialPropertyName > _ns_min_names
minima in energy wrt vacancy concentration in solid
std::vector< MaterialProperty< Real > * > _d2omegavdw2
MaterialProperty< Real > & _gamma
interface profile coefficient
const std::vector< int > _z
Defects species charges in units of e.
std::vector< MaterialProperty< Real > * > _domegasdw
const VariableGradient & _grad_V
Gradient of electric potential.
MaterialProperty< Real > & _hs
solid phase switching function
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d2ns_min
const MooseEnum _solid_energy
Type of energy function to use for the solid phase.
std::vector< std::vector< MaterialProperty< Real > * > > _d2omegasdwdeta
const unsigned int _neta
number of solid phase order paramters
const Real _switch
Parameter to determine accuracy of surface/GB phase switching function.
std::vector< const MaterialProperty< Real > * > _ks
solid energy coefficient for each defect
MaterialProperty< Real > & _omegav
void phase grand potential density
std::vector< MaterialPropertyName > _kv_names
Names of void energy coefficient for each defect.
const Real _mu_gb
mu value on grain boundaries
std::vector< const MaterialProperty< Real > * > _kv
void energy coefficients for each defect
std::vector< const VariableValue * > _eta
solid phase order parameters
const Real _kappa_gb
kappa value on grain boundaries
const std::vector< Real > _nv_min
minima in energy wrt vacancy concentration in void
std::vector< MaterialProperty< Real > * > _d2omegasdw2
VariableValueTempl< false > VariableValue
VariableGradientTempl< false > VariableGradient