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