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 "FVElementalKernel.h" 13 : #include "INSFVMomentumResidualObject.h" 14 : 15 : /** 16 : * Imposes a Boussinesq force on the momentum equation. Useful for modeling natural convection 17 : * within an incompressible formulation of the Navier-Stokes equations 18 : */ 19 : class INSFVMomentumBoussinesq : public FVElementalKernel, public INSFVMomentumResidualObject 20 : { 21 : public: 22 : static InputParameters validParams(); 23 : INSFVMomentumBoussinesq(const InputParameters & params); 24 : 25 4435682 : void gatherRCData(const Elem &) override {} 26 0 : void gatherRCData(const FaceInfo &) override {} 27 : 28 : protected: 29 : ADReal computeQpResidual() override; 30 : 31 : /// Fluid temperature 32 : const Moose::Functor<ADReal> & _temperature; 33 : /// The gravity vector 34 : const RealVectorValue _gravity; 35 : /// The thermal expansion coefficient 36 : const Moose::Functor<ADReal> & _alpha; 37 : /// Reference temperature at which the value of _rho was measured 38 : const Real _ref_temperature; 39 : /// the density 40 : const Moose::Functor<ADReal> & _rho; 41 : };