https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SplitCHCRes.C
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#include "SplitCHCRes.h"
11
14{
16 params.addClassDescription("Split formulation Cahn-Hilliard Kernel");
17 params.addRequiredCoupledVar("w", "Chemical potential");
18 params.addRequiredParam<MaterialPropertyName>("kappa_name", "The kappa used with the kernel");
19 return params;
20}
21
23 : SplitCHBase(parameters),
24 _kappa(getMaterialProperty<Real>("kappa_name")),
25 _w_var(coupled("w")),
26 _w(coupledValue("w"))
27{
28}
29
30/*Real
31SplitCHCRes::computeDFDC(PFFunctionType type)
32{
33 switch (type)
34 {
35 case Residual:
36 return _u[_qp]*_u[_qp]*_u[_qp] - _u[_qp]; // return Residual value
37
38 case Jacobian:
39 return (3.0*_u[_qp]*_u[_qp] - 1.0)*_phi[_j][_qp]; //return Jacobian value
40
41 }
42
43 mooseError("Invalid type passed in");
44}*/
45
46Real
48{
49 Real residual =
50 SplitCHBase::computeQpResidual(); //(f_prime_zero+e_prime)*_test[_i][_qp] from SplitCHBase
51
52 residual += -_w[_qp] * _test[_i][_qp];
53 residual += _kappa[_qp] * _grad_u[_qp] * _grad_test[_i][_qp];
54
55 return residual;
56}
57
58Real
60{
61 Real jacobian = SplitCHBase::computeQpJacobian(); //(df_prime_zero_dc+de_prime_dc)*_test[_i][_qp];
62 // from SplitCHBase
63
64 jacobian += _kappa[_qp] * _grad_phi[_j][_qp] * _grad_test[_i][_qp];
65
66 return jacobian;
67}
68
69Real
71{
72 if (jvar == _w_var)
73 {
74 return -_phi[_j][_qp] * _test[_i][_qp];
75 }
76
77 return 0.0;
78}
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
unsigned int _qp
unsigned int _j
unsigned int _i
const VariableGradient & _grad_u
const VariablePhiValue & _phi
const VariableTestValue & _test
const VariablePhiGradient & _grad_phi
const VariableTestGradient & _grad_test
The couple, SplitCHBase and SplitCHWRes, splits the CH equation by replacing chemical potential with ...
Definition SplitCHBase.h:18
virtual Real computeQpJacobian()
Definition SplitCHBase.C:50
static InputParameters validParams()
Definition SplitCHBase.C:13
virtual Real computeQpResidual()
Definition SplitCHBase.C:39
virtual Real computeQpJacobian()
Definition SplitCHCRes.C:59
virtual Real computeQpResidual()
Definition SplitCHCRes.C:47
const VariableValue & _w
Definition SplitCHCRes.h:31
const MaterialProperty< Real > & _kappa
Definition SplitCHCRes.h:29
SplitCHCRes(const InputParameters &parameters)
Definition SplitCHCRes.C:22
static InputParameters validParams()
Definition SplitCHCRes.C:13
unsigned int _w_var
Definition SplitCHCRes.h:30
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition SplitCHCRes.C:70