Class PieceWiseLinearPolygonMapping

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PieceWiseLinearPolygonMapping : public opensn::PieceWiseLinearBaseMapping

Object for handling polygon shaped 2D cells.

Public Functions

PieceWiseLinearPolygonMapping(const Cell &poly_cell, const std::shared_ptr<MeshContinuum> ref_grid, const TriangleQuadrature &volume_quadrature, const LineQuadrature &surface_quadrature)
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.

double SideGradShape_x(uint32_t side, uint32_t i) const

Pre-computation of the partial derivative along x of the shape function at a quadrature point.

double SideGradShape_y(uint32_t side, uint32_t i) const

Pre-computation of the partial derivative along y of the shape function at a quadrature point.

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

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

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.