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" 20 : _elem_info(elem_info),
21 _neighbor_info(nullptr),
31 std::unique_ptr<libMesh::FEBase> fe(
34 fe->attach_quadrature_rule(&qface);
35 const std::vector<Point> & normals = fe->get_normals();
37 mooseAssert(normals.size() == 1,
"FaceInfo construction broken w.r.t. computing face normals");
47 mooseAssert(neighbor_info,
48 "We need a neighbor if we want to compute interpolation coefficients!");
57 Point r_intersection =
68 mooseAssert(!
_neighbor_info,
"This functions shall only be called on a boundary!");
82 const Point r_intersection =
const ElemInfo * _neighbor_info
void computeInternalCoefficients(const ElemInfo *const neighbor_info)
Takes the ElemInfo of the neighbor cell and computes interpolation weights together with other quanti...
std::unique_ptr< FEGenericBase< Real > > build(const unsigned int dim, const FEType &fet)
const unsigned int invalid_uint
Point skewnessCorrectionVector() const
Returns the skewness-correction vector (vector between the approximate and real face centroids)...
const Elem * elem() const
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
FaceInfo(const ElemInfo *const elem_info, const unsigned int side, const dof_id_type id)
Real _d_cn_mag
the distance norm between neighbor and element centroids
const Point & centroid() const
Real _gc
Geometric weighting factor for face value interpolation.
processor_id_type _processor_id
void computeBoundaryCoefficients()
Computes the interpolation weights and similar quantities with the assumption that the face is on a b...
const unsigned int _elem_side_id
the elem local side id
unsigned int _neighbor_side_id
const ElemInfo *const _elem_info
the elem and neighbor elems
Point _d_cn
the distance vector between neighbor and element centroids
Class used for caching additional information for elements such as the volume and centroid...