https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADACInterfaceKobayashi1.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
11
13
16{
18 params.addClassDescription("Anisotropic gradient energy Allen-Cahn Kernel Part 1");
19 params.addParam<MaterialPropertyName>("mob_name", "L", "The mobility used with the kernel");
20 params.addParam<MaterialPropertyName>("eps_name", "eps", "The anisotropic interface parameter");
21 params.addParam<MaterialPropertyName>(
22 "deps_name",
23 "deps",
24 "The derivative of the anisotropic interface parameter with respect to angle");
25 return params;
26}
27
29 : ADKernelGrad(parameters),
30 _mob(getADMaterialProperty<Real>("mob_name")),
31 _eps(getADMaterialProperty<Real>("eps_name")),
32 _deps(getADMaterialProperty<Real>("deps_name"))
33{
34}
35
38{
39 // Set modified gradient vector
40 const ADRealGradient v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
41
42 // Define anisotropic interface residual
43 return _eps[_qp] * _deps[_qp] * _mob[_qp] * v;
44}
registerMooseObject("PhaseFieldApp", ADACInterfaceKobayashi1)
const double v
Kernel 1 of 2 for interfacial energy anisotropy in the Allen-Cahn equation as implemented in R.
static InputParameters validParams()
ADACInterfaceKobayashi1(const InputParameters &parameters)
ADRealGradient precomputeQpResidual() override
const ADMaterialProperty< Real > & _mob
Mobility.
const ADMaterialProperty< Real > & _deps
Angular derivative of interfacial parameter.
const ADMaterialProperty< Real > & _eps
Interfacial parameter.
static InputParameters validParams()
const ADTemplateVariableGradient< T > & _grad_u
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
unsigned int _qp