www.mooseframework.org
ADCHSplitConcentration.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 "ADCHSplitConcentration.h"
11 
13 
16  ADKernel,
17  params.addClassDescription("Concentration kernel in Split Cahn-Hilliard that solves chemical "
18  "potential in a weak form");
19  params.addRequiredCoupledVar("chemical_potential_var", "Chemical potential variable");
20  params.addRequiredParam<MaterialPropertyName>("mobility", "Mobility property name"););
21 
22 template <ComputeStage compute_stage>
24  : ADKernel<compute_stage>(parameters),
25  _grad_mu(adCoupledGradient("chemical_potential_var")),
26  _mobility(getADMaterialProperty<Real>("mobility"))
27 {
28 }
29 
30 template <ComputeStage compute_stage>
31 ADReal
33 {
34  return _mobility[_qp] * _grad_mu[_qp] * _grad_test[_i][_qp];
35 }
ADCHSplitConcentration::ADCHSplitConcentration
ADCHSplitConcentration(const InputParameters &parameters)
Definition: ADCHSplitConcentration.C:23
ADCHSplitConcentration
Solves Cahn-Hilliard equation using chemical potential as non-linear variable.
Definition: ADCHSplitConcentration.h:16
registerADMooseObject
registerADMooseObject("PhaseFieldApp", ADCHSplitConcentration)
ADCHSplitConcentration.h
ADCHSplitConcentration::computeQpResidual
virtual ADReal computeQpResidual()
Definition: ADCHSplitConcentration.C:32
defineADValidParams
defineADValidParams(ADCHSplitConcentration, ADKernel, params.addClassDescription("Concentration kernel in Split Cahn-Hilliard that solves chemical " "potential in a weak form");params.addRequiredCoupledVar("chemical_potential_var", "Chemical potential variable");params.addRequiredParam< MaterialPropertyName >("mobility", "Mobility property name");)