https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CrossTermBarrierFunctionBase.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
15// Forward Declarations
16
22{
23public:
25
27
28protected:
29 virtual void computeQpProperties();
30
32 std::string _function_name;
33
35 unsigned int _g_order;
36
38 std::vector<Real> _W_ij;
39
41 unsigned int _num_eta;
42 const std::vector<VariableName> _eta_names;
43 const std::vector<const VariableValue *> _eta;
44
47 std::vector<MaterialProperty<Real> *> _prop_dg;
48 std::vector<std::vector<MaterialProperty<Real> *>> _prop_d2g;
50
52 std::vector<const MaterialProperty<Real> *> _h;
53 std::vector<std::vector<const MaterialProperty<Real> *>> _dh;
55};
CrossTermBarrierFunctionBase is the base to a set of free energy penalties that set the phase interfa...
MaterialProperty< Real > & _prop_g
Barrier function and its derivatives.
std::vector< const MaterialProperty< Real > * > _h
Switching functions and their derivatives.
unsigned int _num_eta
order parameters
std::string _function_name
name of the function of eta (used to generate the material property names)
std::vector< Real > _W_ij
barrier function height matrix
const std::vector< const VariableValue * > _eta
std::vector< std::vector< const MaterialProperty< Real > * > > _dh
std::vector< MaterialProperty< Real > * > _prop_dg
unsigned int _g_order
polynomial order of the switching function
std::vector< std::vector< MaterialProperty< Real > * > > _prop_d2g
const std::vector< VariableName > _eta_names