https://mooseframework.inl.gov
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 {
22 public:
24 
26 
27  virtual void initialSetup();
28 
29 protected:
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 
82 };
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _prop_d2Fi
Second derivatives of Fi.
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d3g
std::vector< const MaterialProperty< Real > * > _dg
Barrier function derivatives.
const MaterialProperty< Real > & _g
Barrier function .
std::vector< MaterialPropertyName > _hi_names
phase switching function names
unsigned int _num_etas
name of the order parameter variable
std::vector< std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > > _prop_d3Fi
Third derivatives of Fi.
Real _W
Phase transformation energy barrier.
std::vector< MaterialPropertyName > _fi_names
phase derivative material names
std::vector< const MaterialProperty< Real > * > _hi
Switching functions.
std::vector< VariableName > _eta_names
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
MaterialPropertyName _g_name
Barrier function name.
DerivativeMultiPhaseBase(const InputParameters &parameters)
std::vector< std::vector< const MaterialProperty< Real > * > > _d2g
static InputParameters validParams()
const InputParameters & parameters() const
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...
DerivativeMaterial child class to evaluate a parsed function for the free energy and automatically pr...
std::vector< const MaterialProperty< Real > * > _prop_Fi
Function value of the i phase.
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_dFi
Derivatives of Fi w.r.t. arg[i].
std::vector< VariableValue * > _etas
Phase parameter (0=A-phase, 1=B-phase)
std::vector< unsigned int > _eta_vars