Line data Source code
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 "DivDivField.h" 11 : #include "Assembly.h" 12 : 13 : registerMooseObject("MooseApp", DivDivField); 14 : 15 : InputParameters 16 3211 : DivDivField::validParams() 17 : { 18 3211 : InputParameters params = VectorKernel::validParams(); 19 6422 : params.addClassDescription( 20 : "The grad-div operator optionally scaled by a constant scalar coefficient." 21 : "Weak form: $(\\nabla \\cdot \\vec{\\psi_i}, k \\nabla \\cdot \\vec{u})$."); 22 9633 : params.addParam<Real>("coeff", 1.0, "The constant coefficient"); 23 3211 : return params; 24 0 : } 25 : 26 78 : DivDivField::DivDivField(const InputParameters & parameters) 27 : : VectorKernel(parameters), 28 156 : _div_test(_var.divPhi()), 29 78 : _div_phi(_assembly.divPhi(_var)), 30 78 : _div_u(_is_implicit ? _var.divSln() : _var.divSlnOld()), 31 234 : _coeff(getParam<Real>("coeff")) 32 : { 33 78 : } 34 : 35 : Real 36 285696 : DivDivField::computeQpResidual() 37 : { 38 285696 : return _coeff * _div_u[_qp] * _div_test[_i][_qp]; 39 : } 40 : 41 : Real 42 1198080 : DivDivField::computeQpJacobian() 43 : { 44 1198080 : return _coeff * _div_phi[_j][_qp] * _div_test[_i][_qp]; 45 : }