20 #ifndef LIBMESH_TENSOR_VALUE_H 
   21 #define LIBMESH_TENSOR_VALUE_H 
   24 #include "libmesh/type_tensor.h" 
   41 class TensorValue : 
public TypeTensor<T>
 
   69   template <
typename Scalar>
 
   80                          const Scalar>::type & zz=0);
 
   85   template <
typename T2>
 
   91   template <
typename T2>
 
   93                const TypeVector<T2> & vy);
 
   98   template <
typename T2>
 
  100                const TypeVector<T2> & vy,
 
  101                const TypeVector<T2> & vz);
 
  107   template <
typename T2>
 
  113   template <
typename T2>
 
  117 #ifdef LIBMESH_USE_COMPLEX_NUMBERS 
  124                const TypeTensor<Real> & p_im);
 
  131   template <
typename Scalar>
 
  132   typename boostcopy::enable_if_c<
 
  136   { libmesh_assert_equal_to (p, Scalar(0)); this->
zero(); 
return *
this; }
 
  154 template <
typename T>
 
  163 template <
typename T>
 
  179 template <
typename T>
 
  180 template <
typename Scalar>
 
  192                              const Scalar>::type & zz) :
 
  199 template <
typename T>
 
  200 template <
typename T2>
 
  209 template <
typename T>
 
  210 template <
typename T2>
 
  219 template <
typename T>
 
  220 template <
typename T2>
 
  230 template <
typename T>
 
  231 template <
typename T2>
 
  242 template <
typename T>
 
  243 template <
typename T2>
 
  251 #ifdef LIBMESH_USE_COMPLEX_NUMBERS 
  252 template <
typename T>
 
  257                  Complex (p_re(0,1), p_im(0,1)),
 
  258                  Complex (p_re(0,2), p_im(0,2)),
 
  259                  Complex (p_re(1,0), p_im(1,0)),
 
  260                  Complex (p_re(1,1), p_im(1,1)),
 
  261                  Complex (p_re(1,2), p_im(1,2)),
 
  262                  Complex (p_re(2,0), p_im(2,0)),
 
  263                  Complex (p_re(2,1), p_im(2,1)),
 
  264                  Complex (p_re(2,2), p_im(2,2)))
 
  272 #endif // LIBMESH_TENSOR_VALUE_H