CoCalc Public Filesbalbusaur_rad / balbusaur_radiation.sagewsOpen in with one click!
Author: Ben Ryan
Views : 25
%html <FONT FACE= "Courier New"> <h2 style="text-align: center; font-weight: bold;">Balbusaur</h2> <h3 style="text-align: center;">Framework for Linear Analysis</h3> <h4 style="text-align: center;">Radiation Hydrodynamics for Ryan et al. 2015</h4> <h5 style="text-align: center;">Mani Chandra ([email protected]), Ben Ryan ([email protected])</h5> <h5 style="text-align: center;">Astronomy Department, University of Illinois at Urbana-Champaign</h5> </FONT>

Balbusaur

Framework for Linear Analysis

Radiation Hydrodynamics for Ryan et al. 2015

Mani Chandra ([email protected]), Ben Ryan ([email protected])
Astronomy Department, University of Illinois at Urbana-Champaign

Variables involved:

  1. Density ρ\rho
  2. Internal energy uu
  3. Velocity in x1x^1 direction u1u^1
  4. Velocity in x2x^2 direction u2u^2
  5. Velocity in x3x^3 direction u3u^3
  6. Magnetic field in x1x^1 direction B1B^1
  7. Magnetic field in x2x^2 direction B2B^2
  8. Magnetic field in x3x^3 direction B3B^3
  9. Radiation energy density EE
  10. Radiation flux in x1x^1 direction F1F^1
  11. Radiation flux in x2x^2 direction F2F^2
  12. Radiation flux in x3x^3 direction F3F^3

Problem descriptions:

  1. HYDRO_1D:
    • Mean variables : ρ0\rho_0, u0u_0
    • Perturbed variables : ρ\rho, uu, u1u^1
    • Wavenumbers : k1k_1
  2. EDDINGTON_HYDRO_1D:
    • Mean variables : ρ0\rho_0, u0u_0, E0E_0
    • Perturbed variables : ρ\rho, uu, u1u^1, EE, F1F^1
    • Wavenumbers : k1k_1
  3. EDDINGTON_MHD_1D:
    • Mean variables : ρ0\rho_0, u0u_0, E0E_0, B1B^1, B2B^2
    • Perturbed variables : ρ\rho, uu, u1u^1, u2u^2, B2B^2, EE, F1F^1, F2F^2
    • Wavenumbers : k1k_1
%auto typeset_mode(True) ####################### BEGIN USER INPUT ####################### # Choose problem: problem = 'EDDINGTON_MHD_1D' # Set mean values: rho0_num = 1. u0_num = 0.01 B10_num = sqrt(5./6.) B20_num = sqrt(5./6.) B30_num = 0. # Set adiabatic index: Gamma_num = 5./3. # Set dimensionless parameters beta_r_num = 1. # Ratio of radiation to gas pressure opticaldepth_num = 20. # Optical depth per wavelength ####################### END USER INPUT ####################### # Rest of initialization is automatic. Units such that speed of light, particle # mass, and Boltzmann constant equal unity. P0_num = (Gamma_num - 1.)*u0_num # Mean pressure T0_num = P0_num/rho0_num # Mean temperature k1_num = 2.*pi # x1 wavenumber k2_num = 0 # x2 wavenumber kbol_num = 1. # Boltzmann constant c_num = 1. # Speed of light a_R_num = 3.*beta_r_num*P0_num/T0_num**4. # Radiation constant kappa_a_num = opticaldepth_num*k1_num/(2.*pi*rho0_num) # Absorption opacity alpha_num = (Gamma_num - 1.) # Convenience pi_num = 3.14159265359 hpl_num = (8.*pi_num**5.*kbol_num**4./(15.*c_num**3.*a_R_num))**(1./3.) E0_num = a_R_num*T0_num**4. # Mean radiation energy density # Print off some relevant values print "rho0 = ", rho0_num print "u0 = ", u0_num print "B1 = ", B10_num print "B2 = ", B20_num print "E0 = ", E0_num print "T0 = ", T0_num print "aR = ", a_R_num print "h = ", hpl_num print "kappa_a = ", kappa_a_num
rho0 = 1.00000000000000 u0 = 0.0100000000000000 B1 = 0.912870929175277 B2 = 0.912870929175277 E0 = 0.0200000000000000 T0 = 0.00666666666666667 aR = 1.01250000000000e7 h = 0.0252610279770162 kappa_a = 20.0000000000000
# Spatiotemporal variables t, omega, k1, k2 = var('t, omega, k1, k2') # Constants: # Gamma : Adiabatic index Gamma, a_R, kappa_a, alpha = var('Gamma, a_R, kappa_a, alpha') # Background mean values rho0, u0, u10, B10, B20, B30, B30, E0 = var('rho0, u0, u10, B10, B20, B30, B30, E0') # Perturbations in space delta_rho, delta_u, delta_u1, delta_u2, delta_u3, delta_B1, delta_B2, delta_B3, delta_E, delta_F1, delta_F2, delta_F3 = \ var('delta_rho, delta_u, delta_u1, delta_u2, delta_u3, delta_B1, delta_B2, delta_B3, delta_E, delta_F1, delta_F2, delta_F3') # Perturbations in time delta_rho_dt, delta_u_dt, delta_u1_dt, delta_u2_dt, delta_u3_dt, delta_B1_dt, delta_B2_dt, delta_B3_dt, delta_E_dt, delta_F1_dt, delta_F2_dt, delta_F3_dt = \ var('delta_rho_dt, delta_u_dt, delta_u1_dt, delta_u2_dt, delta_u3_dt, delta_B1_dt, delta_B2_dt, delta_B3_dt, delta_E_dt, delta_F1_dt, delta_F2_dt, delta_F3_dt') if (problem=="HYDRO_1D"): rho = rho0 + delta_rho u = u0 + delta_u u1 = delta_u1 u2 = 0 u3 = 0 B1 = 0 B2 = 0 B3 = 0 E = 0 F1 = 0 F2 = 0 F3 = 0 elif (problem=="EDDINGTON_HYDRO_1D"): rho = rho0 + delta_rho u = u0 + delta_u u1 = delta_u1 u2 = 0 u3 = 0 B1 = 0 B2 = 0 B3 = 0 E = E0 + delta_E F1 = delta_F1 F2 = 0 F3 = 0 elif (problem=="EDDINGTON_MHD_1D"): rho = rho0 + delta_rho u = u0 + delta_u u1 = delta_u1 u2 = delta_u2 u3 = delta_u3 B1 = B10 B2 = B20 + delta_B2 B3 = 0 B3 = 0 E = E0 + delta_E F1 = delta_F1 F2 = delta_F2 F3 = 0 gcon = Matrix([ [-1, 0, 0, 0], [ 0, 1, 0, 0], [ 0, 0, 1, 0], [ 0, 0, 0, 1] ]) gcov = gcon.inverse() gamma = sqrt(1 + gcov[1][1]*u1*u1 + gcov[2][2]*u2*u2 + gcov[3][3]*u3*u3 + 2*(gcov[1][2]*u1*u2 + gcov[1][3]*u1*u3 + gcov[2][3]*u2*u3)) ucon = [ gamma, u1, u2, u3] ucov = [-gamma, u1, u2, u3] bcon0 = B1*ucov[1] + B2*ucov[2] + B3*ucov[3] bcon1 = (B1 + bcon0*ucon[1])/ucon[0] bcon2 = (B2 + bcon0*ucon[2])/ucon[0] bcon3 = (B3 + bcon0*ucon[3])/ucon[0] bcon = [ bcon0, bcon1, bcon2, bcon3] bcov = [-bcon0, bcon1, bcon2, bcon3] bsqr = bcon[0]*bcov[0] + bcon[1]*bcov[1] + bcon[2]*bcov[2] + bcon[3]*bcov[3] #P = (Gamma - 1)*u P = alpha*u # Suppresses expansion of alpha to the fourth power T = P/rho Fcon = [-(F1*ucov[1] + F2*ucov[2] + F3*ucov[3])/ucov[0], F1, F2, F3] Fcov = [-Fcon[0], Fcon[1], Fcon[2], Fcon[3]] def linearize(term): return taylor(term, (delta_rho, 0), \ (delta_u, 0), \ (delta_u1, 0), \ (delta_F2, 0), \ (delta_F3, 0), \ (delta_u2, 0), \ (delta_u3, 0), \ (delta_B1, 0), \ (delta_B2, 0), \ (delta_B3, 0), \ (delta_E, 0), \ (delta_F1, 0), \ (delta_F2, 0), \ (delta_F3, 0), \ (delta_rho_dt, 0), \ (delta_u_dt, 0), \ (delta_u1_dt, 0), \ (delta_F2_dt, 0), \ (delta_F3_dt, 0), \ (delta_u2_dt, 0), \ (delta_u3_dt, 0), \ (delta_B1_dt, 0), \ (delta_B2_dt, 0), \ (delta_B3_dt, 0), \ (delta_E_dt, 0), \ (delta_F1_dt, 0), \ (delta_F2_dt, 0), \ (delta_F3_dt, 0), 1 \ ).simplify_full() def d_dX1(term): term = Expression(SR, linearize(term)) expr = term.coefficient(delta_rho) * I * k1 * delta_rho \ + term.coefficient(delta_u) * I * k1 * delta_u \ + term.coefficient(delta_u1) * I * k1 * delta_u1 \ + term.coefficient(delta_F2) * I * k1 * delta_F2 \ + term.coefficient(delta_F3) * I * k1 * delta_F3 \ + term.coefficient(delta_u2) * I * k1 * delta_u2 \ + term.coefficient(delta_u3) * I * k1 * delta_u3 \ + term.coefficient(delta_B1) * I * k1 * delta_B1 \ + term.coefficient(delta_B2) * I * k1 * delta_B2 \ + term.coefficient(delta_B3) * I * k1 * delta_B3 \ + term.coefficient(delta_E) * I * k1 * delta_E \ + term.coefficient(delta_F1) * I * k1 * delta_F1 \ + term.coefficient(delta_F2) * I * k1 * delta_F2 \ + term.coefficient(delta_F3) * I * k1 * delta_F3 return expr def d_dX2(term): term = Expression(SR, linearize(term)) return 0 expr = term.coefficient(delta_rho) * I * k2 * delta_rho \ + term.coefficient(delta_F2) * I * k2 * delta_F2 \ + term.coefficient(delta_F3) * I * k2 * delta_F3 \ + term.coefficient(delta_u) * I * k2 * delta_u \ + term.coefficient(delta_u1) * I * k2 * delta_u1 \ + term.coefficient(delta_u2) * I * k2 * delta_u2 \ + term.coefficient(delta_u3) * I * k2 * delta_u3 \ + term.coefficient(delta_B1) * I * k2 * delta_B1 \ + term.coefficient(delta_B2) * I * k2 * delta_B2 \ + term.coefficient(delta_B3) * I * k2 * delta_B3 \ + term.coefficient(delta_E) * I * k2 * delta_E \ + term.coefficient(delta_F1) * I * k2 * delta_F1 \ + term.coefficient(delta_F2) * I * k2 * delta_F2 \ + term.coefficient(delta_F3) * I * k2 * delta_F3 return expr def d_dt(term): term = Expression(SR, linearize(term)) expr = term.coefficient(delta_rho) * delta_rho_dt \ + term.coefficient(delta_u) * delta_u_dt \ + term.coefficient(delta_u1) * delta_u1_dt \ + term.coefficient(delta_u2) * delta_u2_dt \ + term.coefficient(delta_u3) * delta_u3_dt \ + term.coefficient(delta_B1) * delta_B1_dt \ + term.coefficient(delta_B2) * delta_B2_dt \ + term.coefficient(delta_B3) * delta_B3_dt \ + term.coefficient(delta_E) * delta_E_dt \ + term.coefficient(delta_F1) * delta_F1_dt \ + term.coefficient(delta_F2) * delta_F2_dt \ + term.coefficient(delta_F3) * delta_F3_dt return expr def delta(mu, nu): if (mu==nu): return 1 else: return 0 def TUpDown(mu, nu): return (rho + u + P + bsqr)*ucon[mu]*ucov[nu] + (P + bsqr/2)*delta(mu, nu) - bcon[mu]*bcov[nu] def RUpDown(mu, nu): if (problem=='EDDINGTON_HYDRO_1D' or problem=='EDDINGTON_MHD_1D'): PRad = E/3 return E*ucon[mu]*ucov[nu] + Fcon[mu]*ucov[nu] + ucon[mu]*Fcov[nu] \ + PRad*(delta(mu, nu) + ucon[mu]*ucov[nu]) else: return 0 def Gcon(mu): if (problem=='EDDINGTON_HYDRO_1D' or problem=='EDDINGTON_MHD_1D'): BPlanck = a_R * T**4/(4*pi) return rho*kappa_a*(E - 4*pi*BPlanck)*ucon[mu] + rho*kappa_a*Fcon[mu] else: return 0 def Gcov(mu): if mu==0: return -Gcon(0) else: return Gcon(mu) Eqn_rho = linearize(d_dt(rho*ucon[0]) + d_dX1(rho*ucon[1]) + d_dX2(rho*ucon[2])) Eqn_u = linearize(d_dt(TUpDown(0, 0)) + d_dX1(TUpDown(1, 0)) + d_dX2(TUpDown(2, 0)) - Gcov(0) ) Eqn_u1 = linearize(d_dt(TUpDown(0, 1)) + d_dX1(TUpDown(1, 1)) + d_dX2(TUpDown(2, 1)) - Gcov(1) ) Eqn_u2 = linearize(d_dt(TUpDown(0, 2)) + d_dX1(TUpDown(1, 2)) + d_dX2(TUpDown(2, 2)) - Gcov(2) ) Eqn_u3 = linearize(d_dt(TUpDown(0, 3)) + d_dX1(TUpDown(1, 3)) + d_dX2(TUpDown(2, 3)) - Gcov(3) ) Eqn_E = linearize(d_dt(RUpDown(0, 0)) + d_dX1(RUpDown(1, 0)) + d_dX2(RUpDown(2, 0)) + Gcov(0) ) Eqn_F1 = linearize(d_dt(RUpDown(0, 1)) + d_dX1(RUpDown(1, 1)) + d_dX2(RUpDown(2, 1)) + Gcov(1) ) Eqn_F2 = linearize(d_dt(RUpDown(0, 2)) + d_dX1(RUpDown(1, 2)) + d_dX2(RUpDown(2, 2)) + Gcov(2) ) Eqn_F3 = linearize(d_dt(RUpDown(0, 3)) + d_dX1(RUpDown(1, 3)) + d_dX2(RUpDown(2, 3)) + Gcov(3) ) Eqn_B1 = linearize(d_dt(B1) + d_dX2(bcon[1]*ucon[2] - bcon[2]*ucon[1]) ) Eqn_B2 = linearize(d_dt(B2) + d_dX1(bcon[2]*ucon[1] - bcon[1]*ucon[2]) ) Eqn_B3 = linearize(d_dt(B3) + d_dX1(bcon[3]*ucon[1] - bcon[1]*ucon[3]) \ + d_dX2(bcon[2]*ucon[1] - bcon[1]*ucon[2])) if (problem=='HYDRO_1D'): Eqns = [Eqn_rho==0, Eqn_u==0, Eqn_u1==0] delta_vars = [delta_rho, delta_u, delta_u1] delta_vars_dt = [delta_rho_dt, delta_u_dt, delta_u1_dt] elif (problem=='EDDINGTON_HYDRO_1D'): Eqns = [Eqn_rho==0, Eqn_u==0, Eqn_u1==0, Eqn_E==0, Eqn_F1==0] delta_vars = [delta_rho, delta_u, delta_u1, delta_E, delta_F1] delta_vars_dt = [delta_rho_dt, delta_u_dt, delta_u1_dt, delta_E_dt, delta_F1_dt] elif (problem=='EDDINGTON_MHD_1D'): Eqns = [Eqn_rho==0, Eqn_u==0, Eqn_u1==0, Eqn_u2==0, Eqn_B2==0, Eqn_E==0, \ Eqn_F1==0, Eqn_F2==0] delta_vars = [delta_rho, delta_u, delta_u1, delta_u2, delta_B2, delta_E, \ delta_F1, delta_F2] delta_vars_dt = [delta_rho_dt, delta_u_dt, delta_u1_dt, delta_u2_dt, delta_B2_dt, \ delta_E_dt, delta_F1_dt, delta_F2_dt] solutions = solve(Eqns, delta_vars_dt, solution_dict=True) solns_delta_vars_dt = [] for dvar_dt in delta_vars_dt: solns_delta_vars_dt.append(solutions[0][dvar_dt]) M = jacobian(solns_delta_vars_dt, delta_vars) M = M.apply_map(lambda x : x.simplify_full())
# Output. Option to print formatted characteristic matrix. # Uncomment to print characteristic matrix #pretty_print(Matrix(delta_vars_dt).transpose(), " = ", M, Matrix(delta_vars).transpose()) #print("\n\n") # Numerical diagonalization: M_numerical = M.subs(rho0=rho0_num, u0=u0_num, B10=B10_num, B20=B20_num, B30=B30_num, Gamma=Gamma_num, alpha=alpha_num, k1=k1_num, k2=k2_num, a_R=a_R_num, kappa_a=kappa_a_num, E0=E0_num) M_numerical = M_numerical.change_ring(CDF) eigenvecs = M_numerical.eigenvectors_right() # Print numerical values print "Numerical eigenvalues and eigenvectors" print "--------------------------------------\n" if (problem=='HYDRO_1D'): for i in xrange(len(eigenvecs)): print "Eigenvalue = ", eigenvecs[i][0] print "delta_rho = ", eigenvecs[i][1][0][0] print "delta_u = ", eigenvecs[i][1][0][1] print "delta_u1 = ", eigenvecs[i][1][0][2] print "--------------------------" elif (problem=='EDDINGTON_HYDRO_1D'): for i in xrange(len(eigenvecs)): print "Eigenvalue = ", eigenvecs[i][0] print "delta_rho = ", eigenvecs[i][1][0][0] print "delta_u = ", eigenvecs[i][1][0][1] print "delta_u1 = ", eigenvecs[i][1][0][2] print "delta_E = ", eigenvecs[i][1][0][3] print "delta_F1 = ", eigenvecs[i][1][0][4] print "--------------------------" elif (problem=='EDDINGTON_MHD_1D'): for i in xrange(len(eigenvecs)): print "Eigenvalue = ", eigenvecs[i][0] print "delta_rho = ", eigenvecs[i][1][0][0] print "delta_u = ", eigenvecs[i][1][0][1] print "delta_u1 = ", eigenvecs[i][1][0][2] print "delta_u2 = ", eigenvecs[i][1][0][3] print "delta_B2 = ", eigenvecs[i][1][0][4] print "delta_E = ", eigenvecs[i][1][0][5] print "delta_F1 = ", eigenvecs[i][1][0][6] print "delta_F2 = ", eigenvecs[i][1][0][7] print "--------------------------"
Numerical eigenvalues and eigenvectors -------------------------------------- Eigenvalue = -179.9901995599556 - 1.5872400136200718e-15*I delta_rho = -0.0004149793106175324 + 2.690176640479658e-18*I delta_u = 0.7071726130033708 delta_u1 = 8.565197162635485e-18 + 0.011887634261883964*I delta_u2 = 1.7401444868392346e-17 + 0.0053680416823948945*I delta_B2 = -0.00020775947713083865 - 2.5512632371299526e-18*I delta_E = -0.7068551280262354 - 6.938893903907228e-18*I delta_F1 = -5.421010862427522e-19 - 0.009609910232944958*I delta_F2 = -2.6508743117270583e-17 - 0.00016104234656339706*I -------------------------- Eigenvalue = -19.740319503026544 + 7.8236028766554e-16*I delta_rho = -3.608224830031759e-16 - 0.15027227112538194*I delta_u = 3.469446951953614e-18 + 0.029646143238293496*I delta_u1 = -0.47212082716561576 + 5.551115123125783e-16*I delta_u2 = -0.10864284686748718 + 5.551115123125783e-16*I delta_B2 = -6.245004513516506e-17 - 0.10561197736068885*I delta_E = 4.163336342344337e-17 + 0.21745769174817461*I delta_F1 = 0.7968018432617732 delta_F2 = -0.2202341758561986 - 9.575673587391975e-16*I -------------------------- Eigenvalue = -20.40557223930576 + 2.578558026822275e-15*I delta_rho = 2.3592239273284576e-16 - 0.11128574004804156*I delta_u = 4.0332320816460765e-17 + 0.006621718157607248*I delta_u1 = -0.3614168764305101 + 1.0824674490095276e-15*I delta_u2 = -0.5370336720436534 + 8.604228440844963e-16*I delta_B2 = 1.6306400674181987e-16 + 0.04936356488347622*I delta_E = 2.498001805406602e-16 + 0.05322823271423696*I delta_F1 = 0.21003295258469495 - 1.0408340855860843e-15*I delta_F2 = 0.7205279078327176 -------------------------- Eigenvalue = -0.0032642454004597403 + 4.9423883172520835*I delta_rho = 0.4285744404911743 - 0.0010406285545088226*I delta_u = 0.005855263602084044 - 0.00010288375217299111*I delta_u1 = -0.3371195661224611 + 0.000595910844773985*I delta_u2 = 0.32762560213994474 + 0.0010349478484842287*I delta_B2 = 0.7714496214631971 delta_E = 0.01257750231736609 - 0.0010580075405833497*I delta_F1 = 0.00010859579411728057 + 0.0008777645037982717*I delta_F2 = -0.0004952063096068608 - 0.0020369567892138383*I -------------------------- Eigenvalue = -0.0032642454004610847 - 4.942388317252091*I delta_rho = 0.42857444049117444 + 0.0010406285545081218*I delta_u = 0.005855263602084028 + 0.0001028837521730012*I delta_u1 = 0.3371195661224612 + 0.0005959108447735062*I delta_u2 = -0.3276256021399453 + 0.001034947848484652*I delta_B2 = 0.7714496214631967 delta_E = 0.012577502317366075 + 0.0010580075405834007*I delta_F1 = -0.00010859579411724002 + 0.0008777645037982288*I delta_F2 = 0.0004952063096068788 - 0.002036956789213796*I -------------------------- Eigenvalue = -0.1559542507955123 + 0.5063719848387378*I delta_rho = 0.9925220438538187 delta_u = 0.011543795539720063 + 0.0025357193023841876*I delta_u1 = -0.07998894394665933 - 0.024635280384041416*I delta_u2 = -0.0804556011602159 - 0.025229131189060856*I delta_B2 = -0.006720140353091656 - 0.004656927665564897*I delta_E = 0.012923374775867365 + 0.02013943321075428*I delta_F1 = 0.002057156523646306 - 0.0013671950459143497*I delta_F2 = -3.2745546496243033e-05 + 5.0295759507511996e-05*I -------------------------- Eigenvalue = -0.2688196332293978 - 7.639067816269131e-15*I delta_rho = 0.9978423880325686 delta_u = 0.006860913968233433 - 6.375108774214766e-17*I delta_u1 = 9.610368056911511e-16 - 0.04269166221552611*I delta_u2 = 4.614364446098307e-16 - 0.04259419155519067*I delta_B2 = 0.0020797070757346808 + 1.0215352869158423e-15*I delta_E = -0.024808763694922804 - 5.724587470723463e-16*I delta_F1 = -1.3010426069826053e-18 + 0.002617852355146873*I delta_F2 = 5.637004263977369e-18 - 1.5474870722245795e-05*I -------------------------- Eigenvalue = -0.1559542507955098 - 0.5063719848387305*I delta_rho = 0.9925220438538189 delta_u = 0.011543795539719957 - 0.002535719302384115*I delta_u1 = 0.07998894394665758 - 0.024635280384041072*I delta_u2 = 0.08045560116021346 - 0.025229131189060495*I delta_B2 = -0.006720140353091631 + 0.004656927665566432*I delta_E = 0.012923374775866577 - 0.020139433210753732*I delta_F1 = -0.0020571565236461326 - 0.0013671950459142766*I delta_F2 = 3.274554649625614e-05 + 5.029575950750562e-05*I --------------------------
pretty_print(M_numerical)
(0.00.06.283185307179586i0.00.00.00.00.01.6000000000000003160.000000000000030.10471975511965977i0.00.020.00.00.00.02.840580670387676i2.0348248083955624×10172.0348248083955624×10172.1375418172219165i0.013.5627736483046566.1093574992363310.01.2795408425169714i2.0348248083955624×10170.02.1375418172219165i0.06.10935749923633113.5627736483046560.00.05.735737209545476i5.735737209545476i0.00.00.00.01.6000000000000003160.000000000000030.16755160819145568i0.00.020.06.283185307179586i0.00.00.0757488178770047i5.4261994890548327×10171.2717655052472265×10180.05700111512591779i2.0943951023931953i20.3616739639547930.16291619997963550.00.0341210891337859i1.2717655052472265×10182.88266847856038×10170.05700111512591779i0.00.162916199979635520.361673963954793)\displaystyle \left(\begin{array}{rrrrrrrr} 0.0 & 0.0 & -6.283185307179586i & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\ 1.6000000000000003 & -160.00000000000003 & -0.10471975511965977i & 0.0 & 0.0 & 20.0 & 0.0 & 0.0 \\ 0.0 & -2.840580670387676i & 2.0348248083955624 \times 10^{-17} & 2.0348248083955624 \times 10^{-17} & -2.1375418172219165i & 0.0 & 13.562773648304656 & 6.109357499236331 \\ 0.0 & -1.2795408425169714i & 2.0348248083955624 \times 10^{-17} & 0.0 & 2.1375418172219165i & 0.0 & 6.109357499236331 & 13.562773648304656 \\ 0.0 & 0.0 & -5.735737209545476i & 5.735737209545476i & 0.0 & 0.0 & 0.0 & 0.0 \\ -1.6000000000000003 & 160.00000000000003 & -0.16755160819145568i & 0.0 & 0.0 & -20.0 & -6.283185307179586i & 0.0 \\ 0.0 & 0.0757488178770047i & -5.4261994890548327 \times 10^{-17} & -1.2717655052472265 \times 10^{-18} & 0.05700111512591779i & -2.0943951023931953i & -20.361673963954793 & -0.1629161999796355 \\ 0.0 & 0.0341210891337859i & -1.2717655052472265 \times 10^{-18} & -2.88266847856038 \times 10^{-17} & -0.05700111512591779i & 0.0 & -0.1629161999796355 & -20.361673963954793 \end{array}\right)