https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SLKKSMultiPhaseBase.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 "KernelValue.h"
13#include "JvarMapInterface.h"
15
22class SLKKSMultiPhaseBase : public DerivativeMaterialInterface<JvarMapKernelInterface<KernelValue>>
23{
24public:
26
27 SLKKSMultiPhaseBase(const InputParameters & parameters);
28
29protected:
31 const std::size_t _ncs;
32 std::vector<const VariableValue *> _cs;
33 const JvarMap & _cs_map;
35
37 std::vector<unsigned int> _ns;
38
40 const std::size_t _neta;
41 std::vector<VariableName> _eta_names;
42 const JvarMap & _eta_map;
44
46 std::vector<Real> _a_cs;
47
49 std::vector<MaterialPropertyName> _h_names;
50 const std::size_t _nh;
52
54 std::vector<unsigned int> _phase;
55
58 const unsigned int _c_var;
59};
Enforce sum of phase sublattice concentrations to be the real concentration.
std::vector< const VariableValue * > _cs
const std::size_t _neta
Order parameters for each phase .
const unsigned int _c_var
std::vector< MaterialPropertyName > _h_names
Switching function names.
const std::size_t _nh
const VariableValue & _c
Physical concentration.
std::vector< unsigned int > _phase
phase index of each cs entry
static InputParameters validParams()
std::vector< Real > _a_cs
Sublattice site numbers.
const std::size_t _ncs
Sublattice concentrations.
std::vector< VariableName > _eta_names
std::vector< unsigned int > _ns
Number of sublattices per phase.
VariableValueTempl< false > VariableValue