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

Edge function for the HEX8TB side-connector wall element. More...

#include <cl_EF_HEX8TB.hpp>

Inheritance diagram for belfem::fem::EF_HEX8TB:
[legend]
Collaboration diagram for belfem::fem::EF_HEX8TB:
[legend]

Public Member Functions

 EF_HEX8TB ()
 constructor
 ~EF_HEX8TB () override=default
 destructor
void link (Element *aElement) override
 connect function with element
void precompute (const Matrix< real > &aXi) override
 only needed for higher order elements
const Matrix< real > & E (const uint aIndex) override
const Matrix< real > & C (const uint aIndex) override
const Matrix< real > & G (const uint aIndex) override
 gradient operator for h-field, layout contract in EdgeFunction::mGrad.
void update_nabla (const uint aIndex) override
 the Jacobian is constant per element and set in link(); this override only exists because the Calculator calls it before reading det_J()
Public Member Functions inherited from belfem::fem::EdgeFunction
 EdgeFunction ()=default
 trivial constructor
virtual ~EdgeFunction ()=default
 trivial destructor
real det_J () const
 returns the current value of the determinant
real abs_det_J () const
 returns the current value of the determinant
real sum_w () const
 returns the sum of all integration weights
uint ndofs () const

Additional Inherited Members

Protected Attributes inherited from belfem::fem::EdgeFunction
Matrix< realmJ
 the Geometry Jacobian (transposed)
Matrix< realmInvJ
 the inverse of the Geometry Jacobian (transposed)
real mDetJ = BELFEM_QUIET_NAN
 the determinant of the Geometry Jacobian
real mAbsDetJ = BELFEM_QUIET_NAN
 the absolute value determinant of the Geometry Jacobian
Matrix< realmE
Matrix< realmC
 matrix containing the curl for the H-Function
Matrix< realmGrad
real mSumW
 sum of all weights
uint mNumDofs

Detailed Description

Edge function for the HEX8TB side-connector wall element.

Four longitudinal edge dofs on edges (0,1), (3,2), (4,5), (7,6), all pointing in +xi (the side-curve direction). The element is a degenerate cuboid: the metric uses the exact width (eta) and thickness (zeta) stored on the mesh blocks, plus the midpoint-to-midpoint length (xi). The node positions only orient the frame; they never set the thin dimensions, which are physical collapsed-layer data. The Jacobian is therefore constant per element and is computed once in link().

Constructor & Destructor Documentation

◆ EF_HEX8TB()

belfem::fem::EF_HEX8TB::EF_HEX8TB ( )

constructor

◆ ~EF_HEX8TB()

belfem::fem::EF_HEX8TB::~EF_HEX8TB ( )
overridedefault

destructor

Member Function Documentation

◆ C()

const Matrix< real > & belfem::fem::EF_HEX8TB::C ( const uint aIndex)
overridevirtual

◆ E()

const Matrix< real > & belfem::fem::EF_HEX8TB::E ( const uint aIndex)
overridevirtual

Reimplemented from belfem::fem::EdgeFunction.

◆ G()

const Matrix< real > & belfem::fem::EF_HEX8TB::G ( const uint aIndex)
overridevirtual

gradient operator for h-field, layout contract in EdgeFunction::mGrad.

Exact on the class's own convention: the wall metric is the imposed exact cuboid frame ( t, b, n ) from link(), so the map is affine and grad( e_k ) = s_k ( grad F_k ) (x) nabla xi with all frame factors element constants. The frame is orthonormal, hence div( e_k ) == 0 identically.

Implements belfem::fem::EdgeFunction.

◆ link()

void belfem::fem::EF_HEX8TB::link ( Element * aElement)
overridevirtual

connect function with element

Implements belfem::fem::EdgeFunction.

◆ precompute()

void belfem::fem::EF_HEX8TB::precompute ( const Matrix< real > & aXi)
overridevirtual

only needed for higher order elements

Parameters
aXi

Implements belfem::fem::EdgeFunction.

◆ update_nabla()

void belfem::fem::EF_HEX8TB::update_nabla ( const uint aIndex)
inlineoverridevirtual

the Jacobian is constant per element and set in link(); this override only exists because the Calculator calls it before reading det_J()

Reimplemented from belfem::fem::EdgeFunction.


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