PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
Gedim::MapTetrahedron Class Reference

#include <MapTetrahedron.hpp>

Classes

struct  MapTetrahedronData
 

Public Member Functions

 MapTetrahedron (const Gedim::GeometryUtilities &geometryUtilities)
 
 ~MapTetrahedron ()
 
MapTetrahedronData Compute (const Eigen::MatrixXd &vertices) const
 

Static Public Member Functions

static Eigen::Matrix3d Q (const Eigen::Vector3d &firstVertex, const Eigen::Vector3d &secondVertex, const Eigen::Vector3d &thirdVertex, const Eigen::Vector3d &fourthVertex)
 
static Eigen::Vector3d b (const Eigen::Vector3d &firstVertex)
 
static Eigen::MatrixXd F (const MapTetrahedronData &mapData, const Eigen::MatrixXd &x)
 
static Eigen::MatrixXd FInv (const MapTetrahedronData &mapData, const Eigen::MatrixXd &x)
 
static Eigen::MatrixXd J (const MapTetrahedronData &mapData, const Eigen::MatrixXd &x)
 
static Eigen::VectorXd DetJ (const MapTetrahedronData &mapData, const Eigen::MatrixXd &x)
 
static double DetJ (const MapTetrahedronData &mapData)
 

Constructor & Destructor Documentation

◆ MapTetrahedron()

Gedim::MapTetrahedron::MapTetrahedron ( const Gedim::GeometryUtilities geometryUtilities)

◆ ~MapTetrahedron()

Gedim::MapTetrahedron::~MapTetrahedron ( )
inline

Member Function Documentation

◆ b()

static Eigen::Vector3d Gedim::MapTetrahedron::b ( const Eigen::Vector3d &  firstVertex)
inlinestatic

Matrix Q for linear map x = Q * x_r + b from reference tetrahedron [0,1]x[0,1]x[0,1]/2 to tetrahedron with x points vertices the tetrahedron to map vertices, size 3 x 4 return the resulting value, size 3 x 3

◆ Compute()

MapTetrahedron::MapTetrahedronData Gedim::MapTetrahedron::Compute ( const Eigen::MatrixXd &  vertices) const

Map from the tetrahedron reference element [0,1]x[0,1]x[0,1]/2 to the polygon x = F(x_r) = Q * x_r + b

Parameters
verticesthe tetrahedron to map vertices, size 3 x 4
Returns
the map data

◆ DetJ() [1/2]

static double Gedim::MapTetrahedron::DetJ ( const MapTetrahedronData mapData)
inlinestatic

Compute the determinant of the jacobian matrix of the trasformation

Parameters
mapDatathe map data computed
Returns
the determinant of Jacobian matrix

◆ DetJ() [2/2]

VectorXd Gedim::MapTetrahedron::DetJ ( const MapTetrahedronData mapData,
const Eigen::MatrixXd &  x 
)
static

Compute the determinant of the jacobian matrix of the trasformation

Parameters
mapDatathe map data computed
xpoints in reference tetrahedron, size 3 x numPoints
Returns
the determinant of Jacobian matrix for each points, size 1 x numPoints

◆ F()

static Eigen::MatrixXd Gedim::MapTetrahedron::F ( const MapTetrahedronData mapData,
const Eigen::MatrixXd &  x 
)
inlinestatic

Map from the tetrahedron reference element [0,1]x[0,1]x[0,1]/2 to the polygon x = F(x_r) = Q * x_r + b

Parameters
mapDatathe map data computed
xpoints in reference tetrahedron, size 3 x numPoints
Returns
the mapped points, size 3 x numPoints

◆ FInv()

static Eigen::MatrixXd Gedim::MapTetrahedron::FInv ( const MapTetrahedronData mapData,
const Eigen::MatrixXd &  x 
)
inlinestatic

◆ J()

MatrixXd Gedim::MapTetrahedron::J ( const MapTetrahedronData mapData,
const Eigen::MatrixXd &  x 
)
static

Compute the jacobian matrix of the transformation F

Parameters
mapDatathe map data computed
xpoints in reference tetrahedron, size 3 x numPoints
Returns
the Q matrix for each points, size 2 x (2 * numPoints)

◆ Q()

static Eigen::Matrix3d Gedim::MapTetrahedron::Q ( const Eigen::Vector3d &  firstVertex,
const Eigen::Vector3d &  secondVertex,
const Eigen::Vector3d &  thirdVertex,
const Eigen::Vector3d &  fourthVertex 
)
inlinestatic

Matrix Q for linear map x = Q * x_r + b from reference tetrahedron [0,1]x[0,1]x[0,1]/2 to tetrahedron with x points vertices the tetrahedron to map vertices, size 3 x 4 return the resulting value, size 3 x 3


The documentation for this class was generated from the following files: