www.mooseframework.org
KKSCHBulk.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "CHBulk.h"
13 
14 // Forward Declarations
15 class KKSCHBulk;
16 
17 template <>
18 InputParameters validParams<KKSCHBulk>();
19 
32 class KKSCHBulk : public CHBulk<Real>
33 {
34 public:
35  KKSCHBulk(const InputParameters & parameters);
36 
37 protected:
39  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
40 
41 private:
43  unsigned int _nvar;
44 
47  unsigned int _ca_var;
48  const VariableName _ca_name;
49  unsigned int _cb_var;
50  const VariableName _cb_name;
52 
54  std::vector<const MaterialProperty<Real> *> _second_derivatives;
55 
57  std::vector<std::vector<const MaterialProperty<Real> *>> _third_derivatives;
58 
60  std::vector<const MaterialProperty<Real> *> _third_derivatives_ca;
61 
63  std::vector<const VariableGradient *> _grad_args;
64 
66  const MaterialProperty<Real> & _prop_h;
67 
69  const MaterialProperty<Real> & _second_derivative_Fa;
70 
72  const MaterialProperty<Real> & _second_derivative_Fb;
73 };
74 
KKSCHBulk::_second_derivative_Fb
const MaterialProperty< Real > & _second_derivative_Fb
Second derivative .
Definition: KKSCHBulk.h:72
KKSCHBulk::_second_derivative_Fa
const MaterialProperty< Real > & _second_derivative_Fa
Second derivative .
Definition: KKSCHBulk.h:69
KKSCHBulk::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: KKSCHBulk.C:124
KKSCHBulk::computeGradDFDCons
virtual RealGradient computeGradDFDCons(PFFunctionType type)
Note that per product and chain rules: which is: .
Definition: KKSCHBulk.C:90
KKSCHBulk::_ca_var
unsigned int _ca_var
Definition: KKSCHBulk.h:47
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
KKSCHBulk::_second_derivatives
std::vector< const MaterialProperty< Real > * > _second_derivatives
Derivatives of with respect to all coupled variables.
Definition: KKSCHBulk.h:54
KKSCHBulk::_cb_name
const VariableName _cb_name
Definition: KKSCHBulk.h:50
KKSCHBulk::_prop_h
const MaterialProperty< Real > & _prop_h
h(eta) material property
Definition: KKSCHBulk.h:66
KKSCHBulk::_nvar
unsigned int _nvar
Number of coupled variables.
Definition: KKSCHBulk.h:43
validParams< KKSCHBulk >
InputParameters validParams< KKSCHBulk >()
Definition: KKSCHBulk.C:16
CHBulk.h
KKSCHBulk::_third_derivatives
std::vector< std::vector< const MaterialProperty< Real > * > > _third_derivatives
Second derivatives of dFa/dca with respect to all coupled variables.
Definition: KKSCHBulk.h:57
KKSCHBulk::_ca_name
const VariableName _ca_name
Definition: KKSCHBulk.h:48
KKSCHBulk::_grad_args
std::vector< const VariableGradient * > _grad_args
Gradients for all coupled variables.
Definition: KKSCHBulk.h:63
CHBulk< Real >::PFFunctionType
PFFunctionType
Definition: CHBulk.h:38
KKSCHBulk::_third_derivatives_ca
std::vector< const MaterialProperty< Real > * > _third_derivatives_ca
Derivatives of with respect to all coupled variables.
Definition: KKSCHBulk.h:60
KKSCHBulk::KKSCHBulk
KKSCHBulk(const InputParameters &parameters)
Definition: KKSCHBulk.C:40
KKSCHBulk
CHBulk child class that takes all the necessary data from a KKSBaseMaterial.
Definition: KKSCHBulk.h:32
KKSCHBulk::_cb_var
unsigned int _cb_var
Definition: KKSCHBulk.h:49
CHBulk
This is the Cahn-Hilliard equation base class that implements the bulk or local energy term of the eq...
Definition: CHBulk.h:25