Skip to content

Commit cb5edb4

Browse files
committed
Use static arrays
Fix #45.
1 parent c8358fc commit cb5edb4

16 files changed

+252
-256
lines changed

REQUIRE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
julia 0.6
2+
StaticArrays

src/AstroLib.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ __precompile__()
55

66
module AstroLib
77
using Base.Dates
8+
using StaticArrays
89

910
# Note on function definitions in this package. Most functions are defined as
1011
# follows:

src/baryvel.jl

Lines changed: 84 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,96 @@
11
# This file is a part of AstroLib.jl. License is MIT "Expat".
22

3-
const dcfel = [ 1.7400353 6.2833195099091e2 5.2796e-6 ;
4-
6.2565836 6.2830194572674e2 -2.6180e-6 ;
5-
4.7199666 8.3997091449254e3 -1.9780e-5 ;
6-
0.19636505 8.4334662911720e3 -5.6044e-5 ;
7-
4.1547339 5.2993466764997e1 5.8845e-6 ;
8-
4.6524223 2.1354275911213e1 5.6797e-6 ;
9-
4.2620486 7.5025342197656 5.5317e-6 ;
10-
1.4740694 3.8377331909193 5.6093e-6 ]
11-
12-
const ccsel = [ 1.675104e-2 -4.179579e-5 -1.260516e-7 ;
13-
2.220221e-1 2.809917e-2 1.852532e-5 ;
14-
1.589963 3.418075e-2 1.430200e-5 ;
15-
2.994089 2.590824e-2 4.155840e-6 ;
16-
8.155457e-1 2.486352e-2 6.836840e-6 ;
17-
1.735614 1.763719e-2 6.370440e-6 ;
18-
1.968564 1.524020e-2 -2.517152e-6 ;
19-
1.282417 8.703393e-3 2.289292e-5 ;
20-
2.28082 1.918010e-2 4.484520e-6 ;
21-
4.833473e-2 1.641773e-4 -4.654200e-7 ;
22-
5.589232e-2 -3.455092e-4 -7.388560e-7 ;
23-
4.634443e-2 -2.658234e-5 7.757000e-8 ;
24-
8.997041e-3 6.329728e-6 -1.939256e-9 ;
25-
2.284178e-2 -9.941590e-5 6.787400e-8 ;
26-
4.350267e-2 -6.839749e-5 -2.714956e-7 ;
27-
1.348204e-2 1.091504e-5 6.903760e-7 ;
28-
3.106570e-2 -1.665665e-4 -1.590188e-7 ]
29-
30-
const dcargs = [ 5.0974222 -7.8604195454652e2 ;
31-
3.9584962 -5.7533848094674e2 ;
32-
1.633807 -1.1506769618935e3 ;
33-
2.5487111 -3.9302097727326e2 ;
34-
4.9255514 -5.8849265665348e2 ;
35-
1.3363463 -5.5076098609303e2 ;
36-
1.6072053 -5.2237501616674e2 ;
37-
1.362948 -1.1790629318198e3 ;
38-
5.5657014 -1.0977134971135e3 ;
39-
5.0708205 -1.5774000881978e2 ;
40-
3.9318944 5.296346478e1 ;
41-
4.8989497 3.9809289073258e1 ;
42-
1.3097446 7.7540959633708e1 ;
43-
3.5147141 7.9618578146517e1 ;
44-
3.5413158 -5.4868336758022e2 ]
45-
46-
const ccamps = [-2.279594e-5 1.407414e-5 8.273188e-6 1.340565e-5 -2.490817e-7 ;
47-
-3.494537e-5 2.860401e-7 1.289448e-7 1.627237e-5 -1.823138e-7 ;
48-
6.593466e-7 1.322572e-5 9.258695e-6 -4.674248e-7 -3.646275e-7 ;
49-
1.140767e-5 -2.049792e-5 -4.747930e-6 -2.638763e-6 -1.245408e-7 ;
50-
9.516893e-6 -2.748894e-6 -1.319381e-6 -4.549908e-6 -1.864821e-7 ;
51-
7.310990e-6 -1.924710e-6 -8.772849e-7 -3.334143e-6 -1.745256e-7 ;
52-
-2.603449e-6 7.359472e-6 3.168357e-6 1.119056e-6 -1.655307e-7 ;
53-
-3.228859e-6 1.308997e-7 1.013137e-7 2.403899e-6 -3.736225e-7 ;
54-
3.442177e-7 2.671323e-6 1.832858e-6 -2.394688e-7 -3.478444e-7 ;
55-
8.702406e-6 -8.421214e-6 -1.372341e-6 -1.455234e-6 -4.998479e-8 ;
56-
-1.488378e-6 -1.251789e-5 5.226868e-7 -2.049301e-7 0 ;
57-
-8.043059e-6 -2.991300e-6 1.473654e-7 -3.154542e-7 0 ;
58-
3.699128e-6 -3.316126e-6 2.901257e-7 3.407826e-7 0 ;
59-
2.550120e-6 -1.241123e-6 9.901116e-8 2.210482e-7 0 ;
60-
-6.351059e-7 2.341650e-6 1.061492e-6 2.878231e-7 0 ]
61-
62-
const ccsec = [ 1.289600e-6 5.550147e-1 2.076942 ;
63-
3.102810e-5 4.035027 3.525565e-1 ;
64-
9.124190e-6 9.990265e-1 2.622706 ;
65-
9.793240e-7 5.508259 1.559103e01 ]
66-
67-
const dcargm = [5.1679830 8.3286911095275e3 ;
68-
5.4913150 -7.2140632838100e3 ;
69-
5.9598530 1.5542754389685e4 ]
70-
71-
const ccampm = [ 1.097594e-1 2.896773e-7 5.450474e-2 1.438491E-7 ;
72-
-2.223581e-2 5.083103e-8 1.002548e-2 -2.291823E-8 ;
73-
1.148966e-2 5.658888e-8 8.249439e-3 4.063015E-8 ]
74-
75-
const ccpamv = [8.326827e-11, 1.843484e-11, 1.988712e-12, 1.881276e-12]
3+
const dcfel = @SMatrix [ 1.7400353 6.2833195099091e2 5.2796e-6 ;
4+
6.2565836 6.2830194572674e2 -2.6180e-6 ;
5+
4.7199666 8.3997091449254e3 -1.9780e-5 ;
6+
0.19636505 8.4334662911720e3 -5.6044e-5 ;
7+
4.1547339 5.2993466764997e1 5.8845e-6 ;
8+
4.6524223 2.1354275911213e1 5.6797e-6 ;
9+
4.2620486 7.5025342197656 5.5317e-6 ;
10+
1.4740694 3.8377331909193 5.6093e-6 ]
11+
12+
const ccsel = @SMatrix [ 1.675104e-2 -4.179579e-5 -1.260516e-7 ;
13+
2.220221e-1 2.809917e-2 1.852532e-5 ;
14+
1.589963 3.418075e-2 1.430200e-5 ;
15+
2.994089 2.590824e-2 4.155840e-6 ;
16+
8.155457e-1 2.486352e-2 6.836840e-6 ;
17+
1.735614 1.763719e-2 6.370440e-6 ;
18+
1.968564 1.524020e-2 -2.517152e-6 ;
19+
1.282417 8.703393e-3 2.289292e-5 ;
20+
2.28082 1.918010e-2 4.484520e-6 ;
21+
4.833473e-2 1.641773e-4 -4.654200e-7 ;
22+
5.589232e-2 -3.455092e-4 -7.388560e-7 ;
23+
4.634443e-2 -2.658234e-5 7.757000e-8 ;
24+
8.997041e-3 6.329728e-6 -1.939256e-9 ;
25+
2.284178e-2 -9.941590e-5 6.787400e-8 ;
26+
4.350267e-2 -6.839749e-5 -2.714956e-7 ;
27+
1.348204e-2 1.091504e-5 6.903760e-7 ;
28+
3.106570e-2 -1.665665e-4 -1.590188e-7 ]
29+
30+
const dcargs = @SMatrix [ 5.0974222 -7.8604195454652e2 ;
31+
3.9584962 -5.7533848094674e2 ;
32+
1.633807 -1.1506769618935e3 ;
33+
2.5487111 -3.9302097727326e2 ;
34+
4.9255514 -5.8849265665348e2 ;
35+
1.3363463 -5.5076098609303e2 ;
36+
1.6072053 -5.2237501616674e2 ;
37+
1.362948 -1.1790629318198e3 ;
38+
5.5657014 -1.0977134971135e3 ;
39+
5.0708205 -1.5774000881978e2 ;
40+
3.9318944 5.296346478e1 ;
41+
4.8989497 3.9809289073258e1 ;
42+
1.3097446 7.7540959633708e1 ;
43+
3.5147141 7.9618578146517e1 ;
44+
3.5413158 -5.4868336758022e2 ]
45+
46+
const ccamps = @SMatrix [-2.279594e-5 1.407414e-5 8.273188e-6 1.340565e-5 -2.490817e-7 ;
47+
-3.494537e-5 2.860401e-7 1.289448e-7 1.627237e-5 -1.823138e-7 ;
48+
6.593466e-7 1.322572e-5 9.258695e-6 -4.674248e-7 -3.646275e-7 ;
49+
1.140767e-5 -2.049792e-5 -4.747930e-6 -2.638763e-6 -1.245408e-7 ;
50+
9.516893e-6 -2.748894e-6 -1.319381e-6 -4.549908e-6 -1.864821e-7 ;
51+
7.310990e-6 -1.924710e-6 -8.772849e-7 -3.334143e-6 -1.745256e-7 ;
52+
-2.603449e-6 7.359472e-6 3.168357e-6 1.119056e-6 -1.655307e-7 ;
53+
-3.228859e-6 1.308997e-7 1.013137e-7 2.403899e-6 -3.736225e-7 ;
54+
3.442177e-7 2.671323e-6 1.832858e-6 -2.394688e-7 -3.478444e-7 ;
55+
8.702406e-6 -8.421214e-6 -1.372341e-6 -1.455234e-6 -4.998479e-8 ;
56+
-1.488378e-6 -1.251789e-5 5.226868e-7 -2.049301e-7 0 ;
57+
-8.043059e-6 -2.991300e-6 1.473654e-7 -3.154542e-7 0 ;
58+
3.699128e-6 -3.316126e-6 2.901257e-7 3.407826e-7 0 ;
59+
2.550120e-6 -1.241123e-6 9.901116e-8 2.210482e-7 0 ;
60+
-6.351059e-7 2.341650e-6 1.061492e-6 2.878231e-7 0 ]
61+
62+
const ccsec = @SMatrix [ 1.289600e-6 5.550147e-1 2.076942 ;
63+
3.102810e-5 4.035027 3.525565e-1 ;
64+
9.124190e-6 9.990265e-1 2.622706 ;
65+
9.793240e-7 5.508259 1.559103e01 ]
66+
67+
const dcargm = @SMatrix [5.1679830 8.3286911095275e3 ;
68+
5.4913150 -7.2140632838100e3 ;
69+
5.9598530 1.5542754389685e4 ]
70+
71+
const ccampm = @SMatrix [ 1.097594e-1 2.896773e-7 5.450474e-2 1.438491E-7 ;
72+
-2.223581e-2 5.083103e-8 1.002548e-2 -2.291823E-8 ;
73+
1.148966e-2 5.658888e-8 8.249439e-3 4.063015E-8 ]
74+
75+
const ccpamv = @SVector [8.326827e-11, 1.843484e-11, 1.988712e-12, 1.881276e-12]
7676

7777
function _baryvel(dje::T) where {T<:AbstractFloat}
7878
# Time arguments.
7979
dt = (dje - 2415020) / JULIANCENTURY
80-
tvec = [1; dt; dt*dt]
80+
tvec = SVector(1, dt, dt * dt)
8181

8282
temp = rem.(dcfel * tvec, 2 * T(pi))
83-
dml, g = temp[1:2]
84-
forbel = temp[2:8]
85-
deps = rem.(dot(tvec, [0.4093198; -2.271110e-4; -2.860401e-8]), 2 * T(pi))
83+
dml, g = @view temp[1:2]
84+
forbel = @view temp[2:8]
85+
deps = rem.(dot(tvec, SVector(0.4093198, -2.271110e-4, -2.860401e-8)), 2 * T(pi))
8686
sorbel = rem.(ccsel * tvec, 2 * T(pi))
8787
e = sorbel[1]
8888

8989
# Secular perturbations in longitude.
90-
sn = sin.(rem.(ccsec[:,2:3] * tvec[1:2], 2 * T(pi)))
90+
sn = sin.(rem.(@view(ccsec[:,2:3]) * @view(tvec[1:2]), 2 * T(pi)))
9191

9292
# Periodic perturbations of the emb (earth-moon barycenter).
93-
pertl = dot(ccsec[:,1], sn) + dt * sn[3] * -7.757020e-8
93+
pertl = dot(@view(ccsec[:,1]), sn) + dt * sn[3] * -7.757020e-8
9494
pertr = zero(T)
9595
pertld = zero(T)
9696
pertrd = zero(T)
@@ -166,7 +166,7 @@ function _baryvel(dje::T) where {T<:AbstractFloat}
166166
dyabd = dcosep * dybd - dsinep * dzbd
167167
dzabd = dsinep * dybd + dcosep * dzbd
168168

169-
return [dxhd, dyahd, dzahd], [dxbd, dyabd, dzabd]
169+
return SVector(dxhd, dyahd, dzahd), SVector(dxbd, dyabd, dzabd)
170170
end
171171

172172
"""
@@ -216,17 +216,17 @@ baryvel(dje::Real) = _baryvel(float(dje))
216216

217217
function baryvel(dje::AbstractFloat)
218218
v1, v2 = _baryvel(dje)
219-
dvelh = AU / 1000 * v1
220-
dvelb = AU / 1000 * v2
219+
dvelh = AU ./ 1000 .* v1
220+
dvelb = AU ./ 1000 .* v2
221221
return dvelh, dvelb
222222
end
223223

224224
function baryvel(dje::T, deq::T) where {T<:AbstractFloat}
225225
v1, v2 = _baryvel(dje)
226226
deqdat = ((dje - 2415020.313) / 365.24219572) + 1900
227227
prema = premat(deqdat, deq, FK4 = true)
228-
dvelh = (prema * v1) * AU / 1000
229-
dvelb = (prema * v2) * AU / 1000
228+
dvelh = (prema * v1) .* AU ./ 1000
229+
dvelb = (prema * v2) .* AU ./ 1000
230230
return dvelh, dvelb
231231
end
232232

src/bprecess.jl

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
# Copyright (C) 2016 Mosè Giordano.
33

44
const Mbprec =
5-
reshape([+0.9999256795, -0.0111814828, -0.0048590040,
6-
-0.000551, -0.238560, +0.435730,
7-
+0.0111814828, +0.9999374849, -0.0000271557,
8-
+0.238509, -0.002667, -0.008541,
9-
+0.0048590039, -0.0000271771, +0.9999881946,
10-
-0.435614, +0.012254, +0.002117,
11-
-0.00000242389840, +0.00000002710544, +0.00000001177742,
12-
+0.99990432, -0.01118145, -0.00485852,
13-
-0.00000002710544, -0.00000242392702, +0.00000000006585,
14-
+0.01118145, +0.99991613, -0.00002716,
15-
-0.00000001177742, +0.00000000006585, -0.00000242404995,
16-
+0.00485852, -0.00002717, +0.99996684], 6, 6)
5+
SMatrix{6,6}(+0.9999256795, -0.0111814828, -0.0048590040,
6+
-0.000551, -0.238560, +0.435730,
7+
+0.0111814828, +0.9999374849, -0.0000271557,
8+
+0.238509, -0.002667, -0.008541,
9+
+0.0048590039, -0.0000271771, +0.9999881946,
10+
-0.435614, +0.012254, +0.002117,
11+
-0.00000242389840, +0.00000002710544, +0.00000001177742,
12+
+0.99990432, -0.01118145, -0.00485852,
13+
-0.00000002710544, -0.00000242392702, +0.00000000006585,
14+
+0.01118145, +0.99991613, -0.00002716,
15+
-0.00000001177742, +0.00000000006585, -0.00000242404995,
16+
+0.00485852, -0.00002717, +0.99996684)
1717

1818
# Note: IDL version of `bprecess' changes in-place "muradec", "parallax" and
1919
# "radvel". We don't do anything like this, but calculations are below,
@@ -23,14 +23,14 @@ function _bprecess(ra::T, dec::T, parallax::T, radvel::T,
2323
@assert length(muradec) == 2
2424
sinra, cosra = sincos(deg2rad(ra))
2525
sindec, cosdec = sincos(deg2rad(dec))
26-
r0 = [cosra*cosdec, sinra*cosdec, sindec]
27-
r0_dot = [-muradec[1]*sinra*cosdec - muradec[2]*cosra*sindec,
28-
muradec[1]*cosra*cosdec - muradec[2]*sinra*sindec,
29-
muradec[2]*cosdec] .+ 21.095 .* radvel * parallax * r0
26+
r0 = SVector(cosra*cosdec, sinra*cosdec, sindec)
27+
r0_dot = SVector(-muradec[1]*sinra*cosdec - muradec[2]*cosra*sindec,
28+
muradec[1]*cosra*cosdec - muradec[2]*sinra*sindec,
29+
muradec[2]*cosdec) .+ 21.095 .* radvel * parallax * r0
3030
R_1 = Mbprec * vcat(r0, r0_dot)
3131
r1 = R_1[1:3]
32-
r1_dot = R_1[4:6]
3332
if isfinite(epoch)
33+
r1_dot = @view R_1[4:6]
3434
r1 .+= deg2rad.(r1_dot .* (epoch .- 1950) ./ 360000)
3535
A = A_precess .+ deg2rad.(A_dot_precess .* (epoch .- 1950) ./ 360000)
3636
else

src/common.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ const JULIANCENTURY = 36_525 # days in one Julian century
4343
const ct2lst_c = (280.46061837, 360.98564736629, 0.000387933, 38710000.0)
4444

4545
# Used in "bprecess" and "jprecess".
46-
const A_precess = [-1.62557, -0.31919, -0.13843] ./ 1000000 # In radians
47-
const A_dot_precess = [1.244 , -1.579, -0.660] ./ 1000 # In arc seconds per century
46+
const A_precess = SVector(-1.62557, -0.31919, -0.13843) ./ 1000000 # In radians
47+
const A_dot_precess = SVector(1.244 , -1.579, -0.660) ./ 1000 # In arc seconds per century
4848

4949
"""
5050
List of observing sites. The observatories have `Observatory` type.

src/gal_uvw.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
# This file is a part of AstroLib.jl. License is MIT "Expat".
22
# Copyright (C) 2016 Mosè Giordano.
33

4+
const A_G = SVector(0.0548755604, +0.4941094279, -0.8676661490,
5+
0.8734370902, -0.4448296300, -0.1980763734,
6+
0.4838350155, 0.7469822445, +0.4559837762)
7+
8+
49
function _gal_uvw(ra::T, dec::T, pmra::T, pmdec::T, vrad::T,
510
plx::T, lsr::Bool) where {T<:AbstractFloat}
611
sindec, cosdec = sincos(deg2rad(dec))
712
sinra, cosra = sincos(deg2rad(ra))
813
k = 4.740470463533348 # = 149597870.7/(86400*365.25) = 1 AU/year in km/s
9-
A_G = [[ 0.0548755604, +0.4941094279, -0.8676661490];
10-
[ 0.8734370902, -0.4448296300, -0.1980763734];
11-
[ 0.4838350155, 0.7469822445, +0.4559837762]]
1214
vec2 = k*pmra/plx
1315
vec3 = k*pmdec/plx
1416
u = ( A_G[1]*cosra*cosdec + A_G[4]*sinra*cosdec + A_G[7]*sindec)*vrad +

src/geo2mag.jl

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,17 @@ function _geo2mag(lat::T, long::T, pole_lat::T, pole_long::T) where {T<:Abstract
1414
# the Greenwich meridian to the meridian containing the magnetic dipole
1515
# pole.
1616
sin_pole_long, cos_pole_long = sincos(pole_long)
17-
geolong2maglong = [ cos_pole_long sin_pole_long zero(T);
18-
-sin_pole_long cos_pole_long zero(T);
19-
zero(T) zero(T) one(T)]
20-
out = geolong2maglong * [x, y, z]
17+
geolong2maglong = SMatrix{3,3}(cos_pole_long, -sin_pole_long, zero(T),
18+
sin_pole_long, cos_pole_long, zero(T),
19+
zero(T), zero(T), one(T))
2120

2221
# Second rotation: in the plane of the current meridian from geographic pole
2322
# to magnetic dipole pole.
2423
s, c = sincos(T(pi) / 2 - pole_lat)
25-
tomaglat = [c zero(T) -s;
26-
zero(T) one(T) zero(T);
27-
s zero(T) c]
28-
out = tomaglat * out
24+
tomaglat = SMatrix{3,3}( c, zero(T), s,
25+
zero(T), one(T), zero(T),
26+
-s, zero(T), c)
27+
out = tomaglat * geolong2maglong * SVector(x, y, z)
2928

3029
maglat = rad2deg(atan2(out[3], hypot(out[1], out[2])))
3130
maglong = rad2deg(atan2(out[2], out[1]))

src/helio.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
# dpdt gives the time rate of change of the mean orbital quantities
44
# dpdt elements taken from https://ssd.jpl.nasa.gov/txt/p_elem_t1.txt
5-
const dpd = [ 0.00000037 0.00001906 -0.00594749 -0.12534081 0.16047689 149472.67411175;
6-
0.00000390 -0.00004107 -0.00078890 -0.27769418 0.00268329 58517.81538729;
7-
0.00000562 -0.00004392 -0.01294668 0.0 0.32327364 35999.37244981;
8-
0.00001847 0.00007882 -0.00813131 -0.29257343 0.44441088 19140.30268499;
9-
-0.00011607 -0.00013253 -0.00183714 0.20469106 0.21252668 3034.74612775;
10-
-0.00125060 -0.00050991 0.00193609 -0.28867794 -0.41897216 1222.49362201;
11-
-0.00196176 -0.00004397 -0.00242939 0.04240589 0.40805281 428.48202785;
12-
0.00026291 0.00005105 0.00035372 -0.00508664 -0.32241464 218.45945325;
13-
-0.00031596 0.00005170 0.00004818 -0.01183482 -0.04062942 145.20780515]
5+
const dpd = @SMatrix [ 0.00000037 0.00001906 -0.00594749 -0.12534081 0.16047689 149472.67411175;
6+
0.00000390 -0.00004107 -0.00078890 -0.27769418 0.00268329 58517.81538729;
7+
0.00000562 -0.00004392 -0.01294668 0.0 0.32327364 35999.37244981;
8+
0.00001847 0.00007882 -0.00813131 -0.29257343 0.44441088 19140.30268499;
9+
-0.00011607 -0.00013253 -0.00183714 0.20469106 0.21252668 3034.74612775;
10+
-0.00125060 -0.00050991 0.00193609 -0.28867794 -0.41897216 1222.49362201;
11+
-0.00196176 -0.00004397 -0.00242939 0.04240589 0.40805281 428.48202785;
12+
0.00026291 0.00005105 0.00035372 -0.00508664 -0.32241464 218.45945325;
13+
-0.00031596 0.00005170 0.00004818 -0.01183482 -0.04062942 145.20780515]
1414

1515
const record = Dict(1=>"mercury", 2=>"venus", 3=>"earth", 4=>"mars", 5=>"jupiter",
1616
6=>"saturn", 7=>"uranus", 8=>"neptune", 9=>"pluto")
@@ -22,7 +22,7 @@ function _helio(jd::T, num::Integer, radians::Bool) where {T<:AbstractFloat}
2222
end
2323
t = (jd - J2000) / JULIANCENTURY
2424
body = record[num]
25-
dpdt = dpd * t
25+
dpdt = dpd .* t
2626
a = planets[body].axis/AU + dpdt[num, 1]
2727
eccen = planets[body].ecc + dpdt[num, 2]
2828
n = deg2rad(0.9856076686 / (a * sqrt(a) ))

0 commit comments

Comments
 (0)