Class PieceWiseLinearPolyhedronMapping

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PieceWiseLinearPolyhedronMapping : public opensn::PieceWiseLinearBaseMapping

Object for handling piecewise linear shape functions on polyhedron shaped 3D cells.

Public Functions

PieceWiseLinearPolyhedronMapping(const Cell &polyh_cell, std::shared_ptr<MeshContinuum> ref_grid, const TetrahedraQuadrature &volume_quadrature, const TriangleQuadrature &surface_quadrature)

Constructor for the Piecewise Linear Polyhedron cell finite element view.

virtual VolumetricFiniteElementData MakeVolumetricFiniteElementData() const override

Makes the volumetric/internal finite element data for this element.

virtual SurfaceFiniteElementData MakeSurfaceFiniteElementData(size_t face_index) const override

Makes the surface finite element data for this element, at the specified face.

virtual double ShapeValue(int i, const Vector3 &xyz) const override

Actual shape functions as function of cartesian coordinates.

virtual Vector3 GradShapeValue(int i, const Vector3 &xyz) const override

Returns the value of the required shape function gradient at the world xyz point.

virtual void ShapeValues(const Vector3 &xyz, Vector<double> &shape_values) const override

Populates all the shape function values at the given world xyz point. This method is optimized to minimize reallocation of shape_values.

virtual void GradShapeValues(const Vector3 &xyz, std::vector<Vector3> &gradshape_values) const override

Populates all the shape function gradient values at the given world xyz point. This method is optimized to minimize reallocation of gradshape_values.