https://mooseframework.inl.gov
Public Member Functions | List of all members
FVFaceInterpolationMethod Class Referenceabstract

Abstract base class for interpolation methods that produce a scalar face value from adjacent cell values. More...

#include <FVFaceInterpolationMethod.h>

Inheritance diagram for FVFaceInterpolationMethod:
[legend]

Public Member Functions

virtual Real interpolate (const FaceInfo &face, Real elem_value, Real neighbor_value) const =0
 Face interpolation operation for this method. More...
 
Real interpolate (const Moose::FunctorBase< Real > &functor, const FaceInfo &face, const Moose::StateArg &state) const
 Convenience overload that evaluates a scalar Moose functor at the adjacent cell centers and then applies this interpolation method. More...
 

Detailed Description

Abstract base class for interpolation methods that produce a scalar face value from adjacent cell values.

Definition at line 19 of file FVFaceInterpolationMethod.h.

Member Function Documentation

◆ interpolate() [1/2]

virtual Real FVFaceInterpolationMethod::interpolate ( const FaceInfo face,
Real  elem_value,
Real  neighbor_value 
) const
pure virtual

Face interpolation operation for this method.

Parameters
faceThe face to interpolate at.
elem_valueElement-side scalar value.
neighbor_valueNeighbor-side scalar value.

Implemented in FVGeometricAverage, and FVHarmonicAverage.

Referenced by LinearFVDiffusion::faceDiffusivity(), and interpolate().

◆ interpolate() [2/2]

Real FVFaceInterpolationMethod::interpolate ( const Moose::FunctorBase< Real > &  functor,
const FaceInfo face,
const Moose::StateArg state 
) const

Convenience overload that evaluates a scalar Moose functor at the adjacent cell centers and then applies this interpolation method.

This requires a two-sided internal face.

Parameters
functorThe function which will be interpolated onto the face.
faceThe face which will be use for interpolation.
stateThe state argument for which we are performing the interpolation.

Definition at line 13 of file FVFaceInterpolationMethod.C.

16 {
17  mooseAssert(face.neighborPtr(),
18  "Face interpolation with a Moose functor requires a two-sided internal face.");
19 
20  const Real elem_value = functor(Moose::ElemArg{face.elemPtr(), false}, state);
21  const Real neighbor_value = functor(Moose::ElemArg{face.neighborPtr(), false}, state);
22  return interpolate(face, elem_value, neighbor_value);
23 }
virtual Real interpolate(const FaceInfo &face, Real elem_value, Real neighbor_value) const =0
Face interpolation operation for this method.
const Elem * neighborPtr() const
Definition: FaceInfo.h:88
A structure that is used to evaluate Moose functors logically at an element/cell center.
const Elem * elemPtr() const
Definition: FaceInfo.h:86
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

The documentation for this class was generated from the following files: