NuTo
Numerics Tool
InterpolationPrismLinear.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, 6, 1> ShapeFunctions(const Eigen::VectorXd& rCoordinates);
13 
14  static Eigen::Matrix<double, 6, 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  Prism mShape;
30 };
31 } /* NuTo */
Definition: InterpolationPrismLinear.h:7
Eigen::MatrixXd GetDerivativeShapeFunctions(const NaturalCoords &naturalIpCoords) const override
calculates the derivative shape functions
Definition: InterpolationPrismLinear.cpp:17
Eigen::VectorXd GetShapeFunctions(const NaturalCoords &naturalIpCoords) const override
calculates the shape functions
Definition: InterpolationPrismLinear.cpp:11
NaturalCoords GetLocalCoords(int nodeId) const override
returns the local node coordinates
Definition: InterpolationPrismLinear.cpp:22
const Shape & GetShape() const override
Definition: InterpolationPrismLinear.cpp:32
std::unique_ptr< InterpolationSimple > Clone() const override
Definition: InterpolationPrismLinear.cpp:6
static Eigen::Matrix< double, 3, 1 > LocalCoords(int rNodeIndex)
Definition: InterpolationPrismLinear.cpp:37
Base class for the interpolation. The derived classes provide information about the actual interpolat...
Definition: InterpolationSimple.h:12
Definition: Shape.h:20
Definition: Exception.h:6
Definition: SerializeStreamOut.h:9
Definition: Prism.h:8
static Eigen::Matrix< double, 6, 1 > ShapeFunctions(const Eigen::VectorXd &rCoordinates)
Definition: InterpolationPrismLinear.cpp:59
int GetNumNodes() const override
returns the number of nodes
Definition: InterpolationPrismLinear.cpp:27
static Eigen::Matrix< double, 6, 3 > DerivativeShapeFunctions(const Eigen::VectorXd &rCoordinates)
Definition: InterpolationPrismLinear.cpp:76