https://mooseframework.inl.gov
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 
26 class NestedKKSSplitCHCRes : public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
27 {
28 public:
30 
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;
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;
56  const VariableValue & _w;
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 };
const VariableValue & _w
const unsigned int _w_var
Chemical potential.
const MaterialPropertyName _Fa_name
Free energy.
NestedKKSSplitCHCRes(const InputParameters &parameters)
static InputParameters validParams()
const std::vector< MaterialPropertyName > _ca_names
Phase concentration of the first phase in _eta_names.
std::vector< std::vector< const MaterialProperty< Real > * > > _dcadetaj
Derivative of the phase concentrations wrt phase parameter .
In the KKS split form for the term .
virtual Real computeQpResidual() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const unsigned int _num_c
Number of global concentrations.
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...
OutputTools< Real >::VariableValue VariableValue
const std::vector< VariableName > _eta_names
Phase parameters.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< std::vector< const MaterialProperty< Real > * > > _dcadb
Derivative of the phase concentrations wrt global concentrations .
const unsigned int _num_j
Number of phase parameters.
virtual Real computeQpJacobian() override
const std::vector< VariableName > _c_names
Global concentrations.
std::vector< const MaterialProperty< Real > * > _dFadca
Derivative of the free energy function .