13#include "libmesh/elem.h"
14#include "libmesh/node.h"
15#include "libmesh/fe_base.h"
16#include "libmesh/quadrature_gauss.h"
17#include "libmesh/remote_elem.h"
23 : _elem_info(elem_info),
24 _neighbor_info(nullptr),
26 _processor_id(_elem_info->elem()->processor_id()),
28 _neighbor_side_id(
libMesh::invalid_uint),
41 mooseAssert(neighbor_info,
42 "We need a neighbor if we want to compute interpolation coefficients!");
51 Point r_intersection =
62 mooseAssert(!
_neighbor_info,
"This functions shall only be called on a boundary!");
76 const Point r_intersection =
Class used for caching additional information for elements such as the volume and centroid.
const Elem * elem() const
const Point & centroid() const
void computeBoundaryCoefficients()
Computes the interpolation weights and similar quantities with the assumption that the face is on a b...
Point skewnessCorrectionVector() const
Returns the skewness-correction vector (vector between the approximate and real face centroids).
const ElemInfo *const _elem_info
the elem and neighbor elems
void computeInternalCoefficients(const ElemInfo *const neighbor_info)
Takes the ElemInfo of the neighbor cell and computes interpolation weights together with other quanti...
Real _d_cn_mag
the distance norm between neighbor and element centroids
Point _d_cn
the distance vector between neighbor and element centroids
const ElemInfo * _neighbor_info
Real _gc
Geometric weighting factor for face value interpolation.
FaceInfo(const ElemInfo *elem_info, unsigned int side, const dof_id_type id, libMesh::ElemSideBuilder &side_builder)
unsigned int _neighbor_side_id
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...