/* 1920x1080 - HD screen */ linel: 230; /* 3840x1600 - Ultrawide screen */ linel: 470; /* 1366x768 - Poor man's thinkpad */ linel: 150; /* 3840x1600 - Ultrawide screen with work on side */ linel: 350; derivabbrev: true; load("ctensor"); dim: 4; cframe_flag: false; ct_coords: [u, r, θ, ϕ]; depends([U, V, β, γ], [u, r, θ]); lg : zeromatrix(4, 4); /* du du */ lg[1, 1] : V * r^-1 * exp(2 * β) - U^2 * r^2 * exp(2 * γ); /* du dr */ lg[1, 2] : exp(2 * β); lg[2, 1] : exp(2 * β); /* du dθ */ lg[1, 3] : U * r^2 * exp(2 * γ); lg[3, 1] : U * r^2 * exp(2 * γ); /* dθ dθ */ lg[3, 3] : - r^2 * exp(2 * γ); /* dϕ dϕ */ lg[4, 4] : - r^2 * exp(- 2 * γ) * sin(θ)^2; /* Load metric and compute inverse */ cmetric(); /* Force simplification of some expressions */ ug[2,2] : expand(ug[2,2]),simp; /* mcs[i, j, k]: Christoffel symbols of the second kind (one upper index - k) */ christof(false); /* ric[i, j]: R_ab Ricci tensor*/ ricci(false); /* uric[i, j]: R^a_b Ricci tensor */ uricci(false); /* Bondi - Eq. 17 */ sum(sum(ug[α, ε] * mcs[α, ε, 1], ε, 1, 4), α, 1, 4),expand; /** General utilities **/ exp_taylor(x) := subst(t=x, taylor(exp(t), t, 0, 3)); /** Main equations **/ /* Main equations, Bondi - Eqs. 22 - 25 */ eq1 : ric[2, 2] = 0, expand; eq2 : - 2 * r^2 * ric[2, 3] = 0, expand; eq3 : ric[3, 3] * exp(2 * (β - γ)) - r^2 * uric[4, 4] * exp(2 * β) = 0, expand; eq4 : - uric[4, 4] * exp(2 * β) * r^2 = 0, expand; depends([H], [u, θ]); depends([γ1, γ2, γ3, γ4], [u, θ]); depends([β1, β2, β3, β4], [u, θ]); depends([U1, U2, U3, U4], [u, θ]); depends([VV1, V0, V1, V2, V3, V4], [u, θ]); ansatz: [γ = γ1*r^-1 + γ2*r^-2 + γ3*r^-3 + γ4*r^-4, β = H + β1*r^-1 + β2*r^-2 + β3*r^-3 + β4*r^-4, U = U1*r^-1 + U2*r^-2 + U3*r^-3 + U4*r^-4, V = VV1*r + V0 + V1*r^-1 + V2*r^-2 + V3*r^-3 + V4*r^-4]; /* Derive β from eq1; Replace in eq1 -> β2 = - γ1^2 / 4, β1 = 0*/ tmp: combine(ev(subst(ansatz, eq1),derivlist(r),expand)); /* Solve for β_1 */ solve(coeff(tmp, 1/r, 3), β1); /* Solve for β_2 */ solve(coeff(tmp, 1/r, 4), β2); matchdeclare (nn, lambda ([e], not is(equal(listofvars(e), [H])))); defrule (r1, %e^nn, (partition(nn, H), exp_taylor(first(%%)) * exp(second(%%)))); /* Derive U from eq2 */ tmp: combine(ev(apply1(subst(ansatz, eq2), r1),derivlist(r,θ),expand))$ /* Solve for U_1 */ solve(coeff(tmp, r, 1), U1); /* Derive V from eq2 */ append(ansatz, [U1=2*diff(H,θ)*exp(2*H)]); tmp: combine(ev(apply1(subst(%, eq3), r1),derivlist(r,θ),expand))$ /* Solve for V_{-1} */ solve(coeff(tmp, r, 0), VV1),expand; /* subst(ansatz, eq4),derivlist(r,θ),expand; */ /** Supplementary conditions **/ depends([c, C, N, M], [u, θ]); ansatz: [γ = c*r^-1 + (C - c^3/6)*r^-3, β = -(1/4)*c^2*r^-2, U = -(diff(c,θ) + 2*c*cot(θ))*r^-2 + (2*N + 3*c*diff(c,θ) + 4*c^2*cot(θ))*r^-3 + (1/2)*(3*diff(C,θ) + 6*C*cot(θ) - 6*c*N - 8*c^2*diff(c,θ) - 8*c^3*cot(θ))*r^-4, V = r - 2*M - (diff(N,θ) + N*cot(θ) - diff(c,θ)^2 - 4*c*diff(c,θ)*cot(θ) - c^2*(1 + 8*cot(θ)^2)/2)*r^-1 - (1/2)*(diff(C,θ,2) + 3*diff(C,θ)*cot(θ) - 2*C + 6*N*(diff(c,θ) + 2*c*cot(θ)) + 8*c*(diff(c,θ)^2 + 3*c*diff(c,θ) + 2*c^2*cot(θ)^2))*r^-2]; C_u: (2*c^2 + 2*c*M + N*cot(θ) - diff(N,θ)) / 4; matchdeclare (mm, lambda ([e], true)); defrule (r2, %e^mm, exp_taylor(mm)); /* Mass loss formula, Bondi - Eq. 35 */ tmp: combine(ev(subst(ansatz, ric[1,1]),derivlist(u,r,θ),expand))$ distrib(trigsimp(first(solve(coeff(%, 1/r, 2)=0, diff(M,u))))),expand$ sup_cond1: substpart(trigreduce(part(%, 2, 1)), %, 2, 1); /* Bondi - Eq. 36 */ tmp: combine(ev(subst(ansatz, ric[1,3]),derivlist(u,r,θ),expand))$ combine(expand(apply1(tmp, r2)))$ sup_cond2: -solve(coeff(%, 1/r, 2)=0, 3*diff(N,u));