https://mooseframework.inl.gov
LinearFVPressureFluxBC.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
13 
22 {
23 public:
29 
31 
32  virtual Real computeBoundaryValue() const override;
33 
34  virtual Real computeBoundaryNormalGradient() const override;
35 
36  virtual Real computeBoundaryValueMatrixContribution() const override;
37 
38  virtual Real computeBoundaryValueRHSContribution() const override;
39 
40  virtual Real computeBoundaryGradientMatrixContribution() const override;
41 
42  virtual Real computeBoundaryGradientRHSContribution() const override;
43 
44  virtual bool includesMaterialPropertyMultiplier() const override { return true; }
45 
46  virtual bool providesCompleteBoundaryFlux() const override { return true; }
47 
48 protected:
51 
53  Real computeBoundaryAinv() const;
54 
57 
60 
62  const unsigned short _dim;
63 
65  const bool _two_term_expansion;
66 
69  const Moose::Functor<Real> * const _v;
70  const Moose::Functor<Real> * const _w;
71 
74 };
static InputParameters validParams()
const Moose::Functor< Real > & _rho
Density functor used with the prescribed boundary velocity.
virtual bool includesMaterialPropertyMultiplier() const override
const InputParameters & parameters() const
virtual Real computeBoundaryNormalGradient() const override
const Moose::Functor< Real > *const _v
LinearFVPressureFluxBC(const InputParameters &parameters)
Class constructor.
const bool _two_term_expansion
Whether to reconstruct the boundary pressure with the pressure flux and cell gradient.
const Moose::Functor< RealVectorValue > & _Ainv
The functor for the 1/A tensor serving as a diffusion coefficient.
Class implementing a flux boundary condition for linear finite volume pressure variables used in the ...
Real computeRequiredPressureFlux() const
Compute the required boundary pressure flux contribution.
Real computeBoundaryAinv() const
Compute the scalar A^{-1} coefficient, which is zero before the first momentum assembly.
const unsigned short _dim
Spatial dimension of the mesh.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeBoundaryValueRHSContribution() const override
const Moose::Functor< Real > *const _w
virtual Real computeBoundaryGradientMatrixContribution() const override
const Moose::Functor< Real > & _u
Velocity functors used to prescribe a boundary mass flux.
virtual Real computeBoundaryValueMatrixContribution() const override
virtual bool providesCompleteBoundaryFlux() const override
virtual Real computeBoundaryGradientRHSContribution() const override
virtual Real computeBoundaryValue() const override
const Moose::Functor< Real > & _HbyA_flux
The H/A flux functor for this BC (can be variable, function, etc)