Using the Linear Algebra Package to do some Operations connected with the Equations in Chapters 3 & 10
> restart; > with(linalg); > s:=[x1,x2,x3]; > grad(T,s); > grad(T(x1,x2,x3),s);
> v:=(x1,x2,x3)->vector([v1(x1,x2,x3),v2(x1,x2,x3),v3(x1,x2,x3)]); > ?diverge Note this only works on vectors > diverge(v(x1,x2,x3),s);
> q:=(x1,x2,x3)->vector([q1(x1,x2,x3),q2(x1,x2,x3),q3(x1,x2,x3)]); > ?dotprod Note that this only works with vectors! > g:=(x1,x2,x3)->vector([g1(x1,x2,x3),g2(x1,x2,x3),g3(x1,x2,x3)]); > rho*dotprod(v(x1,x2,x3),g(x1,x2,x3)); > rho*dotprod(v(x1,x2,x3),g(x1,x2,x3),'orthogonal');
> tau:=(x1,x2,x3)->matrix([[t11(x1,x2,x3),t12(x1,x2,x3),t13(x1,x2,x3)],[t21(x1,x2,x3),t22(x1,x2,x3),t23(x1,x2,x3)],[t31(x1,x2,x3),t32(x1,x2,x3),t33(x1,x2,x3)]]); > taudotv:=multiply(tau(x1,x2,x3),v(x1,x2,x3)); See eq. A.4-19> deldottaudotv:=diverge(taudotv,s); Compare to A.4-33 but note that the derivatives of the products are expanded by Maple. > divv:=diverge(v(x1,x2,x3),s); > ?row > tau1:=(x1,x2,x3)->col(tau(x1,x2,x3),1); > tau1(x1,x2,x3); > dt1:=(x1,x2,x3)->diverge(tau1(x1,x2,x3),s); This is the first component of deldottau as seen in A.4-26 > dt2:=(x1,x2,x3)->diverge(col(tau(x1,x2,x3),2),s); > dt3:=(x1,x2,x3)->diverge(col(tau(x1,x2,x3),3),s); > deldottau:=(x1,x2,x3)->vector([dt1(x1,x2,x3),dt2(x1,x2,x3),dt3(x1,x2,x3)]); > deldottau(x1,x2,x3);
>