Question: Calculate Divergence of 3x3 tensor

Hi,

im trying to calculate the divergence of a 3x3 tensor. The tensor is created by the following code:

with(VectorCalculus);
with(LinearAlgebra);
SetCoordinates(cartesian[x, y, z]);
alias(u = u(t, x, y, z), v = v(t, x, y, z), w = w(t, x, y, z)); alias(eta = eta(t, x, y, z));
U := VectorField(`<,>`(u, v, w));
M := OuterProductMatrix(U, U);

The last command gives a 3x3 tensor:

Now I want to calculate the divergence of this tensor. But the function "Divergence" (VectorCalculus-package) is only able to handle vectors. A workaround would be the extract the data row by row -> convert it to a vector -> calculate the divergence.

Is there a more elegant possibility to do this?

 

Thanks in advance.

Please Wait...