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

#include <cl_EF_HEX8TS.hpp>

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

Public Member Functions

 EF_HEX8TS ()
 constructor
 ~EF_HEX8TS () override
 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.
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

Constructor & Destructor Documentation

◆ EF_HEX8TS()

belfem::fem::EF_HEX8TS::EF_HEX8TS ( )

constructor

◆ ~EF_HEX8TS()

belfem::fem::EF_HEX8TS::~EF_HEX8TS ( )
override

destructor

Member Function Documentation

◆ C()

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

◆ E()

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

Reimplemented from belfem::fem::EdgeFunction.

◆ G()

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

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

G chains the reference derivatives through the class's own per-point nablas held fixed — exactly the ingredients C() uses, so antisym( G ) reproduces the implemented C on every geometry. Scope by mid-surface shape:

  • affine ( parallelogram ) quads: the map is affine and G is the exact gradient; on rectangles additionally div( e_k ) == 0.
  • planar non-parallelogram quads: the nablas are exact gradients and C is the exact curl, but G omits the symmetric inverse-map Hessian term F_k Hess( xi_a ) — G is NOT the full gradient there.
  • warped quads: nablas follow the thin-shell update_nabla convention ( mid-surface Jacobian only ); E, C and G all share that approximation.

Implements belfem::fem::EdgeFunction.

◆ link()

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

connect function with element

Implements belfem::fem::EdgeFunction.

◆ precompute()

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

only needed for higher order elements

Parameters
aXi

Implements belfem::fem::EdgeFunction.


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