NiHu  2.0
NiHu::surface_element< LSet, scalar_t > Class Template Reference

class describing a surface element that provides a normal vector More...

#include <element.hpp>

Public Types

typedef element_base< surface_element< LSet, scalar_t > > base_t
 the base class type
 
using domain_t = typename base_t::domain_t
 the domain type
 
typedef element_traits::normal_return_type< surface_element >::type normal_return_type
 the return type of function get_normal
 
typedef element_traits::coords_type< Derived >::type coords_t
 matrix type that stores the element's corner nodes \(x_i\)
 
typedef Eigen::Matrix< unsigned, num_nodes, 1 > nodes_t
 vector type that stores the element's corner node indices
 
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_value_type< Derived, 1 >::type dx_t
 type of the gradient of the element's physical location variable \( x'_{\xi} \)
 

Public Member Functions

 surface_element (coords_t const &coords, unsigned id=0, nodes_t const &nodes=nodes_t())
 constructor More...
 
void flip_inplace (void)
 
surface_element flip (void) const
 
normal_return_type get_normal (xi_t const &xi=domain_t::get_center()) const
 return element normal More...
 
dx_return_type get_dx (xi_t const &xi) const
 return element location gradient More...
 

Protected Attributes

element_traits::normal_factory_functor< surface_element >::type normal_computer
 functor computing the normal vector
 

Detailed Description

template<class LSet, class scalar_t>
class NiHu::surface_element< LSet, scalar_t >

class describing a surface element that provides a normal vector

Template Parameters
LSettype of the geometry shape set

Definition at line 451 of file element.hpp.

Constructor & Destructor Documentation

◆ surface_element()

template<class LSet , class scalar_t >
NiHu::surface_element< LSet, scalar_t >::surface_element ( coords_t const &  coords,
unsigned  id = 0,
nodes_t const &  nodes = nodes_t() 
)
inline

constructor

Parameters
[in]coordsthe coordinate matrix
[in]idelement id
[in]nodesthe nodal index vector
Todo:
this sqrt is only valid for 3D surfaces

Definition at line 587 of file element.hpp.

Member Function Documentation

◆ get_dx()

template<class LSet , class scalar_t >
dx_return_type NiHu::element_base< Derived >::get_dx
inline

return element location gradient

Parameters
[in]xilocation \(\xi\) in the base domain
Returns
location gradient \(x'_{\xi}\) in the element

Definition at line 334 of file element.hpp.

◆ get_normal()

template<class LSet , class scalar_t >
normal_return_type NiHu::surface_element< LSet, scalar_t >::get_normal ( xi_t const &  xi = domain_t::get_center()) const
inline

return element normal

Parameters
[in]xilocation in the reference domain
Returns
the element normal

Definition at line 611 of file element.hpp.


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