NuTo
Numerics Tool
InterpolationPyramidLinear.h
Go to the documentation of this file.
1 #pragma once
4 
5 namespace NuTo
6 {
8 {
9 public:
10  static Eigen::Matrix<double, 3, 1> LocalCoords(int rNodeIndex);
11 
12  static Eigen::Matrix<double, 5, 1> ShapeFunctions(const Eigen::VectorXd& rCoordinates);
13 
14  static Eigen::Matrix<double, 5, 3> DerivativeShapeFunctions(const Eigen::VectorXd& rCoordinates);
15 
16  std::unique_ptr<InterpolationSimple> Clone() const override;
17 
18  Eigen::VectorXd GetShapeFunctions(const NaturalCoords& naturalIpCoords) const override;
19 
20  Eigen::MatrixXd GetDerivativeShapeFunctions(const NaturalCoords& naturalIpCoords) const override;
21 
22  NaturalCoords GetLocalCoords(int nodeId) const override;
23 
24  int GetNumNodes() const override;
25 
26  const Shape& GetShape() const override;
27 
28 private:
29  Pyramid mShape;
30 };
31 } /* NuTo */
static Eigen::Matrix< double, 3, 1 > LocalCoords(int rNodeIndex)
Definition: InterpolationPyramidLinear.cpp:38
static Eigen::Matrix< double, 5, 3 > DerivativeShapeFunctions(const Eigen::VectorXd &rCoordinates)
Definition: InterpolationPyramidLinear.cpp:80
static Eigen::Matrix< double, 5, 1 > ShapeFunctions(const Eigen::VectorXd &rCoordinates)
Definition: InterpolationPyramidLinear.cpp:58
const Shape & GetShape() const override
Definition: InterpolationPyramidLinear.cpp:32
Base class for the interpolation. The derived classes provide information about the actual interpolat...
Definition: InterpolationSimple.h:12
Definition: Pyramid.h:8
Definition: Shape.h:20
std::unique_ptr< InterpolationSimple > Clone() const override
Definition: InterpolationPyramidLinear.cpp:7
Definition: Exception.h:6
Definition: SerializeStreamOut.h:9
Definition: InterpolationPyramidLinear.h:7
NaturalCoords GetLocalCoords(int nodeId) const override
returns the local node coordinates
Definition: InterpolationPyramidLinear.cpp:22
Eigen::MatrixXd GetDerivativeShapeFunctions(const NaturalCoords &naturalIpCoords) const override
calculates the derivative shape functions
Definition: InterpolationPyramidLinear.cpp:17
Eigen::VectorXd GetShapeFunctions(const NaturalCoords &naturalIpCoords) const override
calculates the shape functions
Definition: InterpolationPyramidLinear.cpp:12
int GetNumNodes() const override
returns the number of nodes
Definition: InterpolationPyramidLinear.cpp:27