Question: Calculate Divergence of 3x3 tensor


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

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...