https://mooseframework.inl.gov
CNSFVHLLCFluidEnergyBC.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 "CNSFVHLLCFluidEnergyBC.h"
11 
14 
15 template <typename T>
18 {
20  params.addClassDescription(
21  "Implements the fluid energy boundary flux portion of the free-flow HLLC "
22  "discretization given specified mass fluxes and fluid temperature");
23  return params;
24 }
25 
26 template <>
29 {
31  params.addClassDescription(
32  "Implements the fluid energy boundary flux portion of the free-flow HLLC "
33  "discretization given specified pressure");
34  return params;
35 }
36 
37 template <typename T>
39 {
40 }
41 
42 template <typename T>
43 ADReal
45 {
46  return this->_normal_speed_elem * this->_rho_elem[this->_qp] * this->_ht_elem[this->_qp];
47 }
48 
49 template <typename T>
50 ADReal
52 {
53  return this->_normal_speed_boundary * this->_rho_boundary * this->_ht_boundary;
54 }
55 
56 template <typename T>
57 ADReal
59 {
60  return this->_rho_et_elem[this->_qp] / this->_rho_elem[this->_qp] +
61  (this->_SM - this->_normal_speed_elem) *
62  (this->_SM + this->_pressure_elem[this->_qp] / this->_rho_elem[this->_qp] /
63  (this->_SL - this->_normal_speed_elem));
64 }
65 
66 template <typename T>
67 ADReal
69 {
70  return this->_rho_et_boundary / this->_rho_boundary +
71  (this->_SM - this->_normal_speed_boundary) *
72  (this->_SM + this->_pressure_boundary / this->_rho_boundary /
73  (this->_SR - this->_normal_speed_boundary));
74 }
75 
76 template <typename T>
77 ADReal
79 {
80  return this->_rho_et_elem[this->_qp];
81 }
82 
83 template <typename T>
84 ADReal
86 {
87  return this->_rho_et_boundary;
88 }
89 
static InputParameters validParams()
virtual ADReal fluxBoundary() override
virtual ADReal hllcElem() override
HLLC modifications to flux for elem & boundary, see Toro.
Template class for implementing the advective flux in the conservation of fluid energy equation at bo...
virtual ADReal fluxElem() override
flux functions on elem & boundary, i.e. standard left/right values of F
registerMooseObject("NavierStokesApp", CNSFVHLLCSpecifiedMassFluxAndTemperatureFluidEnergyBC)
DualNumber< Real, DNDerivativeType, true > ADReal
InputParameters validParams()
virtual ADReal hllcBoundary() override
CNSFVHLLCFluidEnergyBC(const InputParameters &params)
virtual ADReal conservedVariableElem() override
void addClassDescription(const std::string &doc_string)
virtual ADReal conservedVariableBoundary() override