Provided by: librheolef-dev_7.2-2_amd64 bug

NAME

       tensor3 - d-dimensional physical third-order tensor (rheolef-7.2)

DESCRIPTION

       The tensor3 class defines a d*d*d array with floating coefficients. This class is suitable
       for defining third-order tensors, i.e. field(2) with d*d*d matrix values at each physical
       position.

       It is represented as a tridimensional array of coordinates. The coordinate indexes start
       at zero and finishes at d-1, e.g. a(0,0,0), a(0,0,1), ..., a(2,2,2).

       The default constructor set all components to zero:

           tensor3 a;

        The linear algebra with scalars and tensor(2) is supported.

IMPLEMENTATION

       This documentation has been generated from file fem/geo_element/tensor3.h

       The tensor3 class is simply an alias to the tensor3_basic class

       typedef tensor3_basic<Float> tensor3;

        The tensor3_basic class is a template class with the floating type as parameter:

       template<class T>
       class tensor3_basic {
       public:

         typedef size_t size_type;
         typedef T      element_type;
         typedef T      float_type;

       // allocators:

         tensor3_basic (const T& init_val = 0);
         tensor3_basic (const tensor3_basic<T>& a);

       // affectation:

         tensor3_basic<T>& operator= (const tensor3_basic<T>& a);
         tensor3_basic<T>& operator= (const T& val);

       // accessors:

         T&       operator()(size_type i, size_type j, size_type k);
         const T& operator()(size_type i, size_type j, size_type k) const;

       // algebra
         tensor3_basic<T>  operator*  (const T& k) const;
         tensor3_basic<T>  operator/  (const T& k) const;
         tensor_basic<T>   operator*  (const point_basic<T>& v) const;
         tensor3_basic<T>  operator*  (const tensor_basic<T>& b) const;
         tensor3_basic<T>  operator+  (const tensor3_basic<T>& b) const;
         tensor3_basic<T>  operator-  (const tensor3_basic<T>& b) const;
         tensor3_basic<T>& operator+= (const tensor3_basic<T>&);
         tensor3_basic<T>& operator-= (const tensor3_basic<T>&);
         tensor3_basic<T>& operator*= (const T& k);
         tensor3_basic<T>& operator/= (const T& k) { return operator*= (1./k); }

       // inputs/outputs:

         std::ostream& put (std::ostream& s, size_type d = 3) const;
         std::istream& get (std::istream&);

       };

AUTHOR

       Pierre  Saramito  <Pierre.Saramito@imag.fr>

COPYRIGHT

       Copyright   (C)  2000-2018  Pierre  Saramito  <Pierre.Saramito@imag.fr> GPLv3+: GNU GPL
       version 3 or later  <http://gnu.org/licenses/gpl.html>.  This  is  free  software:  you
       are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by
       law.