https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADCHSplitConcentration.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("Concentration kernel in Split Cahn-Hilliard that solves chemical "
19 "potential in a weak form");
20 params.addRequiredCoupledVar("chemical_potential_var", "Chemical potential variable");
21 params.addRequiredParam<MaterialPropertyName>("mobility", "Mobility property name");
22 return params;
23}
24
26 : ADKernel(parameters),
27 _grad_mu(adCoupledGradient("chemical_potential_var")),
28 _mobility(getADMaterialProperty<Real>("mobility"))
29{
30}
31
registerMooseObject("PhaseFieldApp", ADCHSplitConcentration)
DualNumber< Real, DNDerivativeType, true > ADReal
Solves Cahn-Hilliard equation using chemical potential as non-linear variable.
const ADVariableGradient & _grad_mu
const ADMaterialProperty< Real > & _mobility
static InputParameters validParams()
ADCHSplitConcentration(const InputParameters &parameters)
const ADTemplateVariableTestGradient< T > & _grad_test
static InputParameters validParams()
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 _i