10#include <kernel/space/node_functional_base.hpp> 
   11#include <kernel/cubature/dynamic_factory.hpp> 
   34          return T_(0.25) * (T_(1) - T_(2) * x + x * x);
 
   41          return T_(0.25) * (T_(1) + T_(2) * x + x * x);
 
   49          return T_(0.5) * (T_(1) - x * x);
 
   57          return T_(0.5) * (x - T_(1));
 
   63          return  T_(0.5) * (x + T_(1));
 
  110            XABORTM(
"You can only use p0,p1,p2. The basisfunction p"+
stringify( i)+
" is not available.");
 
  120        template<
typename T_>
 
  123          return T_(-0.75) - T_(1.5) * x + T_(3.75) * x * x;
 
  127        template<
typename T_>
 
  130          return T_(-0.75) + T_(1.5) * x + T_(3.75) * x * x;
 
  134        template<
typename T_>
 
  137          return T_(3) - T_(7.5) * x * x;
 
  142        template<
typename T_>
 
  145          return T_(7.5) * x - T_(1.5);
 
  148        template<
typename T_>
 
  151          return  T_(7.5) * x + T_(1.5);
 
  154        template<
typename T_>
 
  163        template<
typename T_>
 
  169        template<
typename T_>
 
  175        template<
typename T_>
 
  184        template<
typename T_>
 
  198            XABORTM(
"You can only use q0,q1,q2. The basisfunction q"+ 
stringify(i)+
" is not available.");
 
  204        template<
typename T_>
 
  208          for (
int qx = 0; qx < 3; ++qx)
 
  210              rsl += koef(qx ) * q(qx, x);
 
  216        template<
typename T_>
 
  220          for (
int qx = 0; qx < 3; ++qx)
 
  222            for (
int qy = 0; qy < 3; ++qy)
 
  224              rsl+=koef( qx * 3 + qy)* q(qx,x)*q(qy,y);
 
  231        template<
typename T_>
 
  235          for (
int qz = 0; qz < 3; ++qz)
 
  237            for (
int qx = 0; qx < 3; ++qx)
 
  239              for (
int qy = 0; qy < 3; ++qy)
 
  241                rsl += koef(qz*9+qx * 3 + qy) * q(qx, x) * q(qy, y)*q(qz,z);
 
#define XABORTM(msg)
Abortion macro definition with custom message.
Tiny Vector class template.
String stringify(const T_ &item)
Converts an item into a String.