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
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
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)
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)
def obliquity(self, time): a = cv.deg2rad(0.00000036) b = cv.deg2rad(23.439) return (a * time + b) % (2 * ma.pi)
def __init__(self): super().__init__(cv.deg2rad(0.98564736), cv.deg2rad(280.459), 1)
def setUp(self): self.body = bodies.SunFromPlanet(cv.deg2rad(0.98564736), 0, 1) self.precision = 0.01
# 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 = []
def test_deg2rad_2(self): self.assertEqual(cv.deg2rad(180), math.pi)
def test_deg2rad_1(self): self.assertEqual(cv.deg2rad(0), 0)