www.mooseframework.org
CrossTermBarrierFunctionBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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"
13 #include "DerivativeMaterialInterface.h"
14 
15 // Forward Declarations
17 
18 template <>
20 
25 class CrossTermBarrierFunctionBase : public DerivativeMaterialInterface<Material>
26 {
27 public:
28  CrossTermBarrierFunctionBase(const InputParameters & parameters);
29 
30 protected:
31  virtual void computeQpProperties();
32 
34  std::string _function_name;
35 
37  unsigned int _g_order;
38 
40  std::vector<Real> _W_ij;
41 
43  unsigned int _num_eta;
44  std::vector<VariableName> _eta_names;
45  std::vector<const VariableValue *> _eta;
46 
48  MaterialProperty<Real> & _prop_g;
49  std::vector<MaterialProperty<Real> *> _prop_dg;
50  std::vector<std::vector<MaterialProperty<Real> *>> _prop_d2g;
52 
54  std::vector<const MaterialProperty<Real> *> _h;
55  std::vector<std::vector<const MaterialProperty<Real> *>> _dh;
57 };
58 
CrossTermBarrierFunctionBase::_function_name
std::string _function_name
name of the function of eta (used to generate the material property names)
Definition: CrossTermBarrierFunctionBase.h:34
CrossTermBarrierFunctionBase::_prop_d2g
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2g
Definition: CrossTermBarrierFunctionBase.h:50
CrossTermBarrierFunctionBase::_num_eta
unsigned int _num_eta
order parameters
Definition: CrossTermBarrierFunctionBase.h:43
CrossTermBarrierFunctionBase::_eta_names
std::vector< VariableName > _eta_names
Definition: CrossTermBarrierFunctionBase.h:44
CrossTermBarrierFunctionBase::_h
std::vector< const MaterialProperty< Real > * > _h
Switching functions and their derivatives.
Definition: CrossTermBarrierFunctionBase.h:54
CrossTermBarrierFunctionBase::CrossTermBarrierFunctionBase
CrossTermBarrierFunctionBase(const InputParameters &parameters)
Definition: CrossTermBarrierFunctionBase.C:28
CrossTermBarrierFunctionBase::_dh
std::vector< std::vector< const MaterialProperty< Real > * > > _dh
Definition: CrossTermBarrierFunctionBase.h:55
CrossTermBarrierFunctionBase::computeQpProperties
virtual void computeQpProperties()
Definition: CrossTermBarrierFunctionBase.C:70
CrossTermBarrierFunctionBase::_prop_g
MaterialProperty< Real > & _prop_g
Barrier function and its derivatives.
Definition: CrossTermBarrierFunctionBase.h:48
validParams< CrossTermBarrierFunctionBase >
InputParameters validParams< CrossTermBarrierFunctionBase >()
Definition: CrossTermBarrierFunctionBase.C:14
CrossTermBarrierFunctionBase::_prop_dg
std::vector< MaterialProperty< Real > * > _prop_dg
Definition: CrossTermBarrierFunctionBase.h:49
CrossTermBarrierFunctionBase
CrossTermBarrierFunctionBase is the base to a set of free energy penalties that set the phase interfa...
Definition: CrossTermBarrierFunctionBase.h:25
CrossTermBarrierFunctionBase::_g_order
unsigned int _g_order
polynomial order of the switching function
Definition: CrossTermBarrierFunctionBase.h:37
CrossTermBarrierFunctionBase::_W_ij
std::vector< Real > _W_ij
barrier function height matrix
Definition: CrossTermBarrierFunctionBase.h:40
CrossTermBarrierFunctionBase::_eta
std::vector< const VariableValue * > _eta
Definition: CrossTermBarrierFunctionBase.h:45