https://mooseframework.inl.gov
INSADMomentumGradDiv.C
Go to the documentation of this file.
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 "INSADMomentumGradDiv.h"
11 #include "Assembly.h"
12 #include "NavierStokesMethods.h"
13 
14 registerMooseObject("NavierStokesApp", INSADMomentumGradDiv);
15 
18 {
20  params.addClassDescription("Adds grad-div stabilization to the INS momentum equation");
21  params.addRequiredParam<Real>("gamma", "The grad-div stabilization coefficient");
22  return params;
23 }
24 
26  : ADVectorKernel(parameters),
27  _gamma(getParam<Real>("gamma")),
28  _coord_sys(_assembly.coordSystem()),
29  _rz_radial_coord(_mesh.getAxisymmetricRadialCoord())
30 {
31 }
32 
33 ADReal
35 {
36  const auto test_div = NS::divergence(
38  const auto u_div =
40  return _gamma * test_div * u_div;
41 }
static InputParameters validParams()
INSADMomentumGradDiv(const InputParameters &parameters)
const ADTemplateVariableTestGradient< T > & _grad_test
T divergence(const TensorValue< T > &gradient, const VectorType &value, const PointType &point, const Moose::CoordinateSystemType &coord_sys, const unsigned int rz_radial_coord)
Compute the divergence of a vector given its matrix of derivatives.
registerMooseObject("NavierStokesApp", INSADMomentumGradDiv)
const Moose::CoordinateSystemType & _coord_sys
Coordinate system of the mesh.
const ADTemplateVariableValue< T > & _u
const ADTemplateVariableTestValue< T > & _test
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
const MooseArray< ADPoint > & _ad_q_point
unsigned int _i
const unsigned int _rz_radial_coord
The radial coordinate index for RZ coordinate systems.
static InputParameters validParams()
ADReal computeQpResidual() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADTemplateVariableGradient< T > & _grad_u
void addClassDescription(const std::string &doc_string)
const Real _gamma
The grad-div stabilization coefficient.
Adds grad-div stabilization to the INS momentum equation.
unsigned int _qp