1 #ifndef TRIA_1_GAUSS_SHAPE_SET_HPP_INCLUDED
2 #define TRIA_1_GAUSS_SHAPE_SET_HPP_INCLUDED
4 #include "../core/shapeset.hpp"
12 class tria_1_gauss_shape_set;
14 namespace shape_set_traits
79 static corner_iterator_t corner_begin_impl()
81 return m_corners.cbegin();
85 static const corners_t m_corners;
92 typedef shape_set_traits::shape_value_type<tria_1_gauss_shape_set, 0>::type shape_t;
95 static shape_t eval(xi_t
const &_xi)
97 auto xi = _xi[0], eta = _xi[1];
98 return ( tria_1_gauss_shape_set::shape_t() <<
99 5./3. - 2.*xi - 2.*eta,
111 typedef shape_set_traits::shape_value_type<tria_1_gauss_shape_set, 1>::type shape_t;
114 static shape_t eval(xi_t
const &)
116 return ( tria_1_gauss_shape_set::dshape_t() <<
126 #endif // TRIA_1_GAUSS_SHAPE_SET_HPP_INCLUDED
Defines the domain where the shape function set is defined.
defines the nodal degrees of freedoms of the shape functions
Compile time vector with an arbitrary number of arguments.
Shapeset base class for CRTP.
Defines the polynomial order of the shape set's Jacobian.
the returned matrix is constant and can be stored
the returned matrix should be computed on the fly
the returned matrix is a zero expression
implementation of library domains
Defines the polynomial order of the shape set.
Defines the number of shape functions in the set.
static const xi_t & corner_at(size_t idx)
return corner at a given node number
Defines the complexity to determine if the shape functions can be precomputed or not.