1#ifndef PWL_POLYGON_VALUES_H
2#define PWL_POLYGON_VALUES_H
40 std::vector<double>& shape_values)
const override;
44 std::vector<chi_mesh::Vector3>& gradshape_values)
const override;
50 static double TriShape(uint32_t index,
52 bool on_surface =
false);
58 bool on_surface =
false)
const;
chi_mesh::Vector3 GradShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
void ShapeValues(const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override
double SideShape(uint32_t side, uint32_t i, const chi_mesh::Vector3 &qpoint, bool on_surface=false) const
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData(size_t face_index) const override
std::vector< std::vector< int > > node_to_side_map_
const QuadratureLine & surface_quadrature_
static double TriShape(uint32_t index, const chi_mesh::Vector3 &qpoint, bool on_surface=false)
PieceWiseLinearPolygonMapping(const chi_mesh::Cell &poly_cell, const chi_mesh::MeshContinuum &ref_grid, const QuadratureTriangle &volume_quadrature, const QuadratureLine &surface_quadrature)
double ShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
const QuadratureTriangle & volume_quadrature_
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData() const override
double SideGradShape_y(uint32_t side, uint32_t i) const
double SideGradShape_x(uint32_t side, uint32_t i) const
void GradShapeValues(const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override
std::vector< FEside_data2d > sides_
chi_mesh::Matrix3x3 JTinv
std::array< uint64_t, 2 > v_index