www.mooseframework.org
NSTemperatureL2.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 // Navier-Stokes includes
11 #include "NSTemperatureL2.h"
12 #include "NS.h"
13 
14 // MOOSE includes
15 #include "MooseMesh.h"
16 
17 registerMooseObject("NavierStokesApp", NSTemperatureL2);
18 
19 template <>
20 InputParameters
22 {
23  InputParameters params = validParams<Kernel>();
24  params.addClassDescription(
25  "This class was originally used to solve for the temperature using an L2-projection.");
26  params.addRequiredCoupledVar(NS::velocity_x, "x-direction velocity component");
27  params.addCoupledVar(NS::velocity_y, "y-direction velocity component"); // only reqiured in >= 2D
28  params.addCoupledVar(NS::velocity_z, "z-direction velocity component"); // only required in 3D
29  params.addRequiredCoupledVar("rhoe", "Total energy");
30  params.addRequiredCoupledVar(NS::density, "Density");
31  return params;
32 }
33 
34 NSTemperatureL2::NSTemperatureL2(const InputParameters & parameters)
35  : Kernel(parameters),
36  _rho_var(coupled(NS::density)),
37  _rho(coupledValue(NS::density)),
38  _rhoe_var(coupled("rhoe")),
39  _rhoe(coupledValue("rhoe")),
40  _u_vel_var(coupled(NS::velocity_x)),
41  _u_vel(coupledValue(NS::velocity_x)),
42  _v_vel_var(_mesh.dimension() >= 2 ? coupled(NS::velocity_y) : libMesh::invalid_uint),
43  _v_vel(_mesh.dimension() >= 2 ? coupledValue(NS::velocity_y) : _zero),
44  _w_vel_var(_mesh.dimension() == 3 ? coupled(NS::velocity_z) : libMesh::invalid_uint),
45  _w_vel(_mesh.dimension() == 3 ? coupledValue(NS::velocity_z) : _zero),
46  _c_v(getMaterialProperty<Real>("c_v"))
47 {
48 }
49 
50 Real
52 {
53  Real value = 1.0 / _c_v[_qp];
54 
55  const Real et = _rhoe[_qp] / _rho[_qp];
56  const RealVectorValue vec(_u_vel[_qp], _v_vel[_qp], _w_vel[_qp]);
57 
58  value *= et - ((vec * vec) / 2.0);
59 
60  // L2-projection
61  return (_u[_qp] - value) * _test[_i][_qp];
62 }
63 
64 Real
66 {
67  return _phi[_j][_qp] * _test[_i][_qp];
68 }
69 
70 Real
72 {
73  if (jvar == _rho_var)
74  {
75  const Real et = (_rhoe[_qp] / (-_rho[_qp] * _rho[_qp])) * _phi[_j][_qp];
76  Real value = et / _c_v[_qp];
77 
78  return -value * _test[_i][_qp];
79  }
80  else if (jvar == _rhoe_var)
81  {
82  const Real et = _phi[_j][_qp] / _rho[_qp];
83  Real value = et / _c_v[_qp];
84 
85  return -value * _test[_i][_qp];
86  }
87 
88  return 0.0;
89 }
NSTemperatureL2
This class was originally used to solve for the temperature using an L2-projection.
Definition: NSTemperatureL2.h:26
NS::velocity_x
const std::string velocity_x
Definition: NS.h:22
registerMooseObject
registerMooseObject("NavierStokesApp", NSTemperatureL2)
NSTemperatureL2::computeQpResidual
virtual Real computeQpResidual()
Definition: NSTemperatureL2.C:51
NSTemperatureL2::_u_vel
const VariableValue & _u_vel
Definition: NSTemperatureL2.h:43
libMesh
Definition: RANFSNormalMechanicalContact.h:24
NS::velocity_y
const std::string velocity_y
Definition: NS.h:23
NSTemperatureL2::_rho
const VariableValue & _rho
Definition: NSTemperatureL2.h:37
NSTemperatureL2::computeQpJacobian
virtual Real computeQpJacobian()
Definition: NSTemperatureL2.C:65
NS::velocity_z
const std::string velocity_z
Definition: NS.h:24
NSTemperatureL2::_rho_var
unsigned int _rho_var
Definition: NSTemperatureL2.h:36
NS
Definition: NS.h:14
NSTemperatureL2::_rhoe
const VariableValue & _rhoe
Definition: NSTemperatureL2.h:40
NS::density
const std::string density
Definition: NS.h:16
NSTemperatureL2::_w_vel
const VariableValue & _w_vel
Definition: NSTemperatureL2.h:49
NSTemperatureL2.h
NS.h
NSTemperatureL2::_v_vel
const VariableValue & _v_vel
Definition: NSTemperatureL2.h:46
NSTemperatureL2::NSTemperatureL2
NSTemperatureL2(const InputParameters &parameters)
Definition: NSTemperatureL2.C:34
NSTemperatureL2::_rhoe_var
unsigned int _rhoe_var
Definition: NSTemperatureL2.h:39
validParams< NSTemperatureL2 >
InputParameters validParams< NSTemperatureL2 >()
Definition: NSTemperatureL2.C:21
NSTemperatureL2::_c_v
const MaterialProperty< Real > & _c_v
Definition: NSTemperatureL2.h:51
NSTemperatureL2::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: NSTemperatureL2.C:71