1#ifndef CHITECH_LAGRANGEBASEMAPPING_H
2#define CHITECH_LAGRANGEBASEMAPPING_H
24 std::vector<double>& shape_values)
const override;
29 std::vector<chi_mesh::Vector3>& gradshape_values)
const override;
46 std::vector<std::vector<int>> face_node_mappings,
55 static std::vector<chi_mesh::Vector3>
60 static std::vector<std::vector<int>>
77 virtual std::pair<double, Vec3>
79 const Vec3& qpoint_face)
const;
85 const Vec3& qpoint_face)
const = 0;
std::vector< VecDbl > MatDbl
std::vector< double > VecDbl
virtual Vec3 RefGradShape(uint32_t i, const Vec3 &qpoint) const =0
static std::vector< chi_mesh::Vector3 > GetVertexLocations(const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell)
virtual double RefShape(uint32_t i, const Vec3 &qpoint) const =0
std::vector< double > VecDbl
const Quadrature & volume_quadrature_
void GradShapeValues(const chi_mesh::Vector3 &xyz, std::vector< chi_mesh::Vector3 > &gradshape_values) const override
LagrangeBaseMapping(const chi_mesh::MeshContinuum &grid, const chi_mesh::Cell &cell, size_t num_nodes, std::vector< std::vector< int > > face_node_mappings, const Quadrature &volume_quadrature, const Quadrature &surface_quadrature)
finite_element::SurfaceQuadraturePointData MakeSurfaceQuadraturePointData(size_t face_index) const override
virtual const Quadrature & GetSurfaceQuadrature(size_t face_index) const
virtual std::pair< double, Vec3 > RefFaceJacobianDeterminantAndNormal(size_t face_index, const Vec3 &qpoint_face) const
static std::vector< std::vector< int > > MakeFaceNodeMapping(const chi_mesh::Cell &cell)
finite_element::VolumetricQuadraturePointData MakeVolumetricQuadraturePointData() const override
virtual MatDbl RefJacobian(const Vec3 &qpoint) const =0
void ShapeValues(const chi_mesh::Vector3 &xyz, std::vector< double > &shape_values) const override
double ShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
chi_mesh::Vector3 GradShapeValue(int i, const chi_mesh::Vector3 &xyz) const override
const Quadrature & surface_quadrature_
std::vector< VecDbl > MatDbl
virtual Vec3 FaceToElementQPointConversion(size_t face_index, const Vec3 &qpoint_face) const =0
Vec3 MapWorldXYZToNaturalXYZ(const Vec3 &world_xyz) const
WorldXYZToNaturalMappingHelper(const LagrangeBaseMapping &cell_mapping, const Vec3 &world_x)
VecDbl F(const VecDbl &x) const override
const LagrangeBaseMapping & cell_mapping_
MatDbl J(const VecDbl &x) const override