https://mooseframework.inl.gov
FVAdvectedVanLeerWeightBased.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 
13 #include "FVInterpolationMethod.h"
14 
21 {
22 public:
24 
26 
29 
30  bool needsGradients() const override { return true; }
31 
32  AdvectedSystemContribution advectedInterpolate(const FaceInfo & face,
33  Real elem_value,
34  Real neighbor_value,
35  const VectorValue<Real> * elem_grad,
36  const VectorValue<Real> * neighbor_grad,
37  Real mass_flux) const override;
38 
40  Real elem_value,
41  Real neighbor_value,
42  const VectorValue<Real> * elem_grad,
43  const VectorValue<Real> * neighbor_grad,
44  Real mass_flux) const override;
45 
46 private:
48  const bool _limit_to_linear;
51 };
Interface for interpolation methods that provide matrix and RHS contributions for advected face value...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Registered base class for linear FV interpolation objects.
Van Leer interpolation for advected quantities that blends between upwind and the higher-order limite...
virtual Real advectedInterpolateValue(const FaceInfo &face, Real elem_value, Real neighbor_value, const VectorValue< Real > *elem_grad, const VectorValue< Real > *neighbor_grad, Real mass_flux) const
Compute the advected face value.
This data structure is used to store geometric and variable related metadata about each cell face in ...
Definition: FaceInfo.h:37
AdvectedSystemContribution advectedInterpolate(const FaceInfo &face, Real elem_value, Real neighbor_value, const VectorValue< Real > *elem_grad, const VectorValue< Real > *neighbor_grad, Real mass_flux) const override
Compute the matrix weights for the advected face value.
virtual AdvectedSystemContribution advectedInterpolate(const FaceInfo &face, Real elem_value, Real neighbor_value, const VectorValue< Real > *elem_grad, const VectorValue< Real > *neighbor_grad, Real mass_flux) const =0
Compute the matrix weights for the advected face value.
const bool _limit_to_linear
Whether to clamp the blending to be no more downwind-biased than linear.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FVAdvectedVanLeerWeightBased(const InputParameters &params)
Real advectedInterpolateValue(const FaceInfo &face, Real elem_value, Real neighbor_value, const VectorValue< Real > *elem_grad, const VectorValue< Real > *neighbor_grad, Real mass_flux) const override
Compute the advected face value.
const Real _blending_factor
Scales the high-order blending strength (0 = upwind, 1 = full limited blending).
bool needsGradients() const override
Whether advected interpolation requires adjacent-cell gradients.