Class PieceWiseLinearSlabMapping

Inheritance Relationships

Base Type

Class Documentation

class PieceWiseLinearSlabMapping : public opensn::PieceWiseLinearBaseMapping

Object for handling slab shaped piecewise linear shape functions.

Public Functions

PieceWiseLinearSlabMapping(const Cell &slab_cell, std::shared_ptr<MeshContinuum> ref_grid, const LineQuadrature &volume_quadrature)

Constructor for a slab 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.

double SlabShape(uint32_t index, const Vector3 &qpoint, bool on_surface = false, uint32_t edge = 0) const

Define standard slab linear shape functions.

double SlabGradShape(uint32_t index) const
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.