コード例 #1
0
ファイル: analemma.py プロジェクト: Arnaud-D/analemma
def analemma(celestial_body, latitude, longitude, hour_of_the_day):
    """Return analemma data at a given place for a given hour of the day."""
    latitude_rad = cv.deg2rad(latitude)
    longitude_rad = cv.deg2rad(longitude)
    elevations_rad, azimuths_rad = analemma_rad(celestial_body, latitude_rad,
                                                longitude_rad, hour_of_the_day)
    elevations = [cv.rad2deg(el_rad) for el_rad in elevations_rad]
    azimuths = [cv.rad2deg(az_rad) for az_rad in azimuths_rad]
    return elevations, azimuths
コード例 #2
0
ファイル: bodies.py プロジェクト: Arnaud-D/analemma
 def ecliptic_coordinates(self, time):
     latitude = 0
     a = cv.deg2rad(0.98560028)
     b = cv.deg2rad(357.529)
     mean_anomaly = (a * time + b) % (2 * ma.pi)
     a = cv.deg2rad(1.915)
     b = cv.deg2rad(0.020)
     mean_longitude = self.mean_longitude(time)
     longitude = (mean_longitude + a * ma.sin(mean_anomaly) +
                  b * ma.sin(2 * mean_anomaly)) % (2 * ma.pi)
     return latitude, longitude
コード例 #3
0
ファイル: bodies.py プロジェクト: Arnaud-D/analemma
 def __init__(self):
     revolution_speed = cv.deg2rad(0.98564736)
     initial_longitude = cv.deg2rad(280.459)
     solar_day_duration = 1
     obliquity = 0
     mean_anomaly_speed = revolution_speed
     initial_mean_anomaly = cv.deg2rad(357.529)
     k1 = 0
     k2 = 0
     super().__init__(revolution_speed, initial_longitude,
                      solar_day_duration, obliquity, mean_anomaly_speed,
                      initial_mean_anomaly, k1, k2)
コード例 #4
0
ファイル: bodies.py プロジェクト: Arnaud-D/analemma
 def __init__(self):
     revolution_speed = cv.deg2rad(0.52403840)
     initial_longitude = cv.deg2rad(270.3863)
     solar_day_duration = 1 * 1.027491252
     obliquity = cv.deg2rad(25.19)
     mean_anomaly_speed = revolution_speed
     initial_mean_anomaly = cv.deg2rad(19.38)
     k1 = cv.deg2rad(10.691)
     k2 = cv.deg2rad(0.623)
     self.days_per_revolution = 669
     super().__init__(revolution_speed, initial_longitude,
                      solar_day_duration, obliquity, mean_anomaly_speed,
                      initial_mean_anomaly, k1, k2)
コード例 #5
0
ファイル: bodies.py プロジェクト: Arnaud-D/analemma
 def obliquity(self, time):
     a = cv.deg2rad(0.00000036)
     b = cv.deg2rad(23.439)
     return (a * time + b) % (2 * ma.pi)
コード例 #6
0
ファイル: bodies.py プロジェクト: Arnaud-D/analemma
 def __init__(self):
     super().__init__(cv.deg2rad(0.98564736), cv.deg2rad(280.459), 1)
コード例 #7
0
ファイル: test_bodies.py プロジェクト: Arnaud-D/analemma
 def setUp(self):
     self.body = bodies.SunFromPlanet(cv.deg2rad(0.98564736), 0, 1)
     self.precision = 0.01
コード例 #8
0
# absorber thickness
absorber_z = 0.001
absorber_material = materials.CdTe

a_list = []
angles = []
klein_nishina = []
sigma_normalized_normalized = []
sigma_normalized = []
sigma_normalized_cumulative = []
abs_prob = []
total_cross_section = []
total_area = 0

step = conversions.deg2rad(0.1)  # [rad]

print("scatterer {} electron density: {} 1/cm^3 \n".format(
    scatterer_material.name,
    scatterer_material.electron_density / (100 * 100 * 100)))
print("absorber {} electron density: {} 1/cm^3 \n".format(
    absorber_material.name,
    absorber_material.electron_density / (100 * 100 * 100)))

for energy_idx, energy in enumerate(E_0_J):

    sublist1 = []
    klein_nishina.append(sublist1)
    sublist2 = []
    sigma_normalized_normalized.append(sublist2)
    sublist3 = []
コード例 #9
0
 def test_deg2rad_2(self):
     self.assertEqual(cv.deg2rad(180), math.pi)
コード例 #10
0
 def test_deg2rad_1(self):
     self.assertEqual(cv.deg2rad(0), 0)