NiHu
2.0
|
The geometrical element representation. More...
#include <element.hpp>
Public Types | |
enum | { id = element_traits::id<Derived>::value, num_nodes = lset_t::num_nodes } |
typedef Derived | type |
self-returning metafunction | |
typedef element_traits::space_type< Derived >::type | space_t |
the element space type | |
typedef element_traits::lset< Derived >::type | lset_t |
the element's L-set | |
typedef space_t::scalar_t | scalar_t |
the element's scalar variable | |
typedef lset_t::domain_t | domain_t |
the element's reference domain | |
typedef domain_t::xi_t | xi_t |
type of the shape functions' independent variable \(\xi\) | |
typedef element_traits::location_value_type< Derived, 0 >::type | x_t |
type of the element's physical location variable \( x \) | |
typedef element_traits::location_return_type< Derived, 0 >::type | x_return_type |
return type of the element physical location variable when obtained by get_x | |
typedef element_traits::location_value_type< Derived, 1 >::type | dx_t |
type of the gradient of the element's physical location variable \( x'_{\xi} \) | |
typedef element_traits::location_return_type< Derived, 1 >::type | dx_return_type |
return type of the element physical location derivative | |
typedef element_traits::location_value_type< Derived, 2 >::type | ddx_t |
type of the second derivative of the element's physical location variable \( x''_{\xi} \) | |
typedef element_traits::location_return_type< Derived, 2 >::type | ddx_return_type |
return type of the element physical location second derivative | |
typedef Eigen::Matrix< unsigned, num_nodes, 1 > | nodes_t |
vector type that stores the element's corner node indices | |
typedef element_traits::coords_type< Derived >::type | coords_t |
matrix type that stores the element's corner nodes \(x_i\) | |
typedef elem_id_t | id_t |
type that stores the element's id | |
Public Member Functions | |
NIHU_CRTP_HELPERS | element_base () |
default constructor for std::vector container | |
element_base (coords_t const &coords, unsigned id=0, nodes_t const &nodes=nodes_t()) | |
constructor More... | |
const id_t & | get_id (void) const |
return elem id More... | |
const nodes_t & | get_nodes (void) const |
return nodes More... | |
const coords_t & | get_coords (void) const |
return coordinates More... | |
x_return_type | get_x (xi_t const &xi) const |
return element location More... | |
dx_return_type | get_dx (xi_t const &xi) const |
return element location gradient More... | |
ddx_return_type | get_ddx (xi_t const &xi) const |
return element location second derivative matrix More... | |
const x_t & | get_center (void) const |
return element center More... | |
const scalar_t & | get_linear_size_estimate (void) const |
return linear size estimate More... | |
template<class OtherElem > | |
element_overlapping | get_overlapping (OtherElem const &other) const |
check overlapping state with other element More... | |
Derived | get_linearized_elem (xi_t const &xi0) const |
construct linearized elem around an intrinsic coordinate More... | |
Protected Attributes | |
id_t | m_id |
the element's identifier | |
nodes_t | m_nodes |
the element's nodal indices in the mesh | |
coords_t | m_coords |
the element's corner coordinates \(x_i\) | |
x_t | m_center |
the element's center | |
scalar_t | m_linear_size_estimate |
estimated linear size of an element | |
element_traits::location_factory_functor< Derived, 0 >::type | x_computer |
functor computing the locations | |
element_traits::location_factory_functor< Derived, 1 >::type | dx_computer |
functor computing the location derivative vector | |
element_traits::location_factory_functor< Derived, 2 >::type | ddx_computer |
functor computing the location second derivative matrix | |
The geometrical element representation.
Derived | CRTP derived class |
Definition at line 194 of file element.hpp.
anonymous enum |
Enumerator | |
---|---|
id | the element id |
num_nodes | the number of nodes |
Definition at line 212 of file element.hpp.
|
inline |
constructor
[in] | id | the elem id |
[in] | nodes | the elem node indices |
[in] | coords | the elem coordinates |
Definition at line 270 of file element.hpp.
|
inline |
return element center
Definition at line 353 of file element.hpp.
|
inline |
|
inline |
return element location second derivative matrix
[in] | xi | location \( \xi \) in the base domain |
Definition at line 344 of file element.hpp.
|
inline |
return element location gradient
[in] | xi | location \(\xi\) in the base domain |
Definition at line 334 of file element.hpp.
|
inline |
|
inline |
|
inline |
construct linearized elem around an intrinsic coordinate
[in] | xi0 | reference point |
Definition at line 416 of file element.hpp.
|
inline |
|
inline |
check overlapping state with other element
OtherElem | type of the other element |
[in] | other | reference to the other element |
Definition at line 374 of file element.hpp.
|
inline |