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 "INSStressComponentAux.h" 11 : #include "MooseMesh.h" 12 : #include "NS.h" 13 : 14 : registerMooseObject("NavierStokesApp", INSStressComponentAux); 15 : 16 : InputParameters 17 0 : INSStressComponentAux::validParams() 18 : { 19 0 : InputParameters params = AuxKernel::validParams(); 20 : 21 0 : params.addClassDescription("This class computes the stress component based on " 22 : "pressure and velocity for incompressible Navier-Stokes"); 23 0 : params.addCoupledVar("velocity", "The velocity component"); 24 0 : params.addCoupledVar(NS::pressure, 0, "The pressure"); 25 0 : params.addRangeCheckedParam<unsigned int>("comp", 0, "0<=comp<=2", "The component"); 26 0 : params.addParam<MaterialPropertyName>("mu_name", "mu", "The viscosity"); 27 : 28 0 : return params; 29 0 : } 30 : 31 0 : INSStressComponentAux::INSStressComponentAux(const InputParameters & parameters) 32 : : AuxKernel(parameters), 33 0 : _grad_velocity(isCoupled("velocity") ? coupledGradient("velocity") : _grad_zero), 34 0 : _pressure(coupledValue(NS::pressure)), 35 0 : _comp(getParam<unsigned>("comp")), 36 0 : _mu(getMaterialProperty<Real>("mu_name")) 37 : { 38 0 : } 39 : 40 : Real 41 0 : INSStressComponentAux::computeValue() 42 : { 43 0 : return _pressure[_qp] - _mu[_qp] * _grad_velocity[_qp](_comp); 44 : }