JSFH
restart;
with(DifferentialGeometry): with(Tensor): with(Tools): with(JetCalculus): with(LieAlgebras):
DGsetup([x, y], S, verbose);
# Metric tensor
g1 := evalDG( a^2*(dy &t dy) + a^2*(sin(y))^2*(dx &t dx) ):
# Volume element.
vol1 := simplify(HodgeStar(g1, 1), symbolic):
# Connection.
C1 := Christoffel(g1, "SecondKind"):
# Vector (tensor) of velocity.
V := DGzip([u, v](t, x, y), [D_x, D_y], "plus"):
# Vector of "acceleration".
Vt := DGzip([diff(u(t,x,y),t), diff(v(t,x,y),t)], [D_x, D_y], "plus"):
# Derivative of velocity vector along itself.
V_V := DirectionalCovariantDerivative(V, V, C1):
# Gradient of function.
grad := F -> RaiseLowerIndices(InverseMetric(g1), CovariantDerivative(F, C1), [1]);
Euler := evalDG( (convert( Vt, DGtensor ) + V_V) * r(t,x,y) + grad(p(t, x, y)) ):
EulerSphere := simplify(eval(DGinfo(Euler, "CoefficientList", "all"), a=1), trig):
Continuity := simplify(eval(evalDG( diff(r(t,x,y)*vol1, t) + LieDerivative(V, r(t,x,y)*vol1)),a=1), trig):
ContinuitySphere := DGinfo(Continuity, "CoefficientList", "all"):
HeatSphere := evalDG(eval(
r(t, x, y) * T(t, x, y) * (
diff(s(t, x, y), t) + DirectionalCovariantDerivative(V, s(t, x, y), C1)
) - k * Laplacian(g1, T(t, x, y)), a=1)):
EulerSystemSphere := [op(EulerSphere), op(ContinuitySphere), HeatSphere]:
EulerSystemSphereTherm := eval( EulerSystemSphere, {p(t,x,y)=p(r(t,x,y),s(t,x,y)), T(t,x,y)=T(r(t,x,y),s(t,x,y))}):
DGsetup([t, x, y], [u, v, r, s, p, T], SE, 4);
ESjetsTherm := convert(convert(EulerSystemSphereTherm, DGjet), diff)
RestrTherm1:=solve({ESjetsTherm[1], ESjetsTherm[2], ESjetsTherm[3]}, {r[1], u[1], v[1]});
AlgTherm := evalDG( [
D_s[] # 5
,D_p[] # 6
,T[]*D_T[] # 7
,t*D_t - u[]*D_u[] - v[]*D_v[] + 2*r[]*D_r[] - s[]*D_s[] # 8
, p[]*D_p[] + r[]*D_r[] - s[]*D_s[] # 9
]):
map(tt -> print(tt), AlgTherm)
Nab1 := F -> TotalDiff(evalDG(F), t) :
Nab2 := F -> r[2]/sin(y)^2 * TotalDiff(F, x) + r[3] * TotalDiff(F, y) :
Nab3 := F -> s[2]/sin(y)^2 * TotalDiff(F, x) + s[3] * TotalDiff(F, y) :
A := Matrix([
[ u[2]+v[]/tan(y) , u[3]+u[]/tan(y) ],
[ v[2]-sin(y)*cos(y)*u[] , v[3] ] ]);
B := Matrix([
[ u[] , v[]/sin(y) ],
[ v[] , (-1)*sin(y)*u[] ] ]);
pr := simplify(((LinearAlgebra:-MatrixInverse(B)).A.B), size):
invs := simplify(eval([ simplify(pr(1,1)+pr(2,2)), simplify(pr(1,2)-pr(2,1)), pr(2,1)*(cos(y)^2*u[]^2-u[]^2-v[]^2), pr(2,2)*(cos(y)^2*u[]^2-u[]^2-v[]^2), r[2]*u[]+r[3]*v[], Nab1(s[]), Nab2(r[]), Nab2(s[]), Nab3(s[]) ], RestrTherm1), size):
map(tt -> print(tt), simplify(invs), trig)
invsJ := [J1=r[], J2=s[], J3=u[]^2*sin(y)^2+v[]^2, seq(J||(i+3)=invs[i] , i = 1..nops(invs))];
restr_invs := simplify(convert(solve(invsJ, {u[2], u[3], r[3], s[3], r[2], v[2], s[1], v[3], r[], s[], v[], s[2]}),radical)):
Func := FF(r[], s[], u[]^2*sin(y)^2+v[]^2, op(invs)):
with(PDEtools):declare(FF(r[], s[], u[]^2*sin(y)^2+v[]^2, op(invs))):
sym := evalDG(add( lambda||i * AlgTherm[i], i=1..nops(AlgTherm) ));
eqJ := simplify(convert( simplify( eval(eval( LieDerivative(Prolong(sym, 1), Func), restr_invs)) ), diff ))
pdsolve(eqJ);
Inv_t := [op(1..11,op(2,pdsolve(eqJ)))]
xxx := [ simplify(Inv_t[1]*Inv_t[3]) , simplify(Inv_t[2]/Inv_t[3]^2) , Inv_t[3] , simplify(Inv_t[4]/Inv_t[3]) ,
simplify(Inv_t[5]/Inv_t[3]^3) , simplify(Inv_t[6]/Inv_t[3]^3) , simplify(Inv_t[7]/Inv_t[3]) , Inv_t[8] , Inv_t[9] ,
simplify(Inv_t[10]*Inv_t[3]), simplify(Inv_t[11]*Inv_t[3]^2) ]
simplify(map(tt -> LieDerivative(Prolong(sym, 2), tt), eval(xxx, invsJ)));
#### lambda5 = -lambda4 ####
sym_5 := eval( sym, { lambda5 = -lambda4 } ):
eqJ_5 := simplify(convert( simplify( eval(eval( LieDerivative(Prolong(sym_5, 1), Func), restr_invs)) ), diff ))
pdsolve(eqJ_5);
#### lambda5 = -lambda4 =0 ####
sym_54 := eval( sym_5, { lambda4 =0 } ):
eqJ_54 := simplify(convert( simplify( eval(eval( LieDerivative(Prolong(sym_54, 1), Func), restr_invs)) ), diff ))
pdsolve(eqJ_54);
#### lambda5 = -2*lambda4 ####
sym_45 := eval( sym, { lambda5 = -2*lambda4 } ):
eqJ_45 := simplify(convert( simplify( eval(eval( LieDerivative(Prolong(sym_45, 1), Func), restr_invs)) ), diff ))
Inv_t45 := [op(1..11,op(2,pdsolve(eqJ_45)))];
xxx45 := [ Inv_t45[1], Inv_t45[2]/Inv_t45[3]^2, Inv_t45[3], Inv_t45[4]/Inv_t45[3], Inv_t45[5]/Inv_t45[3]^3, Inv_t45[6]/Inv_t45[3]^3,
Inv_t45[7]/Inv_t45[3], Inv_t45[8], Inv_t45[9], Inv_t45[10]*Inv_t45[3], Inv_t45[11]*Inv_t45[3]^2 ]
simplify(map(tt -> LieDerivative(Prolong(sym_45, 2), tt), eval(xxx45, invsJ)));
#### invariant derivatives ####
comm := map( tt -> ( (nab,vect) -> nab(LieDerivative(Prolong(vect, 1), tt )) - LieDerivative(Prolong(vect, 1), nab( tt ))), [t,x,y])
sym
factor( comm(Nab1,sym));
factor( comm(Nab2,sym));
factor( comm(Nab3,sym));
opr := F -> AA(r[],s[],u[]^2*sin(y)^2+v[]^2)*Nab1(F) + BB(r[],s[],u[]^2*sin(y)^2+v[]^2)*Nab2(F) + CC(r[],s[],u[]^2*sin(y)^2+v[]^2)*Nab3(F)
eq1 := LieDerivative(Prolong(sym, 1), AA(r[],s[],u[]^2*sin(y)^2+v[]^2)) - AA(r[],s[],u[]^2*sin(y)^2+v[]^2)*(lambda4);
eq2 := LieDerivative(Prolong(sym, 1), BB(r[],s[],u[]^2*sin(y)^2+v[]^2)) - BB(r[],s[],u[]^2*sin(y)^2+v[]^2)*(-lambda5-2*lambda4);
eq3 := LieDerivative(Prolong(sym, 1), CC(r[],s[],u[]^2*sin(y)^2+v[]^2)) - CC(r[],s[],u[]^2*sin(y)^2+v[]^2)*(lambda4+lambda5);
eq11 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq1)),diff);
eq22 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq2)),diff);
eq33 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq3)),diff);
pdsolve(eq11);
pdsolve(eq22);
pdsolve(eq33);
Nab1_t := F -> r[]^(lambda4/(lambda5+2*lambda4)) * TotalDiff(evalDG(F), t) :
Nab2_t := F -> (r[2]/sin(y)^2 * TotalDiff(F, x) + r[3] * TotalDiff(F, y)) / r[]:
Nab3_t := F -> r[]^((lambda4+lambda5)/(lambda5+2*lambda4)) * (s[2]/sin(y)^2 * TotalDiff(F, x) + s[3] * TotalDiff(F, y)):
simplify( comm(Nab1_t,sym));
simplify( comm(Nab2_t,sym));
simplify( comm(Nab3_t,sym));
#### lambda5 = -lambda4 ####
sym_5
factor( comm(Nab1,sym_5));
factor( comm(Nab2,sym_5));
factor( comm(Nab3,sym_5));
eq15 := LieDerivative(Prolong(sym_5, 1), AA(r[],s[],u[]^2*sin(y)^2+v[]^2)) - AA(r[],s[],u[]^2*sin(y)^2+v[]^2)*(lambda4);
eq25 := LieDerivative(Prolong(sym_5, 1), BB(r[],s[],u[]^2*sin(y)^2+v[]^2)) - BB(r[],s[],u[]^2*sin(y)^2+v[]^2)*(-lambda4);
eq115 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq15)),diff);
eq225 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq25)),diff);
pdsolve(eq115);
pdsolve(eq225);
Nab1_t5 := F -> r[] * TotalDiff(evalDG(F), t) :
Nab2_t5 := F -> (r[2]/sin(y)^2 * TotalDiff(F, x) + r[3] * TotalDiff(F, y)) / r[]:
Nab3_t5 := F -> (s[2]/sin(y)^2 * TotalDiff(F, x) + s[3] * TotalDiff(F, y)):
simplify( comm(Nab1_t5,sym_5));
simplify( comm(Nab2_t5,sym_5));
simplify( comm(Nab3_t5,sym_5));
#### lambda5 = -lambda4 =0 ####
sym_54
factor( comm(Nab1,sym_54));
factor( comm(Nab2,sym_54));
factor( comm(Nab3,sym_54));
#### lambda5 = -2*lambda4 ####
sym_45
factor( comm(Nab1,sym_45));
factor( comm(Nab2,sym_45));
factor( comm(Nab3,sym_45));
eq1_45 := LieDerivative(Prolong(sym_45, 1), AA(r[],s[],u[]^2*sin(y)^2+v[]^2)) - AA(r[],s[],u[]^2*sin(y)^2+v[]^2)*(lambda4);
eq3_45 := LieDerivative(Prolong(sym_45, 1), CC(r[],s[],u[]^2*sin(y)^2+v[]^2)) - CC(r[],s[],u[]^2*sin(y)^2+v[]^2)*(-lambda4);
eq11_45 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq1_45)),diff);
eq33_45 := convert(simplify(subs(v[]^2=U2-u[]^2*sin(y)^2,eq3_45)),diff);
pdsolve(eq11_45);
pdsolve(eq33_45);
Nab1_t := F -> (lambda1+s[]*lambda4) * TotalDiff(evalDG(F), t) :
Nab2_t := F -> (r[2]/sin(y)^2 * TotalDiff(F, x) + r[3] * TotalDiff(F, y)):
Nab3_t := F -> (s[2]/sin(y)^2 * TotalDiff(F, x) + s[3] * TotalDiff(F, y))/(lambda1+s[]*lambda4):
simplify( comm(Nab1_t,sym_45));
simplify( comm(Nab2_t,sym_45));
simplify( comm(Nab3_t,sym_45));
JSFH
TTdSMApJQVJUQUJMRV9TQVZFLzE4NDQ2NzQ0MDc4MTg5MDM5NzM0WCwlKWFueXRoaW5nRzYiRiVbZ2whIiUhISEjJSIjIiMsJiYlInVHNiMiIiMiIiIqJiYlInZHRiVGKy1JJHRhbkc2JCUqcHJvdGVjdGVkRyUoX3N5c2xpYkc2IyUieUchIiJGKywmJkYuRilGKyooLUkkc2luRzYkRjJGM0Y0RistSSRjb3NHNiRGMkYzRjRGKyZGKEYlRitGNiwmJkYoNiMiIiRGKyomRkBGK0YvRjZGKyZGLkZDRiU=TTdSMApJQVJUQUJMRV9TQVZFLzE4NDQ2NzQ0MDc4MTg5MDM5OTc0WCwlKWFueXRoaW5nRzYiRiVbZ2whIiUhISEjJSIjIiMmJSJ1R0YlJiUidkdGJSomRigiIiItSSRzaW5HNiQlKnByb3RlY3RlZEclKF9zeXNsaWJHNiMlInlHISIiLCQqJkYsRitGJkYrRjNGJQ==