https://mooseframework.inl.gov
PINSFVMomentumBoussinesq.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 
12 #include "NS.h"
13 
15 
18 {
20  params.addClassDescription(
21  "Computes a body force for natural convection buoyancy in porous media: eps alpha (T-T_0)");
22  params.addRequiredParam<MooseFunctorName>(NS::porosity, "Porosity auxiliary variable");
23 
24  return params;
25 }
26 
28  : INSFVMomentumBoussinesq(params), _eps(getFunctor<ADReal>(NS::porosity))
29 {
30  if (!dynamic_cast<PINSFVSuperficialVelocityVariable *>(&_var))
31  mooseError("PINSFVMomentumBoussinesq may only be used with a superficial velocity "
32  "variable, of variable type PINSFVSuperficialVelocityVariable.");
33 }
34 
35 ADReal
37 {
40 }
Moose::StateArg determineState() const
Imposes a Boussinesq force on the momentum equation.
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("NavierStokesApp", PINSFVMomentumBoussinesq)
Moose::ElemArg makeElemArg(const Elem *elem, bool correct_skewnewss=false) const
static const std::string porosity
Definition: NS.h:104
const Elem *const & _current_elem
PINSFVMomentumBoussinesq(const InputParameters &params)
Imposes a Boussinesq force on the momentum equation.
static InputParameters validParams()
static InputParameters validParams()
const Moose::Functor< ADReal > & _eps
the porosity
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
ADReal computeQpResidual() override
MooseVariableFV< Real > & _var