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