https://mooseframework.inl.gov
PCNSFVHLLCFluidEnergyBC.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 
11 
14 
15 template <typename T>
18 {
20  params.addClassDescription("Implements the fluid energy boundary flux portion of the porous HLLC "
21  "discretization given specified mass fluxes and fluid temperature");
22  return params;
23 }
24 
25 template <>
28 {
30  params.addClassDescription("Implements the fluid energy boundary flux portion of the porous HLLC "
31  "discretization given specified pressure");
32  return params;
33 }
34 
35 template <typename T>
37 {
38 }
39 
40 template <typename T>
41 ADReal
43 {
44  return this->_normal_speed_elem * this->_eps_elem[this->_qp] * this->_rho_elem[this->_qp] *
45  this->_ht_elem[this->_qp];
46 }
47 
48 template <typename T>
49 ADReal
51 {
52  return this->_normal_speed_boundary * this->_eps_boundary * this->_rho_boundary *
53  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->_eps_elem[this->_qp] * this->_rho_et_elem[this->_qp];
81 }
82 
83 template <typename T>
84 ADReal
86 {
87  return this->_eps_boundary * this->_rho_et_boundary;
88 }
89 
virtual ADReal fluxBoundary() override
Template class for implementing the advective flux in the porous conservation of fluid energy equatio...
DualNumber< Real, DNDerivativeType, true > ADReal
virtual ADReal hllcBoundary() override
virtual ADReal fluxElem() override
flux functions on elem & boundary, i.e. standard left/right values of F
static InputParameters validParams()
registerMooseObject("NavierStokesApp", PCNSFVHLLCSpecifiedMassFluxAndTemperatureFluidEnergyBC)
InputParameters validParams()
PCNSFVHLLCFluidEnergyBC(const InputParameters &params)
virtual ADReal conservedVariableElem() override
void addClassDescription(const std::string &doc_string)
virtual ADReal conservedVariableBoundary() override
virtual ADReal hllcElem() override
HLLC modifications to flux for elem & boundary, see Toro.