1#ifndef PWL_POLYHEDRON_VALUES_H
2#define PWL_POLYHEDRON_VALUES_H
39 std::vector<double>& shape_values)
const override;
43 std::vector<chi_mesh::Vector3>& gradshape_values)
const override;
50 static double TetShape(uint32_t index,
52 bool on_surface =
false);
64 bool on_surface =
false)
const;
92 std::vector<FEside_data3d>
sides;
124 std::vector<FEface_data>
double ShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
const QuadratureTriangle & surface_quadrature_
std::vector< double > face_betaf_
Face Beta-factor.
std::vector< FEnodeMap > node_side_maps_
Maps nodes to side tets.
void ShapeValues(const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override
static double TetGradShape_y(uint32_t index)
std::vector< FEface_data > face_data_
Holds determinants and data tet-by-tet.
PieceWiseLinearPolyhedronMapping(const chi_mesh::Cell &polyh_cell, const chi_mesh::MeshContinuum &ref_grid, const QuadratureTetrahedron &volume_quadrature, const QuadratureTriangle &surface_quadrature)
void GradShapeValues(const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override
static double TetGradShape_z(uint32_t index)
const QuadratureTetrahedron & volume_quadrature_
chi_mesh::Vector3 GradShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData(size_t face_index) const override
double alphac_
Cell alpha-factor.
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData() const override
double FaceSideGradShape_y(uint32_t face_index, uint32_t side_index, uint32_t i) const
static double TetShape(uint32_t index, const chi_mesh::Vector3 &qpoint, bool on_surface=false)
static double TetGradShape_x(uint32_t index)
double FaceSideShape(uint32_t face_index, uint32_t side_index, uint32_t i, const chi_mesh::Vector3 &qpoint, bool on_surface=false) const
double FaceSideGradShape_x(uint32_t face_index, uint32_t side_index, uint32_t i) const
double FaceSideGradShape_z(uint32_t face_index, uint32_t side_index, uint32_t i) const
std::vector< FEside_data3d > sides
std::vector< FEnodeSideMap > side_map
std::vector< FEnodeFaceMap > face_map
std::vector< uint64_t > v_index
chi_mesh::Matrix3x3 JTinv