https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SLKKSPhaseConcentration.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 "Kernel.h"
13#include "JvarMapInterface.h"
15
30class SLKKSPhaseConcentration : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
31{
32public:
34
35 SLKKSPhaseConcentration(const InputParameters & parameters);
36
37protected:
38 virtual Real computeQpResidual();
39 virtual Real computeQpJacobian();
40 virtual Real computeQpOffDiagJacobian(unsigned int jvar);
41
43 unsigned int _nca;
44 std::vector<const VariableValue *> _ca;
45 std::vector<Real> _a_ca;
46 const JvarMap & _ca_map;
48
50 unsigned int _ncb;
51 std::vector<const VariableValue *> _cb;
52 std::vector<Real> _a_cb;
53 const JvarMap & _cb_map;
55
57 Real _a_u;
58
61 unsigned int _c_var;
63
66 unsigned int _eta_var;
68
71
74
75private:
77 void computeSums();
78
80 Real _casum;
81 Real _cbsum;
83};
Enforce sum of phase concentrations to be the real concentration.
const VariableValue & _c
global concentration variable
Real _casum
updated by computeSums
static InputParameters validParams()
const MaterialProperty< Real > & _prop_h
Switching function .
const VariableValue & _eta
phase order parameter
std::vector< const VariableValue * > _cb
void computeSums()
update the _casum and _cbsum members
unsigned int _ncb
sublattice B variables
unsigned int _nca
sublattice A variables
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Real _a_u
sublattice fraction for the sublattice B concentration represented by the kernel variable
const MaterialProperty< Real > & _prop_dh
Derivative of the switching function .
std::vector< const VariableValue * > _ca
VariableValueTempl< false > VariableValue