https://mooseframework.inl.gov
DerivativeTwoPhaseMaterial.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 
23 {
24 public:
26 
28 
29  virtual void initialSetup() override;
30 
31 protected:
32  virtual Real computeF() override;
33  virtual Real computeDF(unsigned int i_var) override;
34  virtual Real computeD2F(unsigned int i_var, unsigned int j_var) override;
35  virtual Real computeD3F(unsigned int i_var, unsigned int j_var, unsigned int k_var) override;
36 
39 
41  VariableName _eta_name;
42 
44  unsigned int _eta_var;
45 
53 
61 
64 
67 
69  std::vector<const MaterialProperty<Real> *> _prop_dFa, _prop_dFb;
70 
72  std::vector<std::vector<const MaterialProperty<Real> *>> _prop_d2Fa, _prop_d2Fb;
73 
75  std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _prop_d3Fa, _prop_d3Fb;
76 };
virtual Real computeDF(unsigned int i_var) override
DerivativeTwoPhaseMaterial(const InputParameters &parameters)
const MaterialProperty< Real > & _dh
const VariableValue & _eta
Phase parameter (0=A-phase, 1=B-phase)
const MaterialProperty< Real > & _d3g
const MaterialProperty< Real > & _prop_Fa
Function value of the A and B phase.
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2Fa
Second derivatives of Fa and Fb.
const MaterialProperty< Real > & _g
std::vector< const MaterialProperty< Real > * > _prop_dFb
virtual Real computeD3F(unsigned int i_var, unsigned int j_var, unsigned int k_var) override
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _prop_d3Fb
DerivativeMaterial child class to evaluate a parsed function for the free energy and automatically pr...
static InputParameters validParams()
const MaterialProperty< Real > & _d2h
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _prop_d3Fa
Third derivatives of Fa and Fb.
Real _W
Phase transformatuion energy barrier.
const MaterialProperty< Real > & _d3h
virtual void initialSetup() override
OutputTools< Real >::VariableValue VariableValue
const MaterialProperty< Real > & _h
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< Real > & _d2g
const MaterialProperty< Real > & _dg
const InputParameters & parameters() const
std::vector< const MaterialProperty< Real > * > _prop_dFa
Derivatives of Fa and Fb with respect to arg[i].
VariableName _eta_name
name of the order parameter variable
const MaterialProperty< Real > & _prop_Fb
unsigned int _eta_var
libMesh variable number for eta
virtual Real computeD2F(unsigned int i_var, unsigned int j_var) override
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2Fb