Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
GaussQuadrature Class Reference

Class for creating a Gauss Quadrature declarations to integrate quantities in the iso-parametric elements. More...

#include <GaussQuadrature.hpp>

Inheritance diagram for GaussQuadrature:
Collaboration diagram for GaussQuadrature:

Public Member Functions

 GaussQuadrature (std::string name, unsigned int nQp)
 Creates a GaussQuadrature for Element integration. More...
 
 ~GaussQuadrature ()
 Destroys this GaussQuadrature object. More...
 
unsigned int GetNumberOfQuadraturePoints ()
 Gets Number of Gauss Integration Points. More...
 
void GetQuadraturePoints (std::string name, Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Gets Gauss Integration Points. More...
 
- Public Member Functions inherited from QuadratureRule
 QuadratureRule (std::string name)
 Creates a QuadratureRule for Element integration. More...
 
virtual ~QuadratureRule ()=0
 Destroys this QuadratureRule object. More...
 
std::string GetQuadratureName ()
 Gets the Element's Quadrature Name. More...
 

Private Member Functions

void SetLineQuadraturePoints (Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Sets Gauss Quadrature for Line Elements. More...
 
void SetTriaQuadraturePoints (Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Sets Gauss Quadrature for Triangular Elements. More...
 
void SetQuadQuadraturePoints (Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Sets Gauss Quadrature for Quadrilateral Elements. More...
 
void SetTetraQuadraturePoints (Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Sets Gauss Quadrature for Tetrahedron Elements. More...
 
void SetHexaQuadraturePoints (Eigen::VectorXd &wi, Eigen::MatrixXd &xi)
 Sets Gauss Quadrature for Hexahedron Elements. More...
 

Private Attributes

unsigned int nQuadraturePoints
 Number of Quadrature Points. More...
 
unsigned int nOrderQuadrature
 Number of Surface Quadrature Points. More...
 

Detailed Description

Class for creating a Gauss Quadrature declarations to integrate quantities in the iso-parametric elements.

See also
Element.hpp QuadratureRule.hpp

Constructor & Destructor Documentation

◆ GaussQuadrature()

GaussQuadrature::GaussQuadrature ( std::string  name,
unsigned int  nQp 
)

Creates a GaussQuadrature for Element integration.

Parameters
nameGeneric name of the Element for this quadrature rule.
nQpNumber of quadrature points.
Note
More details can be found at Gauss Quadrature.
See also
GaussQuadrature::nQuadraturePoints, GaussQuadrature::nOrderQuadrature.

◆ ~GaussQuadrature()

GaussQuadrature::~GaussQuadrature ( )

Destroys this GaussQuadrature object.

Member Function Documentation

◆ GetNumberOfQuadraturePoints()

unsigned int GaussQuadrature::GetNumberOfQuadraturePoints ( )
virtual

Gets Number of Gauss Integration Points.

Returns
The number of Gauss Integration Points.

Implements QuadratureRule.

◆ GetQuadraturePoints()

void GaussQuadrature::GetQuadraturePoints ( std::string  name,
Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
virtual

Gets Gauss Integration Points.

Parameters
nameGeneric name of the Element for this quadrature rule.
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.

Implements QuadratureRule.

◆ SetHexaQuadraturePoints()

void GaussQuadrature::SetHexaQuadraturePoints ( Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
private

Sets Gauss Quadrature for Hexahedron Elements.

Parameters
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.
Note
This function returns the Hexahedron quadrature information, see linkGaussQuadrature.

◆ SetLineQuadraturePoints()

void GaussQuadrature::SetLineQuadraturePoints ( Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
private

Sets Gauss Quadrature for Line Elements.

Parameters
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.
Note
This function returns the Hexahedron quadrature information, see linkGaussQuadrature.

◆ SetQuadQuadraturePoints()

void GaussQuadrature::SetQuadQuadraturePoints ( Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
private

Sets Gauss Quadrature for Quadrilateral Elements.

Parameters
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.
Note
This function returns the Hexahedron quadrature information, see linkGaussQuadrature.

◆ SetTetraQuadraturePoints()

void GaussQuadrature::SetTetraQuadraturePoints ( Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
private

Sets Gauss Quadrature for Tetrahedron Elements.

Parameters
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.
Note
This function returns the Hexahedron quadrature information, see linkGaussQuadrature.

◆ SetTriaQuadraturePoints()

void GaussQuadrature::SetTriaQuadraturePoints ( Eigen::VectorXd &  wi,
Eigen::MatrixXd &  xi 
)
private

Sets Gauss Quadrature for Triangular Elements.

Parameters
wiThe Gauss quadrature weights.
xiThe Gauss quadrature coordinates.
Note
This function returns the Hexahedron quadrature information, see linkGaussQuadrature.

Member Data Documentation

◆ nOrderQuadrature

unsigned int GaussQuadrature::nOrderQuadrature
private

Number of Surface Quadrature Points.

◆ nQuadraturePoints

unsigned int GaussQuadrature::nQuadraturePoints
private

Number of Quadrature Points.