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 : #pragma once 11 : 12 : #include "IntegratedBC.h" 13 : #include "SinglePhaseFluidProperties.h" 14 : 15 : /** 16 : * This class couples together all the variables for the 3D fluid equations to allow them to be used 17 : * in derived IntegratedBC classes. 18 : */ 19 : class INSFEFluidIntegratedBCBase : public IntegratedBC 20 : { 21 : public: 22 : static InputParameters validParams(); 23 : 24 : INSFEFluidIntegratedBCBase(const InputParameters & parameters); 25 374 : virtual ~INSFEFluidIntegratedBCBase() {} 26 : 27 : protected: 28 : // Coupled variables 29 : const VariableValue & _u_vel; 30 : const VariableValue & _v_vel; 31 : const VariableValue & _w_vel; 32 : const VariableValue & _pressure; 33 : const VariableValue & _temperature; 34 : 35 : const MaterialProperty<Real> & _rho; 36 : 37 : // Gradients 38 : const VariableGradient & _grad_u_vel; 39 : const VariableGradient & _grad_v_vel; 40 : const VariableGradient & _grad_w_vel; 41 : const VariableGradient & _grad_pressure; 42 : const VariableGradient & _grad_temperature; 43 : 44 : // Variable numberings 45 : unsigned _u_vel_var_number; 46 : unsigned _v_vel_var_number; 47 : unsigned _w_vel_var_number; 48 : unsigned _pressure_var_number; 49 : unsigned _temperature_var_number; 50 : 51 : bool _has_porosity; 52 : const VariableValue & _porosity; 53 : 54 : // Helper function for mapping Moose variable numberings into 55 : // the "canonical" numbering for the porous medium equations. 56 : unsigned mapVarNumber(unsigned var); 57 : const SinglePhaseFluidProperties & _eos; 58 : };