https://mooseframework.inl.gov
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 
22 class SLKKSMultiPhaseBase : public DerivativeMaterialInterface<JvarMapKernelInterface<KernelValue>>
23 {
24 public:
26 
27  SLKKSMultiPhaseBase(const InputParameters & parameters);
28 
29 protected:
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 
57  const VariableValue & _c;
58  const unsigned int _c_var;
59 };
const std::size_t _neta
Order parameters for each phase .
const JvarMap & _cs_map
const std::size_t _ncs
Sublattice concentrations.
const unsigned int _c_var
std::vector< VariableName > _eta_names
std::vector< const VariableValue * > _cs
const VariableValue & _c
Physical concentration.
std::vector< Real > _a_cs
Sublattice site numbers.
const JvarMap & _eta_map
OutputTools< Real >::VariableValue VariableValue
const std::size_t _nh
std::vector< unsigned int > _phase
phase index of each cs entry
Enforce sum of phase sublattice concentrations to be the real concentration.
SLKKSMultiPhaseBase(const InputParameters &parameters)
std::vector< MaterialPropertyName > _h_names
Switching function names.
static InputParameters validParams()
std::vector< unsigned int > _ns
Number of sublattices per phase.