www.mooseframework.org
INSMassRZ.C
Go to the documentation of this file.
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 "INSMassRZ.h"
11 
12 registerMooseObject("NavierStokesApp", INSMassRZ);
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<INSMass>();
19  params.addClassDescription("This class computes the mass equation residual and Jacobian "
20  "contributions for the incompressible Navier-Stokes momentum equation "
21  "in RZ coordinates.");
22  return params;
23 }
24 
25 INSMassRZ::INSMassRZ(const InputParameters & parameters) : INSMass(parameters) {}
26 
27 RealVectorValue
29 {
30  const Real & r = _q_point[_qp](0);
32  RealVectorValue(_mu[_qp] * (_u_vel[_qp] / (r * r) - _grad_u_vel[_qp](0) / r),
33  -_mu[_qp] * _grad_v_vel[_qp](0) / r,
34  0);
35 }
36 
37 RealVectorValue
39 {
40  const Real & r = _q_point[_qp](0);
41  RealVectorValue add_jac(0, 0, 0);
42  if (comp == 0)
43  add_jac(0) = _mu[_qp] * (_phi[_j][_qp] / (r * r) - _grad_phi[_j][_qp](0) / r);
44  else if (comp == 1)
45  add_jac(1) = -_mu[_qp] * _grad_phi[_j][_qp](0) / r;
46 
47  return INSBase::dStrongViscDUCompLaplace(comp) + add_jac;
48 }
49 
50 RealVectorValue
52 {
53  const Real & r = _q_point[_qp](0);
55  RealVectorValue(2. * _mu[_qp] * (_u_vel[_qp] / (r * r) - _grad_u_vel[_qp](0) / r),
56  -_mu[_qp] / r * (_grad_v_vel[_qp](0) + _grad_u_vel[_qp](1)),
57  0);
58 }
59 
60 RealVectorValue
62 {
63  const Real & r = _q_point[_qp](0);
64  RealVectorValue add_jac(0, 0, 0);
65  if (comp == 0)
66  {
67  add_jac(0) = 2. * _mu[_qp] * (_phi[_j][_qp] / (r * r) - _grad_phi[_j][_qp](0) / r);
68  add_jac(1) = -_mu[_qp] / r * _grad_phi[_j][_qp](1);
69  }
70  else if (comp == 1)
71  add_jac(1) = -_mu[_qp] * _grad_phi[_j][_qp](0) / r;
72 
73  return INSBase::dStrongViscDUCompTraction(comp) + add_jac;
74 }
75 
76 Real
78 {
79  // Base class residual contribution
80  Real res_base = INSMass::computeQpResidual();
81 
82  // The radial coordinate value.
83  const Real r = _q_point[_qp](0);
84 
85  // The sign of this term is multiplied by -1 here.
86  res_base -= _u_vel[_qp] / r * _test[_i][_qp];
87 
88  return res_base;
89 }
90 
91 Real
93 {
94  // Base class jacobian contribution
95  Real jac_base = INSMass::computeQpOffDiagJacobian(jvar);
96 
97  // The radial coordinate value.
98  const Real r = _q_point[_qp](0);
99 
100  if (jvar == _u_vel_var_number)
101  jac_base -= _phi[_j][_qp] / r * _test[_i][_qp];
102 
103  return jac_base;
104 }
INSMassRZ::dStrongViscDUCompLaplace
virtual RealVectorValue dStrongViscDUCompLaplace(unsigned comp) override
Definition: INSMassRZ.C:38
INSMassRZ::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned jvar) override
Definition: INSMassRZ.C:92
INSBase::dStrongViscDUCompLaplace
virtual RealVectorValue dStrongViscDUCompLaplace(unsigned comp)
Definition: INSBase.C:134
INSMassRZ::dStrongViscDUCompTraction
virtual RealVectorValue dStrongViscDUCompTraction(unsigned comp) override
Definition: INSMassRZ.C:61
INSBase::strongViscousTermLaplace
virtual RealVectorValue strongViscousTermLaplace()
Definition: INSBase.C:119
registerMooseObject
registerMooseObject("NavierStokesApp", INSMassRZ)
INSBase::strongViscousTermTraction
virtual RealVectorValue strongViscousTermTraction()
Definition: INSBase.C:126
validParams< INSMassRZ >
InputParameters validParams< INSMassRZ >()
Definition: INSMassRZ.C:16
INSMass::computeQpResidual
virtual Real computeQpResidual()
Definition: INSMass.C:43
INSBase::_u_vel_var_number
unsigned _u_vel_var_number
Definition: INSBase.h:96
INSMass
This class computes the mass equation residual and Jacobian contributions for the incompressible Navi...
Definition: INSMass.h:25
INSMassRZ
This class computes the mass equation residual and Jacobian contributions for the incompressible Navi...
Definition: INSMassRZ.h:27
INSMassRZ.h
INSMass::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned jvar)
Definition: INSMass.C:93
INSBase::_grad_u_vel
const VariableGradient & _grad_u_vel
Definition: INSBase.h:75
INSBase::_u_vel
const VariableValue & _u_vel
Definition: INSBase.h:69
INSMassRZ::strongViscousTermLaplace
virtual RealVectorValue strongViscousTermLaplace() override
Definition: INSMassRZ.C:28
INSMassRZ::computeQpResidual
virtual Real computeQpResidual() override
Definition: INSMassRZ.C:77
INSBase::dStrongViscDUCompTraction
virtual RealVectorValue dStrongViscDUCompTraction(unsigned comp)
Definition: INSBase.C:143
INSBase::_grad_v_vel
const VariableGradient & _grad_v_vel
Definition: INSBase.h:76
validParams< INSMass >
InputParameters validParams< INSMass >()
Definition: INSMass.C:17
INSMassRZ::strongViscousTermTraction
virtual RealVectorValue strongViscousTermTraction() override
Definition: INSMassRZ.C:51
INSBase::_mu
const MaterialProperty< Real > & _mu
Definition: INSBase.h:104
INSMassRZ::INSMassRZ
INSMassRZ(const InputParameters &parameters)
Definition: INSMassRZ.C:25