Line data Source code
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 "ADCHSplitConcentration.h" 11 : 12 : registerMooseObject("PhaseFieldApp", ADCHSplitConcentration); 13 : 14 : InputParameters 15 64 : ADCHSplitConcentration::validParams() 16 : { 17 64 : InputParameters params = ADKernel::validParams(); 18 64 : params.addClassDescription("Concentration kernel in Split Cahn-Hilliard that solves chemical " 19 : "potential in a weak form"); 20 128 : params.addRequiredCoupledVar("chemical_potential_var", "Chemical potential variable"); 21 128 : params.addRequiredParam<MaterialPropertyName>("mobility", "Mobility property name"); 22 64 : return params; 23 0 : } 24 : 25 34 : ADCHSplitConcentration::ADCHSplitConcentration(const InputParameters & parameters) 26 : : ADKernel(parameters), 27 34 : _grad_mu(adCoupledGradient("chemical_potential_var")), 28 102 : _mobility(getADMaterialProperty<Real>("mobility")) 29 : { 30 34 : } 31 : 32 : ADReal 33 161040 : ADCHSplitConcentration::computeQpResidual() 34 : { 35 161040 : return _mobility[_qp] * _grad_mu[_qp] * _grad_test[_i][_qp]; 36 : }