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
22{
23public:
26
27 virtual Real computeElemMatrixContribution() override;
28
29 virtual Real computeNeighborMatrixContribution() override;
30
31 virtual Real computeElemRightHandSideContribution() override;
32
33 virtual Real computeNeighborRightHandSideContribution() override;
34
35 virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition & bc) override;
36
37 virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition & bc) override;
38
39 virtual void setupFaceData(const FaceInfo * face_info) override;
40
41protected:
44
45private:
48
51
53 VectorValue<Real> _elem_grad_storage;
54 VectorValue<Real> _neighbor_grad_storage;
55
59
66
69};
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 ...
static InputParameters validParams()
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...