logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

Pierre Saramito <Pierre.Saramito@imag.fr>

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_basicclass typedef tensor3_basic<Float> tensor3; The tensor3_basicclassisatemplateclasswiththefloatingtypeasparameter: 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&); };

Name

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

See Also