https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LinearFVScalarAdvection.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 "LinearFVFluxKernel.h"
13#include "RhieChowMassFlux.h"
17
19
24{
25public:
28
29 virtual Real computeElemMatrixContribution() override;
30
31 virtual Real computeNeighborMatrixContribution() override;
32
33 virtual Real computeElemRightHandSideContribution() override;
34
35 virtual Real computeNeighborRightHandSideContribution() override;
36
37 virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition & bc) override;
38
39 virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition & bc) override;
40
41 virtual void setupFaceData(const FaceInfo * face_info) override;
42
43protected:
46
47private:
50
53
56
58 VectorValue<Real> _elem_grad_storage;
59 VectorValue<Real> _neighbor_grad_storage;
60
64
71
74};
An advection kernel that implements the advection term for the passive scalar transport equation.
virtual Real computeNeighborMatrixContribution() override
virtual Real computeNeighborRightHandSideContribution() override
bool _add_slip_model
Whether to use an additional slip velocity to compute the face flux.
virtual Real computeElemRightHandSideContribution() override
const RhieChowMassFlux & _mass_flux_provider
The Rhie-Chow user object that provides us with the face velocity.
virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition &bc) override
virtual void setupFaceData(const FaceInfo *face_info) override
const FVAdvectedInterpolationMethod & _adv_interp_method
The interpolation method to use for the advected quantity.
const Moose::Functor< ADReal > *const _v_slip
slip velocity in direction y
const Moose::Functor< ADReal > *const _u_slip
slip velocity in direction x
const Moose::Functor< ADReal > *const _w_slip
slip velocity in direction z
FVAdvectedInterpolationMethod::AdvectedSystemContribution _adv_interp_result
Cached weights/correction for the current face (refreshed in setupFaceData)
VectorValue< Real > _elem_grad_storage
Reusable gradient storage used when advected interpolation requires gradients.
VectorValue< Real > _neighbor_grad_storage
virtual Real computeElemMatrixContribution() override
virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition &bc) override
Real _volumetric_face_flux
Container for the velocity on the face which will be reused in the advection term's matrix and right ...
const LinearFVGradientReader *const _gradient_field
Gradient field used by advected interpolations that require gradients.
static InputParameters validParams()
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...