https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SwitchingFunctionMultiPhaseMaterial.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
24template <bool is_ad>
26{
27public:
29
31
32protected:
33 virtual void computeQpProperties();
34
36 MaterialPropertyName _h_name;
37
39 const unsigned int _num_eta_p;
40 const std::vector<const GenericVariableValue<is_ad> *> _eta_p;
41 const std::vector<VariableName> _eta_p_names;
42
44 const unsigned int _num_eta;
45 const std::vector<const GenericVariableValue<is_ad> *> _eta;
46 const std::vector<VariableName> _eta_names;
47
49 std::vector<bool> _is_p;
50
53 std::vector<GenericMaterialProperty<Real, is_ad> *> _prop_dh;
54 std::vector<std::vector<GenericMaterialProperty<Real, is_ad> *>> _prop_d2h;
55};
56
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
SwitchingFunctionMultiPhaseMaterialTempl< true > ADSwitchingFunctionMultiPhaseMaterial
SwitchingFunctionMultiPhaseMaterialTempl< false > SwitchingFunctionMultiPhaseMaterial
SwitchingFunctionMultiPhaseMaterial is a switching function for a multi-phase, multi-order parameter ...
GenericMaterialProperty< Real, is_ad > & _prop_h
Switching function and derivatives.
MaterialPropertyName _h_name
Name of the function.
const unsigned int _num_eta
Order parameters for all phases (including alpha)
const unsigned int _num_eta_p
Order parameters for phase alpha.
std::vector< std::vector< GenericMaterialProperty< Real, is_ad > * > > _prop_d2h
const std::vector< const GenericVariableValue< is_ad > * > _eta
const std::vector< const GenericVariableValue< is_ad > * > _eta_p
std::vector< GenericMaterialProperty< Real, is_ad > * > _prop_dh
std::vector< bool > _is_p
List of which order parameters in the full list of all etas belong to phase p.