BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::fem::IntegrationData Class Reference

Precomputed bundle of integration points, weights and shape-function values. More...

#include <cl_IF_IntegrationData.hpp>

Public Member Functions

 IntegrationData (const ElementType aElementType, const InterpolationType aType=InterpolationType::LAGRANGE, InterpolationFunction *aShapeFunction=nullptr)
 IntegrationData (const ElementType aElementType, InterpolationFunction *aShapeFunction, const bool aClaimOwnership)
 ~IntegrationData ()
void populate (const uint aIntegrationOrder=0, const IntegrationScheme aScheme=IntegrationScheme::GAUSS)
 default function for popularization
void populate_for_master (const uint aMasterIndex, const uint aIntegrationOrder=0, const IntegrationScheme aScheme=IntegrationScheme::GAUSS)
 special function for popularization if this is a sideset
void populate_for_slave (const uint aSlaveIndex, const uint aOrientation=0, const uint aIntegrationOrder=0, const IntegrationScheme aScheme=IntegrationScheme::GAUSS)
 special function for popularization if this is a sideset
const InterpolationFunctionfunction () const
 access the shape function
uint number_of_integration_points () const
 tells how many integration points are used
const Vector< real > & weights () const
 return the integration weights
const Matrix< real > & points () const
 return the integration points
const Vector< real > & phi (const uint aIndex) const
 return the node shape function as vector
const Vector< real > & dphidxi (const uint aIndex) const
 return the node shape function deriivative as vector (line element only)
const Matrix< real > & N (const uint aIndex) const
 return the node shape function as Matrix (scalar field)
const Matrix< real > & Nvector (const uint aIndex) const
 return the node shape function as Matrix, for vector field
const Matrix< real > & dNdXi (const uint aIndex) const
 return the first derivative of N
const Matrix< real > & d2NdXi2 (const uint aIndex) const
 return the second derivative of N

Detailed Description

Precomputed bundle of integration points, weights and shape-function values.

See also
Interpolation Module Usage Guide

Constructor & Destructor Documentation

◆ IntegrationData() [1/2]

belfem::fem::IntegrationData::IntegrationData ( const ElementType aElementType,
const InterpolationType aType = InterpolationType::LAGRANGE,
InterpolationFunction * aShapeFunction = nullptr )

◆ IntegrationData() [2/2]

belfem::fem::IntegrationData::IntegrationData ( const ElementType aElementType,
InterpolationFunction * aShapeFunction,
const bool aClaimOwnership )

◆ ~IntegrationData()

belfem::fem::IntegrationData::~IntegrationData ( )

Member Function Documentation

◆ d2NdXi2()

const Matrix< real > & belfem::fem::IntegrationData::d2NdXi2 ( const uint aIndex) const
inline

return the second derivative of N

◆ dNdXi()

const Matrix< real > & belfem::fem::IntegrationData::dNdXi ( const uint aIndex) const
inline

return the first derivative of N

◆ dphidxi()

const Vector< real > & belfem::fem::IntegrationData::dphidxi ( const uint aIndex) const
inline

return the node shape function deriivative as vector (line element only)

◆ function()

const InterpolationFunction * belfem::fem::IntegrationData::function ( ) const
inline

access the shape function

◆ N()

const Matrix< real > & belfem::fem::IntegrationData::N ( const uint aIndex) const
inline

return the node shape function as Matrix (scalar field)

◆ number_of_integration_points()

uint belfem::fem::IntegrationData::number_of_integration_points ( ) const
inline

tells how many integration points are used

◆ Nvector()

const Matrix< real > & belfem::fem::IntegrationData::Nvector ( const uint aIndex) const
inline

return the node shape function as Matrix, for vector field

◆ phi()

const Vector< real > & belfem::fem::IntegrationData::phi ( const uint aIndex) const
inline

return the node shape function as vector

◆ points()

const Matrix< real > & belfem::fem::IntegrationData::points ( ) const
inline

return the integration points

◆ populate()

void belfem::fem::IntegrationData::populate ( const uint aIntegrationOrder = 0,
const IntegrationScheme aScheme = IntegrationScheme::GAUSS )

default function for popularization

◆ populate_for_master()

void belfem::fem::IntegrationData::populate_for_master ( const uint aMasterIndex,
const uint aIntegrationOrder = 0,
const IntegrationScheme aScheme = IntegrationScheme::GAUSS )

special function for popularization if this is a sideset

◆ populate_for_slave()

void belfem::fem::IntegrationData::populate_for_slave ( const uint aSlaveIndex,
const uint aOrientation = 0,
const uint aIntegrationOrder = 0,
const IntegrationScheme aScheme = IntegrationScheme::GAUSS )

special function for popularization if this is a sideset

◆ weights()

const Vector< real > & belfem::fem::IntegrationData::weights ( ) const
inline

return the integration weights


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