https://mooseframework.inl.gov
NestedKKSMultiSplitCHCRes.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 
13 #include "JvarMapInterface.h"
14 #include "Kernel.h"
15 
27 class NestedKKSMultiSplitCHCRes : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
28 {
29 public:
32 
33 protected:
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;
45 
47  const std::vector<VariableName> _c_names;
48 
50  const unsigned int _num_c;
51  const JvarMap & _c_map;
52  int _o;
54 
56  const unsigned int _w_var;
57  const VariableValue & _w;
59 
61  const std::vector<MaterialPropertyName> _c1_names;
62 
64  const MaterialPropertyName _F1_name;
65 
67  std::vector<const MaterialProperty<Real> *> _dF1dc1;
68 
70  std::vector<const MaterialProperty<Real> *> _d2F1dc1db1;
71 
73  std::vector<std::vector<const MaterialProperty<Real> *>> _dc1db;
74 
76  std::vector<std::vector<const MaterialProperty<Real> *>> _dc1detaj;
77 
79  std::vector<const MaterialProperty<Real> *> _d2F1dc1darg;
80 };
std::vector< std::vector< const MaterialProperty< Real > * > > _dc1detaj
Derivative of the phase concentrations wrt phase parameter .
const std::vector< VariableName > _c_names
Global concentrations.
std::vector< const MaterialProperty< Real > * > _dF1dc1
Derivative of the free energy function .
virtual Real computeQpResidual() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialPropertyName _F1_name
Free energy.
const std::vector< VariableName > _eta_names
Phase parameters.
std::vector< const MaterialProperty< Real > * > _d2F1dc1darg
Second derivative of the free energy function wrt phase concentration and a coupled variable...
OutputTools< Real >::VariableValue VariableValue
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const unsigned int _num_c
Number of global concentrations.
std::vector< const MaterialProperty< Real > * > _d2F1dc1db1
Second derivative of the free energy function .
const std::vector< MaterialPropertyName > _c1_names
Phase concentration of the first phase in _eta_names.
virtual Real computeQpJacobian() override
NestedKKSMultiSplitCHCRes(const InputParameters &parameters)
std::vector< std::vector< const MaterialProperty< Real > * > > _dc1db
Derivative of the phase concentrations wrt global concentrations .
static InputParameters validParams()
const unsigned int _w_var
Chemical potential.
const unsigned int _num_j
Number of phase parameters.
In the KKS split form for the term .