https://mooseframework.inl.gov
LinearFVTurbulentAdvection.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 
12 #include "LinearFVFluxKernel.h"
13 #include "RhieChowMassFlux.h"
17 
23 {
24 public:
27 
28  virtual void addMatrixContribution() override;
29 
30  virtual void addRightHandSideContribution() override;
31 
32  virtual void initialSetup() override;
33 
34  virtual Real computeElemMatrixContribution() override;
35 
36  virtual Real computeNeighborMatrixContribution() override;
37 
38  virtual Real computeElemRightHandSideContribution() override;
39 
41 
43 
45 
46  virtual void setupFaceData(const FaceInfo * face_info) override;
47 
48 protected:
51 
52 private:
55 
58 
62 
66 
68  const std::vector<BoundaryName> & _wall_boundary_names;
69 
71  std::unordered_set<const Elem *> _wall_bounded;
72 };
virtual void addRightHandSideContribution() override
virtual void addMatrixContribution() override
virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition &bc) override
VectorValue< Real > _neighbor_grad_storage
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...
virtual void setupFaceData(const FaceInfo *face_info) override
const FVAdvectedInterpolationMethod & _adv_interp_method
The interpolation method to use for the advected quantity.
virtual void initialSetup() override
Real _mass_face_flux
Container for the mass flux on the face which will be reused in the advection term&#39;s matrix and right...
const std::vector< BoundaryName > & _wall_boundary_names
Wall boundaries.
virtual Real computeNeighborMatrixContribution() override
virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition &bc) override
An advection kernel that implements the advection term for the turbulent variables limited for the fi...
FVAdvectedInterpolationMethod::AdvectedSystemContribution _adv_interp_result
Cached weights/correction for the current face (refreshed in setupFaceData)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
VectorValue< Real > _elem_grad_storage
Reusable gradient storage used when advected interpolation requires gradients.
LinearFVTurbulentAdvection(const InputParameters &params)
virtual Real computeNeighborRightHandSideContribution() override
const RhieChowMassFlux & _mass_flux_provider
The Rhie-Chow user object that provides us with the face velocity.
virtual Real computeElemRightHandSideContribution() override
std::unordered_set< const Elem * > _wall_bounded
List for wall bounded elements.
virtual Real computeElemMatrixContribution() override