Line data Source code
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 "CNSFVHLLCMassBC.h" 11 : 12 : registerMooseObject("NavierStokesApp", CNSFVHLLCSpecifiedMassFluxAndTemperatureMassBC); 13 : registerMooseObject("NavierStokesApp", CNSFVHLLCSpecifiedPressureMassBC); 14 : 15 : template <typename T> 16 : InputParameters 17 275 : CNSFVHLLCMassBC<T>::validParams() 18 : { 19 275 : InputParameters params = T::validParams(); 20 275 : params.addClassDescription("Implements the mass boundary flux portion of the free-flow HLLC " 21 : "discretization given specified mass fluxes and fluid temperature"); 22 275 : return params; 23 0 : } 24 : 25 : template <> 26 : InputParameters 27 275 : CNSFVHLLCMassBC<CNSFVHLLCSpecifiedPressureBC>::validParams() 28 : { 29 275 : InputParameters params = CNSFVHLLCSpecifiedPressureBC::validParams(); 30 275 : params.addClassDescription("Implements the mass boundary flux portion of the free-flow HLLC " 31 : "discretization given specified pressure"); 32 275 : return params; 33 0 : } 34 : 35 : template <typename T> 36 290 : CNSFVHLLCMassBC<T>::CNSFVHLLCMassBC(const InputParameters & params) : T(params) 37 : { 38 290 : } 39 : 40 : template <typename T> 41 : ADReal 42 7374 : CNSFVHLLCMassBC<T>::fluxElem() 43 : { 44 7374 : return this->_normal_speed_elem * this->_rho_elem[this->_qp]; 45 : } 46 : 47 : template <typename T> 48 : ADReal 49 7374 : CNSFVHLLCMassBC<T>::fluxBoundary() 50 : { 51 7374 : return this->_normal_speed_boundary * this->_rho_boundary; 52 : } 53 : 54 : template <typename T> 55 : ADReal 56 7374 : CNSFVHLLCMassBC<T>::hllcElem() 57 : { 58 7374 : return 1; 59 : } 60 : 61 : template <typename T> 62 : ADReal 63 7374 : CNSFVHLLCMassBC<T>::hllcBoundary() 64 : { 65 7374 : return 1; 66 : } 67 : 68 : template <typename T> 69 : ADReal 70 7374 : CNSFVHLLCMassBC<T>::conservedVariableElem() 71 : { 72 7374 : return this->_rho_elem[this->_qp]; 73 : } 74 : 75 : template <typename T> 76 : ADReal 77 7374 : CNSFVHLLCMassBC<T>::conservedVariableBoundary() 78 : { 79 7374 : return this->_rho_boundary; 80 : } 81 : 82 : template class CNSFVHLLCMassBC<CNSFVHLLCSpecifiedMassFluxAndTemperatureBC>; 83 : template class CNSFVHLLCMassBC<CNSFVHLLCSpecifiedPressureBC>;