https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
24public:
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
40 virtual Real computeNeighborRightHandSideContribution() override;
41
42 virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition & bc) override;
43
44 virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition & bc) override;
45
46 virtual void setupFaceData(const FaceInfo * face_info) override;
47
48protected:
51
52private:
55
58
60 VectorValue<Real> _elem_grad_storage;
61 VectorValue<Real> _neighbor_grad_storage;
62
66
68 const std::vector<BoundaryName> & _wall_boundary_names;
69
71 std::unordered_set<const Elem *> _wall_bounded;
72};
An advection kernel that implements the advection term for the turbulent variables limited for the fi...
virtual Real computeNeighborRightHandSideContribution() override
virtual Real computeElemRightHandSideContribution() override
const RhieChowMassFlux & _mass_flux_provider
The Rhie-Chow user object that provides us with the face velocity.
virtual Real computeNeighborMatrixContribution() override
virtual void addRightHandSideContribution() override
VectorValue< Real > _elem_grad_storage
Reusable gradient storage used when advected interpolation requires gradients.
const std::vector< BoundaryName > & _wall_boundary_names
Wall boundaries.
virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition &bc) override
virtual void addMatrixContribution() override
const FVAdvectedInterpolationMethod & _adv_interp_method
The interpolation method to use for the advected quantity.
virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition &bc) override
virtual Real computeElemMatrixContribution() override
FVAdvectedInterpolationMethod::AdvectedSystemContribution _adv_interp_result
Cached weights/correction for the current face (refreshed in setupFaceData)
std::unordered_set< const Elem * > _wall_bounded
List for wall bounded elements.
Real _mass_face_flux
Container for the mass flux on the face which will be reused in the advection term's matrix and right...
virtual void setupFaceData(const FaceInfo *face_info) override
static InputParameters validParams()
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...