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 "INSMomentumNoBCBCLaplaceForm.h" 11 : #include "MooseMesh.h" 12 : 13 : registerMooseObject("NavierStokesApp", INSMomentumNoBCBCLaplaceForm); 14 : 15 : InputParameters 16 164 : INSMomentumNoBCBCLaplaceForm::validParams() 17 : { 18 164 : InputParameters params = INSMomentumNoBCBCBase::validParams(); 19 : 20 164 : params.addClassDescription("This class implements the 'No BC' boundary condition based on the " 21 : "'Laplace' form of the viscous stress tensor."); 22 164 : return params; 23 0 : } 24 : 25 88 : INSMomentumNoBCBCLaplaceForm::INSMomentumNoBCBCLaplaceForm(const InputParameters & parameters) 26 88 : : INSMomentumNoBCBCBase(parameters) 27 : { 28 88 : } 29 : 30 : Real 31 12960 : INSMomentumNoBCBCLaplaceForm::computeQpResidual() 32 : { 33 : // -mu * (grad(u).n) * test 34 12960 : Real viscous_part = -_mu[_qp] * (_grad_u[_qp] * _normals[_qp]) * _test[_i][_qp]; 35 : 36 : // pIn * test 37 : Real pressure_part = 0.; 38 12960 : if (_integrate_p_by_parts) 39 6480 : pressure_part = _p[_qp] * _normals[_qp](_component) * _test[_i][_qp]; 40 : 41 12960 : return viscous_part + pressure_part; 42 : } 43 : 44 : Real 45 62208 : INSMomentumNoBCBCLaplaceForm::computeQpJacobian() 46 : { 47 62208 : return -_mu[_qp] * (_grad_phi[_j][_qp] * _normals[_qp]) * _test[_i][_qp]; 48 : } 49 : 50 : Real 51 93312 : INSMomentumNoBCBCLaplaceForm::computeQpOffDiagJacobian(unsigned jvar) 52 : { 53 93312 : if (jvar == _p_var_number && _integrate_p_by_parts) 54 15552 : return _phi[_j][_qp] * _normals[_qp](_component) * _test[_i][_qp]; 55 : 56 : else 57 : return 0.; 58 : }