2828
2929
3030class ClassicElements (object ):
31- a = None
32- e = None
33- i = None
34- Omega = None
35- omega = None
36- f = None
37- rmag = None
38- alpha = None
39- rPeriap = None
40- rApoap = None
31+ __slots__ = ['a' , 'e' , 'i' , 'Omega' , 'omega' , 'f' , 'rmag' , 'alpha' , 'rPeriap' , 'rApoap' ]
32+ def __init__ (self ):
33+ self .a = None
34+ self .e = None
35+ self .i = None
36+ self .Omega = None
37+ self .omega = None
38+ self .f = None
39+ self .rmag = None
40+ self .alpha = None
41+ self .rPeriap = None
42+ self .rApoap = None
4143
4244
4345class EquinoctialElements (object ):
44- a = None
45- P1 = None
46- P2 = None
47- Q1 = None
48- Q2 = None
49- l = None
50- L = None
46+ __slots__ = ['a' , 'P1' , 'P2' , 'Q1' , 'Q2' , 'l' , 'L' ]
47+ def __init__ (self ):
48+ self .a = None
49+ self .P1 = None
50+ self .P2 = None
51+ self .Q1 = None
52+ self .Q2 = None
53+ self .l = None
54+ self .L = None
5155
5256
5357N_DEBYE_PARAMETERS = 37 # orbitalMotion.h #
@@ -769,6 +773,14 @@ def atmosphericDensity(alt: float) -> float:
769773 return density
770774
771775
776+ DEBYE_ALTITUDES = [200.0 , 250.0 , 300.0 , 350.0 , 400. , 450. , 500. , 550. , 600. , 650. , 700. , 750. , 800. , 850. ,
777+ 900. , 950. , 1000. , 1050. , 1100. , 1150. , 1200. , 1250. , 1300. , 1350. , 1400. , 1450. ,
778+ 1500. , 1550. , 1600. , 1650. , 1700. , 1750. , 1800. , 1850. , 1900. , 1950. , 2000. ]
779+ DEBYE_LENGTHS = [5.64E-03 , 3.92E-03 , 3.24E-03 , 3.59E-03 , 4.04E-03 , 4.28E-03 , 4.54E-03 , 5.30E-03 , 6.55E-03 ,
780+ 7.30E-03 , 8.31E-03 , 8.38E-03 , 8.45E-03 , 9.84E-03 , 1.22E-02 , 1.37E-02 , 1.59E-02 , 1.75E-02 ,
781+ 1.95E-02 , 2.09E-02 , 2.25E-02 , 2.25E-02 , 2.25E-02 , 2.47E-02 , 2.76E-02 , 2.76E-02 , 2.76E-02 ,
782+ 2.76E-02 , 2.76E-02 , 2.76E-02 , 2.76E-02 , 3.21E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 ]
783+
772784def debyeLength (alt : float ) -> float :
773785 """
774786 This program computes the debyeLength length for a given
@@ -779,14 +791,6 @@ def debyeLength(alt: float) -> float:
779791 :param alt: altitude in km
780792 :return: debye length given in m
781793 """
782- X = [200.0 , 250.0 , 300.0 , 350.0 , 400. , 450. , 500. , 550. , 600. , 650. , 700. , 750. , 800. , 850. ,
783- 900. , 950. , 1000. , 1050. , 1100. , 1150. , 1200. , 1250. , 1300. , 1350. , 1400. , 1450. ,
784- 1500. , 1550. , 1600. , 1650. , 1700. , 1750. , 1800. , 1850. , 1900. , 1950. , 2000. ]
785-
786- Y = [5.64E-03 , 3.92E-03 , 3.24E-03 , 3.59E-03 , 4.04E-03 , 4.28E-03 , 4.54E-03 , 5.30E-03 , 6.55E-03 ,
787- 7.30E-03 , 8.31E-03 , 8.38E-03 , 8.45E-03 , 9.84E-03 , 1.22E-02 , 1.37E-02 , 1.59E-02 , 1.75E-02 ,
788- 1.95E-02 , 2.09E-02 , 2.25E-02 , 2.25E-02 , 2.25E-02 , 2.47E-02 , 2.76E-02 , 2.76E-02 , 2.76E-02 ,
789- 2.76E-02 , 2.76E-02 , 2.76E-02 , 2.76E-02 , 3.21E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 , 3.96E-02 ]
790794
791795 # Flat debyeLength length for altitudes above 2000 km #
792796 if alt > 2000.0 and alt <= 30000.0 :
@@ -800,10 +804,10 @@ def debyeLength(alt: float) -> float:
800804 # Interpolation of data #
801805 i = 0
802806 for i in range (0 , N_DEBYE_PARAMETERS - 1 ):
803- if X [i + 1 ] > alt :
807+ if DEBYE_ALTITUDES [i + 1 ] > alt :
804808 break
805- a = (alt - X [i ]) / (X [i + 1 ] - X [i ])
806- debyedist = Y [i ] + a * (Y [i + 1 ] - Y [i ])
809+ a = (alt - DEBYE_ALTITUDES [i ]) / (DEBYE_ALTITUDES [i + 1 ] - DEBYE_ALTITUDES [i ])
810+ debyedist = DEBYE_LENGTHS [i ] + a * (DEBYE_LENGTHS [i + 1 ] - DEBYE_LENGTHS [i ])
807811
808812 return debyedist
809813
0 commit comments