FlexPDE supports limited use of TENSOR quantities, to parallel the results of GRAD(vector).
A TENSOR is a vector of vectors, potentially 3 x 3 components.
TENSOR( ( T11, T12, T13) , (T21, T22, T23) , (T31, T32, T33))
This operator returns a TENSOR object with the indicated components. Each of the Tij may be any scalar expression.
This operator returns a VECTOR with components ( (V1*T11+V2*T21+V3*T31), (V1*T12+V2*T22+V3*T32), (V1*T13+V2*T23+V3*T33) ).
This operator returns a VECTOR with components ( (T11*V1+T12*V2+T13*V3), (T21*V1+T22*V2+T23*V3), (T31*V1+T32*V2+T33*V3) ).
This operator returns a TENSOR representing the matrix product of the tensors. The operator ** can be used to produce the same result (i.e. tensor**tensor).
This operator returns a VECTOR value whose components depend on the metric coefficients of the selected problem geometry. In Cartesian geometry, the result is a VECTOR made up of the divergences of the tensor columns.
This operator returns a TENSOR which is the transpose of the argument tensor.
vector * vector
produces a tensor of all combinations of component products.
XXCOMP ( tensor )
XYCOMP ( tensor )
XZCOMP ( tensor )
YXCOMP ( tensor )
YYCOMP ( tensor )
YZCOMP ( tensor )
ZXCOMP ( tensor )
ZYCOMP ( tensor )
ZZCOMP ( tensor )
These operators returns a scalar whose value is the indicated component of the tensor argument ( X indicates the first coordinate component, Y the second and Z the third, regardless of the actual assigned names of the coordinates).