37 #ifndef AIMS_MATH_TENSOR_H 
   38 #define AIMS_MATH_TENSOR_H 
   56          : _trieder( trieder ), _eigenvalue( eigenvalue )
 
   62                                   _eigenvalue( other._eigenvalue ),
 
   64                                   _trace( other._trace )
 
   77     const float& 
trace()
 const { 
return _trace; }
 
   78     float& 
trace() { 
return _trace; }
 
   80     float diffusion( 
const Point3df& dir ) 
const;
 
   82     float meanDiffusivity() 
const;
 
   84     float dot( 
const Tensor& other ) 
const;
 
  127   return ( 
coef().item(0) + 
coef().item(3) + 
coef().item(5) ) / 3.0;
 
  155   os << 
"{trieder=" << thing.
trieder()
 
  157      << 
",coef=" << thing.
coef()
 
  158      << 
",trace="  << thing.
trace();
 
const T & item(int d) const
AimsVector< float, 6 > _coef
const AimsVector< float, 6 > & coef() const
float diffusion(const Point3df &dir) const
Tensor(const Tensor &other)
AimsVector< float, 6 > & coef()
Tensor(const Trieder &trieder, const Point3df &eigenvalue)
const Point3df & eigenvalue() const
float dot(const Tensor &other) const
Tensor(const AimsVector< float, 6 > &coef)
float meanDiffusivity() const
const Trieder & trieder() const
const float & trace() const
AIMSDATA_API std::ostream & operator<<(std::ostream &os, const Tensor &thing)
AIMSDATA_API int operator==(const Tensor &thing1, const Tensor &thing2)
AIMSDATA_API float norm(const Tensor &thing)