GooseFEM 1.4.1.dev2+g78f16df
Loading...
Searching...
No Matches
GooseFEM::Element Namespace Reference

Element quadrature and interpolation. More...

Namespaces

namespace  Hex8
 8-noded hexahedral element in 3d (GooseFEM::Mesh::ElementType::Hex8).
 
namespace  Quad4
 4-noded quadrilateral element in 2d (GooseFEM::Mesh::ElementType::Quad4).
 

Classes

class  QuadratureBase
 CRTP base class for quadrature. More...
 
class  QuadratureBaseCartesian
 CRTP base class for interpolation and quadrature for a generic element in Cartesian coordinates. More...
 

Functions

array_type::tensor< double, 3 > asElementVector (const array_type::tensor< size_t, 2 > &conn, const array_type::tensor< double, 2 > &nodevec)
 Convert nodal vector with ("nodevec", shape:[nnode, ndim]) to nodal vector stored per element ("elemvec", shape: [nelem, nne, ndim]).
 
array_type::tensor< double, 2 > assembleNodeVector (const array_type::tensor< size_t, 2 > &conn, const array_type::tensor< double, 3 > &elemvec)
 Assemble nodal vector stored per element ("elemvec", shape [nelem, nne, ndim]) to nodal vector ("nodevec", shape [nnode, ndim]).
 
template<class E >
bool isSequential (const E &dofs)
 Check that DOFs leave no holes.
 
bool isDiagonal (const array_type::tensor< double, 3 > &elemmat)
 Check that all of the matrices stored per elemmat (shape: [nelem, nne * ndim, nne * ndim]) are diagonal.
 

Detailed Description

Element quadrature and interpolation.

Function Documentation

◆ asElementVector()

array_type::tensor< double, 3 > GooseFEM::Element::asElementVector ( const array_type::tensor< size_t, 2 > & conn,
const array_type::tensor< double, 2 > & nodevec )
inline

Convert nodal vector with ("nodevec", shape:[nnode, ndim]) to nodal vector stored per element ("elemvec", shape: [nelem, nne, ndim]).

Parameters
connConnectivity.
nodevec"nodevec".
Returns
"elemvec".

Definition at line 31 of file Element.h.

◆ assembleNodeVector()

array_type::tensor< double, 2 > GooseFEM::Element::assembleNodeVector ( const array_type::tensor< size_t, 2 > & conn,
const array_type::tensor< double, 3 > & elemvec )
inline

Assemble nodal vector stored per element ("elemvec", shape [nelem, nne, ndim]) to nodal vector ("nodevec", shape [nnode, ndim]).

Parameters
connConnectivity.
elemvec"elemvec".
Returns
"nodevec".

Definition at line 63 of file Element.h.

◆ isDiagonal()

bool GooseFEM::Element::isDiagonal ( const array_type::tensor< double, 3 > & elemmat)

Check that all of the matrices stored per elemmat (shape: [nelem, nne * ndim, nne * ndim]) are diagonal.

Parameters
elemmatElement-vectors ("elemmat")
Returns
true if all element matrices are diagonal.

Definition at line 122 of file Element.h.

◆ isSequential()

template<class E >
bool GooseFEM::Element::isSequential ( const E & dofs)
inline

Check that DOFs leave no holes.

Parameters
dofsDOFs ("nodevec")
Returns
true if there are no holds.

Definition at line 96 of file Element.h.