https://mooseframework.inl.gov
BernoulliPressureVariable.h
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 
10 #pragma once
11 
12 #include "INSFVPressureVariable.h"
13 #include "ADFunctorInterface.h"
14 
15 class InputParameters;
16 
24 {
25 public:
27 
29 
30  bool isExtrapolatedBoundaryFace(const FaceInfo & fi,
31  const Elem * elem,
32  const Moose::StateArg & time) const override;
33 
34  void initialSetup() override;
35 
36 protected:
37  bool isDirichletBoundaryFace(const FaceInfo & fi,
38  const Elem * elem,
39  const Moose::StateArg & time) const override;
40 
42  const Elem * elem,
43  const Moose::StateArg & time) const override;
44 
53  std::pair<bool, ADRealVectorValue>
54  elemIsUpwind(const Elem & elem, const FaceInfo & fi, const Moose::StateArg & time) const;
55 
66 
68  std::vector<BoundaryName> _pressure_drop_sidesets;
69 
71  const std::vector<BoundaryID> _pressure_drop_sideset_ids;
72 
74  std::vector<Real> _pressure_drop_form_factors;
75 
76 private:
79 };
const Moose::Functor< ADReal > * _eps
The porosity.
const std::vector< BoundaryID > _pressure_drop_sideset_ids
The boundary IDs corresponding to the form loss sidesets.
BernoulliPressureVariable(const InputParameters &params)
const Moose::Functor< ADReal > * _rho
The density.
bool isDirichletBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &time) const override
const Moose::Functor< ADReal > * _v
The y-component of velocity.
std::vector< Real > _pressure_drop_form_factors
The form loss coefficients corresponding to the sidesets.
DualNumber< Real, DNDerivativeType, true > ADReal
bool isExtrapolatedBoundaryFace(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &time) const override
const Moose::Functor< ADReal > * _u
The x-component of velocity.
ADReal getDirichletBoundaryFaceValue(const FaceInfo &fi, const Elem *elem, const Moose::StateArg &time) const override
const Moose::Functor< ADReal > * _w
The z-component of velocity.
const bool _allow_two_term_expansion_on_bernoulli_faces
Switch to enable the two-term extrapolation on porosity jump faces.
std::pair< bool, ADRealVectorValue > elemIsUpwind(const Elem &elem, const FaceInfo &fi, const Moose::StateArg &time) const
Checks to see whether the provided element is upwind of the provided face.
A special variable class for pressure which flags faces at which porosity jumps occur as extrapolated...
std::vector< BoundaryName > _pressure_drop_sidesets
The names of the sidesets which will have associated form loss coefficients.
static InputParameters validParams()