Classes | Public Member Functions | Private Attributes | List of all members
Marmot::FiniteElement::BoundaryElement Class Reference

#include <MarmotFiniteElement.h>

Classes

struct  BoundaryElementQuadraturePoint
 

Public Member Functions

 BoundaryElement (ElementShapes parentShape, int nDim, int parentFaceNumber, const Eigen::VectorXd &parentCoordinates)
 
Eigen::VectorXd computeScalarLoadVector ()
 
Eigen::MatrixXd computeDScalarLoadVector_dCoordinates ()
 
Eigen::VectorXd computeSurfaceNormalVectorialLoadVector ()
 compute the element load vector for a unit vectorial load normal to the surface. More...
 
Eigen::MatrixXd computeDSurfaceNormalVectorialLoadVector_dCoordinates ()
 
Eigen::VectorXd computeVectorialLoadVector (const Eigen::VectorXd &direction)
 compute the element load vector for a unit vectorial load in a given direction. More...
 
Eigen::MatrixXd computeDVectorialLoadVector_dCoordinates (const Eigen::VectorXd &direction)
 
Eigen::VectorXd condenseParentToBoundaryScalar (const Eigen::VectorXd &parentVector)
 
void assembleIntoParentScalar (const Eigen::VectorXd &boundaryVector, Eigen::Ref< Eigen::VectorXd > ParentVector)
 
void assembleIntoParentStiffnessScalar (const Eigen::MatrixXd &KBoundary, Eigen::Ref< Eigen::MatrixXd > KParent)
 
Eigen::VectorXd condenseParentToBoundaryVectorial (const Eigen::VectorXd &parentVector)
 
void assembleIntoParentVectorial (const Eigen::VectorXd &boundaryVector, Eigen::Ref< Eigen::VectorXd > ParentVector)
 
void assembleIntoParentStiffnessVectorial (const Eigen::MatrixXd &KBoundary, Eigen::Ref< Eigen::MatrixXd > KParent)
 

Private Attributes

const int nDim
 
ElementShapes boundaryShape
 
int nNodes
 
int nParentCoordinates
 
std::vector< BoundaryElementQuadraturePointquadraturePoints
 
Eigen::VectorXi mapBoundaryToParentScalar
 
Eigen::VectorXi mapBoundaryToParentVectorial
 
Eigen::VectorXd coordinates
 

Class Documentation

◆ Marmot::FiniteElement::BoundaryElement::BoundaryElementQuadraturePoint

struct Marmot::FiniteElement::BoundaryElement::BoundaryElementQuadraturePoint
Class Members
double weight
double JxW
VectorXd xi
VectorXd N
MatrixXd dNdXi
MatrixXd dx_dXi
VectorXd areaVector

Constructor & Destructor Documentation

◆ BoundaryElement()

Marmot::FiniteElement::BoundaryElement::BoundaryElement ( ElementShapes  parentShape,
int  nDim,
int  parentFaceNumber,
const Eigen::VectorXd &  parentCoordinates 
)

Member Function Documentation

◆ computeScalarLoadVector()

VectorXd Marmot::FiniteElement::BoundaryElement::computeScalarLoadVector ( )

◆ computeDScalarLoadVector_dCoordinates()

MatrixXd Marmot::FiniteElement::BoundaryElement::computeDScalarLoadVector_dCoordinates ( )

◆ computeSurfaceNormalVectorialLoadVector()

VectorXd Marmot::FiniteElement::BoundaryElement::computeSurfaceNormalVectorialLoadVector ( )

compute the element load vector for a unit vectorial load normal to the surface.

◆ computeDSurfaceNormalVectorialLoadVector_dCoordinates()

MatrixXd Marmot::FiniteElement::BoundaryElement::computeDSurfaceNormalVectorialLoadVector_dCoordinates ( )

◆ computeVectorialLoadVector()

VectorXd Marmot::FiniteElement::BoundaryElement::computeVectorialLoadVector ( const Eigen::VectorXd &  direction)

compute the element load vector for a unit vectorial load in a given direction.

◆ computeDVectorialLoadVector_dCoordinates()

MatrixXd Marmot::FiniteElement::BoundaryElement::computeDVectorialLoadVector_dCoordinates ( const Eigen::VectorXd &  direction)

◆ condenseParentToBoundaryScalar()

VectorXd Marmot::FiniteElement::BoundaryElement::condenseParentToBoundaryScalar ( const Eigen::VectorXd &  parentVector)

Condense any scalar quantiaty parent vector to the corresponding boundary child vector (e.g. temperature fields ) dependent on the underlying indices mapping

◆ assembleIntoParentScalar()

void Marmot::FiniteElement::BoundaryElement::assembleIntoParentScalar ( const Eigen::VectorXd &  boundaryVector,
Eigen::Ref< Eigen::VectorXd >  ParentVector 
)

◆ assembleIntoParentStiffnessScalar()

void Marmot::FiniteElement::BoundaryElement::assembleIntoParentStiffnessScalar ( const Eigen::MatrixXd &  KBoundary,
Eigen::Ref< Eigen::MatrixXd >  KParent 
)

◆ condenseParentToBoundaryVectorial()

VectorXd Marmot::FiniteElement::BoundaryElement::condenseParentToBoundaryVectorial ( const Eigen::VectorXd &  parentVector)

◆ assembleIntoParentVectorial()

void Marmot::FiniteElement::BoundaryElement::assembleIntoParentVectorial ( const Eigen::VectorXd &  boundaryVector,
Eigen::Ref< Eigen::VectorXd >  ParentVector 
)

◆ assembleIntoParentStiffnessVectorial()

void Marmot::FiniteElement::BoundaryElement::assembleIntoParentStiffnessVectorial ( const Eigen::MatrixXd &  KBoundary,
Eigen::Ref< Eigen::MatrixXd >  KParent 
)

Member Data Documentation

◆ nDim

const int Marmot::FiniteElement::BoundaryElement::nDim
private

◆ boundaryShape

ElementShapes Marmot::FiniteElement::BoundaryElement::boundaryShape
private

◆ nNodes

int Marmot::FiniteElement::BoundaryElement::nNodes
private

◆ nParentCoordinates

int Marmot::FiniteElement::BoundaryElement::nParentCoordinates
private

◆ quadraturePoints

std::vector< BoundaryElementQuadraturePoint > Marmot::FiniteElement::BoundaryElement::quadraturePoints
private

◆ mapBoundaryToParentScalar

Eigen::VectorXi Marmot::FiniteElement::BoundaryElement::mapBoundaryToParentScalar
private

◆ mapBoundaryToParentVectorial

Eigen::VectorXi Marmot::FiniteElement::BoundaryElement::mapBoundaryToParentVectorial
private

◆ coordinates

Eigen::VectorXd Marmot::FiniteElement::BoundaryElement::coordinates
private

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