Namespaces | Classes | Enumerations | Functions
Marmot::FiniteElement Namespace Reference

Namespaces

 EAS
 
 Quadrature
 
 Spatial1D
 
 Spatial2D
 
 Spatial3D
 

Classes

class  BoundaryElement
 

Enumerations

enum  ElementShapes {
  Bar2, Bar3, Quad4, Quad8,
  Quad9, Quad16, Tetra4, Tetra10,
  Hexa8, Hexa20, Hexa27, Hexa64
}
 

Functions

const std::vector< std::vector< std::string > > makeNodeFieldLayout (const std::map< std::string, std::pair< int, int > > &fieldSizes)
 
std::vector< int > makeBlockedLayoutPermutationPattern (const std::vector< std::vector< std::string > > &nodeFields, const std::map< std::string, std::pair< int, int > > &fieldSizes)
 
ElementShapes getElementShapeByMetric (int nDim, int nNodes)
 
Eigen::MatrixXd NB (const Eigen::VectorXd &N, const int nDoFPerNode)
 
template<int nDim, int nNodes>
Eigen::Matrix< double, nDim, nDim *nNodes > NB (const Eigen::Matrix< double, 1, nNodes > &N)
 
Eigen::MatrixXd Jacobian (const Eigen::MatrixXd &dN_dXi, const Eigen::VectorXd &coordinates)
 
template<int nDim, int nNodes>
Eigen::Matrix< double, nDim, nDim > Jacobian (const Eigen::Matrix< double, nDim, nNodes > &dNdXi, const Eigen::Matrix< double, nDim *nNodes, 1 > &coordinates)
 
Eigen::VectorXi expandNodeIndicesToCoordinateIndices (const Eigen::VectorXi &nodeIndices, int nDim)
 
const vector< vector< string > > makeNodeFieldLayout (const map< string, pair< int, int > > &fieldSizes)
 
vector< int > makeBlockedLayoutPermutationPattern (const vector< vector< string > > &nodeFields, const map< string, pair< int, int > > &fieldSizes)
 
MatrixXd NB (const VectorXd &N, const int nDoFPerNode)
 
MatrixXd Jacobian (const MatrixXd &dNdXi, const VectorXd &coordinates)
 
VectorXi expandNodeIndicesToCoordinateIndices (const VectorXi &nodeIndices, int nDim)
 

Enumeration Type Documentation

◆ ElementShapes

Enumerator
Bar2 
Bar3 
Quad4 
Quad8 
Quad9 
Quad16 
Tetra4 
Tetra10 
Hexa8 
Hexa20 
Hexa27 
Hexa64 

Function Documentation

◆ makeNodeFieldLayout() [1/2]

const std::vector< std::vector< std::string > > Marmot::FiniteElement::makeNodeFieldLayout ( const std::map< std::string, std::pair< int, int > > &  fieldSizes)

◆ makeBlockedLayoutPermutationPattern() [1/2]

std::vector< int > Marmot::FiniteElement::makeBlockedLayoutPermutationPattern ( const std::vector< std::vector< std::string > > &  nodeFields,
const std::map< std::string, std::pair< int, int > > &  fieldSizes 
)

◆ getElementShapeByMetric()

ElementShapes Marmot::FiniteElement::getElementShapeByMetric ( int  nDim,
int  nNodes 
)

◆ NB() [1/3]

Eigen::MatrixXd Marmot::FiniteElement::NB ( const Eigen::VectorXd &  N,
const int  nDoFPerNode 
)

◆ NB() [2/3]

template<int nDim, int nNodes>
Eigen::Matrix< double, nDim, nDim * nNodes > Marmot::FiniteElement::NB ( const Eigen::Matrix< double, 1, nNodes > &  N)

◆ Jacobian() [1/3]

Eigen::MatrixXd Marmot::FiniteElement::Jacobian ( const Eigen::MatrixXd &  dN_dXi,
const Eigen::VectorXd &  coordinates 
)

◆ Jacobian() [2/3]

template<int nDim, int nNodes>
Eigen::Matrix< double, nDim, nDim > Marmot::FiniteElement::Jacobian ( const Eigen::Matrix< double, nDim, nNodes > &  dNdXi,
const Eigen::Matrix< double, nDim *nNodes, 1 > &  coordinates 
)

◆ expandNodeIndicesToCoordinateIndices() [1/2]

Eigen::VectorXi Marmot::FiniteElement::expandNodeIndicesToCoordinateIndices ( const Eigen::VectorXi &  nodeIndices,
int  nDim 
)

◆ makeNodeFieldLayout() [2/2]

const vector< vector< string > > Marmot::FiniteElement::makeNodeFieldLayout ( const map< string, pair< int, int > > &  fieldSizes)

◆ makeBlockedLayoutPermutationPattern() [2/2]

vector< int > Marmot::FiniteElement::makeBlockedLayoutPermutationPattern ( const vector< vector< string > > &  nodeFields,
const map< string, pair< int, int > > &  fieldSizes 
)

◆ NB() [3/3]

MatrixXd Marmot::FiniteElement::NB ( const VectorXd &  N,
const int  nDoFPerNode 
)

◆ Jacobian() [3/3]

MatrixXd Marmot::FiniteElement::Jacobian ( const MatrixXd &  dNdXi,
const VectorXd &  coordinates 
)

◆ expandNodeIndicesToCoordinateIndices() [2/2]

VectorXi Marmot::FiniteElement::expandNodeIndicesToCoordinateIndices ( const VectorXi &  nodeIndices,
int  nDim 
)