https://mooseframework.inl.gov
Loading...
Searching...
No Matches
DerivativeMultiPhaseBase.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
13
14// Forward Declarations
15
21{
22public:
24
26
27 virtual void initialSetup();
28
29protected:
30 virtual Real computeF();
31
36 std::vector<int> _eta_index;
37
39 std::vector<VariableValue *> _etas;
40
42 unsigned int _num_etas;
43 std::vector<VariableName> _eta_names;
44 std::vector<unsigned int> _eta_vars;
45
47 std::vector<MaterialPropertyName> _fi_names;
48 unsigned int _num_fi;
49
51 std::vector<const MaterialProperty<Real> *> _prop_Fi;
52
54 std::vector<std::vector<const MaterialProperty<Real> *>> _prop_dFi;
55
57 std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _prop_d2Fi;
58
60 std::vector<std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>>> _prop_d3Fi;
61
63 std::vector<MaterialPropertyName> _hi_names;
64 unsigned int _num_hi;
65
67 std::vector<const MaterialProperty<Real> *> _hi;
68
70 MaterialPropertyName _g_name;
71
74
76 std::vector<const MaterialProperty<Real> *> _dg;
77 std::vector<std::vector<const MaterialProperty<Real> *>> _d2g;
78 std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _d3g;
79
81 Real _W;
82};
DerivativeMaterial child class to evaluate a parsed function for the free energy and automatically pr...
std::vector< unsigned int > _eta_vars
unsigned int _num_etas
name of the order parameter variable
std::vector< int > _eta_index
If the variable a non-conserved OP this array holds the index into the etas parameter vector for a gi...
Real _W
Phase transformation energy barrier.
std::vector< MaterialPropertyName > _fi_names
phase derivative material names
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d3g
const MaterialProperty< Real > & _g
Barrier function .
static InputParameters validParams()
std::vector< MaterialPropertyName > _hi_names
phase switching function names
std::vector< VariableName > _eta_names
std::vector< VariableValue * > _etas
Phase parameter (0=A-phase, 1=B-phase)
std::vector< std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > > _prop_d3Fi
Third derivatives of Fi.
std::vector< const MaterialProperty< Real > * > _prop_Fi
Function value of the i phase.
std::vector< const MaterialProperty< Real > * > _dg
Barrier function derivatives.
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_dFi
Derivatives of Fi w.r.t. arg[i].
MaterialPropertyName _g_name
Barrier function name.
std::vector< const MaterialProperty< Real > * > _hi
Switching functions.
std::vector< std::vector< const MaterialProperty< Real > * > > _d2g
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _prop_d2Fi
Second derivatives of Fi.
const InputParameters & parameters() const