https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NestedKKSSplitCHCRes.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 "JvarMapInterface.h"
14#include "Kernel.h"
15
26class NestedKKSSplitCHCRes : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
27{
28public:
30
31 NestedKKSSplitCHCRes(const InputParameters & parameters);
32
33protected:
34 virtual Real computeQpResidual() override;
35 virtual Real computeQpJacobian() override;
36 virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
37
39 const std::vector<VariableName> _eta_names;
40
42 const unsigned int _num_j;
43 const JvarMap & _eta_map;
44
46 const std::vector<VariableName> _c_names;
47
49 const unsigned int _num_c;
50 const JvarMap & _c_map;
51 int _o;
53
55 const unsigned int _w_var;
58
60 const std::vector<MaterialPropertyName> _ca_names;
61
63 const MaterialPropertyName _Fa_name;
64
66 std::vector<const MaterialProperty<Real> *> _dFadca;
67
69 std::vector<const MaterialProperty<Real> *> _d2Fadcadba;
70
72 std::vector<std::vector<const MaterialProperty<Real> *>> _dcadb;
73
75 std::vector<std::vector<const MaterialProperty<Real> *>> _dcadetaj;
76
78 std::vector<const MaterialProperty<Real> *> _d2Fadcadarg;
79};
In the KKS split form for the term .
const MaterialPropertyName _Fa_name
Free energy.
std::vector< const MaterialProperty< Real > * > _dFadca
Derivative of the free energy function .
const std::vector< VariableName > _eta_names
Phase parameters.
const VariableValue & _w
virtual Real computeQpResidual() override
const std::vector< MaterialPropertyName > _ca_names
Phase concentration of the first phase in _eta_names.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
virtual Real computeQpJacobian() override
const unsigned int _num_j
Number of phase parameters.
const unsigned int _num_c
Number of global concentrations.
std::vector< std::vector< const MaterialProperty< Real > * > > _dcadb
Derivative of the phase concentrations wrt global concentrations .
const unsigned int _w_var
Chemical potential.
const std::vector< VariableName > _c_names
Global concentrations.
std::vector< std::vector< const MaterialProperty< Real > * > > _dcadetaj
Derivative of the phase concentrations wrt phase parameter .
static InputParameters validParams()
std::vector< const MaterialProperty< Real > * > _d2Fadcadba
Second derivative of the free energy function .
std::vector< const MaterialProperty< Real > * > _d2Fadcadarg
Second derivative of the free energy function wrt phase concentration and a coupled variable.
VariableValueTempl< false > VariableValue